為 sendmail 的外送信件加入寄件者身份認證資訊
跳至導覽
跳至搜尋
作者:Joe Horn( joehorn AT leobbs DOT net )
授權:[CC授權:姓名標示-非商業性-相同方式分享 2.5]
附註:本文件適用於 FreeBSD 平台,其它 UNIX-Like OS 可能有所不同。
使用軟體:
- [sendmail]
- [Cyrus-SASL]
前言
我在近幾個月看過許多 SPAM mail 的表頭,發現目前已經有越來越多廣告信是 ISP 使用者藉由 ISP 所提供的 mail server 送出。
因為在預設的 sendmail 設定中,並不會讓 sendmail 為外寄信件加上寄件者身份認證資訊,於是當這些 mail server 因為發送不當信件而遭受檢舉時,管理員也難以進行追查。
故在我們為 sendmail 加入寄件認證(SMTP Auth)之後,額外加入寄件者身份認證資訊。
如此便能方便我們追查不當使用者,減少管理員的工作負擔。
- 注意:若您尚未幫 sendmail 加入寄件認證(SMTP Auth),請先參閱 幫 sendmail 加入寄件認證 (SMTP AUTH) 功能 這份文件。
更改 sendmail 設定
請用編輯器開啟 /etc/mail/`hostname`.mc 這個檔案,例如:
# vi /etc/mail/`hostname`.mc
在最後面加上以下幾行:
define(`confRECEIVED_HEADER',`$?sfrom $s $.$?_($?s$|from $.$_) $.$?{auth_type}(authenticated $?{auth_authen}user=${auth_authen} $.type=${auth_type} $?{auth_ssf}bits=${auth_ssf}$.) $.by $j ($v/$Z)$?r with $r$. id $i$?{tls_version} (version=${tls_version} cipher=${cipher} bits=${cipher_bits} verify=${verify})$.$?u for $u; $|; $.$b$?g (envelope-from $g)$.')dnl
安裝 sendmail 設定檔
製作 sendmail.cf 檔,請使用以下指令:
# cd /etc/mail # make install
重新啟動 sendmail
重新啟動 sendmail ,請使用以下指令:
# cd /etc/mail # make restart
前後比較
使用 Outlook Express、Outlook、ThunderBird 等軟體並利用身份認證的功能透過主機寄信作測試。
尚未修改設定前,原本的外送信件表頭應該類似這樣:
修改後的外送信件表頭應該是類似這樣: