萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 網路安全 >  >> 資訊安全防護

Linux 遠端登入安全硬化實戰:TCP Wrappers 存取控制與審計日誌配置

Linux 遠端登入(SSH)是伺服器管理的生命線,也是攻擊者暴力破解、暴力破解、鍵盤記錄的首選目標。本文示範使用 TCP Wrappers(/etc/hosts.allow、/etc/hosts.deny)實施名單式存取控制,並說明關鍵審計日誌位置,構建第一道防線。

TCP Wrappers 存取控制配置實戰

預設拒絕,白名單放行(最小權限原則)

# 編輯 /etc/hosts.deny,拒絕所有服務的所有 IP 連線
ALL: ALL

# 編輯 /etc/hosts.allow,僅允許受信任管理 IP 存取所有服務
# 格式:服務名稱: 允許的IP清單(空格分隔)
# 範例:僅允許 222.222.222.222 與 222.222.222.223 連線
ALL: 222.222.222.222 222.222.222.223

# 或針對特定服務(如 sshd)單獨控制
sshd: 222.222.222.222 222.222.222.223

驗證配置生效

# 測試語法正確性
tcpdchk -v

# 模擬連線測試(需從受信/非受信 IP 實測)
ssh user@server_ip

關鍵審計日誌:/var/log/auth.log(或 /var/log/secure)

必監控事件類型

  • 登入成功/失敗:Accepted password、Failed password、Invalid user
  • 權限提升:sudo:、su: 相關紀錄
  • 帳號異動:useradd、userdel、passwd 紀錄
  • SSH 服務異常:error:、refused connect、kex_exchange_identification

日誌分析實用指令

# 即時監控登入嘗試
tail -f /var/log/auth.log | grep -E "(Accepted|Failed|Invalid user)"

# 統計最近 1 小時失敗登入來源 IP 前 10 名
grep "Failed password" /var/log/auth.log | \
  grep "$(date -d '1 hour ago' '+%b %d %H:')" | \
  awk '{print $(NF-3)}' | sort | uniq -c | sort -nr | head -10

# 檢測暴力破解特徵:同一 IP 短時間大量失敗
# 建議搭配 fail2ban 自動封鎖

進階硬化清單(超越 TCP Wrappers)

  1. SSH 協議與認證硬化:Protocol 2、PermitRootLogin no、PasswordAuthentication no(強制金鑰認證)、PubkeyAuthentication yes、MaxAuthTries 3、LoginGraceTime 30
  2. 更改預設埠口:Port 2222(非萬靈丹,但能避開 90% 自動化掃描)
  3. 啟用 Fail2Ban:自動分析日誌封鎖惡意 IP(iptables/nftables 整合)
  4. 雙因素驗證:Google Authenticator PAM 模組(pam_google_authenticator.so)
  5. 堡壘機/跳板機統一納管:禁止直接 SSH 連線生產環境,所有運維經審計堡壘機
  6. 定期輪換金鑰/憑證:自動化工具管理 SSH 憑證生命週期

合規性對應

滿足等保三級、PCI DSS 8.1、ISO 27001 A.9.4、NIST 800-53 AC-17 等合規要求中的「遠端存取控制」、「審計記錄」、「最小權限」控制目標。

copyright © 萬盛學電腦網 all rights reserved