Я размещаю общедоступный веб-сервер с Debian Wheezy и последними версиями Postfix, Apache, PHP, Spamassassin, ClamAV, rootkit hunter. Apache настроен с помощью нескольких виртуальных хостов, каждый из которых привязан к пользователю и защищен с помощью suExec и Suhosin. На веб-сайтах работают Wordpress и ModX, и по закону средних значений, учитывая количество установок на этом сервере, по крайней мере 20% веб-сайтов в любой момент времени будут иметь какую-либо уязвимость, будь то сама CMS или внешняя -современные плагины.
У меня есть уведомления с отличного веб-сайта MX Toolbox, который отслеживает IP-адреса по более чем 100 черным спискам.
Когда я слышу, что мой IP-адрес снова добавлен в заданный черный список, Я немедленно подключаюсь по ssh, приостанавливаю Postfix
postfix stop
подождите несколько секунд, просмотрите очередь почты
mailq
и из этого я могу сразу определить пользователя / vhost-источник спама, потому что все письма приходят с "random-name@mywebsite.com", где "mywebsite.com" - это домен, размещенный на vhost, вызвавшем проблему.
Затем я запускаю руководство сканирование на обнаружение вредоносных программ используя превосходный мальдет, и проблема исчезнет. Если я пропатчу все известные плагины и программное обеспечение на сайте, проблема исчезнет примерно на 6 месяцев. Если я этого не сделаю, он вернется примерно через неделю.
В целях тестирования я оставил Postfix остановленным на несколько месяцев, но некоторые трояны явно обходят почтовый сервер и отправляют почту напрямую. (Я знаю это по мониторингу ресурсов сервера, отслеживанию черного списка и возвращаемым в мой домен отскоченным спам-сообщениям. Не говоря уже о Postfix mailq заполняется, например, 65 000 неотправленных писем.)
Поскольку меня больше волнует подлинность почты, чем возможность отправлять электронные письма через веб-сайты, которые я размещаю, я предпринял ряд шагов, а именно, чтобы мои записи SPF для каждого домена не распознавали мой собственный сервер в качестве авторитетного источника почты для этого домена. . По крайней мере, это означает, что мои доменные имена не попадают в черный список автоматически.
Мой вопрос. Есть ли умный способ просто заблокировать всю исходящую электронную почту с помощью IPTABLES? Я имею в виду не просто блокировку почты, отправляемой с помощью почтового сервера Postfix, но ВСЕЙ трафик, который может попасть в черный список моего сервера?
Пока я не найду другие способы решения этой проблемы, я не возражаю запретить веб-сайтам отправлять какие-либо письма. Это НЕ идеально, поскольку я использую некоторые из них для создания собственного бизнеса, но пока я могу найти другие решения.
Вы можете заблокировать весь исходящий SMTP-трафик с помощью простого правила:
iptables -I OUTPUT -p tcp --dport 25 -j DROP
Вы можете расширить это, чтобы отбрасывать только пакеты, отправленные www-data
пользователь, который будет пользователем, запускающим веб-сайты:
iptables -I OUTPUT -p tcp --dport 25 -m owner --uid-owner www-data -j DROP
Что поможет с вашей основной проблемой (сайты, в первую очередь зараженные), - это блокировка всех ненужных входящих портов, а также исходящих портов, таких как порт 80, который часто используется для загрузки дополнительных руткитов и т. Д. После минимального взлома вашей защиты. нашел.
hazymat, я уверена, ты не хочешь это слышать, но ...
Вы проблема, а не Postfix
Ожидание, пока кто-нибудь обнаружит СПАМ, не является жизнеспособным способом управления компьютерной системой. Если бы у вас была винтовка и вы оставили ее на пороге вашего дронта, вы бы дождались, пока приедет полиция, прежде чем проверять, что она пропала?
как минимум 20% веб-сайтов будут ... иметь какую-либо уязвимость ... Если я исправлю все известные плагины и программное обеспечение на сайте, проблема исчезнет
Это не похоже на настройку автоматической проверки и установки исправлений, а базовая IDS фактически требует от вас каких-либо постоянных обязательств.
Да, вам следует проявлять большую активность в управлении исходящим почтовым трафиком, но это усовершенствование в дополнение к основным методам обеспечения безопасности.