Sendmail對一般的系統管理者而言,往往是個不敢手的「禁區」,因為絕大多數系統的使用者對E-Mail的需求與依賴的程度之高,可說是稍有分毫差錯,系統管理者就要準備接受如雪片般飛來的抗議與抱怨!而Sendmail這個東東的「內函」,似乎又有點不太容易理解:與設定有關的sendmail.cf檔,如果不是下過一番死功夫,則讀起來如同讀天書一樣,只知道里面有英文字與數字!所以一般人總是能不動則不動,只要能用就好。不過,很不幸的,一般跟著機器而來的sendmail總是有著令人心驚膽跳的「附加功能」,就是常常都有一些可以讓無聊人士作為侵入路徑的BUG或後門,某些BUG還可以讓侵入者經由Sendmail而取得最高權限的root!一旦root權限被人拿走了,那麼這機器就可被人任意屠宰,最惡劣的,還可能破壞系統!
Sun在國內的使用人口相當的多,筆者對Sun也稍微比較熟悉一點。不過,Sun的Sendmail卻是令人頗不敢恭維的,幾乎可以說:只要還在使用Sun的Sendmail而沒有「常常」patch的話,那甚麼系統安全都不必談了,談了也是白談;如果還在使用Sun的Sendmail,那就如果系統抱著一顆不定時炸彈,隨時一個不注意,都可能引爆:(。這一點,大家可以翻一翻CERT或8lgm看一看,幾乎是只要有sendmail的問題,Sun大多跑了....。其他系統的Sendmail也不要偷笑,雖然大家的出場率沒有Sun高,可是也常會問題的。另一方面,Sendmail8.6.9與之前的版本最近剛發現有個ident方面的Bug。如果方便的話,請大家務必換成最新版。如果不方便的
話,在v8.6.5之後的版本有個克難式的補救法,即在sendmail.cf加入這麼一行:
Orident=0
表示不作ident的檢查。
v8.6.5之前的版本就一定要換成最新版。
本軟體在系統安全方面,是目前評價最高的,目前已知的BUG都已經改好了,最主要的原因,當然是要感謝作者EricAllman,他(或他們)能作到一發現重大的Bug(如系統安裝)就立刻出新版。本軟體是一publicdomain,可以在網路上各ftpserver上找到其sourcecode。由於該軟體的發展者把一些必要的設定步驟自動化了,所以,其實安裝這個軟體并不是想像中那麼樣的困難。如果連compile的時間也算下去,順利的話,不用半個小時就可以安裝完畢!
3.1下載Sendmail最新版本
最新版本的Sendmail可以從ftp://ftp.sendmail.org/pub/sendmail/得到!
如sendmail.8.9.3.tar.gz這是截止到文章發布的最新版本,size:1068290byte
有關最新版本的發布,請瀏覽Sendmail的主頁http://www.sendmail.org
3.2安裝Sendmail
用root登陸或su成root后,先把tar.gz的包解開tarfvxzsendmail.8.9.3.tar.gz,用make-f開始編譯
編譯完成后系統會產生系統設定文件,也就是sendmail.cf(一般這個文件都存放在/etc下)
接下來,這按幾步繼續安裝:(注:~/sendmail為解開后的sendmail目錄)
1.請切換至設定檔目錄~/sendmail/cf/cf之下。找一個合適自己系統的XXXX.mc檔。筆者一般上是使用tcpproto.mc
這一個不用uucp的檔。如果是用tcpproto.mc這個檔,筆者在solaris2.3試了,得記得在檔中要加上一行:
OSTYPE(solaris2)
Sun4.1.3不必,其他系統就不曉得了。在目錄~/sendmail/cf/ostype下有幾個OSTYPE()可以的檔,
只有這個目錄有資料的才可能能夠OSTYPE()。還有,如果是systemV的/bin/mail,似乎就得要加OSTYPE()。
一句老話,詳情請看DOCUMENT:~/sendmail/cf/README。這希望有經驗的朋友能夠補充:)
如果不小心忘了加上OSTYPE()會怎樣?也不會怎樣,只會有"unknowmailererror"的錯誤,然後信收不到。
有一點要提醒大家的,就是:在~/sendmail/cf/cf所看到的各種系統的.mc檔,都是Sendmail8.6.x的作者
EricAllman「演示」給大家看的,所以,可以看到檔名都有個"cs",要是沒有修改就用這些檔的話,那一定會發生錯誤的。而要修改,有相當多地方要改,所以,如筆者一般懶的人,用tcpproto.mc還是比較簡單又不會出錯:)
新聞熱點
疑難解答