1、入侵检测系统:特点是不阻断任何网络访问,量化、定位来自内外网络的威胁情况,主要以提供报警和事后监督为主,提供有针对性的指导措施和安全决策依据,类 似于监控系统一般采用旁路部署(默默的看着你)方式。
2、入侵防御系统:以透明模式工作,分析数据包的内容如:溢出攻击、拒绝服务攻击、木马、蠕虫、系统漏洞等进行准确的分析判断,在判定为攻击行为后立即予以 阻断,主动而有效的保护网络的安全,一般采用在线部署方式
3、防火墙:隔离功能,工作在网络或主机边缘,对进出网络或主机的数据包基于一定的规则检查,并在匹配某规则时由规则定义的行为进行处理的一组功能的组件,基本上的实现都是默 认情况下关闭所有的通过型访问,只开放允许访问的策略,会将希望外网访问的主机放在DMZ (demilitarized zone)网络中。###########按照七层模型分防火墙有工在七层的防火墙和四成的防火墙两种
4、防水墙:与防火墙相对,是一种防止内部信息泄漏的安全产品
①主机防火墙:复位范围为当前一台主机
②网络防火墙:服务范围为防火墙一侧的局域网
硬件防火墙和软件防火墙
①网络层防火墙:OSI模型下四层,又称为包过滤防火墙
②应用层防火墙
防火墙的分类有很多种,主要的功能:依据策略对穿越自生的流量进行过滤。
iptables和firewalld都不是真正的防火墙,他们都是用来定义防火墙策略的防火墙管理工具而已,他们只是一种服务,iptables服务会把配置好的防火墙策略交给内核层面的netfilter网络过滤器来处理。而firewalld服务则是把配置好的防火墙策略交给内核层面的nftables包过滤框架来处理。

防火墙会安装从上到下的顺序来读取配置的策略规则,在找到匹配的之后就立即结束匹配工作并且去执行匹配项中定义的行为(即放行或不放行)。如果在读取完所有的策略规则之后没有匹配项,就去执行默认的策略。一般而言,防火墙策略规则的设置有两种:“通”(即放行)和“堵”(即阻止)。
1、在进行路由选择前处理数据包: PREROUTING ----->对数据包作路由选择前应用此链中的规则
2、处理流入的数据:INPUT ----->进来的数据包应用此规则链中的规则
3、处理流出的数据包:OUTPUT---->外出的数据包应用此规则链中的规则
4、处理转发的包:FORWARD---->转发数据包时应用此规则链中的规则
5、在进行路由选择后处理的数据包:POSTROUTING---->对数据包作路由选择后应用此链中的规则
①raw:主要用来决定是否对数据包进行状态跟踪包含两个规则链:OUTPUT、PREROUTING
②mangle : 修改数据包内容,用来做流量整形的,给数据包设置标记。包含五个规则链,INPUT、 OUTPUT、 FORWARD、 PREROUTING、 POSTROUTING
③nat:负责网络地址转换,用来修改数据包中的源、目标IP地址或端口。包含三个规则链,OUTPUT、PREROUTING、POSTROUTING。
④filter:负责过滤数据包,确定是否放行该数据包(过滤)。包含三个链,即PREROUTING、POSTROUTING、OUTPUT
四表五链小结:表中有链,链里有规则

① 当一个数据包进入网卡时,它首先进入PREROUTING链,内核根据数据包目的IP判断是否需要转送出去。
② 如果数据包就是进入本机的,它就会沿着图向上移动,到达INPUT链。数据包到了INPUT链后,任何进程都会收到它。本机上运行的程序可以发送数据包,这些数据包会经过OUTPUT链,然后到达POSTROUTING链输出。
③ 如果数据包是要转发出去的,且内核允许转发,数据包就会如图所示向右移动,经过FORWARD链,然后到达POSTROUTING链输出。
①表(tables)提供特定的功能:
iptables内置了4个表,即filter表、nat表、mangle表和raw表
filter表 功能:用来过滤数据包
nat表功能 : 用于网络地址转换(IP、端口)
mangle表功能:修改数据包的服务类型、TTL、并且可以配置路由实现QOS
raw表功能: 决定数据包是否被状态跟踪机制处理
②链(chains)是数据包传播的路径,每一条链其实就是众多规则中的一个检查清单,每一条链中可以有一 条或数条规则。当一个数据包到达一个链时,iptables就会从链中第一条规则开始检查,看该数据包是否满足规则所定义的条件。如果满足,系统就会根据该条规则所定义的方法处理该数据包;否则iptables将继续检查下一条规则,如果该数据包不符合链中任一条规则,iptables就会根据该链预先定义的默认策略来处理数据包。
③规则表:
filter表——三个链:INPUT、FORWARD、OUTPUT
nat表——三个链:PREROUTING、POSTROUTING、OUTPUT
mangle表——五个链:PREROUTING、POSTROUTING、INPUT、OUTPUT、FORWARD
raw表——两个链:OUTPUT、PREROUTING
iptables [选项]
常用选项:
| -A | 在指定链末尾追加一条 iptables -A INPUT (操作) |
| -I | 在指定链中插入一条新的,未指定序号默认作为第一条 iptables -I INPUT (操作) |
| -P | 指定默认规则 iptables -P OUTPUT ACCEPT (操作) |
| -D | 删除 iptables -t nat -D INPUT 2 (操作) |
| -R | 修改、替换某一条规则 iptables -t nat -R INPUT (操作) |
| -L | 查看 iptables -t nat -L (查看) |
| -n | 所有字段以数字形式显示(比如任意ip地址是0.0.0.0而不是anywhere,比如显示协议端口号而不是服务名) iptables -L -n,iptables -nL,iptables -vnL (查看) |
| -v | 查看时显示更详细信息,常跟-L一起使用 (查看) |
| --line-number | 规则带编号 iptables -t nat -L -n --line-number /iptables -t nat -L --line-number |
| -F | 清除链中所有规则 iptables -F (操作) |
| -X | 清空自定义链的规则,不影响其他链 iptables -X |
| -Z | 清空链的计数器(匹配到的数据包的大小和总和)iptables -Z |
| -S | 看链的所有规则或者某个链的规则/某个具体规则后面跟编号 |
| -p<协议> | 指定要匹配的数据包的协议类型 |
| -s<源地址> | 指定要匹配的数据包的源IP地址 |
| -j<目标> | 指定要跳转的目标 |
| -i<网络接口> | 指定数据包进入本机的网络接口 |
| -o<网络接口> | 指定数据包离开本机做使用的网络接口 |
| -c<包计数> | 在执行插入、追加和替换操作时初始化包计数器和字节计数器 |
1、-L :查看已有的防火墙规则链

2、 -F 清空已有的防火墙规则链

3、-P 把INPUT 规则链的默认策略设置为DROP
![]()

4、-I (大写i )向INPUT 链中添加允许ICMP流量进入的策略规则
iptables -I INPUT -p ICMP -j ACCEPT
![]()
查询:

5、-D 删除掉上面新建的icmp规则

6、-P 修改INPUT规则链的默认策略改为ACCEPT
