Наши партнеры








Книги по Linux (с отзывами читателей)

Библиотека сайта rus-linux.net

Приемы работы в Ubuntu.
Глава 10: Сервер малого офиса / домашнего офиса

Оригинал: "Ubuntu Hacks: Chapter 10 - Small Office/Home Office Server"
Авторы: Кайл Ранкин, Джонатан Оксер, Билл Чайлдерс (Kyle Rankin, Jonathan Oxer, Bill Childers)
Дата публикации: June 2006
Перевод: Н.Ромоданов
Дата перевода: ноябрь 2010 г.

Совет # 97: Создаем почтовый сервер

Настройка сервера электронной почты на удивление проста, но есть несколько настроек, с которыми нужно быть очень аккуратными чтобы он, в конечном итоге, не стал раем для спамеров.

Почтовый сервер состоит из нескольких компонентов: сервера SMTP (Simple Mail Transport Protocol), который выполняет передачу почты между хостами, серверов POP и IMAP, с помощью которых пользователям предоставляется доступ к почтовым ящикам из их настольных почтовых клиентов, и, обычно, какой-нибудь системы фильтрации почты, которая уменьшает количество спама и вирусов, проходящих через систему.

Сервер Postfix SMTP

Есть много серверов SMTP, доступных в Ubuntu, и у многих администраторов есть свои личные предпочтения, но обычно хорошим выбором является сервер Postfix SMTP, поскольку он быстрый, надежный и расширяемый:

$ sudo apt-get install postfix

В процессе инсталляции вам будут заданы вопросы, касающиеся того, как будет работать система. В качестве режима работы выберите Internet Site (интернет сайт) и в качестве значения Mail Name укажите имя вашего домена.

После того, как пакет будет установлен, откройте в редакторе файл /etc/postfix/main.cf и найдите следующую строку:

mynetworks = 127.0.0.0/8

Чтобы разрешить компьютерам, находящимся в вашей сети, отправлять почту через сервер, вам нужно в качестве значения mynetworks указать диапазон разрешенных сетевых адресов. Например, если у вас есть сеть 192.168.0.0 класса С диапазона, вы должны указать следующее:

mynetworks = 127.0.0.0/8 192.168.0.0/24

Этот параметр очень важен чтобы не допустить использовать ваш почтовый сервер для рассылки спама, так что указывайте только диапазоны тех сетевых адресов, которым вы доверяете.

Когда почта доставляется локальному пользователю, она может храниться несколькими различными способами. Самым старым и наиболее распространенным подходом является использование формата mbox, когда все письма для каждого пользователя хранятся в одном файле, но при большом объеме почты производительность в случае использования формата mbox резко падает. В большинстве более новых почтовых системах используется формат maildir, в котором отдельные сообщения хранятся в виде отдельных файлов, запоминаемых во вложенных директориях. Postfix может одинаково хорошо работать с обеими форматами. Чтобы использовать формат maildir добавьте в файл main.cf следующую строку:

home_mailbox = Maildir/

Значение Maildir/ добавляется как путь в домашний директорий получателя, а завершающий слеш указывает, что для хранения используется формат maildir.

И наконец, найдите строку, которая начинается с mydestination =. Вашим почтовым сервером будет приниматься почта для всех доменов, перечисленных в этой строке, и затем будет делаться попытка ее доставки по локальной сети, так что если вы будете обрабатывать почту для нескольких доменов, то добавьте их сюда.

Перезагрузите Postfix, чтобы изменения вступили в силу:

$ sudo /etc/init.d/postfix restart

Если вы будете использовать ваш почтовый сервер только как почтовый шлюз для исходящей почты, то это все, что нужно сделать. Настройте ваш почтовый клиент так, чтобы для исходящей почты использовался ваш почтовый сервер, и попытайтесь отправить сообщение на внешний адрес электронной почты.

Если сообщение не доходит, то загляните в самый конец журнального файла Postfix чтобы узнать, что пошло не так, и если это необходимо, переконфигурируйте сервер:

$ sudo tail -f /var/log/mail.log

Уменьшаем спам с помощью метода Greylisting

Существуют различные методы защиты ваших пользователей от спама, но, к сожалению, нет волшебного решения, которое бы не вызывало абсолютно никаких неверных срабатываний и совершенно не пропускало спам. Одним из методов является метод Greylisting, который почти не требует текущего обслуживания и имеет очень низкий показатель неверных срабатываний, то есть случаев, когда ошибочно отвергаются электронные адреса, не содержащие спама.

Greylisting работает в предположении, что почтовые сервера, не рассылающие спам, будут делать повторную попытку отправить почту, если они получают от сервера, куда отправляется письмо, сообщение "временно недоступен", тогда, как хосты, рассылающие спам, и вирусы, как правило, делают одну попытку доставки, а затем переходят к следующей цели. Это значит, что сначала прием письма с удаленной системы будет отложен, но затем, поскольку ваш почтовый сервер запомнил отправителя, он пропустит письмо. Задержка первого сообщения может вызывать определенные неудобства, но, в целом, Greylisting в настоящее время является одним из самых успешных методов смягчения последствий спама. Чтобы воспользоваться Greylisting, установите пакет Postgrey:

$ sudo apt-get install postgrey

Postgrey работает на вашем почтовом сервер как демон на порту 60000, так что сконфигурируйте Postfix так, чтобы он использовался как сервис политики доставки. Откройте файл /etc/postfix/main.cf и добавьте в него следующую запись сервиса:

smtpd_recipient_restrictions =
        reject_unauth_destination,
        check_policy_service inet:127.0.0.1:60000

Затем перезагрузите Postfix и, перед отправкой тестового сообщения в систему от внешнего почтового сервера, загляните в конец журнального файла Postfix. Вы увидите, что при первой попытке доставки, сообщение отвергается с нефатальной ошибкой, а затем, через 5 минут ваш почтовый сервер позволит доставить сообщение. Следующие сообщения, поступающие из той же самой удаленной системы, будут доставляться немедленно.

Отчет об активности

Чтобы видеть, какой объем трафика обрабатывает ваш почтовый сервер, установите и запустите пакет mailgraph:

$ sudo apt-get install mailgraph
$ sudo /etc/init.d/mailgraph start

Mailgraph следит за активностью почтового сервера и сохраняет ее в исключительно эффективной базе данных, а затем строит графики, к которым можно получить доступ через веб-браузер по адресу http://вашхост/cgi-bin/mailgraph.cgi. По умолчанию, графики доступны из любой точки мира, так что если вы хотите сохранить их в тайне, вы можете ограничить к ним доступ с помощью файла .htaccess, имеющегося в Apache, или при помощи явного задания ограничений на доступ в конфигурационных файлах Apache.

Сервисы POP и IMAP

Чтобы пользователи могли получать почту с сервера, вам нужно запустить сервисы IMAP и/или POP. Опять же, есть целый ряд возможных вариантов, каждый из которых имеет свои преимущества и недостатки, но воспользуйтесь пакетом Courier, который очень прост в настройке и изначально поддерживает формат maildir:

$ sudo apt-get install courier-imap courier-imap-ssl \\
                 courier-pop courier-pop-ssl

Если вы сконфигурировали Postfix для использования формата maildirs так, как было описано выше, вам не потребуется в конфигурацию пакета Courier вносить изменения: он будет автоматически обнаруживать формат maildirs, и все должно работать.


Назад Оглавление Вперед