网站建设| 数据库类| 图形图象| 程序设计| 现代办公| 操作系统| 考试认证| 网络技术| 软件工程| 电脑相关| 文学作品
网站开发| 网页制作| 操作系统| 图象图形| 考试认证| 数据库类| 程序设计| 硬件技术| 现代办公| 网络技术| 笑话频道
 
您的位置: 电脑书库首页-> 电脑文摘-> 网站开发-> WEB服务器-> 有关服务器配置的安全提示

有关服务器配置的安全提示
作者:佚名 来源:InterNet 加入时间:2005-1-14
相关文章
  • 1U/2U机架式服务器有何不同?
  • 服务器硬件维护的一些小知识
  • 维护服务器安全的七个技巧
  • 如何在服务器上保存一定时间的信息
  • 服务器完美设置方案
  • 相关书籍:
  • ASP.NET服务器控件与组件编程
  • Office 服务器扩展 VB参考
  • Windows 2000 Server 资源大全第01卷 服务器使用指南
  • Apache 服务器实用大全
  • Win2000 服务器设置全攻略
  • RedHat6.2服务器配置方案
  • 一些在建立一个WEB服务器时的安全方面的提示和建议。一部分是通用的,其它则仅限于Apache服务器


    --------------------------------------------------------------------------------

    ServerRoot 目录的许可权限
    在典型的启动下,Apache 由 root 用户启动,然后它转到由User命令定义的用户,以提供点击服务。作为 root 可以执行任何指令这一情况,你必须当心它不被任何非 root 用户更改。不仅文件本身只能被 root 改写,而且其子目录,以及所有子目录的根目录也要如此。例如,如果你选择将 ServerRoot 放置于 /usr/local/apache,那么我们建议你以 root 身份创建这个目录,采用类似以下的命令:

        mkdir /usr/local/apache
        cd /usr/local/apache
        mkdir bin conf logs
        chown 0 . bin conf logs
        chgrp 0 . bin conf logs
        chmod 755 . bin conf logs

    这里假设 /, /usr, 和 /usr/local 仅仅可以被 root 更改。当你安装 httpd 可执行文件,你必须确定它也被类似的保护:
        cp httpd /usr/local/apache/bin
        chown 0 /usr/local/apache/bin/httpd
        chgrp 0 /usr/local/apache/bin/httpd
        chmod 511 /usr/local/apache/bin/httpd

    你可以创建一个可以被其他用户改写的 htdocs 子目录,—— 只要 root 从不在那里执行或创建任何文件。

    如果你允许非 root 用户改写那些 root 执行或写入的文件,那么你将你的系统到 root compromises。例如,有人可以替换 httpd 可执行文件,当你下次启动它时,她将执行一些任意的代码;如果 logs 子目录(对于非 root 用户)是可写的,也许有人将它替换成为指向其它系统文件的链接,如此 root 可能用任意的代码覆盖原文件;如果日志文件本身是可写的,也许有人会用伪造的数据改写它。

     

    --------------------------------------------------------------------------------

    Server Side Includes
    Server side includes (SSI) 可以如此设置,以致用户可以在服务器上执行任意的程序。这一点本身就回让系统管理员不寒而栗。

    一个解决的办法是禁用这一部分的 SSI。为此,你可以在 Options 指令中使用 IncludesNOEXEC 选项。

     

    --------------------------------------------------------------------------------

    Non Script Aliased CGI
    只有在以下的情况下,才可以允许用户在任何目录使用 CGI 脚本语言:

    你信任你的用户不会故意或无意使用脚本让你的系统遭受攻击;
    你认为你的网站安全是如此的脆弱,这样也不会造成更大的漏洞;
    你没有用户,而且没有人访问你的网站。


    --------------------------------------------------------------------------------

    Script Alias'ed CGI
    限制 CGI 仅在特定的目录内执行,让管理员可以控制进入目录的内容。这显然比 non script aliased CGI 更安全,但仅限于对可以信任的目录,用户有写的权利 或管理员愿意测试每一个新的 CGI 脚本/程序,并寻找安全漏洞。

    Most sites choose this option over the non script aliased CGI approach.

     

    --------------------------------------------------------------------------------

    CGI in general
    永远记住你必须相信 CGI 脚本/程序的作者或你自己有能力发现 CGI 中的潜在安全漏洞,不管它们是有意的或是无心的。

    所有的 CGI 脚本将作为同一用户运行,所以有和其它脚本冲突(有意的或无心的)的潜在可能性。例如,用户 A 憎恨用户 B,所以他写了一个脚本破坏用户 B 的 CGI 的数据文件。一个能让脚本作为另一个用户运行的程序是 suEXEC,它包含在 Apache 1.2 中,在Apache服务器代码中通过特殊的 hooks 调用。另一个常用的方法是用 CGIWrap。

     

    --------------------------------------------------------------------------------

    阻止用户修改系统配置...
    为使服务器更稳定的运行,你也许希望阻止用户修改 .htaccess 文件从而更改你的系统安全方面的设置。以下是一种方法...

    在服务器设置文件中,加上

    <Directory />
    AllowOverride None
    Options None
    Allow from all
    </Directory>

    然后为特定目录设置
    这将阻止所有的这些命名的之外的overrides,includes 和 accesses。

     

    --------------------------------------------------------------------------------

    设定默认为保护服务器文件
    一个经常被误解的 Apache 的理念是默认存取(权限)。就是说,除非你采取措施更改它们,如果服务器可以通过正常的 URL 找到一个文件,它将可以将文件提供给客户。

    例如,考虑以下例子:

    # cd /; ln -s / public_html
    Accessing http://localhost/~root/
    这将允许客户浏览整个的文件系统。为了解决这个问题,在服务器设置文件中增加以下小节:

     <Directory />
         Order Deny,Allow
         Deny from all
     </Directory>

    这将禁止默认的可以访问文件系统的设置。增加类似 <Directory> 小节以允许仅仅访问你希望的区域。例如,

     <Directory /usr/users/*/public_html>
         Order Deny,Allow
         Allow from all
     </Directory>
     <Directory /usr/local/httpd>
         Order Deny,Allow
         Allow from all
     </Directory>

    特别注意以下两个指令 <Location> and <Directory> 的交互作用;例如,即使 <Directory /> 拒绝访问,一个 <Location /> 指令也许改变它。

    同时,必须机警地和 UserDir 指令打交道;将它设定成类似 "./" 将有相同的作用,对于 root ,像上面的第一个例子。如果你使用 Apache 1.3 或更高版本,我们强烈建议你在服务器设置文件中增加以下行:

    UserDir disabled root

    --------------------------------------------------------------------------------

    请填写问题报告,给 Apache Group 发送任何其它有用的安全技巧。如果你确信你自己在 Apache 源码中发现了一个安全漏洞,请让我们知道.


    [文章录入员:tonny]

    相关文章
  • 1U/2U机架式服务器有何不同?
  • 服务器硬件维护的一些小知识
  • 维护服务器安全的七个技巧
  • 如何在服务器上保存一定时间的信息
  • 服务器完美设置方案
  • 相关书籍:
  • ASP.NET服务器控件与组件编程
  • Office 服务器扩展 VB参考
  • Windows 2000 Server 资源大全第01卷 服务器使用指南
  • Apache 服务器实用大全
  • Win2000 服务器设置全攻略
  • RedHat6.2服务器配置方案
  • 本站推荐内容

    近期主机类热搜关键词:
    美国服务器 美国服务器租用 海外服务器租用 国外服务器租用

    WEB服务器
    ASP/ASP.NET
    PHP技术
    JSP技术
    XML技术
    CGI/PERL
    WEB服务器
    WordPress专题
    其它
    电脑教程阅读排行
    ·FTP登陆错误详解
    ·服务器完美设置方案
    ·维护服务器安全的七个技巧
    ·把你的XP和2000所带的iis...
    ·一步一步开始Web Servic...
    ·RedHat上安装apache
    ·Apache的完全安装
    ·IIS常见问题及解答
    ·如何查看网站同时在线人数
    ·开始使用 Apache