РАБОТАЮ ВО ВСЕХ ГОРОДАХ РОССИИ

ВРЕМЯ РАБОТЫ С 9:00 ДО 20:00

DDOS атаки на сайты Wordpress

Подбор паролей «POST /wp-login.php»

Самые распространенная ddos атака на сайт – это подбор паролей. Для защиты ставьте специальные плагины, про которые я писала в статье «Wordpress админка - как защитить сайт от взлома и вирусов».

В логах вы увидите «POST /wp-login.php» для wordpress или для другого движка стандартный адрес входа.

Но этого мало. Плагины заблокируют при определенном количестве неудачных попыток. Но не уберегут от нагрузки на сервер. Поэтому поставьте еще и двойную аутентификацию – это эффективный способ. Как все настроить во всех подробностях я писала в статье «Как защитить сервер от нагрузки».

Найдите абзац «Защита от перебора паролей для любых сайтов при помощи HTTP-авторизации».

 

Запрос «POST /xmlrpc.php» - обращение к файлу удаленной публикации.

Во-первых, не включайте возможность удаленной публикации XML-RPC (Pingback), если она вам не нужна.

Но в логах сайта вы увидели обращения злоумышленников к этому файлу. Что делать?

Можно удалить файл xmlrpc.php. Но при следующем обновлении движка он заново появится.

Есть несколько решений:

1. Можно добавить в файл functions.php установленной темы следующий код (фильтр):

 
<?php
add_filter
( ‘xmlrpc_methods’, function( $methods ) {
   unset(
$methods['pingback.ping'] );
   return
$methods;
} );
?>

2. Установить плагин Disable XML-RPC для отключения XML-RPC. Скачать плагин https://wordpress.org/plugins/disable-xml-rpc/

3. Другой вариант кода, который вставляется в function.php:

<?php
 add_filter
(‘xmlrpc_enabled’, ‘__return_false’);
?>

Запрос «POST /wp-cron.php? …»

Многократное обращение к крону тоже грузит сервер. Почему это произошло, нужно выяснять. А пока нужно действовать быстро.

Как вариант, отключим выполнение регулярных процедур крона. Для этого добавим в конфигурационный файл WordPress wp-config.php следующую строчку:

 
<?php
 define
('DISABLE_WP_CRON', true);
?>

Добавлять ее можно в начале, в конце или после строчки установки языка:

 
<?php
define
(‘WPLANG’, ‘ru_RU’);
?>

Примечание: код в файл нужно вставлять без скобок <?php. Не нужно делать вложенные скобки, в начале и в конце php файла они уже есть.

Запрос «POST /wp-admin/admin-ajax.php»

Вы увидели во процессе анализа такие запросы? Удаление этого файла ничего не даст, т.к. будут многочисленные ответы 404, что тоже создаст нагрузку.

Можно посмотреть в сторону плагинов, использующих ajax. Это WP-PostRatings, Stray Random Quotes.

Это может быть зацикливание процессов из-за лишних строчек в коде  wp-config.php.

Ajax встроен в админ-панель вордпресс.  Благодаря AJAX можно делать разные привычные вещи без перезагрузки страницы. Например, новые статьи будут подгружаться без перезагрузки страницы. Также с комментариями и результатами поиска.

Что делать со всем этим. Не знаю, я ж не программист. Подождем и посмотрим.

 

Если вы нашли решение, как защититься от атак на сайты, то поделитесь своим решением в комментариях. Вы поможете многим людям!

Все для сайтов: 

Комментарии

3

Суть атаки сводиться к тому, что злоумышленник выдавая себя за атакуемый сайт присылает pingback запросы на блоги, которые используются в DDoS-атаке.

Что такое admin-ajax.php Скрипт admin-ajax.php (так называемый WordPress heatbeat, включен с версии WordPress 3.5.2) выполняет продление пользовательской сессии WordPress — для удобства использования административной панели. Если администратор или редактор часто работает с сайтом, то это избавляет от необходимости каждый раз вводить логин/пароль. Но для 99% посетителей сайта этот функционал, скорее всего, не нужен: они ведь только читает контент, не редактируют его. В ряде случаев admin-ajax.php может отвечать за повышенное потребление памяти и CPU на хостинге: за счет частых — каждые 15 секунд — обращений к базе данных на фоне других запросов (большинство из которых уже могут быть закэшированы). Поскольку функционал admin-ajax.php является динамическим (его нельзя кэшировать), то облако Айри, как и любой другой кэширующий инструмент, пропускает все запросы напрямую к серверу, создавая существенную нагрузку. Как бороться с admin-ajax.php Лучшим способом устранение нагрузки от admin-ajax.php является полное отключение этого функционала. Лучше всего это осуществить либо редактированием внутри движка WordPress, либо путем установки соответствующего плагина. Для отключения WordPress Heartbeat для всех страниц, кроме страницы создания новой записи, нужно добавить в header.php вашей темы: add_action( 'init', 'my_deregister_heartbeat', 1 ); function my_deregister_heartbeat() { global $pagenow; if ( 'post.php' != $pagenow && 'post-new.php' != $pagenow ) wp_deregister_script('heartbeat'); } Для решения этой проблемы через плагины WordPress можно использовать AJAX Heartbeat Tool или Heartbeat Control.

Спасибо за подсказку! 



* Нажимая на кнопку "Отправить" я соглашаюсь с политикой конфиденциальности

Создание сайта

Сделать веб-сайт по приемлемым ценамЗаказать создание сайта под ключ. Цена: недорого.

]]>eTXT]]>

Сервис анализа и проверки траста xt сайтов в Яндексе