Pentru cei care utilizează HAProxy Load Balancer impreuna cu Wordpress, există o modalitate simplă de a schimba adresa de login a site-ului, o soluție ușoară pentru a crește securitatea site-ului / blogului!
Adresa URL de autentificare implicită a WordPress este /wp-login.php sau /wp-admin/ caz in care veți fi redirecționați către wp-login.php dacă nu sunteți deja conectați.
Să presupunem că dorim să schimbăm adresa de autentificare a site-ului după cum urmează:
/wp-login.php cu /mysecretlogin/
și pornind de la premisa a ceea cunoaștem,
- adresă URL de autentificare implicită pentru wordpress=> /wp-login.php
- nou URL (secret) de autentificare => /mysecretlogin/
- refererul când accesăm pagina de administrare după autentificare => /mysecretlogin/
- parametrul când dorim să ne deconectăm => action=logout
- parametrul când am fost deconectati și redirecționati la pagina de autentificare => loggedout=true
- prefixul cookie-urilor în wordpress când suntem conectați => wordpress_logged_in_
mai jos este codul funcțional, testat pe versiunea HAProxy V2.1:
frontend http_front_ssl bind *:443 ssl crt /etc/ssl/robertvicol.com/robertvicol.pem mode http ... acl restricted_login path_beg,url_dec -i /wp-login.php acl secret_referer hdr_dir(referer) -i /mysecretlogin/ acl logged_out urlp(loggedout) true acl action_logout urlp(action) logout http-request silent-drop if restricted_login !secret_referer !action_logout !logged_out http-request redirect code 301 location / if logged_out acl restricted_admin path_beg,url_dec -i /wp-admin/ acl has_wp_logged_in hdr_sub(cookie) -i wordpress_logged_in_ http-request silent-drop if restricted_admin !has_wp_logged_in acl secret_login path_beg -i /mysecretlogin/ http-request set-path /wp-login.php if secret_login ... default_backend http_back
partea importantă o gasiti între puncte (…), restul configurației depinde de la server la server, fiecare are propriile sale setări.
Am ales opțiunea „drop-silent” pentru a respinge accesul, deoarece efectul este mai descurajant decât opțiunea „deny” care evidențiază intenția. Este mai bine ca acțiunea să pară o problemă de conexiune, decât un mesaj de blocare sau eroare!
În viitor voi reveni cu o variantă personală pentru haproxy.cfg , varianta ce o folosesc în HAProxy ca Load Balancer și Failover în combinație cu Varnish ca server de cache!
Notă:
Codul de mai sus nu protejează împotriva atacurilor DDoS, dar despre acest aspect voi reveni cu o altă ocazie.
“Happy Codding” dragi prieteni !
Be First to Comment