文章目录
防火墙与NAT服务器
一、防火墙类别
依据防火墙管理的范围,可以将防火墙区分为网域型与单一主机型的控管防火墙。在单一主机型的控管方面, 主要的防火墙有数据包过滤型的 Netfilter 与依据服务软件程序的 TCP Wrappers 两种;若以区域型的防火墙而言, 由于此类防火墙都是当作路由器角色,因此防火墙类型主要则有数据包过滤的 Netfilter 与利用代理服务器 (proxy server) 进行存取代理的方式了。
-
Netfliter(数据包过滤机制)
数据包过滤就是指分析进入主机的网络数据包,根据报文信息进行分析,包括MAC、IP、TCP、UDP等信息,来决定对该数据包进行放行还是拒绝。 -
TCP Wrappers(程序管理)
TCP Wrappers主要是分析对某程序进行存取的对象,然后根据规则去分析该服务器程序是否准许该对象进行联机,由于主要是通过分析服务器程序来控管,因此与启动的端口无关,只与程序的名称有关。 举例来说,FTP 可以启动在非正规的 port 21 进行监听,当通过 Linux 内建的 TCP wrappers 限制 FTP 时,只要知道 FTP 的软件名称 (vsftpd) ,然后对它进行限制,则不管 FTP 启动在哪个端口,都会被该规则管理。 -
Proxy(代理服务器)
代理服务器是一种网络服务,它可以代理用户的需求,代为前往服务器取得相关的资料。
二、TCP Wrappers
TCP Wrappers通过客户端想要连接的程序文件名,分析客户端的IP,决定是否放行。TCP wrappers 就是透通过/etc/hosts.allow, /etc/hosts.deny 这两个文件来管理的一个类似防火墙的机制。
-
TCP Wrappers的执行规则:
1.先以/etc/hosts.allow优先进行对比,符合则予以放行
2.再以/etc/hosts.deny进行对比,符合则予以拒绝
3.若不在这两个文件中,则予以放行 -
/etc/hosts.{allow|deny}的设置方式:
<service> : <IP, domain, hostname> # <服务(即程序名称)> : <IP 或 领域 或 主机名>
三、Linux的数据包过滤机制:iptables
当一个网络封包要进入到主机之前,会先经由 NetFilter 进行检查,那就是 iptables 的规则了。 检查通过则接受 (ACCEPT) 进入本机取得资源,如果检查不通过,则可能予以丢弃 (DROP),并且规则是有顺序的。