Вход на хостинг
IT-новости
20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла
Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......
30.07.2015 Ищем уникальный контент для сайта
Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......
Полезные подробности
Сергей Супрунов
Современная жизнь немыслима без электронной почты. Ещё лет десять назад само понятие «электронная почта» прочно ассоциировалось с программой Sendmail. Сейчас ситуация несколько изменилась, но проект Sendmail по-прежнему остаётся одним из лидеров, и вполне заслуженно.
Среди системных администраторов, особенно начинающих, бытует мнение, что Sendmail – чрезвычайно сложная, неуклюжая, неэффективная и небезопасная программа. Конечно, дыма без огня не бывает, и причины для подобных мнений есть. Достаточно взглянуть на основной конфигурационный файл – sendmail.cf, чтобы согласиться с первым утверждением. Монолитная архитектура, когда практически все функции выполняются одним двоичным файлом, навевает мысли о втором и третьем. Нередкие взломы в прошлом (долго ещё люди будут помнить червя Морриса, потрясшего мир в 1988 году) серьёзно подорвали доверие к Sendmail в плане защищённости системы.
Однако идёт время, меняется ситуация. Кое-что из сказанного выше несколько улучшилось, что-то вообще стало неправдой. Скажем, конфигурационный файл по-прежнему остался пугающе непонятным. Но ведь никто вас и не заставляет его править! Для этого существуют более удобные и простые инструменты. Монолитность сохранилась, но работа этого единственного «бинарника» стала более эффективной, появилось более чёткое разделение на задачи, причём уже не все из них требуют наличия прав суперпользователя. Говоря же о безопасности, надо признать, что последняя критическая уязвимость была обнаружена сравнительно недавно – 22 марта 2006 года (к чести разработчиков, была она исправлена достаточно быстро). Но вот предпоследняя датируется аж 18 сентября 2003 года.
Конечно, если сравнивать Sendmail с такими альтернативами, как Postfix, Exim, Qmail, то по некоторым параметрам он проигрывает своим конкурентам. Но только не в плане функциональности. Так что вряд ли стоит так просто сбрасывать его со счетов. Тем более что Sendmail по-прежнему остаётся почтовой программой, устанавливаемой по умолчанию во FreeBSD, OpenBSD, Solaris и ряде других систем.
Впрочем, я не ставлю своей целью поднять очередную волну религиозных войн среди приверженцев того или иного MTA. Каждый вправе пользоваться тем инструментом, какой ему ближе по духу и лучше подходит для тех или иных задач. Надеюсь, что аргумент «я не понимаю эту программу» не является для вас основным критерием выбора, что ставить и использовать. И после прочтения данной серии вы сможете более осознанно подходить к выбору почтовой программы, руководствуясь исключительно объективными данными.
Всё, о чём будет идти речь сегодня, относится к версии Sendmail 8.13.4 с последним патчем, работающей во FreeBSD 6.0 (используется дистрибутивная установка). Применимость утверждений, примеров конфигурации, путей к файлам и т. д. к другим системам и версиям не проверялась, но в большинстве случаев всё должно работать аналогично.
Учитывая, что на системах Linux в последнее время более распространён Postfix (за исключением некоторых дистрибутивов), отвлекаться на особенности Sendmail в этих системах я не буду.
Архитектура и основы функционирования
Как уже упоминалось, Sendmail является монолитной программой. Единственный двоичный файл – /usr/sbin/mailwrapper – отвечает за все функции, но вручную его обычно не запускают. Все же программы, которыми мы обычно пользуемся, являются не более чем простыми символьными ссылками на этот «бинарник»:
serg$ ls -l /usr/sbin | grep mailwrapper