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 伺服器的使用者注意以下的議題。
由於電子郵件的天性,一個執意的攻擊者可以很輕易地使用電子郵件癱瘓伺服器,以引起阻絕服務的攻擊。 藉由設定下列指令的限制值到 /etc/mail/sendmail.mc 中,便可以限制該種攻擊的嚴重度。
confCONNECTION_RATE_THROTTLE — 每一秒伺服器可以接收到的連線數,預設情況 下,sendmail 並不限制連線數,假如限度已設定,而且達到了,將會延遲接續的連線。
confMAX_DAEMON_CHILDREN — 伺服器可以衍生之子程序的最大數量,預設情況下, sendmail 並不限定子程序的數量,假如一個限度已經設定而且達到了,將會延遲接續的連線。
confMIN_FREE_BLOCKS — 伺服器上為了接收郵件必須擁有之最少可用的區塊數量, 預設是 100 個區塊。
confMAX_HEADERS_LENGTH — 訊息表頭最大可接受的大小(以位元組表示)。
confMAX_MESSAGE_SIZE — 任何郵件訊息最大可接受的大小(以位元組表示)。