服务器 频道

Liunx架站之认识网络安全1: TCP/IP封包流程

  【IT168 服务器学院】学习本章的必备技巧:

  在本章谈到的比较属于 网络基础 方面,并没有提到很多的防火墙规则!所以你必需要先来了解一下什么是网络基础,与一些基本的网络概念才行!此外,由于我们会提到一些 port 的管理、登录文件的分析、系统目录的配置等等的问题,所以这个时候请特别了解一下 vi 啰!因此,在进行本章之前,请务必先看完底下的玩意儿!

· 学习 vi

· 认识 BASH Shell

· 帐号管理

· 系统目录配置

· 认识系统服务

· 网络基础

· 限制 Linux 对外联机的 port

· 套件升级、up2date 的使用

  另外,还是一句老话啦!将 Linux 基础 学习一下吧!!

TCP/IP 封包进入主机的基本流程:

  好啦!这一章的主要内容是在介绍网络安全与基础防护方面的之事与建议,那么这里就要来讨论一下,嘿嘿!当有一个 TCP/IP 的封包要进入你的系统时,应该会经过哪些关卡呢!?知道这些关卡之后,才会知道有哪些入侵的管道呀!然后才能知道如何去防御他!OK!那么首先自然就要来了解一下,什么是 TCP/IP 啰!

· 认识 TCP/IP:

  由 网络基础 里头我们可以知道目前的网络联机协议以 TCP/IP 为主要的架构,其中:

o 主机的 IP 可以当成是地址;

o 而主机激活的 port 可以想成是窗口或楼层;

o 至于在两个 IP 之间传送资料的 TCP 封包则可以被想成是包裹。

好了,既然 TCP 是个包裹,那么想当然尔,真正的资料是在包裹里面的 Messages/Data ,但是由于要将包裹传送到最正确的地点去,所以就有个表头,亦即在包裹不是都需要有填写资料的那一面吗?在这一面上面必须要填写正确的来源与目的之地址以及该地址的楼层,才能够正确的将这个包裹传送到正确的地方!当然啰,由于可能会收到回信,所以自然那个包裹上面,寄信的地址与楼层也需要填写正确啰!^_^。所以呢,你可以简单的将 TCP 封包想成有两个主要的地方,一个是放置资料的 Messages/Data ,另一个则是表头( Header )资料填写区,在这个 Header 区域中,有相当多的资料,这里不谈怎么去认识所有的 TCP/IP 架构资料,仅提出最重要的两个信息,那就是来源与目的之 IP 及传送的 port !基本的 TCP 封包可以由下图来表示啰。



  由上图我们可以清楚的发现到,你的主机能不能接收这个 TCP 封包,就需要合乎 TCP 封包的 IP 与 port 的规定啰!

· 简易 TCP/IP 进入主机之流程:

  好了,现在我们知道主机收不收的到资料跟 TCP 上面的表头资料( Header )是有关系的!那么假如这个 TCP 封包已经正确的送到你的主机上面了呢?你的主机要怎样来接收这个 TCP 封包?基本上,由 Linux 主机的一些基本设定项目,可以将整个程序简化成如下图:

 



1. 首先, TCP 封包会先经过所谓的 IP 过滤机制( IP Filtering ),这是 Linux 提供的第一层保护,他可以将你不想要的来源 IP (经由 TCP 封包的 Head 资料)先挡掉再说!如果可以通过的话,就进入下一关;

2. 再来则是 Super daemons 及 TCP_Wrappers 的功能啰!他可以将经过 IP filter 的封包资料再加以进一步的分析滤除;

3. 经过了上两道基本的防火设施之后,在接下来则是每一项服务的个别设定功能!举例来说,如果是以 FTP 联机的话,那么在 ftp 的设定档案当中,可能会经由 PAM 模块( 未来在网络安全当中会提及)来抵挡特殊的 users ,当然也会以特别的设定来抵挡某些 TCP 封包!另外,以 WWW 来看,在 httpd.conf 里头也有类似的 deny 功能呦!

4. 假使上面的几道火墙都通过了,那么才能进入主机来登入!此时,一经登入就会被系统记录在『登录文件』当中,藉以了解主机的历史历程!

  OK!那么底下我们就经由这一串流程来讨论一下,该如何抵挡有问题的 TCP 封包呢?

· 封包过滤( IP Filter ):

  封包过滤是 Linux 提供的第一道防火墙呦!但是不同的核心版本会有不一样的封包过滤机制!以 2.2.xx 为核心的 Linux 主要以 ipchains 作为过滤机制,至于目前新版的 2.4.xx 则以 iptables 为机制!OK!既然我们的 Red Hat 7.1, 7.2, 7.3 为 kernel 2.4.xx ,所以自然以 iptables 来进行 IP 抵挡的工作啦!那么由于 TCP 封包里头有 IP 及 port 嘛!所以要抵挡来源 IP 或者是自身的 port ,嘿嘿!自然就很容易来进行啦!您目前只要晓得, iptables 可以经由 TCP 的封包表投资料来进行分析的工作,并设定『特殊动作』,例如:符合我们 iptables 的设定规则,就让他可以经过防火墙,若是该 TCP 封包在我们的不欢迎 IP 的行列,那就将他丢弃,他就没有办法进入 Linux 主机啦!

· Super daemons 与 TCP_Wrappers:


  Red Hat 7.x 以后的 super daemons 则是以 xinet 为主,至于抵挡封包的工作则可以让 TCP_Wrappers 来进行!Wrappers 是垃圾、废弃物的含意,那么 TCP_Wrappers 自然就是『 TCP 的丢弃者 』嘿嘿!没错,他可以丢弃 TCP 的封包啊!利用每个服务的特色,来将 TCP 封包抵挡,这个 TCP_Wrappers 主要以『 服务 』为主的抵挡方针,例如 FTP, Telnet, SSH 都可以经由他来进行 IP 分析的动作呦!

· 服务过滤:

  每个服务还有特别的自订的防火机制,例如 Apache 这个 WWW 的套件里头,就含有『 deny from IP 』来抵挡某些不受欢迎的 IP 机制,而 ssh 也可以在设定档里头决定是否要开放 root 的登入权限!FTP 当然也可以制定一些规则来挡掉不受欢迎的 IP 啦!不过,到这一步时,该封包已经进入主机的服务之内啰,是经由服务来关闭该 IP 的联机的呦!而由于某些服务天生就有些小漏洞,呵呵, Cracker 相当的容易利用这些漏洞来进行破坏的行为!由于该封包已经进入主机了,万一服务真的有漏洞,那可就惨了......

· 登入主机:

  上面提到的大多是在某些服务里头来取用我们主机系统的资源,那么如果该封包是想要直接登入我们的主机呢( login )?这个时候就需要取得我们主机的『帐号与密码』的权限啦!如果通过 ID & pass word 的验证之后,就可以进入我们的主机啦!

· 登录文件记录:

  『为了防止世界的破坏.....』喔!不!那个是皮卡丘的里头坏人的台词....这里要谈的是,『为了防止主机的破坏....可爱又迷人的角色...』那就是 登录档 啦!为了记录历史历程,以方便管理者在未来的错误查询与入侵侦测,良好的分析登录档的习惯是一定要建立的,尤其是 /var/log/messages 与 /var/log/secure 这些个档案!

0
相关文章