Discuz 安全指南 一

Discuz SEO
Powered By Discuz SEO 指南 PHPBB MyBB
September 25, 2020
Discuz SEO
Discuz如何禁止用户使用网络图片
October 7, 2020
显示全部

Discuz 安全指南 一

discuz 安全

Discuz是目前中文CMS最受欢迎的一款代码,安全漏洞也相对较多。在《 Powered By Discuz SEO 指南 PHPBB MyBB》中,对各种流行论坛代码做了比较。也说明了为什么国内现在的环境,Discuz还是论坛首选的原因。

最大的问题,也是出现频次最高的问题并不是Discuz本身,而是来自于服务器和空间提供商。因为很少自己做服务器安全,所以大都使用Hosting。

Web Hosting的安全

Web Hosting比较著名的几个提供商,HostGator, BlueHost, Godaddy,等等,如果使用Discuz,不推荐用Web Hosting。因为这些空间提供商采用的都是清一色的CPanel作为空间管理系统。便宜的,比如1.99美金一个月的Web Hosting往往采用破解版的CPanel降低成本,安全更为严重。

共享空间是Web Hosting最大的安全问题,说明无限空间的的空间提供商其实是将一台服务器共享给100,甚至200个用户。设立的站点往往都是好几百个,各种网站,垃圾的,色情的,非常多。这些网站也很容易中病毒,因为谁都想获取里面的免费资源。特别是网上赌博一类的网站,属于黑客攻击非常高的网站。这类网站中了病毒之后,无法阻止病毒只在一个站点传播,而是迅速蔓延到整个服务器甚至整个区。

扫毒软件扫描不出来。黑客攻入之后,会写一个攻击件放入,在写一个壳文件。壳文件属于正常文件,写入的是各种权限。攻击文件执行攻击,比如最常见的域名劫持——浏览域名,网站完全变成了另外一个网站。盗取流量。攻击文件可以被杀毒软件正常扫描得出,但是如果不知道壳文件在哪里,那么黑客就会不断利用这个权限,在服务器里鼓捣,把壳文件放在各个用户的各种文件夹下面,伪装成网站自己的PHP文档。除非查看服务器log文档,浏览记录,不然很难找到。

大部分的Discuz站长网站被黑,比例最高的就是使用了Web Hosting。所以再次重申,如果你想用Discuz建站,不要使用Web Hosting。

推荐使用知名的云服务器,价格上,推荐使用阿里。其他的都比较贵。云服务器问题是管理难度稍高,要比较熟悉各种设置。熟悉了,并不难,相当于Windows的用户转去了Mac。现在服务器都有一套可视化操作系统。独立的CPanel WHM(服务器独立系统)而不是Cpanel用户。Cpanel用户是在WHM的管辖之下,一个WHM买一个liscence是可以创建无数个Cpanel用户的,这也是Web Hosting的管理模式。因为云服务器不带这些操作系统,只有一个底层的CentOS 或者Ubuntu之类的环境,所以要这些可视化的管理界面就需要WHM这种级别比较高的系统,以及相应的权限了。

站长对自己玩CentOS这种底层环境,喜欢自虐的敲代码管理服务器,可以忽略可视化的管理界面。当然也能节省一大笔费用。各个云服务提供商都提供一些免费的可视化管理界面用来安装,还是一样,熟能生巧。熟悉了就好办了

最后一遍:不要使用Web Hosting安装Discuz。装Wordpress, 帝国CMS这类的单一用户使用的,可以。Discuz绝对不行,除非你是专门开发或者二次开发discuz,能够写各种用户级别的权限功能。Discuz的自带用户权限下面会说明问题有多大。

Discuz的自身安全问题

Discuz自身最大的漏洞就是用户上传文件时候的安全问题。用户可以通过两个途径上传文件,并导致网站被黑。第一就是用户上传图片,第二是用户上传头像。Discuz本身无法识别被挂了马的图片。可以禁止用户上传附件和图片,但是无法禁止用户上传头像。上传了之后,系统仍然会读取,一读取就导致挂了马的图片文件被执行。

一般专门做discuz安全的公司会在这里写一个插件禁止用户上传头像,牛逼一点的会直接写一个功能扫描图片文档,分析是否含有非图片代码。并且更改头像文档的存储路径为子域名,即使被黑,也无法感染到主要域名的文件。

普通站长能做到的:

第一:禁止下列文件夹执行PHP文档

包括UC_Sever (禁止这个文档的PHP被执行会导致UC Server无法操作。好在UC Server其实用到的次数非常少,在需要用的时候,把这行命令删掉即可),Data,Static,M,Archiver这几个主要文件夹。建议在HTACCESS文件里面添加命令来处理。其他方式处理,如果需要UC Server的时候,操作会多几步出来,有时候还需要重启服务器。

如何在htaccess文件里添加命令禁止执行PHP,有几种做法。一种是全局命令,另一种是在需要禁止的文件夹下面放入htaccess文档。如果是后者,需要多个.htaccess文档,注意不要误删。另外这个文档在本地创建是不能创建出.htaccees的,可以创建出htaccess.txt的文档,然后上传到文件下面之后,再重命名。

内容如下:

<FilesMatch “.(php.|php3.)”>

Order Allow,Deny

Deny from all

第二:禁止用户上传附件,仅仅允许用户上传图片。

并且禁止用户执行外部链接。禁止用户上传附件,可以在Discuz后台设定,禁止用户使用外部链接,只需要禁止用户使用htpp, https,添加禁用词就可以了。也可以直接把调用外部链接的功能从用户面板里删掉。删功能会影响界面,不建议做。

上传图片,建议使用图片防挂马插件,能够自动扫描图片是否含有代码。不管什么代码,只要有代码,这个插件都会自动拒绝用户的图片被显示出来,无法被执行。

第三:删除install Upgrade文件夹

少部分站长因为使用Web Hosting,黑客直接篡改了Install和Upgrade里的文件,导致站长在Discuz后台点击了升级,结果执行了攻击文件。这两个文件夹以及里面的文件在Discuz安装之后,没有任何作用。删除不会对网站有任何影响。

防止中招的话,删除。

第四:删除Avatar.php文件 禁止用户空间

在删除avatar.php这个文档之前,需要禁止用户使用空间,以及空间的任何功能。Discuz自带的空间在 Powered By Discuz SEO 指南 PHPBB MyBB 提到,已经非常过时,相当鸡肋了。强烈建议鹅厂在迭代的时候,直接把这个模块简化掉,变成用户profile的展示就行了,不需要任何博客,私信功能。本身UX就不好,SEO也不好。

删除avatar.php文件会导致用户头像无法显示,会显示默认头像。但是这是没有办法的办法。目前尚未有好的方式能够彻底解决。因为头像上传了之后,会有预览和头像剪切功能,等于执行了挂马的文档。所以直接禁止掉这个功能,删除空间里用户上传头像的代码。删除avatar.php 文件。

如何删除空间里用户上传头像的代码,主要是看模版,如果模版调用了default模版,那么下面这个文件就在default模版下面。如果模版自己又重新写了一个用户头像的文件,那么这个文件就在新模版的名称下面。

查找template/当前模板/home/spacecp_avatar.htm 第33行代码如下:

<script type=”text/javascript”>document.write(AC_FL_RunContent(‘<!–{echo im! r- F$ a$ S. ~7 E( h# @’ u2 f: h plode(“‘,'”, $uc_avatarflash);}–>’));</script>

代码直接删除。

第五:安装服务器扫毒软件 学会看log文档

HostGator服务器杀毒软件是要额外购买的,但是前面提到。如果用discuz请远离Web Hosting。所以可以使用HostGator的VPS,价格很贵,还不如用AWS了。

阿里,腾讯,华为的云服务都有免费的服务器扫毒软件。免费,就是不能自动删除病毒文件,但是可以扫描。扫描能够知道攻击文件是什么,什么时间被投放的。前面提到,黑客会写一个壳文件在服务器里,扫毒软件根本扫描不出来。所以做法就是扫描出攻击文件,不要立刻删除,记录IP,和时间。去Log文档里看这个IP在同样的时间,还读取了其他什么文件。凡是读取了的文件,原本Discuz里有的,全部使用旧的文件替换,没有的一律删除。

删除之前,先做好备份。不是使用Discuz的自带备份,这个备份比较废,搞出来的一些备份文件直接在Discuz目录下。如果前面黑客已经写了壳文件,就会到这个备份文件夹下面,篡改SQL数据,把权限写入用户。还原之后让SQL服务器也中毒。如果SQL也中了毒,恭喜,漏洞会查到要哭为止。所以要使用服务器自带的备份功能,完整备份成镜像。一般即使是Web Hosting也会把SQL单独在另外一台服务器,除非这公司真的省钱省到家,才会把SQL和PHP文件放在一台服务器底下。分开的,结果SQL中了毒,那真的就不说什么了。

最后:

浏览自己的网站,发现去了其他网站。99%都不是SQL的问题,所以不要立刻就找SQL的麻烦。这就是个数据库而已。要让网站挂掉,更加省事的办法都有。所以,问题都是在网站的文档本身:攻击文件没有被清干净;如果安装了SSL的,大概率是HTTPS的SSL文档被篡改,加了代码。

国内用Discuz建站的站长相当不容易,有钱有技术,一般都是自己写平台代码。次一点的,就是在这种建站代码上二次开发。草根站长用模版。黑客们对草根站长们手下留情。当年靠出Discuz给站长,然后发家的戴志康,现在都退休咯。所以还是需要一个环境,像国外WP一样。联合起来,事情才做的大,做的响亮。不然国内,硬件到软件,没有不用老外最新的。又没有办法像俄罗斯一样硬气,即使IT系统差,也不用别人的,装个Unix也不用Windows。

Comments are closed.