一、UOS Linux防火墙配置
uos linux防火墙配置包含两套框架:
趋势:nftables在逐步取代Netfilter/iptables软件框架
考试重点:IPtables是考试重点。其他配置工具及nft与IP tables在配置上大同小异。考试不要求学生会写这些配置命令,但需能看懂并理解其含义和效果,以应对选择题。
常见用法如下:
firewall-cmd --permanent --add-port=443/tcp
firewall-cmd -- permanent --add-rich-rule= "rule family="ipv4" source address="10.0.30.5" port protocol="tcp" port="3389" accept"
firewall-cmd --reload
filter表(iptables)中的三条链:input、output和forward的含义及应用
考点提示:历年考试中,iptables防火墙的配置是重点考察内容,特别是input链的应用。因此,理解并掌握这三条链的含义及应用是至关重要的。
iptables【-t表名】管理选项【链名】条件匹配-j执行动作
iptables -t filter -A INPUT -s 192.168.184.20 -p tcp -- dport 22 -j DROP
上述命令的含义:阻止来自 IP 地址 192.168.184.20 的 SSH(TCP 端口 22)连接请求。执行这条规则后,来自该 IP 地址的 SSH 访问将被防火墙阻止。
192.168.184.20
IP tables配置案例:
iptables -nL
iptables -A INPUT -s 10.0.80.10 -j DROP
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -s 10.0.30.5/32 -p tcp -m tcp --dport 3389 -j ACCEPT
service iptables save
考试重点:第三和第四种类型的配置命令是考试中的高频考点,尽管命令较长,但理解起来相对容易,需特别注意。
nft(Network Filter Tables)是一个新的防火墙工具,用于替代传统的iptables。
nft list tables #查看所有表。nft list命令可以列出所有的表。nft list table ip filter #查看ip簇filter表的所有规则,ip filter表里包含了input、output和forward三条链,与iptables类似nft list chain filter INPUT #查看filter表INPUT链的规则,默认为ip簇nft list ruleset #查看所有规则
nft list tables
#查看所有表。nft list命令可以列出所有的表。
nft list table ip filter
#查看ip簇filter表的所有规则,ip filter表里包含了input、output和forward三条链,与iptables类似
nft list chain filter INPUT
#查看filter表INPUT链的规则,默认为ip簇
nft list ruleset
#查看所有规则
例题:请问上述所有规则使用的是黑名单的防火墙还是白名单的防火墙技术?
黑名单和白名单哪个的安全性会更高?
表操作主要包括添加表、删除表以及列出表中的规则
表的操作符包括:
以下是具体的操作示例:
命令示例:
nft list table ip filter #查看ip簇filter表的所有规则nft add table ip filter #创建ip簇的filter表nft add table ipv6 filter #创建ipv6簇的filter表
nft list table ip filter #查看ip簇filter表的所有规则
nft add table ip filter #创建ip簇的filter表
nft add table ipv6 filter #创建ipv6簇的filter表
链的操作符包括:
基本规则链类型包括:
filter链的一个操作是包过滤(packet filtering),这就是IPtables防火墙或者Linux防火墙的核心功能。
命令示例
nft add chain ip filter test { type filter hook input priority 0\; }
命令执行后效果:
table ip filter{chain test { type filter hook input priority filter; policy accept; }}
table ip filter
{
chain test { type filter hook input priority filter; policy accept; }
}
规则配置的操作符包括:
例:
nft add rule filter test tcp dport 22 accept #filter表的INPUT链增加规则,开放tcp 22端口
nft add rule filter test tcp dport 22 accept
#filter表的INPUT链增加规则,开放tcp 22端口
table ip filter{chain test { type filter hook input priority filter; policy accept; tcp dport 22 accept }}
chain test { type filter hook input priority filter; policy accept; tcp dport 22 accept }
工具类型
操作场景
命令
说明
firewalld
查看当前 IPtables 规则
以数字形式显示规则,不解析域名,速度更快
开放 HTTPS 端口(永久生效)
需重载配置才能生效,端口可根据需求替换(如 80/tcp 对应 HTTP)
允许特定 IP 通过 RDP 访问
firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="3389" accept"
需将 “192.168.1.100” 替换为实际允许的 IP,3389 为 RDP 默认端口
重载配置使修改生效
无需重启服务,即可应用永久配置的修改
iptables
查看所有规则
与 firewalld 共用此命令,可快速查看当前生效的过滤规则
拒绝特定 IP 访问
“10.0.80.10” 为目标 IP,DROP 表示直接丢弃数据包,不返回任何响应
允许外部访问 TCP 80 端口
开放 HTTP 默认端口,若需开放 UDP 端口,将 “tcp” 改为 “udp”
保存当前配置
避免重启后规则丢失,部分系统也可使用iptables-save > /etc/sysconfig/iptables
iptables-save > /etc/sysconfig/iptables
删除指定规则
iptables -D INPUT -s 10.0.80.10 -j DROP
需与添加规则的命令格式一致,将 “-A”(添加)改为 “-D”(删除)
nftables
查看所有表
显示当前系统中 nftables 创建的所有表,默认无表需手动创建
创建 filter 表(IPv4)
nft add table ip filter
“ip” 表示 IPv4,若需 IPv6,将 “ip” 改为 “ip6”
在 filter 表中添加 INPUT 链
nft add chain ip filter INPUT { type filter hook input priority 0 }
绑定 “input” 钩子,优先级设为 0,用于过滤进入服务器的流量
允许外部访问 SSH 端口
nft add rule filter INPUT tcp dport 22 accept
22 为 SSH 默认端口,accept 表示允许符合条件的流量通过
查看所有规则集
显示所有表、链及对应的规则,便于整体检查配置
知识点
核心内容
考试重点/易混淆点
Web服务软件
Linux常用Apache和Nginx,Windows用IIS
端口号区分:Apache默认80(HTTP)/443(HTTPS),IIS支持Web/FTP/SMTP服务
虚拟主机标识方法
基于IP/端口/域名三种方式
同一IP不同端口可绑定多个网站(如80/443/8080)
Apache配置
配置文件路径/etc/httpd.conf,关键参数:监听端口/运行用户/网站根目录
根目录考题:不同版本路径差异(如/var/www/html)
Nginx特性
高性能/低内存/热部署,支持反向代理与负载均衡
与Apache对比:内存占用更小(约10MB),并发能力更强
反向代理功能
负载均衡/缓存加速/安全性增强(隐藏后端IP+SSL配置)
与正向代理区别:反向代理面向服务器,正向代理面向客户端
安全漏洞修复
SQL注入防御措施:部署WAF+输入过滤
考题案例:Apache 2.4.26版本存在SQL注入漏洞
服务管理命令
systemctl start/stop/status httpd(Apache)
systemctl start/stop/status nginx
易混淆点:Windows的IIS通过服务管理器操作