在Debian系统中,可以使用iptables或ufw(Uncomplicated Firewall)来配置防火墙以防止攻击。以下是使用这两种方法的步骤:
iptables更新系统:
sudo apt update && sudo apt upgrade
安装iptables(如果尚未安装):
sudo apt install iptables
设置默认策略: 通常,我们希望拒绝所有进入的流量,只允许特定的流量通过。
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT
允许必要的流量:
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p udp --dport 53 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p udp --sport 53 -m conntrack --ctstate ESTABLISHED -j ACCEPT
保存iptables规则: Debian系统默认不会保存iptables规则,因此需要手动保存。
sudo sh -c "iptables-save > /etc/iptables/rules.v4"
设置iptables开机自启动: 创建一个systemd服务来加载iptables规则。
sudo nano /etc/systemd/system/iptables-restore.service
添加以下内容:
[Unit]
Description=Restore IPTables rules
After=network.target
[Service]
Type=oneshot
ExecStart=/sbin/iptables-restore < /etc/iptables/rules.v4
[Install]
WantedBy=multi-user.target
启用并启动服务:
sudo systemctl enable iptables-restore
sudo systemctl start iptables-restore
ufw安装ufw(如果尚未安装):
sudo apt install ufw
启用ufw:
sudo ufw enable
配置ufw规则:
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw allow 53/udp
查看ufw状态:
sudo ufw status
禁用ufw(如果需要):
sudo ufw disable
通过以上步骤,你可以在Debian系统中配置防火墙以防止攻击。建议定期更新系统和防火墙规则,以确保安全性。