8.2. 介紹

安全是系統管理至始至終最基本的要求。所有的 BSD UNIX 系統都有它自身內在的安 全性,建構和維護額外的安全機制,確保用戶的"誠實"大概是系統管理最艱巨的工作之一。 機器僅保持著建構時最原始的安全性,而安全性必須要考慮到用戶使用的便利性。通常 UNIX 系統能夠支援巨大的同步排程處理,而這些處理中絕大部分是以伺服器形式處理的---- 這意味著外部的實體能夠連接和互相交談。早期的小型電腦和主機變成了今天的桌面機,電 腦已可連結區域網路和網際網路,安全就成了一個非常嚴峻的問題。

通過一個分層的方法,安全能夠很好地實現。所要做的就是創建很多的安全層,然後 仔細地監視系統以防入侵。不要過多地創建安全層,否則將會影響檢測面。檢測是許多 安全機制中最重要的方法。例如,在每一個二進位程式中,很難判斷 schg 標記,因為這樣 會臨時地保護二進位,它會妨礙對一個已經侵入的攻擊者作一個很容易的檢測,以至最終安全機制根本檢測不到攻擊者。

系統安全也涉及到攻擊的許多方面,包括試圖摧毀或使一個系統無法使用。安全問題主 要被分成幾類:

  1. 拒絕服務的攻擊。

  2. 竊取用戶的帳戶。

  3. 通過最近的伺服器竊取root 帳戶。

  4. 通過用戶帳戶竊取root 帳戶。

  5. 創建後門。

拒絕式服務攻擊是侵佔機器所需資源的一種方法。有代表性的,D.O.S 攻擊,是非常殘 忍的攻擊機制,是通過壓倒性的流量來破壞伺服器和網路堆疊,試圖摧毀機器或使機器無法 使用。一些D.O.S 攻擊利用在網路堆疊中的錯誤,僅用一個簡單的資訊包就可以摧毀一台機 器。這可以向內核添加一個錯誤補丁來修復。在一些不利的條件下,對伺服器的攻擊能夠被 修復,只要適當地修改一下系統的選項來限制系統對伺服器的負荷。頑強的網路攻擊是很難 對付的。例如,一個欺騙性信息封包的攻擊,無法阻止入侵者切斷系統與 internet 的連接。 不會使機器死掉,但會把 internet 管道塞滿。

竊取用戶帳戶要比D.O.S 攻擊更加普遍。許多系統管理員仍然在它們的伺服器上運行著 基本的 telnetd,rlogind,rshd,ftpd 服務。這些伺服器默認情況下,不會通過加密連接來操作。 結果是如果系統有中等規模大小的用戶,在通過遠端登陸的方式登陸到系統的用戶 中,一些人的密碼會被人竊取。仔細的系統管理員會從那些成功登陸系統的遠端存取日誌中 尋找可疑的資源地址。

假定,一個入侵者已經竊取到了一個用戶的帳戶,入侵者就會使 root 用戶失效。然而, 事實是在一個安全的系統中,訪問用戶的帳戶不應該給入侵者竊取 root 的許可權。這個區別 是很重要的,因為沒有 root 的許可權,入侵者是無法隱藏它的軌跡的,但可能不需要做 什麼,就可以把用戶的檔弄亂或使機器崩潰。竊取用戶帳戶是很普遍的事情,因為用戶往 往不會對系統管理員的警告採取措施。

系統管理員應該牢牢記住,可能有許多潛在的方法會使 root 失效。入侵者可能知道 root 的密碼,可以在一個以 root 許可權運行的伺服器上找到一個錯誤(bug),就可以通過網路連 接到那台伺服器上使 root 失效,或者一旦入侵者已經侵入了一個用戶的帳戶,可以在自己 的機器上運行一個程式來發現伺服器的漏洞,從而讓他侵入到伺服器使 root 失效。如果入 侵者已經找到了方法使 root 失效,入侵者就不需要安裝一個後門。許多 root 漏洞被找到之 後,入侵者會想盡辦法去刪除日期來清除自己的訪問痕跡,所以很多入侵者會安裝後門。後 門能給入侵者提供一個簡單的重新獲取訪問系統的 root 許可權,但它也會給聰明的系統管理 員一個探測入侵的簡便方法。認為入侵者不可能安裝了後門,這種思想事實上對你的系統安 全是有害的,因為這樣他就不會隔離從一開始就侵入系統的駭客發現的漏洞。

安全的管理方法應當使用像剝洋蔥皮一樣多層次,層層逼近的方法來實現,可以按下面 的方式進行分類:

  1. 確保 root 用戶和所有用戶帳戶的安全。

  2. 確保 root 用戶以 root 用戶許可權運行的伺服器和 suid/sgid 二進位程式的安全。

  3. 確保用戶帳戶的安全。

  4. 確保密碼檔的安全。

  5. 確保內核中內核設備和檔系統的安全。

  6. 快速檢測系統中發生的不適當的變化。

  7. 偏執狂。

下一個部份章節將討論有關地區性的公告深度。