每月彙整: 2008 年 1 月

fedora linux 上安裝 milter-greylist 的步驟

milter-greylist 是利用廣告信發信程式為了盡量快點發信,所以不會重送這個原理來運作的。當他不確定對是否是可信賴的郵件主機時,就請對方等一下再送,會自動重送的,就是可信賴的主機。我們裝起來測試後,果然好用。這個系統與MailScanner不相衝突,所以頗有安裝的價值。 

本來希望按照joshua提供的方法安裝 4.0 版的 milter-greylist,不過我們實在沒有時間一一追蹤新版本的更新,所以最後還是先用 yum search milter-greylist 找到直接 fedora 7 的 milter-greylist 套件。以下就紀錄如何安裝之:

變身成 root 

1.先安裝套件  yum install milter-greylist

2.修改控制檔 vi /etc/mail/greylist.conf

  a.信望愛有多台MX peer mail server,所以要改底下這段

  # MX peering
  peer 主機IP1
  peer 主機IP2

 b.改網路區段

 list "my network" addr { 127.0.0.1/8 10.0.0.0/8 192.0.2.0/24 }  

c.把 grey user 拿掉,照說明書是要利用這裡慢慢測試,不過這是小抄,已經都測試過,直接處理掉就是了

 list "grey users" rcpt {  \
        user1@example.com \
        user2@example.com \
        user3@example.com \
}

d.修改最底下

acl greylist list "grey users" delay 30m autowhite 3d
acl whitelist default

改成

acl greylist default  delay 5m autowhite 3d
#acl whitelist default
意思就是所有的信件都當成 greylist ,要對方延遲五分鐘再送,如果對方真的聽話,就將他放入白名單三天

 3.設定開機自動啟動,順便測試看看,我們的伺服器是跑 runlevel 3

 /sbin/chkconfig –level 3 milter-greylist on

/etc/init.d/milter-greylist start

4.修改 sendmail.mc 以修改 sendmail.cf (請注意,你的sendmail.cf必須是由 sendmail.mc產生的,不然就慘了)

  cd /etc/mail

   在  define(`confDEF_USER_ID’,“8:12”)dnl之前插入

  INPUT_MAIL_FILTER(`greylist’, `S=local:/var/run/milter-greylist/milter-greylist.sock’)
define(`confMILTER_MACROS_CONNECT’, `j, {if_addr}’)
define(`confMILTER_MACROS_HELO’, `{verify}, {cert_subject}’)
define(`confMILTER_MACROS_ENVFROM’, `i, {auth_authen}’)
define(`confMILTER_MACROS_ENVRCPT’, `{greylist}’)

然後 m4 sendmail.mc > sendmail.cf 

5.重新跑 sendmail

 以信望愛站來說是  /etc/init.d/MailScanner restart

一般可能是 /etc/init.d/sendmail restart 

6.檢驗成果

    當然,收發信件必須先正常,然後可以去  /var/lib/milter-greylist/db 檢查 greylist.db 這個檔案,就可以看到灰名單是否正常運作。

幾個軟體更換為新版

由於RAID壞掉,所以我們檢視了整個系統,發現很多軟體都已經非常舊版,沒有好好的更新。所以我今天就花個時間把MailScanner LifeType openwebmail 都換成最新版。不過openwebmail這個由成大做出來的軟體最新版居然滿頁都是簡體中文,讓人不知該怎麼說才好。只好立刻換回比較正常的版本。

life主機RAID硬碟損毀與搶救報告

2008.1.3 一早8:00左右,技術人員tjy發現life RAID第一個硬碟壞掉,依照標準處理程序,他就拿出預先準備好的硬碟來更換,系統開始重建RAID,這時機器正常運作,僅僅RAID進行自動修復工作。

2008.1.3 10:00 發現系統當機,派遣ksf去機房查看,發現life RAID第三個硬碟也亮紅燈損毀,緊急關機再開、等冷卻(同時禱告)後再開無效。信望愛站開站十年來從來沒遇到的悲慘事件就這樣發生了。

接下來,ksf拿著硬碟去找RAID廠商 旭驥 幫忙看看能不能救回來,這時當然技術組人心惶惶,甚麼怪招都想過了:換硬碟機板、拿早上換下來的硬碟放上去救、把壞掉的硬碟資料複製出來……,不過,後來RAID廠商幫我們檢查出來原來是第三顆硬碟已經老舊,轉速無法跟上。於是借我們一個電力比較強大的新RAID機器,利用慣性原理,通電關掉,趁硬碟還在轉再通電,這樣就順利把硬碟啟動了(我省略了很多辛苦的測試過程,真的感謝RAID廠商)。於是我們決定先讓系統恢復運轉,並且提前購買預算要購買的新RAID把資料轉過去,好還人家借用的RAID。

ksf把RAID拿回來插好後開機,發現系統還是打不開,因為在硬碟損壞的同時,已經有資料毀掉了。我們判斷這不會是全面性的問題,應該只是一兩個檔案毀掉,所以就由tjy下班後慢慢一個一個檔案利用備援光碟救起來 ,經過了幾個小時還是沒辦法,看來狀況比想像中的嚴重。這時tjm回到機房來接力檢修,決定重灌系統,保留資料。

 為了要保留最多的資料,所以我們做了幾次失敗的嘗試(壞得真嚴重),最後重新灌了系統才讓系統真正復原。我們大概檢查了一下資料,發現應該沒有大礙,就先這樣啟動。但是後來發現我們忘記備份虛擬主機的資料,於是又手工加上虛擬主機的資料,讓大部分的系統運作正常。這時已經是1月4日凌晨 4:30。

1月 4日下午1:00 ksf已經拿到新的RAID,安裝在勉強能跑的life上,由tjm遙控把硬碟準備好。1月 5日早上9:00開始轉移資料,11:00轉移完成,由等在機房的tjy、ksf接手利用復原光碟來讓新的RAID可以開機。11:30順利完成這項工作,目前life系統已經完全穩定。

 由於新買的 raid也要順便更換BBS的RAID(這個RAID更老,常常出現錯誤的警報),所以我們也停止BBS機器系統運作,接上設備。我們預計週日大家比較不使用機器的時候來複製資料更換系統。預計1月6日下午前全部更換完成。

閱讀全文 life主機RAID硬碟損毀與搶救報告

mail憑證的製作法 Fedora 7

到 /etc/pki/tls/certs
修改一下 Makefile 把 365 改成大一點的數字,每年搞一次我可沒力氣。
我改成 1825 五年差不多了。

然後 make xxxx.pem 填一填資料就可以了,最後記得要把
ipop3d.pem
與 imapd.pem 連到 xxxx.pem 即可。

    記得,憑證不可以被別人隨便讀取,正確的說應該是憑證的private key
不能被讀取,所以要設定適當的權限。 閱讀全文 mail憑證的製作法 Fedora 7