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