分享
 
 
 

教你用phpBB2配置一个安全的Linux论坛(下)

王朝php·作者佚名  2008-05-19
窄屏简体版  字體: |||超大  

二、清除安全漏洞和升级论坛版本

1. php

BB2.0.11安全漏洞分析和清除方法:

phpBB2是一个用php脚本语言编写的论坛,该论坛的低于2.0.11版本有个严重的漏洞,就是 viewtopic.php允许远程执行命令。viewtopic.php是phpBB2论坛脚本文件中的一个,用于查看帖子内容。通过该漏洞攻击者可以在服务上运行任何代码。Net-Worm.Perl.Santy.a是一个使用perl脚本代码编写蠕虫病毒,通过该phpBB2漏洞远程执行系统命令入侵主机,一旦入侵成功并获得运行,就开始向google发送请求,搜索可以入侵的主机。 如果你使用phpBB2版本低于2.0.11,那么需要清除该蠕虫病毒。

(1)清除病毒步骤:

打开viewtopic.php文件,在以下代码前加入一行:$topic_id = $post_id = false;

if ( isset($HTTP_GET_VARS[POST_TOPIC_URL]) )

{

$topic_id = intval($HTTP_GET_VARS[POST_TOPIC_URL]);

}

else if ( isset($HTTP_GET_VARS['topic']) )

{

$topic_id = intval($HTTP_GET_VARS['topic']);

}

另外还要将viewtopic.php文件中以下代码:

$join_sql_table = ( !isset($post_id) ) ? '' : ", " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 ";

$join_sql = ( !isset($post_id) ) ? "t.topic_id = $topic_id" : "p.post_id = $post_id AND t.topic_id = p.topic_id AND p2.topic_id = p.topic_id AND p2.post_id <= $post_id";

$count_sql = ( !isset($post_id) ) ? '' : ", COUNT(p2.post_id) AS prev_posts";

$order_sql = ( !isset($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC";

替换为:

$join_sql_table = ( empty($post_id) ) ? '' : ", " . POSTS_TABLE . " p, " . POSTS_TABLE . " p2 ";

$join_sql = ( empty($post_id) ) ? "t.topic_id = $topic_id" : "p.post_id = $post_id AND t.topic_id = p.topic_id AND p2.topic_id = p.topic_id AND p2.post_id <= $post_id";

$count_sql = ( empty($post_id) ) ? '' : ", COUNT(p2.post_id) AS prev_posts";

$order_sql = ( empty($post_id) ) ? '' : "GROUP BY p.post_id, t.topic_id, t.topic_title, t.topic_status, t.topic_replies, t.topic_time, t.topic_type, t.topic_vote, t.topic_last_post_id, f.forum_name, f.forum_status, f.forum_id, f.auth_view, f.auth_read, f.auth_post, f.auth_reply, f.auth_edit, f.auth_delete, f.auth_sticky, f.auth_announce, f.auth_pollcreate, f.auth_vote, f.auth_attachments ORDER BY p.post_id ASC";

然后点击“开始”-“搜索”-“文件或文件夹”在文件名称中输入“m1h020f”,找到后全部删除即可。截至到目前为止,该蠕虫还没有更新的变种。已经得到了很到的控制。

2. phpBB2.0.12安全漏洞分析和解决除方法:

phpBB 2.0.12版本中存在两个安全漏洞,其中一个很严重,允许任意用户都可以获取管理权限,另外一个漏洞会导致服务器路径泄露。第一个漏洞存在于includes/sessions.php文件中,其对$sessiondata['autologinid']变量的类型及比较操作存在问题,远程攻击者可以通过伪造特别的变量值使用判断用户合法性的操作始终返回真,从而使用任意用户可以在不知道口令的情况下以管理员的身份认证成功。第二个漏洞在于viewtopic.php文件中,由于对消息的过滤不充分,使路径泄露成为可能。远程攻击者可以利用这个漏洞获取管理权限。解决方法,升级版本到2.0.14。

步骤:

1.数据库的备份:

phpBB2本身可以备份自己的数据,点击phpBB2 的论坛管理员控制面板“普通管理”-》“数据库工具管理:备份”-》“选择整体备份选项”,即可完成论坛数据的整体备份,见图-4.

图-4 phpBB2论坛的数据备份

备份产生的文件是:phpbb_db_backup.sql,可以看出是一个sql文件。

2. 使用网络备份mysql数据:

phpBB2本身不能进行网络备份,这时可以使用Mysql数据的导出和导入工具:mysqldump。

(1)本地备份:

使用 mysqldump进行备份非常简单,如果要备份数据库” phpbb_db_backup ”,使用命令:

#mysqldump ?u -p phpbb_db_backup /usr/backups/mysql/ phpbb_db_backup.2005.5.6

还可以使用gzip命令对备份文件进行压缩:

#mysqldump phpbb_db_backup | gzip /usr/backups/mysql/ phpbb_db_backup.2005.5.6。gz

恢复数据使用命令:

#mysql ?u -p phpbb_db_backup </usr/backups/mysql/phpbb_db_backup.2005-5-6

(2)网络备份

将MYSQL数据放在一台计算机上是不安全的,所以应当把数据备份到局域网中其他计算机中。假设Mysql服务器IP地址是:192.168.1.3。局域网使用Linux的远程计算机IP地址是192.168.1.17;局域网使用Windows的远程计算机IP地址是192.168.1.18。

把MYSQL数据备份到使用Linux的远程计算机需要在两端都安装NFS协议(Network File System),远程NFS计算机安装NFS协议后还要修改配置文件:/etc/exports,加入一行:

/usr/backups/mysql/ 192.168.1.17 (rw, no_root_squash)

表示将/usr/backups/mysql/目录共享。这个目录具有远程root用户读写权限。保存NFS配置文件,然后使用命令:

#exportfs -a ?r

然后重新启动NFS服务:

#service nfsd start

远程计算机设定后,在MYSQL服务器/mnt 目录下建立一个backup_share目录:

#mkdir /mnt/backup_share

将远程的Linux计算机的/usr/backups/mysql/目录挂载到MYSQL服务器的/mnt/backup_share目录下:

# mount -t nfs 192.168.1.17:/usr/backups/mysql /mnt/backup_share

将目录挂载进来后,只要进入/mnt/backup_share 目录,就等于到了IP地址:192.168.1.7那部NFS 计算机的/usr/backups/mysql 目录中。下面使用mysqldump把“phpbb_db_backup”备份到远程计算机:

# mysqldump phpbb_db_backup /mnt/backup_share/ phpbb_db_backup.2005-5-6

把MYSQL数据备份到使用Windows的远程计算机需要在Linux端安装Samab协议。然后Windows计算机上建立一个目录(/arc)并且共享,赋予其读写权限。同样在MYSQL服务器/mnt 目录下建立一个backup_share1目录,然后进行挂载:

# mount -t smbfs -o username=cjh, password=XXXX //192.168.1.18/arc /mnt/backup_share

最后使用命令进行备份:

# mysqldump phpbb_db_backup /mnt/backup_share/ phpbb_db_backup.2005-5-6

3. 升级最新phpBB2论坛版本步骤:

下载最新版本phpBB-2.0.14解压到一个临时目录,先备份原数据,然后将原来的 config.php 文件覆盖临时目录下的 config.php ,删除原phpBB2安装目录,把最新版本phpBB2移动到/var/www/html/目录下:

# mv phpBB2 /var/www/html/phpbb2

然后在浏览器中输入:http://localhost/phpbb2/install/update_to_2014.php 升级自动进行,系统如果出现图-5表示升级成功:

图-5 phpBB2 版本升级界面

升级结束后同样要删除安装文件(防止他人使用这些文件修改系统信息),

#chmod 644 config.php

# rm -rf install

# rm -rf contrib

然后进行数据恢复,点击phpBB2 的论坛管理员控制面板“普通管理”-》“数据库工具管理:恢复”,即可恢复到论坛数据备份时的状况。

2.其他安全措施

1.管理员权限

phpBB2 的系统管理员具有最大的权限,而该权限可能会与其它的板主权限相冲突而造成不可预期的错误,所以最好不要让系统管理员当版主。另外用root权限运行MYSQL也不太安全,这里推荐使用其他用户运行MYSQL。方法是:

# mysql -u root -p

Enter password:xxxxxxxxx

………

mysqlupdate user set user="cao" where user="root";

mysql flush privileges;

mysqlquit

Bye

以后就得通过cao帐号访问mysql数据库了。

2.php配置文件的安全设定:

phpinfo和get_cfg_var函数主要用于调试程序是否正常,当LAMP安装结束后应当禁止其使用,编辑php.ini文件加入一行:〕

disable_functions = phpinfo,get_cfg_var

这样可以避免泄漏系统服务信息。关于php和Apache其他安全措施可以查看笔者的:教您如何应用PHP开发出安全的应用程序,链接:http://tech.ccidnet.com/pub/article/c1113_a239881_p1.html

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有