一、HTTP的安全因素 对于HTPP要关注的两个基本安全情况之一是,一个恶意的客户能对HTTP服务器做些什么。在大多数情况下,我们对HTTP服务器安全性的考虑同我们对其他服务器如匿名FTP服务器处理来自因特网的连接的安全性考虑是一样的。你要确保用户的这些连接只能访问到你提供给他们访问的信息,并且不能让他们欺骗你的服务器来获得他们不应得到的信息。
有许多种方法完成这个目标,包括: 1)仔细配置你的服务器中的安全及访问控制功能,来限制哪些用户可以访问服务器及他们能访问的区域。 2)以一个非特权用户来运行服务器。 3)使用CHROOT机制来限制服务器操作是在你的文件系统中的一个特定区域中,你以在服务器内或通过一个外部交换程序来使用CHROOT。 4)不要将要保密信息放在服务器的机器上,这样的话,即使有人入侵到你的服务器上,由于那里没有他们所感兴趣的东西,至少是没有他们无法从正常渠道得到的信息。5)对于你的网络中蓁机器进行安全配置以便即使有人入侵的话,也只限于是该服务器这台机器,他们也难以进一步从你的网络中得到更多的信息。要这样做的话首先必须不能将服务器运行在内部网络中。
HTTP服务器本身只提供有限的服务,没有许多要关心的安全问题。但在HTTP服务器你要担心的唯一功能是:它能使用外部程序,特别是能通过CGI(公共网关接口COMMONGATEWAYINTERFACE)与用户交互,CGI是HTTP提供用户信息如何与服务器连接并通过它传递给外部程序的一个功能。许多HTTP服务器配置成自动运行外部程序来生成HTML页面。这些程序通常称为CGI程序,甚至它们所使用的CGI并不是程序。如果有人向HTTP服务器发出一个数据查询要求,HTTP服务器执行一个外部程序来执行这个查询要求并生成HTML页面来作为回答。
有两个理由需要对外部程序的安全性担心的: 1)入侵者能不能欺骗外部程序去做一些它们不应做的事? 2)入侵者能不能上载他们自己的外部程序并执行它们?
你可能要在MACINTOSH、DOS和WINDOWS机器上HTTP服务器,这些机器有好的HTTP服务器但通常没有其他的功能如保密。由于它们不能运行其他服务,没有强有力的外部程序能力。它们越简单,处理安全的能力就越弱。
|