Jednym z głównych problemów z technologią są częste przerwy w bezpieczeństwie, jakich doświadczamy; wiele informacji jest codziennie kradzionych i wykorzystywanych do kradzieży dodatkowych informacji, wysyłania wiadomości spamowych, otwierania backdoorów do systemów, a czasem nawet do uszkadzania naszych komputerów.

Żaden z tych problemów nie jest znany WordPressowi, oszałamiająca liczba witryn stała się ofiarami nieprzyjemnych przestępców wykorzystujących społeczność dla własnych korzyści.

Aby pokonać tę groźbę, przygotowaliśmy zestaw dobrych narzędzi i wskazówek, jak uniknąć kolejnej ofiary. Lub jeśli masz pecha, aby być już ofiarą, jak walczyć i naprawić swoją instalację.

Ataki typu Exploit

Być może słyszeliście o tym, może nawet znacie szczegóły, ale dla tych, którzy nie mają tu problemu: exploit to kawałek złośliwego kodu rozpowszechniany w celu wykorzystania słabości istniejącego kodu.

TimThumb był podatny na atak tego rodzaju; jedna z jego funkcji, która umożliwia użytkownikom przesyłanie obrazów z różnych stron i swobodny dostęp do nich, przechowywanie obrazów w katalogu pamięci podręcznej, aby Timthumb nie musiał ich ponownie przetwarzać. Ta funkcja może zostać wykorzystana przez hakera wysyłającego pliki na serwer, umożliwiając im dostęp do tak wielu zasobów z instalacji WordPress, jak chcą.

Dokładnie ten sam problem dotyczył Uploadify , wtyczka umożliwiająca użytkownikom przesyłanie plików. Gdy nie jest ona odpowiednio kontrolowana, wtyczka pozwala hakerom na swobodny dostęp do strony, przesyłając skrypty PHP w celu przyznania uprawnień dostępu.

Maintenance

Obraz konserwacji przez Shutterstock.

W tych przypadkach problemem, podobnie jak w przypadku większości ataków wykorzystujących exploity, nie był WordPress, ale same wtyczki. Rozwiązanie jest proste, aktualizuj swoje wtyczki i zgłaszaj wszelkie błędy, które napotykasz programistów, aby pomóc im rozwiązać potencjalne problemy.

Wstrzyknięcia SQL

Samo instalowanie WordPressa nie jest odporne na problemy. W zależności od wersji, SQL injection może być poważnym bólem głowy. Wstrzyknięcie SQL to proces, za pomocą którego osoba atakująca próbuje przekazać kod SQL za pośrednictwem formularza lub skryptu strony internetowej w nadziei, że kod SQL przeanalizuje dane "poprawnie" i pobierze dane z bazy danych. Te dane mogą być adresami e-mail, ale bardziej prawdopodobne jest to, że będą to nazwy użytkowników i hasła, które dają użytkownikowi większy dostęp w przypadku innych ataków.

Powodem, dla którego ataki SQL mogą być tak irytujące, jest to, że aby je zwalczać, trzeba często wykonywać kopie zapasowe bazy danych. Korzystnie co najmniej raz na dzień.

Mainenance

Obraz konserwacji przez Shutterstock.

Aby tego uniknąć, możesz spróbować zabezpieczyć swoje pliki za pomocą Apache'a przy pomocy takiego kodu w pliku .htaccess:

RewriteEngine OnRewriteBase /RewriteCond %{REQUEST_METHOD} ^(HEAD|TRACE|DELETE|TRACK) [NC]RewriteRule ^(.*)$ - [F,L]RewriteCond %{QUERY_STRING} ../ [NC,OR]RewriteCond %{QUERY_STRING} boot.ini [NC,OR]RewriteCond %{QUERY_STRING} tag= [NC,OR]RewriteCond %{QUERY_STRING} ftp:  [NC,OR]RewriteCond %{QUERY_STRING} http:  [NC,OR]RewriteCond %{QUERY_STRING} https:  [NC,OR]RewriteCond %{QUERY_STRING} (<|%3C).*script.*(>|%3E) [NC,OR]RewriteCond %{QUERY_STRING} mosConfig_[a-zA-Z_]{1,21}(=|%3D) [NC,OR]RewriteCond %{QUERY_STRING} base64_encode.*(.*) [NC,OR]RewriteCond %{QUERY_STRING} ^.*([|]|(|)|<|>|ê|"|;|?|*|=$).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*("|'|<|>||{||).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(%24&x).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(%0|%A|%B|%C|%D|%E|%F|127.0).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(globals|encode|localhost|loopback).* [NC,OR]RewriteCond %{QUERY_STRING} ^.*(request|select|insert|union|declare).* [NC]RewriteCond %{HTTP_COOKIE} !^.*wordpress_logged_in_.*$RewriteRule ^(.*)$ - [F,L]

To zniechęci amatora, ale profesjonalny haker znajdzie inną lukę bezpieczeństwa do wykorzystania. Na szczęście większość ataków popełniają nowicjusze lub spamerzy, używając skryptów takich jak PHP r57 lub Shell. Ograniczenie tych ataków znacznie zmniejszy liczbę problemów, z którymi musisz sobie poradzić.

Domyślny użytkownik

Największa luka bezpieczeństwa w każdym systemie to użytkownik końcowy. Nie ma znaczenia, jak złożone hasło tworzysz. W rzeczywistości im bardziej złożone hasło, tym gorsze ryzyko bezpieczeństwa; ponieważ bardzo złożone hasła muszą być gdzieś zapisane. Użytkownicy często zapisują hasła w plikach .txt lub .doc na swoim komputerze, co sprawia, że ​​system jest otwarty na ataki typu phishing wykorzystujące wirusy, takie jak trojany.

Jedyne bezpieczne miejsce do przechowywania hasła znajduje się wewnątrz twojej głowy.

Jednak nawet jeśli przechowujesz hasło tylko we własnej pamięci, nadal nie jesteś bezpieczny przed atakami brutalnej siły. Atak brute force będzie po prostu próbował "odgadnąć" twoje hasło przy wielokrotnych próbach zalogowania. Może zaczynać się od "aaaaa", przechodzenia do "aaaab" i tak dalej, aż osiągnie "000000". Ten proces nie jest ograniczony do jednego komputera, zwykle setki komputerów są uruchamiane przez potencjalne hasła szukające dostępu.

Jednym ze sposobów radzenia sobie z brutalnymi atakami jest zainstalowanie ogranicznika logowania, który pozwoli tylko na kilka prób zalogowania przed zablokowaniem dostępu dla tego użytkownika na około godzinę. Zmniejsza to liczbę szans, jakie atakujący musi uzyskać. Istnieje kilka wtyczek do WordPressa, które mogą ci w tym pomóc: Ogranicz próbę logowania , Lepsze bezpieczeństwo WP i Rozwiązanie bezpieczeństwa logowania .

Na koniec zwróć uwagę na nazwy użytkowników. Domyślna nazwa użytkownika dla WordPress to "Admin", a jeśli ją opuścisz, zmniejszysz o połowę ilość pracy, jaką haker musi wykonać, aby uzyskać dostęp do Twojej witryny. Jeśli nie zmieniłeś swojej nazwy użytkownika podczas instalacji WordPress, zrób to teraz. Wystarczy zalogować się na swoje konto, utworzyć nowe konto z żądaną nazwą użytkownika, nadać mu uprawnienia administratora, a następnie usunąć konto administratora.

Cleanup

Wyczyść obraz przez Shutterstock.

Dostęp bezpośredni

Kolejnym problemem, jaki może mieć nasza witryna WordPress, jest bezpośredni dostęp do strony logowania, co upraszcza proces włamywania się do witryny.

Chociaż zabezpieczenie haseł jest sprawą najbardziej palącą, złośliwy użytkownik nie będzie mógł wykorzystać niczego, co ukradł, jeśli nie może znaleźć strony logowania. Najprostszym rozwiązaniem jest użycie wtyczki takiej jak Ukryj logowanie aby ukryć położenie strony logowania.

Niektóre pliki w naszej instalacji WordPress mogą być również dostępne, jeśli nie są odpowiednio zabezpieczone. Możemy usunąć te luźne końce, dodając trochę więcej reguł do naszego pliku .htaccess, jak na przykład:

Options All -IndexesOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from allOrder allow,denyDeny from all

Domyślny prefiks

Powinno być jasne, że im więcej informacji udzielimy naszemu potencjalnemu hakerowi, tym łatwiej im się uda.

Domyślny prefiks tabeli WordPress to "wp_". Dlaczego mielibyśmy im to dać? Zmieńmy ten przedrostek na trudniejszy do odgadnięcia, na przykład "oijrr58_", co znacznie utrudni ich życie i zwiększy szanse, że witryna pozostanie bezpieczna.

W przypadku nowych instalacji nie ma w tym nic ważnego, ponieważ skrypt instalacyjny prosi nas o prefiks. W przypadku starszych witryn masz dwie opcje, możesz dokonać zmiany ręcznie (tylko spróbuj, jeśli masz dużo czasu i jesteś pewien, że wiesz, co robisz) lub użyj wtyczki takiej jak Lepsze bezpieczeństwo WP który się tym zaopiekuje.

Za późno…

Nigdy nie jest za późno. Zawsze możesz walczyć z hakerami i nie stać się wieczną ofiarą.

Jeśli nie masz pewności, czy Twoja witryna została zainfekowana, dostępne są narzędzia, które Ci powiedzą. Sucuri SiteCheck na przykład przeskanuje twoją witrynę, a jeśli jesteś zarażony, poinformuje cię, jakie kroki należy podjąć, aby rozwiązać problem.

Hazardous

Niebezpieczny obraz przez Shutterstock.

Podstawowe poprawki

Oto kilka podstawowych kroków do wykonania:

  • Zrób kopię zapasową witryny i bazy danych, zhakowaną lub nie, nie chcesz stracić swoich treści.
  • Twórz kopie przedmiotów, których nie ma w bazie danych, takich jak obrazy.
  • Pobierz najnowszą wersję WordPress.
  • Upewnij się, że wszystkie wtyczki są aktualne, sprawdź, które wersje rozwiązują znane problemy.
  • Upewnij się, że wszystkie szablony są aktualne, sprawdź, które wersje rozwiązują znane problemy.
  • Użyj klienta FTP lub cPanel, aby usunąć wszystko z katalogu WordPress.
  • Prześlij nowe pobrane pliki.
  • Uruchom aktualizację bazy danych.
  • Zmień hasło, nie chcesz, aby hakerzy wrócili z powrotem.
  • Na koniec sprawdź każdy post, korygując zadane obrażenia.

Zwalczanie skryptów r57

r57 jest skryptem PHP, który daje atakującemu szeroki zakres możliwości, chociaż atakujący ma takie możliwości, nie będą działać dopóki powłoka nie znajdzie się na naszym serwerze internetowym, w związku z tym możemy uniemożliwić mu działanie przy użyciu następujących poleceń:

find /var/www/  -name "*".php  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

To polecenie wyszuka pliki PHP znajdujące się w twoim folderze WWW, a następnie w odnalezionych plikach będzie szukała wzmianki o r57 w nazwie pliku i zawartości. Następnie usunie zainfekowane pliki.

find /var/www/  -name "*".txt  -type f -print0  | xargs -0 grep r57 | uniq -c  | sort -u  | cut -d":" -f1  | awk '{print "rm -rf " $2}' | uniq

Ten kod działa tak samo, z wyjątkiem plików TXT zamiast plików .php.

Zauważ, że te kody są dla systemu Linux, nie próbuj ich w systemie Windows lub MacOS i pamiętaj, że są potencjalnie bardzo destrukcyjne, ponieważ usuwają pliki bez pytania o pozwolenie.

Zaciemniony kod

Główną przyczyną niepokoju w obrębie tematów jest ukryty kod, ponieważ złośliwy kod jest trudniejszy do znalezienia w ramach motywów. Można dokonać wszelkiego rodzaju szkód, od przekierowania użytkowników do innych stron, po zatopienie SEO.

Kluczową bronią w walce z tego rodzaju problemem jest Sprawdzanie autentyczności motywu . Ta wtyczka nie tylko sprawdzi kod podejrzanych linii, ale także wykryje statyczne linki i zasłonięty kod, jak kod generowany w base64, który jest trudny do wykrycia przez oko.

Oszukałeś mnie raz hańba ci…

To, że zostałeś złapany w przeszłości, nie oznacza, że ​​musisz dalej grać.

Rozważ podjęcie następujących kroków, aby zabezpieczyć się dalej:

  • Dopuść PHP tylko tam, gdzie jest to absolutnie konieczne.
  • Upewnij się, że twój serwer WWW nie zezwala klientom na modyfikowanie pliku .htacess.
  • Zaimplementuj zaporę ogniową, która ograniczy wychodzące wiadomości w porcie 25 do samego katalogu głównego i identyfikatora serwera e-mail.
  • Monitoruj przesyłanie do swojej witryny za pomocą aplikacji takiej jak ConfigServer eXploit Scanner .
Repair

Napraw obraz przez Shutterstock.

Wreszcie

Zabezpieczenia WordPress są tak samo ważne jak bezpieczeństwo każdej witryny. Musisz upewnić się, że zarówno Ty, jak i Twoi użytkownicy jesteście chronieni przed spamem, złośliwym oprogramowaniem i phishingiem. Ale pamiętaj, że pierwszą linią obrony jest oprogramowanie antywirusowe na twoim komputerze stacjonarnym.

Czy napotkasz problemy z zabezpieczeniami WordPress? Jak rozwiązałeś problem? Daj nam znać w komentarzach.

Napisany specjalnie dla WDD przez The Shock Family: zespół profesjonalistów internetowych i twórców Motywy WordPress (Motywy Premium wordpress), Generator motywów WP (Świetny twórca motywu wp), oraz DesignShock seful design sets). (ci seful zestawy projektów).