民审-M

Discuz!X3.4及以下版本论坛网站站点安全密钥及UCenter密码安全性操守指导

作者:民审-M   发布时间:2018-03-29 18:27   回复数:0   浏览数:812
民审-M
8120民审-M金牌草根
加亮 2018-03-29 18:27:24
8120 加亮 2018-03-29 18:27:24
本帖最后由 民审-M 于 2018-3-29 18:29 编辑

上一篇文章[color=rgba(34, 49, 63, 0.701961)],我们提到了六个加强网站安全性的通用措施。在本文中,我们会针对性的对 Discuz! X 的一些遗留安全问题进行修复。在阅读本文前,我们假设你已经升级到了最新版的 Discuz! X(撰写本文时最新版本为 Discuz! X3.4 20180204)。
本文提及的所有的修复所对应的漏洞此前都已在互联网上公开。
请依次完成以下安全修复步骤:

1. 重置站点安全密钥
如果在你安装 Discuz! 时,使用的版本为 Discuz! X3.4 20180204 或以上的版本,可跳过本步骤。
早期 Discuz! 安装程序产生的安全密钥不够安全,可被开源,需要重新生成安全密钥。
打开 config/config_global.php,找到:
$_config['security']['authkey'] = 'xxxxxx';
xxxxxx 是指你的旧密钥。请将旧密钥改为新的密钥。新密钥没有特殊格式要求,建议[color=rgb(34, 49, 63)]生成一个 32 位以上的英文、数字组成的随机字符串。此密钥请注意保密。
再找到:
$_config['cookie']['cookiepre'] = 'xxxx_';
将其中的 xxxx 改为新的字符串。字符串没有特殊格式要求,输入一个新的 4-5 位左右的英文、数字组成的随机字符串即可(如 ab12)。
完成以上两处修改后,需要进入后台重新设置一下远程附件 FTP 密码及支付宝密钥(如果此前有的话),同时论坛中所有会员将自动登出。新填入的密钥可有效避免被开源。

2
. 加强 UCenter 初始密码安全性
安装 Discuz! X 时,会同时安装 UCenter 系统(下称 UC),默认在 /uc_server/ 目录下。黑客获取 UC 权限等同于获取整站权限,且 UC 的初始密码是站长在安装 Discuz! 时设置的密码,如果没有通过以下步骤专门修改过,即使在 Discuz! 中修改过管理员密码,UC 密码也是不会变动的。
如果安装网站时使用了易于开源的弱密码,请登录 UC 后台(默认在 example.com/uc_server/ 下),在下图位置设置一个新密码。

图片:Discuz! 网站安全 #2.jpg


3. 修复 UCenter 密码爆破漏洞
UCenter 还存在一处爆破密码的漏洞,已被大量攻击者利用,官方尚未修复该问题。请打开 /uc_server/control/app.php,找到:
function onadd() {
在该行下面添加:
exit;
后续如果要将新网站接入 UC,可暂时撤销该改动。

4. 防止 IP 伪造
Discuz! X 的默认设置允许攻击者任意伪造 IP,进而绕过次数限制爆破会员密码。
打开 config/config_global.php,在文件末尾的 “?>”前添加一行:
$_config['security']['onlyremoteaddr'] = 1;
即可防止伪造 IP。
如果网站使用了 CDN,进行本修改后,获取到的 IP 将为 CDN 的 IP。这种情况下,nginx 用户可以使用 ngx_http_realip_module,指定 CDN 白名单,由 nginx 对访客 IP 进行还原。
当然,如果网站能够确保用户只有通过 CDN 才能访问到源站,也可以不进行此修改。(注意:如果没有专门做限制,攻击者可以通过各种方式,获取源站 IP 并直接连接)

完成以上步骤后,可以避免目前一部分常见的、针对 Discuz! X 的批量扫描。
安全永远是动态的,在撰文时,还有几个 0day 尚未修复、公开。建议站长参考上一篇文章中所提到的方案,降低风险。同时在 Discuz! X 发布新版本时,及时完成更新。

本文由 Coxxs 原创,原文链接:https://coxxs.me/604

游客
登录后才可以回帖,登录 或者 注册