發表文章

目前顯示的是 4月, 2009的文章

FreeBSD設定TLS for sendmail

前文提到SASL, 設定使用SMTP AUTH機制, 由於Outlook使用的驗證是LOGIN, 為明文傳送帳號密碼(其實是使用Base64編碼), 並不安全! 所以, 我們要另外再加上安全通道(TLS) 在FreeBSD上的設定步驟也很少: 1. 取得根憑證, 用於TLS加密的憑證及私密金鑰(共3個檔) 2. 設定sendmail.mc, 加入對TLS的設定 -------------------------------- 我參閱 MyChat數位男女 的文件來實作, 在很短的時間內就做好了。筆記如下: 1. 憑證可以買商用的, 也可以自己做。商用的好處是, 它預先把根憑證安裝在各種電腦作業系統中, 所以使用者不用安裝根憑證, 但是商用憑證要付錢, 而且憑證有期限, 也就是要一直付錢。相反地, 自己做憑證的好處就是不用付錢, 但要自己下點功夫, 學習如何做憑證, 而且使用者也要安裝我們做的根憑證。 自己做憑證的步驟: (因為openssl已裝好, 所以不用安裝, 只要設定即可) # mkdir /usr/local/CA # cd /usr/local/CA # mkdir certs crl newcerts private # echo "01" > serial # cp /dev/null index.txt # cp /etc/ssl/openssl.cnf openssl.cnf 修改openssl.cnf檔案,將檔案中的第38行的路徑由./demoCA改成/usr/local/CA 再下以下指令, 先做一個根憑證(cacert.pem)出來 # openssl req -new -x509 -keyout private/cakey.pem -out cacert.pem -days 365 -config openssl.cnf 根憑證也是有期限的, 在這裡使用-days 365來設定期限為一年, 如果要正式使用, 請考量使用長一點的期限吧! 時間過得很快的。 指令下完, 會出現如下訊息, 請依說明填入, 主要要記得第一個填入的PEM pass phrase, 這是用來保密根憑證私鑰的密碼(後面會用到), 其他的部份請依畫面說明填入, 如果忘了也沒關係, 可以檢視憑證內容來取得

FreeBSD設定SASL for Sendmail

最近想要開放Mobile User可以使用SMTP AUTH的機制來寄信, 所以四處研究了一下, 發覺要做的設定很少, 筆記如下: 1. 在FreeBSD 7.0, 使用ports安裝sendmail-sasl 2. 修改/usr/local/etc/rc.d/saslauthd 將saslauthd改名成saslauthd.sh(或複製) # cp /usr/local/etc/rc.d/saslauthd /usr/local/etc/rc.d/saslauthd.sh # vi /usr/local/etc/rc.d/saslauthd.sh 找到 saslauthd_enable=${saslauthd_enable:-"NO"} 這一行, 將"NO"改成"YES" 這時候要決定使用使用什麼方法來驗證使用者: a. 使用這台FreeBSD的帳號密碼, 那麼現有的設定就可以了 b. 使用另一台主機的帳號密碼, 那麼要將下一行 saslauthd_flags=${saslauthd_flags:-"-a pam"}做一點修改(下一段再談) 3. 調整Sendmail的設定檔, 預設就有幾個驗證機制可以使用(DIGEST-MD5, CRAM-MD5), 但是因為現有Client端軟體, 如Outlook, 只支援LOGIN等驗證機制, 所以Sendmail要調整一下: a. 增加驗證機制 define(`confAUTH_MECHANISMS',`CRAM-MD5 DIGEST-MD5 LOGIN PLAIN') b. 設定若通過驗證, 則代轉信(relay) TRUST_AUTH_MECH(`CRAM-MD5 DIGEST-MD5 LOGIN PLAIN') # cd /usr/local/share/sendmail/cf/cf # vi sendmail.mc 如上所提, 加入那兩行 # ./Build sendmail.cf # ./Build install-cf 4. 重開Sendmail, 就可以了 # cd /usr/local/etc/rc.d # ./sendmail.sh restar

ClamAV的設定檔

clamav 0.95這個版本的啟動參數有一些改變, 原本的設定檔似乎也有些改變, 所以當你由之前的版本升級至0.95版時, 會發現ClamAV無法啟動。 也不用害怕, 只要稍做調整, 就可以了: 1. 至/usr/local/etc/rc.d目錄, 可以看到clamav-clamd, clamav-milter這兩個檔, 可以注意一下其日期為升級之後的日期, 請把其檔名加上.sh, 原本的.sh檔則改為.sh.old。 2. 至/etc/rc.conf檔, 找到clamav-milter-flags那一行, 將其remark掉(行首加#) 3. vi /usr/local/etc/clamd.conf, 找到LocalSocket那行, 注意設定的檔名/var/run/clamav/clamd.sock應該跟clamav-milter.sh裡設定的socket檔名一致。 基本上, 這樣就可以了。不過, 當你打開ClamAV時, 會注意到log檔, 只會出現Fd[x]:OK, 並不會出現ClamAV較詳細的訊息, 此時可以到其設定檔/usr/local/etc/clamav-milter.conf裡, 找到AddHeader Yes那行, 把前面的#拿掉即可。這樣, 做測試信的時候, 也可以看到標頭裡, 會出現ClamAV Scan過的訊息。