Antibot для админок


В связи с тем, что на серверы по всему миру начались крупные DDOS-атаки на сайты работающие на популярных движках типа WordPress, Joomla и DLE, а владельцы сайтов пренебрегают рекомендациями к настройкам безопасности от взлома и паразитной нагрузки – было принято решение по установке веб-авторизации на сайты работающие на этих движках.
Это простая веб-авторизация, которая укажет серверу что открывший эту страницу не робот, а человек. Необходимо просто ввести показанные Вам данные в виде логина – user и пароля – 1234. После этого Ваша админ-панель будет доступна.

Как это сделать? В данном случае есть два пути решения – это добавить глобальное правило на все сайты или для каждого сайта отдельно.

Но именно для WordPress, необходимо делать отдельные файлы, так как из-за внутренних реврайт-правил веб-авторизация WP глобальная – не будет работать.

1) Глобально делается так, – создаете в каталоге для apache конфигурационный файл /etc/httpd/conf.d/antibot.conf с текстом:

### WordPress
<FilesMatch  "wp-login.php">
AuthGroupFile /dev/null
AuthName "ANTIBOT!  LOGIN: user, PASSWORD: 1234"
AuthType Basic
AuthUserFile /etc/httpd/antibot.htpasswd
<limit GET POST>
   require valid-user
   </limit>
</FilesMatch>

### Joomla
#<Directory "administrator">
<Location /administrator/>
AuthName "ANTIBOT!  LOGIN: user, PASSWORD: 1234"
AuthType Basic
AuthUserFile /etc/httpd/antibot.htpasswd
require valid-user
</Location>

### DLE
<FilesMatch "admin.php">
AuthGroupFile /dev/null
AuthName "ANTIBOT!  LOGIN: user, PASSWORD: 1234"
AuthType Basic
AuthUserFile /etc/httpd/antibot.htpasswd
<limit GET POST>
  require valid-user
</limit>
</FilesMatch>

Как видите в сообщении мы написали логин и пароль простые, так как человек это наберет, а БОТ нет. И DDoS не получится.
После этого создаете файл с логином и паролем – /etc/httpd/antibot.htpasswd
в нем пишите:

user:vm78kYd8xI8/w

это авторизация по логину user и паролю 1234 – можно изменить на любую.

После перезагружаете apache и проверяете. На всех сайтах сервера использующих эти движки, запаролен вход в админ-панель.

2) Для сайтов WordPress или если Вы хотите всем сделать отдельные авторизации, то в корне сайтов создаете файл .htaccess (если он уже есть, то просто добавляете текст ниже всех записей). Текст такой же как и для глобального правила, только пути к файлам авторизации должны быть у каждого свои.
Этот путь для каждого сайта свой – AuthUserFile /etc/httpd/antibot.htpasswd

Например:
сайт site.ru WordPress расположен по пути /var/www/domains/data/site.ru
для паролирования его админ-панели, создаете файл –
/var/www/domains/data/site.ru/.htaccess (если его еще нет, если есть то добавляете эту запись)
добавляете текст в него:

### WordPress
<FilesMatch  "wp-login.php">
AuthGroupFile /dev/null
AuthName "ANTIBOT!  LOGIN: user, PASSWORD: 1234"
AuthType Basic
AuthUserFile /var/www/domains/data/site.ru/.htpasswd
<limit GET POST>
   require valid-user
   </limit>
</FilesMatch>

создаете файл с паролем /var/www/domains/data/site.ru/.htpasswd
и текстом:
user:vm78kYd8xI8/w

Все! Админ-панель по адресу site.ru/wp-admin защищена веб-авторизацией. Текст в окне веб-авторизации и логины и пароли можно делать разные. Для генерации пароля можно использовать онлайн генератор:

вводите логин и пароль и получаете строку для записи в .htpasswd.

Иногда требуется отключить Antibot для конкретного сайта, не отключая глобально. Делается это легко, добавлением файла .htaccess в каталог с админкой (например для joomla site.org/administrator/.htaccess) со следующим содержимым:

Allow from all
Satisfy Any

все, для сайта site.org Antibot будет отключен.

=============================================================

При копировании статьи, ссылка на источник обязательна!

Comments are closed.

Language
Страницы
Рекомендую