首先,我很抱歉我的英语,而不是我的第一语言。
我在想关于IPtables的事。我读了很多关于它的文章和帖子,并认为我至少对它有一点了解。
我花了好几个小时尝试各种规则的组合..。你觉得呢?这是一个很好的外形,“安全”吗?
提前谢谢!
#!/bin/bash
#iptables-restore < /etc/iptables.test.rules
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# Autorise les connexions déjà établies et localhost
iptables -A INPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i lo -j ACCEPT
#iptables -A OUTPUT -o lo -j ACCEPT
TOR
iptables -A OUTPUT -p tcp -m tcp --dport 9050 -j ACCEPT
# ICMP (Ping)
iptables -A INPUT -p icmp -j DROP
iptables -A OUTPUT -p icmp -j DROP
# DNS
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
# HTTP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
#HTTPS
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
# Mail SMTP
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT
#Transmission
iptables -A INPUT -p udp --dport 51413 -j
ACCEPT
iptables -A OUTPUT -p udp --sport 51413 -j ACCEPT
# NTP (horloge du serveur)
iptables -A OUTPUT -p udp --dport 123 -j ACCEPT
# On log les paquets en entrée.
iptables -A INPUT -j LOG
# On log les paquets en sortie.
iptables -A OUTPUT -j LOG
# On log les paquets forward.
iptables -A FORWARD -j LOG
exit 0发布于 2019-04-25 07:31:53
首先,我想提到的是,在本地计算机上配置防火墙并不是必须的。如果您没有直接连接到公共互联网(请不要这样做),您的家庭路由器/防火墙提供了一个基本的安全水平。我不是说你想做的事是完全没有意义的。我只是说,如果你不完全明白你在做什么,就不要走得太远。
那么对于IPtable规则。我的建议是从小开始,一步一步地增加规则。例如,从以下方面开始:
iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP
# DNS
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT
# HTTP
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT
#HTTPS
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT
#Allow servers to respond to the packets that are send by this device
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT通过浏览到google.com来测试规则。如果这有效,则逐步添加其余的规则。这比在一堆规则上反复尝试容易得多。
我不明白你所用的所有规则。其中有些看起来很奇怪。基于tcp标志的规则是高级别的。为此,您需要知道tcp/udp是如何工作的。所以暂时别管他们,把注意力集中在其他人身上。
另外,当您使用默认的DROP策略时,不需要像SSH那样添加额外的拖放规则。你使用的规则越少,就越容易理解。
一个额外的建议,这可能是有用的Wireshark您的流量,以便您看到发生了什么。请注意,取决于Wireshark正在寻找的位置,它将影响您将看到的流量。我只是不能确切地告诉你Wireshark会在哪里捕捉交通。也许其他人可以?
我希望这会有进一步的帮助。否则就随便问吧。
https://askubuntu.com/questions/1137597
复制相似问题