注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

谷搜互联网应用www.iguso.com

谷搜专注企业邮箱十二年

 
 
 

日志

 
 

封包进入主机的流程  

2014-11-19 10:30:02|  分类: Linux技术文章 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

在第一章我们就谈过网络连线的流程, 当时举的例子是希望你可以理解为啥架设服务器需要了解作业系统的基本观念。在这一章当中,我们要将该流程更细致化说明, 因为,透过这个流程分析,你会知道为啥我们的主机需要进行过一些防护之后,系统才能够比较强壮。此外,透过第二章的网络概念解释后,你也了解了网络是双向的,服务器与用户端都得要有 IP:port 才能够让彼此的软体互相沟通。那么现在,假设你的主机是 WWW 服务器,透过底下的图示,网络封包如何进入你的主机呢?

  经过防火墙的分析:

  Linux 系统有内建的防火墙机制,因此你的连线能不能成功,得要先看防火墙的脸色才行。预设的 Linux 防火墙就有两个机制,这两个机制都是独立存在的,因此我们预设就有两层防火墙哦。第一层是封包过滤式的 netfilter 防火墙, 另一个则是透过软体控管的 TCP Wrappers 防火墙。

  封包过滤防火墙:IP Filtering 或 Net Filter

  要进入 Linux 本机的封包都会先通过 Linux 核心的预设防火墙,就是称为 netfilter 的咚咚,简单的说,就是 iptables 这个软体所提供的防火墙功能。为何称为封包过滤呢?因为他主要是分析 TCP/IP 的封包表头来进行过滤的机制, 美国空间主要分析的是 OSI 的第二、三、四层,主要控制的就是 MAC, IP, ICMP, TCP 与 UDP 的接口与状态 (SYN, ACK...) 等。详细的资料我们会在第九章防火墙介绍。

  第二层防火墙:TCP Wrappers

  通过 netfilter 之后,网络封包会开始接受 Super daemons 及 TCP_Wrappers 的检验,那个是什么呢? 说穿了就是 /etc/hosts.allow 与 /etc/hosts.deny 的设定档功能了。 这个功能也是针对 TCP 的 Header 进行再次的分析,同样你可以设定一些机制来抵制某些 IP 或 Port ,好让来源端的封包被丢弃或通过检验;

  透过防火墙的管控,我们可以将大部分来自网际网络的垃圾连线丢弃,只允许自己开放的服务的连线进入本机而已, 可以达到最基础的安全防护。

  服务 (daemon) 的基本功能:

  预设的防火墙是 Linux 的内建功能,但防火墙主要管理的是 MAC, IP, Port 等封包表头方面的资讯,如果想要控管某些目录可以进入, 某些目录则无法使用的功能,那就得要透过权限以及服务器软体提供的相关功能了。举例来说,你可以在 httpd.conf 这个设定档之内规范某些 IP 来源不能使用 httpd 这个服务来取得主机的资料, 那么即使该 IP 通过前面两层的过滤,他依旧无法取得主机的资源哦!但要注意的是, 如果 httpd 这支程式本来就有问题的话,那么 client 端将可直接利用 httpd 软体的漏洞来入侵主机,而不需要取得主机内 root 的密码!因此, 要小心这些启动在网际网络上面的软体哦!

  SELinux 对网络服务的细部权限控制:

  为了避免前面一个步骤的权限误用,或者是程序有问题所造成的资安状况,因此 Security Enhanced Linux (安全强化 Linux) 就来发挥它的功能啦!简单的说,SELinux 可以针对网络服务的权限来设定一些规则 (policy) ,企业邮箱让程序能够进行的功能有限, 因此即使使用者的档案权限设定错误,以及程序有问题时,该程序能够进行的动作还是被限制的,即使该程序使用的是 root 的权限也一样。举例来说,前一个步骤的 httpd 真的被 cracker 攻击而让对方取得 root 的使用权,由于 httpd 已经被 SELinux 控制在 /var/www/html 里面,且能够进行的功能已经被规范住了,因此 cracker 就无法使用该程序来进行系统的进一步破坏了。现在这个 SELinux 一定要开启哦!

  使用主机的档案系统资源:

  想一想,你使用浏览器连接到 WWW 主机最主要的目的是什么?当然就是读取主机的 WWW 资料啦! 那 WWW 资料是啥?就是档案啊!!所以,最终网络封包其实是要向主机要求档案系统的资料啦。 我们这里假设你要使用 httpd 这支程式来取得系统的档案资料,但 httpd 预设是由一个系统帐号名称为 httpd 来启动的,所以:你的网页资料的权限当然就是要让 httpd 这支程式可以读取才行啊!如果你前面三关的设定都 OK ,最终权限设定错误,使用者依旧无法浏览你的网页资料的。

  在这些步骤之外,我们的 Linux 以及相关的软体都可能还会支援登录档记录的功能,外贸企业邮箱为了记录历史历程, 以方便管理者在未来的错误查询与入侵侦测,良好的分析登录档的习惯是一定要建立的,尤其是 /var/log/messages 与 /var/log/secure 这些个档案!虽然各大主要 Linux distribution 大多有推出适合他们自己的登录档分析软体,例如 CentOS 的 logwatch ,不过毕竟该软体并不见得适合所有的 distributions ,所以我尝试自己写了一个 logfile.sh 的 shell script。

  评论这张
 
阅读(7)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017