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ę.
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.
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.
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ń.
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ć.
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.
Wyczyść obraz przez Shutterstock.
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 all Order allow,denyDeny from all Order allow,denyDeny from all Order allow,denyDeny from all Order allow,denyDeny from all Order allow,denyDeny from all Order allow,denyDeny from all Order allow,denyDeny from all
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.
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.
Niebezpieczny obraz przez Shutterstock.
Oto kilka podstawowych kroków do wykonania:
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.
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.
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:
Napraw obraz przez Shutterstock.
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).