Руководство администратора Linux по безопасности

       

Postfix


Postfix агент передачи почты (mail transfer agent, MTA) нацеленный на защиту, быстродействие и легкость конфигурации. Единственная часть Postfix, который выполняется как root главная управляющая программа, точно названная ?master?, она вызывает несколько других программ, чтобы обработать почту к очереди (?pickup?), управлять очередью, ждать входящих подключений, доставлять отсроченную почту и так далее (?qmgr?), чтобы фактически посылать и получать почту (?smtpd?) и так далее. Каждая часть Postfix очень хорошо обдумана, и обычно делает одну или две задачи, но очень хорошо. Например, вместо модели sendmail, где поставленная в очередь почта просто выбрасывается в /var/spool/mqueue, в Postfix имеется общедоступный каталог ?maildrop?, который проверяется ?pickup?, который скармливает данные ?cleanup?, который перемещает почту (если она правильно сформатирована и так далее) в безопасный каталог очереди для фактической обработки.

Главные файлы настройки лежат в /etc/postfix, и имеется несколько файлов конфигурации, которые Вы должны иметь:

master.cf

Управляет поведением различных программ ?помощников?: они chroot'ed, максимальное число процессов, которые они могут выполнять и т.д. Вероятно самое лучшее оставить значения по умолчанию на большинстве серверов почты, если Вы не должны делать некоторую настройку для высоких загрузок или повышенной безопасности сервера.

main.cf

Этот файл близок к sendmail.cf (цель похожа, что касается формата, разница огромна). Он хорошо прокомментирован и устанавливает все главные переменные, расположения и формат различных файлов, содержащих информацию типа виртуальных адресов пользователей и связанной информации.

Имеется список переменных и расположений файлов, которые Вы будете обычно должны установить, файл /etc/postfix/main.cf часто плохо прокомментирован. Пожалуйста обратите внимание, что следующие примеры записей в main.cf не полный main.cf.

# what is the machines hostname? myhostname = mail.example.org

# what is the domain name? mydomain = example.org


# what do I label mail as ?from?? myorigin = $mydomain

# which interfaces do I run on? All of them usually. inet_interfaces = all

# a file containing a list of host names and fully qualified domains names I # receive mail for, usually they are listed like: # mydestination = localhost, $myhostname, etc # but I much prefer to keep them listed in a file. mydestination = /etc/postfix/mydestination

# map of incoming usernames. ?man 5 virtual? virtual_maps = hash:/etc/postfix/virtual

# alias mappings (like /etc/aliases in sendmail), ?man 5 aliases? alias_maps = hash:/etc/postfix/aliases

# alias database, you might have different settings. ?man 5 aliases? alias_database = hash:/etc/postfix/aliases

# where to deliver email, Mailbox format or Maildir (traditional # /var/spool/mail). home_mailbox = Maildir/

# where to keep mail, usually /var/spool/mail/ but you can easily change it mail_spool_directory = /var/spool/mail

# what command do we use to deliver email? /usr/bin/procmail is the default # but if you want to use scanmail which is the AMaViS anti-virus tie in # software simply put: mailbox_command = /usr/sbin/scanmails

# who do I relay email for, again you can list them, or keep them in # a file (one per line). relay_domains = /etc/postfix/relaydomains

# list of local networks (by default we relay mail for these hosts). mynetworks = 10.0.0.0/24, 127.0.0.0/8

# what do we display to people connecting to port 25? By default it displays # the version number which I do not. smtpd_banner = $myhostname ESMTP $mail_name

Вообще говоря, любые файлы, которые просто вносят в список один элемент на строку (подобно /etc/postfix/mydestination или /etc/postfix/relaydomains) обычно сохраняются как плоские текстовые файлы. Файлы, которые содержат отображения (то есть псевдонимы, где Вы имеете записи вроде ?root: someuser?) должны быть превращены в hashed-файлы базы данных для быстродействия (Вы можете определять тип файла как hash, dbm, и т.д.).

Подобно большинству IBM-программ, Postfix имеет очень замороченную лицензию, но обычно имеет открытые исходники и свободен. Postfix доступен на http://www.postfix.org. Двоичный пакет postfix можно скачать с:

ftp://contrib.redhat.com/contrib/libc6/i386



ftp://ftp.debian.org/pub/debian/dists/potato/main/binary-i386/mail




ftp://ftp.suse.com/pub/suse/i386/6.2/suse/n1



Содержание раздела