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 не буде опублікований.