我使用这些规则的 IP 表来允许后缀使用 OpenDKIM 加密发送和接收,但它们是否太宽松了?
我不想成为一个中继机器人,或者让我的服务器处于危险之中。
- 我不需要 POP3(110),因为我不存储邮件或管理邮箱。
- 也不需要安全的 POP3(995)。
- 我不需要 IMAP(143),因为我并没有尝试访问远程服务器上的邮件。
- 也不需要安全 IMAP(993)。
- 我确实需要 SMTP(25),因为我要发送电子邮件,
- 我需要安全的 SMTP(465) ---
通过端口 53 验证 txt 签名的 OpenDKIM DNS 查找规则是可以的。
我目前正在为 Postfix 使用这些规则
$IPT -A INPUT -p tcp -m multiport --dports 25,465,587 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
$IPT -A OUTPUT -p tcp -m multiport --dports 25,465,587 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
INPUT 25 用于接收和发起可能提升为 587 的 SMTP 请求。NEW
有意义,ESTABLISHED 是必要的吗?
INPUT/OUTPUT 465 本来是用于接收 SSL/SMTP 但显然它被 IANA 重新分配给了一项新服务,所以我将其删除。
INPUT 587 是用于 TLS/SMTP,也就是我们想要的加密邮件。NEW
有意义,ESTABLISHED 是必需的吗?
OUTPUT 25 用于发送纯 SMTP OUTPUT 587 用于发送 TLS/SMTP NEW 是有意义的,但是 ESTABLISHED 呢?
任何帮助都值得感激...
答案1
在所有情况下,您都需要允许ESTABLISHED
流量。否则,任何连接尝试都不会完成。必须在所有链上允许此操作,例如INPUT
和OUTPUT
和FORWARD
(如果您正在使用它)。
如果你不允许,你需要双倍的允许的每个连接的规则都是双向的(连接及其回复以及通过切换 IP/端口)。
此外,ESTABLISHED
每条链一个规则就足够了。您不需要为每个 IP/端口都设置一个规则。以下是示例:
iptables -A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A INPUT -p tcp -m multiport --dports 25,465,587 -m conntrack --ctstate NEW -j ACCEPT