Jak zabezpieczyć stronę opartą o WordPress?

Jeżeli posiadasz stronę opartą o system CMS WordPress lub taką stronę administrujesz i chcesz ją w odpowiedni sposób zabezpieczyć- świetnie trafiłeś. W jaki sposób można zapewnić bezpieczeństwo stron internetowych WP? Czy szyfrowanie SSL pozwoli na obronę przed działalnością hakerów? Jak zabezpieczyć www, aby nasi klienci nie obawiali się, że ich dane zostaną wykradzione? Sprawdźcie

🏆 Poziom trudności:

Artykuł opracowaliśmy dla osób, które nie znają jeszcze tematyki zabezpieczenia systemu CMS WordPress. Artykuł wymaga znajomości obsługiwania tego systemu w stopniu średnio-zaawansowanym, a także znajomość struktury katalogów WP. Atutem będzie podstawowa znajomość języka PHP.

Słownik pojęć

Słup – osoba użyta przez przestępców podczas dokonywania oszustwa internetowego.

Haker – jest to osoba o bardzo dużych, praktycznych umiejętnościach informatycznych. Media nieprawidłowo używają jednak tego słowa „Haker” do osób łamiących zabezpieczenia systemów komputerowych. Etyka hakera sprzeciwia się cyberprzestępczości. Osoby łamiąca zabezpieczenia w złej wierze to Crackerzy. Crackingiem zajmują się także osoby bez hakerskich umiejętności, używające gotowych programów do łamania zabezpieczeń. Wśród hakerów takie osoby określa się jako script kiddie.

CMS – system zarządzania treścią (ang. Content Management System) to system pozwalający na łatwe utworzenie i zarządzanie serwisem internetowym oraz jego późniejszą aktualizację i rozbudową. Przykładem takiego systemu jest WordPress (skrót WP), Drupal, Joomla.

Cracker – osoba zajmująca się łamaniem zabezpieczeń komputerowych w celu zaszkodzenia.

CDN (ang. Content Delivery Network) – zespół serwerów, który pozwala na przyspieszenie strony www dzięki temu, że skraca drogę pomiędzy klientem a serwerem, z którego są wczytywane dane strony internetowej.

Istnieje przeświadczenie, że ofiarami internetowych przestępców są duże organizacje, banki czy instytucje publiczne. Rzeczywiście, przestępcy internetowi najczęściej atakują tego typu firmy, ponieważ tam znajdują się dane, które mogą być interesujące np. pełne dane osobowe, wrażliwe informacje itd. Na pewno wszelkiego rodzaju media, chętnie pokazują tego typu ataki. Raczej o włamaniu na komputer Pana Romana nikt nie napisze. Może właśnie stąd takie przeświadczenie.

„No tak, ale przecież ja posiadam małą firmę, nie mam żadnych istotnych danych, po co ktoś miałby mnie zaatakować?” Jest to bardzo mylące, choć dość częste przeświadczenie. Tendencja ataków pokazuje, że coraz częściej ofiarami są małe lokalne firmy czy nawet prywatne strony internetowe. Przestępcy często wykorzystują mniejsze firmy, które są źle zabezpieczone jako słupy. Strony korporacyjne czy bankowe o wiele trudniej zaatakować, dział IT zapewnia, aby usługi www były ciągłe, transakcje bezpieczne, a skrypty na bieżąco aktualizowane. Małe firmy i osoby prywatne często nie mają odpowiedniej wiedzy, umiejętności czy finansowania na tego typu działania.

Dlaczego moja strona może być zaatakowana

Powodów może być tak naprawdę wiele. Przestępcy mogą potraktować naszą stronę jako ćwiczenie, udoskonalając w ten sposób swoje umiejętności. Innym powodem, może być niegrająca fair konkurencja. Podmiana tekstu na stronie internetowej to dobry sposób, aby klienci przestali postrzegać firmę za wiarygodną. Jeszcze innym powodem jest wykorzystanie strony WWW jako słup do innego ataku, bardziej skomplikowanego, na przykład na bank. Czasami taki atak to nic osobistego, zostałeś wybrany spośród tysięcy stron, które posiadają luki w zabezpieczeniach. Tutaj jednak raczej nie ma powodów do dumy.

Bezpieczeństwo stron internetowych

Bezpieczeństwo stron internetowych to bardzo trudny i skomplikowany temat. Żeby skutecznie zabezpieczyć stronę internetową, trzeba być dobrym programistą z wieloletnim doświadczeniem, ale również specjalistą od zabezpieczeń IT.

Żeby coś zabezpieczyć, naprawić musimy najpierw poznać mechanizm działania. Przypuśćmy, że naprawiamy zamek od klucza. Co robimy najpierw? Musimy poznać strukturę takiego zamka. Podobnie jest ze stronami internetowymi. Jeżeli znasz technologie tworzenia WWW to bez problemu załatasz luki bezpieczeństwa. Najlepszym sposobem zabezpieczenia strony internetowej jest wykonanie kontrolowanego ataku na witrynę. Następnie wykonanie audytu i wprowadzenie odpowiednich poprawek programistycznych czy administratorskich. W tym artykule zakładamy jednak, iż nie masz świetnego zespołu programistów i nie jesteś ekspertem z dziedziny bezpieczeństwa IT. Wielu użytkowników zakłada strony wykorzystując popularne systemy CMS np. WordPress, Drupal czy Joomla. Takie rozwiązania mają wiele funkcjonalności. Bogata ilość dodatków, modułów daje nam dużą elastyczność i praktycznie nie musimy posiadać żadnej wiedzy Webdevelopera, żeby zbudować taką stronę czy bloga, a nawet sklep internetowy.

Może właśnie dlatego w sieci jest tak dużo złych stron. Z punktu widzenia bezpieczeństwa, popularne systemy CMS takie jak WordPress, który jest tworzony przez ogromną grupę programistów, oferuje wsparcie oraz częste aktualizacje. O tym jak ważne są takie aktualizacje możesz dowiedzieć się z tego artykułu: Dlaczego warto aktualizować na bieżąco stronę www?

Musisz także wiedzieć, że w bezpieczeństwie IT nie ma czegoś takiego jak 100% gwarancja bezpieczeństwa. Często na forach internetowych można spotkać się z przeświadczeniem, że aktualizacja CMS jest już wystarczająca dla zapewnienia maksymalnego bezpieczeństwa WWW. Niestety tak nie jest. Ochrona strony internetowej to proces długofalowy. O witrynę musimy dbać właściwie ciągle. Duże portale internetowe mają zespoły, które ciągle analizują działanie witryny tylko i wyłącznie pod kątem bezpieczeństwa. Pamiętaj, że nie chroniona i nieaktualizowana witryna internetowa, może negatywnie oddziaływać na wizerunek firmy czy marki.

Gigant z Mountain View – Google znajduje codziennie ponad 9 900 stron, zainfekowanych złośliwym oprogramowaniem. W około 13 mln przypadkach zapytań do wyszukiwarki Google ostrzega, że strona, jest aktualnie zagrożona.

W jaki sposób sprawdzić że strona jest bezpieczna?

  1. Program antywirusowy

Rysunek 1.1. Komunikat programu antywirusowego McAfee informujący iż strona jest zainfekowana

2. Google Search Console

Po dodaniu strony do Google Search Console strony internetowej będziemy otrzymywać informację o wykrytych nieprawidłowościach na stronie.

3. Serwis Sucuri SiteCheck

Rysunek 1.2. Screen strony Sucuri SiteCheck

Zabezpieczenie strony

1. Renomowani dostawcy usług hostingowych

Rozpoczynamy od znalezienia dostawcy bezpiecznej platformy hostingowej, chociaż wybór hostingu nie jest związany stricte z systemem WP, którym się zajmujemy w tym artykule. Ważne jest, aby nasz wybrany serwera cieszył się dobrą reputacją i zaufaniem swoich kontrahentów. Nie będziemy skupiać się w tym wypadku na cenie, lecz na jakości świadczonych usług hostingowych. Pamiętaj, że niska cena przeważnie nie idzie w parze z jakością. Popularni providerzy WWW prześcigają się w rabatach i niskich cenach jednak zwróćmy uwagę na statystyki włamań na strony internetowe, które są obsługiwane przez operatora. Częstą praktyką stosowaną przez masowych dostawców (nazwa.pl, home.pl, 1and1.pl) jest użycie tych samych adresów dla kilkuset stron internetowych. Oznacza to mniej więcej tyle, że wystarczy by jedna strona wysyłała spam z tego adresu, a wszystkie witryny na tym adresie to odczują. Możesz to sprawdzić na stronie spyonweb.com

Rysunek 1.3. Ilość stron internetowych na danym hostingu – portal SpyOnWeb

Nie wierz w krzykliwe reklamy, że wszystko jest bez limitów. Nie ma usług bez limitów! Istotnym elementem wyboru jest również uptime, czyli gwarancja przez usługodawcę nieprzerwanego działania i dostępu do danego hostingu. SLA – Service Level Agreement powinien wynosić około 99,95%.
Sprawdź również, gdzie firma przetrzymuje dane. Większość popularnych firm hostingowych informuje na swojej stronie, gdzie trzyma swoje dane. Niektóre firmy korzystają z zewnętrznych centrów danych, tak jak w przypadku dość znanej firmy home.pl która korzysta z usług T-Mobile. Inne firmy natomiast posiadają własne centra danych np: OVH. Standard dla dobrego centrum danych to minimum Tier III w/g standaryzacji Uptime Institiute. Ostatni aspekt, który poruszymy na temat hostingu to odpowiedź na pytanie, jak często firma robi backup? Warto upewnić się, w jaki sposób firma dokonuje backupu, jakiego narzędzia do tego używa i czy sam możesz przywracać stronę www razem z bazą danych w razie takiej potrzeby. Jeżeli firma nie wykonuje pełnego backupu lub robi to rzadko, warto pamiętać by robić to samodzielnie. Miejsce przechowywania kopii strony również powinno być bezpieczne czyli dostępne tylko dla ściśle określonej grupy osób. No i na koniec oczywista oczywistość niech kopia nie będzie przetrzymywana w tym samym miejscu co strona. Redakcja Egeek poleca sprawdzony i bezpieczny Hostingu Adevo.

2. Szyfrowanie SSL strony internetowej

Jeżeli jeszcze nie wiesz czym jest certyfikat SSL to zapraszamy do artykułu Czym jest certyfikat SSL?. Aby podnieść bezpieczeństwo stron internetowych można wdrożyć certyfikat SSL na stronę www. O tym jak to zrobić dowiesz się z kolejnego naszego artykułu, który pojawił się na łamach portalu Egeek Jak zainstalować certyfikat SSL?.

Kiedy logujesz się do panelu administratora WordPress bez certyfikatu SSL, Twoje dane nie są zabezpieczone. Cała transmisja wymiany danych z serwerem a przeglądarka nie jest szyfrowana. W praktyce oznacza to mniej więcej tyle, że istnieje możliwość podsłuchania wpisywanego hasła. Szyfrowanie zapewnia bezpieczną transmisję danych i zapobiega uzyskaniu przez osoby nieuprawnione informacji nawet z podsłuchanej transmisji sieciowej.

3. Bezpieczeństwo haseł na stronie www

Włamanie na stronę może być naprawdę bardzo proste, jeżeli nie zastosujesz odpowiednich i skomplikowanych haseł. Oto fragment artykułu Hasło a bezpieczeństwo informacji na naszym portalu:

Regularna zmiana hasła

Częste zmiany hasła powodują, iż użytkownicy mogą mieć problem z jego zapamiętaniem. Dlatego często użytkownicy zapisują hasła w notatniku czy pliku tekstowym na komputerze. Niestety częste są też przypadki w korporacjach, gdzie comiesięczna zmiana hasła powoduje iż pracownicy używają łatwych do zapamiętania haseł np. marzec2017, Kwiecień2017. Jeżeli jesteś taką osobą to mamy nadzieje że po przeczytaniu tego artykułu nie będziesz tak robił.

Gdzie zapisywać hasła?

Odpowiedzią na to pytanie są menadżery haseł. Polecamy np. program desktopowy KeePass.

2. Silne hasło

Zapewne nie raz słyszałeś komunikat: używaj bezpiecznego hasła. No tak zgadza się, ale jakie hasło jest bezpieczne? co jakiś czas zwiększają się wymagania dla hasła uznawanego jako silne. Do łamania hashy używa się kart graficznych, dzięki którym proces łamania można wykonać nawet 1000 razy szybciej niż z wykorzystaniem procesorów.

Hasło powinno mieć minimum 10 znaków. Powinno składać się z małych, dużych litery oraz cyfr jak również znaków specjalnych takich jak: !@#$%^&*().

Przykłady dobrych haseł: Al()Ksbn64*, k9lk09k%^&, MBV?><*(963147

3. Dostarczanie hasła

Pamiętaj aby nie przesyłać nikomu danych dostępowych jawnym tekstem drogą elektroniczną poprzez chat, email itd. Zanim wiadomość trafi do odbiorcy przechodzi przez co najmniej kilka serwerów. Po drugie nie masz nigdy pewności kto otworzy wiadomość po drugiej stronie. Skorzystaj więc z szyfrowania wiadomości. Jeżeli koniecznie musisz wysłać wiadomość z hasłem to użyj dwóch form komunikacji. Wyślij SMS-em hasło a login droga e-mail.

Aby tworzyć unikalne hasła możemy użyć generatora haseł dostępnego w menadżerze haseł jakim jest KeePass albo skorzystać z generatora na stronie online http://www.pctools.com/guides/password//

Jestem jednak zwolennikiem generowania takich haseł w lokalnym środowisku. Większość takich generatorów online w regulaminie zaznacza iż hasła nie są nigdzie zapisywane. Ale lepiej dmuchać na zimne

4. Administracja strony www z bezpiecznego miejsca

Kiedy edytujesz stronę dodając wpis czy modyfikujesz kod strony poprzez FTP podajesz dane uwierzytelniające. Taką drogą bardzo często dochodzi do włamania na stronę. Musisz zadbać o bezpieczne środowisko pracy. Zabezpiecz sieć LAN czy WLAN. Jeżeli nie wiesz jak to zrobić zapraszamy do cyklu artykułów na temat Bezpieczeństwa sieci Wifi.

Zadbaj także o komputer, z którego logujesz się na witrynę internetową. Nie, nie chodzi tutaj o czysty monitor. Zainstaluj oprogramowanie antywirusowe i antyspyware. Postaraj się także o zabezpieczenia sprzętu przed osobami trzecimi.  To także pomoże ochronić Cię przed atakami crackerów. Jeżeli łączysz się ze swoim serwerem strony poprzez klienta FTP, nie zapisuj hasła czy samej sesji. Hasła powinny być albo w twojej głowie, albo w menadżerze haseł.

W przypadku, gdy do strony mają dostęp pracownicy czy redaktorzy, powinieneś zadbać o ograniczenia uprawnień, przydzielanych poszczególnym członkom zespołu. Dotyczy to zarówno FTP, jak i zaplecza strony. Osoba dodająca artykuły na stronie nie musi posiadać dostępu administracyjnego. Nawet jeżeli bardzo ufamy danej osobie i nie spodziewamy się z jej strony żadnych złośliwości, to nawet przez przypadek taka osoba może spowodować błąd na stronie. Prosty przykład Redaktor artykułów nie potrzebuje dostępu do Edytora szablonu WordPress.

WordPress posiada uprawnienia:
  • Subskrybent – to użytkownik, który posiada login i hasło do panelu administracyjnego. Ma możliwość komentowania wpisów. Po zalogowaniu może zmienić dane swojego profilu.
  • Współpracownik – może dodawać wpisy, ale nie może ich publikować. Współpracownik ma możliwość edycji i kasowania swoich wpisów przed publikacją.
  • Autor – może dodawać i publikować własne wpisy oraz edytować je i usuwać. Może także dodawać pliki do biblioteki multimediów i zamieszczać je w swoich wpisach.
  • Redaktor – może publikować, edytować i usuwać wpisy innych użytkowników, zarządzać kategoriami i tagami wpisów, edytować i usuwać pliki w bibliotece multimediów, zarządzać komentarzami oraz dodawać i publikować strony.
  • Administrator – może zarządzać treściami jak i zajmować się sprawami technicznymi, takimi jak wykonywanie aktualizacji, zarządzanie użytkownikami, zarządzanie wtyczkami, zmiany w ustawieniach strony oraz motywu.
Uprawnienia poszczególnych ról użytkowników w WordPressie Administrator
Redaktor
Autor
Współpracownik
SubSkrybent
Przeglądanie wpisów innych użytkowników + + + + +
Dodawanie komentarzy + + + + +
Zmiana danych swojego profilu + + + + +
Przeglądanie komentarzy + + + +
Dodawanie nowych wpisów (do przeglądu) + + + +
Edytowanie i kasowanie własnych wpisów (przed publikacją) + + + +
Publikowanie własnych wpisów + + +
Edytowanie i kasowanie własnych wpisów (również po publikacji) + + +
Przeglądanie biblioteki mediów + + +
Wstawianie mediów do biblioteki i swoich wpisów + + +
Publikowanie wpisów innych użytkowników + +
Edytowanie u suwanie wpisów innych użytkowników + +
Edytowanie i usuwanie mediów z biblioteki + +
Dodawanie i edytowanie stron + +
Zarządzanie komentarzami + +
Zarządzanie tagami i kategoriami + +
Zmienianie ustawień strony +
Zmienianie wyglądu strony (np. motywu) +
Instalowanie i usuwanie wtyczek +
Zarządzanie użytkownikami +
Wykonywanie aktualizacji +

Używaj kont z uprawnieniami minimalnymi, których potrzebujesz aby wykonać działanie na stronie internetowej.

5. Unikalna nazwa bazy danych

Podczas pierwszej instalacji WordPress-a należy wprowadzić nazwę bazy danych, nazwę użytkownika i jego hasło. Jeżeli chodzi np. o nazwę loginu w koncie hostingowym to raczej nie mamy wpływu na wygląd, ale na nazwę bazy danych i hasło już tak. Pierwszy człon nazwy bazy danych przeważnie generowany jest z automatu, ale drugi człon, którym jest właściwą nazwą bazy danych zależny od naszej wyobraźni.

No i właśnie niech nas poniesie fantazja. Niech nazwa bazy danych będzie długa i skomplikowana. Hasło ustawiamy oczywiście zgodnie ze standardami haseł o których pisaliśmy wcześniej. Wszystkie dane konfigurujemy i tworzymy w Panelu administratora serwera www, a podczas uruchamiania instalacji WordPress-a uzupełniamy tylko te dane w celu połączenia z bazą danych. Dobrą praktyką jest także zmiana prefiksu bazy danych z domyślnej „wp_”.

Warto jednak zaznaczyć, że o wiele bezpieczniejszą opcją jest uzupełnianie tego typu danych bezpośrednio bezpośrednio w pliku wp-config.php niż poprzez konfigurator WP. Plik ten znajduje się w głównym katalogu WordPress. Podczas pierwszej instalacji plik ten jest pod nazwą wp-config-sample.php – należy zmienić nazwę tego pliku na wp-config.

Rysunek 1.4. konfiguracja pliku wp-config.php

Kolejnym krokiem będzie stworzenie nazwy użytkownika i hasła dla konta administratora

  • Nazwa użytkownika – oczywiście zmieniamy sugerowaną nazwę użytkownika admin przez system WP na bardziej skomplikowaną np. Ad6789X. Jeżeli posiadamy już zainstalowany system WP możemy zmienić nazwę poprzez wtyczkę WP lub prosty skrypt SQL:
    UPDATE wp_users SET user_login = 'newuser' WHERE user_login = 'admin';
  • Hasło – uzupełniamy zgodnie ze wskazówkami systemu WP

Jeśli pozostawisz to pole puste, hasło zostanie automatycznie wygenerowane.
Wskazówka: Twoje hasło powinno składać się z co najmniej siedmiu znaków. Aby było ono silniejsze, możesz skorzystać z wielkich i małych liter, cyfr i symboli, takich jak !, „, ?, $, %, ^, & czy ).

6. Konfiguracja pliku wp-config

  1. Wyłączenie trybu wp_debug

    Domyślnie tryb ten jest wyłączony, co w praktyce oznacza, że błędy powstałe podczas użytkowania strony nie będą się wyświetlały na stronie użytkownikom. Wyświetlanie takich informacji może spowodować duże ułatwienie dla atakujących.

define('WP_DEBUG’, false);

oraz dla skryptów

define('SCRIPT_DEBUG’, false);
define('CONCATENATE_SCRIPTS’, false);
2. Wyłączenie edytora szablonów z poziomu zaplecza strony

Można również wyłączyć możliwość bezpośredniego edytowania szablonu z poziomu kokpitu strony.

define('DISALLOW_FILE_EDIT' ,true);
3. Wymuszenie SSL na kokpicie strony

Jeżeli zdecydujesz się na certyfikat SSL to możesz wymusić na użytkownikach alby logowali się tylko przy pomocy bezpiecznego protokołu Https

// Dla panelu logowania dla użytkowników define('FORCE_SSL_LOGIN’, true); //Dla całego zaplecza define('FORCE_SSL_ADMIN’, true);

7. Ustawienie prawa dostępu do folderów i plików WordPress

Następnym etapem pracy w zabezpieczeniu strony opartej na WP jest dostosowanie odpowiednich uprawnień dla plików. Uprawnienia do plików i katalogów zmieniamy z poziomu klienta FTP (polecamy WinSCP).

7.1 Uprawnienia plików i folderów

777 – Pełne prawa dostępu
755 – Właściciel ma wszystkie prawa do pliku, reszta (Grupa, Inni) tylko prawo do odczytu i uruchomienia
640 – Właściciel ma prawo do zapisu i odczytu, a reszta tylko prawo odczytu
600 – Tylko właściciel ma prawo do odczytu i zapisu

Ogólna idea jest taka, aby wszystkie katalogi miały uprawnienia 755 lub 750, natomiast wszystkie pliki 644 lub 640. Wyjątkiem od reguły jest plik wp-config.php który, powinien być ustawiony na 600.

Domyślne uprawnienia:

644 -rw-r–r– /home/user/wp-config.php
644 -rw-r–r– /home/user/cgi-bin/.htaccess
644 -rw-r–r– /home/user/cgi-bin/php.ini
755 -rwxr-xr-x /home/user/cgi-bin/php.cgi
755 -rwxr-xr-x /home/user/cgi-bin/php5.cgi

Bezpieczne uprawnienia:

600 -rw——- /home/user/wp-config.php
604 -rw—-r– /home/user/cgi-bin/.htaccess
600 -rw——- /home/user/cgi-bin/php.ini
711 -rwx–x–x /home/user/cgi-bin/php.cgi
100 —x—— /home/user/cgi-bin/php5.cgi

Uwaga!

Niektóre wtyczki wymagają dostępu całego folderu /wp-content/ (chmod 755). Jak również innych podwyższonych uprawnień plików do prawidłowego działania.

8. Ochrona pliku wp-config.php

Jak już wiemy w pliku wp-config.php mamy zapisane dane jawnym tekstem do bazy danych. Jeżeli taki plik konfiguracyjny trafi w niepowołane ręce, ktoś zyska dostęp do całej strony. Możemy zmienić standardową lokalizację tego pliku przenosząc go, np. poziom wyżej w strukturze katalogów www.

Drugie podejście to zablokowanie edycji pliku wp-config.php. Aby tego dokonać w pliku .htaccess umieszczamy taki o to kod:

<files wp-config.php>  order allow,deny  deny from all  </files>

9. Usuniecie wersji WordPress

Atakujący przed wykonaniem samego ataku najpierw przeprowadzi rekonesans strony. Przeglądnie otwarte porty, sprawdzi m.in. wersje serwera www, platformy interpretera PHP, bazy danych no i systemu CMS. Brew pozorom to bardzo cenne informacje.

Samo ukrycie informacji iż korzystamy z CMS WordPress nie jest rzeczą prostą. Musielibyśmy zmienić nazwę plików katalogów no i kod strony. Tutaj mam na myśli refaktoryzację kodu strony. Ukrycie wersji WordPress jest znacznie prostsze. W kodzie strony w sekcji head WordPress dodaje linijkę;

<meta name="generator" content="WordPress x.x.x" />

Aby pozbyć się tego wpisu w pliku wp-include/function.php dodajemy

function egeek_remove_version() {
return '';
}
add_filter('the_generator', 'egeek_remove_version');

Dodatkowo usuwamy także z katalogu głównego strony plik readme.html w którym znajduje się informacja o wersji systemu CMS.

Rysunek 1.5. Plik readme.html WordPress z wersją systemy CMS

10. Blokada indeksowania przez wyszukiwarki części plików

Aby pozbyć się indeksowania przez wyszukiwarki internetowe plików które nie powinny być widoczne dodajemy do pliku robots.txt kod:

User-agent: *
Disallow: /feed/
Disallow: /trackback/
Disallow: /wp-admin/
Disallow: /wp-content/
Disallow: /wp-includes/
Disallow: /xmlrpc.php

Plik robotx.txt powinien znajdować się w głównym katalogu strony. Jeżeli go nie posiadasz możesz go stworzyć. Popularne wtyczki WP SEO takie jak All in One czy Yoast SEO umożliwiają edycje tego pliku z poziomu zaplecza.

11. Edycja pliku .htaccess

Zacznijmy od tego czym jest plik .htaccess – jest to ukryty plik konfiguracyjny serwera WWW, który pozwala skonfigurować wiele jego parametrów. Możemy dokonać tego, dodając nowe lub nadpisując dyrektywy ustawione w głównym pliku konfiguracyjnym serwera, czyli httpd.conf. Ważna uwaga, plik ten działa w obrębie całego katalogu, w którym się znajduje, jak również w podkatalogach. Możemy także nadpisać plik ogólny w poszczególnych katalogach dzięki umieszczaniu kolejnego plik .htaccess.

Dodając kilka reguł do pliku konfiguracyjnego serwera .htaccess możemy podnieść bezpieczeństwo strony:

// Wyłaczenie listowania ktalogów
Options All -Indexes
// Zabezpieczenie pliku .htaccess
<files .htaccess>
order allow,deny
deny from all
</files>
// Wyłaczenie sygnatur
ServerSignature Off
// Ustawienie limitu uploads do 10MB
LimitRequestBody 10240000
// Ochrona pliku wpconfig.php.
<files wp-config.php>
order allow,deny
deny from all
</files>

12. Użyj CDN dla swojej strony www

Czym jest CloudFlare?

CloudFlare to tzw. CDN (ang. Cloud Delivery Network), który pozwala na przyspieszenie strony WWW dzięki temu, że skraca drogę pomiędzy klientem a serwerem, z którego są wczytywane dane strony internetowej. Takich serwerów na całym świecie jest bardzo dużo. Serwer CDN CloudFlare znajduje się także w Warszawie. CloudFlare świadczy wiele usług gdzie część z nich jest za darmo np. CDN, ochrona przed DDOS, ukrycie prawdziwych adresów DNS, możliwość połączeń przez SSL, cachowanie strony za pomocą expires, auto minify czyli kompresja kodu HTML, JS oraz CSS. CloudFlare pomoże nam również gdy nasza stronie padnie ofiara ataku sieciowego, ponieważ umożliwia wyświetlanie strony użytkownikom, nawet w przypadku gdy fizycznie nasz serwer jest niedostępny. CDN pozwoli ukryć prawdziwy adres IP naszej strony www, co umożliwia utrzymywanie na hostingu kilku stron, serwer będzie mniej obciążony, a boty Google nie będą widziały iż dane strony mają taki sam adres co pozwoli wzajemnie je pozycjonować z wysokim rezultatem.

Podsumowanie zabezpieczeń WordPress

  1. Aktualizuj WordPress do najnowszej wersji
  2. Pobieraj szablony i wtyczki tylko z zaufanych źródeł
  3. Aktualizuj wtyczki
  4. Regularnie wykonuj backup plików, strony i bazy danych
  5. Korzystaj ze sprawdzonego usługodawcy hostingowego
  6. Pamiętaj o mocnych hasłach
  7. Ustaw uprawnia plików
  8. Wyłącz rejestrację użytkowników jeżeli to nie potrzebne (WP)
  9. Ustaw adresy IP, które mogą logować się do witryny (Hosting strony)
  10. Zablokuj dostępu robotom do katalogów, które ne muszą widzieć
  11. Użyj CDN

Jak zabezpieczyć stronę na wypadek ataku?

Pomimo nawet największych starań nad zabezpieczeniem strony, powinniśmy pamiętać, że nic nie jest w stanie zagwarantować nam całkowitego bezpieczeństwa. Wykonując powyższe zalecenia nie możemy spać spokojnie, ale na pewno spokojniej. Działania zabezpieczenia strony polegają również na przygotowaniu się na ewentualny atak na stronę internetową. Bezpieczna strona internetowa to taka, która jest również przygotowana na szybkie przywrócenie do pierwotnego funkcjonowania sprzed ataku.

Bezpieczeństwo strony www to nie jest łatwe zadanie. Szczególnie trudne, ponieważ Webdeveloperzy muszą co chwilę mierzyć się z nowymi formami zagrożeń tzw. exploit’ów. Witryna internetowa często pełni rolę platformy dla biznesu. Dlatego, warto zlecić profesjonalistą opiekę nad stroną www.

Moje początki programowania sięgają 2010r. W trakcie wielu projektów zdobywałem doświadczenie, rozwijając nie tylko umiejętności techniczne, ale także kompetencje miękkie. Programuje głównie w PHP i Python.