发布时间:2020·01·17 浏览:1792
一直以来,防火墙的争议不断,许多接入商都不愿意使用防火墙了,认为防火墙会影响网站打开速度等等,但是这种问题只存在于传统防火墙,传统防火墙主要是抵御各方面的攻击,而现代防火墙能能提供客户端防御及网络防护,不仅有用,还是必需品。
传统防火墙擅长抵御的攻击
传统防火墙只能阻止或允许特定IP地址和端口,能防护的东西相当有限。较常见的应用场景就是阻止未授权用户或恶意软件连接未受保护的监听服务或守护进程。即便忽视路由器在IP/端口过滤上的超高效率,时代和攻击类型也发生了改变,传统防火墙如今很大程度上形同虚设。
20年前,阻止未授权连接很有意义。大多数计算机都防护不严,口令也弱,不仅满载浑身漏洞的软件,还往往开放有允许任何人登录或连接的服务。发个畸形网络包就能搞掉普通的服务器,而且这还是在管理员没设置允许匿名连接的完全管理员权限远程服务的情况下才需要,如果设了这种远程管理服务,那基本上可以随随便便摸进服务器。至于Windows的匿名NETBIOS连接,在 Windows XP 默认禁止前的15年里,一直都是黑客的宝贵财富。
如果你的防火墙只是用于封禁未授权IP地址或协议,那用个路由器会好得多,也快得多。计算机安全界有句格言:“首选较快较简单的方法。”说的就是这个道理,如果有什么东西是可以用更快更有效率的设备加以封堵的,那就将那台设备用作你的一道防线。这样会更快更有效率地摒除更多你不想要的流量。路由器的“上层”代码要比防火墙少很多,规则列表也更短。路由器的条件决策循环比防火墙快上几个数量级。不过,如今的威胁环境下,还需不需要封禁这些未授权连接,这一点难说。
防火墙较擅长阻止对监听服务的未授权远程连接,可以防止攻击者在连接后利用缓冲区溢出接管计算机的控制权。这正是防火墙诞生的较主要原因。有缺陷的服务太常见了,都已经被认为是常态。冲击波、Slammer蠕虫之类的恶意程序利用这些服务可以在几分钟里席卷全世界。
现在的服务并没有那么脆弱。程序员如今使用的编程语言默认就会检查缓冲区溢出。用来阻止传统漏洞利用方法的其他操作系统计算机安全措施也很擅长做这事儿。微软每年都能在其产品线上发现130-150个漏洞。自2003年算起,发现的漏洞数约2000个。但只有5-10个是仅供远程利用的。同一时期,苹果和Linux机器的漏洞更多,但仅可远程利用的漏洞进程占比是一样的。
必须明确一点:虽然可利用的脆弱服务成百上千,但几乎全都需要本地终端用户做点儿什么才能发起攻击。要么是点击恶意链接,要么是访问挂马网站。为什么必须本地用户参与?因为只有当终端用户这么做的时候,才可以创建一条“经允许”的出站连接,然后顺理成章地再来一条“经允许”的入站连接回连到用户的计算机。如今所有攻击几乎都是“客户端”攻击,而防火墙并不擅长阻止此类连接。
上一篇: mybatis中SqlSession的线程安全性讨论