基于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 DatabaseDirectory /var/lib/clamav 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
# vim /etc/postfix/main.cf content_filter = scan:[127.0.0.1]:10025 <---增加内容过滤的配置
总结:
mail邮件 ---> 25:Postfix ---> 10025:clamstmpd ---> /tmp/clamd.socket 杀毒软件来扫描 ----> 10026:Postfix
重启postfix,让配置生效 # service postfix restart
注意: 注意开机之后服务启动顺序: # service clamd start # 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
|