第3章:Linux系统安全管理——第1节:Linux 防火墙部署(firewalld)

张开发
2026/5/17 9:29:04 15 分钟阅读
第3章:Linux系统安全管理——第1节:Linux 防火墙部署(firewalld)
目录一、项目整体框架二、项目引入1. 背景2. 核心作用三、需求分析四、知识准备一防火墙概述1. 定义2. 核心功能3. 扩展能力二防火墙分类1. 按是否专用设备划分2. 按工作原理划分1包过滤防火墙2代理服务型防火墙应用层网关3状态检测防火墙4复合型防火墙3. 四类防火墙对比三Linux 防火墙体系1. 发展历程2. 三层架构3. 主流工具对比五、项目实施firewalld 防火墙部署一安装 firewalld1. 检查安装2. YUM 安装二服务控制命令三firewalld 区域zone管理1. 区域作用2. 预定义区域默认规则3. 规则类型四图形界面配置五命令行firewall-cmd核心1. 两种配置模式2. 基础查询命令3. 区域设置4. 服务管理5. 端口管理6. 紧急模式7. 直接规则iptables 兼容8. 富规则高级控制六、综合实战Web 服务 端口转发环境步骤七、进阶NAT 地址转换firewalld 实现一NAT 基础二firewalld NAT 实现1. 双网卡网关服务器2. SNAT共享上网3. DNAT发布内网 Web八、项目小结九、扩展知识补充提升1. firewalld 与 iptables 兼容问题2. nftables 基础未来趋势3. 生产最佳实践4. 防火墙无法解决的风险一、项目整体框架项目引入网络安全需求提升防火墙成为网络边界防护核心组件需求分析掌握防火墙原理、工具使用、部署方法与生产应用知识准备防火墙基础、分类、Linux 防火墙体系项目实施firewalld 安装、区域、命令、图形配置、综合应用反思与进阶NAT 实现、内外网服务发布小结防火墙安全价值与 NAT 作用二、项目引入1. 背景网络普及→攻击成本降低→服务器必须做安全防护防火墙是访问控制技术管控网络数据交换全球超半数用户受防火墙保护是网络安全必备技术2. 核心作用隔离内外网按规则放行 / 拦截流量提供审计、监控、NAT、VPN 等扩展能力三、需求分析理解防火墙工作原理与安全价值掌握 Linux 防火墙工具firewalld/iptables能按场景部署防火墙规则适配生产环境的防火墙应用方式四、知识准备一防火墙概述1. 定义位于内部网与外部网之间的安全屏障按管理员预设规则控制数据包进出允许授权通信、拒绝未授权访问并生成访问日志。2. 核心功能边界防护强制内外网流量经防火墙提升内网私密性访问限制仅放行符合安全策略流量保护脆弱服务审计监控记录网络行为异常报警集中降低管理成本自身安全具备抗渗透能力保证防火墙不被攻破3. 扩展能力支持NAT地址转换、VPN虚拟专用网功能二防火墙分类1. 按是否专用设备划分类型原理特点适用场景硬件防火墙程序固化在芯片硬件执行过滤性能高、CPU 占用低、稳定企业网络边界、核心网关软件防火墙纯软件运行在主机系统占用资源、安全性较低单机 / 个人 PC典型软件防火墙Windows 防火墙、天网防火墙2. 按工作原理划分1包过滤防火墙工作层级网络层原理检查 IP/TCP/UDP 头源 / 目的 IP、协议、端口、ICMP 类型优点性能好、扩展性强缺点不识别应用层内容易被 IP 伪造绕过2代理服务型防火墙应用层网关工作层级应用层原理代理客户端请求中转内外网流量优点应用层控制精细缺点网络层防护弱不维护连接状态3状态检测防火墙工作层级网络层 传输层原理建立状态连接表跟踪会话上下文优点安全性高于包过滤对应用透明缺点应用层控制弱无法识别木马 / 垃圾邮件4复合型防火墙整合状态检测 透明代理 防病毒 内容过滤 IDSVPN工作层级覆盖 OSI 1~7 层优点网络层强防护、应用层细管控定位企业级主流下一代防火墙NGFW3. 四类防火墙对比包过滤无法防 IP 伪造不支持应用层代理型网络层保护弱无状态表状态检测不检查数据区应用层控制弱复合型全报文检查强安全、多功能三Linux 防火墙体系1. 发展历程内核版本过滤机制管理工具Linux 2.0ipfwipfwadmLinux 2.2ipchainipchainsLinux 2.4/2.6/3.0netfilteriptablesLinux 3.13netfilterfirewalld、iptables、nftables2. 三层架构内核层netfilter 框架内核内置的包过滤引擎用户不可直接操作结构表 → 链 → 规则决定数据包处理方式中间层守护进程对接内核与用户层传递规则用户层管理工具iptables传统静态防火墙firewalldRHEL7 默认动态、支持区域nftablesiptables 替代方案语法更简洁3. 主流工具对比iptables静态规则修改需重启底层基于 netfilterfirewalld动态管理运行时 / 永久配置分离支持区域zonenftables新框架统一替代 iptables/ip6tables/arp/ebtablesfirewalld 0.8 默认后端五、项目实施firewalld 防火墙部署一安装 firewalld1. 检查安装rpm -qa | grep firewalld2. YUM 安装yum install -y firewalld*RHEL7/CentOS7 默认已安装二服务控制命令# 启动 systemctl start firewalld # 重启 systemctl restart firewalld # 停止 systemctl stop firewalld # 查看状态 systemctl status firewalld # 开机自启 systemctl enable firewalld # 禁止开机自启 systemctl disable firewalld三firewalld 区域zone管理1. 区域作用按信任级别划分网络简化安全策略管理2. 预定义区域默认规则区域默认策略block阻塞拒绝入站返回 icmp-host-prohibitedwork工作内网信任仅放 ssh/ipp-client/dhcpv6-clienthome家庭放 ssh/ipp-client/mdns/samba-clientpublic公共默认区域仅放 ssh/dhcpv6-clientdmz隔离区仅放 ssh缓冲内外网trusted信任允许所有入站drop丢弃直接丢弃无任何响应internal内部同 home高信任external外部仅放 ssh默认开启 SNAT 伪装3. 规则类型标准规则基础放行 / 拒绝服务 / 端口直接规则direct嵌入原生 iptables 规则适配应用程序富规则rich高级语法支持日志、端口转发、速率限制、精细访问控制四图形界面配置firewall-config路径应用程序 → 杂项 → 防火墙功能可视化勾选服务 / 端口、切换区域、配置永久规则五命令行firewall-cmd核心1. 两种配置模式运行时runtime立即生效重启失效永久permanent写入配置需--reload生效2. 基础查询命令# 版本 firewall-cmd --version # 运行状态 firewall-cmd --state # 所有区域 firewall-cmd --get-zones # 默认区域 firewall-cmd --get-default-zone # 活跃区域 firewall-cmd --get-active-zones # 查看区域所有规则 firewall-cmd --zonepublic --list-all # 查看所有区域规则 firewall-cmd --list-all-zones3. 区域设置# 设置默认区域 firewall-cmd --set-default-zonehome # 网卡绑定区域 firewall-cmd --zonepublic --add-interfaceens33 # 查询网卡所属区域 firewall-cmd --get-zone-of-interfaceens334. 服务管理# 查看所有服务 firewall-cmd --get-services # 永久添加http服务 firewall-cmd --permanent --zonepublic --add-servicehttp # 永久移除ssh服务 firewall-cmd --permanent --remove-servicessh # 重载生效 firewall-cmd --reload5. 端口管理# 永久开放80/tcp firewall-cmd --permanent --zonepublic --add-port80/tcp # 永久开放端口段 firewall-cmd --permanent --zonepublic --add-port8080-8888/tcp # 移除端口 firewall-cmd --permanent --zonepublic --remove-port80/tcp6. 紧急模式# 拒绝所有包 firewall-cmd --panic-on # 取消紧急 firewall-cmd --panic-off # 查询状态 firewall-cmd --query-panic7. 直接规则iptables 兼容# 仅允许172.16.43.252访问22端口 firewall-cmd --direct --add-rule ipv4 filter INPUT 1 -p tcp --dport 22 -s 172.16.43.252 -j ACCEPT # 查看所有直接规则 firewall-cmd --direct --get-all-rules8. 富规则高级控制# 丢弃10.6.1.2所有流量 firewall-cmd --permanent --add-rich-rulerule familyipv4 source address10.6.1.2 drop # 拒绝192.168.0.11 firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address192.168.0.11/32 reject # 端口转发80→8888172.16.43.0/24网段 firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address172.16.43.0/24 forward-port port80 protocoltcp to-port8888六、综合实战Web 服务 端口转发环境Server172.16.43.254Web 端口修改为8888要求用户访问 80 端口自动转发到 8888步骤启动防火墙并开机自启systemctl start firewalld systemctl enable firewalld启动 httpdsystemctl start httpd修改 httpd 监听端口vim /etc/httpd/conf/httpd.conf Listen 8888 systemctl restart httpd开放端口段firewall-cmd --permanent --zonepublic --add-port8080-8888/tcp firewall-cmd --reload配置富规则端口转发firewall-cmd --permanent --zonepublic --add-rich-rulerule familyipv4 source address172.16.43.0/24 forward-port port80 protocoltcp to-port8888 firewall-cmd --reload测试curl 172.16.43.254七、进阶NAT 地址转换firewalld 实现一NAT 基础全称Network Address Translation作用解决 IPv4 地址不足隐藏内网 IP提升安全类型SNAT源地址转换出口转发内网访问外网DNAT目的地址转换端口映射外网访问内网服务二firewalld NAT 实现1. 双网卡网关服务器ens33external172.16.43.252外网ens38internal10.0.0.2内网内网服务器10.0.0.3Web/FTP/Mail2. SNAT共享上网# 网卡绑定区域 firewall-cmd --permanent --zoneexternal --change-interfaceens33 firewall-cmd --permanent --zoneinternal --change-interfaceens38 # 开启伪装SNAT firewall-cmd --permanent --zoneexternal --add-masquerade # 开启内核转发 echo net.ipv4.ip_forward1 /etc/sysctl.conf sysctl -p # 重载 firewall-cmd --reload内网客户端网关设为10.0.0.23. DNAT发布内网 Web# 开放http firewall-cmd --permanent --zoneexternal --add-servicehttp # 端口转发80→10.0.0.3:80 firewall-cmd --permanent --zoneexternal --add-forward-portport80:prototcp:toport80:toaddr10.0.0.3 firewall-cmd --reload八、项目小结防火墙是服务器安全边界核心firewalld 支持动态规则、区域管理、运行 / 永久配置可实现端口放行、服务控制、富规则、NAT 转换生产价值单机防护 网关防火墙 内网安全隔离九、扩展知识补充提升1. firewalld 与 iptables 兼容问题同一系统不可同时运行firewalld 与 iptables关闭 iptablessystemctl stop iptables systemctl disable iptables2. nftables 基础未来趋势# 安装 yum install -y nftables # 启动 systemctl start nftables # 基础规则示例 nft add rule inet filter input tcp dport 22 accept3. 生产最佳实践公网服务器默认使用public/dmz区域最小权限仅开放业务必需端口重要服务用富规则 源 IP 限制定期备份规则firewall-cmd --list-all-zones firewall-backup.conf开启日志firewall-cmd --set-log-deniedall4. 防火墙无法解决的风险应用层漏洞SQL 注入、XSS内部攻击、社会工程学需配合WAF、入侵检测IDS/IPS、杀毒、日志审计

更多文章