Минимальный постфикс master.cf

Минимальный постфикс master.cf

В настоящее время я развертываю еще один Postfix MTA, и на этот раз мне хотелось бы сократить количество master.cfи отключить ненужные службы, чтобы уменьшить потенциальную поверхность атаки, а также лучше понять процесс.

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

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

Ужас, о котором идет речь:

# ==========================================================================
# service type  private unpriv  chroot  wakeup  maxproc command + args
#               (yes)   (yes)   (no)    (never) (100)
# ==========================================================================
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
tlsmgr    unix  -       -       n       1000?   1       tlsmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce
verify    unix  -       -       n       -       1       verify
flush     unix  n       -       n       1000?   0       flush
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp
showq     unix  n       -       n       -       -       showq
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
anvil     unix  -       -       n       -       1       anvil
scache    unix  -       -       n       -       1       scache

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

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

smtp inet n - - - - smtpd
cleanup unix n - - - 0 cleanup
qmgr unix - - - 300 1 qmgr
rewrite unix - - - - - trivial-rewrite
proxymap unix - - - - - proxymap
virtual unix - n - - - virtual
anvil unix - - - - 1 anvil
local unix - n - - - local

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

решение1

Я бы не рекомендовал вам удалять услугу изпо умолчанию мастер.cf. Вы были укушены этим, когда попробовали минималистичную конфигурацию.

Одна из причин, по которой у Postfix так много служб, заключается в следующем:безопасность. Одним из преимуществ является то, что postfix запускается отдельным демоном/службой для выполнения определенной задачи. Таким образом, postfix masterможет настраивать разрешения и привилегии для каждой службы postfix. Напримерqmgr(8) демонне взаимодействует с внешним миром и может работать с фиксированными низкими привилегиями в изолированной среде.

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

# INPUT SERVICE
smtp      inet  n       -       n       -       -       smtpd
#submission inet n       -       n       -       -       smtpd
pickup    unix  n       -       n       60      1       pickup

# PROCESSING SERVICE
cleanup   unix  n       -       n       -       0       cleanup
qmgr      unix  n       -       n       300     1       qmgr
rewrite   unix  -       -       n       -       -       trivial-rewrite

# OUTPUT SERVICE
error     unix  -       -       n       -       -       error
retry     unix  -       -       n       -       -       error
discard   unix  -       -       n       -       -       discard
local     unix  -       n       n       -       -       local
virtual   unix  -       n       n       -       -       virtual
lmtp      unix  -       -       n       -       -       lmtp
smtp      unix  -       -       n       -       -       smtp
relay     unix  -       -       n       -       -       smtp

# HELPER
# Generate bounce
bounce    unix  -       -       n       -       0       bounce
defer     unix  -       -       n       -       0       bounce
trace     unix  -       -       n       -       0       bounce

# For postfix recipient/sender verification See www.postfix.org/ADDRESS_VERIFICATION_README.html
verify    unix  -       -       n       -       1       verify

# Outgoing Connection manager 
scache    unix  -       -       n       -       1       scache

# TLS Cache Manager
tlsmgr    unix  -       -       n       1000?   1       tlsmgr

# maintains statistics about client connection counts or client request rates
anvil     unix  -       -       n       -       1       anvil

# Needed by mailq command
showq     unix  n       -       n       -       -       showq

# Needed by postqueue -f
flush     unix  n       -       n       1000?   0       flush

# Proxymap
proxymap  unix  -       -       n       -       -       proxymap
proxywrite unix -       -       n       -       1       proxymap

Связанный контент