天天看點

基于Postfix帶有病毒郵件過度的webmail...

基于Postfix帶有病毒郵件過度的webmail

部署線上郵件伺服器的必須準備的步驟:

1、必有一個合法的域名,并且對域名做好MX的記錄解析,該記錄解析到将要部署的郵件伺服器的IP

2、郵件伺服器的時間必須正确。

如果是本地臨時的郵件伺服器的部署,僅僅需要綁定一個FQDN主機名,把主機名和IP綁定在hosts檔案

10.1.1.21mail.upl.com www.upl.com

一、把postfix的基本接發郵件功能部署好

# yum install postfix -y

# vim /etc/postfix/main.cf

myhostname = mail.upl.com

mydomain = upl.com

myorigin = $mydomain

inet_interfaces = all  <---把原來的localhost注釋掉

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

mynetworks = 127.0.0.0/8,10.1.1.0/24,172.16.0.0/16

二、安裝防毒軟體

1、建立相關身份

# groupadd -g 108 clamav

# useradd -g clamav -u 108 clamav

2、編譯安裝

# tar xvf clamav-0.97.6.tar.gz -C /usr/src

# cd /usr/src/clamav-0.97.6

# ./configure

# make -j2 && make install

3、配置

1)配置更新防毒軟體的配置檔案

shell> vim /usr/local/etc/freshclam.conf

# Example  <---删除或者注釋掉

DatabaseDirectory /var/lib/clamav

DatabaseOwner clamav  <---病毒庫相關檔案的擁有者,肯定是和防毒軟體的運作身份一樣

DatabaseMirror db.cn.clamav.net

DatabaseMirror database.clamav.net

Checks 24

NotifyClamd /usr/local/etc/clamd.conf

# mkdir -p /var/lib/clamav

# chown clamav:clamav /var/lib/clamav/

把筆記提供過去某個版本的病毒庫解壓到病毒庫目錄,否則全新更新很慢

# tar xvf clamav-db.tar -C /var/lib/clamav/

更新

# freshclam

2) 配置主配置檔案

shell> vim /usr/local/etc/clamd.conf

#Example

LogFile /tmp/clamd.log

PidFile /var/run/clamd.pid

LocalSocket /tmp/clamd.socket

User clamav

把筆記提供的啟動腳本拷貝到相應目錄

# cp clamd  /etc/rc.d/init.d/

# chmod 755 /etc/rc.d/init.d/clamd

啟動防毒軟體

# service clamd start

# ls /tmp/clamd.socket

/tmp/clamd.socket <---如有,就代表啟動成功

隻要病毒庫更新完畢,可以測試殺毒功能

# clamscan /usr/src/clamav-0.97.6/test/ 僅僅掃描

# clamscan --remove=yes /usr/src/clamav-0.97.6/test/  删除感染了病毒的檔案

三、把防毒軟體和postfix進行整合

需要安裝一個插件clamstmp

# tar xvf clamsmtp-1.10.tar.gz -C /usr/src

# cd /usr/src/clamsmtp-1.10/

# ./configure && make -j 2 && make install

# cp scripts/clamsmtpd.sh  /etc/rc.d/init.d/clamstmpd

# chmod 755 !$

# cp scripts/virus_action.sh /usr/local/bin/virus_action.sh

# chmod 775 /usr/local/bin/virus_action.sh

# cp doc/clamsmtpd.conf /usr/local/etc/

編輯插件的配置

# vim /usr/local/etc/clamsmtpd.conf

OutAddress: 10026   <----把防毒軟體過濾後,沒有問題的郵件發送本機10026端口

Listen: 0.0.0.0:10025

ClamAddress: /tmp/clamd.socket

Header: X-Virus-Scanned: ClamAV using ClamSMTP

Action: drop

Quarantine: on

User: clamav

VirusAction: /usr/local/bin/virus_action.sh

# vim /usr/local/bin/virus_action.sh

file="/tmp/virus.log"

dir="/tmp/quarantine/"

# mkdir -p /tmp/quarantine/

# chown clamav:clamav /tmp/quarantine/

# /etc/rc.d/init.d/clamstmpd start <---沒有傳回報錯就對了

# lsof -i:10025

COMMAND     PID   USER   FD   TYPE DEVICE SIZE/OFF NODE NAME

clamsmtpd 32275 clamav    3u  IPv4  98568      0t0  TCP *:10025 (LISTEN)

以上的配置隻是把插件和clamav防毒軟體整合了,還必須把它和postfix整合

# vim /etc/postfix/master.cf

。。。。在配置檔案最後添加:讓postfix監聽10026端口.....

scan      unix  -       -       n       -       16      smtp

       -o smtp_send_xforward_command=yes

       -o smtp_enforce_tls=no

127.0.0.1:10026 inet  n -       n       -       16      smtpd

       -o content_filter=

       -o receive_override_options=no_unknown_recipient_checks,no_header_body_checks

       -o smtpd_helo_restrictions=

       -o smtpd_client_restrictions=

       -o smtpd_sender_restrictions=

       -o smtpd_recipient_restrictions=permit_mynetworks,reject

       -o mynetworks_style=host

       -o smtpd_authorized_xforward_hosts=127.0.0.0/8

content_filter = scan:[127.0.0.1]:10025  <---增加内容過濾的配置

總結:

mail郵件 ---> 25:Postfix ---> 10025:clamstmpd ---> /tmp/clamd.socket 防毒軟體來掃描 ----> 10026:Postfix

重新開機postfix,讓配置生效

# service postfix restart

注意:

注意開機之後服務啟動順序:

# service clamstmpd start

# service postfix start

測試:

發送一封本地普通郵件

發送一封本地帶有病毒的郵件

# mutt -f /var/mail/root  <--用root身份發送郵件

發送遠端郵件

四、給postfix安裝一個webmail界面

# yum install perl-Text-Iconv perl-suidperl perl-CGI  -y

# useradd -s /sbin/nologin tchung

# rpm -ivh  openwebmail-2.53-1.i386.rpm openwebmail-data-2.53-1.i386.rpm

初始化

# /var/www/cgi-bin/openwebmail/openwebmail-tool.pl --init

如果提示錯誤,要求修改某個檔案,按照提示去修改

Welcome to the OpenWebMail!

Send the site report?(Y/n)  n  不需要發送報告

啟動apache

# service httpd restart

登入

http://10.1.1.21:8081/webmail  隻能使用普通帳号登入

不能root管理

# passwd tom

      本文轉自crazy_charles 51CTO部落格,原文連結:http://blog.51cto.com/douya/1243779,如需轉載請自行聯系原作者

繼續閱讀