Tutorial ini menjelaskan bagaimana Anda dapat mengintegrasikan ClamAV ke ProFTPd untuk pemindaian virus pada sistem Ubuntu 10.04. 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 Ubuntu 10.04 Anda.
Karena kita akan menjalankan semua langkah dari tutorial ini dengan hak akses root, kita bisa menambahkan semua perintah dalam tutorial ini dengan string sudo, atau kita menjadi root sekarang dengan mengetik
sudo su
2 Menginstal ClamAV
ClamAV dapat diinstal sebagai berikut:
aptitude install clamav clamav-daemon libclamav-dev
Sekarang kita harus mengkonfigurasi ulang ClamAV agar 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:
[dilindungi email]:~# netstat -tap | grep clamd
tcp 0 0 localhost.localdom:3310 *:* DENGARKAN 7911/clamd
[email protected]:~#
3 Membangun Kembali ProFTPd
Sayangnya mod_clamav bukan bagian dari ProFTPd secara default, dan tidak ada paket Ubuntu untuk mod_clamav, jadi kita harus membangun kembali ProFTPd dengan mod_clamav. Saya akan menggunakan paket sumber Ubuntu ProFTPd dan membangun paket .deb ProFTPd baru dengan dukungan mod_clamav.
Pertama kita instal semua paket yang diperlukan untuk membangun kembali ProFTPd:
aptitude build-dep proftpd-dfsg
Kami juga membutuhkan paket-paket berikut:
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 Sekarang kita mengunduh paket sumber ProFTPd ke /usr/src:
cd /usr/src
apt-get source proftpd-dfsg
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.2c/contrib...
cp mod_clamav-0.11rc/mod_clamav.* proftpd-dfsg-1.3.2c/contrib
... dan menambal sumber ProFTPd:
cd proftpd-dfsg-1.3.2c
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:
[email protected]:/usr/src# ls -l
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
[dilindungi email]:/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
ClamAV di
ClamServer 127.0.0.1
ClamPort 3310
di suatu tempat, misalnya di bawah
AdminControlsEngine mati
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:
[dilindungi email]:~# proftpd -vv
Versi ProFTPD: 1.3.2c (maint)
Versi Papan Skor: 01040002
Dibuat: Senin 4 Okt 17:34:10 CEST 2010
Modul yang dimuat:
mod_ifsession/1.0
mod_dynmasq/0.2.1
mod_wrap2_file/1.2
mod_wrap2/2.0.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
[dilindungi email ]:~#
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/
- Ubuntu:http://www.ubuntu.com/