dedecms织梦主机安全强化设置,严格读写权限和禁止从浏览器运行后门程序

此方法适合在linux系统中操作,严格设置各目录的读写权限,将写入运行分离,最大化实现织梦程序安全。另外,还可参考其它攻略,将织梦程序精简化,删除有安全隐患的部分 https://www.think3.cc/?id=6

一、设置目录读写

1、关闭所有文件的写入

以下操作在命令行中执行,注意将里面的 /www/wwwroot/www.yousite.com  替换为你网站的实际目录,比如 你的网站是 www.think3.cc,那目录就可能是 /www/wwwroot/www.think3.cc

find /www/wwwroot/www.yousite.com -type d -exec chmod 555 {} \;
find /www/wwwroot/www.yousite.com -type f -exec chmod 444 {} \;

2、打开常用需要写入的目录的写权限,如静态文件目录,缓存目录

先进入你的网站目录 -> 打开首页写权限 ->打开静态目录和缓存目录写权限,下面列出的是常用目录,如静态目录a ,html,织梦系统缓存目录 data,附件上传目录 uploads,模板目录 templets。

cd /www/wwwroot/www.yousite.com/
chmod 755 index.html index.htm
sudo chmod -R 755 a data html uploads templets

如果你的栏目生成在根目录中,还需要打开这些目录的写权限,比如 你设置过news栏目,product栏目,那么第3行中就要添加目录名,依次类推。

sudo chmod -R 755 a data html uploads templets news product


如果你嫌第3行中一个一个添加目录麻烦,也可以倒着顺序来

进入网站目录->让所有目录可写入->让部分目录不可写入

cd /www/wwwroot/www.yousite.com/
chmod -R 755 /www/wwwroot/www.yousite.com/*
sudo chmod -R 555 m dede dd style images include member plus book ask company group special

二、禁止可写入目录从浏览器运行程序的权限

以nginx为例,在nginx伪静态规则中添加;同样,第3行中,要加入你在根目录生成的栏目目录,如news,product之类的目录名

# ---nginx 伪静态----

# dedecms 屏蔽直接访问系统目录
if ($request_uri ~* /(cache|backupdata|install|sessions|dede_del)/) {
	return 404;
}

# dedecms 非系统目录/静态目录,禁止从浏览器运行php,
location ~* ^/(images)/.*\.(php|php5|asp|jsp|aspx|py)$ {
	return 404;
}

# dedecms 常见静态目录,禁止从浏览器运行php,增加自定义的栏目目录
location ~* ^/(a|ads|data|html|news|rss|sns|skin|spec|special|style|images|templets|uploads|download|feedback)/.*\.(php|php5|asp|jsp|aspx|py)$ {
	return 404;
}

# dedecms 模板目录禁止从浏览器打开html,防止盗模板
location ~* ^/(style|templets|uploads)/.*\.(htm|html)$ {
	return 404;
}

至此设置完毕。


三、安全原理说明

1、写权限设置后,只保留了部分目录可写入,大大减少入侵机会。

2、可写入的目录,通过伪静态禁止从浏览器访问并运行php程序,就算被突破被写入了后门,也无法运行,提高安全性。

建议同时使用waf防火墙,可以阻挡大部分常见扫描,提高入侵难度。

另外,如果你的站已经被入侵,需要先清除和删掉已存在的后门文件。

欢迎加入 SEO建站技术交流群 SEO建站技术交流 905633541 群里可以讨论交流建站话题

欢迎转载,请注明来源:https://www.think3.cc/?id=16

评论列表: (共0条评论)

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。