Jak zabezpieczyć aplikację przed atakiem 'brute force’?

Artykuł dla panelu:
WebAs

Jeśli korzystasz z aplikacji zainstalowanych w panelu administracyjnym serwera lub własnych np. WordPress, Joomla, Drupal itp. i obawiasz się ataku brute force, możesz w łatwy sposób dodać zabezpieczenie Twojego panelu administracyjnego w aplikacji bądź innego dowolnego pliku.

Blokada pliku wp-login.php

Takim zabezpieczeniem jest utworzenie dodatkowego hasła dla strony logowania np. /wp-login.php, /wp-admin.php itp. Poniżej znajdziesz przykład zabezpieczenia hasłem dowolnego pliku znajdującego się na koncie FTP.

  • Połącz się z serwerem za pomocą SSH.
  • Po wykonaniu prawidłowego połączenia z wykorzystaniem SSH na swoje konto FTP, w katalogu głównym wykonaj poniższe polecenie podając Twoją nazwę użytkownika, która posłuży do logowania podczas próby otwarcia zabezpieczanego pliku:
htpasswd -c .htpasswd
  • Po wydaniu komendy zostaniesz dwukrotnie poproszony o podanie hasła dla podanej nazwy użytkownika. Wprowadź dwukrotnie hasło oraz zapamiętaj je (podczas wpisywania hasła w konsoli nie zobaczymy pojawiających się znaków).
  • W ten sposób zostanie utworzony plik .htpasswd w głównym katalogu konta FTP, którego pod żadnym pozorem nie należy przenosić do innego katalogu.
  • W kolejnym kroku przejdź do katalogu, gdzie zlokalizowany jest plik, który chcesz zabezpieczyć hasłem oraz utwórz plik .htaccess (jeśli plik nie został utworzony wcześniej) wraz z poniższą treścią określając plik, który ma zostać zabezpieczony:
<FilesMatch „plik_do_zabezpieczenia.txt„>
AuthName „Member Only”
AuthType Basic
AuthUserFile /home/users/konto_FTP/.htpasswd
require valid-user
</FilesMatch>

Istnieje także możliwość zabezpieczenia wszystkich plików o danym rozszerzeniu bądź plików z tą samą nazwą, lecz o różnych rozszerzeniach. Poniżej znajdziesz przykłady dla obu przypadków.

Blokada wszystkich plików w katalogu o danym rozszerzeniu:

<FilesMatch „*.html„>
AuthName „Member Only”
AuthType Basic
AuthUserFile /home/users/konto_FTP/.htpasswd
require valid-user
</FilesMatch>

Blokada wszystkich plików o danej nazwie oraz dowolnym rozszerzeniu:

<FilesMatch „file.*„>
AuthName „Member Only”
AuthType Basic
AuthUserFile /home/users/konto_FTP/.htpasswd
require valid-user
</FilesMatch>

Zabezpieczenie pliku zostało utworzone. Teraz możesz sprawdzić czy wszystko działa poprawnie.
Spróbuj wywołać zabezpieczony plik w przeglądarce internetowej, powinno pojawić się dodatkowe okno do logowania.

Jak sprawdzić próby ataku na WordPress

Jeśli posiadasz zainstalowaną aplikację WordPress sprawdź, czy pojawiały się już próby ataku na panel administracyjny CMS (plik wp-login.php). W przypadku, gdy stwierdzisz, że takie próby miały miejsce, koniecznie zabezpiecz panel logowania powyższym sposobem (blokada pliku wp-login.php).

  • Zaloguj się do panelu administracyjnego WebAs, gdzie obsługiwana jest domena wraz z zainstalowaną aplikacją WordPress,
  • przejdź do Historia > Statystyki > Domeny > Obciążenie
  • a następnie wygeneruj raport obciążenia dla tego serwisu. W wierszu danej domeny oraz kolumnie „Raport” kliknij „Podgląd”.
  • W wygenerowanym raporcie obciążenia przejdź do sekcji „—–Obciążenie w zależności od skryptu (wywołania zawierające parametry)—–” oraz zweryfikuj pierwsze wpisy.
  • Jeśli skrypt „wp-login.php” znajduje się na liście oraz wygenerował duże obciążenie zablokuj jego dostęp za pomocą powyżej opisanego sposobu.

W przypadku aplikacji WordPress istnieje również wiele innych sposobów zabezpieczeń, których opis znajdziesz tutaj.

Analogicznie dla powyższego przykładu możesz zabezpieczyć inne popularne systemy CMS jak Joomla czy Drupal.