Ograniczenie możliwości włamania do Wordpressa

Dodano: 2015-09-10

img

Poważnym problemem trapiącym ostatnio strony oparte na popularnym Wordpressie są próby włamania za pomocą metody brute force.

Metoda ta w duzym skrócie polega na próbie zgadnięcia hasła. Włamywacz dysponuje słownikami, oraz posiada listę najpopularniejszych haseł stosowanych w internecie (zdziwilibyście się, gdybyście wiedzieli ile osób posiada login admin i hasło admin ;) ) i po kolei próbuje się zalogować używając słów z listy. Jeżeli to nie pomoże - generuje różne generacje znaków i próbuje za pomocą tak skonstruowanych haseł włamać się do panelu zarządzania stroną opartą w Wordpressa.

 

Po co mu to? Na pewno nie po to, żeby wkleić nam na stronę zdjęcie słodkiego kotka ;). Mając dostęp do panelu zarządzania stroną opartą na Wordpressie włamywacz może np:

  • Za pomocą wbudowanego w wordpressa edytora kodu dokleić złośliwy kod do naszej strony i infekować komputery odwiedzających
  • Wgrać na serwer tzw phpshell i korzystać z niego poprzez stronę jak z managera plików
  • Wysłać spam
  • Zmienić nam na stronie numer konta bankowego i odbierać nasze przelewy
  • I wiele innych rzeczy, które na pewno by sie nam nie spodobały.

 

Jeżeli na Twojej stronie nie dajesz swoim użytkownikom możliwości logowania, możesz spróbować się zabezpieczyć. Omówimy w tym artykule dwie metody - limitowanie dostępu do swojej strony za pomocą dopuszczenia logowania tylko ze swojego adresu ip, oraz wymuszenie dodatkowej autoryzacji, jeszcze przed uzyskaniem dostępu do strony logowania Wordpressa.

 

Ograniczanie dostępu do strony poprzez filtrowanie adresów ip.

W bardzo dużym uproszczeniu adres ip to adres komputera z którego łączysz się w danym momencie z internetem. Niestety może on się zmieniać, co spowoduje że stracisz dostęp do panelu. Taki problem spotkać np może użytkowników sieci DSL (Orange, Netia). Jeżeli jednak Twój adres ip jest stały, lub zmienia się rzadko - ta metoda jest dla Ciebie.

Jeżeli nie wiesz jaki masz adres ip, możesz po prostu wejść na stronę http://www.speedtest.net/ gdzie możesz zobaczyć swój adres ip z którego w danej chwili łączysz się z internetem:

 

W lewym dolnym rogu grafiki na stronie pokaże się nam adres ip z którego się łączymy. W tym przypadku jest to adres 192.166.202.132.

 

Następnie za pomocą edytora plików tekstowych  (Word nie jest edytorem plików tekstowych, może to być np Notatnik) tworzymy plik o nazwie .htaccess (tak, z kropką na początku) . I tu jedna ważna uwaga - w systemie Windows domyślnie ten plik uzyska rozszerzenie .txt i będzie się nazywał .htaccess.txt - Windows po prostu ukryje znane sobie rozszerzenie .txt. Nasz plik  nie może mieć tego rozszerzenia - nazywa się po prostu .htaccess - bez niczego na końcu. Aby upewnić się, że jego nazwa jest własciwa, musimy wyłączyć ukrywanie rozszerzeń znanych plików. Jest to świetnie opisane na stronie firmy Microsoft.

Do naszego pliku .htaccess musimy wpisać odpowiednie regułki. Oto one:

 

<Files wp-login.php>

# Wpuszczamy tylko nasz adres

Allow From 192.166.202.132

# I blokujemy całą resztę

Deny From All

</Files>

 

Tak przygotowany plik wgrywamy na swój serwer za pomocą ftp, do katalogu głównego swojego wordpressa. Informację o tym jak zalogować się przez ftp na naszych serwerach, znajdziecie w naszej pomocy.

UWAGA - pliki z kropką na poczatku, to pliki ukryte w systemach linuksowych. Musicie więc w swoim kliencie ftp włączyć pokazywanie plików ukrytych, aby je zobaczyć.

Osoba, która będzie chciała się zalogować do naszego Wordpressa, a jej adres ip nie będzie na liście, zobaczy informacje o zabronionym dostępie:
 

 

A co w przypadku, jeżeli zmieni się nam adres i sami zobaczymy informację o zabronionym dostepie? Wystarczy zalogować się ponownie na swój serwer przez ftp i zaktualizować adres ip w pliku .htaccess.

 

Limitowanie dostępu za pomocą dodatkowej autoryzacji.

Drugą metodą zabezpieczenia strony logowania Wordpressa jest wymuszenie dodatkowej autoryzacji. Ma to znaczenie o tyle, że potencjalny atakujący będzie musiał się zautoryzować zanim jeszcze uzyska jakikolwiek dostęp do strony logowania.

Aby to wykonać musimy przygotować dwa pliki. Jeden to wspomniany wcześniej .htaccess, a drugi plik, to .htpasswd

Do pliku .htaccess wpisujemy:

 

<Files wp-login.php>

AuthType Basic

AuthName "Authentication Required"

AuthUserFile "/home/SERWER/docroot/htdocs/DOMENA/.htpasswd"

Require valid-user

</Files>

gdzie:

SERWER to nazwa serwera w i-host.pl

DOMENA to domena w której znajduje się Wasz Wordpress.

Jeżeli więc macie u nas serwer o nazwie kowalski, a domena w której pracuje Wasz Wordpress to jankowalski.pl, jako nazwę ściezki w wierszu AuthUserFile wpisujecie:  "/home/kowalski/docroot/htdocs/jankowalski.pl/.htpasswd".

 

Następnie trzeba przygotować plik .htpasswd. Przy jego tworzeniu należy pamiętać o takich samych zasadach jak przy tworzeniu pliku .htaccess - plik tekstowy z kropką na początku, bez rozszerzenia.

W pliku tym znajduje sie nasz login oraz zakodowane hasło. Jeżeli macie dostęp do systemu Unix/Linux z zainstalowanymi plikami serwera Apache, plik taki możecie wygenerować poleceniem:

 

# htpasswd -c .htpasswd kowalski
New password:
Re-type new password:
Adding password for user kowalski

 

Tak przygotowany plik można już wgrać na serwer.

Jeżeli jednak nie macie dostępu do systemu Unix/Linux - przygotowaliśmy dla Was generator zawartości plików .htpasswd. Generator można pobrać stąd. Po jego pobraniu należy go rozpakować, wgrać rozpakowany katalog do katalogu głównego gdzie znajduje sie Wasz wordpress i wejść na stronę - zakładając, że macie domenę jankowalski.pl: http://jankowalski.pl/generator/generator.php

 

 

Po zapisaniu ciągu znaków jan:{SHA}9W8iihv7sUaDthoeO0Lz6qPFjYE= w pliku .htpasswd można wgrać go na serwer.

 

Można połączyć obie metody

 

<Files wp-login.php>

Allow From 192.166.202.132

Deny From All

AuthType Basic

AuthName "Authentication Required"

AuthUserFile "/home/kowalski/docroot/htdocs/jankowalski.pl/.htpasswd"

Require valid-user

</Files>

Opisane wyżej metody na pewno nie uchronią Was w 100% przed atakiem na Waszą stronę, jednak na pewno ograniczą możliwości potencjalnemu włamywaczowi.

Spodobał Ci się wpis? Podziel się ze znajomymi!

Zobacz wszystkie wpisy na blogu