安全技术:
1、入侵检测机制:
特点:阻断、量化、定位来自内外的网络的威胁情况
提供报警和事后监督,类似于监控
2、入侵防御:
以透明模式工作
对数据包内容进行分析,对一切进入本机的内容进行防护,木马、蠕虫、系统漏洞进行分析判断,然后进行阻断。
主动的防护机制,部署在整个架构中,或者是集群的入口处(必经之路)
3、防火墙:
作用:隔离功能
工作在网络或者主机的边缘
对网络或者主机进出的数据包按照一定的规则进行检查(网络层转发的数据包)
4、防水墙:
透明模式工作(华为的ensp监控就是防水墙)
一切对于防水墙都是透明的。可以在事前、事中、事后进行检测
防火墙的种类:
一、按照保护范围
1、主机防火墙(仅为当前主机服务)
2、网络防火墙(防护的是另一侧的局域网)
网络层防火墙:iptables,包过滤防火墙
也可以称为访问控制。可以对每个数据包的源IP地址、目的IP地址、端口号、协议等进行组合式监控,由此来判断数据包是否允许通过
Q:通信的五要素和四要素分别是什么?
A:五要素:源IP、目的IP、源端口、目的端口、协议。四要素:源IP、目的IP、源端口、目的端口
核心:iptables:系统自带的包过滤防火墙
firewalld 主机防火墙,也有包过滤的功能。centos7以后集成的
iptables 内核防火墙,内置四表,而且在所有的表中配置规则。配置之后立即生效,立刻生效,无需重启
四个表:
1、raw 连接跟踪,跟踪数据包的一种机制。配置之后可以加快防火墙的穿越速度(关闭raw里面的追踪)
2、mangle 修改数据包的标记位规则
3、nat 地址转换规则表
4、filter 包过滤规则表。根据预定义的规则、人工设置的规则,对符合条件的数据包进行过滤,也是iptables的默认表
四个表有优先级:raw > mangle > nat > filter
四表五链:
prerouting链 处理数据包进入本机之前的规则 结合NAT表
input链 处理数据包进入本机的规则
forward链 处理数据包转发到其他主机的规则
output链 处理本机发出的数据包的规则,一般不做处理
postrouting链 处理数据包离开本机之后的规则 结合NAT表
表里有链,链里有规则
iptables的配置规则写在链当中
管理选项:
-A 在指定链的末尾进行追加
-I(大i) 在指定链插入新的规则
-P(大p) 修改默认策略(链的策略)
-D 删除
-R 修改、替换规则
-L 查看指定链中的规则 【和-n 、 -v结合使用】
-n 以数字形式显示规则
-v(小写v) 查看详细信息
--line-numbers 给每个链中的规则进行编号查看
-F 清空指定链中的规则(慎用)
-X(大写x) 清空自定义链的规则
-t 指定表名
匹配条件:
-p(小p) 指定数据包的协议类型
-s(小写s) 指定数据包的源IP地址
-d 指定数据包的目的IP地址
-i 指定数据包进入本机的网络接口
-o 指定数据包离开本机的时候使用的网络接口
--dport 指定目的端口号
--sport 指定源端口
控制类型:
-j
ACC 允许数据包通过
DROP 拒绝数据包通过,直接丢弃数据包,不给任何回应的信息
REJECT 拒绝数据包,但是会给一个回应的信息
SNAT 修改数据包的源地址
DNAT 修改数据包的目的地址
匹配规则的策略:
从上往下按照规则顺序匹配。匹配到了规则,后面的规则就不再匹配。如果针对相同规则的类型,匹配到之后后续的规则也不生效
修改(一般不用,容易出问题)
修改默认策略
通用匹配的规则
IP地址+端口+网段+接口(网卡设备)
【整个卡死动不了了(无截图)】
隐藏扩展模块
-p 指定协议时,不需要使用-m指明扩展模块。-m tcp
指定多端口匹配【小端口号在前,大端口号在后,否则报错】
如何使用-m
-m 扩展模块 明确指定类型(多端口、MAC地址、IP范围)
-m multiport --sport --dport
一次性指定多端口,,端口大小排序任意
ip地址的范围
-m iprange --src-range 源IP范围
-m iprange --dst-range 目的IP范围
自定义链:
删除自定义规则和链:
SNAT和DNAT
SNAT 源地址转换
DNAT 目的地址转换
局域网共享上网
修改内核参数的文件,可以立即生效【非常重要】
-t nat 指定地址转换表
-A PREROUTING 在进入本机之后添加地址转换规则
-d 11.0.0.11 指定目的地址
-i ens35 进入内网的设备接口
-p tcp 指定协议
--dport 指定目的端口,80
-j DNAT 转换目的地址
--to 192.2222.222.10:80 只要是从ens35这个网络接口进入本机内网的IP地址,访问内网服务http的80端口,目的IP地址都可以转化成11.0.0.11
Q:Linux系统能抓包吗?
A:tcpdump(自带的抓包工具)
wireshark只适用于windows。
tcpdump抓包方式:
1、指定抓包数量
tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.222.222.0/24 -w ./target.cap
tcodump 抓包命令,固定开头
tcp :抓包的协议是什么
-i:经过,只抓经过ens33的数据包
-t:不显示时间戳
-s0:抓完整的数据包-c:指定抓包的个数
dst port: 80,访问的是http 80
src net: 192.168.233.0/24
-w:抓包的数据,保存位置。
./ 保存在当前目录
.cap
2、动态抓包(一直会获取,除非人工停止)
tcpdump -i ens33 -t -s0
抓完后还要放到本机用wireshark进行分析
firewalld centos7自带的,和iptables一样,也是包过滤防火墙。
firewalld过滤通过区域来进行配置的。
iptables是静态防火墙
firewalld是动态防火墙
firewalld区域:
1、trusted 信任区。所有流量都可以传入
2、public 公共区域。允许ssh或者dhcpv6-client的流量可以传入,其他的全部拒绝,也是firewalld的默认区域
3、external 外部区域。只有ssh和dhcpv6-client的流量可以传入,其他的全部拒绝。默认通过此区域转发的ipv4流量地址,在这里可以进行伪装
4、home 家庭区域。只有ssh和dhcpv6-client的流量可以传入,其他的全部拒绝
5、internal 内部区域。默认值和home区域的作用相同
6、work 工作区域。只有ssh和dhcpv6-client的流量可以传入,其他的全部拒绝
7、DMZ 隔离区,也叫非军事区。只允许ssh和其他预定义好的配置的流量可以传入,其他的全部拒绝
8、block 限制区域。所有流量都会被拒绝
9、drop 丢弃区域。所有流量都会丢弃,没有任何响应
dhcpv6-client:获取ipv6地址的客户端侗剧
查看区域内允许通过的服务
显示默认区域内所有的规则
显示当前系统中的默认区域