溫馨提示×

centos lnmp如何實現安全防護

小樊
36
2025-08-26 23:34:17
欄目: 智能運維

以下是CentOS上部署LNMP實現安全防護的關鍵措施:

系統基礎安全

  1. 系統更新與權限管理

    • 定期執行 yum update 修復系統漏洞。
    • 禁用 root 遠程登錄,創建專用服務用戶(如 webuser),并限制其權限。
    • 使用 chattr +i 鎖定關鍵配置文件,防止篡改。
  2. 防火墻配置

    • 啟用 firewalldiptables,僅開放必要端口(HTTP 80、HTTPS 443、SSH 22等),禁止數據庫端口(3306)外部訪問。
    • 示例 firewalld 規則:
      firewall-cmd --permanent --add-service=http --add-service=https  
      firewall-cmd --reload  
      
  3. 服務最小權限原則

    • Nginx、MySQL、PHP-FPM 均以非 root 用戶運行,配置文件中指定用戶組(如 user = webuser)。

組件安全加固

Nginx 安全配置

  • 隱藏版本號:server_tokens off;。
  • 禁用危險 HTTP 方法:if ($request_method !~ ^(GET|HEAD|POST)$) { return 405; }。
  • 啟用安全頭:
    add_header X-Frame-Options "SAMEORIGIN";  
    add_header X-XSS-Protection "1; mode=block";  
    add_header Content-Security-Policy "default-src 'self';";  
    

MySQL 安全配置

  • 使用強密碼,禁止遠程 root 登錄,限制用戶權限至最小必要范圍。
  • 配置 my.cnf
    [mysqld]  
    skip-name-resolve  # 禁用DNS解析  
    sql_mode=STRICT_TRANS_TABLES  # 嚴格模式  
    

PHP 安全配置

  • 禁用高危函數:disable_functions = exec,passthru,shell_exec。
  • 啟用 open_basedir 限制文件訪問路徑,防止跨目錄攻擊。
  • 使用預處理語句(PDO/MySQLi)防止SQL注入,避免直接拼接用戶輸入。

數據與訪問控制

  1. 文件與目錄權限

    • Web 根目錄權限設為 755,敏感文件(如配置文件)設為 640,確保僅服務用戶可讀。
    • 上傳文件存儲于獨立目錄,禁止執行權限(chmod 600),并使用隨機文件名。
  2. 數據備份與加密

    • 定期備份數據庫(如 mysqldump)和網站文件,存儲至異地。
    • 啟用 HTTPS(Let’s Encrypt 免費證書),加密傳輸數據。

安全監控與審計

  • 部署日志分析工具(如 ELK Stack)監控異常訪問,重點關注 404、500 錯誤及異常登錄嘗試。
  • 使用 fail2ban 防止暴力破解,限制單個IP的失敗登錄次數。
  • 定期進行安全審計,通過工具(如 Lynis)掃描系統漏洞。

高級防護(可選)

  • 部署 Web 應用防火墻(WAF)如 ModSecurity,攔截SQL注入、XSS等攻擊。
  • 啟用 SELinux 限制進程權限,僅允許必要操作。

參考來源:[1,2,3,6,7,8,9,10,11,13,14]

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女