扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
端口扫描
Apache的功能是在一台服务器上提供HTTP服务。根据定义,Apache应该运行在一台有HTTP应用的服务器上,可能是网站,甚至还有其他的应用。Apache服务器通常(但并不总是)是一个更大型的网络的一部分,网络中也可能包含不只一台Apache HTTP服务器,就如同还包含多台服务器提供不同的服务一样。
在这样的环境里,Apache负责侦听80端口(如果你用SSL,就还包括443端口),寻找HTTP请求。这个领域的行业连贯性是通过一个“标准的”IANA(Internet Assigned Numbers Authority)列表来维持的,你可以扫描端口的活动并与这个列表做对比。因此,服务器上不同的服务可以通过这一对比,得到鉴定和授权。
你怎么进行这样的扫描呢?你可以使用netstat。它能够把一台服务器上、任何时刻等待请求的所有服务都列出来。这非常有用,但是如果你有不只一台服务器,它就力不从心了:netstat是一个单机版的软件,只能够在本机上应用。如果你在不同的地方有不只一台的服务器,你就应该使用nmap。
它能够把某一台特定的服务器上的所有开放的端口都列出来,这对于预防网络侵入非常有用。你能够从潜在的入侵者的角度看到很多东西,你能够发现那些可能被利用的入口。你应该这么考虑:如果你已经把你的整个网络防护起来,但是入侵者还是想要攻击你的服务器,端口扫描能够让入侵者发现可以被他们利用的服务中的漏洞。通过进行定期扫描,你可以领先一步堵住这里漏洞。
黑客是怎么做的?
黑客可以利用远程登录,或者其他一些类似的方法来逐个了解你服务器上运行的服务范围。他们还可以获得一些管理信息--比如他们能够了解到他们攻击时,你所使用的Apache的版本。
保持“匿名” 其他的服务器目标 上面我们已经讲述了如何对待不需要的协议,那么对于那些必要的协议,我们应该如何进行防护呢?你该如何保护一个你不能禁用的服务不被黑客利用?解决的办法是利用其他服务器上的服务器软件的访问控制能力。例如,你可以在Apache服务器和你的网关之间部署一台缓冲服务器,并且根据协议过滤内部请求,这样,就给你的Apache服务器上的非HTTP服务提供了一个外部的保障。你必须仔细研究缓冲服务器上的管理软件所提供的访问控制功能,这会让你了解如何在你的网络中实现这一防护。
还有一种叫做反向代理服务器(reverse proxy server),作为中间服务器,它可以成为Apache HTTP的代理。这种方式还有一个变种,可以允许你为所有的Apache通信提供一个共同的、唯一的接入点(即使你有多个Apache服务器),并能够通过防火墙协调外部端口监控。这样做的一个好处是入侵者永远无法知道你任何一台Apache服务器的真实IP地址--他们只能看到代理服务器的IP地址。
检查操作系统
实际上,你真正想要的是你的服务器对于除了你以外的任何人都是“匿名”的!这可能比你想象的更容易实现。你可以使用ServerTokens directive来阻止其他的人了解你的服务器软件版本,以及在服务器上的运行的服务。你可以从你的Apache配置(httpd.conf)中找到ServerTokens directive,并且限制服务器的开放程度。它有四种模式,从“完全开放”到“只对某人开放”。你应该在执行这一指示之前和之后都检查服务器:运行# telnet
现在你已经了解如何发现恶意的网络活动,并且理解了入侵者看待你网络的方式,你该考虑其他一些运行在你的服务器上的安全漏洞。两个最不安全的服务是smtp和ftp。这些服务通常在不被需要的时候还开着(在Apache HTTP服务器上,它们完全没有必要)。用端口扫描检查一下当你重启你的服务器的时候,是否有这样的服务也运行了。如果有一些这样的服务存在,而它们并不是必须的,你就应该调整你的配置,禁止它们运行。
除了上面所提到的,你可能还希望检查你服务器上操作系统的协议安全属性。当你采取了上述所有的安全防护步骤,看起来你就应该已经把该做的都完成了--你已经按照需要把你的网络保护好了。但是一次成功的攻击会让你发现,总是还有其他的一些事情,是你应该做的。(责任编辑:刘燕之)
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者