Примерно с 2 августа 2016 года на сайты, построенные на движках WordPress, наблюдается массовая атака. Атака идет через подбор паролей к админкам сайтов с помощью брутфорса (полного перебора паролей).
Большое обсуждение идет на ХабраХабр, на форуме Searchengines.
На сайте WordPress есть рекомендованная стратегия защит: codex.wordpress.org/Brute_Force_Attacks
На сегодняшний день у нас в «Бюро ИТ» больше 60 сайтов на wordpress. Нет ни одного сайта, который бы не подвергся атакам.
Чем это вам грозит?
Из того, с чем столкнулись мы:
Повышенная нагрузка на сервер
Взлом сайта и заражение его вирусами, рассылающими спам и участвующими во взломе других сайтов, размещение на страницах вашего сайта ссылок на другие сайты, порча контента на вашем сайте
Блокировка сервера вашим провайдером из-за повышенной нагрузки или наличия вредоносного кода
Перерасход места на сервере из-за огромного размера логов об ошибках
Простые способы защититься:
- Самое главное – это установить стойкий пароль. Правила обычные, ни каких 1234567890 и т.д. Нужен длинный пароль от 8 до 12 символов, с заглавными буквами, цифрами, спецсимволами.
- Удалить пользователя admin. Его чаще всего подбирают.
- Установить и настроить плагин защиты, например, iThemes Security (ссылка).
- С помощью плагина Sucuri Security (ссылка) проверьте свой сайт на предмет уже наличия взлома и вирусов. Если обнаружили, то срочно «в больничку».
Рекомендации от WordPress:
- Не используйте пользователя admin
- Сделайте сложный пароль
- Используйте плагины, ограничивающие число попыток авторизации, и плагины , которые позволяют настроить двухфакторную авторизацию, капчу, беспарольную авторизацию и т.д., например, плагин loginizer (ссылка)
- Защитите сервер
- Защитить страницу авторизации паролем. (Это такой пароль сверху, еще до входа на страницу авторизации), чтобы сделать это, вам нужно добавить .htpasswds файл
- Настроить ограничения к странице авторизации по ip. Например, можно разрешить только себе входить в админку (конечно, если у вас выделенный ip)
Более сложные способы защиты:
Здесь понадобятся специальные знания.
Много полезного можно подчеркнуть из обсуждений на Хабре и Searchengines.
Например вот так:
## Block user agents
location ~ ^/(wp-login\.php) {
set $block_user_agents 0;
if ($http_user_agent ~ «Gecko/20100101 Firefox/1») {
set $block_user_agents 1;
}
if ($block_user_agents = 1) {
return 403;
}
proxy_pass http://159.253.23.246:8080;
proxy_redirect http://ipod-touch-max.ru:8080/ /;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Real-IP $remote_addr;}
## Block user agents
или так:
# BEGIN WordPress
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ — [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress# anti wp password bruteforce attack
RewriteCond %{REQUEST_URI} wp-login.php|wp-admin
RewriteCond %{HTTP_USER_AGENT} !^Opera/[0-9.]+
RewriteRule . — [R=404,L]
# end anti wp password bruteforce
php_value upload_max_filesize 4M
Обсудите это на фейсбук.
Можете задать вопрос или написать о своем опыте.