BloGGood.ru

Блог Костаневича Степана

До Нового Года осталось:

Блог на разные темы, seo-оптимизация, раскрутка сайта, создание сайта, вкусные эффекты для сайта и многое другое…

Главная » Wordpress » Уязвимость WordPress через файл xmlrpc.php. Решение есть!

Уязвимость WordPress через файл xmlrpc.php. Решение есть!

2015-11-28 / Вр:01:02 / просмотров: 24589

Уязвимость WordPress через файл xmlrpc.php. Решение есть!

Совсем недавно я позакрывал все дыры к адресу для входа в админ панель и думал, что все – атаки на вход админ панель прекратятся. Но я был абсолютно неправ, вечером мне пришло сообщение, что было заблокировано еще два IP адреса, которые ломились в админ (плагин limit login attempts).

Уязвимость WordPress через файл xmlrpc.php. Решение есть!

Я был в шоке, как им это удается?

Но, так как у меня на WordPress установлен плагин «WordPress Firewall 2», мне пришло на почту уведомление о том, что были две атаки на файл «xmlrpc.php».

Уязвимость WordPress через файл 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».
Я думаю, этого достаточно!

С сегодняшнего дня я буду тестировать результат в течение месяца. Если за этот период не появится новая статья о том, что снова кто-то лезет в админку, значит задача решена и можно на некоторое время расслабиться :smokes:.

На сегодня все! Надеюсь, что статья была вам полезна, так как защита блога – это всегда важно и актуально.

Интересно, какие еще загадки и сюрпризы таит в себе мой любимый движок WordPress?:coffe:

 

Понравился пост? Помоги другим узнать об этой статье, кликни на кнопку социальных сетей ↓↓↓

Получай обновления блога!!! Подпишись:

Популярные статьи:

30 Ответов на комментарий - Уязвимость WordPress через файл xmlrpc.php. Решение есть!

  1. Александр

    У меня к вам вот такой вопрос: вставлять это нужно между # BEGIN WordPress
    # END WordPress или перед # BEGIN WordPress этой надписью

  2. Степан => автор блога Степан => автор блога

    я поставил код после # END WordPress. Я думаю, ничего страшного не произойдет, если вы вставите код перед # BEGIN WordPress.
    В любом случае, проверьте Ваш сайт

    https://адрес_сайта.ru/xmlrpc.php
  3. Александр

    Спасибо за ответ, я уже разобрался

  4. Дасиб

    Спасибо, помогло.
    Был брут с через него и положили сервак :x

  5. Анастасия

    Всем привет! Автор, скажи пожалуйста, а если я удалю этот файл, не будет ли это ошибкой для яндекса? Просто у меня стоял плагин-защитник iThemes Security, который на xmlrpc.php поставил 403 ошибку. Из-за этой ошибки яндекс не индексирует мои новые статьи, хотя сайт посещает. А когда проверяю ответ сервера с включенным iThemes Security, получаю 403 ошибку. Когда он отключен, то все ок, 200. Я просто не сильна во всем этом, быть может я iThemes Security неправильно настроила? Или лучше вообще его вырубить и удалить этот xmlrpc.php ? Посоветуй, пожалуйста, не знаю, что делать! :|

  6. Степан => автор блога Степан => автор блога

    Пожалуйста! Если у Вас есть какие-то дополнение по защите, пишите в комментариях!

  7. Степан => автор блога Степан => автор блога

    Здравствуйте, Анастасия! То, что Яндекс не индексирует Ваши новые статьи, файл “xmlrpc.php” здесь не причем? То, что я знаю про файл “xmlrpc.php”, что он нужен для управлением блога через различные приложения.
    Удалять файл “xmlrpc.php” не нужно, просто запретите к нему доступ, так как я написал в статье! Но, так как плагин “iThemes Security” уже все сделал, никаких действий Вам делать не нужно.
    Насчет статей, а Гугл индексирует новые страницы?

  8. Анастасия

    Да, я поняла, что xmlrpc.php яндексу в принципе не нужен.В вебмастере я просто поставила запрет в настройках, и теперь ошибки нет. Гугл индексирует новые статьи. Значит, дело в Яше? Только теперь меня волнует другой вопрос? Почему ответ сервера 403? И, кстати на разных ресурсах показывает по разному, то 403, то 200 ок. Это имеет значение? Значит, какие-то ресурсы неправильно показывают? :shock:

  9. Степан => автор блога Степан => автор блога

    Да, дело в Яше!
    По поводу ошибок в сети полно информации, почитайте!
    Я думаю не стоит паниковать! Странички и Яндекс проиндексирует, видимо еще не время

  10. Анастасия

    Спасибо вам большое за ответы ;-) а то где не спрошу, везде молчат.

  11. Степан => автор блога Степан => автор блога

    Пожалуйста, Анастасия! :rose:

  12. Сергей

    сделал все так как здесь написано,при запросе :http: //мой сайт.ru/xmlrpc.php, пишет следующее XML-RPC server accepts POST requests only.
    это нормально?

  13. Степан => автор блога Степан => автор блога

    Сергей, а Вы в файле «.htaccess» прописали код:

    <Files xmlrpc.php>
    order deny,allow
    deny from all
    </Files>
    

    После этого будет появляться вот такое сообщение:
    “You don’t have permission to access /xmlrpc.php on this server” – ошибка 403.

    Чтобы не было ошибки 403, в файле «.htaccess» прописываем дополнительный код:

    ErrorDocument 403 /404.php
    

    при запросе http: //мой сайт.ru/xmlrpc.php откроется страница “404.php”, если такая есть.

  14. Сергей

    выполнил все три пункта
    в «functions.php» вставил код. правда не нашел там закрывающего тега,поэтому вставил просто в самом конце
    в хедере тег удалил
    в «.htaccess» прописал все.
    результат такой:XML-RPC server accepts POST requests only.
    я так понимаю ничего не изменилось?

  15. Сергей

    Степан,все работает.
    Не проверил файл «.htaccess», все прописал,а загрузить на сервер не загрузил))все нормуль
    правда выдает не 404 ошибку а просто страница не найдена у меня на сайте.
    Я пока чайник в этих делах,скажите,это правильно или нужно настроить 404 ошибку,такая страница есть в шаблонах

  16. Степан => автор блога Степан => автор блога

    Если страницы 404 нет, создайте в теме шаблона вордпресс (404.php).
    Если лень создавать страницу 404.php, можете отправить на главную страницу.
    Если хотите, можете заказать страницу 404 у меня. :coffe:

  17. Сергей изменилось. если вы в htaccess прописали

    <Files xmlrpc.php>
    order deny,allow
    deny from all
    </Files>

    Это означает что доступ к этому файлу полностью закрыт и
    XML-RPC server accepts POST requests здесь вообще непричем

    А если вы вообще не понимаете что понаписали в файлах по примеру из поста. так на то есть гугл и он вам обязательно расскажет что есть в htaccess эти строки

    Да… Лень матушка штука сильная. Ученье свет. а вот неученье – чуть свет и на работу. Так что саморазвитие. Сергей. присутствовать должно

  18. Александр

    Здравствуйте Степан. Как всегда нашел то что нужно на вашем блоге. Спасибо :arrow:
    Кстати у меня брутили админку. То есть хотели зайти через wp-login.php. Я защитился таким способом
    Через ftp вынул файл wp-login.php на комп, переименовал его, например – vasya-stopbrut.php. Потом при помощи Notepad++ нашел в этом файле все фразы wp-login.php и заменил их на vasya-stopbrut.php. Дальше аналогично заменил фразы в файле general-template.php и наконец. в моем любимом .htaccess вставил

    <Files wp-login.php>
    Order Deny,Allow
    Deny from all
    </Files>
  19. Александр

    Единственное я не понял как убрать редирект с страницы мойсайт.ru/admin Он переносит на новый созданный мною vasya-stopbrut.php. Где убрать или как запретить этот редирект ?

  20. Степан => автор блога Степан => автор блога

    Здравствуйте, Александр!
    Приятно слышать, что Вы на моем блоге находите полезную для Вас информацию.

    После очередного обновлении WordPress, Вам же придется заново делать все эти изменения. Или я ошибаюсь?

  21. Степан => автор блога Степан => автор блога

    Попробуйте в файле “. htaccess”, в самом конце, вставить вот такой код:

    RewriteCond %{REQUEST_URI} ^/admin$
    RewriteRule ^.*$ https://адрес сайта для переадресации/? [R=301,L]
    
  22. Александр

    Здравствуйте Степан. Да, после апа движка придется изменить только general-template.php, но это мелочи по сравнению с эффектом. И я нашел как избавится от редиректа, но почему то не могу вставить код здесь для читателей.. ставлю в

    код

    но все равно меня переносит на другую совсем тему блога.

  23. Степан => автор блога Степан => автор блога

    Здравствуйте, Александр!
    Видимо защита срабатывает.
    Сбросьте мне код через “Контакты”, опубликую.
    Спасибо!

  24. Михаил

    Здравствуйте! Подскажите. А код, который нужно добавить в файл .htaccess его надо вставить между ТУТ или после?

  25. Степан => автор блога Степан => автор блога

    В файле «.htaccess» в самом конце вставьте код.
    Ваш код срезало в комментарии. Код нужно в комментах добавлять через [code]

  26. Михаил

    Да, код срезало. Я хотел спросить код, что вставляется в В файле «.htaccess» его нужно вставлять между:

    <IfModule mod_rewrite.c>ТУТ</IfModule>

    или после? Думаю, не только мне ответ интересен будет.

  27. Степан => автор блога Степан => автор блога

    Я делаю так:
    [code]

    // и тут код
    [code]

  28. Simon

    А если мы этому файлу просто подрежим права доступа? Например 444

  29. Simon

    Я пока поставил права доступа файлу xmlrpc.php одни нули 000 то есть как бы выключил его вообще… сайт работает… посмотрим дальше…

  30. Степан => автор блога Степан => автор блога

    В принципе, должно проблему решить. Пробуйте!

Добавить комментарий

;-) :| :x :twisted: :smokes: :smile: :shock: :sad: :rose: :roll: :razz: :pop-corne: :oops: :o :mrgreen: :lol: :idea: :grin: :gazeta: :evil: :cry: :cool: :coffe: :arrow: :???: :?: :!:

Чтобы добавить в комментарий код HTML, PHP, CSS, JavaScript, нужно сделать так: [code] ваш код [/code]

Метки: ,

Мои цели на 2018-2019:

1). Закончить тему «Bootstrap»

2). Закончить тему «Все про PHP и MySQL»

3). Создать портфолио и мини интернет-магазин шаблонов

4). Довести количество статей до 800

5). Добиться посещаемости 3000 человек/сутки

6). Увеличить число подписчиков до 250

Статистика по блогу

Количество записей на блоге: 802
Количество страниц на блоге: 20
Количество рубрик на блоге: 28
Количество меток на блоге: 72
Количество комментариев на блоге: 4540