📅  最后修改于: 2023-12-03 15:35:26.799000             🧑  作者: Mango
Ubuntu防火墙是一款基于iptables的防火墙程序,它可以帮助管理员控制通信流量。在Ubuntu中,可以使用Ubuntu防火墙来保护服务器免受攻击。本篇文章将介绍如何使用Shell/Bash编写Ubuntu防火墙脚本。
我们需要先设置默认的防火墙策略:
#!/bin/bash
# 设置默认规则
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
如果您需要远程连接到您的主机,则需要允许SSH连接:
# 允许SSH连接
iptables -A INPUT -p tcp --dport 22 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
如果您的主机正在运行Web服务器,则需要允许HTTP/HTTPS连接:
# 允许HTTP连接
iptables -A INPUT -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 80 -m state --state ESTABLISHED -j ACCEPT
# 允许HTTPS连接
iptables -A INPUT -p tcp --dport 443 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p tcp --sport 443 -m state --state ESTABLISHED -j ACCEPT
您还可以添加其他规则,例如:
# 允许ICMP echo请求
iptables -A INPUT -p icmp --icmp-type 8 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -p icmp --icmp-type 0 -m state --state ESTABLISHED -j ACCEPT
编写脚本后,需要保存规则:
# 保存规则
iptables-save > /etc/iptables.rules
在系统重新启动后,需要重新加载规则:
# 加载规则
iptables-restore < /etc/iptables.rules
Ubuntu防火墙是一款强大的防火墙程序,可以保护服务器免受攻击。本文介绍了使用Shell/Bash编写Ubuntu防火墙脚本的方法,并演示了基本的规则。您可以根据自己的需求添加其他规则。