Ana Sayfa » *nix » Pure-FTPd Server ClamAV Entegrasyonu- FreeBSD

Pure-FTPd Server ClamAV Entegrasyonu- FreeBSD


BerbatKötüİdare EderGüzelHarika (Toplam 3 oy. 5 puan üzerinden ortalama 5.00 || Oy vererek siz de katkıda bulunabilirsiniz.)
Loading ... Loading ...
FTP server olarak ’yi tercih ediyorsanız, sununucuyu Clamav ile birlikte çalışacak şekilde set edebilir ve upload edilen dosyaların taranmasını ve virüs içerenlerin otomatik olarak silinmesini sağlayabilirsiniz.

Özellikle bir çok kişinin bağlanıp dosya uploadı yaptığı ftp sunucuları için gönderilen dosyaların bilinen virüslere karşı taranıp temizlenmesi mantıklı bir yaklaşımdır. Bu nedenle, yazının devamında, bir sunucusuna clamav entegrasyonunun nasıl yapılabileceğinden bahsedeceğim.

Başlarken


Yazıda ayrıca kurulumu anlatmayacağım. Dolayısı ile devam edebilmek için sisteminizde ’nin halihazırda kurulu ve düzgün olarak çalışıyor olması gerekmektedir. sistemler için http://www.syslogs.org/mysql-destekli-pure-ftpd-kurulumu/ adresinde bir kurulum dökümanı bulabilirsiniz.

İşlemler sisteme clamav kurup, pure-ftpd’ye dosya upload’larında clamdscan’i çalıştırarak dosyayı tarayacak bir scripti çağırmasını söylemekten ibaret. Sisteminiz olmasa da yapılandırma işlemleri hemen hemen aynıdır, dolayısı herhangi bir linux dağıtımı kullanıyor olsanız bile en azından ile fikir vermesi açısından yazıdan yararlı olabilir.

Clamav Kurulumu


Öncelikli olarak sisteme clamav kurmak gerekiyor. sistemlerde bu işlemi klasik olarak port ağacından yapıyoruz. (Kurulumu yapmadan önce port ağacınızın güncel olduğundan emin olun. Güncellemek isterseniz portsnap kullanarak bu işlemi kolayca yapabilirsiniz.)

Komut
# cd /usr/ports/security/clamav
# make install clean

Kurulumun ardından, clamd servisini startup’a ekliyoruz ve başlatıyoruz.

Komut
# echo 'clamav_clamd_enable="YES"' >> /etc/rc.conf
# /usr/local/etc/rc.d/clamav-clamd start

Şimdi de, clamav db’sini güncelliyoruz.

Komut
# freshclam

Clamav’ın güncellenmesinden sonra, pure-ftpd yapılandırmasına geçebiliriz.

Pure-FTPd Yapılandırması


Bu aşamada öncelikle, sunucuya dosya upload’ı yapıldığı zaman, pure-ftpd’nin clamdscan’i çağırması ve tarama işlemini yapmasını sağlamak için bir script oluşturmak gerekiyor. Ben, pure-ftpd dosyaları /usr/local/etc dizini altında durduğu için bu script dosyasını aynı dizinde clamd-scan.sh ismi ile oluşturuyorum:

Önce dosyayı açalım:

Komut
# vi /usr/local/etc/clamd-scan.sh

Sonra da aşağıdaki ibareleri dosya içerisine yapıştırıp kaydedelim:

Çıktı
#!/bin/sh
/usr/local/bin/clamdscan --remove --quiet --no-summary "$1"

Gördüğünüz gibi script dosyamız clamdscan’i çağırıp dosyanın taranmasını ve virüs içeren dosyaların sessizce silinmesini sağlıyor. Şimdi bu dosyanın çalıştırılabilmesi için gerekli izinleri veriyoruz.

Komut
# chmod 755 /usr/local/etc/clamd-scan.sh

Script dosyası hazırlandıktan sonra pure-ftpd’nin her dosya uploadında bu betiği çağırmasını sağlamak için gerekli tanımlamaları yapalım. Bu işlem için /usr/local/etc/pure-ftpd.conf dosyasını editliyoruz.

Komut
# vi /usr/local/etc/pure-ftpd.conf

İlk olarak aşağıda görülen Umask satırını bulun. Buradaki umask değeri upload edilen dosya ve dizinler için uygulanacak izin değerlerini atamaktadır ve default değer gördüğünüz gibi 133:022 yani dosyalar için 644 dizinler için 755′dir. Eğer yeni upload edilen dosyalar clamdscan tarafından okunamazsa tarama işlemi gerçekşeltirilemez bu nedenle  dosyaların clamdscan tarafından okunabilmesi için aşağıdaki şekilde 644′e tekabül edecek şekilde herkes tarafından okunabilir olduğundan emin olun.

Çıktı
Umask                       133:022

Not: Pure-ftpd sunucusunu kullanici dizinlerini chroot ortamına aldığı için dosyaların herkes tarafından okunabilmesi, ftp kullanıcılarının birbirlerinin dosyalarını görebilecekleri anlamına gelmemektedir.

Dosya izinleri konusunu düzenledikten sonra aynı dosya için aşağıda görülen #CallUploadScript yes satırının başındaki # işaretini kaldırarak upload scriptinin çağırılacağını söylüyoruz.

Çıktı
CallUploadScript yes

Şimdi dosyayı kaydedip çıkabiliriz. Son olarak rc.conf dosyasında upload scriptimizin yerini belirtip startup’a ekleyeceğiz. Böylece pure-ftpd başladığı zaman upload scripti de başlatılacak ve virüs tarama işlemleri için hazır olacak:

rc.conf dosyasını editleyelim:

Komut
# vi /etc/rc.conf

Dosya içerisinde pureftpd_enable=”YES” satırının en altına aşağıdaki satırları ekleyelim.

Çıktı
pureftpd_upload_enable="YES"
pureftpd_uploadscript="/usr/local/etc/clamav_check.sh"

Son olarak pure-ftpd’yi yeniden başlatıyoruz.

Komut
# /usr/local/etc/rc.d/pure-ftpd restart

Böylece upload scripti de devreye girecektir:

Çıktı
Stopping pureftpd.
Stopping /usr/local/sbin/pure-uploadscript.
Starting pureftpd.
Running: /usr/local/sbin/pure-ftpd -g/var/run/pure-ftpd.pid -A -c50 -B -C8 -D -E -fftp -H -I15 -lmysql:/usr/local/etc/pureftpd-mysql.conf -L2000:8 -m4 -s -U033:033 -u100 -i -R -j -k99 -Z -o
Starting /usr/local/sbin/pure-uploadscript.

Herşey yolunda gittiyse bir test yaparak durumu kontrol edebilirsiniz.

Misal olarak http://www.eicar.org/anti_virus_test_file.htm adresinden edindiğimiz bir test virus dosyasını sunucuya upload edelim:

Çıktı
ftp> mput eicar.com.txt
mput eicar.com.txt? y
200 PORT command successful
150 Connecting to port 43015
226-File successfully transferred
226 0.003 seconds (measured here), 21.31 Kbytes per second
68 bytes sent in 0.00 secs (142.2 kB/s)

Dosya upload edilmiş görünüyor ancak, clamd loglarına bakarsanız; tespit edildiğini (ve silindiğini) göreceksiniz.

Çıktı
# tail -n 10 /var/log/clamav/clamd.log
/usr/home/ftperisimi/eicar.com.txt: Eicar-Test-Signature FOUND

Hepsi bu kadar.

Etiketler: ,

Kategoriler: *nix |

BU YAZILAR DA İLGİNİZİ ÇEKEBİLİR


- Mysql Destekli Pure-FTPD Kurulumu
- ClamAV – Security Warning: No Support For Digital Signatures
- FreeBSD üzerine Rsyslog Kurulumu ve Yapılandırması
- Portsnap ile Süratli Ports Collection Güncellemesi.
- Php4′ten Php5′e Upgrade

YORUMLAR


Trackbacks

Yorumda bulunun.