Skip to main content

Абмежаванне доступу да wp-login па ip ў nginx



У апошні час fail2ban перастаў нармальна абараняць ад брутфорсу на wordpress таму, што ip ва ўсякім запыце унікальны і блакаваць кожны адрас бессэнсоўна.

Раз такая глупства, вырашыў абмежаваць доступ да файла wp-login.php па ip. Тут ёсць адзін нюанс: для прапісанага ў канфігурацыйным файле nginx локейшена (location) трэба дадаць апрацоўшчык скрыптоў, пры выкарыстанні php-fpm .



У выніку, канструкцыя выглядае так:

  server {
 ...
 location ~ * wp-login \ .php $ {
 allow 127.0.0.1;
 deny all;
 try_files $ uri = 404;
 fastcgi_pass unix: /run/php-www.sock;
 include fastcgi_params;
 fastcgi_param SCRIPT_FILENAME $ document_root $ fastcgi_script_name;
 fastcgi_ignore_client_abort off;
 fastcgi_param PHP_VALUE "sendmail_path = / usr / sbin / sendmail -t -i -fmail@example.com";
 fastcgi_param PHP_ADMIN_VALUE "open_basedir = / var / www / example.com /: / var / save_path /: / var / tmp_dir /";
 }
 ...
 } 

Цяпер ботам выдаецца памылка 403 замест старонкі аўтарызацыі. Толькі гэты метад не занадта універсальны - калі на сайце ёсць рэгістрацыя карыстальнікаў, прымяніць яго не атрымаецца.

Але калі вы - адзіны карыстальнік, то можна падключыць фантазію, і замест доступу па ip зрабіць доступ па user-agent, па паролі ...




Як вы ацэніце артыкул?
Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (Пакуль адзнак няма)
Загрузка ...

Дадаць каментар

Ваш e-mail не будзе апублікаваны.