把尽可能多的服务隔离运行可以部分地解决这个问题,例如用apache suexec程序的sbox让所有的cgi在隔离的环境以客户的用户id而不是web服务器的用户id运行。另外,许多服务器上运行着ftp服务,例如wu-ftpd,该服务的所有文件传输都是隔离进行的,同样也保护了善意客户的资料避免被其他人偷看。
然而,恶意的客户仍旧能够用cgi程序创建符号链接指向其他用户的存储区域,然后通过它自己的web服务器查看其他人的文件,这是因为在一个运行多个网站的环境中,web服务器无法简单地以隔离方式以及用它为之应答请求的客户的用户id运行。管理员应该配置web服务器以及其他文件传输程序使其不再使用符号链接。在apache上,这可以通过关闭最顶层的“followsymlinks”选项实现(不要在较低的层次上把它重新打开),配置代码示例如下:
|
Java Asp PHP .Net XML C/C++ CGI VB Jsp J2ee J2se J2me EJB Servlet Tomcat Resin Struts Weblogic Eclipse ANT GUI JMS Web servise IDEA Webphere Hibernate Spring Jboss Applet Swing Socket Javamail Perl Ajax P2P 安全 模式 框架 测试 开源 游戏
Windows XP Windows 2000 Windows 2003 Windows Me Windows 9.x Linux UNIX 注册表 操作系统 服务器 应用服务器