文章目录
- Firewalld,iptables概述
- Firewalld了解
- iptables了解
- Firewalld和iptables的关系
- netfilter
- Firewalld、iptables
- netfilter和Firewalld,iptables三者之间的关系
- Firewalld和iptables的区别
- Netfilter与iptables区别
- 四表五链
- iptables的表,链
- 规则链
- 默认包含5种规则链
- 规则表
- 默认包括4个规则表
- 数据包的过滤的匹配流程
- 规则表之间的顺序
- 规则链之间的顺序
- iptables语法格式与常用参数
- 常用的显示匹配条件
- Firewalld网络区域
- 区域介绍
- Firewalld防火墙的配置方法
- Firewall-config图形工具
Firewalld,iptables概述
Firewalld了解
支持网络区域所定义的网络链接以及接口安全等级的动态防火墙管理工具
支持IPv4,IPv6防火墙设置以及以太网桥
拥有两种配置模式
支持服务或应用程序直接添加防火墙规则接口
- 运行时配置(一般测试的时候使用)
- 永久配置
iptables了解
c,真正实现防火墙功能的是Netfilter,我们配置类iptables规则后Netfilter通过这些规则来进行防火墙过滤等操作
Firewalld和iptables的关系
netfilter
- 位于Linux内核中的包过滤功能体系
- 称为Linux防火墙的“内核态”
Firewalld、iptables
- CentOS 7默认的管理防火墙规则的工具(Firewalld)
- 称为Linux防火墙的“用户态”
netfilter和Firewalld,iptables三者之间的关系
Firewalld和iptables的区别
centos7有firewalld,iptables
centos6是iptables
Firewalld | iptables | |
---|---|---|
配置文件 | /usr/lib/firewalld,/etc/firewalld | /etc/sysconfig/iptables |
对规则的修改 | 不需要全部刷新策略,不丢失现行连接 | 需要全部刷新策略,丢失链接 |
防火墙类型 | 动态防火墙 | 静态防火墙 |
Firewall是不需要重启服务,iptables要重服务
Netfilter与iptables区别
Netfilter的模块越多,防火墙的功能也就越多,而且我们可以通过升级内核的方式来达到一起升级Netfilter的目的,iptables是Linux的防火墙管理工具而已,netfilter通过这些规则来进行防火墙过滤等操作
四表五链
iptables的表,链
规则链
规则的作用:对数据包进行过滤或处理
链的作用:容纳各种防火墙规则
链的分类依据:处理数据包的不同时机
默认包含5种规则链
- PREROUTING:在进行路由选择前处理数据包
- INPUT :进系统 处理入站数据包
- FORWARN: 处理转发数据包
- OUTPUT: 处理出站数据包
- POSTROUTING: 在进行路由选择后处理数据包
规则表
表的作用:容纳各种规则
表的划分依据:防火墙规则的作用形似
默认包括4个规则表
- Raw表:决定数据包是否被状态跟踪机制处理
- Mangle表:为数据包设置标记
- Nat表:修改数据包中的源,目标ip地址或端口
- filter表:确认是否放行该行数据包
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0J9NpJkw-1596287698579)(D:/新建文件夹/qq4EE558CF6F90A08FC3A2FBB01BA179E8/039fd4a6e5604cffa49f0d4eabc4897e/clipboard.png)]
数据包的过滤的匹配流程
规则表之间的顺序
raw》》》mangle》》》nat》》》filter
规则链之间的顺序
入站:PREROUTING》》》INPUT
出战:OUTPUT》》》POSTROUTING
转发:PREROUTING》》》FORWARN》》》POSTROUTING
PREROUTING》》》INPUT》》》FORWARN》》》OUTPUT》》》POSTROUTING
规则链的匹配顺序
按顺序依次排查,匹配即停止(LOG策略例外)
若找不到匹配规则,则按该链的默认策略处理
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-n1IG5ewO-1596287698583)(D:/新建文件夹/qq4EE558CF6F90A08FC3A2FBB01BA179E8/9457a7e4830143ef9d1ee68a36615e05/clipboard.png)]
iptables语法格式与常用参数
iptables [-t 表名] 选项 [链名] [条件] [-j 控制类型]
如果不指定表名,则会默认指定filter表
不指定链名时,默认指表内所有链
选项,链名,控制类型使用大写字母,其他小写
iptables常用参数
-P 设置默认策略:iptables
-P INPUT(DROP|ACCEPT)
-L 查看规则链
-n 以数字形式显示地址,端口等信息
-v 以更详细的方式显示规则信息
-A 在规则链的末尾加入新规则
-I num 在规则链的头部加入新规则
-D num 删除某一条规则
-F 清空规则链
-s 匹配来源地址IP/MASK,加感叹号“!”表示除了这个IP外
-d 匹配目标地址
-i 网卡名称 匹配从这块网卡流入的数据
-o 网卡名称 匹配从这块网卡流出的数据
-p 匹配协议,如tcp,udp,icmp
--dport num 匹配目标端口号
--sport num 匹配来源端口号
iptables命令使用总结
所有链名必须大写
INPUT/OUTPUT/FORWARD/PREROUTING/POSTROUTING
所有表名必须小写
filter/nat/mangle
所有动作必须大写
ACCEPT/DROP/SNAT/DNAT/MASQUERADE
所有匹配必须小写
-s/-d/-m <module_name>/-p
常用的显示匹配条件
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DBuXz4OJ-1596287698589)(D:/新建文件夹/qq4EE558CF6F90A08FC3A2FBB01BA179E8/0527b962d53e4b5bb99a2118db9742d5/clipboard.png)]
[root@localhost~]# yum install httpd -y
[root@localhost~]# systemctl start httpd
[root@localhost~]# iptables -I INPUT -i ens33 -p tcp --dport 80 -s 192.168.197.141/24 -j ACCPET '在规则链头部加入规则,指定从ens33网卡流入的,匹配tcp协议,匹配80端口(httpd的端口号)匹配源ip地址(win10),指定控制类型为接受'
[root@localhost~]# iptables -L '查看策略是否设置成功'
Firewalld网络区域
区域介绍
区域 | 描述 |
---|---|
drop(丢弃) | 任何接收的网络数据包都会被丢弃,没有任何回复。仅能有发送出去的网络连接 |
block(限制) | 任何接收的网络连接都被IPv4的icmp-host-prohibited信息和IPv6的icmp6-adm-prohibited信息所拒绝 |
public(公共) | 在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的链接 |
external(外部) | 特别是为路由器启动了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信他们不会对您的计算机造成危害,只能接收经过选择的连接 |
dmz(非军事区) | 用于您的非军事区内的电脑,此区域内可公开访问,可以有限的进入您的内部网络,仅仅接收经过选择的连接 |
work(工作) | 用于工作区,您可以基本相信网络内的其他电脑不会危害您的电脑,仅仅接收经过选择的连接 |
home(家庭) | 用于家庭网络,您可以基本信任网络内的其他计算器不会危害您的计算机,仅仅接收经过选择的连接 |
internal(内部) | 用于内部网络,您可以基本上信任网络内的其他计算机不会威胁您的计算机,仅仅接受经过选择的连接 |
trusted(信任) | 可接收所有的网络连接 |
- 区域如同进入主机的安全门,每个区域都具有不同限制程度的规则
- 可以使用一个或多个区域,但是任何一个活跃区域至少需要关联源地址或接口
- 默认情况下,public区域是默认区域,包含所有接口(网卡)
- iptables没有区域的概念
- 外部流量通过规则进入相应的区域接口(网卡)
irewalld数据处理流程
- 检查数据来源的源地址
- 若源地址关联到特定的区域,则执行该区域所指定的规则
- 若源地址未关联到特定的区域,则使用传入网络接口的区域并执行该区域所指定的规则
- 若网络接口未关联到特定的区域,则使用默认区域并执行该区域所指定的规则
Firewalld防火墙的配置方法
- 运行时配置
- 实时生效,并持续至firewalld重新启动或重新加载配置
- 不中断现有连接
- 不能修改服务配置
- 永久配置
- 不立即生效,除非firewalld重新启动和重新加载配置
- 中断现有连接
- 可以修改服务配置
- firewall-config图形工具(用的少)
- firewall-cmd命令行工具(用的多)
- /etc/firewalld/中的配置文件
- firewalld会优先使用/etc/firewalld/中的配置,如果不存在配置文件,则使用/usr/bin/firewalld/中的配置
- /etc/firewalld/:用户自定义配置文件,需要时可通过从/usr/lib/firewalld/中拷贝
- /usr/lib/firewalld/:默认配置文件,不建议修改,若恢复至默认配置,可以直接删除/etc/firewalld/中的配置
Firewall-config图形工具
包含运行时配置/永久配置
重新加载防火墙
- 更改永久配置并生效
关联网卡到指定区域
修改默认区域
服务端口
端口号 | 端口说明 | 服务 |
---|---|---|
21/20 | ftp文件传输协议 | ftp 20数据端口、21监听端口 |
22 | SSH远程连接 | SSH |
23 | Telnet远程连接 | 爆破、嗅探、弱口令 |
53 | DNS域名系统 | 允许区域传送、DNS挟持、欺骗 |
67/68 | DHCP服务 | 挟持、欺骗 |
80 | 常见web端口 | http |
443 | 常见web加密端口 | https |
445 | SMB服务 | SMB |
3389 | 远程桌面连接 | Windows远程桌面服务 |
区域”选项卡
block :堵塞区域
dmz:非军事化区域
drop :丢失区域
external :外部区域
home :家
internal :内部区域
public:公共区域
trusted :信任区域
work :工作区域
- 服务”子选项卡
- “端口”子选项卡
- “协议”子选项卡
- “源端口”子选项卡
- “伪装”子选项卡
- “端口转发”子选项卡
- “ICMP过滤器”子选项卡
区域”选项卡
block :堵塞区域dmz:非军事化区域drop :丢失区域external :外部区域home :家internal :内部区域public:公共区域trusted :信任区域work :工作区域