在移动互联网的高速发展下,一切都开始进入了以数据和流量为王时代。那么企业想要发展就要开始改变经营模式,从而就出现了线下和线上运营模式。通过网络推广宣传扩大知名度,做线上就必须要有自己的网站,但是有了网站后还需要用心维护,不可放任不管。因为这其中总会出现太多的问题,比如网站打不开,网站后台被入侵,网站被劫持等等各种情况,那么如何避免你的网站被入侵呢?
般有些小的公司或者是店铺什么的想要做一个网站,但是因为店小,会考虑到成本的问题,自己会一点或者是身边朋友会一点的就直接找免费的开源程序后台来建站,导致了后期维护难,漏洞多等各种问题,比如网站被入侵的事件就常有发生。
一、通常网站被入侵后的具体现象是:
1.网站主页被篡改,可能会出现将主页修改为某些不正规的网站或者是源代码根部被添加大量黑链代码。
2.或者是在网站主页中的关键字中添加单个网址或者标签,隐藏其链接,让人不经意发现。
3.或者通过SQL注入原理入侵,利用漏洞造成单引号注入,以此在用户登录认证密码时来收集用户资料和账户密码等。
4.或者通过木马程序或者病毒来实现远程文件的上传、下载、文件修改等程序的操作。
二、该如何避免你的网站被入侵?
1.网度通信建议对于搭建网站的服务器用不到的功能,选择删除或者禁用。针对网站的一些功能也是选择删除或者禁用。以此来避免网络犯罪分子通过更改默认的后台登录路径等方式入侵。
2.网站的安全密码需要定期更换,而且要严格的运用中文+数字+英文字母结合的方式设置。
3.不要在公共场合连接免密的无线WiFi,不使用公共地方的电脑以及网络去登录网站输入密码。
4.每天需要定时确认查看网站内部的友链,避免友链被挂马或者是被指向涉黄、涉政、涉赌等网站。
5.定期对系统进行排查、升级,对漏铜修复更新等。
三、织梦DEDECMS安全防护教程
1、漏洞的多少除了程序本身之外,和使用量也有关,织梦dedecms的市场占有率相当高,用的人也多,肯定找漏洞的人就多了,甚至网上还有各种针对织梦漏洞爆破挂马的工具,连刚出生的婴儿都能操作的批量挂马工具,问你怕了没,相反有的程序都没有几个人用,没有人找漏洞,暴露出来的也就少了。
2、织梦dedecms官方不作为,最近1,2年除了常规更新,其他更新早已停更很久很久。
3、由于织梦dedecms的简单上手快,很多新手和小白前期没了解过织梦安全这一块,网站上线后连后台目录dede文件夹也没改,甚至连默认的管理员账号密码都是默认的,别人随意进入后台搞乱。
Ps:如果你又想安全又不想放弃织梦,那就跟着我看下面的教程,动手打造一个安全的织梦网站吧,下面的教程只是常规的防范,足以应付那些利用工具扫站和捣乱的小人小屁孩,更深入的安全防护将在下一个教程说织梦内核改名和各个文件夹权限,一开始太复杂我怕整晕倒你,为了你的身心健康还是先从简单开始吧。
第一步:备份
1-1、后台-系统-数据库备份/还原,数据备份。
1-2、打包整站下载到你电脑上来,防止被改坏了无法还原回来。
第二步:最新织梦
http://www.dedecms.com/products/dedecms/downloads/ [官网] 下载对应编码的最新织梦程序包
第三步:删除最新织梦程序包那些没用的又容易被挂马入侵的程序文件
3-1、删除以下文件夹和文件
-
member 会员文件夹整个删除
-
special 专题文件夹整个删除
-
install 安装文件夹整个删除
-
robots.txt 文件删除
3-2、删除 /templets/default 官方默认模板这个文件夹
3-3、plus 文件夹除了以下 1个文件夹 和 5个php文件,其他的文件统统删除
-
/plus/img (这个文件夹)
-
/plus/count.php
-
/plus/diy.php
-
/plus/list.php
-
/plus/search.php
-
/plus/view.php
3-4、把 dede 后台文件夹改名,改复杂一点,改成爹妈都不认识它。
第四步:修复刚刚下载的织梦最新程序包里已知漏洞
4-1、打开
/include/dialog/select_soft_post.php 找到
$fullfilename = $cfg_basedir.$activepath."/".$filename;
在它上面加入
if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))) { ShowMsg("你指定的文件名被系统禁止!",'javascript:;'); exit;}
4-2、打开 /dede/media_add.php 找到
$fullfilename = $cfg_basedir.$filename;
在它上面加入
if (preg_match('#.(php|pl|cgi|asp|aspx|jsp|php5|php4|php3|shtm|shtml)[^a-zA-Z0-9]+$#i', trim($filename))){ ShowMsg("你指定的文件名被系统禁止!",'java script:;'); exit;}
第五步:从第一步的整站备份文件夹里检查 模板 和 文档图片文件夹 是否有挂马和后门等可疑文件或代码
这一步需要一点专业知识,如果你实在不懂,就到群里虚心请教,遇到可疑的地方截图请教别人,慢慢见的后门和木马代码多了,你就离成为大神不远了。
5-1、每一个跟模板有关的js文件都要一一打开来细心检查,因为挂马很多在js文件中,不然你前面和后面的工作都白做了。
5-2、每一个跟模板有关的css 和 images 文件夹下都要细心检查是否有后门文件,除了图片文件、css文件、字体文件,其他的一律删除,删错了也不用担心,有整站打包的备份在。
5-3、每一个模板htm文件都要细心检查是否有挂马代码存在,检查你的模板文件夹里是否有后门文件,比如php文件,asp文件,其他可疑的格式文件一律删除,删错了也不用担心,有整站打包的备份在。
5-4、你备份文件中的文档图片文件夹 uploads 文件夹,每一个文件夹都要打开,都要细心检查是否有后门文件,除了图片文件和你的附件,其他的一律删除,删错了也不用担心,有整站打包的备份在。
5-5、/data/common.inc.php 和
/data/config.cache.inc.php 一会配合打包要用到,所以也要检查。
5-6、/include/extend.func.php 可能有二次开发的自定义方法在里面,所以也要检查。
5-7、其他你曾经二次开发修改过的文件。
第六步:把第五步处理过的以下文件和文件夹复制到你第一步处理过的官方最新程序而且删除和修复漏洞的那个文件夹对应的位置里
-
/data/common.inc.php
-
/data/config.cache.inc.php
-
/include/extend.func.php
-
/templets/你的模板文件夹
-
/uploads
-
其他你曾经二次开发修改过的文件
还有可能你的模板关联的css 和 js 和 images图片,这个自己看着办,复制进来后,打包本地整好的文件
第七步:清空线上网站所有文件,上传本地整好的文件包
7-1、把主机里现在网站里的所有文件清空,不需要到mysql清除数据哦。虚拟主机的小伙伴可以借助主机面板一键清空,省事又干净。
7-2、把刚刚整理好的最新程序打包上传到主机里解压出来,不需要重新安装哦
7-3、登录网站后台,打开 系统-系统设置-基本参数,点击确认一次,再去生成全站。
第八步:后台-模块-广告管理,检查是否有挂马的广告,如果不用广告模块记得清空所有广告,或者用SQL命令一键批量删除
后台-系统-SQL命令行工具,执行
TRUNCATE #@__myad;TRUNCATE #@__myadtype;
第九步:利用伪静态功能禁止以下目录运行php脚本
linux主机的用户一般都是apache环境,使用 .htaccess 文件来设置,如果你网站根目录已经存在这个文件,那就复制一下代码添加进去,没有这个文件的小伙伴可以下载下来放进去
RewriteEngine on#安全设置 禁止以下目录运行指定php脚本RewriteCond % !^$RewriteRule a/(.*).(php)$ – [F]RewriteRule data/(.*).(php)$ – [F]RewriteRule templets/(.*).(php|htm)$ – [F]RewriteRule uploads/(.*).(php)$ – [F]
windows主机的用户一般都是iis7、iis8环境,使用 web.config 文件来设置,请确认你的主机已经开启了伪静态而且网站根目录有 web.config 文件,有这个文件的可以复制以下代码添加到对应的rules内,没有这个文件的小伙伴可以下载下来放进去
<rule name="Block data" stopProcessing="true"> <match url="^data/(.*).php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="data" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /></rule><rule name="Block templets" stopProcessing="true"> <match url="^templets/(.*).php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="templets" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /></rule><rule name="Block SomeRobot" stopProcessing="true"> <match url="^uploads/(.*).php$" /> <conditions logicalGrouping="MatchAny"> <add input="{USER_AGENT}" pattern="SomeRobot" /> <add input="{REMOTE_ADDR}" pattern="" /> </conditions> <action type="AbortRequest" /></rule>
Nginx下禁止指定目录运行PHP脚本
注意:这段配置文件一定要放在 location ~ .php(.*)$ 的前面才可以生效,配置完后记得重启Nginx生效。
location ~* /(a|data|templets|uploads)/(.*).(php)$ { return 403;}
在网站安全建设的道路上,使命任重而道远,所以我们需要提前做好安全防御措施,以此来防患于未然。最好的防御是布局好防火墙把这些都阻挡在外,防止一切病毒侵入!
2. 分享目的仅供大家学习和交流,您必须在下载后24小时内删除!
3. 不得使用于非法商业用途,不得违反国家法律。否则后果自负!
4. 本站提供的源码、模板、插件等等其他资源,都不包含技术服务请大家谅解!
5. 如有链接无法下载、失效或广告,请联系管理员处理!
6. 本站资源售价只是赞助,收取费用仅维持本站的日常运营所需!
源码资源库 » 如何避免你的网站被入侵?织梦DEDECMS安全防护教程_蜘蛛技巧_超级蜘-蛛-池