萬盛學電腦網

您现在的位置: 萬盛學電腦網 >> 作業系統 >  >> Linux 教學

Linux 系統安全防護:關閉多餘服務、TCP Wrapper 存取控制與日誌審計實戰

一、精簡服務與 TCP Wrapper 存取控制

預設安裝常啟用大量服務(rlogind、inetd、httpd、innd 等),暴露攻擊面。管理員必須:

  1. 定期查閱發行商安全公告(RedHat、Caldera)與 CERT、SecurityFocus 等漏洞庫。
  2. 善用 TCP Wrapper(多數發行版預裝)控制服務存取,並記錄所有連線嘗試。

1.1 管理由 inetd 管理的服務

編輯 /etc/inetd.conf,在服務行首加 # 註解即可停用。例如關閉 finger:

# finger stream tcp nowait root /usr/sbin/tcpd in.fingerd

1.2 管理由獨立守護進程啟動的服務

  • Slackware:編輯 /etc/rc.d/rc.M 註解啟動行(如 sendmail)。
  • RedHat:用 chkconfig --level 345 sendmail on/off 或 linuxconfig 圖形介面管理。

1.3 進階存取控制:/etc/hosts.allow 與 hosts.deny

規則匹配順序:hosts.allow 允許 → hosts.deny 拒絕 → 預設允許。語法:服務清單: 客戶端清單。支援萬用字元、網路遮罩、ALL、EXCEPT、LOCAL 等。

實戰範例:僅允許內網三個網段存取 FTP

# /etc/hosts.deny
ALL: ALL

# /etc/hosts.allow
in.ftpd: 202.39.154. 202.39.153. 202.39.152.

修改後重啟 inetd:/etc/rc.d/init.d/inet restart。注意:TCP Wrapper 僅管控 inetd.conf 內的服務;獨立守護進程需其他機制防護。

二、日誌監控與攻擊偵測

/var/log 關鍵日誌檔:

  • secure*:安全相關(登入、拒絕連線)
  • messages*:系統訊息
  • xferlog*:FTP 傳輸
  • maillog*:郵件
  • httpd:Web 存取
  • wtmp:登入/登出記錄(用 last 讀取)
  • cron*、boot.log、dmesg 等

日誌輪替由 cron.daily 腳本自動處理,管理員可自訂腳本定時分析。grep refused /var/log/secure* 可快速發現掃描嘗試。若無拒絕記錄不代表未被攻擊,需交叉比對多種日誌。

實用分析技巧

  • last | more 檢查異常登入來源/時間
  • 善用 logwatch、swatch 等自動化分析工具(Freshmeat、Tucows 可下載)
  • 重點關注 maillog(郵件轉發異常)、xferlog(匿名 FTP 上傳/下載)
copyright © 萬盛學電腦網 all rights reserved