我们正在运行 CentOS 6.5,必须发送电子邮件但不需要接收。我想阻止所有传入到 postfix、pop3 和 imap 的登录尝试。我找到了 iptables 或 fail2ban 的提示,但我想阻止所有,而不仅仅是基于 IP。我已经在 postfix 的 main.cf 中设置了“inet_interfaces = loopback-only”,但仍然收到类似消息(我用“ip”等替换了真实 IP 地址):
pop3d: Connection, ip=[::ffff:ip]
pop3d: IMAP connect from @ [::ffff:ip]checkmailpasswd: FAILED: brooklyn - short names not allowed from @ [::ffff:ip]ERR: LOGIN FAILED, ip=[::ffff:ip]
pop3d: LOGOUT, ip=[::ffff:ip]
postfix/smtpd[5640]: connect from unknown[ip]
postfix/smtpd[5640]: lost connection after UNKNOWN from unknown[ip]
所以,我的问题是:这可能是一个严重的安全问题,我该怎么做才能阻止这些尝试?
请耐心等待,我不是系统管理员,我只是想做这件事。
以下是“iptables -L -n -v”的当前输出:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
非常感谢您迄今为止提出的建议。禁用 POP 和 IMAP 听起来不错。经过短暂的研究,我发现 couriertcpd 正在这样做:
netstat -lnp | grep courier
tcp 0 0 :::110 :::* LISTEN 1143/couriertcpd
tcp 0 0 :::143 :::* LISTEN 1125/couriertcpd
tcp 0 0 :::993 :::* LISTEN 1135/couriertcpd
tcp 0 0 :::995 :::* LISTEN 1152/couriertcpd
然后我在“/etc/init.d/courier-imap”中找到:
daemon_name=couriertcpd
因此“courier-imap”应该是相关服务。
答案1
尝试
iptables -A INPUT -p tcp -m multiport --dports 25,110,143,993,995 -j REJECT
这应该会阻止所有进入 TCP 端口 25 (SMTP)、IMAP(纯文本和安全;143 和 993)和 POP(同上,110 和 995)的尝试。如果 postfix 监听 MUA 端口(可能是 587),您也需要将其添加到列表中。
话虽如此,John Auld 上面提出的不要运行不需要的服务的建议也是非常好的。