萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 電腦基礎知識 >  >> 健康知識

Linux 伺服器平台安全加固完整指南

前言

Linux 作為主流伺服器作業系統,廣泛部署於面向 Internet 的關鍵業務系統。本文以 Red Hat 6.0 為基礎範例(原則適用於主流發行版),系統性闡述從安裝、服務精簡、日誌審計、核心參數調整到存取控制的完整加固流程。

一、安裝階段:乾淨環境與最小化原則

1. 隔離網路環境安裝

全新安裝必須在物理隔離或邏輯隔離的「加固網路」中進行。實測顯示,未防護的全新系統接入 Internet 後 15 分鐘內即可能被掃描入侵並完全控制。建議準備一台跳板機下載安全補丁、工具套件,再透過離線媒體傳輸至目標主機。

2. 選擇「自訂安裝」實現最小化

Red Hat 提供 Workstation、Server、Custom 三種模式。強烈建議選擇 Custom,可精確控制套件選擇與磁碟分區。核心原則:在效能允許前提下極致精簡。不需要的服務(如 News Server、RealAudio)一律不安裝;後續若有需求,透過 RPM 隨時補裝即可。man pages 與 HOWTO 文件雖略增風險,但故障排查時極具價值,建議保留。

3. 磁碟分區策略:保護根分區

根分區(/)一旦被日誌、郵件佔滿將導致拒絕服務甚至系統崩潰。推薦分區方案:

掛載點建議大小說明
/剩餘空間系統核心、應用程式
/var≥ 400 MB系統日誌、郵件佇列、資料庫檔案
swap256 MB 或 2×實體記憶體交換空間
/home視需求若有不可信任使用者,獨立分區防止填滿根分區

敏感日誌服務(如資料庫審計)建議再劃獨立分區。

4. 即時套用安全補丁

安裝完成重啟後,首要任務套用所有安全勘誤。Red Hat 勘誤來源:https://rhn.redhat.com/errata/。使用 RPM 升級範例:

rpm -Uvh wu-ftpd-2.6.0-14.6x.i386.rpm
# 或直接從鏡像站安裝
rpm -Uvh ftp://updates.redhat.com/6.1/i386/wu-ftpd-2.6.0-14.6x.i386.rpm

推薦部署 autorpm 工具,配合 cron 定時自動檢查、下載、安裝升級,並郵件通知管理員。

二、服務精簡:關閉一切非必要服務

1. 精簡 inetd/xinetd 服務

編輯 /etc/inetd.conf(或 /etc/xinetd.d/ 目錄下各服務檔),預設啟動 35 餘項服務,防火牆實際僅需 ftp、telnet(或 SSH 替代)。其餘如 popd、imapd、rsh 等均存已知高危漏洞,必須註解關閉。驗證指令:

grep -v "^#" /etc/inetd.conf

2. 精簡啟動腳本(/etc/rc.d/rc[23].d/)

將不需自動啟動的腳本檔名首字母 S 改為 s(如 S80sendmail → s80sendmail),或使用 Red Hat 專用工具:

/usr/sbin/setup  # 選 System Services
chkconfig --list  # 查看各運行級別服務狀態
chkconfig --level 2345 servicename off  # 關閉服務

常見可關閉的預設啟動服務(依環境確認):

  • apmd、pcmcia(僅筆電需求)
  • xntpd、routed、gated(非時間同步/路由節點可關)
  • portmap、nfs、netfs、amd(非 RPC/NFS 環境關閉)
  • rstatd、rusersd、rwhod、rwalld、bootparamd(洩露系統資訊)
  • snmpd(非監控管理節點關閉)
  • sendmail(非郵件伺服器關閉,本地投遞仍可用)
  • httpd、squid、named(非對應服務角色關閉)
  • lpd(非列印伺服器關閉)
  • xfs、linuxconf(非圖形/遠程管理介面關閉)

驗證成效:ps aux | wc -l 對比修改前後進程數;netstat -na --ip 檢視監聽埠口縮減情況。

三、日誌與系統參數加固

1. 強化 FTP 日誌審計

編輯 /etc/inetd.conf 中 ftp 行:

ftp stream tcp nowait root /usr/sbin/tcpd in.ftpd -l -L -i -o

參數說明:-l 記錄每個 Session;-L 記錄所有指令(含誤輸入密碼的 USER 指令,注意敏感資訊洩露風險);-i/-o 記錄上傳/下載檔案至 xferlog。

2. 啟用 Shadow 密碼機制

確認系統使用 /etc/shadow 儲存密碼雜湊(僅 root 可讀)。Red Hat 6.0 預設啟用,若未啟用執行 pwconv 自動轉換。

3. 清理預設系統帳號

刪除不需的系統帳號(news、ftp、uucp 等),減少攻擊面。刪除 news 時同步更新 /etc/cron.hourly 相關腳本。

4. 限制 FTP 與 Telnet 存取

  • 編輯 /etc/ftpusers,確保 root、bin 等特權帳號列入黑名單,禁止 FTP 登入。
  • 編輯 /etc/securetty,僅保留 tty1、tty2 等實體終端,移除 ttyp* 虛擬終端,強制 root 僅能本地登入,遠端需以一般帳號登入後 su - 提權。

5. 部署登入警告橫幅

建立 /etc/issue 檔案,內容包含法律警告與監控聲明。修改 /etc/rc.d/init.d/S99local 確保每次開機重新生成固定內容。

四、進階防護建議

  • TCP Wrappers:配置 /etc/hosts.allow、/etc/hosts.deny 實施基於主機的存取控制。
  • 核心參數調整:/etc/sysctl.conf 啟用 IP 轉發控制、SYN Cookie、ICMP 重定向忽略等。
  • 檔案完整性監控:部署 AIDE 或 Tripwire 定期掃描關鍵系統檔案變更。
  • 強制存取控制:條件允許下啟用 SELinux(Enforcing 模式)。
  • 遠程管理:全面棄用 Telnet/FTP,改用 SSH v2(金鑰認證)、SCP/SFTP。

結語

Linux 安全加固是持續演進的系統工程。遵循「最小權限、最小服務、完整審計、及時修補」核心原則,結合自動化工具與定期滲透測試,方能在惡劣網路環境中維持系統可信度。

copyright © 萬盛學電腦網 all rights reserved