he911450 发表于 2024-9-8 16:56:42

seacms安全加固

首先感谢海洋cms作者的无私奉献对于网站安全自己的一些见解,互相交流一下,看见这里面都没有说这方面的东西,也给新手一点提示,


1.程序安全
使用官方发布包不用来路不明的程序,不使用来路不明的插件和文件等,你修改的越少程序越安全,防止误操作或者代码不对导致的漏洞


2. 文件安全
2.1文件权限
所有文件设置640权限(经过测试没问题)官方文件权限很高,比如644 664 777 755等等
服务器设置文件权限命令,下面的命令会设置所有文件权限为640,不包括文件夹,注意空格跟修改网站根路径

find 你的网站根目录路径 -type f -exec chmod 640 {} \;


例如你的网站根路径是/www/wwwroot/XXX.com


find /www/wwwroot/XXX.com -type f -exec chmod 640 {} \;

/data/common.inc.php文件手动设置400数据库连接文件
/data/admin_系统生成的串码.php手动设置400后台路径文件此文件以下还有config.XXX.php文件按照需求设置权限,建议网站设置完毕以后全部400只读权限,后期后台修改时候再加权

2.2文件夹权限

data文件
所有文件设置城555权限


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

555权限包括只读和执行权,其实554权限就足够了改完以后后台修改设置会失效,修改data和js文件为755即可解决

uploads文件
这个储存视频图片文件,设置755读写权/uploads/allimg视频图片文件,所有采集视频的本地化图片都在这755否则
其他文件权限不需要动,user应该是用户头像文件看需求





3程序漏洞利用
网站设置为静态或者静态以后,正常用户访问不会涉及到php解析问题所以禁止解析php才是安全之道,能解决大部分攻击行为

注意添加以下防火墙规则之前必须先添加以下规则来跳过以下规则否则你也不能访问后台和php文件

网站设置--》WAF--》创建规则--》编辑表达式--》粘贴以下代码---》再点使用表达式生成器就能很直观的看见规则了

(ip.src eq 你的ip) or (ip.src eq 你的服务器ip)

例如你的ip是:1.1.1.1服务器ip是:1.2.2.2


(ip.geoip.asnum eq 4134 and ip.src eq 1.1.1.1) or (ip.src eq 1.2.2.2)

采取措施选择跳过

要跳过的WAF组件选择所有其余自定义规则

如果你的ip变了就要及时修改否则不能访问后台,添加服务器ip是为了采集需要访问



这里以使用cloudflare的CDN设置为例网站设置--》WAF--》创建规则--》编辑表达式--》粘贴以下代码---》再点使用表达式生成器就能很直观的看见规则了

(http.request.uri.path contains ".php" and not http.request.uri.path contains "/index.php" and not http.request.uri.path contains "/search.php" and not http.request.uri.path contains "/err.php" and not http.request.uri.path contains "/include/vdimgck.php" and not http.request.uri.path contains "/include/ajax.php" and not http.request.uri.path contains "/include/common.php" and not http.request.uri.path contains "/gbook.php" and not http.request.uri.path contains "/sitemap.xml" and not http.request.uri.path contains "/robots.txt") or (http.request.uri.path contains ".asp") or (http.request.uri.path contains ".aspx") or (http.request.uri.path contains ".jsp") or (http.request.uri.path contains ".sql") or (http.request.uri.path contains ".rar") or (http.request.uri.path contains ".zip") or (http.request.uri.path contains ".gz") or (http.request.uri.path contains ".tar") or (http.request.uri.path contains ".7z") or (http.request.uri.path contains ".sh") or (http.request.uri.path contains "/data") or (http.request.uri.path contains "/admin") or (http.request.uri.path contains "/comment") or (http.request.uri.path contains ".ini") or (http.request.uri.path contains ".htaccess") or (http.request.uri.path contains "/你的后台地址") or (http.request.uri.path contains ".net") or (http.request.uri.path contains ".conf")

采取措施选择:阻止或者js质询



其中/err.php为视频报错文件
/index.php为首页文件/gbook.php为留言板
/sitemap.xml站点地图需要自己配置/include/vdimgck.php登陆留言验证码
/include/ajax.php应该是自动任务触发文件以及其他杂项没研究/search.php搜索文件
/include/common.php跟ajax.php类似美研究具体使用其他的就是禁止文件了,

.php文件目的是为了防止程序漏洞,下面的And小项是排除某些文件让用户可以正常访问

.XXX文件是为了网站被黑后黑客即使上传文件也不能访问

4定期备份

5系统程序层面就不写了,写不动了,自己找吧

我不是什么大神,自己的一些安全心得,希望能帮助到大家,cloudflareWAF的规则自己可以修改根据需求定制即可,我写的不一定全对,也可以利用宝塔WAF实现,具体步骤自己研究吧
页: [1]
查看完整版本: seacms安全加固