Debian系统层面安全配置
sudo apt update && sudo apt upgrade命令,确保Debian系统及所有软件包(包括PHP、Nginx/Apache等)安装最新安全补丁,降低已知漏洞风险。systemctl disable <service-name>命令关闭未使用的服务(如FTP、Telnet),减少攻击面。ufw(Uncomplicated Firewall)工具,仅允许HTTP(80)、HTTPS(443)、SSH(22)等必要端口通过,执行sudo ufw allow 'Nginx Full'并启用防火墙(sudo ufw enable)。/etc/ssh/sshd_config文件,设置Port 2222(自定义端口)、PermitRootLogin no(禁用root远程登录)、PasswordAuthentication no(禁用密码登录),使用SSH密钥对认证(PubkeyAuthentication yes)。/etc/pam.d/common-password文件,添加minlen=12、ucredit=-1、lcredit=-1、dcredit=-1、ocredit=-1参数)。Laravel应用层安全实践
composer update更新Laravel框架至最新稳定版,集成Dependabot或Renovate等自动化工具,监控依赖包安全漏洞并及时修复。DB::table('users')->where('id', $id)->first()),ORM会自动处理参数绑定,防止恶意SQL注入。.env文件中设置APP_URL=https://yourdomain.com,创建app/Http/Middleware/ForceHttps.php中间件,通过redirect()->secure($request->getRequestUri())将所有HTTP请求重定向至HTTPS,确保数据传输加密。app/Http/Middleware/ContentSecurityPolicy.php中间件,配置Content-Security-Policy响应头(如default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; object-src 'none';),限制资源加载来源,防御跨站脚本攻击(XSS)。@csrf指令(如<form method="POST" action="/submit">@csrf</form>),验证请求合法性,防止跨站请求伪造攻击。laravel/ui包或自定义中间件,设置登录失败次数限制(如5次),超过次数后锁定账户或增加验证码验证,防范暴力破解攻击。敏感数据与权限管理
.env文件中(而非代码库),通过config/database.php等配置文件引用(如'password' => env('DB_PASSWORD')),确保敏感信息不暴露在版本控制中。Crypt门面加密敏感数据(如用户手机号、身份证号),执行$encrypted = Crypt::encryptString('sensitive data')存储至数据库,读取时使用$decrypted = Crypt::decryptString($encrypted)解密,保障数据静态安全。storage/、bootstrap/cache/目录可写(chmod -R 775 storage bootstrap/cache),.env文件仅允许所有者读写(chmod 600 .env),防止未经授权的文件访问。监控与审计
storage/logs/laravel.log),通过config/logging.php配置日志级别(如'level' => 'debug'),记录请求详情、错误信息等,便于追踪安全事件。enlightn/security-checker工具扫描项目依赖,执行composer require --dev enlightn/security-checker安装后,运行php artisan security:check命令,识别并修复依赖包中的已知安全漏洞。Logwatch或Fail2ban工具监控系统日志,自动分析异常行为(如频繁登录失败、异常文件修改),及时发送警报(如邮件、短信)通知管理员。