5.7. 保全 Sendmail

Sendmail 是一個郵件傳送代理(MTA),它使用 Simple Mail Transport Protocol (SMTP) 在其他的 MTA 與電子 郵件用戶端或傳遞代理間傳遞電子訊息。 雖然許多 MTA 可以在彼此間加密網路流量,不過大部分的 MTA 卻沒有, 所以透過任何公眾的網路傳遞電子郵件被認為是一種固有不安全的通訊形式。

如需關於電子郵件如何運作的更多資訊,以及共同組態設定的一個概要,請參考 Red Hat Enterprise Linux 參考手冊 一書中的 Email 一章。 這個章節假設您對 Red Hat Enterprise Linux 參考手冊 所解釋 藉由編輯 /etc/mail/sendmail.mc 檔案與執行 m4 指令來產生一個 有效的 /etc/mail/sendmail.cf 檔案已經有了基本的認識。

建議想要實作一部 Sendmail 伺服器的使用者注意以下的議題。

5.7.1. 限制阻絕服務攻擊

由於電子郵件的天性,一個執意的攻擊者可以很輕易地使用電子郵件癱瘓伺服器,以引起阻絕服務的攻擊。 藉由設定下列指令的限制值到 /etc/mail/sendmail.mc 中,便可以限制該種攻擊的嚴重度。

5.7.2. NFS 與 Sendmail

請勿放置電子郵件的緩沖器目錄 /var/spool/mail/ 在一個 NFS 共享磁區。

因為 NFS 並不維護使用者與群組 ID 的控制,兩個或以上的使用者可能擁有相同的 UID,因此而接收並閱讀彼此的郵件。

5.7.3. Mail-only 使用者

為了本機的使用者破壞 sendmail 伺服器,郵件使用者最好只使用一個電子郵件程式來存取 sendmail。 不應該允許郵件伺服器上的 shell 帳號,而且 /etc/passwd 檔案中的所有使用者的 shell 都應該設定為 /sbin/nologin(root 使用者可以例外)。