在Linux系统中配置网络安全策略,核心是通过防火墙工具对进出系统的网络流量进行过滤和管控,常见的工具包括iptables和ufw,不同工具适用于不同的使用场景,下面分别介绍两种工具的配置方法。

使用iptables配置网络安全策略
iptables是Linux系统原生的防火墙工具,功能强大但配置相对复杂,适合需要精细化管控网络流量的场景。
查看现有规则
在配置新规则前,可以先查看当前系统已有的iptables规则,避免规则冲突:
# 查看filter表的所有规则,显示行号和详细规则信息 iptables -L -n -v --line-numbers
配置基础过滤规则
iptables默认包含三个常用链:INPUT(入站流量)、OUTPUT(出站流量)、FORWARD(转发流量),我们可以针对不同的链添加规则:
# 设置默认策略,INPUT链默认丢弃所有入站流量,OUTPUT和FORWARD链默认允许所有流量 iptables -P INPUT DROP iptables -P OUTPUT ACCEPT iptables -P FORWARD DROP # 允许本地回环接口的流量,避免本地服务通信异常 iptables -A INPUT -i lo -j ACCEPT # 允许已建立连接和相关连接的入站流量,保证正常通信的回包可以通过 iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT # 开放22端口(SSH服务),仅允许指定IP段192.168.1.0/24访问 iptables -A INPUT -p tcp -s 192.168.1.0/24 --dport 22 -j ACCEPT # 开放80端口(HTTP服务),允许所有IP访问 iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 拒绝来自114.114.114.114的所有入站流量 iptables -A INPUT -s 114.114.114.114 -j DROP
规则持久化
iptables的规则默认是临时的,系统重启后会丢失,需要将规则保存到文件中实现持久化:
# 保存当前iptables规则到指定文件 iptables-save > /etc/iptables.rules # 配置开机加载规则,编辑/etc/rc.local文件,添加以下内容(需确保rc.local有执行权限) iptables-restore < /etc/iptables.rules
使用ufw配置网络安全策略
ufw是iptables的简化前端工具,操作更简单,适合新手或者不需要复杂规则配置的场景,大部分主流Linux发行版都默认预装或可快速安装。
启用和关闭ufw
# 启用ufw防火墙,启用后会默认拒绝所有入站流量,允许所有出站流量 ufw enable # 关闭ufw防火墙 ufw disable # 查看ufw状态和当前规则 ufw status verbose
配置端口和IP访问规则
# 允许80端口的TCP流量入站 ufw allow 80/tcp # 允许443端口的TCP和UDP流量入站 ufw allow 443 # 允许来自10.0.0.0/8网段的所有流量入站 ufw allow from 10.0.0.0/8 # 拒绝来自203.0.113.5的22端口访问 ufw deny from 203.0.113.5 to any port 22 # 删除之前添加的允许80端口的规则 ufw delete allow 80/tcp
ufw规则持久化
ufw的规则默认会自动持久化,不需要额外操作,规则会保存在/etc/ufw/目录下,系统重启后会自动加载。
策略验证和注意事项
配置完成后,需要验证规则是否生效,可以通过访问对应端口或者查看规则列表确认:
- 使用
iptables -L或者ufw status确认规则已经正确添加 - 从外部机器测试对应端口的连通性,确认允许的规则可以正常访问,拒绝的规则无法访问
- 配置默认丢弃入站规则前,一定要先开放SSH端口,避免配置完成后无法远程连接服务器
- 如果服务器有公网IP,尽量不要开放不必要的端口,减少攻击面
注意:修改网络安全策略前建议先备份原有规则,避免配置错误导致服务不可用,如果出现配置错误无法远程连接的情况,可以通过服务器控制台本地登录恢复规则。