首页 >> 读书频道 >> 电脑 >> 有关服务器配置的安全提示
 
· 开始使用 Apache
· RedHat上安装apa
· Apache的完全安装
· Apache基于MySQ
· 构建免受FSO威胁虚拟主
· 清空iis log中自己
· 三种禁用FSO组件的方法
· 如何使用FSO搜索硬盘文
· 同文件夹内文本搜索器(v
· 一个实用的FSO-实时统
· 使用FSO把文本信息导入
· 硬盘文件搜索代码(ASP
 
· 拉封丹寓言
· 电视剧《刁蛮公主》下载和
· 美容养颜手册
· 加油金顺剧情分集介绍完整
· 红楼梦:120回全本[清
· 素质教育在美国
· 全唐诗卷四十六
· 韩剧《布拉格恋人》剧情介
· 夜航船[作者:明·张岱]
· 局外人[作者:韩·可爱淘
· 现场流行病学
· 源氏物语[日本:紫式部]
 
· (出租)中动商场部分及写
· (出租)中动动漫基地&#
· 喜剧学院
· 《善德女王》剧情介绍
· 魔女18号 剧情
· 丑女无敌剧情介绍
· 魔女幼熙剧情介绍
· 龙游天下剧情介绍
· 震撼世界的七日剧情介绍
· 静静的白桦林剧情介绍
· 心情日记—老公今天我想对
· 旗舰剧情介绍
欢迎来到月影社区!如果您觉得这里不错,请推荐给您的朋友们。月影社区:http://wf66.com/

有关服务器配置的安全提示


查看有无更新版本

关键字:WEB服务器 2006-9-20

 

一些在建立一个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

有关服务器配置的安全提示

[ 1 ]
有关服务器配置的安全提示 num

打印本页 关闭

关于我们版权声明本站导航友情连结作品演示 TOP↑