防火墙的基础知识(会话表)
基本理解
防火墙的作用:隔离内外网
防火墙是什么:指(在遭受入侵时)隔离内外网的设备或者做内外网隔离的策略
历史进程:
黑客:伪造ip,伪造端口号,**acl和nat(利用nat映射表)
安全:利用Tcp通信过程:握手syn,ack,rst,外网服务器只会发ack和rst,在防火墙上抓外网来的包必须有ack和rst(释放链接)字段才让进,这样可以有效阻止攻击者(当然在攻击者无法造包flag字段情况下)
黑客:拒绝式服务攻击,不停的发rst和ack,不断骚扰(也可以使用udp,icmp等)
安全:自反acl,没出去过的进不来(类似nat):出去的时候匹配流量,将源目ip和端口倒置放在回来时的入向口做的acl中(udp、icmp就搞定了)
黑客:伪造ip和端口
-
包过滤防火墙( 原始的防火墙:acl+nat(动态加静态))
原理:nat\pat\acl\双向acl\flag字段(本质上是路由器技术)
缺点:
A)无法阻止欺骗类攻击(伪造ip,端口,rst等)
B)容易受到拒绝式服务攻击的影响
C)逐包匹配原则,流量大的时候自己就挂了 -
代理服务器技术
原理:代理服务器拦下所有包,重新封装(做所有的事都必须经过代理服务器,根本到不了内网,没有对接)
好处:可以对应用层进行检查
缺点:效率非常低,太慢了,比包过滤防火墙还低
补充:堡垒机——类似于主机,里面装了一些代理软件 -
状态防火墙
原理:可以看做动态包过滤技术(类似于一次检查后续的都直接过),不再拿包去匹配,拿流量去匹配(第一个包ok后续的包都不匹配直接看状态表就可以)
重大的理念上的升级:
把网络中的数据以流的形式对待;
流在状态防火墙会形成会话表。
A)流的第一个包进入防火墙,防火墙先去匹配规则,如果规则允许会到第二步;如果规则不允许,丢弃(包括路由、nat、acl等各种策略规则)
B)会为流建立会话表,后续所有流的包直接匹配会话表进行转发
p.s.会话表可以理解成包的预期表,类似算命的
(回来的包看是否符合会话表的预期,比如来的口,源目ip,若是握手阶段有flag字段,数据传输字段回包的***范围等;若不符合预期直接丢弃)
如图,当client去server时,经过防火墙为该流建立会话表,将信息放到表里,并且对回来的即server到client的流量做一个预期同样写到表里,如图中对回来的流量的预期:源目ip交换,源目端口交换,并放置在会话表中
优点:兼顾了包过滤技术中的规则表,更考虑了数据包是否符合会话所处的状态,提供了完整的对传输层的控制能力,安全性好、速度快
防火墙与各种协议
-
TCP
超时机制:
A)握手阶段超时时间一般60s(超时预期表就删除),防止tcp的半开攻击(tcp收到syn,回了syn_ack然后对方不回最后的ack,开辟一块空间等最后的ack,一直等不到,然后好多这样的等待占满了空间,这时正常的握手包来了没地方了就没办法进行正常的tcp握手了;市面上常见的dos,ddos攻击就这样的)
这是防火墙缓解dos攻击的方法
DOS攻击:不停的握手不回包=>
防御:建立一个cookie表,表中记录与之握手的源地址,握手完成cookie表就释放,若没有回包就一直在;如果第X次握手再来握手,检测cookie如果有记录就不处理,不会把不回ack的握手放置在two-way timeout表中;
防火墙技术可以设置会话表的链接次数,也可以防止DOS攻击
DDOS攻击:用不同的主机进行握手(大量僵尸机),上方cookie防御无效
B)握手成功一般会话表的超时时间为60min
总结:超时机制用来缓解dos攻击,另一方面还需要解决的是内存空间问题
-
ftp 的问题
先用21号端口发送请求,服务器换一个端口号主动向客户端发送一个传输链接(由于回建立连接的不一定是21端口,数据被防火墙的会话表过滤掉了)
措施:端口检测技术,检查21号端口的传输数据的数据部分(应用层),查看传输的协商端口,然后在防火墙上开放此端口。这种技术会使得防火墙性能下降 -
UDP的问题:
没有flag字段,所以检查的元素会变少,防御效果会减弱,而且udp是无连接的,只能通过源目ip,端口判断
UDP对防火墙来讲也会创建虚链接会话表 -
ICMP的问题:
没有端口,防御能力继续下降,一般防火墙会默认禁止icmp回包 -
针对应用层的攻击
会话表无法查看应用层的内容,无法防止基于应用的攻击(对于这个网络层的防火墙无能为力,有专门针对应用层的防御,针对应用开发相应的防御设备和软件)
总结:状态型防火墙检查的是三四层,由于不拆应用层性能相对较高,匹配规则是动态规则,防御能力较强,尤其对于tcp的防护
补充
-
入侵检测技术:
深入到数据包内提取入侵点的特征因素
深度包检测技术(防止SQL注入,检测select等语句并判定为入侵行为deny掉)
深度流检测技术(行为检测)=>早年间只是预警,无法防御
入侵检测IDS:检测到以后连到防火墙让它动态产生策略
IPS:入侵防御 防火墙干掉三四层的攻击,IPS用来防御应用层的攻击=>应用入侵检测作出入侵反应
僵尸网络监测(查找已知僵尸网络的数据库)
总结:会出现的问题=>网络边界设备过多=>有路由器、防火墙、IPS、应用代理(管理流量、上网行为)、qos、WAR(web application Firewalls)、防毒墙、漏洞检测、负载均衡设备等···
-
UTM:多功能防火墙 (2004)
将需要用到的安全设备进行整合
设备中整合了很多模块=>解决了多次拆包、多次检测、应用层性能低的问题
沙盒技术:
把有问题的包拿出来组装,在一个隔离的空间运行,观察其行为,进行威胁判定
FEATURE
-
Cookie:
指某些网站为了辨别用户身份、进行 session 跟踪而储存在用户本地终端上的数据(通常经过加密)
实质:Cookie 是由 Web 服务器保存在用户浏览器上的小文本文件,它包含有关用户的信息
作用:是为了让用户在访问某网站时,进一步提高访问速度,同时也为了进一步实现个人化网络
原理:Cookie 在计算机中是个存储在浏览器目录中的文本文件,当浏览器运行时,存储在 RAM 中发挥作用 (Session Cookies),一旦用户从该网站或服务器退出,Cookie 可存储在用户本地的硬盘上 (Persistent Cookies)。
Cookie是面向路径的。缺省路径 (path) 属性时,Web 服务器页会自动传递当前路径给浏览器,指定路径强制服务器使用设置的路径。在一个目录页面里设置的 Cookie 在另一个目录的页面里是看不到的
用途:
A)Cookie 的用途之一是存储用户在特定网站上的密码和 ID。
B)用于存储起始页的首选项。在提供个人化查看的网站上,将要求你的网络浏览器利用你计算机硬驱上的少量空间来储存这些首选项。
C)网站个人化是 cookie 最有益的用途之一。例如,当谁来到 CNN 网站,但并不想查看任何商务新闻。网站允许他将该项选为关闭选项。从那时起(或者直到 cookie 逾期),他在访问 CNN 网页时将不会读到商务新闻。 -
防火墙默认过滤icmp包
-
防火墙可以识别inside和outside的语句,默认inside到outside允许,反之不允许,因此由内到外做策略做拒绝,由外到内做允许(安全等级不同)
-
配置防火墙要关注其默认的策略