Wordpress attack.Медленно работает Биллинг и Биллинг+Софтроутер

Skip to end of metadata
Go to start of metadata

Медленно работает личный кабинет.

Если сервер сильно тормозит, тормозит WEB и/или локальный сайт - нужно искать то, что грузит сервер, например top-ом, если грузит процесс httpd, то стоит поглядеть логи обращения к локальному сайту


tail -f -n 100 /app/asr_cabinet/var/log/httpd/access_log

Если видим строчки следующего вида, которые повторяются непрерывно:


<ip> - - [05/Feb/2016:16:41:27 +0300] "POST /xmlrpc.php HTTP/1.0" 500 310 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
<ip> - - [05/Feb/2016:16:41:27 +0300] "POST /xmlrpc.php HTTP/1.0" 500 310 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"
<ip> - - [05/Feb/2016:16:41:27 +0300] "POST /xmlrpc.php HTTP/1.0" 500 310 "-" "Mozilla/4.0 (compatible: MSIE 7.0; Windows NT 6.0)"

То имеет место быть атака на wordpress.

Пути решения два:

Воспользоваться решением в статье, в которой описано как закрыть уязвимость.
Либо зафильтровать обращения средствами файрвола (лучше сразу зафильтровать все обращения к серверу с атакующих IP, так как атака может и не остановиться только на wordpress):


iptables -I asr_cabinet_input -s <ip/net> -j DROP
conntrack -F

Также об атаке могут свидетельствовать записи в логе /app/asr_cabinet/var/log/httpd/access_log вида:

<ip> - - [29/Dec/2020:12:33:02 +0300] "-" 408 - "-" "-"
<ip> - - [29/Dec/2020:12:33:03 +0300] "-" 408 - "-" "-"
<ip> - - [29/Dec/2020:12:33:03 +0300] "-" 408 - "-" "-"

В этом случае решением проблемы будет зафильтровать обращения средствами файрвола


iptables -I asr_cabinet_input -s <ip/net> -j DROP
conntrack -F

Не забываем добавить правило в хук /app/asr_cabinet/cfg/hooks


#!/bin/bash


if [ "$1" = '/etc/init.d/firewall' -a "$2" = 'start' ]; then

    iptables -I asr_cabinet_input -s <ip/net> -j DROP
fi

exit 0

При открытии личного кабинета нет ответа от веб-сервера / зависает на ожидании ответа от сервера.

В случае, если при открытии личного кабинета веб-браузер ничего не показывает, либо пишет "Нет ответа от сервера" - необходимо сделать следующее:

  • Проверить логи ошибок веб-сервера /app/asr_cabinet/var/log/httpd/error_log.
  • Убедиться, что доступ до сервера действительно есть, это можно сделать в логе /app/asr_cabinet/var/log/httpd/access_log по обращениям к веб-серверу. А также, с использованием команды tcpdump.
    tcpdump -nnei any port 80
    
  • Перезапустить веб-сервер личного кабинета и повторно проверить логи сервера.
    Перезапуск веб-сервера:
    /app/asr_cabinet/service restart
    

В случае выявления ошибок в error_log необходимо обратиться к документации сервера apache, для устранения проблемы и корректировки настроек.

Пример ошибки в логе /app/asr_cabinet/var/log/httpd/error_log:

[error] server reached MaxClients setting, consider raising the MaxClients setting

Указано, что количество клиентов, подключенных к веб-серверу, достигнуто максимально возможного значения. Требуется изменить параметр "MaxClients".

  1. Откройте конфигурационный файл веб-сервера
    /app/asr_cabinet/etc/httpd/conf/httpd.conf
    
  2. Найдите секцию prefork.c Отредактируйте параметры MaxClients и ServerLimit до 100:
    <IfModule prefork.c>
    StartServers 10
    MinSpareServers 10
    MaxSpareServers 15
    ServerLimit 100
    MaxClients 100
    MaxRequestsPerChild 10000
    </IfModule>
    
  3. Сохраните конфигурационный файл от перезаписи по статье
  4. Перезапустите веб-серве для применения настроек
    chroot /app/asr_cabinet/ service httpd restart
    

Метки

Введите метки, чтобы добавить к этой странице:
Please wait 
Ищите метку? просто начните печатать.