X

Защита WordPress от ботнет-атак методом брутфорса

Как многие заметили, в апреле этого года в течение нескольких дней в Сети наблюдалась интенсивная Brute Force атака, направленная на подбор паролей для аккаунтов сайтов на базе свободного движка WordPress. Атака носила массовый характер и организована с использованием крупного ботнета. Такая же ситуация повторилась недавно в начале августа.

Как работает ботнет

Попавшие под действие атаки сайты подвергаются проверке входа под логином «admin» через страницы /wp-login.php и /wp-admin с использованием примерно тысячи наиболее популярных паролей. В случае, если подбор пароля оказался успешен, в движок WordPress внедряется бэкдор, который подсоединяет взломанный сайт в состав ботнета и позволяет сохранить контроль даже после смены пароля. Поражённый хост начинает участвовать в Brute Force атаке для выявления других жертв, но также может принимать команды и выполнять другие действия, типичные для ботнетов, такие как совершение DDoS-атак. Размер ботнета из WordPress-серверов в апреле оценивался в более чем 90 тысяч хостов.

Отмечается, что ботнет из серверов значительно более опасен в плане совершения DDoS-атак, чем ботнет из пользовательских машин, так как серверные системы имеют доступ к более широким каналам связи (стомегабитный порт для сервера в крупном датацентре уже в порядке вещей) и более болезненны при блокировке (на одном IP могут находиться сотни сайтов). При этом даже не связанный с DDoS-атакой трафик, генерируемый в процессе наблюдаемого подбора паролей, негативно повлиял на деятельность некоторых хостинг-компаний, так как он существенно искажает типичную для хостинг-операторов ориентацию на преобладание исходящего трафика.

Тем не менее, некоторые эксперты отвергают сведения об участии взломанных серверов в Brute Force атаке, считая, что целью их взлома является распространение вредоносного ПО для поражения клиентских систем путем подстановки на страницы поражённых сайтов кода для эксплуатации уязвимостей в браузерах и популярных плагинах к ним.

Защита

Всем администраторам блогов на базе движка WordPress рекомендуется убедиться в использовании надёжного несловарного пароля для своих аккаунтов. Кроме того, для блокирования атаки советуют не использовать для администратора логин admin (доступно в только в WP3), защитить доступ к скрипту wp-login.php через дополнительную Basic-аутентификацию на уровне http-сервера или разрешить вход только с определённых IP. Для ещё более серьёзной защиты можно использовать дополнения с реализацией двухуровневой аутентификации с одноразовыми паролями. Владельцам уже взломанных сайтов рекомендуется переустановить с нуля WordPress, обновить секретные ключи и поменять все пароли.

Первый шаг защиты от DDOS атаки брутфорсом — защитить файл wp-login.php.

  1. Создайте пустой файл .wpadmin в корневой директории вашего хостинга или .htpasswd в корневой директории сайта.  Для cPanel это путь /home/имя_пользователя/public_html/.wpadmin или /home/имя_пользователя/public_html/адрес_сайта/.htpasswd. В зависимости от того, где вы его разместите, файл будет применяться или к одному сайту или ко всем WP сайтам на хостинге. Все домены на хостинг аккаунте делят общий файл .wpadmin.
  2. Сгенерируйте содержимое парольного файла при помощи сайта http://www.htaccesstools.com/htpasswd-generator/ или http://seriyps.ru/crypt/htpasswd/, указав желаемый логин и пароль. Вы получите комбинацию вида username:encryptedpassword
  3. Сохраните полученное содержимое в ваш парольный файл. Если у вас есть SSH доступ к серверу, то вы можете создать и записать содержимое в файл одной командной: htpasswd -c /home/username/.wpadmin username. Консоль попросит у вас ввести желаемый пароль для указанного имени пользователя. Ключ -c указывает на создание файла.
  4. Обновите файл .htaccess следующими строками:

    ErrorDocument 401 default 
    AuthName "Access Denied" 
    AuthType Basic 
    AuthUserFile /home/имя_пользователя/public_html/адрес_сайта/.htpasswd 
    require valid-user
[Посещений: 124, из них сегодня: 1]
Категории: Сети и серверы