PureFTPd是Linux下一款非常好用的的FTP服务器端软件,但随着Linux的普及,病毒也开始瞄向Linux,以前我们在Linux下经常裸奔,现在我们应当重视Linux服务器的安全,本文就简单介绍一下如何将Linux下大名鼎鼎的反病毒软件ClamAV与PureFTPd结合,当有人通过PureFTPd上传文件时,ClamAV就会自动进行扫描,如果发现上传的文件包含病毒就自动删除。
1、说明
首先我不能保证你按照我介绍的步骤操作,能让ClamAV和PureFTPd联合运行,因为你我的环境可能不一样,我是在OpenSUSE 11.2下做的实验。
2、安装ClamAV
安装ClamAV的命令如下,非常简单:
yast2 -i clamav clamav-db
接下来是为ClamAV创建系统启动项:
chkconfig --add clamd
然后启动它:
/etc/init.d/clamd start
3、配置PureFTPd
首先用文本编辑器打开PureFTPd的配置文件/etc/pure-ftpd/pure-ftpd.conf:
vi /etc/pure-ftpd/pure-ftpd.conf
将Umask设置项的值设为133:022,这样clamdscan才有权扫描上传的文件,同时将CallUploadScript设为yes:
[...]# File creation mask. : .# 177:077 if you feel paranoid.Umask 133:022[...]# If your pure-ftpd has been compiled with pure-uploadscript support,# this will make pure-ftpd write info about new uploads to# /var/run/pure-ftpd.upload.pipe so pure-uploadscript can read it and# spawn a script to handle the upload.CallUploadScript yes[...]
接下来创建一个/etc/pure-ftpd/clamav_check.sh文件,无论何时通过PureFTPd上传文件时,都会触发它调用ClamAV主程序/usr/bin/clamdscan扫描上传的文件:
vi /etc/pure-ftpd/clamav_check.sh
clamav_check.sh脚本的内容如下:
#!/bin/sh/usr/bin/clamdscan --remove --quiet --no-summary "$1"
将这个脚本文件设为可执行:
chmod 755 /etc/pure-ftpd/clamav_check.sh
现在我们将pure-uploadscript作为一个后台程序启动,当有文件通过PureFTPd上传时,它就会调用我们编写的/etc/pure-ftpd/clamav_check.sh基本。
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
如果你不想每次重启系统后都要手工启动pure-uploadscript进程,那打开/etc/init.d/boot.local:
vi /etc/init.d/boot.local
向文件中添加一行/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh,如:
#! /bin/sh## Copyright (c) 2002 SuSE Linux AG Nuernberg, Germany. All rights reserved.## Author: Werner Fink <werner@suse.de>, 1996# Burchard Steinbild, 1996## /etc/init.d/boot.local## script with local commands to be executed from init on system startup## Here you should add things, that should happen directly after booting# before we're going to the first run level.#/usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
最后我们重启PureFTPd:
/etc/init.d/pure-ftpd restart
OK!从现在开始,如果有人上传带有恶意软件的文件,ClamAV会为你自动清理。