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

UnixForum





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

Как в различных ситуациях конфигурировать почтовый сервер, использующий Postfix и Dovecot

Оригинал: How to configure a mail server with Postfix and Dovecot for different requirements, February 4, 2014
Автор: Sarmed Rahman
Дата публикации: 4 февраля 2014 г.
Перевод: Н.Ромоданов
Дата перевода: март 2014 г.

Полезные команды Postfix

Прежде, чем мы начнем, давайте взглянем на некоторые команды, относящиеся к пакету Postfix.

1. Сравнение команд postfix reload и service postfix restart

Чтобы перезагрузить Postfix после того, как был изменен какой-либо конфигурационный файл, можно использовать следующие две команды

  • postfix reload: Эта команда проверит конфигурационные файлы и соответствующим образом обновит пакет Postfix. Поскольку эта команда не останавливает работу пакета Postfix, ее настоятельно рекомендуем использовать в производственных условиях.
  • service postfix restart: Эта команда прежде всего останавливает работу пакета Postfix, а затем запускает его снова. Эта команда запускает свежий экземпляр пакета Postfix.

Вы можете выбрать любой вариант перезагрузки Postfix в зависимости от требований или удобства использования.

2. Команда postconf

Команда postconf является очень полезной командой пакета Postfix. Ниже приведены некоторые примеры использования команды postconf.

Для того, чтобы посмотреть значения всех параметров пакета Postfix:

# postconf 

Для того, чтобы увидеть значение конкретного параметра пакета Postfix, можно для фильтрации вывода использовать команду grep:

# postconf | grep myorigin 
append_at_myorigin = yes
myorigin = example.tst

Команду postconf также можно использовать для установки значения конкретного параметра пакета Postfix во время его выполнения.

Политика «Всегда оставлять копию»

Я видел несколько компаний, в которых придерживались политики «всегда оставлять копию письма», которая означает, что копия каждого исходящей почты автоматически отсылается на определенную учетную запись электронной почты.

В пакете Postfix этого можно достичь путем изменения одной строки в конфигурационном файле.

# vim /etc/postfix/main.cf 
## assuming that the account is allmail@example.tst ##
always_bcc = allmail
# service postfix restart 

Отмена поиска DNS

Пакет Postfix можно сконфигурировать таким образом, что поиск DNS для определенного домена всегда должен возвращать предварительно определенный адрес IP. Это очень полезный прием при тестировании, а также в тех доменах, где для различных целей используется несколько почтовых серверов.

Например, если мы хотим, чтобы пакет Postfix отправлял все письма, адресованные в домен abcd.com, на почтовый сервер с адресом IP, равным 1.2.3.4, мы можем сделать это, изменив конфигурацию Postfix следующим образом.

# vim /etc/postfix/transport 
abcd.com smtp:[1.2.3.4]
# postmap /etc/postfix/transport# service postfix restart 

ПРИМЕЧАНИЕ: убедитесь, что в файле /etc/postfix/main.cf переменная transport_maps задана правильно следующим образом.

transport_maps = hash:/etc/postfix/transport

Используем Relayhost

relayhost или smarthost является почтовым сервером провайдера, который принимает все исходящие письма, отправляемые почтовыми серверами своих клиентов. Клиент может выбрать отправлять все исходящие сообщения на сервер relayhost вместо непосредственной отправки их через Интернету. relayhost также может быть сконфигурирован на прием входящих писем от имени почтового сервера клиента путем настройки записи МХ. Конфигурирование relayhost осуществляется следующим образом.

Файл main.cf изменяется так, чтобы он указывал relayhost:

# vim /etc/postfix/main.cf 
relayhost = mail.providermx.com

## in case of IP address ##
## [ ] disables DNS lookups ##
relayhost = [100.200.100.200]
# service postfix restart 

Проверка учетной записи отправителя письма

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

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

Во-первых, мы добавляем все допустимые учетные записи.

# vim /etc/postfix/sender_access 
user1@example.tst               OK
user2@examle.tst                OK
user3@example.tst               OK
user4@example.tst               OK
## emails sent from user5 will be rejected ##
user5@example.tst               REJECT
# postmap /etc/postfix/sender_access 

Затем следующим образом устанавливаются ограничения для отправителя.

# vim /etc/postfix/main.cf 
smtpd_sender_restrictions = check_sender_access hash:/etc/postfix/sender_access, reject_unauth_destination, reject_unknown_sender_domain 
# service postfix restart 

На данный момент отравлять письма могут только с адресов user1, user2, user3 и user4. Адрес user5 и любой другой адрес отправителя будут заблокированы.

Блокирование конкретных адресов или доменов

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

# vim /etc/postfix/access 
user@qwer.com   550             address blocked
wxyz.com        550             domain blocked
# postmap access 
# vim /etc/postfix/main.cf 
smtpd_recipient_restrictions = hash:/etc/postfix/access, permit_mynetworks, permit_sasl_authenticated,reject_unauth_destination
# service postfix restart 

Примечание: можно использовать один и тот же файл для блокирования отправителя и получателя, вместо того, чтобы использовать отдельные файлы sender_access (описан выше) и access. Лично я предпочитаю иметь отдельно два файла для того, чтобы было удобно выполнять поиск и устранять проблемы.

Установка максимального размера письма и размера почтового ящика

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

# vim /etc/postfix/main.cf 
## maximum email size in bytes, including header information ##
message_size_limit = 10240000

## maximum mailbox size in bytes. 0 denotes no quota ##
mailbox_size_limit = 0
# service postfix restart 

Включение возможности использовать незашифрованный пароль в Dovecot

По соображениям безопасности сервер Dovecot IMAP/POP по умолчанию не допускает аутентификацию открытым текстом (т.е. использовать незашифрованный пароль). Но если по некоторым причинам, кому-то потребуется включить аутентификацию открытым текстом в Dovecot, то нужно использовать следующие настройки.

# vim /etc/dovecot/conf.d/10-auth.conf 
disable_plaintext_auth = no
# service dovecot restart 

Это некоторые из тех настроек, которыми часто пользуются администраторы почтовых серверов. В пакетах Postfix и Dovecot есть еще много других настроек, которыми можно пользоваться в случае необходимости.

Надеюсь, это руководство будет полезным.