Znalazłem 4 sposoby, które zabezpieczają stronę logowania.
Dylemat jest o to które zjada najmniej zasobów serwera w czasie ataków a jednocześnie jest skuteczne i wygodne.
1. Dwuskładnikowe uwierzytelnienie z google za pomocą wtyczki typu " Google Authenticator"
2. Zmiana linku do logowania.
3. HTTP Basic Authentication. Użyć generatora .htpasswd i w pliku.htaccess dodać kod
<Directory "/var/www/html/ "> AuthType Basic AuthName "tell me something" AuthUserFile /etc/apache2/.htpasswd Require valid-user AllowOverride All Allow from All </Directory>
ma to pokazać logowaniu hasłem i loginem przed logowaniem do panelu admina.
4. Strona logowania wyświetli się tylko po poprawnym user-agent
<FilesMatch ^((wp-login|admin)\.php$)$> SetEnvIfNoCase user-Agent ^mojtajnykod [NC] my_bot Order Deny,Allow Deny from all Allow from env=my_bot </FilesMatch>
Od razu napiszę moje uwagi:
ad 1.
Słyszałem, że można to łatwo obejść ? Druga sprawa czy bot widząc dodatkowe uwierzytelnienie odpuści czy będzie jak szalony próbował wpisać poprawny login, hasło i dodatkowy kod ? Jeśli tak to w czasie ataku serwer zdechnie…
ad 2.
To u mnie odpada, dużo osób ma później problemy z dostaniem się do panelu logowania. No i także wyczytałem, ze to jest słabe bo bot może znaleźć ten link do logowania.
ad 3.
Wydaje mi się dobrą metoda na ochronę strony logowania. Tylko jak to ma się do obciążenia serwera gdy bot będzie usilnie próbował zgadnąć login i hasło ? A moze to jest łatwe do obejścia ?
ad 4.
Ta metoda moim zdaniem jest najskuteczniejsza. nie słyszałem jeszcze aby boty ustawiały losowe User-Agenty a co dopiero by trafił na mój tajny kod. No i teoretycznie na moje oko serwer odpoczywa bo wyświetla tylko stronę z informacją o braku uprawnień.
Forbidden
You don’t have permission to access /wp-login.php on this server.
ale czy to da się obejść ? A sama metoda dosyć niewygodna.
To samo można zrobić po IP, ale chcę także z tel się czasem zalogować wiec odpada.
Więc jak Wy uważacie co jest najlepsze ? A może ktoś zna jeszcze coś innego ?