Совсем недавно я позакрывал все дыры к адресу для входа в админ панель и думал, что все – атаки на вход админ панель прекратятся. Но я был абсолютно неправ, вечером мне пришло сообщение, что было заблокировано еще два IP адреса, которые ломились в админ (плагин limit login attempts).
Я был в шоке, как им это удается?
Но, так как у меня на 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» и в самом конце файла перед знаком «?>» вставьте вот этот код:
// отключаем xmlrpc.php add_filter('xmlrpc_enabled', '__return_false'); remove_action( 'wp_head', 'rsd_link' );
Зайдите в файл «header.php» и найдите вот такую строчку:
<link rel="pingback" href="<?php bloginfo('pingback_url'); ?>" />
Удалите ее.
В файле «.htaccess» в самом конце вставьте вот такой код:
<Files xmlrpc.php> order deny,allow deny from all </Files>
Этим кодом мы всем запретим доступ к файлу «xmlrpc.php».
Я думаю, этого достаточно!
С сегодняшнего дня я буду тестировать результат в течение месяца. Если за этот период не появится новая статья о том, что снова кто-то лезет в админку, значит задача решена и можно на некоторое время расслабиться .
На сегодня все! Надеюсь, что статья была вам полезна, так как защита блога – это всегда важно и актуально.
Интересно, какие еще загадки и сюрпризы таит в себе мой любимый движок WordPress?
Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓
Последние новости категории:
Похожие статьи
Популярные статьи:
-
Как узнать id компьютера
Дата: 29 марта 2013
Прокомментировано:90
просмотров: 330346 -
Размеры форматов листов А0 – А7
Дата: 23 января 2013
Прокомментировано:3
просмотров: 274701 -
Смешные логические загадки с подвохом, отгадки прилагаются
Дата: 12 ноября 2014
Прокомментировано:5
просмотров: 222533 -
Готовые макеты блоков для веб-страниц на HTML и CSS
Дата: 25 июня 2014
Прокомментировано:23
просмотров: 187740 -
Установка windows 7 на ноутбук
Дата: 18 декабря 2012
Прокомментировано:169
просмотров: 186564
30 Ответов на комментарий - Уязвимость WordPress через файл xmlrpc.php. Решение есть!
Добавить комментарий
Метки: wordpress, безопасность
У меня к вам вот такой вопрос: вставлять это нужно между # BEGIN WordPress
# END WordPress или перед # BEGIN WordPress этой надписью
я поставил код после # END WordPress. Я думаю, ничего страшного не произойдет, если вы вставите код перед # BEGIN WordPress.
В любом случае, проверьте Ваш сайт
Спасибо за ответ, я уже разобрался
Спасибо, помогло.
Был брут с через него и положили сервак
Всем привет! Автор, скажи пожалуйста, а если я удалю этот файл, не будет ли это ошибкой для яндекса? Просто у меня стоял плагин-защитник iThemes Security, который на xmlrpc.php поставил 403 ошибку. Из-за этой ошибки яндекс не индексирует мои новые статьи, хотя сайт посещает. А когда проверяю ответ сервера с включенным iThemes Security, получаю 403 ошибку. Когда он отключен, то все ок, 200. Я просто не сильна во всем этом, быть может я iThemes Security неправильно настроила? Или лучше вообще его вырубить и удалить этот xmlrpc.php ? Посоветуй, пожалуйста, не знаю, что делать!
Пожалуйста! Если у Вас есть какие-то дополнение по защите, пишите в комментариях!
Здравствуйте, Анастасия! То, что Яндекс не индексирует Ваши новые статьи, файл “xmlrpc.php” здесь не причем? То, что я знаю про файл “xmlrpc.php”, что он нужен для управлением блога через различные приложения.
Удалять файл “xmlrpc.php” не нужно, просто запретите к нему доступ, так как я написал в статье! Но, так как плагин “iThemes Security” уже все сделал, никаких действий Вам делать не нужно.
Насчет статей, а Гугл индексирует новые страницы?
Да, я поняла, что xmlrpc.php яндексу в принципе не нужен.В вебмастере я просто поставила запрет в настройках, и теперь ошибки нет. Гугл индексирует новые статьи. Значит, дело в Яше? Только теперь меня волнует другой вопрос? Почему ответ сервера 403? И, кстати на разных ресурсах показывает по разному, то 403, то 200 ок. Это имеет значение? Значит, какие-то ресурсы неправильно показывают?
Да, дело в Яше!
По поводу ошибок в сети полно информации, почитайте!
Я думаю не стоит паниковать! Странички и Яндекс проиндексирует, видимо еще не время
Спасибо вам большое за ответы а то где не спрошу, везде молчат.
Пожалуйста, Анастасия!
сделал все так как здесь написано,при запросе :http: //мой сайт.ru/xmlrpc.php, пишет следующее XML-RPC server accepts POST requests only.
это нормально?
Сергей, а Вы в файле «.htaccess» прописали код:
После этого будет появляться вот такое сообщение:
“You don’t have permission to access /xmlrpc.php on this server” – ошибка 403.
Чтобы не было ошибки 403, в файле «.htaccess» прописываем дополнительный код:
при запросе http: //мой сайт.ru/xmlrpc.php откроется страница “404.php”, если такая есть.
выполнил все три пункта
в «functions.php» вставил код. правда не нашел там закрывающего тега,поэтому вставил просто в самом конце
в хедере тег удалил
в «.htaccess» прописал все.
результат такой:XML-RPC server accepts POST requests only.
я так понимаю ничего не изменилось?
Степан,все работает.
Не проверил файл «.htaccess», все прописал,а загрузить на сервер не загрузил))все нормуль
правда выдает не 404 ошибку а просто страница не найдена у меня на сайте.
Я пока чайник в этих делах,скажите,это правильно или нужно настроить 404 ошибку,такая страница есть в шаблонах
Если страницы 404 нет, создайте в теме шаблона вордпресс (404.php).
Если лень создавать страницу 404.php, можете отправить на главную страницу.
Если хотите, можете заказать страницу 404 у меня.
Сергей изменилось. если вы в htaccess прописали
Это означает что доступ к этому файлу полностью закрыт и
XML-RPC server accepts POST requests здесь вообще непричем
А если вы вообще не понимаете что понаписали в файлах по примеру из поста. так на то есть гугл и он вам обязательно расскажет что есть в htaccess эти строки
Да… Лень матушка штука сильная. Ученье свет. а вот неученье – чуть свет и на работу. Так что саморазвитие. Сергей. присутствовать должно
Здравствуйте Степан. Как всегда нашел то что нужно на вашем блоге. Спасибо
Кстати у меня брутили админку. То есть хотели зайти через wp-login.php. Я защитился таким способом
Через ftp вынул файл wp-login.php на комп, переименовал его, например – vasya-stopbrut.php. Потом при помощи Notepad++ нашел в этом файле все фразы wp-login.php и заменил их на vasya-stopbrut.php. Дальше аналогично заменил фразы в файле general-template.php и наконец. в моем любимом .htaccess вставил
Единственное я не понял как убрать редирект с страницы мойсайт.ru/admin Он переносит на новый созданный мною vasya-stopbrut.php. Где убрать или как запретить этот редирект ?
Здравствуйте, Александр!
Приятно слышать, что Вы на моем блоге находите полезную для Вас информацию.
После очередного обновлении WordPress, Вам же придется заново делать все эти изменения. Или я ошибаюсь?
Попробуйте в файле “. htaccess”, в самом конце, вставить вот такой код:
Здравствуйте Степан. Да, после апа движка придется изменить только general-template.php, но это мелочи по сравнению с эффектом. И я нашел как избавится от редиректа, но почему то не могу вставить код здесь для читателей.. ставлю в
но все равно меня переносит на другую совсем тему блога.
Здравствуйте, Александр!
Видимо защита срабатывает.
Сбросьте мне код через “Контакты”, опубликую.
Спасибо!
Здравствуйте! Подскажите. А код, который нужно добавить в файл .htaccess его надо вставить между ТУТ или после?
В файле «.htaccess» в самом конце вставьте код.
Ваш код срезало в комментарии. Код нужно в комментах добавлять через [code]
Да, код срезало. Я хотел спросить код, что вставляется в В файле «.htaccess» его нужно вставлять между:
или после? Думаю, не только мне ответ интересен будет.
Я делаю так:
[code]
// и тут код
[code]
А если мы этому файлу просто подрежим права доступа? Например 444
Я пока поставил права доступа файлу xmlrpc.php одни нули 000 то есть как бы выключил его вообще… сайт работает… посмотрим дальше…
В принципе, должно проблему решить. Пробуйте!