安全技术:(市场上常见的防御)
1.入侵检测机制
阻断,量化,定位来自内外的网络的威胁情况
提供报警和事后监督。类似于监控。
2.入侵防御
以透明模式工作,分析数据包的内容,一切进入本机的内容进行防护,木马,蠕虫,系统漏洞进行分析判断,然后进行阻断。主动的防护机制。部署在整个架构,或者是集群的入口处。(必经之路。)
3.防火墙
隔离功能,工作在网络或者主机的边缘 路由
对网络或者主机的数据包按照一定规则进行检查。(网络层转发数据包)
一般对防火墙的设置都是白名单,拒绝所有,允许个别。
保护范围:主机防火墙,仅为当前主机服务。
网络防火墙,防护的是另一侧的局域网。
网络层防火墙,iptables包过滤防火墙
访问控制,每个数据包的源IP地址,目的IP地址,端口号,协议等等进行组合式监控,由此来判断数据包是否允许通过。
iptables: 系统自带的包过滤防火墙。
firewalld: 主机防火墙,他也有包过滤的功能。centos7以后集成的。
4.防水墙
透明模式工作,华为的ensp监控就是防火墙。一切对于防水墙都是透明的
事前,事中,事后都可以进行检测

通信的五大要素和四要素
源/目的ip 源/目的mac 端口 协议。
源/目的ip 源/目的mac 端口
iptables
内核防火墙,内置四个表,而且在所有表中配置规则,配置后立即生效,不需要重启服务。
四个表
| raw | 连接跟踪,跟踪数据的一种机制。配置了之后,可以加快防火墙的穿越速度(关闭raw里面的追踪。) |
| mangle | 修改数据包的标记规则 |
| nat | 地址转化的规则表 |
| filter | 包过滤规则表。根据预定义的规则,人工设置的规则,对符合条件的数据包进行过滤,也是iptables的默认表 |
| 四表的优先级:raw---mangle---nat---filter | |
表里有链,链里面有规则;iptables的配置规则,写在链当中。
五个链
| prerouting链 | 处理数据包进入本机之前的规则 NAT |
| input链 | 处理数据包进入本机的规则。 包能否进来 |
| FORWARD链 | 处理数据包转发到其他主机的规则。 包能否转发 |
| output链 | 处理本机发出的数据包的规则,一般不做处理。 |
| postrouting链 | 处理数据包离开本机之后的规则 NAT |
数据流程图

安装iptables
systemctl stop firewalld
yum -y install iptables iptables-services
systemctl restart iptables
iptables管理选项:
| 选项 | 说明 |
| -A | 在指定链的末尾进行追加 |
| -I | 在指定链插入新的规则。可以指定插入规则的位置 |
| -P | 修改默认策略(链的策略) |
| -D | 删除 |
| -R | 修改,替换规则 |
| -L | 查看指定链当中的规则 |
| -n | 以数字形式显示规则 |
| -v | 查看详细信息 |
| --line-number | 给每个链中的规则进行编号查看 |
| -F | 清空指定链当中的规则(慎用) |
| -X | 清空自定义链的规则 |
| -t | 指定表名 |
匹配条件
匹配策略:从上到下按照规则顺序匹配,相同类型匹配,只生效第一条
| -p | 指定数据包的协议类型 |
| -s | 指定数据包的源ip地址 |
| -d | 指定数据包的目的ip地址 |
| -i | 指定数据包进入本机的网络接口 |
| -o | 指定数据包离开本机的时候使用的网络接口 |
| --sport | 指定源端口 |
| --dport | 指定目的端口号 |
控制类型
| -j | 后面跟上控制类型 |
| ACCEPT | 允许数据包通过 |
| DROP | 拒绝数据包通过,直接丢弃数据包,不给任何回应的信息 |
| REJECT | 拒绝,拒绝数据包通过,但会给一个回应的信息 |
| SNAT | 修改数据包的源地址 |
| DNAT | 修改数据包的目的地址 |
通用匹配规则
ip+端口+网段+接口(网卡设备)
1.查看filter中的 INPUT表
iptables -t filter -vnL INPUT --line-numbers

num pkts bytes target prot opt in out source destination
num:--line-numbers 序号
pkts:匹配规则收到的报文个数
bytes:包的大小综合
target:规则对应的动作
port:规则对应的协议
2.清空filter表中的规则
iptables -F
3.拒绝所有主机ping
iptables -t filter -A INPUT -p icmp -j REJECT
4.在第一行插入新规则允许ping
iptables -t filter -I INPUT 1 -p icmp -j ACCEPT

5.对ip 进行设置
对ping本机进行限制
1.对单个ip拒绝
iptables -A INPUT -s 192.168.10.20 -p icmp -j REJECT
2.对多个ip决绝
iptables -A INPUT -s 192.168.10.20,192.168.10.30 -p icmp -j REJECT
6.对端口进行拒绝
1.对192.168.10.20的22端口进行限制---禁止20远程登陆本机
iptables -A INPUT -s 192.168.10.20 -p tcp --dport 22 -j REJECT
s--源主机限制
7.指定规则删除

删除INPUT里的第一条规则
iptables -D INPUT 1
1--协议序号
8.-R 修改
注意同时源地址改变,工作中极少使用

9.修改链的策略
工作中都拒绝所有,允许个别
修改INPUT策略
iptables -P INPUT DROP
10.指定网段

11.拒绝22端口和80端口
1.拒绝20网段80端口
iptables -A INPUT -s 192.168.20.0/24 -p tcp --dport 20:80 -j REJECT
小号端口在前,大号端口在后
2.拒绝20网段20,30,80,90,254端口
iptables -A INPUT -s 192.168.20.0/24 -p tcp -m multiport --dport 20,80,30,90,254 -j REJECT
-m (+控制模块 ,明确指定类型 多端口 MAC地址 ip范围)显示匹配
| nultiport 端口 |
| iprange --src-range 源ip |
| iprange --dst-range 目的ip |
| mac --mac-source 源mac |
12.指定多个端口

13.指定匹配IP地址范围

14.指定匹配mac地址

自定义链:
添加自定义链
iptables -N LIU2
自定义链重命名
iptables -E LIU2 LIU3
删除自定义链
iptables -X 自定义列名
自定义链的实现
在自定义链添加规则,将自定义列添加到系统原有链中(添加如下图)规则才会实现

删除自定义规则和链
先将自定义链从系统默认链中删除,再将自定义链中的规则删除,最后删除自定义链
策略备份和还原
备份 iptables-save >/opt/iptables.bank
还原 iptables-restore < /opt/iptable.bank
默认策略存放位置 /etc/sysconfig/iptables 立即生效






![[python 刷题] 4 Median of Two Sorted Arrays](https://img-blog.csdnimg.cn/d9d96d974d344ad480d570600eeb8dac.jpeg#pic_center)











![[强网杯 2022]factor有感](https://img-blog.csdnimg.cn/4cc3392429c64c8eb679216e8be2808d.bmp)