最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
如何用Linux防火墙抵御恶意攻击
时间:2026-07-16 07:08:58 编辑:袖梨 来源:一聚教程网
使用Linux防火墙(如iptables或firewalld)阻止恶意攻击是一种有效的安全措施。以下是一些基本步骤和策略,帮助你配置防火墙以增强系统安全性:
使用iptables
更新iptables规则:
- 首先,确保你的iptables是最新的。你可以使用包管理器来更新它,例如在Debian/Ubuntu上使用
sudo apt update && sudo apt upgrade iptables。
- 首先,确保你的iptables是最新的。你可以使用包管理器来更新它,例如在Debian/Ubuntu上使用
默认策略:
- 设置默认策略为DROP,这意味着所有未经明确允许的流量都将被丢弃。
sudo iptables -P INPUT DROPsudo iptables -P FORWARD DROPsudo iptables -P OUTPUT ACCEPT
- 设置默认策略为DROP,这意味着所有未经明确允许的流量都将被丢弃。
允许必要的流量:
- 允许SSH连接(假设使用默认端口22):
sudo iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 22 -m conntrack --ctstate ESTABLISHED -j ACCEPT - 允许HTTP/HTTPS流量:
sudo iptables -A INPUT -p tcp --dport 80 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 80 -m conntrack --ctstate ESTABLISHED -j ACCEPTsudo iptables -A INPUT -p tcp --dport 443 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPTsudo iptables -A OUTPUT -p tcp --sport 443 -m conntrack --ctstate ESTABLISHED -j ACCEPT
- 允许SSH连接(假设使用默认端口22):
限制连接数:
- 为了防止DDoS攻击,可以限制每个IP地址的连接数:
sudo iptables -A INPUT -p tcp --syn -m connlimit --connlimit-above 5 -j DROP
- 为了防止DDoS攻击,可以限制每个IP地址的连接数:
保存规则:
- 保存iptables规则以确保它们在重启后仍然有效。不同的发行版有不同的方法来保存规则,例如在Debian/Ubuntu上可以使用
iptables-persistent:sudo apt install iptables-persistentsudo netfilter-persistent savesudo netfilter-persistent reload
- 保存iptables规则以确保它们在重启后仍然有效。不同的发行版有不同的方法来保存规则,例如在Debian/Ubuntu上可以使用
使用firewalld
安装firewalld:
- 如果尚未安装,可以使用包管理器进行安装,例如在Debian/Ubuntu上:
sudo apt update && sudo apt install firewalld
- 如果尚未安装,可以使用包管理器进行安装,例如在Debian/Ubuntu上:
启动并启用firewalld:
- 启动firewalld服务并设置为开机自启:
sudo systemctl start firewalldsudo systemctl enable firewalld
- 启动firewalld服务并设置为开机自启:
配置默认区域:
- 设置默认区域为drop,并允许必要的流量:
sudo firewall-cmd --set-default-zone=dropsudo firewall-cmd --permanent --zone=trusted --add-interface=losudo firewall-cmd --permanent --zone=trusted --add-source=127.0.0.1sudo firewall-cmd --reload
- 设置默认区域为drop,并允许必要的流量:
允许SSH连接:
sudo firewall-cmd --permanent --zone=trusted --add-service=sshsudo firewall-cmd --reload允许HTTP/HTTPS流量:
sudo firewall-cmd --permanent --zone=trusted --add-service=httpsudo firewall-cmd --permanent --zone=trusted --add-service=httpssudo firewall-cmd --reload限制连接数:
- firewalld本身不直接支持连接数限制,但可以通过其他工具(如fail2ban)来实现。
其他安全措施
- 使用fail2ban:fail2ban可以监控日志文件并自动封禁恶意IP地址。
- 定期更新系统:确保操作系统和所有软件都是最新的,以修补已知的安全漏洞。
- 使用强密码和多因素认证:增强账户安全性。
- 监控和日志记录:定期检查系统日志和安全日志,以便及时发现异常活动。
通过这些步骤,你可以显著提高Linux系统的安全性,有效阻止恶意攻击。