系统级安全配置
sudo apt update && sudo apt upgrade更新Debian系统及软件包,修复已知安全漏洞;通过composer update更新Laravel框架及依赖项,获取官方发布的安全补丁。ufw(Uncomplicated Firewall)工具,仅允许必要端口(如HTTP 80、HTTPS 443、SSH 22)的入站流量,命令示例:sudo ufw allow 80/tcp && sudo ufw allow 443/tcp && sudo ufw enable。/etc/ssh/sshd_config文件,设置PermitRootLogin no禁用root远程登录,更改默认SSH端口(如Port 2222),并启用SSH密钥认证(将公钥添加至~/.ssh/authorized_keys),降低暴力破解风险。libpam-cracklib模块增强密码复杂度,编辑/etc/pam.d/common-password文件,添加minlen=12(最小长度12位)、dcredit=-1(至少1个数字)、ucredit=-1(至少1个大写字母)等规则。Laravel应用层安全防护
User::where('name', '=', $name)->get()),避免直接拼接SQL语句(如DB::select("SELECT * FROM users WHERE name = '$name'"),从根本上杜绝SQL注入漏洞。@csrf Blade指令(如<form method="POST" action="/submit">@csrf</form>),验证请求合法性。.env文件中设置APP_URL=https://yourdomain.com,并创建ForceHttps中间件(代码示例:if (!$request->secure()) { return redirect()->secure($request->getRequestUri()); }),注册至app/Http/Kernel.php的$middleware数组,强制所有HTTP请求重定向至HTTPS,加密数据传输。ContentSecurityPolicy中间件,设置响应头Content-Security-Policy(如default-src 'self'; script-src 'self' 'nonce-随机值'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; object-src 'none';),注册至全局中间件,限制资源加载来源,防止XSS(跨站脚本)攻击。add_header X-Content-Type-Options "nosniff"(防止MIME类型嗅探)、add_header X-Frame-Options "SAMEORIGIN"(防止点击劫持)、add_header X-XSS-Protection "1; mode=block"(启用浏览器XSS过滤器)。敏感信息与权限管理
.env文件中(而非代码库),并通过php artisan config:cache缓存配置;使用openssl_encrypt函数加密.env中的敏感字段(如DB_PASSWORD),避免明文泄露。755(chmod -R 755 /var/www/yourproject),文件权限为644(find /var/www/yourproject -type f -exec chmod 644 {} \;);将storage、bootstrap/cache目录设置为775(chmod -R 775 storage bootstrap/cache),确保Web服务器用户(如www-data)有写入权限。.env文件中设置APP_DEBUG=false,关闭详细错误信息显示,避免暴露系统路径、数据库结构等敏感信息,防止攻击者利用错误信息进行针对性攻击。监控与维护
enlightn/security-checker工具(composer require --dev enlightn/security-checker)扫描项目依赖,识别已知安全漏洞(如Composer包的CVE漏洞),命令示例:php artisan security:check。storage/logs/laravel.log)及系统日志(/var/log/syslog、/var/log/auth.log),监控异常登录、SQL错误、未授权访问等行为,及时响应安全事件。