A-A+

Mediawiki的安全问题设置

2009年04月25日 未分类 暂无评论 阅读 1 次

 

  • Mediawiki技术文档 | Mediawiki建站 | 服务器安全

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

 

mediawiki安全概述

  • 强烈建议:将服务器上脚本程序目录以外的部分设置为禁止[[PHP">PHP</a>脚本运行(下文中提到的"php_admin_flag engine off/on|PHP]]脚本运行(下文中提到的"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>

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

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

 

关于服务器Apache httpd的说明

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

<Directory "/$path/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>
关于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:windowsphp.ini (Windows)

在linux下面可发命令查找

find / -name pgp.ini

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

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

php_flag register_globals off 

之后重启Apache以使更改产生作用。

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

<Location "/wiki/images">

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

</Location> 

 

关于MySQL数据库的说明 重要!

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

给我留言

Copyright © 浩然东方 保留所有权利.   Theme  Ality 07032740

用户登录