简易 TCP 封包进入主机之流程 好了,现在我们知道主机收不收的到数据跟 TCP 上面的表头数据( Header )是有关系的!那么假如有个 TCP 封包要进入到您的主机时,他会经过哪些步骤呢?基本上会有底下这些手续的啦:
- 首先, TCP 封包会先经过所谓的封包过滤机制 ( IP Filtering 或称为 NetFilter ),这是 Linux 提供的第一层保护。IP Filter 可以将 TCP 封包进行分析,并依据您所订定的过滤规则来将该封包进行处理。举例来说,我们知道 TCP 封包的表头有 Port 与 IP 的信息,假如您知道有个黑客网站,因为恶名昭彰所以您不想要允许该网站的任何数据进入到主机的话,可以透过设定 IP Filter 的机制,命令 IP Filter 只要分析到 TCP 封包是来自该黑客网站的 IP 时,就将该 TCP 封包丢弃 (Drop) !这也是 Linux 本机的最外部的防火墙啰。任何 TCP 封包要能进入到本机,就得先经过 IP Filter 这一关,如果能够通过您所设定的机制之后,TCP 封包就会进入到下一关;
- 通过 IP Filter 之后,TCP 封包会开始接受 Super daemons 及 TCP_Wrappers 的检验,那个是什么呢?说穿了就是 /etc/hosts.allow 与 /etc/hosts.deny 的设定文件功能啰。这个功能也是针对 TCP 的 Header 进行再次的分析,同样您可以设定一些机制来抵制某些 IP 或 Port ,好让来源端的封包被丢弃或通过检验;
- 经过了上两道基本的防火设施之后,再接下来则是每一项服务的个别设定功能!
- 举例来说,如果是以 FTP 联机的话,那么在 ftp 的设定档案当中,可能会经由 PAM 模块( 未来在网络安全当中会提及)来抵挡特殊的 users ,当然也会以特别的设定来抵挡某些 TCP 封包!另外,以 WWW 服务器的设定来看,在 WWW 的设定档 httpd.conf 里头也有类似的 deny 功能呦!不过要注意的是,当 TCP 到达这个步骤时,其实已经算是进入到本机的服务范围内了,所以,要小心您的套件是否有漏洞啊!
- 假使上面的几道火墙都通过了,那么才能进入主机来登入!此时,一经登入就会被系统记录在登录文件当中,藉以了解主机的历史历程!
注意一下,上面的步骤是 Linux 预设具有的防备功能,当然您还可以在 IP Filter 之前外加硬件防火墙设备!不过,在这里我们主要以 Linux 系统本身具有的功能来进行说明喔!好了,那么如何利用 Linux 所提供的这些功能来防备我们的主机呢?