このチュートリアルでは、Ubuntu10.04システムでウイルススキャンを行うためにClamAVをProFTPdに統合する方法について説明します。これは、mod_clamavを介して実現されます。最終的に、ファイルがProFTPdを介してアップロードされるたびに、ClamAVはファイルをチェックし、マルウェアである場合は削除します。
これがあなたのために働くという保証はありません!
1予備メモ
Ubuntu10.04サーバーでProFTPdのセットアップが機能している必要があります。
このチュートリアルのすべてのステップをroot権限で実行するため、このチュートリアルのすべてのコマンドの前に文字列sudoを付けるか、
と入力して今すぐrootになります。sudo su
2ClamAVのインストール
ClamAVは次のようにインストールできます:
aptitude install clamav clamav-daemon libclamav-dev
次に、ClamdがローカルUnixソケットではなくTCP接続を使用するようにClamAVを再構成する必要があります。ProFTPdのChroot機能(DefaultRoot〜)を使用する場合は、Unixソケット接続を回避することを強くお勧めします。その理由は、mod_clamavがClamdに接続する必要がある場合、Unixソケットはchroot環境では使用できないためです。
実行
dpkg-reconfigure clamav-base
...そしてこれらの質問に次のように答えます(他のすべての質問のデフォルト値を受け入れます):
ソケットタイプ:<-TCP
TCPポートclamdがリッスンします:<-3310
IPアドレスclamdがリッスンします:<-127.0.0.1
次に、Clamdとfreshclamを再起動します:
/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart
今すぐ実行
netstat -tap | grep clamd
...そしてClamdがTCPを介してローカルホストでリッスンしていることがわかります:
[メールで保護]:〜#netstat -tap | grep clamd
tcp 0 0 localhost.localdom:3310 *:* LISTEN 7911 / clamd
[メール保護]:〜#
3ProFTPdの再構築
残念ながら、mod_clamavはデフォルトではProFTPdの一部ではなく、mod_clamav用のUbuntuパッケージがないため、mod_clamavを使用してProFTPdを再構築する必要があります。 ProFTPdのUbuntuソースパッケージを使用して、mod_clamavをサポートする新しいProFTPd.debパッケージをビルドします。
まず、ProFTPdの再構築に必要なすべてのパッケージをインストールします:
aptitude build-dep proftpd-dfsg
次のパッケージも必要です:
aptitude install libpam-devdpkg-dev libmysqlclient-dev debhelper libpq-dev libldap2-dev libwrap0-dev libcap2-dev autotools-dev libncurses5-dev dpatch libacl1-dev libattr1-dev unixodbc-dev libsqlite3-dev
次に、ProFTPdソースパッケージを/ usr / srcにダウンロードします:
cd / usr / src
apt-get source proftpd-dfsg
次に、mod_clamavを/ usr / srcにダウンロードして解凍します:
wget --no-check-certificate https://secure.thrallingpenguin.com/redmine/attachments/download/1/mod_clamav-0.11rc.tar.gz
tar xzvf mod_clamav-0.11rc.tar.gz
次に、mod_clamav-0.11rc/mod_clamav。*ファイルをproftpd-dfsg-1.3.2c/contribディレクトリにコピーします...
cp mod_clamav-0.11rc/mod_clamav。*proftpd-dfsg-1.3.2c/ contrib
...そしてProFTPdソースにパッチを当てます:
cd proftpd-dfsg-1.3.2c
patch -p1 <../mod_clamav-0.11rc/proftpd.patch
次に、debian / rulesを編集する必要があります:
vi debian / rules
CONF_ARGSセクションを検索し、それに--with-modules =mod_clamavを追加します:
[...] CONF_ARGS:=--prefix =/ usr \ --with-includes =$(shell pg_config --includedir):$ (shell mysql_config --include | sed -e's / -I //')\ --mandir =/ usr / share / man --sysconfdir =/ etc / $(NAME)--localstatedir =/ var / run- -libexecdir =/ usr / lib / $(NAME)\ --enable-sendfile --enable-facl --enable-dso --enable-autoshadow --enable-ctrls --with-modules =mod_readme \ --enable- ipv6 --enable-nls --with-modules =mod_clamav [...] |
これでProFTPdを再構築できます:
dpkg-buildpackage
ここで、1つのディレクトリを上に移動します。ここに、新しい.debパッケージが作成されています。
cd ..
コマンド
ls -l </ pre>利用可能なパッケージを表示します:
[メールで保護]:/ usr / src#ls -l <br /> total 7500
drwxr-xr-x 24 root root 4096 2010-04-29 14:00 linux-headers-2.6.32-21
drwxr-xr-x 7 root root 4096 2010-04-29 14:00 linux-headers-2.6.32-21-server
drwxr-xr-x 2 501 501 4096 2009-04-20 10 :22 mod_clamav-0.11rc
-rw-r--r-- 1 root src 5115 2010-10-04 17:21 mod_clamav-0.11rc.tar.gz
-rw-r--r --1 root src 930578 2010-10-04 17:38 proftpd-basic_1.3.2c-1_amd64.deb
-rw-r--r-- 1 root src 630168 2010-10-04 17:38 proftpd -dev_1.3.2c-1_amd64.deb
drwxr-xr-x 14 root root 4096 2010-10-04 17:37 proftpd-dfsg-1.3.2c
-rw-r--r-- 1 root src 4522 2010-10-04 17:38 proftpd-dfsg_1.3.2c-1_amd64.changes
-rw-r--r-- 1 root src 98674 2010-10-04 17:30 proftpd-dfsg_1 .3.2c-1.diff.gz
-rw-r--r-- 1 root src 1138 2010-10-04 17:30 proftpd-dfsg_1.3.2c-1.dsc
-rw -r--r-- 1 root src 3018899 2009-12-22 07:05 proftpd-dfsg_1.3.2c.orig.tar.gz
-rw-r--r-- 1 root src 1408070 2010- 10-04 17 :38 proftpd-doc_1.3.2c-1_all.deb
-rw-r--r-- 1 root src 315326 2010-10-04 17:38 proftpd-mod-ldap_1.3.2c-1_amd64.deb
-rw-r--r-- 1 root src 305076 2010-10-04 17:38 proftpd-mod-mysql_1.3.2c-1_amd64.deb
-rw-r--r-- 1 root src 306848 2010-10-04 17:38 proftpd-mod-odbc_1.3.2c-1_amd64.deb
-rw-r--r-- 1 root src 304762 2010-10-04 17:38 proftpd- mod-pgsql_1.3.2c-1_amd64.deb
-rw-r--r-- 1 root src 304634 2010-10-04 17:38 proftpd-mod-sqlite_1.3.2c-1_amd64.deb
[メール保護]:/ usr / src#次のように、新しいProFTPd.debパッケージをインストールできます。
dpkg -i proftpd * .deb
4ProFTPdの設定
次に、ファイルがアップロードされるたびにmod_clamavを使用するようにProFTPdを構成する必要があります。 /etc/proftpd/proftpd.confを開きます...
vi /etc/proftpd/proftpd.conf...そしてスタンザを追加します
ClamAV on
ClamServer 127.0.0.1
ClamPort 3310
どこか、例えば下
AdminControlsEngine off
セクション:
[...] |
ProFTPdを再起動します:
/etc/init.d/proftpd restart
次に、以下を実行してmod_clamavがロードされているかどうかを確認します。
proftpd -vv
mod_clamavは出力にリストされている必要があります:
[メールで保護]:〜#proftpd -vv
ProFTPDバージョン:1.3.2c(maint)
スコアボードバージョン:01040002
作成日:Mon Oct 4 17:34:10 CEST 2010
ロードされたモジュール:
mod_ifsession / 1.0
mod_dynmasq / 0.2.1
mod_wrap2_file / 1.2
mod_wrap2 / 2.0.6
mod_ban / 0.5.3
mod_load / 1.0.1
mod_rewrite / 0.7
mod_wrap.c
mod_quotatab_radius.c
mod_quotatab_file.c
mod_quotatab / 1.3.0
mod_radius /0.9
mod_tls / 2.2.2
mod_ctrls_admin / 0.9.5
mod_lang / 0.9
mod_ctrls / 0.9.4
mod_cap / 1.0
mod_clamav.c
mod_auth_pam / 1.1
mod_ident / 1.0
mod_dso / 0.4
mod_facts / 0.1
mod_delay / 0.6
mod_site.c
mod_log.c
mod_ls.c
mod_auth.c
mod_auth_file / 0.8.3
mod_auth_unix.c
mod_xfer.c
mod_core.c
[メール保護]:〜#
それでおしまい!これで、誰かがProFTPdを介してマルウェアをサーバーにアップロードしようとすると、「不良」ファイルが削除されます。 Eicarテストウイルスをhttp://www.eicar.org/anti_virus_test_file.htmからダウンロードすることでテストできます。 ProFTPdサーバーにアップロードしてみてください。問題がなければ、削除する必要があります。
5つのリンク
- ProFTPd:http://www.proftpd.org/
- mod_clamav:http://www.thrallingpenguin.com/resources/mod_clamav.htm
- ClamAV:http://www.clamav.net/
- Ubuntu:http://www.ubuntu.com/