科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网服务器频道如何保护你的Apache服务器

如何保护你的Apache服务器

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

如果你的Apache服务器不仅仅是Web服务器,有其他的一些服务也在这一服务器上运行,这对于网络管理员来说,服务器安全是不完全的,因此应该认真考虑保护Apache服务器方法。

作者:TechRepublic.com 2004年2月12日

关键字: Apache Web服务器

  • 评论
  • 分享微博
  • 分享邮件
你可以通过跟踪HTTP或者使用SSL来监视你的Web服务器,以防止它被错误地使用或者遭到恶意的攻击。你也可以用booby trap(“傻瓜陷阱”)或者一些“软件武器”来对付黑客。但是,想想如果你的Apache服务器不仅仅是Web服务器呢?可能还有其他的一些服务也在这一服务器上运行,对于一个网络来说,这就意味着入侵者可以用其他的方法来攻击你的服务器。因此对于网络管理员来说,网站或者服务器安全是不完全的,他们应该时刻把目光聚焦在整个网络安全上。要时刻把整体观念记在心里,并且认真考虑下面这些谨慎的网络安全保护方法。

端口扫描
Apache的功能是在一台服务器上提供HTTP服务。根据定义,Apache应该运行在一台有HTTP应用的服务器上,可能是网站,甚至还有其他的应用。Apache服务器通常(但并不总是)是一个更大型的网络的一部分,网络中也可能包含不只一台Apache HTTP服务器,就如同还包含多台服务器提供不同的服务一样。

在这样的环境里,Apache负责侦听80端口(如果你用SSL,就还包括443端口),寻找HTTP请求。这个领域的行业连贯性是通过一个“标准的”IANA(Internet Assigned Numbers Authority)列表来维持的,你可以扫描端口的活动并与这个列表做对比。因此,服务器上不同的服务可以通过这一对比,得到鉴定和授权。

你怎么进行这样的扫描呢?你可以使用netstat。它能够把一台服务器上、任何时刻等待请求的所有服务都列出来。这非常有用,但是如果你有不只一台服务器,它就力不从心了:netstat是一个单机版的软件,只能够在本机上应用。如果你在不同的地方有不只一台的服务器,你就应该使用nmap。

它能够把某一台特定的服务器上的所有开放的端口都列出来,这对于预防网络侵入非常有用。你能够从潜在的入侵者的角度看到很多东西,你能够发现那些可能被利用的入口。你应该这么考虑:如果你已经把你的整个网络防护起来,但是入侵者还是想要攻击你的服务器,端口扫描能够让入侵者发现可以被他们利用的服务中的漏洞。通过进行定期扫描,你可以领先一步堵住这里漏洞。

黑客是怎么做的?
黑客可以利用远程登录,或者其他一些类似的方法来逐个了解你服务器上运行的服务范围。他们还可以获得一些管理信息--比如他们能够了解到他们攻击时,你所使用的Apache的版本。

保持“匿名”
实际上,你真正想要的是你的服务器对于除了你以外的任何人都是“匿名”的!这可能比你想象的更容易实现。你可以使用ServerTokens directive来阻止其他的人了解你的服务器软件版本,以及在服务器上的运行的服务。你可以从你的Apache配置(httpd.conf)中找到ServerTokens directive,并且限制服务器的开放程度。它有四种模式,从“完全开放”到“只对某人开放”。你应该在执行这一指示之前和之后都检查服务器:运行# telnet ,或者使用httpd -v来检查版本。而且,服务器信息还包含了错误信息。你可以通过关闭ServerSignature directive来清除这些信息。

其他的服务器目标
现在你已经了解如何发现恶意的网络活动,并且理解了入侵者看待你网络的方式,你该考虑其他一些运行在你的服务器上的安全漏洞。两个最不安全的服务是smtp和ftp。这些服务通常在不被需要的时候还开着(在Apache HTTP服务器上,它们完全没有必要)。用端口扫描检查一下当你重启你的服务器的时候,是否有这样的服务也运行了。如果有一些这样的服务存在,而它们并不是必须的,你就应该调整你的配置,禁止它们运行。

上面我们已经讲述了如何对待不需要的协议,那么对于那些必要的协议,我们应该如何进行防护呢?你该如何保护一个你不能禁用的服务不被黑客利用?解决的办法是利用其他服务器上的服务器软件的访问控制能力。例如,你可以在Apache服务器和你的网关之间部署一台缓冲服务器,并且根据协议过滤内部请求,这样,就给你的Apache服务器上的非HTTP服务提供了一个外部的保障。你必须仔细研究缓冲服务器上的管理软件所提供的访问控制功能,这会让你了解如何在你的网络中实现这一防护。

还有一种叫做反向代理服务器(reverse proxy server),作为中间服务器,它可以成为Apache HTTP的代理。这种方式还有一个变种,可以允许你为所有的Apache通信提供一个共同的、唯一的接入点(即使你有多个Apache服务器),并能够通过防火墙协调外部端口监控。这样做的一个好处是入侵者永远无法知道你任何一台Apache服务器的真实IP地址--他们只能看到代理服务器的IP地址。

检查操作系统
除了上面所提到的,你可能还希望检查你服务器上操作系统的协议安全属性。当你采取了上述所有的安全防护步骤,看起来你就应该已经把该做的都完成了--你已经按照需要把你的网络保护好了。但是一次成功的攻击会让你发现,总是还有其他的一些事情,是你应该做的。(责任编辑:刘燕之

查看本文的国际来源

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章