防火墙
安全技术:
- 入侵检测机制:特点是阻断,最化,定位来自内外的网络的威胁情况。
提供报警和事后监督,类似于监控。
- 入侵防御:以透明模式工作,分析数据包的内容,一切进入本机的内容进行防护,木马蠕虫,系统漏洞进行分析判断,然后进行阻断。主动的防护机制,部署在整个架构,或者是集群的入口处。(必经之路)
- 防火墙:隔离功能,工作在网络或者主机的边缘。
对网络或者主机进出的数据包按照一定规律进行检查。(网络层转发的数据包)
在我们工作中,一般对防火墙的设置都是黑名单,拒绝所有,允许个别。
- 防水墙,透明模式工作,华为的ensp监控就是防火墙。一切对于防水墙都是透明的。
在事前,事中,事后,都可以进行检测。
防护墙:
保护范围:主机防火墙,仅为当前主机服务。
网络防火墙,防护的是另一侧的局域网。
网络防火墙,iptables,包过滤防火墙。
访问控制,每个数据包的源ip地址,目的ip地址,端口号,协议等进行组合式监控,由此来判断数据包是否允许通过。
面试题:
通信的五要素和四要素:
源/目的ip 源/目的端口 协议
源/目的ip 源/目的端口
iptables:系统自带的包过滤防火墙。
firewalld:主机防火墙,也有包过滤的功能。Centos7以后集成的。
Iptables:内置防火墙,内置四个表,而且所有的表中,配置规则,配置后立即生效,不需要重启服务
(面试)四表五链:
四个表?
raw:连接跟踪,跟踪数据的一种机制,配置了之后,可以加快防火墙的穿越速度(关闭raw里面的追踪。)
mangle:修改数据包的标记位规则。
nat:地址转换的规则表
filter:包过滤规则表,根据预定义的规则,人工设置的规则,对符合条件的数据包进行过滤,也是iptables的默认表
五个链?
prerouting链:处理数据包进入本机之前的规则
INPUT链:处理数据包进入本机的规则 NAT
FORWARD:处理数据包转发到其他主机的规则
output:处理本机发出的数据包的规则,一般不做处理
postrouting:处理数据包离开本机之后的规则 NAT
四个表是有优先级的:
raw-------->mangle------->nat--------->filter
表里有链,链里面有规则。
iptables的配置规则,写在链当中。
管理选项:
-A:在指定链的末尾进行追加
-I:在指定链插入新的规则,可以指定插入规则的位置(序号)
-P:修改默认策略(链的策略)
-D:删除指定链
-R:修改,替换规则
-L:查看指定链当中的规则
-n:以数字形式显示规则
-v:查看详细信息
--line-numbers:给每个链中的规则进行编号查看。
-F:清空指定链当中的规则(慎用)
-X:清空自定义链的规则
-t:指定声明
匹配条件:
-p:指定数据包的协议类型
-s:指定数据包的源ip地址
-d:指定数据包的目的ip地址
-i:指定数据包进入本机的网络接口。
-o:指定数据包离开本机的时候使用的网络接口
--sport指定源端口
--dport指定目的端口号
控制类型:
ACCEPT:允许数据包通过
DROP: 拒绝数据包通过,直接丢弃数据包,不给任何回应的信息
REJECT: 拒绝,拒绝数据包通过,但是会给一个回应的信息。
SNAT:修改数据包的源地址
DNAT:修改数据包的目的地址
匹配规则的策略:
从上往下按照规则顺序匹配:匹配到了规则,后面的规则就不再匹配。针对相同规则的类型,匹配到之后后续的规则也不生效
只查看filter表中指定链INPUT的信息 进行编号查看

若不指定则默认清空filter表

-I指定插入INPUT链 1:编号 -p:指定协议 -j指定控制类型

-A指定链进行追加 -s指定ip地址 -p指定协议 -j指定控制类型

-A指定链进行追加 -s指定ip地址 -p指定协议 --dport22:指定22端口 -j指定控制类型

如何对规则进行删除操作?
先查再删,根据序号来删

如何对规则进行修改?(一般不改)
iptables -R INPUT 1 -p icmp -j ACCEPT
如何修改默认策略?
Iptables -P INPUT DROP

通用匹配规则:ip+端口+网段+接口(网卡设备)
先清空并查看

一 ip+端口

二 网段+接口(网卡)
三 拒绝整个网段访问tcp80端口

iptables命令格式:
iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型]
-t:如果不指定 默认是filter
表名、链名用来指定 iptables 命令所操作的表和链,未指定表名时将默认使用 filter 表
实验部分:
拓扑图:
Test1 192.168.233.10 内网
Test2 ens33 192.168.233.254
Ens36 12.0.0.254
做SNAT的地址转换
Test3 20.0.0.100 外网



改两边:
左边
开启阿帕奇服务


三台终端全部重启网卡
进入虚拟机修改
网关服务器
![]()
-t指定表明 nat:地址转换表名
-A 添加一条规则,在行尾追加
POSTROUTING 在出本机的时候添加一个地址转换规则
-s 192.168.233.0/24 指定源ip地址
-o ens36 从网卡设备嗯是36出去的数据都会做转换
-j SNAT: 指定控制类型,源地址转换
--to 10.0.0.10 所有的ip地址属于233.0这个网段,只要你是从ens出来得,都会把他们的ip地址转换成10.0.0.10
![]()
sysctl.conf
修改内核参数文件,可以立即生效

做目的地址专换
Iptables -t nat -A PREROUTING -d 11.0.0.11 -i ens36 -p tcp --dport 80 -j DNAT --to 192.168.233.10:80
-t nat 指定地址转换表
-A PREROUTING 在进入本机之后添加地址转化的规则
-d 11.0.0.11 指定目的地址
-i ens36 进入内网的设备接口
-p tcp 指定协议
--dport 指定目的端口,80
-j DANT 转化目的地址
--to 192.168.233.10:80 只要从和ens36这个网络接口进入本机内网的ip地址,访问内网服务http的80端口,目的ip都可以转换成11.0.0.11
面试题:
问:Linux系统能抓包吗?
答:tcpdump 是Linux自带的抓包工具,只能抓包,不能分析,可以保存到桌面,用wireshank分析
Wrieshark只适用于windows抓包
抓包方式:1.指定抓包的数量
- 动态抓包,一直会获取包,除非人工干预
格式:tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.233.0/24 -w ./target.cap
这个 就是抓包的数量十个包
Tcpdump 抓包命令,固定开头
Tcp 抓包的协议是什么
-i 经过,只抓取经过ens33的数据包
-t 不显示时间戳
-c 指定抓包个数
ds port 80 访问的是http 80
Src net 192.168.233.0/24
-w 抓包的数据,保存位置 .cap
firewalld centos7自带的,和iptables一样,也是包过滤防火墙
Firewalld过滤,通过区域来进行配置
Iptables是静态的防火墙
Firewalld 是动态的防护墙
Firewalld 靠的是区域:
- trusted 信任区,所有流量都可传入
- Public 公共区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝,也是firewalld的默认区域
- External 外部区域,允许ssh或者dhcpv6-vlient的流量可以传入,其他的全部拒绝,默认通过此区域转发的ipv4流量地址,可以进行伪装
- Home家庭区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝
- Internal 内部区域,默认值与home区域的作用相同
- Work 工作区域,允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝
- DMZ 隔离区,非军事区:允许ssh,其他的预定义号配置,其他的全部拒绝
- Block 限制区,拒绝所有的流量
- Drop 丢弃区域,所有流量都会丢弃,没有任何响应
dhcpv6-client获取ipv6地址的客户端工具


怎么访问区域内允许的服务

添加服务
![]()
删除服务

一次性添加多个服务
![]()
端口管理,怎么添加和移除端口
添加端口
![]()
移除端口
![]()
添加多个端口

添加范围端口
![]()
本文详细介绍了防火墙的功能,如入侵检测和防御机制,以及iptables和firewalld在包过滤和区域管理上的应用。还涵盖了通信要素、iptables的配置规则和firewalld的动态特性。
5777

被折叠的 条评论
为什么被折叠?



