Немного о Sendmail.
Метки: MTA | Sendmail
Пятница, 2 октября 2009 г.
Просмотров: 2025
Подписаться на комментарии по RSS
Sendmail представляется наиболее часто применяемым МТА в Интернете - он установлен на 40% почтовых серверов, он входит в состав всех дистрибутивов Linux и в большинстве случаев ставится по умолчанию. Однако у Sendmail не самая хорошая репутация в плане безопасности. Частично виной тому возраст Sendmail - Sendmail разрабатывался еще в те времена, когда о безопасности никто не задумывался. Не надо считать, что Sendmail «древнее» приложение - оно регулярно обновляется, просто трудно нарастить мясо, когда кости плохие - это я о безопасности, фундамент которой очень слаб.
К тому же Sendmail достаточно сложно конфигурируется - разобраться в файле конфигурации изрядно сложно, а программы-конфигураторы, упрощающие этот процесс, напрочь забывают о безопасности. Следующая причина - это то, что Sendmail'y можно запускаться от имени root, что делает уязвимости в данной программе очень серьезными - в случае взлома Sendmail крекер получит права root. Запускать Sendmail в chroot-окружении также нет смысла, так как с правами root очень легко из него выбраться.
Но так как Sendmail очень популярен, будет посвящено конкретное время его защите - отказываться от него никто не будет, однако настоятельно рекомендуется перейти на Postfix или Qmail. Если все же планируется употреблять Sendmail, рекомендуется установить его последнюю версию - ведь в каждой новой версии Sendmail не столько добавляются новые функции, сколько исправляются ошибки - чем новее версия, тем больше ошибок исправлено.
Решающий файл конфигурации Sendmail называется /etc/sendmail.cf или /etc/mail/sendmail.cf. Править этот файл вручную очень сложно. Официальным методом редактирования файла конфигурации Sendmail представляется создание макро-файла sendmail.mc, по которому потом генерируется файл sendmail.cf:
# m4 /etc/mail/sendmail.mc > /etc/sendmail.cf
Изменение баннера.
Если подключиться к 25 порту с помощью telnet, то можно увидеть следующее:
Trying 127.0.0.1. . .
Connected to localhost.
Escape character is ,Л]'.
220 test.net <http://test.net> ESMTP Sendmail 9.1.2/9.1.4; Mon, 30 Sep 2008 17:13:37 -0700
Эту же информацию увидит и хакер, если подключится к 25 порту. Надо это исправить. Информация, которая выводится наружу, изменяется с помощью опции 0 SmtpGreetingMessage файла конфигурации. нужно открыть файл конфигурации по умолчанию - в нем можно увидить строку:
$ j - это имя узла, $v и $Z - это номера версий, $Ь - текущее время и дата. Более подходящим будет следующее значение данной опции, допускающее вывод только имени узла и даты:
Если нужно применять макрофайл, то надо найти (добавить) строку:
Как можно догадаться, нужно модифицировать значение "$j Sendmail $v/$Z; $b" на "$j $b".