В связи с многочисленными уязвимостями в некоторых плагинах популярных CMS, сервер был подвержен вводу в систему вредоносного скрипта.
123.123.123.123 - - [06/Jul/2014:20:20:10 +0400] "POST /includes/js/include.php HTTP/1.1" 404 55665 "-" "-"
Скрипт отправлял письма (как правило прон-содержания) с генерируемых адресов, а-ля [email protected], [email protected] домена взломанного сайта. Таких взломанных сайтов было несколько.
В этой заметке я опишу, как я выявлял источник спама и боролся с последствиями работы вредоносных скриптов.
Всё началось с того, что мне пришло письмо от Nagios, о том, что у меня в очереди стоит немного больше писем чем обычно, а именно >50000.
Проверяем очередь:
# mailq
Действительно, в очереди очень много писем и эта очередь всё растёт и растёт.
Останваливаем postfix:
# service postfix stop
Смотрим в очередь писем, ищем домен(-ы), с которого идёт рассылка. Пусть этим доменом для примера будет example.com.
Смотрим логи для этого сайта. Посмотреть где находятся логи для сайта можно в /etc/nginx/nginx.conf в директиве access_log.
Пример:
# cat /etc/nginx/nginx.conf
...
location ~* ^.+\.(jpg|jpeg|gif|png|svg|js|css|mp3|ogg|mpe?g|avi|zip|gz|bz2?|rar|swf)$ {
root $root_path;
access_log /var/www/nginx-logs/example isp;
access_log /var/www/httpd-logs/example.com.access.log;
error_page 404 = @fallback;
expires max;
}
...
Смотрим логи, находим подозрительные запросы (как правило POST-запросы), к примеру:
# tail /var/www/httpd-logs/example.access.log123.123.123.123 - - [06/Jul/2014:20:20:10 +0400] "POST /includes/js/include.php HTTP/1.1" 404 55665 "-" "-"
123.123.123.222 - - [06/Jul/2014:20:20:10 +0400] "POST /includes/js/include.php HTTP/1.1" 404 55665 "-" "-"
...
Смотрим содержимое подозрительного файла:
# cat /var/www/.../includes/js/include.php
Как правило там очень-очень много букв и цифр, обфусцированного php-кода. Сразу видно, что это вредоносный скрипт. Если этот файл не нужен, его можно удалить, либо же попробовать вылечить, ай-болитом каким-нибудь.
После того, как обнаружен и обезврежен источник спама, нужно удалить все его письма из очереди:
# postqueue -p | grep example.com | cut -f1 -d " " | postsuper -d -
Ну и ip-адрес(-а) рассыльщика можно добавить в бан:
# vim /etc/nginx/nginx.conf
deny 123.123.123.123;
deny 123.123.123.222;
Так как поломанных сайтов у меня несколько, то процедуру я повторил несколько раз.
В итоге в очереди писем не стало. Спам больше не рассылается.
Также проверьте наличие вашего ip-адреса в чёрных списках спамеров, сделать это можно тут: mxtoolbox.com/blacklists.aspx
Если вы туда попали, то вы можете подать заявку на делистинг из чёрных списков.
Также проверьте наличие вашего ip-адреса в чёрных списках спамеров, сделать это можно тут: mxtoolbox.com/blacklists.aspx
Если вы туда попали, то вы можете подать заявку на делистинг из чёрных списков.
via.
1 комментарий:
Спасибо огромное!
В дёсна готов расцеловать ))) Очень помогло
Отправить комментарий