歡迎您光臨本站 註冊首頁

linux-qmail 病毒/垃圾郵件處理

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

自從安裝qmail郵件系統后,使用上一直沒有問題,可是後來部分帳戶每天都會出現大量的垃圾郵件(所說的廣告),病毒郵件(附件是木馬等病毒),大量的垃圾郵件使郵件隊列出現諸塞現象.後來安裝了clamav殺毒軟體,定時每天臨晨對郵件隊列進行一次殺毒,對病毒郵件和垃圾郵件全部轉移到我自己定義的一個文件夾中.經過幾天的觀察效果一般.最后還是決定重新製作一套時時殺毒並且具有防火牆功能的郵件殺毒系統.經過一邊研究(google很多次,雖然網上有很多的案例,各有千秋.不過大部分都是相互轉載,也就是說大部分雷同.我測試沒有一套可以生效,並且很多都是比較老的.最后查看官方文檔.總算製作完成.寫出來對有需要的人提供幫助.)一邊琢磨.廢話不說.開始...

實現的前提條件,你有一套收發都沒有問題的qmail系統,我以前文檔有這套qmail系統的安裝配置過程.
實現的功能:對進入郵件隊列的郵件第一步殺毒,第二步打分,審核是否是垃圾郵件.第三步通過.

實現以上功能需要的軟體如下:
全部可以從官方下載
clamav-0.95.2.tar.gz 殺毒軟體最新版,
qmail-scanner-2.06.tgz 郵件隊列掃描軟體
q-s-2.06st-20090419.patch.gz 郵件隊列掃描軟體的補丁文件
perl-suidperl-5.8.0-55.1.i586.rpm
http://dag.wieers.com/rpm/rpmforge.php
spamassassin-3.0.6-1.el4.rf.i386.rpm 過濾垃圾郵件的防火牆
DB_File-1.820.tar.gz
Mail-SPF-v2.006.tar.gz
MIME-Base64-3.08.tar.gz
Time-HiRes-1.9719.tar.gz
Sys-Syslog-0.27.tar.gz

安裝 perl-Time-HiRes-1.38-3.i386.rpm
rpm -ivh perl-Time-HiRes-1.38-3.i386.rpm


安裝殺毒軟體
創建用戶
useradd -s /bin/false clamav
安裝:
./configure --prefix=/usr/local/clamav
make
make install

配置如下:
編輯:clamd.conf 殺毒配置文件
在 Example 前面加 #
LogFile /var/log/clamd.log
LogVerbose yes
TemporaryDirectory /var/tmp
DatabaseDirectory /usr/local/clamav/share/clamav
LocalSocket /tmp/clamd
FixStaleSocket true
User clamav
ScanMail yes
ScanHTML yes
ScanArchive yes

配置:freshclam.conf 升級配置文件
在 Example 前面加 #
DatabaseDirectory /usr/local/clamav/share/clamav
UpdateLogFile /var/log/freshclam.log
LogVerbose yes
PidFile /var/run/clamav/freshclam.pid 注意clamav目錄全縣修改
DatabaseOwner clamav
DatabaseMirror database.clamav.net
DatabaseMirror db.cn.clamav.net
DatabaseMirror database.clamav.net
DatabaseMirror clamav.irontec.com
DatabaseMirror clamav.inet6.fr
DatabaseMirror clamav.netopia.pt
DatabaseMirror clamav.sonic.
Checks 4
完成配置

執行 /usr/local/clamav/bin/freshclam -d -c 6 -l /var/log/freshclam.log 6
啟動殺毒軟體每天更新6次

我是安裝到/usr/local/clamav 下,然後將clamscan殺毒程序軟連接到/usr/local/bin下,以配合掃描程序可以直接找到調用.

安裝
spamassassin-3.0.6-1.el4.rf.i386.rpm
用它來過濾郵件

先安裝如下
DB_File-1.820.tar.gz
Mail-SPF-v2.006.tar.gz
MIME-Base64-3.08.tar.gz
Time-HiRes-1.9719.tar.gz
Sys-Syslog-0.27.tar.gz
全部使用如下:
perl Makefile
make
make test
make install

rpm安裝spamassassin
rpm -ivh spamassassin-3.0.6-1.el4.rf.i386.rpm就完成.

配置
#修改起動腳本使spamassassin支持vpopmail
#修改如下一行:
vi /etc/init.d/spamassassin
SPAMDOPTIONS="-d -c -m5 -H -x -u vpopmail -v"

vi /etc/sysconfig/spamassassin
SPAMDOPTIONS="-d -c -m5 -H -x -u vpopmail -v"
#spamassassin的過濾模板在/etc/mail/spamassassin/local.cf,修改為:
vi /etc/mail/spamassassin/local.cf
# These values can be overridden by editing ~/.spamassassin/user_prefs.cf
# (see spamassassin(1) for details)
# These should be safe assumptions and allow for simple visual sifting
# without risking lost emails.
required_score 7.0 以7.0為分界限,評分超過7.0的就會在郵件標題開頭加入 ******SPAM*****字樣,已提示為垃圾郵件,不過也有被誤認為的時候.建議不要做對垃圾郵件刪除.
rewrite_header Subject ********SPAM********
report_safe 1
use_bayes 1
auto_learn 1
skip_rbl_checks 0
rewrite_subject 1
report_header 1
use_terse_report 1


defang_mime 1
dns_available yes
dcc_add_header 1
#use_pyzor 1 (Only if you have installed pyzor)
#use_razor2 (Only if you have installed razor2)
use_dcc 1

#ok_languages zh en
#ok_locales en ko
ok_languages all
ok_locales all
score HEAD_ILLEGAL_CHARS 0
score SUBJ_ILLEGAL_CHARS 0
score DATE_IN_PAST_03_06 0
score UPPERCASE_25_50 0
score UPPERCASE_50_75 0
score UPPERCASE_75_100 0
score X_MSMAIL_PRIORITY_HIGH 0
score X_PRIORITY_HIGH 0
score TO_TXT 100
score RATWARE_HASH_2 100
score RATWARE_HASH_2_V2 100
score BAYES_99 0.1
score BAYES_80 0.1
score BAYES_60 0.1
score FROM_ILLEGAL_CHARS 0.1
score MIME_BASE64_TEXT 0.1
score NO_RDNS_DOTCOM_HELO 0.1
score CHINA_HEADER 0.1
score NO_REAL_NAME 0.2
score HTML_MESSAGE 0.2
score MIME_HTML_ONLY 0.2
score MIME_HTML_ONLY_MULTI 0.2
score FORGED_MUA_OUTLOOK 0.2
score FORGED_HOTMAIL_RCVD 0.2
score FORGED_OUTLOOK_TAGS 0.2
score MAILTO_TO_SPAM_ADDR 0.2

header RCVD_IN_CASA_CBLLESS eval:check_rbl('CBLLESS','cblless.anti-spam.org.cn.','127.0.8.5')
describe RCVD_IN_CASA_CBLLESS Relay has be listed in CASA CBL-, http://anti-spam.org.cn/
tflags RCVD_IN_CASA_CBLLESS net
score RCVD_IN_CASA_CBLLESS 4.0
配置完成.以上具體解釋請看相關文檔.

#使用CCERT 中文垃圾郵件過濾規則集Chinese_rules.cf
wget -N -P /usr/share/spamassassin www.ccert.edu.cn/spam/sa/Chinese_rules.cf

#啟動SpamAssassin
service spamassassin start

#定期自動更新中文反垃圾郵件規則
crontab –e
0 0 1 * * (wget -N -P /usr/share/spamassassin http://www.ccert.edu.cn/spam/sa/Chinese_rules.cf)

#建立SpamAssassin的學習系統
sa-learn --sync -D -p user_prefs

安裝郵件隊列掃描程序:
qmail-scanner-2.06.tgz
q-s-2.06st-20090419.patch.gz

安裝
rpm -ivh perl-suidperl-5.8.0-55.1.i586.rpm
否則會出現
Error was:
Can't do setuid
創建用戶
useradd –g qscand –s /bin/false qscand
解壓打補丁
tar zxvf qmail-scanner-2.06.tgz
gunzip q-s-2.06st-20090419.patch.gz
patch -p0 < q-s-2.06st-20090419.patch 打補丁

安裝:
./configure --qmail-queue-binary /var/qmail/bin/qmail-queue --setuidgid-path /usr/local/bin/setuidgid --admin postmaster --domain domain.com.cn --notify sender,admin --local-domains domain.com.cn --lang en_GB --debug yes --unzip yes --scanners clamscan,fast_spamassassin --virus-to-delete yes --sa-forward postmaster@domain.com.cn --sa-reject yes --sa-subject "*** SPAM *** "
以上個別配置解釋;
--admin : 郵件帳戶名,可以任意存在的
--domain:郵件帳戶的域名,
以上會自動生成一個郵件帳戶,可以用來接收被刪除的垃圾郵件.
--local-domains :你所有的郵件域名.
--scanners :殺毒程序名,垃圾郵件過濾程序名.
其他參數就不詳細說了,./configure --help下有解釋
通過輸入2個 Y ,如無問題,會出現 install 1

開始安裝
./configure --qmail-queue-binary /var/qmail/bin/qmail-queue --setuidgid-path /usr/local/bin/setuidgid --admin postmaster --domain domain.com.cn --notify sender,admin --local-domains domain.com.cn --lang en_GB --debug yes --unzip yes --scanners clamscan,fast_spamassassin --virus-to-delete yes --sa-forward postmaster@domain.com.cn --sa-reject yes --sa-subject "*** SPAM *** " install yes

看看是否在/var/qmail/bin/qmail-scanner-queue.pl是否存在
chown qscand:qscand /var/qmail/bin/qmail-scanner-queue.pl
chmod 4755 /var/qmail/bin/qmail-scanner-queue.pl

然後用一個普通用戶登陸,執行/var/qmail/bin/qmail-scanner-queue.pl -z
  
如果沒有Can't do setuid出現,完成
然後修改vpopmail的配置文件,如下:
vi tcp.smtp
添加:
127.0.0.1:allow,RELAYCLIENT=」」,RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"

10.:allow,RELAYCLIENT="",RBLSMTPD="",QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"

:allow,QMAILQUEUE="/var/qmail/bin/qmail-scanner-queue.pl"

重新生成tcp.smtp.cdb,tcp.smtp.tmp
tcprules tcp.smtp.cdb tcp.smtp.tmp < tcp.smtp

完成後
重起qmail
查看日誌
cat /var/log/clamd.log
cat /var/log/freshclam.log
cat /var/log/qmail/qmail-send/current
以及
/var/spool/qscan/ 中的日誌(掃描郵件日誌從這裡可以看到)主要為
以下這個文件
qmail-queue.log
經測試郵件查看,發現郵件掃描出現錯誤clamscan_options的選項無法識別.

繼續修改
vi /var/qmail/bin/qmail-scanner-queue.pl
my $clamscan_options="-r --disable-summary --max-recursion=10 --max-space=100000";

重新啟動qmail

發送一個病毒郵件測試
查看tail -f /var/spool/qscan/qmail-queue.log
可以看到病毒郵件被掃描發現,轉發並且刪除.可以在quarantine.log 文件中發現有記錄.

發送一個垃圾郵件測試
查看tail -f /var/spool/qscan/qmail-queue.log
可以看到郵件經過SA,評分.發現評分超過7.0,我接收到垃圾郵件發現標題開頭加入了SPAM字樣.查看郵件屬性,可以發現郵件有經過處理的記錄..到此完成....我這裡上傳相關部分軟體.


[火星人 ] linux-qmail 病毒/垃圾郵件處理已經有829次圍觀

http://coctec.com/docs/linux/show-post-52993.html