建立qmail服务器的防病毒系统

王朝other·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

所需软件:

maildrop-1.5.2.20030423.tar.gz

perl-Time-HiRes-1.38-3.i386.rpm

clamav-0.65.tar.gz

qmail-scanner-1.20.tgz

安装maildrop:

tar zxvf maildrop-1.5.2.20030423.tar.gz

cd maildrop-1.5.2.20030423

./configure

make

make install-strip

make install-man

安装 perl-Time-HiRes-1.38-3.i386.rpm

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

安装clamav-0.65.tar.gz

groupadd clamav

useradd –g clamav –s /bin/false clamav

tar zxvf clamav-0.65.tar.gz

cd clamav-0.65

./configure

make check

make install

更新病毒库

运行freshclam

把freshclam加入crontab 定时更新病毒库,

vi /usr/local/etc/clamav.conf

注释掉Example

执行clamscan

执行clamd

然后执行clamdscan

安装qmail-scanner-1.20.tgz

groupadd qscand

useradd -g qscand -s /bin/false qscand

tar zxvf qmail-scanner-1.20.tgz

cd qmail-scanner-1.20

./configure --qmail-queue-binary /var/qmail/bin/qmail-queue --admin postmaster

--domain nero.3322.org --notify sender,admin --local-domains nero.3322.org --lang en_GB --debug yes --unzip yes --scanners clamscan --install

在编译过程中需要安装perl-DB_File-x.x.x.rpm,在光盘中可找到。

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出现,恭喜你,如果有

回到安装文件目录,有个contrib目录,

make

make install

附加步骤:

chown qscand:qscand /var/qmail/bin/qmail-scanner-queue

chmod 4755 /var/qmail/bin/qmail-scanner-queue

chmod 0755 /var/qmail/bin/qmail-scanner-queue.pl

然后用一个普通用户登陆,执行

/var/qmail/bin/qmail-scanner-queue -z

/var/qmail/bin/qmail-scanner-queue -g

修改环境变量

1.在你的qmail启动脚本加入

QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue.pl

如果作了附加步骤用下面的

QMAILQUEUE=/var/qmail/bin/qmail-scanner-queue

export QMAILQUEUE

2.修改qmail-scanner-queue.pl中的

my $clamscan_options="-r --disable-summary --max-recursion=10 --max-space=1000000";为

my $clamscan_options="-r --mbox --disable-summary --max-recursion=10 --max-space=1000000";

重起qmail 测试

这里有测试程序

/software/qmail-scanner-1.20/contrib/test_installation.sh

主要的排错监测日志

/var/spool/qmailscan/quarantine.log

/var/spool/qmailscan/qmail-queue.log

/var/log/clamd.log

/var/log/maillog

给qmail + vpopmail + igenus邮件服务器添加新功能

1.注册新用户和找回密码

建立数据库

mysql -u root -p

mysql use vpopmail;

mysql CREATE TABLE password (

id int(11) unsigned NOT NULL auto_increment,

pw_name varchar(32) NOT NULL default '',

pw_domain varchar(64) NOT NULL default '',

problem varchar(32) NOT NULL default '',

answer varchar(32) NOT NULL default '',

PRIMARY KEY (id)

) TYPE=MyISAM PACK_KEYS=1;

安装软件包 password.rar其中有五个文件

signup.php,submit.php是注册用的

getpassword.php,getpassword2.php,getpassword3.php是找回密码用的.

中间有关默认域名的地方.自行修改为自己的默认域名.

如果igenus安装到/var/www/html/igenus的话,就把这五个文件解压缩到/var/www/html目录下,然后在首页的index.php文件中增加相应的链接就可以了.

2.自动转发

把发往自己邮箱的邮件定向到其他邮箱

mysql use vpopmail;

mysql CREATE TABLE forword (

id int(11) unsigned NOT NULL auto_increment,

pw_id int(5) NOT NULL default '0',

email varchar(64) NOT NULL default '',

success int(1) NOT NULL default '0',

save int(1) NOT NULL default '0',

PRIMARY KEY (id)

) TYPE=MyISAM PACK_KEYS=1;

3.个人资料

mysql use vpopmail;

mysql CREATE TABLE personal (

id int(11) unsigned NOT NULL auto_increment,

pw_id int(5) NOT NULL default '0',

truename varchar(10) NOT NULL default '',

fax varchar(20) NOT NULL default '',

telephone varchar(15) NOT NULL default '',

sex int(1) NOT NULL default '0',

year int(4) NOT NULL default '',

month int(2)NOT NULL default '',

day int(2)NOT NULL default '',

education varchar(4) NOT NULL default '',

marital int(1) NOT NULL default '',

occupation varchar(15) NOT NULL default '',

companyname varchar(30) NOT NULL default '',

province varchar(6) NOT NULL default '',

PRIMARY KEY (id)

) TYPE=MyISAM PACK_KEYS=1;

4.通告栏

只有域管理员可以发给该域的所有用户通告,而该域的所有用户只可以查看通告

mysql use vpopmail;

mysql CREATE TABLE board (

id int(11) unsigned NOT NULL auto_increment,

num int(5) NOT NULL default '0',

title varchar(50) NOT NULL default '',

content varchar(255) NOT NULL default '',

host varchar(50) NOT NULL default '',

allhost int(1) NOT NULL default '0',

PRIMARY KEY (id)

) TYPE=MyISAM PACK_KEYS=1;

5.收藏夹

mysqluse vpopmail;

mysqlCREATE TABLE stow (

id int(11) unsigned NOT NULL auto_increment,

pw_id int(5) NOT NULL default '0',

name varchar(64) NOT NULL default '',

http varchar(128) NOT NULL default '',

memo varchar(255) NOT NULL default '',

PRIMARY KEY (id)

) TYPE=MyISAM PACK_KEYS=1;

6.名片夹

mysqluse vpopmail;

mysqlCREATE TABLE card (

id int(11) unsigned NOT NULL auto_increment,

pw_id int(5) NOT NULL default '0',

addrname varchar(10) NOT NULL default '',

companyname varchar(30) NOT NULL default '',

address varchar(255) NOT NULL default '',

job varchar(255) NOT NULL default '',

telephone varchar(20) NOT NULL default '',

mobile varchar(15) NOT NULL default '',

email varchar(50) NOT NULL default '',

bearing varchar(4) NOT NULL default '',

note varchar(255) NOT NULL default '',

PRIMARY KEY (id)

) TYPE=MyISAM PACK_KEYS=1;

Linux+adsl+qdns

一、安装拨号软件包

为了以后的防火墙应用我安装了两块网卡要确保其工作正常:

# ifconfig eth0 eth0接内网

# ifconfig eth1 eth1接ADSL

删除默认网关:

在文件 /etc/sysconfig/network 中删除 GATEWAY= 这一行,然后执行:

# service network restart

安装pppd软件包。

如果存在文件 /usr/sbin/pppd,则说明已经安装了pppd;

如果未安装,从RedHatLinux安装光盘上可找到这个软件包。

# rpm –ivh rp-pppoe-3.5.2.i386.rpm

二、配置PPPOE客户端软件

adsl安装很简单我就不多说了

# adsl-setup

安装完软件包后配置/etc/sysconfig/network-scripts/ifcfg-ppp0

# vi /etc/sysconfig/network-scripts/ifcfg-ppp0,修改

PPPOE-TIMEOUT=0

CONECT-TIMEOUT=0

# cp /etc/sysconfig/network-scripts/ifcfg-

ppp0 /etc/ppp/pppoe.conf

三、安装设置动态域名QDNS

登录www.3322.org网站,注册一个用户,申请一个动态域名

domain.3322.org,

并下载linux客户端软件:ez-ipupdate-3.0.10-linux-i386.tgz

安装软件:

# tar zxvf ez-ipupdate-3.0.10-linux-i386.tgz

# mv ez-ipupdate-3.0.10-linux-i386 /usr/local/ezip

# chmod 755 /usr/local/ezip/ez-ipupdate

# chmod 755 /usr/local/ezip/qdns.conf

# cp /usr/local/ezip/qdns.conf /usr/local/bin

# cp /usr/local/ezip/ez-ipupdate /usr/local/bin

编辑/usr/local/ezip/qdns.conf文件:

# vi /usr/local/ezip/qdns.conf

service-type=qdns

user=your use rname:your password

host=domain.3322.org

interface=ppp0

max-interval=2073600

cache-file=/tmp/ez-ipupdate.cache

将当前ip更新到我们申请的域名:

# /usr/local/ezip/ez-ipupdate –c qdns.conf

系统会提示数据更新成功。

实现拨号连接建立后自动更新域名:

修改/etc/ppp/ip-up脚本

# vi /etc/ppp/ip-up

在exit 0前增加一行:

/usr/local/ezip/ez-ipupdate -c /usr/local/ezip/qdns.conf

设置每隔五分钟自动同步一下你的域名:

# crontab -e然后加入下面一行:

0-59/50-59/5 * * * * /usr/local/bin/ez-ipupdate -

c /usr/local/bin/qdns.conf

四、测试

# adsl-start

# adsl-status

在输出中应该含有关于 ppp0 的信息,包括从dhcp得到的IP 地址。

# ping domain.3322.org

如果解析出正确的ip,说明拨号连接已经建立并且并且能正确的解析动

态域名。,

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航