针对Linux系统的Web服务器安全

  保护Web主机安全首先就要去掉不必要的服务。去掉不必要的服务之前首先要明确的是:你要建立的是什么类型的主机。主机有三种类型:

  Intranet Web主机--无Internet连接的主机,通常与一个局域网连接。

  私人或外部Web主机--与Internet相连但只对非常有限的客户提供服务的主机。

  公共或牺牲Web主机--知道或不知道的用户可以通过Internet,全天候公共访问的普通Web主机。

  每种不同的主机类型就决定了要提供不同的服务,不需要的服务一律屏蔽掉。这是因为将运行的服务很可能会打开安全漏洞。对于要运行的服务,就要实施访问控制,可以使用TCPWrapper工具包,这个工具提供对远程服务基于模式匹配的访问控制,可以利用它禁止或允许对某些用户的服务。减少服务后,就应在Web服务器上建立访问控制和认证。Apache是在LINUX中最流行的Web服务器。为网络访问控制建立规则,就要用到以下命令:

  #Controls who can get stuff from this server.
  Order allow,deny
  Allow from all

  这些命令提供了三条控制通道,allow命令控制哪台主机可以连接,deny控制哪台主机不可以连接,order命令则控制allow/deny命令执行的顺序。通过这些命令可以明确允许授权主机和阻止未授权主机。

  Apache的安全设置有很多选项,这些设置已足够严格,但是选项的不同配置方法都会引起安全问题。例如,ExecCGI选项,是选择是否允许CGI程序运行,CGI程序很不安全,所以,能不用执行CGI程序,就尽量不执行。还有别的选项会有不同的问题,安装时要注意。目前Apache除了提供基本类型认证,还支持使用MD5的基于摘要的加密认证。