服务器安全
原文链接:https://doc.fastadmin.net/doc/171.html#toc-4
服务器安全涉及操作系统安全、目录安全、站点配置和运行配置等多个方面。
操作系统安全
生产用的操作系统强烈推荐使用 LTS 版本,留意操作系统的更新,并定期更新操作系统。
目录安全
在实际生产中,目录安全是比较容易被忽略的配置,因此我们更应该加倍注意防范,以免造成不必要的损失。
首先我们建议在生产环境只开放
和 目录的读写权限,其次还需要关闭 目录执行PHP脚本的权限,假设时服务端 目录有读写权限且有PHP的脚本执行权限,那么当有恶意脚本被上传到这个目录并被执行时,会导致服务器数据泄漏或恶意修改,从而造成损失。为避免不必要的损失,在生产环境下建议使用以下命令进行目录权限设置
chown www:www /var/www/yoursite -R
chmod 555 /var/www/yoursite -R
chmod u+w /var/www/yoursite/runtime -R
chmod u+w /var/www/yoursite/public/uploads -R
chmod 755 application/extra/addons.php
chmod 755 public/assets/js/addons.js
chmod 755 application/extra/site.php
WEB配置
通过以上的目录权限配置还不够,我们还需要继续对服务器做WEB配置,以限制PHP脚本的运行
Nginx可以通过以下配置禁止PHP脚本执行
location ~ ^/(uploads|assets)/.*\.(php|php5|jsp)$ {
deny all;
}
可以通过在 中配置来禁用PHP脚本执行
RewriteEngine on RewriteCond % !^$
RewriteRule uploads/(.*).(php)$ – [F]
或使用
<Directory "/www/yoursite/public/uploads">
<Files ~ ".php">
Order allow,deny
Deny from all
</Files>
</Directory>
其次在新增网站配置时务必绑定
目录为运行目录,同时启用 限制只允许FastAdmin的根目录,例如:通常也建议修改
,禁用不安全的函数,配置如下载配置
默认我们在请求
等类型的文件时会在浏览器进行渲染,为了安全,强烈建议当请求此类文件时进行下载而不是预览,我们可以按以下方法进行修改服务器配置来实现。可以修改配置文件(宝塔面板可直接在面板伪静态中添加)
location ~ .*\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$ {
add_header Content-Disposition attachment;
}
可以通过修改 配置来实现
<FilesMatch "\.(txt|doc|pdf|rar|gz|zip|docx|exe|xlsx|ppt|pptx)$">
ForceType application/octet-stream
Header set Content-Disposition attachment
</FilesMatch>
运行配置
首先打开
,做以下几项配置app_debug 设置为 false
app_trace 设置为 false
deny_module_list 添加 admin,然后将public目录下的admin.php重命名,新版本FastAdmin已经自动禁用和重命名
cookie.httponly 设置为 true
cookie.secure 设置为 true //前提是你的网站仅提供https访问
其次前台开启全局过滤,早期FastAdmin版本并未开启全局过滤。你也可以检查下你的代码。请手动修改以下代码:
application/common/controller/Frontend.php
application/common/controller/Api.php
注意修改其中的
过滤代码,可以修改成:同时也可以参考https://ask.fastadmin.net/article/7534.html 设置全局 安全过滤
最后务必修改后台管理入口,新版 FastAdmin 会随机生成后台入口,可以自定义修改后台入口文件,但请勿将入口改为容易被猜测到的入口文件,以后可以安全的从我们自定义的后台入口进行登录。
文档最后更新时间:2023-07-31 08:12:06
著作权归应用插件开发者所有,未经许可,禁止转载、复制此文档的任何内容。
发表评论 取消回复