Xmlrpc php что за файл
Протокол «XML-RPC» был разработан для стандартизации взаимодействия между различными системами, что означает, что приложения вне WordPress (например, другие платформы для ведения блогов и клиенты) могут взаимодействовать с ядром вашего WordPress сайта.
WordPress использует «XML-RPC» с момента его создания и он проделал очень полезную работу. Без него WordPress был бы изолирован от остального Интернета.
Однако у xmlrpc.php есть свои недостатки. Он способен открыть уязвимости вашего сайта WordPress, и теперь его заменил WordPress REST API, который намного лучше работает как связь между WordPress и другими приложениями.
В этом посте мы объясним, что такое xmlrpc.php в WordPress, почему желательно бы его отключить, и поможем определить, работает ли он на вашем сайте.
Содержание
Что такое xmlrpc.php в WordPress?
XML-RPC появился гораздо раньше чем сам WordPress: он присутствовал в программном обеспечении для ведения блогов «b2», одна из ветвей которого использовалась для создания WordPress в уже далёком 2003 году. Частично, код ПО «b2» хранится в файле с именем xmlrpc.php в корневом каталоге сайта. Да, он все еще существует, хотя «XML-RPC» в значительной степени устарел.
В ранних версиях WordPress «XML-RPC» был отключен по умолчанию. Но начиная с версии 3.5 он вернулся. ? Сделано это было для того, чтобы мобильное приложение WordPress (iOS и Android) могло взаимодействовать с вашим WordPress сайтом.
Если вы использовали мобильное приложение до версии 3.5, вы, возможно, помните, что вам нужно было отдельно включить «XML-RPC» на сайте, чтобы приложение могло публиковать контент. Это произошло потому, что в приложении не взаимодействовало напрямую с WordPress, а существовало отдельное ПО, связывающееся с вашим сайтом с помощью xmlrpc.php .
Стоит уточнить, что «XML-RPC» взаимодействовал не только с приложением, он также использовался для обеспечения связи между WordPress и другими платформами для ведения блогов, он подключал, так называемые «Pingbacks» (обратные ссылки), а также работал с плагином Jetpack.
Опираясь на то, что «REST API» заменил «XML-RPC», вам следует отключить xmlrpc.php на своем WordPress сайте. Давайте разбираться почему это нужно сделать.
Что такое Xmlrpc.php?
Например, скажем вы хотите сделать публикацию на своём сайте с вашего мобильного телефона. Вам нужно использовать удалённый доступ предоставляемый xmlrpc.php.
Главным функционалом xmlrpc.php являются возможность подключаться к сайту со смартфона, реализация трекбеков и линкбеков с других сайтов и некоторые функции, связанные с плагином Jetpack.
Распространённые уязвимости в XML-RPC
Проблема заключается не в самом XML-RPC, а в том, как файл может быть использован для атаки по подбору пароля на ваш сайт.
WordPress, в котором включён xmlrpc.php для ping-back, трекбэка и т. д., может использоваться злоумышленниками как часть огромного ботнета, вызывающего серьёзные DDoS-атаки.
1. DDoS-атаки через пингбеки XML-RPC
Одной из функций, реализованных в xmlrpc.php , были пингбеки и трекбэки. Это уведомления, которые появляются в комментариях на вашем сайте, когда другой блог или сайт ссылается на ваш контент.
Эта связь стала возможной благодаря протоколу «XML-RPC», но ее заменил «REST API» (как вы уже усвоили).
Если на вашем сайте включен «XML-RPC», злоумышленних потенциально может организовать DDoS-атаку на сайт, используя xmlrpc.php для отправки большого количества пингбеков на ваш сайт за короткое время. Это может перегрузить ваш сервер и вывести его из строя.
Метод 1: отключение Xmlrpc.php при помощи плагина
Отключить XML-RPC на вашем сайте WordPress невероятно просто.
Перейдите в раздел Плагины › Добавить новый в вашей админ консоли WordPress. Найдите плагин Disable XML-RPC и установите его, он выглядит как на картинке ниже:
Активируйте плагин и всё готово. Этот плагин автоматически вставит необходимый код для отключения XML-RPC.
Однако помните, что установленные плагины могут использовать части XML-RPC, и тогда его отключение может вызвать конфликт плагинов или отдельных их частей и вывод их из рабочего режима.
Если вы хотите только отключить отдельные элементы XML-RPC, но позволить другим плагинам и функциям работать, тогда обратитесь к таким плагинам:
-
. Этот плагин остановить все XML-RPC атаки, но он позволить продолжить работу таких плагинов как Jetpack и другие автоматические инструменты и плагины, предоставляя им доступ к файлам xmlrpc.php. . Это позволяет вам сохранить контроль и использовать удалённо публикации.
Этичный хакинг и тестирование на проникновение, информационная безопасность
Проверьте, включён ли xmlrpc.php
Заключительные мысли
В целом, XML-RPC был добротным решением некоторых проблем, которые возникали из-за удаленной публикации на вашем сайте WordPress. Однако вместе с тем появились некоторые дыры в безопасности, которые оказались довольно опасными для некоторых владельцев сайтов на WordPress.
Чтобы ваш сайт оставался в безопасности, рекомендуется полностью отключить xmlrpc.php, если вам не нужны некоторые функции, необходимые для удаленной публикации и плагина Jetpack. Затем вы можете использовать обходные плагины, которые позволяют использовать эти функции, при этом исправляя дыры в безопасности.
Со временем мы можем ожидать, что функции XML-RPC станут интегрированными в новый WordPress API, который будет поддерживать удаленный доступ, не жертвуя безопасностью.
Вы заблокировали доступ к XML-RPC через плагин или вручную? Или возникли какие-либо проблемы с безопасностью из-за того, что он был прежде активным? Поделитесь своим опытом в комментариях ниже.
Елена имеет профессиональное техническое образование в области информационных технологий и опыт программирования на разных языках под разные платформы и системы. Более 10 лет посвятила сфере веб, работая с разными CMS, такими как: Drupal, Joomla, Magento и конечно же наиболее популярной в наши дни системой управления контентом – WordPress. Её статьи всегда технически выверены и точны, будь то обзор для WordPress или инструкции по настройке вашего VPS сервера.
В header.php шаблоне большинства тем WordPress есть важный хук wp_head. Этот необходимый хук позволяет функциям WordPress выводить содержимое в браузер в области ваших веб-страниц.
Например, в новых версиях WordPress WordPress wp_head() позволяет выводить следующие три строки в вашу тему :
Как вы можете видеть, добавлено множество материалов, включая ссылки на каналы, ссылки XML-RPC и WLW и несколько других элементов. Хотя есть много обсуждений со всеми этими включениями, здесь мы имеем дело прежде всего с ссылкой на xmlrpc.php файл. WordPress включает эту ссылку для интерфейса XML-RPC , который позволяет удаленным приложениям общаться и взаимодействовать с WordPress.
Зачем был создан Xmlrpc.php и как он использовался?
Реализация XML-RPC уходит далеко в ранние дни WordPress и даже до того, как WordPress стал WordPress-ом.
Возвращаясь в те времена, когда интернет только недавно появился, соединения были очень медленными и процесс записи и публикации в вебе был намного сложнее и времязатратнее. Вместо внесения изменений сразу через браузер, большинство делали их в офлайне и потом копировали и вставляли свой контент уже онлайн. И этот процесс был далёк от идеала.
Решением (на тот момент) было создание клиента для офлайн блоггинга, где вы могли составлять свой контент, затем подключаться к своему блогу и публиковать его. Это подключение осуществлялось через XML-RPC. С основным функционалом XML-RPC ранние приложения используя подобные подключения предоставляли людям возможность заходить на их сайты WordPress с других устройств.
Плагины WordPress для управления XML-RPC
Здесь стоит упомянуть, что такие плагины, как плагин Remove XML-RPC Pingback Ping, позволяют отключать только функцию pingback вашего сайта — если это именно то, что вам нужно, то вы можете воспользоваться им и вам не нужно полностью отключать XML-RPC.
Ещё один плагин, который может вам помочь: Manage XML-RPC.
Поскольку многие популярные приложения и плагины используют XML-RPC для выполнения некоторых собственных функций. В этом случае вы можете рассмотреть возможность включения только некоторых частей XML-RPC, которые вам нужны для правильного запуска ваших плагинов.
Свойства XML-RPC
С новым интерфейсом программирования приложений (API) WordPress мы можем ожидать, что XML-RPC будет уже отключён полностью. Сегодня этот новый API всё ещё на этапе испытаний и может быть включён только через специальный плагин.
Хотя вы можете ожидать, что API будет включён непосредственно в ядро WordPress в будущем, что полностью исключит необходимость использования xmlrpc.php.
Новый API не идеален, но он обеспечивает хорошую надёжную защиту, в отличие от xmlrpc.php.
В каких случаях стоит оставить xmlrpc.php?
В некоторых случаях xmlrpc.php может быть полезен и его не следует полностью отключать.
- Вы не используете «REST API», но вам необходимо обмениваться данными между вашим WordPress сайтом и другими системами.
- Нет возможности обновить ядро WordPress до версии 4.4 или выше.
- Вы работаете с внешним приложением, которое не могут получить доступ к WordPrss «REST API», но хорошо работают с «XML-RPC».
Это всё! Если ни одна из этих причин не является особенно веской для вас – смело отключайте.
Единственная причина, по которой этот файл все еще находится в WordPress – это обратная совместимость. Для всех, кто хочет поддерживать свои сайты в актуальном состоянии и работает с новейшими технологиями, отключение xmlrpc.php – лучший вариант.
XML-RPC когда-то был важной частью WordPress, но теперь протокол угрожает безопасности вашего WordPress сайта ?
Зачем отключать Xmlrpc.php
Самой большой проблемой, связанной с XML-RPC, является безопасность. Проблема не напрямую связана с XML-RPC, но его можно использовать для включения атаки на ваш сайт.
Конечно вы можете защититься очень надёжный паролем и плагинами WordPress, обеспечивающими безопасность. Но лучшим режимом защиты будет просто его отключить.
Есть два основных слабых места XML-RPC, которые использовали в прошлом.
Первое – использует атаку путём прямого подбора пароля (brute force attacks) для получения доступа к вашему сайту. Атакующий попытается получить доступ к вашему сайту, используя xmlrpc.php подбирая различные комбинации имён пользователей и паролей. Они могут эффективно использовать одну команду для тестирования сотен различных паролей. Это позволяет им обходить инструменты безопасности, которые обычно обнаруживают и блокируют атаки прямого подбора.
Второе – перевод сайта в офлайн путём DDoS атаки. Хакеры будут использовать обратное уведомление в WordPress для отправки его тысячам сайтов одновременно. Этот функционал xmlrpc.php даёт хакерам почти бесконечное количество IP-адресов для распространения атаки DDoS.
Что делает xmlrpc.php? Нужно ли мне это?
Хотя документация на XML-RPC WordPress довольно тонкая, мы можем собрать частичное представление о том, как xmlrpc.php работает, вчитываясь в код самого файла. Не волнуйтесь, мы не собираемся вас беспокоить этим, но достаточно сказать, что xmlrpc.php необходим для таких вещей, как:
- Постиинг непосредственно в ваш блог с помощью TextMate, Flock и других клиентов
- Постиинг непосредственно в ваш блог с помощью Eudora, Thunderbird и других приложений
- Получение pingback и trackbacks на ваш сайт из других блогов
Не все используют возможности удаленной публикации, доступные в WordPress, но я думаю, что многие блоги определенно используют протокол XML-RPC для функций pingback и trackback.
Советы по безопасности файла xmlrpc.php вашего сайта
Несмотря на то что, в прошлом были проблемы с безопасностью, xmlrpc.php и в будущем, возможно, возникнут новые проблемы. Чтобы быть в безопасности, вот несколько разных стратегий и советов, которые помогут обеспечить максимальную безопасность вашего блога.
Если вам функциональность xmlrpc.php не нужна, удалите его
Возможно, самым безопасным способом устранения потенциальных уязвимостей безопасности является просто удаление рассматриваемого сценария. Если вам не нужна дистанционная проводка, pingback или trackbacks, может быть проще всего просто удалить xmlrpc.php файл с вашего сервера. Вместо того, чтобы удалять его, вы можете просто переименовать его в нечто неописуемое. В любом случае, если скрипт недоступен для злоумышленника, это затрудняет его использование.
Обновление. Если вы удалите (или переименуете) xmlrpc.php файл из своей установки WordPress, вы также должны реализовать функцию, описанную в следующем разделе, чтобы избежать лавины из 404 ошибок (см. Этот комментарий для дальнейшего объяснения).
Удалите ссылки на xmlrpc.php и wlwmanifest.xml
В качестве альтернативы, если вам не нужны какие-либо функции удаленного доступа или pingback, вы можете просто удалить связанные заголовки ссылок, а не удалять любые основные файлы с вашего сервера. Это легко осуществить с помощью следующей функции, помещенной в файл активной темы functions.php:
Это предотвратит привязку этих двух файлов в заголовке, но сами файлы останутся доступными на вашем сервере. Определенно убедитесь, что по умолчанию отключена удаленная публикация, если вы реализуете этот метод.
Отключить функциональность удаленной публикации
Если вы не публикуете удаленно, но вы все равно хотите получать pingback и trackbacks, возьмите совет WordPress и просто оставьте функциональность удаленного доступа отключенной по умолчанию. Этот шаг по-настоящему кажется огромным способом помочь скрыть безопасность вашего блога. Файл будет по-прежнему доступен на вашем сервере, но злоумышленники смогут сделать с ним гораздо меньше.
Предотвращение сканирования вредоносных файлов xmlrpc.php
Для тех из вас, кто мудро следит за доступом к вашему серверу и журналам ошибок, вы, вероятно, видели недавний всплеск объема xmlrpc.php сканирования вредоносного каталога. По какой-то причине плохие парни внезапно очень заинтересовались в xmlrpc.php файлах и просматривают каждый каталог, который они могут получить, боты, пытаясь найти их. В последнее время я видел тонны этого вида деятельности:
Независимо от того, находят ли злоумышленники свою цель или нет, такое поведение разрушает системные ресурсы, увеличивает пропускную способность свиней и препятствует работе вашего сайта на максимальной мощности. Таким образом, чтобы предотвратить вредоносное поведение вашего сайта, я разработал следующее решение .htaccess :
Когда он помещается в файл .htaccess для доступа к веб-сайту для вашего сайта, эта простая директива перенаправляет все запросы на xmlrpc.php файл вашего блога в фактический файл. Я использую этот метод уже несколько недель на скоропортящейся прессе и из-за этого устранил тысячи неверно направленных запросов.
Оставьте файл xmlrpc.php, но запретите доступ к нему
И последнее, но не менее важное – это простой способ, позволяющий оставить файл на своем сервере, но запретить доступ к нему. Просто вставьте следующий код в свой корневой файл HTAccess и сделайте с ним:
Я был в шоке, как им это удается?
Но, так как у меня на WordPress установлен плагин «WordPress Firewall 2», мне пришло на почту уведомление о том, что были две атаки на файл «xmlrpc.php» .
Заметьте, IP адреса совершенно одинаковы как в первом скриншоте, так и во втором. Значит, взломщик не использовал для взлома прямой адрес для входа в админ, он это делал через «xmlrpc.php» (мои догадки и они могут быть спорными).
Почитал в интернете о файле «xmlrpc.php» и оказалось действительно, что это файл является дверью для взломщика, которая плохо защищенная. Именно большинство атак происходит благодаря этой лазейке, которая по умолчанию включена на всех сайтах WordPress. Вот те на! Называется, защитил свой блог. Это все равно, что позакрывал все окна и двери от вора на замки, но черный вход оставил открытым!
Нужен ли файл «xmlrpc.php»?
Прочитав некоторую информацию, я понял, что файл «xmlrpc.php» не такой уж и важен для WordPress. Просто с его помощью можно управлять блогом через различные приложения. Не знаю как вы, но я этой возможностью не пользуюсь, значит, зачем мне этот файл нужен, тем более, если он еще такой уязвимый. Будем отключать файл «xmlrpc.php» !
Чтобы отключить файл «xmlrpc.php» , для самых ленивых рекомендуют использовать плагин «Disable XML-RPC». А поскольку мы не такие, то все сделаем сами, тем более это не сложно.
Зайдите в файл функции темы «functions.php» и в самом конце файла перед знаком « ?> » вставьте вот этот код:
Зайдите в файл «header.php» и найдите вот такую строчку:
В файле «.htaccess» в самом конце вставьте вот такой код:
Этим кодом мы всем запретим доступ к файлу «xmlrpc.php» .
Я думаю, этого достаточно!
С сегодняшнего дня я буду тестировать результат в течение месяца. Если за этот период не появится новая статья о том, что снова кто-то лезет в админку, значит задача решена и можно на некоторое время расслабиться .
На сегодня все! Надеюсь, что статья была вам полезна, так как защита блога – это всегда важно и актуально.
Интересно, какие еще загадки и сюрпризы таит в себе мой любимый движок WordPress?
Подведем итог
Протокол «XML-RPC» был разработан еще до создания WordPress как средство взаимодействия WordPress с внешними системами и приложениями. Ему присущи недостатки в плане безопасности, и он может сделать ваш сайт уязвимым для атак.
Начиная с версии 4.4 в WordPress ядро была интегрирована поддержка «REST API», что делает «XML-RPC» абсолютно не нужным. Если вы выполните описанные выше действия, отключив эту функцию, вы повысите безопасность своего сайта.
Если у вас есть вопросы – спрашивайте в комментариях и мы обязательно вам ответим.
Предоставляет ли файл xmlrpc.php угрозу безопасности?
Некоторые из вас могут вспомнить риск безопасности, связанный со xmlrpc.php сценарием, в хорошие дни WordPress 2.1.2, посредством чего:
Эта уязвимость была незамедлительно устранена в версии 2.1.3, но вскоре после этого (в версии 2.3.1) была обнаружена еще одна проблема безопасности, когда была обнаружена утечка информации о реализации XML-RPC .
Хотя это было исправлено в версии 2.3.2, проблемы безопасности, связанные с протоколом XML-RPC , в конечном итоге заставили разработчиков WordPress отключить удаленный доступ по умолчанию в версии 2.6 . xmlrpc.php Файл все еще включен в документ (предположительно ради Pingbacks и трекбеков), но функциональность удаленного доступа не функционирует, пока явно не включен.
Как отключить xmlrpc.php на своём WordPress сайте?
Допустим вы отправили сайт на проверку, как написано выше и получили вот такой результат:
Проверка успешна, xmlrpc.php активен
Ну что же, протокол активен, давайте отключать.
Самым простым способом будет установка и активация плагина Disable XML-RPC, не смущайтесь что плагин не обновлялся больше года. Обновлять там нечего, так как он содержит всего одну строчку кода:
Именно этот фильтр и отключает протокол «XML-RPC» на WordPress сайте. А если всё же не хочется использовать плагины, то достаточно вставить вышеупомянутый фильтр в файл functions.php вашей темы (желательно дочерней).
В качестве альтернативы можно отключить протокол через .htacess файл, добавив следующее условие:
XML-RPC сегодня
В 2008 году с версией 2.6 WordPress, появилась опция включения и выключения XML-RPC. Однако с релизом WordPress приложения для iPhone, поддержка XML-RPC была включена по умолчанию и не было возможности для отключения. Так осталось и поныне.
Конечно функциональность, предоставляемая этим файлом значительно уменьшилась со временем, и размер файла уменьшился с 83kb до 3kb, он уже не играет такой роли, как прежде.
Работает ли xmlrpc.php на вашем WordPress сайте?
Первое, что вам нужно сделать, это определить, активен ли xmlrpc.php на вашем сайте WordPress.
Это непросто проверки наличия файла. Файл является частью каждой установки WordPress и будет присутствовать, даже если «XML-RPC» отключен.
Всегда делайте резервную копию своего сайта, прежде чем что-либо удалять. В нашем случае не удаляйте просто файл xmlrpc.php, потому что он сломает ваш сайт.
Чтобы проверить, активен ли xmlrpc.php на вашем WordPress сайте, используйте сервис проверки. Этот сервис автоматически проверит ваш сайт и сообщит, активен ли протокол или нет.
Проверяем используется ли xmlrpc.php в WordPress сайте
Итак, если вы запустите проверку и увидите, что xmlrpc.php все еще используется на вашем сайте, как вам его отключить?
Метод 2: отключение Xmlrpc.php вручную
Если вы не хотите использовать плагин и предпочитаете делать это вручную, следуйте этому подходу. Он остановит все входящие запросы xmlrpc.php до того, как он будет передан в WordPress.
Откройте файл .htaccess. Возможно, вам придется включить ‘показать скрытые файлы’ в файловом менеджере или FTP-клиенте, чтобы найти этот файл.
Вставьте этот код в файл .htaccess:
Влияние
Это можно автоматизировать с нескольких хостов и использовать для массовых DDoS-атак на жертву.
Этот метод также используется для атак брут-форса паролей с целью кражи учётных данных администратора и других важных учётных данных.
2. Brute Force атаки через XML-RPC
Каждый раз, когда xmlrpc.php делает запрос, он отправляет имя пользователя и пароль для аутентификации. Это представляет собой серьезную угрозу безопасности а вот «REST API» этого не делает. Фактически, «REST API» использует метод «OAuth», который отправляет токены для аутентификации вместо имен пользователей или паролей.
Поскольку xmlrpc.php отправляет информацию аутентификации с каждым запросом, злоумышленники могут использовать ее, чтобы попытаться получить доступ к сайту. Подобная атака может позволить им вставить контент, удалить код или повредить базу данных.
Если злоумышленник отправляет на ваш сайт большое количество запросов, в каждом из которых содержится пара с именем пользователя и паролем, то есть вероятность, что в конечном итоге он ударит по правильному, получит доступ к сайту.
Вот почему, если вы используете последнюю версию WordPress, которая использует «REST API» для связи с внешними системами, вам следует отключить xmlrpc.php . В нём нет необходимости, а он может сделать ваш сайт уязвимым. ☠️
Отключение WordPress XML-RPC в .htaccess
Вы можете отключить XML-RPC с помощью файла .htaccess или плагина. .htaccess — это файл конфигурации, который вы можете создавать и изменять.
Просто вставьте следующий код в свой файл .htaccess, находящийся в корне вашего сайта WordPress:
Это должно отключит XML-RPC на вашем сайте WordPress.
Как отключить WordPress XML-RPC
Есть несколько способов отключить файл xmlrpc.php: как просто заблокировав к нему доступ (даже не потребуется установка плагинов), так и с помощью плагинов WordPress.
Что такое XML-RPC?
Чертовски полезно, если подумать. Но это происходит за счёт рисков для безопасности. К примеру, Xmlrpc brute — инструмент брутфорса WordPress методом xmlrpc.
Cross Site Port Attack(XSPA) или Подделка запросов на стороне сервера (Server Side Request Forgery(SSRF))
- Откройте свой прокси (я использую Burp Suite) и отправьте запрос, который мы сделали ранее, на вкладку репитера, чтобы мы могли управлять им.
- Теперь мы отправляем запрос POST и перечисляем все доступные методы. Почему? Потому что именно так мы узнаем, какие действия можно совершить, и потенциально использовать одно из них для атаки.
- Сделайте запрос POST к файлу xmlrpc.php со следующими данными POST (как показано на следующем изображении)
- Вы получите ответ со списком всех доступных методов.
Получен успешный ответ со списком всех доступных методов.
Если вам удалось найти строку pingback.ping в списке методов, тогда файл xmlrpc.php потенциально может быть использован для того, чтобы вызвать DDoS-атаку против хоста жертвы.
Это достигается следующим образом:
Для той же цели можно использовать простой webhook.site.
- Теперь просто отправьте запрос POST со следующими данными XML (как показано на изображении).
Здесь нужно заполнить 2 вещи:
(i) IP адрес вашего сервера
(ii) Ссылка на какой-нибудь действительный пост с сайта WordPress, который используется для обратного отклика.
Как только вышеупомянутый запрос отправлен, хост-жертва (115.97.xxx.67tunneling через ngrok) получает запись в своём файле журнала с запросом, исходящим из домена WordPress, подтверждающим ответный пинг. Что видно на скриншоте выше.
Связанные статьи:
факультете информационной безопасности от GeekBrains? Комплексная годовая программа практического обучения с охватом всех основных тем, а также с дополнительными курсами в подарок. По итогам обучения выдаётся свидетельство установленного образца и сертификат. По этой ссылке специальная скидка на любые факультеты и курсы!
В WordPress всегда был встроенный инструмент для удалённого обращения к вашему сайту. Действительно, иногда нужно добраться до своего сайта, а компьютер далеко от вас. Длительное время решением был файл под названием xmlrpc.php. Однако последние годы этот файл стал большей проблемой, чем решением.
Почему рекомендуется отключить xmlrpc.php?
Основная причина, по которой вы должны отключить xmlrpc.php на своем WordPress сайте, заключается в том, что он может открыть уязвимости и стать целью атак.
Теперь, когда «XML-RPC» больше не нужен для связи вашего сайта со сторонними ПО, нет причин держать протокол открытым. Было бы разумно сделать ваш сайт более безопасным, не так ли?
Если xmlrpc.php уязвим и больше не нужен, почему он не был полностью исключен из WordPress? ?
Хороший вопрос да?
Причина этого в том, что одной из ключевых особенностей WordPress всегда будет обратная совместимость. Если вы грамотно управляете своим сайтом, то вы знаете, что крайне важно поддерживать ядро WordPress в актуальном состоянии, а также любые плагины или темы.
Но всегда найдутся веб-мастера, которые не хотят или не могут периодически все обновлять, а если они используют версию, предшествующую появленению «REST API», им требуется доступ к xmlrpc.php .
Давайте рассмотрим конкретные уязвимости более подробно.
Это относится к моему сайту на WordPress?
В прошлом были проблемы с безопасностью XML-RPC, поэтому он был отключён по умолчанию.
Однако, начиная с WordPress 3.5.x, в WordPress по умолчанию включён XML-RPC из-за некоторых популярных плагинов WordPress, таких как Jetpack, даже собственное приложение WordPress для Android и iOS использует XML-RPC.
Отключение WordPress XML-RPC в iThemes Security
iThemes Security — отличный плагин, который позволяет повысить безопасность сайтов на WordPress.
Чтобы заблокировать в нём XML-RPC, перейдите в настройки плагина и найдите там пункт «Подстройка WordPress» - по умолчанию этот раздел отключён, включите и его и найдите два пункта.
XML-RPC
XML-RPC позволяет внешним сервисам получать доступ и изменять содержимое сайта. В частности примером могут служить Jetpack, WordPress мобильное приложение, и пингбэки
Доступные варианты настройки:
- Отключить XML-RPC - XML-RPC отключён, это очень рекомендуется если Вы не используете Jetpack, мобильные приложения WordPress, пингбэки или другие сервисы использующие XML-RPC.
- Отключить пингбэки - Отключить только пингбэк. Другие возможности XML-RPC будут работать. Используйте если Вам нужна поддержка мобильных приложений WordPress или Jetpack.
- Включить XML-RPC - XML-RPC полностью включён. Используйте если сайт не должен ограничивать использование XML-RPC.
Множественные попытки аутентификации запросом XML-RPC
Возможности в XML-RPC позволяют сотни попыток перебора логина/пароля пользователя в одном запросе (в WordPress < 4.4) . Используйте блокировку чтобы предотвратить этот тип атаки.
Доступные варианты настройки:
- Блокировать - Блокирует XML-RPC запросы с множественными попытками авторизации. Очень рекомендуется.
- Разрешить - Разрешает XML-RPC запросы с множественной авторизацией. Включайте только если знаете что используете сервис, который требует это.
Читайте также: