Настройка постфикс
Postfix популярный SMTP сервер, работает он на множестве операционных систем, по распространенности, он второй после sendmailа.
Есть он в портах FreeBSD в /usr/ports/mail/postfix/ Архитектура постфикс построена так, что бы максимально обеспечить безопасность системы, как я понимаю основной упор на безопасность в большинстве совеременных почтовых серверах делается, исключительно благодаря сомнительной репутации sendmail, так вот, архитектура postfix такова, что каждая задача выполняется отдельным демоном. Данная архитектура несколько затрудняет обработку всех факторов, которые можно было бы проанализировать для защиты от спама, но в целом сложностей не вызывает.
1. Установка
Как я уже упоминал, установка осуществляется из портов:
cd /usr/ports/mail/postfix make install clean
Перед сборкой, вам предложат настроить опции сборки:
┌────────────────────────────────────────────────────────────────────┐ │ Options for postfix 2.5.5,1 │ │ ┌────────────────────────────────────────────────────────────────┐ │ │ │[X] PCRE Perl Compatible Regular Expressions │ │ │ │[ ] SASL2 Cyrus SASLv2 (Simple Auth. and Sec. Layer) │ │ │ │[ ] DOVECOT Dovecot SASL authentication method │ │ │ │[ ] SASLKRB If your SASL req. Kerberos select this option │ │ │ │[ ] SASLKRB5 If your SASL req. Kerberos5 select this option │ │ │ │[ ] SASLKMIT If your SASL req. MIT Kerberos5 select this option│ │ │ │[ ] TLS Enable SSL and TLS support │ │ │ │[ ] BDB Berkeley DB (choose version with WITH_BDB_VER) │ │ │ │[ ] MYSQL MySQL maps (choose version with WITH_MYSQL_VER) │ │ │ │[ ] PGSQL PostgreSQL maps (choose with DEFAULT_PGSQL_VER) │ │ │ │[ ] OPENLDAP OpenLDAP maps (choose ver. with WITH_OPENLDAP_VER)│ │ │ │[ ] CDB CDB maps lookups │ │ │ │[ ] NIS NIS maps lookups │ │ │ │[ ] VDA VDA (Virtual Delivery Agent) │ │ │ │[ ] TEST SMTP/LMTP test server and generator │ │ ├─└────────────────────────────────────────────────────────────────┘─┤ │ [ OK ] Cancel │ └────────────────────────────────────────────────────────────────────┘
По окончании сборки, во время установки будет задано несколько вопросов.
Добавлять ли пользователя postfix к группе mail:
You need user "postfix" added to group "mail". Would you like me to add it [y]?
Рекомендую согласиться.
И прописать в /etc/mail/mailer.conf замену sendmail на postfxi:
Would you like to activate Postfix in /etc/mail/mailer.conf [n]?
если вы планирует использовать только postfix, нужно соглашаться. Это приведет к тому что стандартные команды обслуживания почтовой системы(типа mailq, sendmail) будут обращаться к postfix.
Для того, что бы отключить sendmail, необходимо выполнить команду:
/etc/rc.d/sendmail stop
А для того, что бы он больше не запускался, добавить в /etc/rc.conf:
sendmail_enable="NONE" sendmail_submit_enable="NO" sendmail_outbound_enable="NO" sendmail_msp_queue_enable="NO"
Следующие строки, необходимо внести в /etc/periodic.conf :
daily_clean_hoststat_enable="NO" daily_status_mail_rejects_enable="NO" daily_status_include_submit_mailq="NO" daily_submit_queuerun="NO"
Это отключит запуск специфических для sendmail скриптов.
По окончании установки, перейдем к настройке.
2. Настройка postfix
Конфигурация постфикс состоит из двух основных файлов master.cf и main.cf.
master.cf отвечает за настройки главного процесса постфикс, который так и называется master. master отвечает за запуск всех остальных составляющих postfixа и параметры их запуска и в файле master.cf хранятся соответсвующие настройки запуска этих компонент.
Настраивать нам ничего в нем не надо.
А вот файл main.cf, тут развернутся можно по полной программе, в конечном итоге, у меня файл настроек пришел к такому виду:
queue_directory = /var/spool/postfix command_directory = /usr/local/sbin daemon_directory = /usr/local/libexec/postfix mail_owner = postfix myhostname = hilik.org.ua myorigin = $myhostname inet_interfaces = all mydestination = $myhostname, localhost.$mydomain, localhost, hash:/usr/local/etc/postfi/local_domain unknown_local_recipient_reject_code = 550 mynetworks_style = subnet mynetworks = 127.0.0.0/8, 192.168.0.0/24 alias_maps = hash:/usr/local/etc/postfix/aliases alias_database = hash:/usr/local/etc/postfix/aliases debug_peer_level = 2 debugger_command = PATH=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin xxgdb $daemon_directory/$process_name $process_id & sleep 5 sendmail_path = /usr/local/sbin/sendmail newaliases_path = /usr/local/bin/newaliases mailq_path = /usr/local/bin/mailq setgid_group = maildrop html_directory = no manpage_directory = /usr/local/man sample_directory = /usr/local/etc/postfix readme_directory = no smtpd_sender_restrictions = permit_mynetworks reject_unknown_sender_domain warn_if_reject reject_unverified_sender
Теперь объяснения того, что ж мы тут за настройки понаписывали:
1. myhostname – имя сервера, оно в нашей конфигурации используется как имя домена для которого принимается почта, и в ответе сервера при начале SMTP диалога.
2. myorigin – имя домена, используется для того что бы привести отправляемое письмо к стандартному виду.
3. inet_interfaces – отпределяет ip адреса на которых будет отвечать postfix, all обозначает что на всех.
4. mydestination – тут перечисленны имена доменов, для которых сервер будет принимать почту
5. unknown_local_recipient_reject_code – тут можно изменить код ответа, если почта направляется, к несуществующему на сервере абоненту. Коды 5ХХ – это безусловный отказ обслуживать, на удаленном сервере письмо будет удалено из спула, а отправитель получит сообщение о недоставке. 4ХХ коды – временный отказ, письмо останется в очереди сервера отправителя, через время определенное в настройках удаленного сервера, по стандарту не менее 30 минут, будет осуществленна повторная отправка.
6. mynetworks_style – описывает, как будет сервер относится к адресам, описанным в mynetworks. subnet – разрешит отправку почты через себя всем хостам входящим в описанную подсеть. class – всем хостам входящим в тот класс сети к которому принадлежит адрес, указанный нами. И host – только единственному хосту будет разрешено пересылать почту через наш сервер.
7. mynetworks – тут перечислены адреса, которым можно пересылать почту через сервер.
8. alias_maps и alias_database – указывают пути к базе aliasов. Без них постфикс работать не будет.
Все остальное, взято из настроек по умолчанию.
Для того, что бы настроить базу алиасов необходимо сделать:
cd /usr/local/etc/postfix
изменить запись в файле aliases :
root: you
на ваш емейл:
root: hilik@hilik.org.uaи выполнить:
postalias aliases
Теперь можно приступать к запуску postfixа, для этого в /etc/rc.conf, пропишем:
postfix_enable="YES"
и затем
/usr/local/etc/rc.d/postfix start
Настройка закончена. Конечно нашей системе не хватает антиспам и антивирусной системы, на эту тему я напишу статью в ближайшее время.




By daggerok, 29.12.2009 @ 16:53
>Настройка закончена. Конечно нашей системе не хватает антиспам и антивирусной системы
для полноценности еще, пожалуй, imap/poop3 не хватает