|
Ключ
Эта строка удалена.
Это слово было удалено. Это слово было добавлено.
Эта строка добавлена.
|
Изменения (6)
просмотр истории страницыЕсли локальный сайт недоступен, и при перезагрузке */app/asr_cabinet* он становиться доступным на непродолжительное время. Нужно посмотреть лог: |
{toc:maxLevel=3} |
|
h2. Wordpress attack Если локальный сайт недоступен, и при перезагрузке */app/asr_cabinet* он становится доступным на непродолжительное время. Нужно посмотреть лог: |
{code} /app/asr_cabinet/var/log/httpd/error_log |
... |
{code} |
|
[Thu Jul 12 13:04:26 2018] [error] [client 95.78.226.80] Invalid URI in request \xf8\xf2\xb5\xf2z\x8a\x89\x9b\x07Jk\xd8\xa6'\xa7\xf2S\xaf9\xd2\x11W\xff9Gs\xafF\x83\xb9w\xb1,\xf3\xb3\xe3b\x1b\x1c\xad\x02\x19D\x8d\xb8D\x97\xebK\x8cM\x808\xf2\\?\xf7\xd7a\x8f\x05\x1fA\xa0 \xfa(l1\xd4\x84\x0e\b!\xea\x1d\x9f\xce\xe9 [Thu Jul 12 13:06:27 2018] [error] [client 5.166.94.146] Invalid URI in request \xf5e\xfaw@d^\xe0\xee\xf8\x85\xba]\xacu\xc4q\x89J\x19\xaf\x0e>fA\x83\xa5\xd6~[\xf1\xa5u\xec\xa1\x99\xb4\x1eK\x04aK':\x9e4Z\xf2w\xd7t\x7f\xf3. "\xa7\x95\x8cL\xf9 |
... |
{code} |
То имеет место быть атака на WordPress: с помощью эксплуатации уязвимости вывести его из строй или получить контроль над сервером. |
Для решения проблемы нужно добавить IP адреса атакующего в Firewall. Например, если атака направлена с подсети 10.20.0.0/24 и с IP-адреса 10.30.1.5 |
... |
{code} |
h3. Как проанализировать логи и найти с каких IP идёт атака Вы можете проанализировать лог HTTP-сервера, чтобы понять с каких адресов и стран проводится атака. Скрипт из примера проанализирует 10 наиболее часто встречаемых в логе адресов. Команда grep в скрипте исключает локальные адреса, добавьте IP адреса относящиеся к Вашей сети: первые два октета подсетей. Формат вывода скрипта: количество обращений, IP, регион по данным RIPE. {code:title=Пример скрипта} #!/bin/bash cat /app/asr_cabinet/var/log/httpd/access_log | \ grep -vE '169.254|10.' | \ awk '{print $1}' | sort | uniq -c | sed 's/^ *//g' | sort -h | tail -n 10 | \ while read num ip; do if [ $num -gt '10' ]; then origin=$(whois -h whois.ripe.net $ip | grep 'country:' | awk '$2{print $2}'); echo $num $ip $origin; fi; done{code} h2. TCP Flood В операционной системе linux есть ограничение на количество одновременно открытых TCP соединений. Намеренно или случайно на сервер с личным кабинетом может прийти большое количество TCP соединений, что блокирует обработку новых соединений. Личный кабинет, как и сервер в целом будет недоступен по протоколам передоваемым TCP - http/https, ssh и другим. Для борьбы с проблемой необходимо заблокировать создание новых соединений. Это можно сделать в таблице *raw* цепочки PREROUTING. В примере мы блокируем трафик неавторизованных абонентов, который НАС перенапрвил на страницу неавторизованных TCP порт 442. # Для начал узаем сколько открыто соединий по TCP порту 440 {code} conntrack -L | egrep 'tcp.*dport=440' | wc -l {code} Максимальное количество соединений по умолчанию равно 65536. Посмотреть его можно командой: {code} sysctl net.netfilter.nf_conntrack_max {code} # Можно было бы увеличить максимольное количество соединений, но это повлечёт дополнительную нагрузку на сервер. Поэтому лучше заблокировать создание соединий для оределённого вида трафика. # Разместите в таблице raw правило блокировки. {code} iptables -t raw -I PREROUTING -p tcp -m tcp --dport 440 -m addrtype --dst-type LOCAL -j DROP {code} # Добавьте правило в [hook|Дополнительные настройки. hooks. Хуки. Свои правила в firewall] */app/asr_cabinet/cfg/hooks* , для его примения при запуске системы. {code} #!/bin/bash if [ "$1" = '/etc/init.d/firewall' -a "$2" = 'start' ]; then iptables -t raw -I PREROUTING -p tcp -m tcp --dport 440 -m addrtype --dst-type LOCAL -j DROP fi exit 0 {code} # Очистите таблицу соединений {code} conntrack -F {code} h2. Сайт не работает после обновления платформы h3. Плагины Для редактирования локального сайта могут применяться [плагины|Пользовательские плагины]. Их работа зависит от версии WordPress и версии php установленной в контейнере */app/asr_cabinet/*. Версии этих пакетов могут обновляться в стандартной сборке биллинга, так как свежие версии содержат обновления безопасности. При этом [плагины|Пользовательские плагины] остаются неизменными. Разница версий плагина WordPress и php приводить к поломке сайта. *Для восстановления сайта в работу обновите плагины на актуальную версию.* h3. Модули Для доработки сайта часто изменяют [модули|Пользовательские модули в cabinet_modules]. При обновлении *php* необходимо проверить тестировать их на соответствие новой версии. Если после обновления платформы возникла проблема с одним из модулей, временно исключите его из сборки кабинета, переместив в папку пользователя. Например, если файл с Вашим модулем называется "MyModule.php", его можно временно убрать из папки такой командой: {code} mv /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/MyModule.php /root/ {code} А если модулей несколько - нужно убрать их все. После исправления модуля не забудьте разместить его в рабочем каталоге и каталог хранения: {code:title=Рабочий каталог} /app/asr_cabinet/usr/local/lib/cabinet_modules/modules/ {code} {code:title=Каталог хранения} /app/asr_cabinet/var/cabinet_modules/ {code} h3. Ошибка в файле .htaccess *.htaccess* --- это конфигурационный файл веб-сервера Apache. При изменении параметров сайта в него могут вноситься изменения. {code:title=Путь к файлу} /app/asr_cabinet/mnt/var/wordpress/.htaccess {code} h5. Ошибка авторизации При входе в личный кабинет, после ввода логина и пароля появляется ошибка. {code:title=Ошибка авторизации} module_token()?> Вы уже авторизованы. {code} Ошибка возникла из-за неверной конфигурации файла *.htaccess*. Указано использовать *php5*, хотя на данный момент используется *php7*. {code:title=Неверная конфигурация} <IfModule mod_php5.c> php_value short_open_tag 1 </IfModule> {code} Для исправления ошибки: # Отредактируйте файл по образцу: {code} <IfModule mod_php7.c> php_value short_open_tag 1 </IfModule> {code} # Перезапустите веб-сервер кабинета: {code} chroot /app/asr_cabinet/ service httpd restart {code} |