在Debian上對Laravel項目進行安全加固是一個多層面的過程,涉及系統配置、Laravel應用設置以及安全最佳實踐。以下是一些關鍵步驟和建議:
sudo apt update && sudo apt upgrade
composer update
sudo apt install ufw
sudo ufw enable
sudo ufw allow 22/tcp # 允許SSH連接
sudo ufw allow 80/tcp # 允許HTTP連接
sudo ufw allow 443/tcp # 允許HTTPS連接
sudo apt-get install libpam-cracklib
sudo nano /etc/pam.d/common-password
編輯 /etc/pam.d/common-password 文件,設置密碼策略,如最小長度、復雜度等。sudo nano /etc/ssh/sshd_config
禁用root遠程登錄:PermitRootLogin nosudo nano /etc/ssh/sshd_config
Port 2222 # 修改端口
PermitRootLogin no
namespace App\Http\Middleware;
use Closure;
class ContentSecurityPolicy {
public function handle($request, Closure $next) {
return response()->headers->set('content-security-policy', "default-src 'self'; script-src 'self' 'nonce-" . base64_encode(random_bytes(16)) . "'");
}
}
在 kernel.php 中注冊中間件:protected $middleware = [
\App\Http\Middleware\ContentSecurityPolicy::class,
];
.env 文件中設置:APP_URL=https://yourdomain.com
創建并注冊 forcehttps 中間件,確保所有HTTP請求重定向到HTTPS。enlightn/security-checker 進行安全掃描。composer require --dev enlightn/security-checker
php artisan security:check
通過上述步驟,可以顯著提高Debian系統上Laravel應用的安全性,保護應用程序免受常見的網絡攻擊。