Linux: Полное руководство
Шрифт:
♦ пользовательские агенты — те самые mail, pine и т.п., реализующие интерфейс к системе пересылки почты;
♦ транспортный агент (MTA, Mail Transfer Agent), пересылающий сообщения с одного компьютера на другой;
♦ агент доставки, сортирующий почту и помещающий ее в ящики пользователей или другое хранилище сообщений;
♦ агент доступа, скачивающий доставленную почту из хранилища по протоколу POP или IMAP, и агент подачи, доставляющий письма от пользователей на сервер исходящих сообщений по протоколу SMTP. В качестве агента подачи может работать транспортный агент.
Рис. 14.1.
При установке почтового сервера в сети организации или в любой другой компьютерной сети необходимо настраивать именно транспортный агент. Основными транспортными агентами пересылки почты на сегодняшний день являются sendmail, postfix и qmail. Кроме основной функции — пересылки сообщений электронной почты — каждый их них имеет собственные эксклюзивные возможности.
Старейшим транспортным агентом, фактическим стандартом, работавшим еще в самых ранних версиях UNIX, является sendmail. Разработчики qmail обратили особое внимание на обеспечение безопасности: до 1998 года реализация функций защиты в sendmail до такой степени оставляла желать лучшего, что в конференциях вообще не рекомендовалось ее использовать. Программа postfix считается проще других в настройке.
Я решительно предпочитаю sendmail, которая в настоящее время обеспечивает должный уровень безопасности и настраивается достаточно легко. В этой главе я объясню, как настроить sendmail для организации небольшого почтового сервера с использованием протокола SMTP. В качестве агента доставки я рассмотрю procmail, а в качестве агента доступа, работающего по протоколу POP3, — программу fetchmail. Для заинтересовавшихся я разместил на сайте
Вкратце напомню о протоколах SMTP и POP, которые будем конфигурировать:
♦ SMTP (Simple Mail Transfer Protocol) — сервис в сетях TCP/IP для передачи почтовых сообщений. Обычно для SMTP используется порт 25 (см. файл
♦ POP (Post Office Protocol) — используется для получения почты с сервера. Порт по умолчанию — 110 (для протокола POP3).
14.1. Установка и настройка sendmail
Программа sendmail устанавливается из пакета sendmail, входящего в состав Red Hat-совместимых дистрибутивов. Я использую пакет sendmail-8.11.0. Последнюю версию sendmail можно скачать по адресу
Прежде чем приступить к настройке sendmail, вам необходимо правильно настроить DNS. Настройка сервера DNS подробно обсуждалась в главе 13. Необязательно настраивать сервер DNS на том же компьютере, где будет работать sendmail: достаточно будет указать DNS-сервера вашей сети в файле
14.1.1.
Основным файлом конфигурации sendmail является
К счастью, базовую настройку sendmail можно выполнить при помощи графического конфигуратора netconf. К сожалению, этот конфигуратор (точнее, пакет linuxconf, в который он входит) в современные дистрибутивы включать перестали. Но не все потеряно: его можно скачать с сайта разработчика
Запустите утилиту netconf из-под суперпользователя (рис. 14.2).
Рис. 14.2. Конфигуратор netconf
Выберите в меню Mail delivery system, затем Configure basic information. В поле Present your system as просто введите свое доменное имя. Затем обязательно отметьте флажок Accept email for ваш_домен (рис. 14.3).
Рис. 14.3. Основная конфигурация sendmail
Если вы этого не сделаете, через ваш сервер можно будет перенаправить сообщения на другой сервер — а это лишний трафик через вас, который вам совсем ни к чему. Когда-то даже существовал такой вид атаки на отказ через электронную почту: письмо от несуществующего пользователя not_exists@A.com другому несуществующему пользователю not_exists@B.com отправлялось через компьютер host.com, который позволял перенаправлять сообщения (не включив режим Accept email for host.com). Обратно шло сообщение о том, что адресат не существует, но и оно не могло быть доставлено по той же причине... возникала косвенная рекурсия, и сервер host.com падал.
В качестве протокола отправки сообщений (Mail gateway protocol) установите smtp. Этой информации уже вполне достаточно, чтобы ваш sendmail функционировал.
Теперь сделайте так, чтобы sendmail принимал почту только с разрешенных адресов. Для этого даже не нужно настраивать сам sendmail — достаточно только подправить файлы