Saturday, January 23, 2010

Ubuntu 上的 email server 與 antivirus

這篇是從別處參考過來,對於小型企業,幫助比較大,又省成本,所以貼在此處

在 Ubuntu 910 安裝 Postfix (as gateway) + MailScanner + ClamAV + Spamassassin

環境

OS: Ubuntu 910

Mail Gateway: Postfix + MailScanner + ClamAV + Spamassassin

Internal Mail Server: Exchange Server, 內部 IP 為: 192.168.1.1

postfix 2.6.5

MailScanner 4.74

Spamassassin 3.2.5

ClamAV 0.95.3



Primary MX: domain.com IN MX mail.domain.com. (MX 記錄指向 Mail Gateway)

安裝好Ubuntu 9.10,測試網路正常後進行安裝。

開啟一個終端機命令視窗。(以下粗體的部分是輸入指令)

先更新套件庫

sudo apt-get update

安裝 Postfix, Procmail並將 Postfix 設定成 Mail Gateway

sudo apt-get install postfix procmail

安裝postfix的時候會問你用途,選internet那一個選項,會幫你把相關設定做好。

安裝完postfix之後先將postfix 服務停止。

sudo /etc/init.d/postfix stop

編輯postfix設定檔

sudo gedit /etc/postfix/main.cf

-----設定檔內容---------------------------------------

smtpd_banner = $myhostname ESMTP $mail_name

biff = no

append_dot_mydomain = no

# TLS parameters

smtpd_tls_cert_file = /etc/ssl/certs/ssl-cert-snakeoil.pem

smtpd_tls_key_file = /etc/ssl/private/ssl-cert-snakeoil.key

smtpd_use_tls = yes

smtpd_tls_session_cache_database = btree:${queue_directory}/smtpd_scache

smtp_tls_session_cache_database = btree:${queue_directory}/smtp_scache

myhostname = smtp.domain.com

mydomain = domain.com

myorigin = $mydomain

mydestination = $mydomain, localhost.$mydomain, localhost,

local_recipient_maps =(空白)

networks_style = host

relay_domain = domain.com

mailbox_command = procmail -a "$EXTENSION"

transport_maps = hash:/etc/postfix/transport

append_at_myorigin = no

header_checks = regexp:/etc/postfix/header_checks

message_size_limit = 25240000

bounce_size_limit = 100000

smtpd_recipient_restrictions = permit_mynetworks reject_unauth_destination

mynetworks = 172.16.101.0/25

default_process_limit = 30

daemon_timeout = 1800s

-----------------------------------------------------------------------

sudo gedit /etc/postfix/transport

----設定檔內容-----------------------------------------------------

Icon7inc.com smtp:[192.168.1.1]

----------------------------------------------------------------------

sudo postmap /etc/postfix/transport

sudo /etc/init.d/postfix start

修改 NAT 配置, 將 tcp 25 指向 postfix_host:25。

從外部寄郵件到 someone@domain.com, 觀察 postfix 是否能 forward 給真正的 mail server (192.168.1.1)。

telnet 到 mail gateway 進行測試

安裝 MailScanner, ClamAV、Spamassassin,在這邊以往要安裝三個套件,現在只要安裝MailScanner就會自動安裝ClamAV及Spamassassin.

sudo apt-get install mailscanner à下完這個命令要檢查是否有安裝ClamAV及Spamassassin

如果沒有命令要這樣下

sudo apt-get install mailscanner clamav spamassassin

ClamAV 不需要設定就會正常工作。

設定MailScanner,這個設定檔很大,要修改的項目如下

sudo gedit /etc/MailScanner/MailScanner.conf

-----設定檔內容--------------------------------------------------------------------------

Run As User = postfix
Run As Group = postfix
Incoming Queue Dir = /var/spool/postfix/hold
Outgoing Queue Dir = /var/spool/postfix/incoming
MTA = postfix

Virus Scanning = yes
Virus Scanners = clamav
Use SpamAssassin = yes
SpamAssassin User State Dir = /var/spool/MailScanner/spamassassin

Sign Clean Message = no (不要在每一封有掃過的信件加註 “This message has been scanned…”)

----------------------------------------------------------------------------------------------

新增一個目錄spamassassin在 /var/spool/MailScanner/之下

sudo mkdir /var/spool/MailScanner/spamassassin

新增一個目錄smtp_sccache在 /var/spool/postfix/之下

sudo mkdir /var/spool/postfix/smtp_sccache

把上面兩個新增的目錄設定成postfix這個user可以存取

sudo chown postfix:postfix /var/spool/MailScanner/*

sudo chown postfix:postfix /var/spool/ postfix/smtp_sccache

在/etc/postfix/ 下新增一個檔案 header_checks

sudo gedit /etc/postfix/header_checks

---------設定檔內容-------------------------------------------------------

/^Received:/ HOLD

--------------------------------------------------------------------------------

打開/etc/default/mailscanner修改內容

sudo gedit /etc/default/mailscanner

---------設定檔內容-------------------------------------------------------

run_mailscanner=1 (=0要改成=1)

--------------------------------------------------------------------------------

打開/etc/default/spamassassin修改內容

sudo gedit /etc/default/pamassassin

---------設定檔內容-------------------------------------------------------

ENABLED=1 (=0要改成=1)

--------------------------------------------------------------------------------

上面兩個設定一定要做,要不然MailScanner 和 Spamassassin會無法啟動

檢查/var/spool/postfix/etc下是否有service這個檔案,如果沒有複製一個過來。

sudo cp /etc/service /var/spool/postfix/etc

將service 啟動

sudo /etc/init.d/clamav-deamon start

sudo /etc/init.d/clamav-freshclam start

sudo /etc/init.d/spamassassin start

sudo /etc/init.d/mailscanner start

sudo postmap /etc/postfix/transport

sudo /etc/init.d/postfix start

修改 NAT 配置, 將 tcp 25 指向 postfix_host:25。

從外部寄郵件到 someone@domain.com, 觀察 postfix 是否能 forward 給真正的 mail server (192.168.1.1)。

telnet 到 mail gateway 進行測試

Thursday, December 31, 2009

VMWare v.s. VirtualBox

最近使用 VM 的情形越來越普遍,讓我得評估如何有效率的使用 VM ,要選擇哪一個 VM 軟體

目前大概使用的方式上分為兩種
1. 若這一台 VM 是共用的,個人認為使用 VMWare 比較方便,由其是 VMWare Server 版,目前已經可以透過 Web 去控制 VM 的內容,也可以利用 IE 或 Firefox 的 Plugin 去遠端遙控實體 VM,實在非常方便。
但是若裝在個人使用的 PC 或 Notebook 上,那就不太方便。因為得啟動好幾個 service 才能啟動 VM,但並不是每天都會用到 VM,所以平常要用時再去啟動這些 service 比較不會浪費記憶體。但使用頻繁時又得手動去啟動這些 Service ,真的是不方便

2. 若這些 VM 是自己測試用的且裝在自己的機器上,那建議用 Virtual Box ,因為快速,簡便,不佔記憶體,比 VMWare 在操作上便利許多。目前還支援 snapshot 的功能,可以測試完後馬上還原成原始狀態,方便許多。尤其有時候要下載一些軟體又怕此軟體有木馬時,可以用這種方式先檢驗此軟體是否有破壞性。執行完此軟體時若系統遭破壞,可以利用 snapshot 的功能馬上恢復系統,不用再重新灌系統,實在方便許多

這裡並不是評估哪一個 VM software 比較好,而是就效益上再不同場合有不同的利用方式,可以達到最有效果的功能,這樣做事的效率才是最高的

Tuesday, December 8, 2009

Android 正式進入戰國時代

眼看著 Android 漸漸侵蝕手機市場,何時才能在上面開發好玩的東西呢!!!

Sunday, November 1, 2009

Upgrade Ubuntu 9.10,結果中文輸入法會掛

今天試了 Ubuntun 9.10,用起來還滿順的,但用 IM 時 (empathy) ,突然滑鼠就擋掉了,無法選擇 Windows 做動作,只好重新開機

這是怎麼回事呢,得好好查查看

PS:查過 forum 後,發現是 bug ,尤其是從 pgdign 匯入帳號比較會發生此情況。問題已經提到 Ubuntu 的清單上,只是尚未有結果。

Monday, October 26, 2009

如何解決 jQuery 與 Prototype 的衝突

在 import javascript 用以下的方式解決

 
<script src="jquery.js" type="text/javascript"></script>
<script type="text/javascript">
jQuery.noConflict()
</script>
<script src="prototype.js" type="text/javascript"></script>

Android 2.0

今天看新聞,不小心看到了 Motorola 的 Droid 是用 Android 2.0 的版本

哇靠,SDK 都才 1.6 ,Motorola 竟然已經跑到 2.0 的版本了

話說去年 8 月發表 1.0 時,就想試試看,但因為工作關係,一直沒機會朝這方面發展,但一下子,已到了百發齊放的地步了。一堆 Android 機漸漸出籠,Windows Mobile 與 iPhone 必須小心 Android 的發展,畢竟有 Google 這家老店把關,系統上不會差到哪邊去,而且會越來越強

找時間試試看寫一個應用程式,畢竟 Java 摸了 10 幾年,應該試試看這個新玩意

Saturday, October 24, 2009

Virtual Box 3.0.8

最近改用 Virtual Box 裝 VM,感覺比 VMWare Server 快滿多的。也許是因為用 Server 的關係吧,還要跑一堆 Service 才能用。

最近聽說 VM Player 出 3.0 版,可以 create vm。有了這個功能,就不用再安裝 Server 版,因為 Server 版實在 loading 太重了。若是在 notebook 要跑 VM ,建議用 Virtual Box 或 VM Player. 若有 PC 或 Server 可以用的話,倒是可以裝 VMWare Server ,因為可以用 Service 跑,啟動時會順便把 VM 啟動,對 Web server 與 DB 是比較好的方式

Virtual Box 可以在以下 download
http://www.virtualbox.org/

VM Player 可以在以下 download
http://downloads.vmware.com/d/
PS : 官方目前只有 2.5 版, 3.0 版可能還要等一下