Tutorial ini menjelaskan bagaimana Anda dapat mengintegrasikan ClamAV ke ProFTPd untuk pemindaian virus pada sistem Debian Lenny. Ini dicapai melalui mod_clamav. Pada akhirnya, setiap kali file diunggah melalui ProFTPd, ClamAV akan memeriksa file tersebut dan menghapusnya jika itu adalah malware.
Saya tidak memberikan jaminan apa pun bahwa ini akan berhasil untuk Anda!
1 Catatan Awal
Anda harus memiliki pengaturan ProFTPd yang berfungsi di server Debian Lenny Anda.
2 Menginstal ClamAV
ClamAV dapat diinstal sebagai berikut:
aptitude install clamav clamav-daemon libclamav-dev
Sekarang kita harus mengkonfigurasi ulang ClamAV sehingga Clamd menggunakan koneksi TCP alih-alih soket Unix lokal. Sangat disarankan agar koneksi soket Unix dihindari saat menggunakan fitur Chroot dari ProFTPd (DefaultRoot ~). Alasannya adalah jika mod_clamav perlu terhubung ke Clamd, soket Unix tidak tersedia di lingkungan chroot.
Jalankan
dpkg-reconfigure clamav-base
... dan jawab pertanyaan ini sebagai berikut (terima nilai default untuk semua pertanyaan lainnya):
Jenis soket:<-- TCP
TCP port clamd akan mendengarkan:<-- 3310
Alamat IP clamd akan mendengarkan:<-- 127.0.0.1
Kemudian restart Clamd dan freshclam:
/etc/init.d/clamav-daemon restart
/etc/init.d/clamav-freshclam restart
Sekarang jalankan
netstat -tap | grep clamd
... dan Anda akan melihat bahwa Clamd mendengarkan di localhost melalui TCP:
server1:~# netstat -tap | grep clamd
tcp 0 0 localhost.localdom:3310 *:* LISTEN 29430/clamd
server1:~#
3 Membangun Kembali ProFTPd
Sayangnya mod_clamav bukan bagian dari ProFTPd secara default, dan tidak ada paket Debian untuk mod_clamav, jadi kita harus membangun kembali ProFTPd dengan mod_clamav. Saya akan menggunakan paket sumber Debian dari ProFTPd dan membuat paket ProFTPd .deb baru dengan dukungan mod_clamav.
Pertama kita instal semua paket yang diperlukan untuk membangun kembali ProFTPd:
aptitude build-dep proftpd
Kami juga membutuhkan paket berikut (yang karena beberapa alasan tidak diinstal oleh perintah sebelumnya...):
aptitude install libpam-dev
Sekarang kita mengunduh paket sumber ProFTPd ke /usr/src:
cd /usr/src
apt-get source proftpd
Selanjutnya kita mengunduh mod_clamav ke /usr/src dan membongkarnya:
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
Kemudian kita copy file mod_clamav-0.11rc/mod_clamav.* ke direktori proftpd-dfsg-1.3.1/contrib...
cp mod_clamav-0.11rc/mod_clamav.* proftpd-dfsg-1.3.1/contrib
... dan menambal sumber ProFTPd:
cd proftpd-dfsg-1.3.1
patch -p1 < ../mod_clamav-0.11rc/proftpd.patch
Selanjutnya kita harus mengedit debian/rules:
vi debian/rules
Cari bagian CONF_ARGS dan tambahkan --with-modules=mod_clamav ke dalamnya:
[...] 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 [...] |
Sekarang kita dapat membangun kembali ProFTPd:
dpkg-buildpackage
Sekarang kita naik satu direktori, di situlah paket .deb baru telah dibuat:
cd ..
Perintah
ls -l
menunjukkan kepada Anda paket yang tersedia:
server1:/usr/src# ls -l
total 5472
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-01 03:28 mod_clamav-0.11rc.tar.gz
-rw-r--r-- 1 root src 195066 2010-10-01 03:32 proftpd_1.3.1-17lenny4_all.deb
-rw-r--r-- 1 root src 690228 2010-10-01 03:32 proftpd-basic_1.3.1-17lenny4_i386.deb
drwxr-xr-x 13 root root 4096 2010-10-01 03:32 proftpd-dfsg-1.3.1
-rw-r--r-- 1 root src 107998 2010-10-01 03:29 proftpd-dfsg_1.3.1-17lenny4.diff.gz
-rw-r--r-- 1 root src 1103 2010-10-01 03:29 proftpd-dfsg_1.3.1-17lenny4.dsc
-rw-r--r-- 1 root src 3305 2010-10-01 03:32 proftpd-dfsg_1.3.1-17lenny4_i386.changes
-rw-r--r-- 1 root src 2662056 2007-10-16 01:02 proftpd-dfsg_1.3.1.orig.tar.gz
-rw-r--r-- 1 root src 1255660 2010-10-01 03:32 proftpd-doc_1.3.1-17lenny4_all.deb
-rw-r--r-- 1 root src 213004 2010-10-01 03:32 proftpd-mod-ldap_1.3.1-17lenny4_i386.deb
-rw-r--r-- 1 root src 203562 2010-10-01 03:32 proftpd-mod-mysql_1.3.1-17lenny4_i386.deb
-rw-r--r-- 1 root src 203512 2010-10-01 03:32 proftpd-mod-pgsql_1.3.1-17lenny4_i386.deb
server1:/usr/src#
Kita dapat menginstal paket ProFTPd .deb baru sebagai berikut:
dpkg -i proftpd*.deb
4 Mengonfigurasi ProFTPd
Sekarang kita harus mengkonfigurasi ProFTPd untuk menggunakan mod_clamav setiap kali file diunggah. Buka /etc/proftpd/proftpd.conf...
vi /etc/proftpd/proftpd.conf
... dan tambahkan bait
<IfModule mod_clamav.c>
ClamAV on
ClamServer 127.0.0.1
ClamPort 3310
</IfModule>
di suatu tempat, misalnya di bawah
<IfModule mod_ctrls_admin.c>
AdminControlsEngine off
</IfModule>
bagian:
[...] <IfModule mod_ctrls_admin.c> AdminControlsEngine off </IfModule> <IfModule mod_clamav.c> ClamAV on ClamServer 127.0.0.1 ClamPort 3310 </IfModule> # # Alternative authentication frameworks # #Include /etc/proftpd/ldap.conf Include /etc/proftpd/sql.conf [...] |
Mulai ulang ProFTPd:
/etc/init.d/proftpd restart
Sekarang periksa apakah mod_clamav dimuat dengan menjalankan:
proftpd -vv
mod_clamav harus terdaftar di output:
server1:~# proftpd -vv
- ProFTPD Version: 1.3.1 (stable)
- Scoreboard Version: 01040002
- Built: Fri Oct 1 03:31:03 CEST 2010
- Module: mod_core.c
- Module: mod_xfer.c
- Module: mod_auth_unix.c
- Module: mod_auth_file/0.8.3
- Module: mod_auth.c
- Module: mod_ls.c
- Module: mod_log.c
- Module: mod_site.c
- Module: mod_delay/0.6
- Module: mod_dso/0.4
- Module: mod_auth_pam/1.0.1
- Module: mod_clamav.c
- Module: mod_cap/1.0
- Module: mod_ctrls/0.9.4
- Module: mod_lang/0.8
server1:~#
Itu dia! Sekarang setiap kali seseorang mencoba mengunggah malware ke server Anda melalui ProFTPd, file "buruk" akan dihapus. Anda dapat mengujinya dengan mengunduh virus uji Eicar dari http://www.eicar.org/anti_virus_test_file.htm; coba unggah ke server ProFTPd Anda, dan jika semuanya berjalan dengan baik, itu harus dihapus:
5 Tautan
- ProFTPd:http://www.proftpd.org/
- mod_clamav:http://www.thrallingpenguin.com/resources/mod_clamav.htm
- ClamAV:http://www.clamav.net/
- Debian:http://www.debian.org/