我正在尝试获得后期工作。我已经关注手册页并且它已经正确运行 smtp。
但我也想将它用于 smtps(添加smtp
与中相同的行,master.cf
但使用smtps
),我会在 syslog 中收到如下失败消息:
postfix/postscreen[8851]: fatal:
btree:/var/lib/postfix/postscreen_cache: unable to get exclusive lock:
Resource temporarily unavailable
有人说 postscreen 只能运行一次;没关系。但我可以对smtp
和使用相同的 postscreen 会话smtps
吗?如果不行,如何为 smtps 启用 postscreen?
任何帮助都将不胜感激!
配置的各个部分:
main.cf
postscreen_access_list = permit_mynetworks,cidr:/etc/postfix/postscreen_access.cidr
postscreen_dnsbl_threshold = 8
postscreen_dnsbl_sites = dnsbl.ahbl.org*3 dnsbl.njabl.org*3 dnsbl.sorbs.net*3 pbl.spamhaus.org*3 cbl.abuseat.org*3 bl.spamcannibal.org*3 nsbl.inps.de*3 spamrbl.imp.ch*3
postscreen_dnsbl_action = enforce
postscreen_greet_action = enforce
master.cf
(满的)
smtpd pass - - n - - smtpd
smtp inet n - n - 1 postscreen
tlsproxy unix - - n - 0 tlsproxy
dnsblog unix - - n - 0 dnsblog
### the problematic line ###
smtps inet n - - - - smtpd
pickup fifo n - - 60 1 pickup
cleanup unix n - - - 0 cleanup
qmgr fifo n - n 300 1 qmgr
tlsmgr unix - - - 1000? 1 tlsmgr
rewrite unix - - - - - trivial-rewrite
bounce unix - - - - 0 bounce
defer unix - - - - 0 bounce
trace unix - - - - 0 bounce
verify unix - - - - 1 verify
flush unix n - - 1000? 0 flush
proxymap unix - - n - - proxymap
proxywrite unix - - n - 1 proxymap
smtp unix - - - - - smtp
relay unix - - - - - smtp
showq unix n - - - - showq
error unix - - - - - error
retry unix - - - - - error
discard unix - - - - - discard
local unix - n n - - local
virtual unix - n n - - virtual
lmtp unix - - - - - lmtp
anvil unix - - - - 1 anvil
scache unix - - - - 1 scache
dovecot unix - n n - - pipe
flags=DRhu user=virtuser:virtuser argv=/usr/bin/spamc -e /usr/lib/dovecot/deliver -d ${recipient} -f {sender}
答案1
为 SMTPS 启用 postscreen 是没有意义的。
Postscreen 的发明是为了阻止垃圾邮件机器人攻击真正的 SMTP 服务器。但我从未见过垃圾邮件机器人使用 SMTPS。只有真正的服务器才会使用 SMTPS,这也会绕过 postscreen 防线。所以你的方法没用。