Серверы · 3 min read · Feb 06, 2026

Идеальный сервер - Gentoo 2007.0 - Страница 5

12 Postfix с SMTP-AUTH и TLS

Сначала мы хотим установить флаги USE соответствующим образом.

echo "mail-mta/postfix sasl" >> /etc/portage/package.use   
echo "dev-libs/cyrus-sasl authdaemond urandom" >> /etc/portage/package.use   
echo "net-mail/courier-imap fam" >> /etc/portage/package.use

Затем мы фактически устанавливаем его.

emerge --ask --verbose postfix courier-imap procmail

courier-imap фактически будет установлен как зависимость postfix с этими флагами USE, но включение его в командную строку добавит его в файл world, список тех пакетов, которые мы специально хотели, в отличие от зависимостей.

Отредактируйте /etc/mail/aliases, чтобы предоставить псевдоним для root для вашего администратора. В Gentoo есть закомментированная строка, которую вам нужно завершить и раскомментировать.

root: administrator
newaliases

Теперь мы хотим настроить сам postfix. Обратите внимание, что в Gentoo он не работает в chroot по умолчанию, и заставить его это сделать в настоящее время выходит за рамки этого руководства.

Мы настраиваем Postfix для нормальной работы Maildir. Обратите внимание, что это не настраивает ничего конкретного для ISPConfig; изменения, которые нам нужно внести для ISPConfig, указаны в шаге 18.

postconf -e "myhostname = $(hostname -f)"   
postconf -e 'mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain'   
postconf -e 'mynetworks = 127.0.0.0/8'   
postconf -e 'recipient_delimiter = +'   
postconf -e 'mailbox_size_limit = 0'   
postconf -e 'inet_interfaces = all'   
postconf -e 'inet_protocols = all'   
postconf -e 'home_mailbox = Maildir/'

Теперь мы настраиваем sasl.

postconf -e 'smtpd_sasl_local_domain ='   
postconf -e 'smtpd_sasl_auth_enable = yes'   
postconf -e 'smtpd_sasl_security_options = noanonymous'   
postconf -e 'broken_sasl_auth_clients = yes'   
postconf -e 'smtpd_recipient_restrictions = permit_sasl_authenticated,permit_mynetworks,reject_unauth_destination'   
echo 'pwcheck_method: saslauthd' >> /etc/sasl2/smtpd.conf   
echo 'mech_list: plain login' >> /etc/sasl2/smtpd.conf

Теперь мы хотим создать ssl-сертификаты для postfix.

cd /etc/ssl   
vi openssl.cnf

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

countryName_default
stateOrProvinceName_default
localityName_default
0.organizationName_default
emailAddress_default

И создайте сертификаты.

cd misc   
./CA.pl -newreq-nodes   
./CA.pl -newca   
./CA.pl -sign   
cp newcert.pem newkey.pem demoCA/cacert.pem /etc/postfix/

И настройте postfix с ними.

postconf -e 'smtpd_tls_auth_only = no'   
postconf -e 'smtp_use_tls = yes'   
postconf -e 'smtpd_use_tls = yes'   
postconf -e 'smtp_tls_note_starttls_offer = yes'   
postconf -e 'smtpd_tls_key_file = /etc/postfix/newkey.pem'   
postconf -e 'smtpd_tls_cert_file = /etc/postfix/newcert.pem'   
postconf -e 'smtpd_tls_CAfile = /etc/postfix/cacert.pem'   
postconf -e 'smtpd_tls_loglevel = 1'   
postconf -e 'smtpd_tls_received_header = yes'   
postconf -e 'smtpd_tls_session_cache_timeout = 3600s'   
postconf -e 'tls_random_source = dev:/dev/urandom'

Запустите postfix и saslauthd и настройте их на запуск при загрузке.

/etc/init.d/saslauthd start   
rc-update add saslauthd default   
/etc/init.d/postfix start   
rc-update add postfix default

Чтобы проверить, работают ли SMTP-AUTH и TLS правильно, выполните следующую команду:

telnet localhost 25

После того, как вы установили соединение с вашим почтовым сервером Postfix, введите:

ehlo localhost

Если вы видите строки

250-STARTTLS

и

250-AUTH LOGIN PLAIN

все в порядке.

Вывод на моей системе выглядит так:

server1 misc # telnet localhost 25
Trying 127.0.0.1...
Connected to localhost.localdomain.
Escape character is '^]'.
220 server1.example.com ESMTP Postfix
ehlo localhost
250-server1.example.com
250-PIPELINING
250-SIZE 10240000
250-VRFY
250-ETRN
250-STARTTLS
250-AUTH LOGIN PLAIN
250-AUTH=LOGIN PLAIN
250-ENHANCEDSTATUSCODES
250-8BITMIME
250 DSN
quit
221 2.0.0 Bye
Connection closed by foreign host.

Введите

quit

чтобы вернуться к оболочке системы.

13 Courier-IMAP/Courier-POP3

Программное обеспечение courier-imap, которое нам нужно, было установлено как зависимости при установке postfix. Теперь нам просто нужно завершить его настройку.

cd /etc/courier-imap   
vi pop3d.cnf   
vi imapd.cnf

Измените параметры C, ST, L, CN и email, чтобы они соответствовали вашему серверу. В частности, убедитесь, что поле CN является именем хоста, которое почтовые клиенты будут использовать для подключения к вашему почтовому серверу. Затем,

mkpop3dcert   
mkimapdcert

Теперь вы можете запустить различные службы courier-imap и настроить их на запуск при загрузке.

/etc/init.d/courier-imapd start   
/etc/init.d/courier-imapd-ssl start   
/etc/init.d/courier-pop3d start   
/etc/init.d/courier-pop3d-ssl start   
rc-update add courier-imapd default   
rc-update add courier-imapd-ssl default   
rc-update add courier-pop3d default   
rc-update add courier-pop3d-ssl default
Share: X/Twitter LinkedIn

Get new posts in your inbox

No spam. Unsubscribe anytime.