このチュートリアルでは、CentOS6.2システムでウイルススキャンを行うためにClamAVをPureFTPdに統合する方法について説明します。最終的に、ファイルがPureFTPdを介してアップロードされるたびに、ClamAVはファイルをチェックし、マルウェアである場合は削除します。
1予備メモ
CentOS6.2サーバーでPureFTPdセットアップが機能している必要があります。このチュートリアルに示されているように:CentOS 6.2でのPureFTPdとMySQL(クォータと帯域幅の管理を含む)を使用した仮想ホスティング。
2ClamAVのインストール
ClamAVは公式のCentOSリポジトリでは利用できないため、EPELリポジトリを有効にします(まだ有効にしていない場合、たとえば、CentOS 6.2チュートリアルでのPureFTPdとMySQLを使用した仮想ホスティング(クォータと帯域幅の管理を含む))。
rpm --import https://fedoraproject.org/static/0608B895.txt
wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-5.noarch.rpm
rpm -ivh epel-release-6-5.noarch.rpm
yum install yum-priorities
/etc/yum.repos.d/epel.repoを編集します...
vi /etc/yum.repos.d/epel.repo
...そして[epel]セクションにpriority=10という行を追加します:
[epel] name=Extra Packages for Enterprise Linux 6 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-6&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6 [...] |
その後、次のようにClamAVをインストールできます。
yum install clamav clamd
次に、clamdのシステム起動リンクを作成して起動します:
chkconfig --levels 235 clamd on
/usr/bin/freshclam
/etc/init.d/clamd start
3PureFTPdの構成
まず、/ etc / pure-ftpd / pure-ftpd.confを開き、CallUploadScriptをyesに設定します:
vi /etc/pure-ftpd/pure-ftpd.conf
[...] # 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. # Don't enable this option if you don't actually use pure-uploadscript. CallUploadScript yes [...] |
次に、ファイル/etc/pure-ftpd/clamav_check.shを作成します(ファイルがPureFTPdを介してアップロードされるたびに/ usr / bin / clamdscanを呼び出します)...
vi /etc/pure-ftpd/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
もちろん、システムを起動するたびにデーモンを手動で起動する必要はありません。したがって、/ etc / rc.local ...
を開きます。vi /etc/rc.local
...そして/usr/ sbin / pure-uploadscript -B -r/etc/pure-ftpd/clamav_check.shという行を追加します-例:次のように:
#!/bin/sh # # This script will be executed *after* all the other init scripts. # You can put your own initialization stuff in here if you don't # want to do the full Sys V style init stuff. /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh touch /var/lock/subsys/local |
最後に、PureFTPdを再起動します:
/etc/init.d/pure-ftpd restart
それでおしまい!これで、誰かがPureFTPdを介してマルウェアをサーバーにアップロードしようとすると、「不良」ファイルがサイレントに削除されます。
4つのリンク
- PureFTPD:http://www.pureftpd.org/
- ClamAV:http://www.clamav.net/
- CentOS:http://www.centos.org/