7 postfix
我目前正在部署另一个 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
Run Code Online (Sandbox Code Playgroud)
没有任何描述最小配置的手册页,并且每个服务的手册页并没有真正说明是否需要某个模块(对于某些模块来说很容易弄清楚,对于其他人来说几乎不可能没有无休止的试错)。
我当前失败的尝试如下(省略了提交端口,现在我只是想让邮件投递工作):
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
Run Code Online (Sandbox Code Playgroud)
这有点工作,除了所有收到的邮件仅在重新启动 Postfix 时才交付(到 maildir),而且我很确定它不完整并且无法处理退回,所以我仍在寻找答案。
我不会建议您从默认的 master.cf 中删除服务。当您尝试极简配置时,您已经被它咬住了。
postfix 有很多服务的原因之一是安全性。优点之一是 postfix 由单独的守护进程/服务运行以执行特定任务。因此,postfixmaster
可以调整每个 postfix 服务的权限和特权。例如qmgr(8) 守护进程不与外界通信,它可以在 chroot 环境中以固定的低权限运行。
无论如何,我没有时间进行无休止的反复试验以了解什么是可以禁用的 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
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4526 次 |
最近记录: |