注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

從頭再來 Blog

一切將會如小生命的誕生一樣,從頭再來.....

 
 
 

日志

 
 

在 Ubuntu 710 安裝 Postfix + MailScanner + ClamAV + Spamassassin  

2008-07-13 23:31:57|  分类: Ubuntu |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
轉自:http://ithelp.ithome.com.tw/question/10002651

以下設置的內容將會是‘電郵網關’的設置,如果你是單機服務器,請跳過‘設定成 Mail Gateway' 部分

環境
OS: Ubuntu 710
Mail Gateway: Postfix + MailScanner + ClamAV + Spamassassin
Internal Mail Server: Exchange Server, 內部 IP 為: 192.168.1.11
Primary MX: domain.com IN MX mail.domain.com. (MX 記錄指向 Mail Gateway)

安裝 Postfix, 並將 Postfix 設定成 Mail Gateway
sudo apt-get install postfix
sudo /etc/init.d/postfix stop
sudo gedit /etc/postfix/main.cf
----------------------------------------------------------------------------------------------
myhostname = mail.domain.com
mydomain = domain.com
myorigin = $mydomain
inet_interfaces = all
mydestination = $mydomain, localhost.$mydomain, localhost
local_recipient_maps = (空白)
networks_style = host
relay_domains = domain.com
transport_maps = hash:/etc/postfix/transport
append_at_myorigin = no
----------------------------------------------------------------------------------------------
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 進行測試

安裝 ClamAV、Spamassassin、MailScanner
sudo apt-get install clamav spamassassin mailscanner

ClamAV 不太需要設定就會正常工作
修改下面設定值
sudo gedit /etc/ld.so.conf
#加入
/usr/local/lib
ldconfig
freshclam

設定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…”)
----------------------------------------------------------------------------------------------
mkdir /var/spool/MailScanner/spamassassin
chown postfix:postfix /var/spool/MailScanner/*
vi /etc/postfix/main.cf
header_checks = regexp:/etc/postfix/header_checks
vi /etc/postfix/header_checks
/^Received:/ HOLD
sudo /etc/init.d/postfix stop
sudo /etc/init.d/mailscanner start


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

在 openwebmail.conf 裡面的設定找到 enable_spamcheck 這段,照以下的參數做修改就可以了。(下面的例子也把學習廣告信的功能也打開)

spamcheck_pipe                  /usr/bin/spamc  -c -x -t60 -u @@@USERNAME@@@
learnham_pipe /usr/bin/sa-learn --local --ham
learnspam_pipe /usr/bin/sa-learn --local --spam
enable_spamcheck yes
enable_learnspam yes
spamcheck_source_allowed all

之後再照官方的說明文件,以 sample-spam.txt 寄一封測試的廣告信,如果設錯的話,在 openwebmail.log 裡面就會出現:

Sun Oct 24 21:52:06 2004 - [31314] (192.168.1.1) neo - spamscheck - pipe error - spamd error, exit=2
55, ret=From root@xxx.com Sun Oct 24 21:52:01 2004

成功的話就會出現:

Sun Oct 24 22:18:20 2004 - [31484] (192.168.1.1) neo - spamcheck - spam 1000.0/10 found in msg <2004
1024141811.CF83A19434C@xxx.com>

另外廣告信學習的功能如果設定成功的話,在使用者點選學習功能的時候,在 log 裡就會看到類似以下的訊息:

Sun Oct 24 22:25:13 2004 - [31634] (192.168.1.1) neo - learnspam - 1 learned, 1 examined

如果學習的功能起不來,就要確定 CmdLearn.pm 是不是非 root 權限的人可以讀到? 如果不行的話,就下 chmod 打開權限就可以了。如果不確定 CmdLearn.pm 路徑的話可以下 #locate CmdLearn.pm 找看看。

但是要注意的是目錄的權限也要開,以我的環境 CmdLearn.pm 在 RH9 的 RPM 預設是裝在:

/usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/

而我是乾脆把整個目錄都把 Group 跟 Public 讀取跟執行的權限打開:

chmod 555 /usr/lib/perl5/site_perl/5.8.0/Mail/SpamAssassin/ -R

這樣每個使用者就可以開始使用 OpenWebMail 的擋廣告信及學習廣告信的功能了。



================================================================


将 MailScanner 日志单独写入 MailScanner.log 文件



原来 MailScanner 是将日志写入 maillog 的,每次查找垃圾邮件问题都十分不方便,参照:

http://www.extmail.org/forum/thread-6864-1-1.html


首先安装 Syslogd 服务, apt-get install syslogd 即可!

(1)在 /etc/MailScanner/MailScanner.conf 中,修改下面这个参数:

Syslog Facility = mail

改为

Syslog Facility = local0

(2)在 /etc/syslog.conf 中增加相应的一行:

local0.info                                        /var/log/MailScanner.log

(注明:中间空格处用 TAB 键)

(3)生成一下日志文件:

# touch /var/log/MailScanner.log

(4)重启一下 MailScanner 服务和 syslogd 系统日志服务:

# /etc/init.d/syslogd restart

# /etc/init.d/mailscanner restart


(5)验证一下,成功了:

# tail -f /var/log/MailScanner.log

看到日志在增加。


  评论这张
 
阅读(640)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017