WordPress xml-rpc: защита от bruteforce

Начиная с версии WordPress 3.5, в любой установке по дефолту включен xml-rpc – весьма полезная штука, позволяющая в том числе использовать мобильные приложения для ведения сайта.

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

Но все же настал момент истины и купив новый телефон на Android, Штукенция сразу начала осваивать мобильный WordPress. Пришлось этот xml-rpc включать; сразу пошли атаки.. В итоге, самым простым решением было создание белого списка IP-адресов для доступа к файлу xmlrpc.php

Как это делается:

1) заходим по sFTP и редактируем святой файл .htaccess , добавляя директиву mod_authz_host

– для версии apache 2.2:

<Files xmlrpc.php>

order deny,allow

allow from <ваш IP-адрес>

deny from all

</Files>

– для версии Apache 2.4:

<Files xmlrpc.php>

Require ip <ваш IP-адресс>

</Files>

Свой IP адрес можно узнать спросив у гугла 🙂 В итоге, получится что-то вроде:

<Files xmlrpc.php>

Require ip 64.233.191.21

</Files>

3) добавляем подобный код в в любое место .htaccess , сохраняем и вуаля!

Теперь только с вашего IP можно получить доступ к xml-rpc. При желании, можно прописать еще и порт.

Буду рад вашим комментариям!