Как защитить WordPress XMLRPC?

XMLRPC отлично подходит для удаленной публикации в WordPress, но с этим связано множество проблем безопасности. Как сделать его более безопасным? Более конкретно, только пользователь из интрасети будет публиковать через XMLRPC. В настоящее время WP работает на Lighttpd и php5.3.

XMLRPC столь же безопасен, как и остальная часть WordPress. Все запросы должны быть аутентифицированы с учетными данными имени пользователя и пароля, которые уже существуют на вашем сайте. Это означает, что если у кого-то есть логин для вашего сайта, они могут использовать интерфейс XMLRPC (если он включен). Но анонимные пользователи не могут войти.

Единственной потенциальной уязвимостью безопасности, с которой вы можете столкнуться в XMLRPC, является вероятность того, что человек находится в средней атаке . Но вы сталкиваетесь с таким же риском с обычным администратором WordPress, поэтому он не уникален для XMLRPC.

Лучший способ предотвратить такую ​​проблему – включить защиту SSL на вашем сайте. Вам понадобится сертификат SSL, а затем вам нужно получить доступ к конечной точке XMLRPC через https:// а не http:// . Это зашифрует ваши запросы и не позволит кому-либо перехватить их и украсть ваши учетные данные.

Вы также должны включить SSL-безопасность при входе в систему для своего обычного сайта, так как она тоже сталкивается с теми же рисками.

Я предлагаю следующий код для добавления в файл .htaccess

 <FilesMatch "^(xmlrpc\.php)"> Order Deny,Allow # IP address Whitelist Allow from xxx.xxx.xxx.xxx Deny from all </FilesMatch> 

Плагин Secure XML-RPC, похоже, решает проблему отправки конфиденциальной информации по проводу.

Описание плагина:

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

Чтобы ограничить доступ к xmlrpc.php только требуемому ему диапазону IP (например, Jetpack), вы можете сделать что-то вроде этого.

 <files xmlrpc.php=""> Order Deny,Allow Deny from all Allow from 192.0.64.0/18 Satisfy All ErrorDocument 403 http://127.0.0.1/ </files> 

Обеспечение безопасности xmlrpc.php, как правило, обсуждается в Интернете, но атака может означать атаку DoS. Наверное, стоит обсудить, чтобы убедиться, что больше людей может предотвратить атаку, на мой взгляд.