0
72
2017-02-10

Безопасность сайта и файл xmlrpc.php

Что делает xmlrpc.php? Нужен ли он Вам? Как отключить? Об этом и пойдет речь.
Понравилась страница? Поставь свою оценку!
PLUGIN_STAR_RATINGS.SCORE_TEXTPLUGIN_STAR_RATINGS.VOTES_TEXT

В header.php шаблоне большинства тем WordPress есть важный хук wp_head. Этот необходимый хук позволяет функциям WordPress выводить содержимое в браузер в области ваших веб-страниц.

Например, в новых версиях WordPress WordPress wp_head() позволяет выводить следующие три строки в вашу тему :

<link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://digwp.com/xmlrpc.php?rsd" />
<link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://digwp.com/wp-includes/wlwmanifest.xml" /> 
<link rel='index' title='Digging into WordPress' href='https://digwp.com/' />
<meta name="generator" content="WordPress 2.8" />

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

Что делает xmlrpc.php? Нужно ли мне это?

Хотя документация на XML-RPC WordPress довольно тонкая, мы можем собрать частичное представление о том, как xmlrpc.php работает, вчитываясь в код самого файла. Не волнуйтесь, мы не собираемся вас беспокоить этим, но достаточно сказать, что xmlrpc.php необходим для таких вещей, как:

  • Постиинг непосредственно в ваш блог с помощью TextMate, Flock и других клиентов
  • Постиинг непосредственно в ваш блог с помощью Eudora, Thunderbird и других приложений
  • Получение pingback и trackbacks на ваш сайт из других блогов

Не все используют возможности удаленной публикации, доступные в WordPress, но я думаю, что многие блоги определенно используют протокол XML-RPC для функций pingback и trackback.

Предоставляет ли файл xmlrpc.php угрозу безопасности?

Некоторые из вас могут вспомнить риск безопасности, связанный со xmlrpc.php сценарием, в хорошие дни WordPress 2.1.2, посредством чего:

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

Эта уязвимость была незамедлительно устранена в версии 2.1.3, но вскоре после этого (в версии 2.3.1) была обнаружена еще одна проблема безопасности, когда была обнаружена утечка информации о реализации XML-RPC .

Хотя это было исправлено в версии 2.3.2, проблемы безопасности, связанные с протоколом XML-RPC , в конечном итоге заставили разработчиков WordPress отключить удаленный доступ по умолчанию в версии 2.6 . xmlrpc.php Файл все еще включен в документ (предположительно ради Pingbacks и трекбеков), но функциональность удаленного доступа не функционирует, пока явно не включен.

Ознакомьтесь с этими связанными сообщениями для получения дополнительной информации о файле xmlrpc.php и безопасности сайта:

Советы по безопасности файла xmlrpc.php вашего сайта

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

Если вам функциональность xmlrpc.php не нужна, удалите его

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

Обновление. Если вы удалите (или переименуете) xmlrpc.php файл из своей установки WordPress, вы также должны реализовать функцию, описанную в следующем разделе, чтобы избежать лавины из 404 ошибок (см. Этот комментарий для дальнейшего объяснения).

Удалите ссылки на xmlrpc.php и wlwmanifest.xml

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

function removeHeadLinks() {
    remove_action('wp_head', 'rsd_link');
    remove_action('wp_head', 'wlwmanifest_link');
}
add_action('init', 'removeHeadLinks');

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

Отключить функциональность удаленной публикации

Если вы не публикуете удаленно, но вы все равно хотите получать pingback и trackbacks, возьмите совет WordPress и просто оставьте функциональность удаленного доступа отключенной по умолчанию. Этот шаг по-настоящему кажется огромным способом помочь скрыть безопасность вашего блога. Файл будет по-прежнему доступен на вашем сервере, но злоумышленники смогут сделать с ним гораздо меньше.

Предотвращение сканирования вредоносных файлов xmlrpc.php

Для тех из вас, кто мудро следит за доступом к вашему серверу и журналам ошибок, вы, вероятно, видели недавний всплеск объема xmlrpc.php сканирования вредоносного каталога. По какой-то причине плохие парни внезапно очень заинтересовались в xmlrpc.php файлах и просматривают каждый каталог, который они могут получить, боты, пытаясь найти их. В последнее время я видел тонны этого вида деятельности:

http://domain.tld/2009/xmlrpc.php
http://domain.tld/2009/06/xmlrpc.php
http://domain.tld/2009/06/01/xmlrpc.php
http://domain.tld/2009/06/01/permalink/xmlrpc.php
http://domain.tld/2009/06/02/permalink/xmlrpc.php
http://domain.tld/2009/06/03/permalink/xmlrpc.php

Независимо от того, находят ли злоумышленники свою цель или нет, такое поведение разрушает системные ресурсы, увеличивает пропускную способность свиней и препятствует работе вашего сайта на максимальной мощности. Таким образом, чтобы предотвратить вредоносное поведение вашего сайта, я разработал следующее решение .htaccess :

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

Оставьте файл xmlrpc.php, но запретите доступ к нему

И последнее, но не менее важное - это простой способ, позволяющий оставить файл на своем сервере, но запретить доступ к нему. Просто вставьте следующий код в свой корневой файл HTAccess и сделайте с ним:

<IfModule mod_alias.c>
    RedirectMatch 403 /(.*)/xmlrpc\.php$
</IfModule>
Статья была переведена для блога TechBlog.SDStudio.top
Источник: https://digwp.com