防火墙:
安全技术:
1、入侵检测机制:特点是阻断,量化,定位来自内外的网络的威胁情况。提供报警和事后监督。类似于监控。
2、入侵防御:以透明模式工作,分析数据包的内容,对一切进入本机的内容进行防护,对木马,蠕虫,系统漏洞进行分析判断,然后进行阻断。
主动的防护机制。部署在整个架构,或者是集群的入口处。(必经之路。)
3、防火墙:隔离功能,工作在网络或者主机的边缘。对网络或者主机进出的数据包按照一定规则进行检查。(网络层转发的数据包)
在工作当中,一般对防火墙的设置都是白名单,拒绝所有,允许个别。
4、防水墙,透明模式工作,一切对于防水墙都是透明的。在事前,事中,事后,都可以进行检测。
防护墙:保护范围:主机防火墙,仅为当前主机服务。
网络防火墙,防护的是另一侧的局域网。
网络层防火墙,iptables,包过滤防火墙。
访问控制,每个数据包的源p地址,目的IP地址,端口号,协议等等进行组合式监控,由此来判断数据包是否允许通过。
通信的五要素和四要素:
源/目的ip 源/目的端口 协议。
源/目的ip 源/目的端口
iptables:系统自带的包过滤防火墙。内核防火墙,内置四个表,而且所有在的表中,配置规则。配置后立即生效,不需要重启服务。
需要安装 yum -y install iptables iptables-services
firewalld:主机防火墙,他也有包过滤的功能。centos7以后集成的。
四表:
1.raw:连接跟踪,跟踪数据的一种机制。配置了之后,可以加快防火墙的穿越速度(关闭raw里面的追踪。)
2.mangle:修改数据包的标记位规则。
3.nat:地址转换的规则表
4.filter:包过滤规则表。根据预定义的规则,人工设置的规则,对符合条件的数据包进行过滤,也是jptables的默认表
四表是有优先级的:raw-- ->mangle-- ->nat-- ->filter
-t 指定表
五链:
1.prerouting链:处理数据包进入本机之前的规则。通过NAT
2.input链:处理数据包进入本机的规则。
3.FORWARD:处理数据包转发到其他主机的规则
4.output:处理本机发出的数据包的规则,一般不做处理。
5.postrouting:处理数据包离开本机之后的规则。NAT
表里有链,链里面有规则。iptables的配置规则,写在链当中。
管理选项:
-A在指定链的末尾进行追加
-l在指定链插入新的规则。可以指定插入规则的位置。
-P修改默认策略(链的策略)
-D删除
-R修改,替换规则
-L查看指定链当中的规则
-n以数字形式显示规则
-v查看详细信息
--line-numbers:给每个链中的规则进行编号查看。
-F清空指定链当中的规则(慎用)
-X清空自定义链的规则
匹配条件:
-p指定数据包的协议类型
-s指定数据包的源IP地址
-d指定数据包的目的ip地址
-i指定数据包进入本机的网络接口。
-o指定数据包离开本机的时候使用的网络接口
--sport 指定源端口
--dport 指定目的端口号
控制类型:
-j后面跟上控制类型
ACCEPT:允许数据包通过
DROP:拒绝数据包通过,直接丢弃数据包,不给任何回应的信息
REJECT:拒绝,拒绝数据包通过,但是会给一个回应的信息。
SNAT:修改数据包的源地址 DNAT:修改数据包的目的地址
匹配规则的策略:从上往下按照规则顺序匹配,匹配到了规则,后面的规则就不再匹配。针对相同规则的类型,匹配到之后后续的规则也不生效。
常用命令
[root@localhost ~]#iptables -t nat -vnL 查看指定表
[root@localhost ~]#iptables -t filter -A INPUT -p icmp -j REJECT 拒绝icmp协议无法ping通
[root@localhost ~]#iptables -t filter -I INPUT 2 -p icmp -j DROP 指定链的位置
[root@localhost ~]#iptables -D INPUT 2 指定删除链,不建议使用-F
[root@localhost ~]#iptables -R INPUT 1 -p icmp -j ACCEPT 修改指定链 不建议使用
[root@localhost ~]#iptables -P INPUT DROP
当我们将其修改为REJECT或则DROP,就类似于白名单(只要加入且声明权限为ACCEPT)是允许操作的协议对象,其他均为禁止对象
[root@localhost ~]#iptables -A INPUT -s 192.168.73.110 -j DROP 拒绝指定ip地址
[root@localhost ~]#iptables -A INPUT -i ens33 -s 192.168.73.0/24 -j DROP 指定网卡和网段
[root@localhost ~]#iptables -A INPUT -p tcp --dport 20:21 -j REJECT
--sport 100 指定的就是匹配源端口100
--sport 100:200 就是指定100-200这个范围
--sport 100: 就是指定100及其100以上的端口
--sport 200: 就是指定200及其200以下的源端口
[root@localhost ~]#iptables -A INPUT -p tcp -m multiport --dport 80,22,21,20,53 -j ACCEPT
[root@localhost ~]#iptables -A INPUT -p udp -m multiport --dport 53 -j ACCEPT
-m multiport --sport 源端口列表
-m multiport --dport 目的端口列表
[root@localhost ~]# iptables -A FORWARD -p udp -m iprange --src-range 192.168.73.150-192.168.73.200 -j DROP
m iprange --src-range 源IP范围-m iprange --dst-range 目的IP范围
备份iptables设置
[root@localhost ~]#iptables-save >/opt/iptables.bak 备份
[root@localhost ~]#iptables-restore </opt/iptables.bak一键导出,设置为当前防火墙设置
修改iptables的默认设置
iptables的默认配置文件存在于 /etc/sysconfig/iptables
linux系统能抓包吗?
tcpdump是linux自带的抓包工具
wrieshark只适用于winodws
抓包方式:1、指定抓包的数量
2、动态抓包,一直会获取包,除非人工停止。
tcpdump tcp -i ens33 -t -s0 -c 10 and dst port 80 and src net 192.168.233.0/24 -w./target.cap这个就是指定抓包的数量10个
tcodump 抓包命令,固定开头
tcp:抓包的协议是什么
-i:经过,只抓经过ens33的数据包
-t:不显示时间戳
-s0:抓完整的数据包
-c:指定抓包的个数
dst port:80访问的是httpd 80
src net: 192.168.233.0/24
-w:抓包的数据,保存位置
firewalld
:centos7自带的。和iptables一样,也是包过滤防火墙。
firewalld过滤,通过区域来进行配置
iptables 静态的防火强
firewalld 是动态防火墙
friewalld靠的是区域:
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的流量可以传入,其他的全部拒绝
7DMZ 隔离区 非军事区:允许ssh,其他的预定义好配置,其他的全部拒绝
8 block限制区,拒绝所有的流量
9drop:丢弃区域,所有流量都会丢弃,没有任何响应。