防火墙:firewalld(隔离功能)
病毒防护:
- 1、入侵检测系统:在互联网访问的过程中,不阻断任何网络访问,也不会定位网络的威胁,提供警告和事后的监督,类似于监控
- 2、入侵防御系统:透明工作模式,在判定为攻击行为或者是病毒威胁时,主动的隔断
防水墙:
防止内部信息泄露的产品,在网络、外设接口等等全方位的实现监控(信息安全)
防火墙的隔离规则
- 1、对进出网络或者主机的数据包基于一定的规则进行检查,匹配到的则放行,不匹配的就会隔离在主机之外,它一般位于网络边缘或是主机边缘
主机防火墙:
网络防火墙
linux系统主机自带防火墙:
- iptables:centos7以前是系统的默认防火墙
- firewalld:centos7的默认防火墙
- ufw:Ubuntu的防火墙,自带的,默认就没有规则
iptables:
-
属于用户态防火墙,通过表匹配链 ·········>规则对数据包的放行 / 拒绝进行匹配
-
表是自带的,链是已有的,规则是人工配置的,规则一旦配置,立即生效,不需要重启
表:四表★★★★★★
↓
1、raw表:用来控制数据包的状态跟踪,决定是否跳过后续的处理流程2、mangle表:用于修改数据包的头部信息3、nat表:做网络地址转换,改变数据包的源地址和目的地址,用于内网和外网之间通信4、filter表:用来过滤数据包,可以控制数据包的进出,以及是否接受或者拒绝数据包- 表的优先级:
raw---->mangle--->nat--->filter(iptables不指定表名时,默认是filter)
链:五链★★★★★★
↓
- INPUT:处理数据包进入本机的规则- OUTPUT:处理本机发出的或者是其他请求响应的数据包的规则,一般不做限制- FORWARD:处理数据包转发到其他主机的规则(对数据包转发进行限制)- PREROUTING:处理数据包进入本机之前的规则(地址转换)- POSTROUTING:处理数据包离开本机之后的规则(地址转换)
规则内的匹配顺序:
1、自上而下,按照顺序依次进行检查,找到了匹配的规则即停止
2、链内没有规则,就会按照链的默认策略进行处理
命令:
-
iptables -t ------ 表名(不加表名默认就是filter表)+管理选项 ------ 链名 ------ 匹配的条件 -j ------ 控制类型
-
-A :在指定链的末尾添加一条规则
-
-I(大写的i):在指定链中插入一条新的规则,根据序号来进行插入
-
-P:指定链的默认规则(慎用,没有特殊需求不要修改)
-
-D:删除链例的规则,根据规则的序号进行删除
-
-R:修改或替换某一条规则(不常用)
-
-L:查看规则
-
-n:数字化的展示规则的字段
-
-v:查看详细信息
-
-line-number:查看规则时带有编号
-
-F:清除链中的所有规则(慎用)
-
-x:清空自定义链的规则
匹配条件:
- -p:匹配数据包的协议
- -s:匹配数据包的源地址
- -d:匹配数据包的目的地址
- -i:指定数据包进入本机的网络接口
- -o:数据包离开本机使用的网络接口
- -sport:指定源端口
- -dport:指定目的端口
控制类型:
- 1、ACCEPT:允许数据包通过
- 2、DROP:直接丢弃数据包,没有任何回显信息
- 3、REJECT:拒绝数据包通过,但是会有一个回显信息
- 4、SNAT:修改数据包的源地址
- 5、DNAT:修改数据包的目的地址
-m:扩展模块
多开端口:
- -m multiport --sport:源端口列表
- -m multiport --dport:目的端口列表
mac地址:
- -m mac --mac source:源mac地址
- -m mac --mac destination:目的mac地址
ip范围:
- -m iprange --src-range:源地址的范围
- -m iprange --s
iptables -t nat -vnLiptables -A INPUT -p icmp -j REJECT ----------在filter表中插入一个规则到INPUT链,匹配的协议是ICMP,拒绝其他主机ping本机
↓
- iptables -I INPUT 1 -p icmp -j ACCEPT- iptables -F- iptables -t filter -A INPUT -s 源地址 -p icmp -j DROP- iptables -t filter -A INPUT -s 多个地址加,(逗号) -p icmp -j REJECT-----------------------------------------------------------------iptables -A INPUT -I ens33 -s 192.168.31.0/24 -j REJECT (禁止网段访问 ---- 通过设备)
禁止192.168.31.0/24访问nginx的服务
一次匹配多个端口:
- iptables -A INPUT -s 192.168.31.10 -p tcp --dport 22:80 -j REJECT - iptables -A INPUT -s 192.168.31.10 -p tcp -m multiport --dport 80,22,3306 -j REJECT(一次性指定多端口)- iptables -A INPUT -p tcp -m iprange -- src range 192.168.31.10 - 192.168.31.20 -- dport 80 -j REJECT
↓
网段范围
永久配置:
ubuntu:
- apt -y install iptables-presistent
-cd /etc/ip
-ls
-cat rules.v4
-cat /dev/null > rules.v4- iptables-save >> /etc/iptables/rules.v4
#直接把策略保存到配置文件
- iptables-save >> /opt/iptbales.bak
- cat /dev/null>etc/iptables/rules.v4
- cat /etc/iptbales/rules.v4
- cd /opt/
- iptables-restore < /opt/iptables.bak
#不是把策略保存到配置文件,而是直接导入到配置当中
centos:
- yum -y install iptables-presistent
- cat /etc/sysconfig/iptables
- cat /dev/null > /etc/
- systemctl restart iptables
-iptables-save > /opt/iptables.bak
- iptables-restore < /opt/iptables.bak
面试题:★★★★★
-
四表五链
-
通信的要素:
协议、ip地址、端口 -
五大要素:
协议、源目ip地址、源目端口 -
四大要素:
源目ip,源目端口 -
协议是通信的标准
-
端口:就是对应的应用在主机上的唯一标识