20.2. Построение почтового сервера РОРЗ

Проблема
Требуется настроить почтовый сервер РОРЗ — ничего особенного, базовый сер вер пересылки интернет-почты для одного домена, с поддержкой TLS/SSL для
защиты подключений.
Решение
Потребуются следующие компоненты:
О Postfix;
О Courier-IMAP (поддержка как РОРЗ, так и ШАР);
О OpenSSL;
О демон famd (File Alteration Monitor Daemon).
ПРИМЕЧАНИЕ
Инструкции для Debian приведены в разделе 20.3.
Начните с установки или обновления OpenSSL и famd.
Затем удалите все установленные почтовые агенты и серверы POP/ШАР. Нач ните с поиска Sendmail, поскольку эта программа часто устанавливается по умол чанию. Не бойтесь разрывать зависимости, они будут обслуживаться Postfix.
Остановите все процессы, принадлежащие старому почтовому агенту:
$ ps ах | grep sendmail
root 10204 0.0 0.7 5296 1980 ? S 19:27 0:00 sendmail:accepti
$ su
# kill 10204
Установите Postfix. Если программа строится по исходным текстам, не забудьте
включить поддержку SASL (см. файл SASL_README в tar-архиве).
После установки Postfix создайте резервную копию /etc/postfix/main.cf:
# ср /etc/postfix/main.cf /etc/postfix/main.cf-old
Сотрите все содержимое оригинала и скопируйте следующий фрагмент. Ис пользуйте пути и имена хостов/доменов, относящиеся к вашей системе.
command_directory

• /usr/sbin
mai1_owner

• postfix
defaultprivs = nobody
# Доменное имя
mydomain = tuxcomputing.com
# Полное имя хоста
myhostname = windbag.tuxcomputing.com
myorigin = $mydomain
aliasjnaps = hash:/etc/aliases
alias_database = hash:/etc/aliases
inetinterface = all
mydestination

• $myhostname, local host.Smydomain $mydomain
mynetworksstyle = subnet
homejnailbox . Maildir/
mai4_spoo1_directory = /var/mail
mtpd_banner = $myhostname ESMTP $mai1_name
mailboxsizejimit = 0
recipientdelimiter

• +
Определите псевдонимы для root и postmaster в /etc/aliases:
# Описание формата - см. man 5 aliases
root: foober@test.net
postmaster:root
Создайте базу данных псевдонимов:
# newaliases
и запустите встроенную программу проверки синтаксиса:
# postfix check
В некоторых дистрибутивах Postfix запускается автоматически после установ ки. Ручной запуск Postfix производится командой
# postfix start
Если Postfix уже работает, перезапустите программу:
# postfix reload
postfix/postfix-script: refreshing the Postfix mail system
Убедитесь в том, что Postfix работает в системе:
$ ps as | grep postfix
26342 ? Ss 0:00 /usr/lib/postfix/master
20.2. Построение почтового сервера РОРЗ 323
Убедитесь в том, что работает демон SMTP:
$ telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is ' * ] ' .
220 windbag.test.net ESMTP Postfix (Libranet/GNU)
EHLO windbag.test.net
250-windbag.test.net
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-XVERP
250 8BITMIME
*]
telnet> quit
Connection closed.
Теперь установите Courier-IMAP. Если устанавливаются пакеты RPM, вам
потребуются courier-imap-common и courier-imap-рорЗ. При сборке из исходных тек стов прочитайте файл OOREADME.NOW.OR.SUFFER.
После установки сгенерируйте сертификат РОРЗ TLS/SSL. Сначала отредак тируйте файл /etc/courier/pop3d.cnf (подставьте свои данные):
[ reqdn ]
ST=NHS
L=A1buquerque
Omail server
OU=Automatically-generated РОРЗ SSL key
CN=Windbag
emailAddress=postmaster@tuxcomputing.com
Сгенерируйте ключ:
# mkpop3dcert
Generating a 1024 bit RSA private key
writing new private key to 7usr/1ib/courier/pop3d.pem'
1024 semi-random bytes loaded
Generating DH parameters, 512 bit long safe prime, generator 2
В некоторых дистрибутивах Courier запускается автоматически после уста новки. Используйте следующие команды для ручного запуска Courier в случае
необходимости:
# /etc/init.d/courier-pop3d start
# /etc/init.d/courier-pop3d-ssl start
Проверьте имена файлов, так как они могут зависеть от дистрибутива.
Теперь в вашем распоряжении имеется полностью рабочий почтовый сервер РОРЗ.
Комментарий
Некоторые дистрибутивы Linux вносят изменения в Postfix и Courier, так что обя зательно проверьте правильность путей и имен файлов.
Если вы привыкли, что почта ставится в общую очередь в /var/spooL, в Courier
дело обстоит немного иначе. Почтовая очередь создается в домашнем каталоге
каждого пользователя:
# Is /home/foober
Desktop Maildir
# Is /home/foober/Maiidir
courierimapkeywords courierimapuiddb cur tmp
courierimapsubscribed courieripop3dsize1ist new
Новая почта находится в /Maildir/new до тех пор, пока она не будет загружена
пользователем. Соответствующий параметр задается в Postfix, в каталоге main.cf:
homejnailbox = Maildir/
Почтовый сервер РОРЗ может работать на любом старом компьютере с про цессором Pentium и даже 486. Под почтовый сервер рекомендуется выделить от дельный компьютер — так как сервер доступен для небезопасных сетей, все, что
находится на этом компьютере, также в той или иной степени подвержено риску.
Сгенерированный для Courier сертификат SSL является «самоподписаным»
(self-signed); это означает, что никакая «доверенная» третья сторона не ручается за
подлинность сертификата. Для большинства пользователей этого вполне достаточ но. Если вы полагаете, что вам нужен полноценный, коммерческий сертификат SSL
от такого поставщика, как VeriSign или Thawte, учтите: это будет стоит несколько
сот долларов в год. Также попробуйте обратиться к поставщику услуг Интернета
или веб-хостинга — возможно, они предлагают дешевые совместные сертификаты.
См. также
Раздел 20.3; локальная документация Courier (/usr/share/doc/courier-doc); Postfix
Basic Configuration (/usr/share/doc/postfix/html/basic.html); домашняя страница
Courier-IMAP (http://www.inter7.com/counermap.html); домашняя страница Postfix
(http://www.postfix.org).