首页 > 网站 > Apache > 正文

Apache服务器的保护(2)

2024-08-27 18:25:55
字体:
来源:转载
供稿:网友
服务器访问控制

  access.conf文件包含一些指令控制允许什么用户访问Apache目录。应该把deny from all作为初始化指令,然后使用allow from指令打开访问权限。你可以允许来自某个域、IP地址或者IP段的访问。例如:

  <directory /usr/local/http/docs/private>
  <limit>
  order deny,allow
  deny from all
  allow from sans.org
  </limit>
  </directory>

  密码保护

  使用.htaccess文件,可以把某个目录的访问权限赋予某个用户。系统管理员需要在httpd.conf或者srm.conf文件中使用AccessFileName指令打开目录的访问控制。以下是一个.htaccess示例文件:

  AuthName PrivateFiles
  AuthType Basic
  AuthUserFile /path/to/httpd/users
  require foo <---一个有效的用户名

  然后,使用如下命令填加一个用户:

  # htpasswd -c /path/to/httpd/users foo

  Apache日志文件

  系统管理员可以使用日志格式指令来控制日志文件的信息。使用LogFormat "%a %l"指令,可以把发出HTTP请求浏览器的IP地址和主机名记录到日志文件。出于安全的考虑,你至少应该那些验证失败的WEB用户,在http.conf文件中加入LogFormat "%401u"指令可以实现这个目的。这个指令还有其它的许多参数,用户可以参考Apache的文档。另外,Apache的错误日志文件对于系统管理员来说也是非常重要的,错误日志文件中包括服务器的启动、停止以及CGI执行失败等信息。

  安全相关的指令

  在Apache配置文件中,有一些安全相关的指令可以使用。

  使用以下指令可以帮助你减小拒绝服务的威胁:

  LimitRequestbody: 数字参数,控制HTTP请求的大小。
  LimitRequestFields: 数字参数,控制请求头的数目。
  KeepAlive: 设置连接的生存期。
  KeepAliveTimeout: 限制等待请求的时间。

  使用以下指令可以帮助你叫嚣缓冲区溢出的危险:

  LimitRequestFieldSize: 限制每个请求头的大小。
  LimitRequestLine: 限制每个请求行的大小。

  CGI(ommon Gateway Interface,通用网关接口)的安全威胁

  CGI的安全性非常重要,攻击者可以利用CGI的缺陷获得系统信息、执行系统命令、占用系统资源。如果一个CGI程序使用静态分配的内存,就可能为缓冲区溢出攻击提供机会。为了减少这种风险,程序员应该在CGI代码中使用动态分配内存。除了CGI编写人员应该注意外,系统管理员可以采取对CGI进行封装(例如:suEXEC或者CGI Wrap)的办法加强CGI的安全性。通过这种方式可以使CGI程序以某个独立的用户权限运行,即使发生缓冲区溢出,也只影响那个用户的目录/文件。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表