溫馨提示×

lamp在centos上的安全漏洞防范

小樊
37
2025-09-20 07:54:07
欄目: 網絡安全

賬戶與權限管理

  • 禁用非必要超級用戶與刪除默認賬戶:通過查看/etc/passwd文件檢測并鎖定不必要的超級賬戶(如未使用的管理員賬戶);刪除adm、lp、sync等默認賬戶,減少系統受攻擊的風險。
  • 強化用戶口令策略:設置復雜口令(包含大寫字母、小寫字母、數字和特殊字符,長度≥10位);通過修改/etc/login.defs文件強制執行口令復雜度要求,啟用口令有效期(如每90天更換一次)。
  • 最小化權限分配:創建普通用戶并分配必要的權限,避免直接使用root用戶登錄;通過visudo編輯/etc/sudoers文件,設置sudo超時(如15分鐘),限制sudo權限的使用范圍。

系統與軟件更新

  • 定期更新系統與軟件包:使用sudo yum update -y命令定期更新操作系統內核、Apache、MySQL、PHP等軟件包,修復已知安全漏洞(如Apache的HTTP請求走私漏洞、MySQL的SQL注入漏洞)。
  • 啟用自動安全更新:通過yum-cron工具配置自動下載并安裝安全更新,確保系統及時修補高危漏洞(如CentOS官方發布的安全公告)。

防火墻與端口管理

  • 配置防火墻規則:使用firewalld(推薦)或iptables限制對服務器的訪問,僅開放必要端口(如HTTP 80、HTTPS 443、SSH 22);通過firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="攻擊IP" drop'命令屏蔽惡意IP地址。
  • 關閉不必要服務與端口:通過systemctl disable命令停止未使用的服務(如FTP、Telnet、Samba),減少攻擊面(如Telnet的明文傳輸漏洞)。

SSH安全加固

  • 禁用root遠程登錄:修改/etc/ssh/sshd_config文件,將PermitRootLogin設置為no,禁止root用戶通過SSH直接登錄,降低暴力破解風險。
  • 使用密鑰認證替代密碼認證:生成SSH密鑰對(ssh-keygen -t rsa -b 4096),將公鑰復制到服務器(ssh-copy-id username@server_ip),禁用密碼登錄(PasswordAuthentication no),防止密碼泄露導致的賬戶淪陷。
  • 更改SSH默認端口:將SSH默認端口22改為非標準端口(如2222),減少自動化掃描工具的探測概率(如Nmap的默認端口掃描)。
  • 配置登錄失敗限制:通過/etc/ssh/sshd_config文件設置MaxAuthTries 3(最多嘗試3次)和LoginGraceTime 2m(登錄時間為2分鐘),防止暴力破解。

Apache Web服務器安全配置

  • 禁用不必要模塊:編輯/etc/httpd/conf/httpd.conf文件,注釋掉不需要的模塊(如mod_imap、mod_ldap),減少潛在的安全風險(如模塊漏洞導致的遠程代碼執行)。
  • 設置正確文檔根目錄權限:將Web應用目錄(如/var/www/html)的所有者設為普通用戶(如apache:apache),權限設為750(所有者可讀寫執行,組用戶可讀執行,其他用戶無權限),防止未授權訪問。
  • 限制客戶端連接與請求:通過MaxClients參數限制并發連接數(如150),通過MaxRequestsPerChild參數限制每個子進程處理的請求數(如1000),防止資源耗盡攻擊(如DDoS)。
  • 禁用目錄列表:在Apache配置中添加Options -Indexes,禁止目錄自動列出,避免敏感文件(如配置文件、備份文件)被直接查看。

MySQL/MariaDB數據庫安全配置

  • 設置強密碼策略:運行mysql_secure_installation腳本,為root用戶設置強密碼(包含大小寫字母、數字和特殊字符);定期更換密碼(如每3個月一次)。
  • 移除匿名用戶與遠程root登錄:通過mysql_secure_installation腳本刪除匿名用戶(DELETE FROM mysql.user WHERE User='';),禁止root用戶從遠程主機登錄(REVOKE ALL PRIVILEGES ON *.* FROM 'root'@'%';),僅允許本地登錄(GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost';)。
  • 定期備份數據庫:使用mysqldump命令定期備份數據庫(如mysqldump -u root -p dbname > dbname_backup.sql),并將備份文件存儲在安全位置(如異地服務器、云存儲),防止數據丟失或被篡改。

PHP配置安全

  • 禁用不必要PHP模塊:通過yum remove命令移除不需要的PHP模塊(如php-xmlrpc、php-gmp),減少攻擊面(如XML-RPC漏洞導致的遠程代碼執行)。
  • 關閉危險函數:編輯php.ini文件,禁用eval()、exec()、system()等危險函數(disable_functions = eval,exec,system,passthru,shell_exec),防止惡意代碼執行。
  • 隱藏錯誤信息:將display_errors設置為Offdisplay_errors = Off),避免在錯誤頁面泄露敏感信息(如數據庫用戶名、密碼、路徑);將錯誤日志記錄到指定文件(error_log = /var/log/php_errors.log),便于后續審計。
  • 限制文件上傳大小:通過upload_max_filesize(如2M)和post_max_size(如8M)參數限制上傳文件的大小,防止上傳惡意腳本(如PHP木馬)。

SELinux與文件系統安全

  • 啟用SELinux:編輯/etc/selinux/config文件,將SELINUX設置為enforcingSELINUX=enforcing),啟用強制訪問控制(MAC),限制進程的權限(如Apache只能訪問/var/www/html目錄)。
  • 配置SELinux策略:使用semanage命令調整SELinux策略(如允許Apache訪問自定義目錄:semanage fcontext -a -t httpd_sys_content_t "/data/web(/.*)?";重新標記文件:restorecon -Rv /data/web)。
  • 最小化安裝原則:僅安裝必要的軟件包(如yum groupinstall "Minimal Install"),避免安裝不必要的組件(如圖形界面、游戲),減少系統暴露的漏洞。

日志監控與應急響應

  • 開啟日志監控:使用rsyslogsystemd-journald收集系統日志(/var/log/messages)、Apache訪問日志(/var/log/httpd/access_log)、錯誤日志(/var/log/httpd/error_log)、MySQL日志(/var/log/mariadb/mariadb.log),定期檢查日志中的異?;顒樱ㄈ绱罅?04錯誤、暴力破解嘗試)。
  • 檢查入侵痕跡:使用last命令查看系統登錄日志(last -f /var/log/wtmp),使用lastb命令查看失敗登錄日志(lastb -f /var/log/btmp),識別可疑IP地址(如短時間內多次登錄失敗的IP)并及時封禁。
  • 應急響應流程:若發現入侵跡象(如異常進程、文件被篡改),立即隔離受影響的服務器(如斷開網絡連接),備份重要數據(如數據庫、配置文件),分析入侵原因(如通過ps aux查看異常進程、find / -mtime -1查找最近修改的文件),修復漏洞(如更新軟件包、修改密碼),恢復系統運行(如重啟服務、恢復備份)。

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