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

Полезные команды 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 этого можно достичь путем изменения одной строки в конфигурационном файле.

# nano /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 следующим образом.

# nano /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:

# nano /etc/postfix/main.cf

relayhost = mail.providermx.com

## in case of IP address ##

## [ ] disables DNS lookups ##

relayhost = [100.200.100.200]

# service postfix restart

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

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

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

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

# nano /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

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

# nano /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 можно сконфигурировать таким образом, чтобы блокировать входящие и исходящие письма с адресов конкретных отправителей или из определенных доменов. Это можно сделать с помощью следующей конфигурации.

# nano /etc/postfix/access

user@qwer.com   550             address blocked

wxyz.com        550             domain blocked

# postmap access

# nano /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. Обычно имеют отдельно два файла для того, чтобы было удобно выполнять поиск и устранять проблемы.

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

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

# nano /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, то нужно использовать следующие настройки.

# nano /etc/dovecot/conf.d/10-auth.conf

disable_plaintext_auth = no

# service dovecot restart

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

Добавить комментарий

Ваш адрес email не будет опубликован.