文章目录
Linux-防火墙
一.防火墙简述
1. 从<防护范围>进行分类
## ★ 主机防火墙:针对<单个主机>进行<网络防护>。
## ★ 网络防火墙:针对<整个网络的入口>进行<网络防护>。
2. 从<物理级别>上进行分类
## ★ 硬件防火墙:
## ☛ 在<定制硬件平台>上,通过包含<防火墙程序的专用芯片>,来实现<芯片级的防火墙功能>。
## ☛ 优点:减轻CPU负担,性能高。
## ☛ 缺点:成本高。
## ★ 软件防火墙:
## ☛ 在<通用硬件平台>上,通过<系统和应用软件>来实现<软件级的防火墙功能>。
## ☛ 优点:成本低,功能配置灵活
## ☛ 缺点:加大CPU负担。
3. 从<功能逻辑>上进行分类
## ★ 包过滤防火墙
## ☛ 工作在<传输层>,无法检查甄别<应用层数据>,<包过滤防火墙>也称<静态包过滤防火墙>。
## ☛ 缺点:逐个检查每一个<数据包>,效率低。
## 鉴于网络通讯的<双向性>,需要静态设置<两个方向>上的<过滤规则>,配置麻烦。
## ★ 状态检测防火墙
## ☛ 工作在<传输层>,<状态检测防火墙>也称<动态包过滤防火墙>,它是<包过滤防火墙>加强版。
## ☛ 特点:
## ▶ 在<内存>中持续维护一张<连接状态跟踪表>。
## ※ <连接状态跟踪表>中包含着一个个的<会话条目>。
## ※ 每一个<会话条目>通常会包括:此连接的<源地址>、<源端口>、<目标地址>、<目标连接时间>等信息;
## 对于<TCP连接>,它还应该会包含:<序列号>和<标志位>等信息。
## ※ <连接状态跟踪表>中的<会话条目>将被<超时清除>。
## ▶ 执行<首包过滤>,然后,依据<状态表>来甄别<后续合法的数据包>。
## ☛ 优点:不必开放过多端口,从而杜绝了安全隐患,不但能提高网络的性能,还能增强网络的安全性。
## ## ---------------------------------------------------------------------------------
## ## ■ 举例分析:HTTP访问
## ## ▶ 对于<包过滤防火墙>,需要配置2个方向的<规则>:
## ## ※ 出方向:访问<外网Web网站>的<客户端请求>,允许<目标port端口=80/tcp>
## ## ※ 入方向:接收<外网Web网站>的<回复数据包>,允许<目标port端口=随机??>,存在安全隐患
## ## ▶ 对于<状态检测防火墙>,仅需配置1个方向的<规则>:
## ## ※ 出方向:访问<外网Web网站>的<客户端请求>,允许<目标port端口=80/tcp>
## ## ※ 入方向:无需配置,通过<状态表>放行<外网Web网站>的<回复数据包>,自动开启/关闭<所需端口>
## ## ---------------------------------------------------------------------------------
## ★ 应用层防火墙
## ☛ 工作在<应用层>,可以检查甄别<应用层数据>。
## ☛ 优点:重新组装<应用层数据>来进行<分析>,从而可以防范<恶意代码>。
## ☛ 缺点:<应用层防火墙>一定与<协议>相关,需要针对<不同的协议>分别进行<功能开发>,通用性差。
## 由于需要重新组装<应用层数据>来进行<分析>,因此,效率会降低。
4. 堡垒主机
## ★ 堡垒主机
## ☛ 是一种被强化的可以防御进攻的主机,是一个自身保护最完善的主机。
## ▶ <堡垒主机>使用两块网卡,一块连接外网,完全暴露给外部攻击,一块连接内网。
## ▶ <堡垒主机>作为内网的入口检查点,可以集中解决网络安全问题,从而省时省力。
## ▶ <防火墙>也可以被看作堡垒主机。
## ▶ <堡垒主机>需要:禁用或删除<所有不必要的服务、协议、程序和网络端口>,并且与<内网主机>不共享<认证服务>。
二.firewalld
★ 注意: firewall 工具 是一个面向用户,方便用户的<防火墙配置工具>,<系统内核>依然是基于<iptables规则>来工作的。 firewall 工具 其实就是在帮我们配置<iptables防火墙规则>。 例如: 当我们配置了<firewall防火墙>之后,我们可以通过<iptables -nL命令>来查看<内核中的iptables规则>
1、启动:firewall 防火墙服务
systemctl enable firewalld.services
ystemctl restart firewalld.service
2、了解:firewall 的规则文件
1.规则文件的位置
(1) 位置1(用户可自定义配置):/etc/firewalld/ll /etc/firewalld/
(2) 位置2(系统配置,尽量不要修改):/usr/lib/firewalld/ll /usr/lib/firewalld/
(3) <位置1>和<位置2>的优先级 ★ <位置1> 优先于 <位置2>
2.配置文件简介
(1) 了解:firewalld zone区域 xml 配置文件(man firewalld.zone)
★ 文件位置: /etc/firewalld/zones/zone_name.xml /usr/lib/firewalld/zones/zone_name.xml
★ 作用: 定义:一个个的<防火墙规则文件>,包含着:描述信息、服务名称、端口号、协议号、ICMP数据类型、NAT功能、端口转发、rich语言 等等
★ 文件内容(举例):cat /lib/firewalld/zones/public.xml
(2) 了解:firewal