我正在努力使用 iptables 保护我的 lamp 服务器(debian 9)。
正如你可能知道的那样。原则是阻止所有端口,然后只允许我需要的端口。
目前我已经成功打开了几乎所有我需要的端口,例如 ssh、http/https、icmp、dns、smtp、mysql...
但是我的 lamp 服务器需要使用 CIFS 从 Windows 服务器挂载两个 Windows 共享
mount -t cifs -o user=user,rw //<ip adresse> /share1 /var/share1
在设置 iptables 之前它工作得很好,我尝试137
138
139
445
使用 iptables 命令打开 tcp 和 udp 端口
- - - 输入
--------------UDP
iptables -t filter -A INPUT -p udp --dport 137 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 139 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 445 -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 138 -j ACCEPT
--------------TCP
iptables -t filter -A INPUT -p tcp --dport 137 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 139 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 445 -j ACCEPT
iptables -t filter -A INPUT -p tcp --dport 138 -j ACCEPT
- - - 输出
--------------UDP
iptables -t filter -A OUTPUT -p udp --sport 137 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --sport 138 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --sport 139 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --sport 445 -j ACCEPT
--------------TCP
iptables -t filter -A OUTPUT -p tcp --sport 137 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 138 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 139 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 445 -j ACCEPT
可悲的是,虽然没有欢乐,我的 iptables -L 看起来像
root@Debian-VM:~# iptables -L
Chain INPUT (policy DROP)
target prot opt source destination
[...]
ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-ns
ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-dgm
ACCEPT tcp -- anywhere anywhere tcp dpt:netbios-ssn
ACCEPT tcp -- anywhere anywhere tcp dpt:microsoft-ds
ACCEPT udp -- anywhere anywhere udp dpt:netbios-ns
ACCEPT udp -- anywhere anywhere udp dpt:netbios-dgm
ACCEPT udp -- anywhere anywhere udp dpt:netbios-ssn
ACCEPT udp -- anywhere anywhere udp dpt:microsoft-ds
[...]
Chain FORWARD (policy DROP)
target prot opt source destination
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
[...]
ACCEPT tcp -- anywhere anywhere tcp spt:netbios-ns
ACCEPT tcp -- anywhere anywhere tcp spt:netbios-dgm
ACCEPT tcp -- anywhere anywhere tcp spt:netbios-ssn
ACCEPT tcp -- anywhere anywhere tcp spt:microsoft-ds
ACCEPT udp -- anywhere anywhere udp spt:microsoft-ds
ACCEPT udp -- anywhere anywhere udp spt:netbios-ssn
ACCEPT udp -- anywhere anywhere udp spt:netbios-dgm
ACCEPT udp -- anywhere anywhere udp spt:netbios-ns
[...]
我缺少什么?
预先感谢您的答复
尼古拉斯
答案1
因为我只安装了 cifs-utils 我不需要138
139
137
这对我有用:
iptables -t filter -A OUTPUT -p tcp --dport 445 -j ACCEPT
iptables -t filter -A INPUT -p tcp --sport 445 -j ACCEPT
我希望这对其他人有帮助:-)