n-wp.ru — блог о WordPress
Брутфорс-атаки на WordPress через XML-RPC и способ борьбы с ними | n-wp.ru

Брутфорс-атаки на WordPress через XML-RPC и способ борьбы с ними

Несколько плагинов и кодов, запрещающих использование протокола XML-RPC в WordPress, которым пользуются злоумышленники для брутфорс-атак.

Разработчики WordPress в последних версиях упорно оставляют по-умолчанию активным протокол XML-RPC, причем, начиная с версии 3.5, такое поведение невозможно отключить. Я понимаю, для чего это им надо — таким образом они ангажируют использование мобильных приложений, активно использующих возможности этого протокола для постинга записей и комментариев с мобильных платформ. Конечно, это удобно, однако у XML-RPC есть и обратная — любые боты могут через файл xmlrpc.php проводить брутфорс-атаки, что и было незамедлительно применено ими.

В последнее время график обращений к файлу xmlrpc.php на разных сайтах, использующих WordPress, выглядит так:

Брутфорс-атаки на WordPress через XML-RPC и способ борьбы с ними

Видно лавинообразное увеличение обращений к этому файлу, которое на большинстве сайтов ничем не компенсируется. Обычно от брутфорс-атак защищают файл wp-login.php, например, с помощью популярного плагина Limit Login Attempts, пресекающего бесконечный перебор логинов и паролей. А вот про файл xmlrpc.php мало кто вспоминает, что в сочетании активным по-умолчанию протоколом XML-RPC дает взломщикам легкий способ получения доступа к сайту с помощью брутфорс-атаки.

Брутфорс-атаки на WordPress через XML-RPC и способ борьбы с ними

Я давно уже запретил в своих блогах использование XML-RPC, причем запретил полностью, вплоть до запрета обращения к файлу xmlrpc.php, о чем еще ни разу не пожалел.

Какие существуют способы защиты от брутфорс-атак на файл файл xmlrpc.php? Можно, а в большинстве случаев и нужно отключить протокол XML-RPC. Это можно сделать с помощью плагинов или вручную, внедрив коды в конфигурационные файлы.

Плагины

Полностью отключить использование этого протокола могут несколько плагинов:

  • WordPress XML-RPC Admin — плагин отключает протокол XML-RPC одним кликом.
  • Disable XML-RPC — просто отключает протокол при активации плагина.
  • Disable XML-RPC & Unset X-Pingback — вариант предыдущего плагина, не только запрещающего использование XML-RPC API, но и удаляет http-заголовок, передающий адрес файла xmlrpc.php.
  • Disable XML RPC Fully — плагин, аналогичный первым двум.
  • Disable XML-RPC Pingback — плагин, отключающий систему оповещений протокола XML-RPC.

Коды

Если вы не хотите использовать плагины, то запретить протокол XML-RPC можно вручную.

В файле .htaccess запретить прямой доступ к файлу xmlrpc.php:

Отключить протокол может настройка файла wp-config.php. После строчки

нужно вставить

Отключить систему уведомлений, передаваемый через XML-RPC можно, если добавить в файл functions.php используемой вами темы следующий код:

Надеюсь, что приведенные способы защиты от брутфорс-атак через XML-RPC сделают ваш сайт более защищенным.

tiaurus

Являюсь создателем n-wp.ru — блога о WordPress для новичков. Мне интересно многое, поэтому еще я сделал 123-box.ru — блог о программах для Windows, и tiaurus.info — блог о красоте.

1 комментарий

/* ]]> */