Linux運維安全實踐清單


Linux運維的安全防護

此文檔是一個可以實際操作實時更新Linux運維安全相關的實施清單,用於對linux運維相關安全防護的計划 > 實施 > 檢查 > 改進

1 安全原則

在實施安全措施之前規定一些基本安全原則,做到心中有丘壑,眉目作山河

  • 信息和系統安全防御是多層面的縱深防御,按從外層到內層的順序,主要包括5層:物理安全防御 > 網絡安全防御 > 主機安全防御 > 應用安全防御 > 數據安全保護
  • 最小權限法則,給予用戶、程序、系統最小的僅能完成其功能的權限
  • 盡量使用白名單而不是黑名單
  • 使用入侵檢測系統及早發現黑客的攻擊行為
  • 定期掃描系統漏洞、Rootkit、病毒
  • 培養運維人員的安全意識,編寫運維安全文檔統一安全規范

2 物理安全防御

第一層的防御就是物理層防御,不論機房大小都應該重視

  • 機房鎖上門,避免有人拿大錘進機房砸了服務器、路由器、交換機、空調
  • 使用 UPS,防止斷電引起的服務器停機

3 網絡安全防御

網絡是能摸到你服務器的最直接的觸手,需要嚴加防范

  • 使用網絡防火牆,在網絡邊界使用硬件防火牆如juniper、cisco等品牌的硬件防火牆,在操作系統層使用軟件防火牆如 iptables,進行細粒度的網絡訪問控制
  • 對於部署到公有雲的網絡安全防御,要盡量盡量減少暴露的雲服務器和端口的數量,使用安全組設置服務器的網絡訪問控制
  • 使用堡壘機,如開源的 jumpserver
  • 防御 DDos 攻擊,使用雲廠商提供的 DDos 防御服務,使用 CDN 加大承載能力
  • 搭建 VPN,連接不同地域的網絡或服務器,用於遠程辦公人員使用,或者連接不同的局域網
  • 網絡安全問題的分析工具,可以使用 tcpdump、wireshark

4 主機安全防御

突破了網絡防御的觸手到達了你的服務器,別讓他繼續下去

4.1 Linux用戶安全管理

  • 禁止 root 用戶 ssh 登陸服務器,建立單獨的用戶用於 ssh 登陸,使用密鑰登陸而不是密碼
  • 用戶密碼要保證復雜度杜絕弱口令,使用弱密碼工具 John ther ripper 或 hydra 檢查弱密碼
  • 安全的配置 sudo,賦予不同用戶滿足需求的最小權限
  • 限定可以使用su的用戶,防止未授權的用戶切換成root

4.2 文件系統安全

  • 使用 sXid 監控 SUID 和 SGID 類型文件的變化
  • 使用 extundelete 恢復已刪除的文件
  • 使用 srm 和 dd 命令安全擦除敏感文件

5 Linux 應用安全

Linux 應用安全主要包括安裝在 Linux 上的應用的相關安全設置,根據一項調查顯示網站高危漏洞最常見的是跨站腳本攻擊、SQL 注入、PHP 錯誤信息泄漏,數據庫運行時錯誤等

  • 使用開源web防火牆(WebApplication Firewll,WAF),Apache 可以使用 ModSecurity,Nginx 可以使用 NAXSI,共有用可以購買雲WAF防火牆
  • 使用 HTTPS 避免中間人攻擊和防止網絡上的嗅探,
  • PHP 安全配置
    • 注意 PHP 開發框架的漏洞
    • 配置文件中禁止錯誤信息顯示
    • 禁止 PHP 打開遠程文件
    • 禁止PHP包含遠程文件
    • 在 Cookie 中設置 “HTTPonly” 屬性等一系列安全配置
  • Tomcat 安全配置
    • 刪除 webapps 目錄下默認應用
    • 為 Tomcat 設置專用的啟動用戶
    • 關閉 WAR 包自動部署
    • 自定義錯誤頁面
  • MySQL 安全
    • 部署在僅有內網的服務器上
    • 通過防火牆設置為僅 Web 服務器可訪問
    • 使用獨立的普通用戶運行 MySQL 服務
    • 刪除安裝后的測試數據庫
    • 用戶授權采用授權最小化原則
    • 定期備份數據,防止數據丟失

6 使用 Linux 安全掃描工具

Linux 安全掃描工具主要用於掃描網絡開放端口、web漏洞

  • 使用網絡掃描工具 masscan、nmap 掃描和發現對外開放的端口並識別端口對應的應用
  • 使用開源 Web 漏洞掃描工具如 Nikto2、OpenVAS 掃描 Web 漏洞
  • 使用 SQLMap 進行 SQL 注入滲透測試

7 部署入侵檢測系統

使用入侵檢測系統可以及時監測到入侵行為,便於及時采取防護措施

  • 使用開源入侵檢測系統 OSSEC 或商業入侵檢測系統青藤雲、安騎士
  • 使用Kippo搭建SSH蜜罐捕獲入侵記錄

8 Linux RootKit和病毒木馬檢查

不只是 Windows 上需要掃描病毒,Linux上也需要

  • 使用 Chkrootkit、Rkhunter 掃描 Rootkit 和檢查系統關鍵文件
  • 使用 ClamAV 掃描病毒木馬
  • 使用 LDM 檢查 Webshell

9 安全日志收集

及時的收集安全日志,方便監控和排查

  • 搭建 Syslog-ng 收集遠程服務器的安全日志

10 威脅情報收集

及時收集威脅情報,提前預防可能的安全風險

  • 通過威脅情報網站收集威脅情報,比較著名的有 微步在線威脅情報社區、360威脅情報中心、IBM威脅情報中心

11 入侵后檢測

如果所有的防御手段失效,被攻擊后要及時排查處理

  1. 檢測常用程序是否被替換,有則修復
  2. 使用 chkrootkit 和 rkhunter 掃描 Rootkit
  3. 使用 ClamAV 掃描病毒
  4. 檢測隱藏目錄和文件
  5. 查看近期登陸記錄
  6. 查看是否有異常進程、隱藏進程、查看異常進程打開的端口及文件
  7. 檢查網絡連接和監聽端口,特別注意本季主動連接到外部地址的連接
  8. 查看arp記錄是否正常
  9. 檢查安全日志、應用日志、bash_history
  10. 檢查是否有Webshell
  11. 重裝系統,更改原密碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM