建立qmail服務器的防病毒系統
發表于:2007-07-02來源:作者:點擊數:
標簽:
所需軟件: 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 in
所需軟件:
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/quar
antine.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.收藏夾
mysql>use vpopmail;
mysql>CREATE 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.名片夾
mysql>use vpopmail;
mysql>CREATE 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
登錄
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,說明撥號連接已經建立并且并且能正確的解析動
態域名。,
原文轉自:http://www.kjueaiud.com