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.
必要時作一個連結即可.!!