sendmail 有一個安全弱點會讓遠端攻擊者取得 sendmail daemon 的權限,
通常是 root。
這個安全弱點是由一段特別設計過的電子郵件內容所觸發,
而不是藉由較低層的網路交通。 詳全文
sendmail對此作出的回應:
http://www.sendmail.org/patchcr.html
升級方式::
需求檔案:
步驟如下:(針對擴大內需時配發的Dell伺服器3.2-19990602-STABLE)
0.檢查sendmail版本.(此例為8.9.3..^^")

1.切換到/usr/local/,並從伺服器下載 sendmail.8.12.8.tar.gz 檔案

2.解壓縮檔案

3.切換到 sendmail-8.12-8 資料夾,並進行 編譯的動作!!

由於發現錯誤!! 並顯示錯誤訊息為 m4 版本過舊,所以我們要先更新m4的版本.
4.下載檔案 m4-1.4.tar.gz

5.解壓縮檔案

6.編譯及安裝 m4

既然安裝完了m4 那就可以繼續安裝sendmail了..
7.重新進行sendmail編譯. (此步驟較花時間!!)

8.建立及安裝sendmail.cf檔案.

9.重新編譯sendmail

10.安裝sendmail

但是...天不從人願...出現錯誤訊息..
觀看一下錯誤訊息..得知..要新增smmsp 使用者及群組
11.新增smmsp群組及使用者(uid及gid須為25)
a.若您之前都不曾新增,或不曾將使用者設定儲存,會有這一個畫面.

b.新增使用者.

c.後續設定

12.重新嚐試安裝.

13.大致上是成功了..不過仍有一些小問題存在!!

處理mail.local (將信件送到本地端的使用者信箱程式!) 及rmail
再處理之前,先確保一下目前系統的狀況.以供確認.

14.處理mail.local

15.處理rmail

16.比對相關mail.local及rmail資料.發覺已經變更了!!
mail.local的權限及所屬使用者群組不同!
rmail的權限相同,但所屬使用者群組不同!(且路徑不同了~"~)

17.修正mail.local的權限資料

18.修正rmail的權限資料

19.確認smmsp的家目錄必須為/var/spool/clientmqueue

20.修改權限 770 及所屬群組使用者為smmsp

21.檢查/etc/mail資料夾中sendmail.cf及submit.cf權限

22.變更/etc/mail資料夾中sendmail.cf及submit.cf權限為root.wheel

23.更新access及aliases 資料庫!
首先是access資料庫,更新成功!
可是透過newaliases更新aliases資料庫卻出現錯誤!

24.修正aliases錯誤!
a.發覺local-host-names用來設定主機要接收哪些領域的信件

b.若您有sendmail.cw檔案就採用更名的方式.
mv sendmail.cw local-host-names
c.若沒有自己新增此檔案,並在此檔案中加入自己的相關資料
此例我只加入機器的全名(FQDN),若您的機器有負責收領域信件,請加上領域名稱

25.重新更新aliases資料庫!再度發現錯誤!! ~"~

26.修正錯誤!並再度更新.這次成功了!

27.停止sendmail,並重新啟動新版的sendmail

28.觀看版本

29.進行收發信件測試.正常!!!
30.透過chsh修改smmsp的登入shell,變更為/sbin/nologin
輸入 chsh smmsp 變更!!

請注意!!步驟30請務必要作!!不然等於開了另外一個大洞給他人入侵!!
31.特別感謝..感謝 九湖國小 余成焜老師 提供學校伺服器測試.^^"
及蓬萊國小伺服器進行安裝說明抓圖.
32.後續..不知道還有沒有記得有一個rmail沒有處理呢..?
所謂rmail就是透過uucp來處理郵件的程式,很少用!!
只要知道新版本的位置在/usr/bin/rmail舊版本的在/bin/rmail.
必要時作一個連結即可.!!