站点图标 度崩网-几度崩溃

防火墙的一些基础知识[运维教程]

防火墙
防火墙指的是一个由 软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的界面上构造的保护屏障。
基于实现方式,防火墙的发展分为四个阶段:
第一代防火墙:基于路由器的防火墙,由于多数路由器中本身就包含有分组过滤功能,故网络访问控制可通过路由控制来实现,从而使具有分组过滤功能的路由器成为第一代防火墙产品。
第二代防火墙:用户化的防火墙,将过滤功能从路由器中独立出来,并加上审计和告警功能。针对用户需求,提供模块化的软件包,是纯软件产品。
第三代防火墙:建立在通用操作系统上的防火墙,近年来在市场上广泛使用的就是这一代产品。包括分组过滤和代理功能。第三代防火墙有以纯软件实现的,也有以硬件方式实现的。
第四代防火墙:具有安全操作系统的防火墙:具有安全操作系统的防火墙本身就是一个操作系统,因而在安全性上得到提高
Linux 环境中主要的防火墙形式
Netfilter 的数据包过滤机制
Netfilter 这个机制主要就是分析进入主机的数据包,也就是將包的报头信息提取出来进行分析,以決定该链接是应该放行或阻挡下来。
由于这种方式可以直接分析数据报头的信息,而报头的信息主要就是 OSI 参考模型中的数据链路层,网络层,以及传输层的信息,如 MAC 地址, IP 地址 , TCP, UDP, ICMP 等的信息都可以进行分析过滤,并且 Netfilter 提供了 iptables 来作为防火墙封包过滤的指令。十分强大
TCP Wrappers 的程序管理
TCP Wrappers 主要是分析TCP的报头信息,并与/etc/hosts.allow和/etc/hosts.deny中的规则进行匹配,从而决定哪些主机可以访问系统服务或资源。他的功能并没有 Netfilter 那么强大,但是他的配置相对于 Netfilter 的 iptables 要简单许多。
Proxy 的代理服务器
其实代理服务器这样的防火墙相对于 Netfilter 是更安全一些,若是外面的人给小姐的物品是有毒的(外面发送有害的数据,或者想获取 server 信息),那也是丫鬟先中毒,小姐很安全呀(代理服务器中招,内网还是安全的)。
但是这是因为所有的链接,所有的数据包都中转过一层,多了一个环境,就需要多消耗一些时间,效率便降低了,高带宽也会到达瓶颈,并且因为通过代理服务器的转发那么便需要修改表头中的信息,地址转换,这样的话对 VPN 的使用也会增加一定的难度。所以相对来说 Netfilter 比 代理服务器式的防火墙应用的更加的广泛
而为什么上文说相较而言,proxy 形式比 Netfilter 要安全些,是因为数据包式的防火墙主要是在网络的七层模型中处理这样的事情:
拒绝让外部网络的数据包进入主机的部分敏感的端口:比如我的 FTP 只是供给公司内部人员使用的,外面的人不能从中获取消息,那么添加规则让所有想访问该端口的请求数据包全部丢弃。
拒绝某些 IP 来源的数据包进入主机:就如我知道有一个 IP 地址属于某个黑客的常用 IP,这个 IP 的请求一定是来攻击我或者对我不利的,便可添加规则将只要是由这个 IP 地址发来的请求数据包全部丢弃
拒绝带有某些特殊标签(flag)的数据包进入:最常见的便是带有 SYN 的主动连接标签了,便可添加规则只有一发现这个标签,就把这个带有该标签的数据包丢掉
拒绝某些 MAC 地址的链接与数据包:如果内网中有人中病毒,或者他是有意捣乱网络的,封 IP 地址他可以更换,那么我们就直接封掉其 MAC 地址,这样即使更换 IP 地址也没有用。
这样的处理虽然可以阻挡大部分不利的数据,或者说攻击,但是还有许多的问题是无法防范的:
防火墙不能有效的阻挡病毒或者木马程序:
比如内网中的 DMZ 区域有一台 web 服务器,有 web 服务供给外网访问势必我们就需要将80端口开放出去,让外部网络能够请求,否则外部网络得不到数据,该服务器的功能根本无法起作用,而80端口的开放是的外部网络的数据包可以进入主机中,若是web服务有漏洞,数据包中有病毒利用该漏洞做一些事情。
防火墙主要是针对外网的攻击添加规则,所以对于内网的攻击并无太强的招架之力。