Chapter 13. Security

Biing Jong Lin
13.1. BIND (named) 除了在通訊埠 53 以外也在 其他高編號通訊埠 (high-numbered port) 聆聽 (Listen)。 這是怎麼回事?
13.2. Sendmail 除了在標準的通訊埠 25 外也在通訊埠 587 聆聽!這是怎 麼回事?
13.3. 我發現了這個 UID 0 toor 帳號,這是什麼 碗糕?我被黑掉了嗎?
13.4. 為什麼 suidperl 無法正常運作?

13.1. BIND (named) 除了在通訊埠 53 以外也在 其他高編號通訊埠 (high-numbered port) 聆聽 (Listen)。 這是怎麼回事?

FreeBSD 3.0 後的版本使用一個特殊的 BIND 版本,這個版本會使 用隨機的高編號通訊埠來回應外部的查詢。如果你因為要適合防火牆的 設定或是單純的想讓自己看來舒服一點而想用 53 通訊埠回應外部查詢, 那麼你可以嘗試更改以下檔案相關內容 /etc/namedb/named.conf

    options {
            query-source address * port 53;
    };

你也可以將 * 更改為特定 IP address, 藉以加強控制條件。

順便恭喜你。能夠讀取你系統上的 sockstat(1) 報告並且注意 不正常狀況是一件好事!

13.2. Sendmail 除了在標準的通訊埠 25 外也在通訊埠 587 聆聽!這是怎 麼回事?

較新版本的 Sendmail 支援 mail submission 這項功能,並且使 用通訊埠 587。這項功能還沒有被廣泛支援但是支援的數目正在增長 中。

13.3. 我發現了這個 UID 0 toor 帳號,這是什麼 碗糕?我被黑掉了嗎?

放心。toor 是一個 "alternative" 管理者帳號 (toor 是 root 的轉向拼法)。 以往是跟隨 bash(1) 安裝而建制的,後來則成為系統內定建制的一 個帳號。這個帳號將伴隨一個非標準的 shell 測試使用, 讓你不需要去 更改到 root 的內建 shell。因為這些其他的 shell 並沒有跟隨系統預設值安裝 (舉例來說,某些由 ports 安裝的 shell package),而被內定安裝在 /usr/local/bin 目錄下,有可能存在不同的檔案系統中。 倘若 root 的 shell 被放在 /usr/local/bin,且 /usr (或是其他包含著 /usr/local/bin 這個子目錄的檔案系統) 因為某些原因並沒有被正常的 mount 起來的話,root 將無法正常的登入系統進行維修 (雖然說你重開機成單人模式就會問你要 載入哪個 shell)。

有些人使用 toor 帳號進行每日的 root 維護工作,如此可以使用非標準的 shell,而 root 可以保留標準 shell, 以因應單一使用者模式 (single user mode) 或緊急狀況處理。 依照系統內定值,你將無法使用 toor 登入, 因為這個帳號尚未更改密碼設定。因此你如果你想啟動這個帳號,你需要 使用 root 登入系統並且修改 toor 的密碼。

13.4. 為什麼 suidperl 無法正常運作?

因為某些安全的考,suidperl 內定的安裝 並沒有設定 suid bit。系統管理者可以依照以下命令啟動 suid 設定。

    # chmod u+s /usr/bin/suidperl

如果你想要在由 source 升級時 suidperl 內定 啟動 suid 功能的話,編輯 /etc/make.conf 加入 ENABLE_SUIDPERL=true 然後執行 make buildworld