WordPress. Bezpieczeństwo 5- blokada IP oraz pre-hasło

wordpress

Powiedz przyjacielu i wejdź. Pre-hasło.

Druga metoda o której napiszę to powszechnie używane pre-hasło. Można się z nim spotkać niejednokrotnie nawet, kiedy sami nie podejmujemy działań mających doprowadzić do pojawiania się go. Chodzi o to, że wielu dostawców usług hostingowych domyślnie nadaje obowiązek podania pre-hasła o którym piszę w momencie wejścia np.: na /wp-admin. Jest tak choćbym z firmą Linuxpl.com co świadczy na pewno o dodatkowej dbałości firmy o nasze bezpieczeństwo i swoje zasoby.

Cała idea posiadania pre-hasła ma na celu przede wszystkim (choć nie tylko) odcięcie programów komputerowych łamiących hasła metodą brute force. Czyli program komputerowy nie dostanie się na ekran logowania jeśli nie poda pre-hasła, a że jest tylko programem (bez inteligencji) nie koniecznie poradzi sobie nawet z tak prostą kwestią jak powiedzenie „przyjacielu” kiedy wprost napiszemy powiedz „przyjacielu„ i wejdź. Często na tzw pre-hasłach podaje się wprost co mamy napisać. Np.: przepisz jako login i hasło „jestem człowiekiem”. Człowiek nie będzie miał z tym problemu a oprogramowanie już tak. A skoro program nie dostanie się do ekranu właściwego logowania nie rozpocznie bezmyślnego ataku brute force i nie obciąży zasobów serwera a także nie złamie hasła metodą prób i błędów o której piszę.

Pre hasło – jak je nadać?

Tutaj sprawa jest odrobinę bardziej skomplikowana. Ale tylko odrobinę. Znów użyjemy dobrze znanego nam .htaccess. Jednak w metodzie tej potrzebujemy dwóch rzeczy. Pierwsza to plik z hasłem, który sami stworzymy a druga to odpowiedni zapis w .htaccess. Metoda ta pochodzi z oficjalnej strony repozytorium WordPressa https://codex.wordpress.org/Brute_Force_Attacks do której zapraszam osoby nieco bieglejsze w obsłudze zagadnień informatycznych i języku angielskim. Jest tam opisane to o czym mówię znacznie dokładniej i obszerniej.

Etap pierwszy – plik z hasłem .password

Utwórz na swoim komputerze (np. pulpicie) nowy plik z dowolną nazwą. Dla potrzeb przykładu będzie to .password. W pliku tym zapiszemy hasło. Ale oczywiście słabo by to wyglądało gdyby po otwarciu pliku jak byk stały tam:

login: janek
hasło: K0wal5k1

Aby plik spełniał swoją rolę dobrze byłoby zaszyfrować dane które tam wpiszemy. Aby to sprawnie przeprowadzić skorzystamy z generatora znajdującego się tutaj (htaccestools password generator) i dzięki niemu powyższy login z hasłem wygląda już tak:

janek:$apr1$Sbo.KAMR$LuthIJW2D6xotHO3SkfPH.

Taką treść zapisujemy w pliku i wgrywamy go na serwer. Najlepiej piętro wyżej niż WordPress a więc w katalogu nadrzędnym.

Jeśli nie będziecie mogli się odnaleźć w ścieżkach na swoim serwerze warto stworzyć nowy plik info.php w którym wklejamy:

<?php echo dirname( __FILE__ ); ?>

po jego wgraniu na serwer do dowolnego katalogu via ftp i wpisaniu nazwy w pasku adresowym URL wyświetli on całą ścieżkę naszego serwera. Nam potrzebny jest początek tego adresu dzięki czemu mamy już wszelkie dane aby móc odwołać się do pliku w etapie drugim poniżej…

Etap drugi – wpis w .htaccess

# Stop Apache from serving .ht* files
<Files ~ "^\.ht">
Order allow,deny
Deny from all

</Files>
# Protect wp-login
<Files wp-login.php>
AuthUserFile /sciezka serwera az do pliku password/.htpassword
AuthName "Dostęp dla upowaznionych"
AuthType Basic
require user mysecretuser
</Files>

Po wgraniu plików w odpowiednie miejsca (zgodnie z ścieżkami jakie ustaliliśmy) wystarczy podać adres naszej strony/wp-admin aby okazało się czy wszystko działa. Jeśli zrobiliśmy wszystko poprawnie pozostaje nam wcielić się w rolę Gandalfa Szarego zaskoczonego hasłem „powiedz przyjacielu i wejdź”…