安全技术和防火墙
安全技术
入侵检测系统:特点是不阻断网络访问,主要提供报警和事后监督 不主动介入 (监控)
入侵防御系统:透明模式工作 ,数据包,网络监控,服务攻击,木马,蠕虫,系统漏洞 等 进行准确的分析判断
判断为攻击行为后会立即阻断 主动防御(所有数据进入本机之前 必须要通过的设备或软件)
防火墙:隔离 ,工作在网络或者主机的边缘
对网络或主机的数据包基于一定的规则进行检查
匹配到的规则 放行/拒绝(数据包会被丢弃)
只开放允许访问的策略(白名单 拒绝所有,允许个别)
防水墙:防止内部信息泄露的产品 对外有防火墙的功能 对内是透明模式
防火墙:
iptables 是linux自带的防火墙 一般用于内部配置 对外一般不适用,对外一般使用专业的
firewalld linux自带防火墙 是 centos7以后的默认防火墙 功能和iptables一样
都属于包过滤防火墙(对数据包进行控制)
网络层对数据包进行选择 选择依据是防火墙设置的策略
策略:ip地址 ,端口, 协议
优点:处理速度快 易于维护
缺点:无法检查应用层数据 病毒无法进行处理
应用层防火墙:在应用层对数据进行检查 比较安全
优点:更安全 ,问题可以精准定位
缺点:所有数据都会检查 增加防火墙的负载
iptables:工作在网络层 针对数据包实施过滤和限制,包过滤防火墙
通信的要素:五大要素/四大要素
五大要素:源ip 目的ip 源端口 目的端口 协议
四要素:源ip 目的ip 源端口 目的端口
内核态和用户态:
内核态:涉及到软件的底层代码或系统的基层逻辑,以及一些硬件的编码
数据如果是内核态处理 速度相对较快
iptables 的过滤规则就是由内核来进行控制
用户态:
应用层软件层面 人为控制的一系列操作,使用功能。
数据只通过用户态处理,速度比较慢
iptables的配置和策略
四表五链
iptables 四个表
1.raw表 用于控制数据包的状态,跟踪数据包的状态
2.mangle表 修改数据包的头部信息
3.nat表 网络地址转换 可以改变数据包的源地址和目的地址
4.filter表 是iptables的默认表 默认是filter表 作用是过滤数据包 控制数据包的进出,以及接收和拒绝数据包。
五链
1.PREROUTING链 处理数据包进入本机之前的规则(NAT表)
2.INPUT链 处理数据包进入本机的规则(filter表 是否允许数据包进入)
3.output链 处理本机发出的数据包的规则 或是数据包离开本机的规则(filter表,一般不设置)
4.forward链 处理数据包转发到其他主机的规则 或 是否允许本机进行数据包转发
5.postrouting链 处理数据包离开本机之后的规则(NAT表)
优先级: Raw>Mangle>Nat>Filter
数据包进入防火墙,匹配raw表的规则—mangle的规则—nat表的规则—filter表的规则
iptables
管理选项:在表的链中 插入 增加 删除 查看
匹配的条件 数据包的 ip地址,端口,协议
控制类型:允许,拒绝,丢弃
注意:
1.不指定表名 默认为filter表
2.不指定链名 默认为所有链
3.除非设置了链的默认策略,否则必须执行匹配条件
4.选项,链名和控制类型 基本都是大写其余都是小写
控制类型:
ACCEPT 允许数据包通过
DROP 直接丢弃数据包 没有任何回应信息
REJECT 拒绝数据包通过 数据包也会被丢弃 但会有一个响应信息
SNAT 修改数据包的源地址
DNAT 修改数据包的目的地址
管理选项:
-t指定表名
-A 在链尾添加一条规则
-I 可以指定位置插入一条规则
-P 指定链的默认规则 iptables默认是允许
-D删除规则
-R 修改规则(慎用)
-vnL v显示详细 n数字形式展示内容 L查看
–line-numbers 显示规则的编号 和查看一起使用
-F 清空链中的所有规则(慎用)
-X 清除自定义链的规则
匹配条件:
-p 指定协议类型
-s 指定匹配的源ip地址
-d 指定匹配的目的ip地址
-i 指定数据包进入本机的网络设备
-o 指定数据包离开本机的网络设备
–sport 指定源端口
–dport指定目的端口
iptables命令格式
iptables [-t 表名] 管理选项 链名 匹配条件 [-j 控制类型]
所有的控制类型前面都是 -j
匹配原则
每个链中的规则都是从上到下的顺序匹配 匹配到之后不再向下匹配
如果链中没有规则 则执行链的默认策略