Debian下配置防火墙iptables
为了防止网络攻击和滥用,配置一个有效的防火墙是非常必要的。Iptables是在Linux系统下常用的防火墙。
在Debian系统下,如果没有安装iptables,你可以通过以下命令安装:
sudo apt-get update
sudo apt-get install iptables
一旦安装了iptables,你就可以通过以下步骤来配置它:
1. 设置默认规则
默认情况下,iptables防火墙是关闭的。在开启 iptables 服务之前,我们需要设置默认规则,以便过滤所有未匹配的数据包。
这些规则一般如下:
- INPUT 政策:DROP/DENY,拒绝所有来自外部源的流入数据。
- OUTPUT 政策:ACCEPT,允许在服务器上产生的所有流量。
- FORWARD 政策:DROP/DENY,拒绝所有通过服务器的流量。
您可以使用以下命令设置默认规则:
sudo iptables -P INPUT DROP
sudo iptables -P OUTPUT ACCEPT
sudo iptables -P FORWARD DROP
2. 允许本机访问
要允许本机访问所有服务,您可以使用以下规则:
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
3. 允许SSH访问
为了允许SSH访问,我们需要打开22号端口。如果您使用的是不同的端口,请相应地更改规则。
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
4. 防止针对DOS攻击
为了防止DOS(拒绝服务)攻击,我们需要限制每个IP的最大连接数,您可以使用以下规则:
sudo iptables -A INPUT -p tcp -m connlimit --connlimit-above 80 --connlimit-mask 24 -j REJECT --reject-with tcp-reset
5. 防止端口扫描
为了防止端口扫描,我们需要限制同一IP的每秒连接数,您可以使用以下规则:
sudo iptables -A INPUT -p tcp -m state --state NEW -m recent --set
sudo iptables -A INPUT -p tcp -m state --state NEW -m recent --update --seconds 1 --hitcount 5 -j DROP
这样做将拒绝每个IP连续的5个新连接在1秒内。
6. 保存iptables规则
最后,一旦您添加了 iptables 规则,您需要将它们永久保存下来,以便在系统重启后自动加载。
sudo iptables-save > /etc/iptables/rules.v4
在今后,如果您将需要修改 iptables 规则,您可以编辑这个规则文件,并重新加载它们:
sudo iptables-restore < /etc/iptables/rules.v4
本文所述只是iptables常规的一些规则,如果有服务器需要提供更复杂的服务,还需要根据实际情况添加和调整规则。总之,iptables是保护服务器安全的一个重要工具,在配置之前,务必确定你了解你所添加规则的意义和作用以及可能带来的影响。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Debian下配置防火墙iptables - Python技术站