Tutorial ini menjelaskan bagaimana Anda dapat mengintegrasikan ClamAV ke PureFTPd untuk pemindaian virus pada sistem CentOS 7. Pada akhirnya, setiap kali file diunggah melalui PureFTPd, ClamAV akan memeriksa file dan menghapusnya jika mengandung virus atau malware.
1 Catatan Awal
Anda harus memiliki pengaturan PureFTPd yang berfungsi di server CentOS 7 Anda, mis. seperti yang ditunjukkan dalam tutorial ini:Hosting Virtual dengan PureFTPd dan MySQL (Termasuk Kuota dan Manajemen Bandwidth) di CentOS 7.
2 Menginstal ClamAV
ClamAV tidak tersedia di repositori CentOS resmi, oleh karena itu, kami mengaktifkan repositori EPEL (jika Anda belum melakukannya. Mulailah dengan mengimpor kunci RPM GPK.
rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
Kemudian kami mengaktifkan repositori EPEL pada sistem CentOS kami karena banyak paket yang akan kami instal selama tutorial ini tidak tersedia di repositori resmi CentOS 7:
yum -y install epel-release
yum -y install yum-priorities
Edit /etc/yum.repos.d/epel.repo...
nano /etc/yum.repos.d/epel.repo
... dan tambahkan baris priority=10 ke bagian [epel]:
[epel] name=Extra Packages for Enterprise Linux 7 - $basearch #baseurl=http://download.fedoraproject.org/pub/epel/7/$basearch mirrorlist=https://mirrors.fedoraproject.org/metalink?repo=epel-7&arch=$basearch failovermethod=priority enabled=1 priority=10 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7 [...]
Kemudian kami memperbarui paket kami yang ada di sistem:
yum update
Setelah itu, kita dapat menginstal ClamAV sebagai berikut:
yum -y clamav clamav-server clamav-data clamav-update clamav-filesystem clamav-scanner-systemd clamav-devel clamav-lib clamav-server-systemd
Edit file /etc/freshclam.conf dan beri komentar pada baris Contoh:
nano /etc/freshclam.conf
dengan menambahkan # di depan baris Contoh:
.....
# Comment or remove the line below.
# Example
....
Kemudian edit file tersebut /etc/clamd.d/scan.conf:
nano /etc/clamd.d/scan.conf
dan beri komentar pada baris Contoh seperti yang kita lakukan pada file di atas dan hapus # di depan baris LocalSocket.
.....
# Comment or remove the line below.
# Example
....
LocalSocket /var/run/clamd.scan/clamd.sock
....
Selanjutnya kita membuat link startup sistem untuk clamd dan memulainya:
systemctl enable [email protected]
freshclam
Kemudian mulai layanan clamav:
systemctl start [email protected]
Anda dapat memeriksa status daemon ClamAV dengan perintah ini:
systemctl status [email protected]
Hasilnya harus seperti ini:
[[email protected] system]# systemctl status [email protected]
? [email protected] - Generic clamav scanner daemon
Loaded: loaded (/usr/lib/systemd/system/[email protected]; disabled; vendor preset: disabled)
Active: active (running) since Thu 2016-04-07 15:44:28 CEST; 1min 48s ago
Main PID: 10945 (clamd)
CGroup: /system.slice/system-clamd.slice/[email protected]
??10945 /usr/sbin/clamd -c /etc/clamd.d/scan.conf --nofork=yes
Apr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.
Apr 07 15:44:36 server1.example.com clamd[10945]: PDF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: SWF support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HTML support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: XMLDOCS support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: HWP3 support enabled.
Apr 07 15:44:36 server1.example.com clamd[10945]: Self checking every 600 seconds.
3 Mengonfigurasi PureFTPd
Pertama kita buka /etc/pure-ftpd/pure-ftpd.conf dan set CallUploadScript ke yes :
nano /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 [...]
Selanjutnya kita buat file /etc/pure-ftpd/clamav_check.sh (yang akan memanggil /usr/bin/clamdscan setiap kali file diupload melalui PureFTPd)...
nano /etc/pure-ftpd/clamav_check.sh
#!/bin/sh /usr/bin/clamdscan --fdpass --remove --quiet --no-summary -c /etc/clamd.d/scan.conf "$1"
... dan membuatnya dapat dieksekusi:
chmod 755 /etc/pure-ftpd/clamav_check.sh
Sekarang kita memulai program pure-uploadscript sebagai daemon - ia akan memanggil skrip /etc/pure-ftpd/clamav_check.sh setiap kali file diunggah melalui PureFTPd:
pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh
Tentu saja, Anda tidak ingin menjalankan daemon secara manual setiap kali Anda mem-boot sistem - oleh karena itu kami membuka /etc/rc.local...
nano /etc/rc.local
... dan tambahkan baris /usr/sbin/pure-uploadscript -B -r /etc/pure-ftpd/clamav_check.sh ke dalamnya - mis. sebagai berikut:
#!/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
Akhirnya kita restart PureFTPd:
systemctl restart [email protected]
Itu dia! Sekarang setiap kali seseorang mencoba mengunggah malware ke server Anda melalui PureFTPd, file "buruk" akan dihapus secara diam-diam.
4 gambar Mesin Virtual
Tutorial ini tersedia sebagai mesin virtual siap pakai dalam format OVA / OVF untuk pelanggan Howtoforge. Format VM kompatibel dengan VMWare dan Virtualbox dan alat lain yang dapat mengimpor format ini. Anda dapat menemukan tautan unduhan di menu kanan di atas. Klik pada nama file untuk memulai pengunduhan.
Detail login VM adalah:
Masuk SSH
Nama pengguna:root
Kata sandi:howtoforge
Masuk MariaDB
Nama pengguna:root
Kata sandi:howtoforge
Harap ubah kata sandi setelah boot pertama.
5 Tautan
- PureFTPD:http://www.pureftpd.org/
- ClamAV:http://www.clamav.net/
- CentOS:http://www.centos.org/