Mau*_*aus 5 linux smtp spam iptables
因为我们在 CBL 上被列入黑名单,所以我使用 iptables 设置了以下防火墙规则:
#!/bin/bash
iptables -A OUTPUT -d 127.0.0.1 -p tcp -m tcp --dport 25 -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 25 -m owner --gid-owner mail -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 25 -m owner --uid-owner root -j ACCEPT
iptables -A OUTPUT -p tcp -m tcp --dport 25 -m owner --uid-owner Debian-exim -j ACCEPT
iptables -A OUTPUT -p tcp -m limit --limit 15/minute -m tcp --dport 25 -j LOG --log-prefix "LOCAL_DROPPED_SPAM"
iptables -A OUTPUT -p tcp -m tcp --dport 25 -j REJECT --reject-with icmp-port-unreachable
Run Code Online (Sandbox Code Playgroud)
我无法使用 root 以外的其他用户或邮件组成员从本地主机连接到端口 25 -> 所以它似乎可以工作。
还有一些问题仍然存在:
/usr/sbin/sendmail此规则集是否也限制或阻止了使用?将 OUTPUT 表的策略设置为 DROP 然后显式打开相关端口等可能会更好,但这将非常特定于您的环境,因此是 OP 的练习。
您可以使用-m multiport匹配多达 15 个端口,例如
iptables -A OUTPUT -p tcp -m multiport --dports 25,587 -m owner --gid-owner mail -j ACCEPT
Run Code Online (Sandbox Code Playgroud)
允许组邮件在两个端口上发送或
您可以像这样记录新的出站连接
iptables -A OUTPUT -p tcp -m multiport --dports 25,587 -m state --state NEW -j LOG --log-uid --log-prefix "LOCAL_DROPPED_SPAM "
Run Code Online (Sandbox Code Playgroud)
你会收到这样的消息
11 月 11 日 12:52:26 主机名内核:LOCAL_DROPPED_SPAM IN= OUT=eth0 SRC=192.168.254.181 DST=192.168.254.187 LEN=60 TOS=0x10 PREC=0x00 PREC=0x00 PREC=0x00 PREC=0x00 5 TTL=676 TTCP3PT D TTL=674 ID = eth0 SRC=192.168.254.181 25 WINDOW=14600 RES=0x00 SYN URGP=0 UID=1000 GID=1000
iptables -A OUTPUT -p tcp -m multiport --dports 25,587 -j DROP
Run Code Online (Sandbox Code Playgroud)
最终删除两个端口上的所有出站连接。
请记住,iptables 操作按照它们在表中的顺序进行规则,第一个匹配获胜,因此
| 归档时间: |
|
| 查看次数: |
5675 次 |
| 最近记录: |