安全技术:
1 入侵检测技术:特点是阻断,量化,定位来自内外的网咯的威胁情况。
提供报警和事后监督,类似于监控
2 入侵防御:以透明模式工作,分析数据包的内容,可以对一起进入本机的内容进行防护,木马 ,蠕虫,系统漏洞进行分析判断,然后进行阻断,主动的防护机制,部署在整个架构,或者是集群的入口支出,(必经之处)
3 防火墙:隔离功能,工作在网络或者主机边缘的
对网络或者主机进出的数据包按照一定能的规则进行检查,(网络层转发数据包)
我们在工作中,一般对防火墙,设置都是白名单,拒绝所有,允许个别
4 防水墙:透明式工作,华为的ensp监控就是防火墙,一切对于防水墙的都是透明,在事前事中,事后,都可以进行检测
防护墙:
保护范围:主机防火墙,仅为当前主机服务。
网络防火墙,防护的是另一侧的局域网
网络层防火墙 :IPtables.包过滤防火墙
访问控制,每个数据包的源ip地址,目的Ip地址,端口号,协议等进行组合式监控,由此来判断数据包是否允许通过
通信的五要素和四要素:源/目的ip 源/目的端口, 协议源/目的ip 源/目的端口
Iptables:系统自带的包过滤防火墙
Firwalld:主机防火墙,他也有包过滤的功能,centos以后集成。
Iptables:内核防火墙,内置四个表,而且所有在表中,配置规则,配置后立即生效,不需要重启服务
四个表:
raw:连接跟踪,跟踪数据的一种机制。配置了之后,可以加快防火墙的穿越速度(关闭raw里面的追踪。)
mangle:修改数据包的标记位规则。
nat:地址转换的规则表
filter:包过滤规则表。根据预定义的规则,人工设置的规则,对符合条件的数据包进行过滤,也是iptables的默认表
五个链:
prerouting链:处理数据包进入本机之前的规则 配合NAT
input链:处理数据包进入本机的规则
FORWARD:处理数据包转发到其他主机的规则
Output:处理本机发出的数据包的规则,一般不处理
Postrouting:处理数据包离开本机的之后的规则 配合nat
表里有链,链里面有规则, iptables的配置规则,写在链当中
80端口是httpd 、nginx
数据包到达防火墙时,规则表之间的优先顺序: raw > mangle > nat > filter
iptables的安装
CentOS 7默认使用firewalld防火墙,没有安装 iptables,若想使用iptables防火墙。必须先关闭firewalld防火墙,再安装 iptable
步骤:
systemctl stop firewalld.service
systemctl disable firewalld.service
yum -y install iptables iptables-services
systemctl start iptables.service
iptables的命令格式:
命令:iptables [-t 表名] 管理选项 [链名] [匹配条件] [-j 控制类型]
注意事项:
不指定表名时,默认指filter表
不指定链名时,默认指表内的所有链
除非设置链的默认策略,否则必须指定匹配条件
选项、链名、控制类型使用大写字母,其余均为小写
管理选项:
-A :在指定链的末尾追加(--append)一条新的规则
-I :在指定链的开头插入(--insert)一条新的规则,未指定序号时默认作为第一条规则
-R :修改、替换(--replace)指定链中的某一条规则,可指定规则序号或具体内容
-P :设置指定链的默认策略(--policy)
-D :删除(--delete)指定链中的某一条规则,可指定规则序号或具体内容
-F :清空(--flush)指定链中的所有规则,若未指定链名,则清空表中的所有链
-L :列出(--list)指定链中所有的规则,若未指定链名,则列出表中的所有链
-n :使用数字形式(--numeric)显示输出结果,如显示 IP 地址而不是主机名
-v :显示详细信息,包括每条规则的匹配包数量和匹配字节数
-t : 指定查看哪张表
--line-numbers:查看规则时,显示规则的序号
匹配条件:
-p 指定数据包的协议类型
-s 指定数据包的源ip地址
-d 指定数据包的目的Ip地址
-i 制定数据包的进入本机的网络接口
-o指定数据包离开本机的时候使用的网络端口
-sport 指定源端口
-dport 指定目的端口号
控制类型:
-j :后面跟着的是控制类型
ACCEPT:允许数据包通过
DROP:拒绝数据包通过 ,直接丢弃数据包,不给任何回应的信息
REJECT:拒绝,但是会给一个回应的的信息
SNAT:修改数据包的源地址,
DNAT:修改数据包的目的地址
如何添加新的规则
iptables -t filter -A INPUT -p icmp -j REJECT #限制通讯
iptables -I INPUT 2 -p tcp --dport 22 -j ACCEPT #允许通讯
如何查看规则列表
命令:iptables -vnL
如何删除指定规则
iptables -D INPUT 2
iptables -t filter -D INPUT -p icmp -j REJECT
限制通信IP地址:
拒绝Ip地址访问:
拒绝整个网段来访问我的80端口