wangsisi 发表于 2010-12-29 16:05:19

Mediawiki的安全问题

MediaWiki程序的安全性随着版本升级而得到提升,同时性能上也有明显增强。因此本文仅就1.4.0之后的版本进行说明。

mediawiki安全概述

    * 强烈建议:将服务器上脚本程序目录以外的部分设置为禁止[]脚本运行(下文中提到的"php_admin_flag engine off/on"参数),以防止恶意脚本的上传和运行。
    * 将register_globals设为关闭状态,否则可能造成部分程序不安全。关闭的方法参见 http://php.net/register_globals" (英文)。
    * LocalSettings.php中包含数据库用户的密码,请不要在网站空间上随意建立备份文件,以免被作为文本文件访问而造成泄密。
    * 禁止在允许上传的目录中执行PHP,因为有人可能作为服务器用户来执行任意的代码。同时建议将HTML文件强制解释为文本文件,以避免窃取cookie攻击。这是apache设置的代码片断:


<Location "/wiki/images">

php_admin_flag engine off
AddType text/plain .html .htm .shtml

</Location> </pre>


    * 这也可以通过设置上传目录中的.htaccess文件完成(注意将该文件进行写保护):


php_value engine off
AddType text/plain .html .htm .shtml


</pre>
[编辑]
关于服务器Apache httpd的说明

你可能希望将HTML文件强制解释为文本文件,以避免窃取cookie攻击。这是apache设置的代码片断:

<Directory "/Library/MediaWiki/web/images">
   # Ignore .htaccess files
   AllowOverride None
   
   # Serve HTML as plaintext
   AddType text/plain .html .htm .shtml
   
   # Don't run arbitrary PHP code.
   php_admin_flag engine off
   
   # If you've other scripting languages, disable them too.
</Directory>

</pre>


关于PHP解释器的说明

register_globals

在Mediawiki版本1.2之后,不再需要php.ini中的register_globals被打开。
强烈建议关闭register_globals,除非另外的应用需要。

php.ini可能存放在:


    * /etc/php.ini (Red Hat Linux)
    * /etc/php4/apache/php.ini (Debian woody)
    * /usr/local/php/lib/php.ini (Mac OS X using Marc Liyanage's PHP package)
    * /var/www/conf/php.ini (OpenBSD)
    * /usr/local/etc/php.ini (FreeBSD)
    * /etc/apache2/conf/php.ini (Gentoo Linux)
    * c:\windows\php.ini (Windows)



请将php.ini中的“register_globals = On”改为“register_globals = Off”。

作为替代手段,你可以在apache directive中加入下面一行,以基于单一目录的方式禁用register_globals:



php_flag register_globals off </pre>

之后重启Apache以使变动产生作用。



上传目录的安全设置

    * 禁止在允许上传的目录中执行PHP,因为有人可能作为服务器用户来执行任意的代码。实际上,其他CGI程序脚本也应当被禁止。同时建议将HTML文件强制解释为文本文件,以避免窃取cookie攻击。这是apache设置的代码片断范例:


<Location "/wiki/images">

php_admin_flag engine off
Options -ExecCGI
AddType text/plain .html .htm .shtml .php

</Location> </pre>


关于MySQL数据库的说明

    * LocalSettings.php中包含数据库用户的密码,请不要在网站空间上随意建立备份文件,以免被作为文本文件访问而造成泄密。

魔龙天神 发表于 2011-8-9 08:11:48

谢谢了。。。 我很赞成,继续努力吧











static/image/common/sigline.gif

http://img2081.poco.cn/mypoco/myphoto/20110719/00/6035253720110719001855088.png
页: [1]
查看完整版本: Mediawiki的安全问题

BlueHost美国主机优惠码