Clamav Antivirus
Önceki Posta Sunucuları için Spam Önleme Araçları Sonraki
Clamav Antivirus
Clamav unix dünyası için tasarlanmış bir antivirüs yazılımıdır. Kolay kullanımı ve esnek yapısı sebebiyle çok tercih edilmektedir. Özdevimli virus veritabanı güncelleme özelliğine sahiptir. Otuzbinden fazla virus tanıyabilir. Birçok posta sunucusu ile bütünleşik çalışabilir. Özelliklerine kısaca bir göz atalım:
  • GNU GPL lisansına sahiptir.
  • POSIX Uyumludur.
  • Erişim Tarama (Access Scaning) özelliğine sahiptir. (Yanlızca Linux ve Free BSD)
  • Arşiv dosyalarını ve sıkışmış dosyaları tarayabilir.(Zip, rar, tar, gzip, bzip2, Ms OLE2, MS Cabinet Files, MS CHM, MS SZDD)
  • Güçlü bir ileti tarayıcıya sahiptir.
  • Güncellemesi kolaydır.
Kuruluma gelince her zamanki gibi apt-get yöntemi ile kurmayı deneyebiliriz.
apt-get install clamav
ya da rpm paketlerini temin edebiliriz. Bunun için http://www.clamav.net/binary.html adresinden linux sürümümüz için uygun olan paketleri indirip kurulum yapabiliriz. Benim sistemim Fedora Core 2 olduğu için ben fc2 paketlerini http://atrpms.net/dist/fc2/clamav/ adresinden indirip kurdum.
rpm -ivh clamav-devel-0.83-5.rhfc2.at.i386.rpm
rpm -ivh clamav-0.83-5.rhfc2.at.i386.rpm
ya da herzamanki gibi tar.gz dosyasını indirip kaynak koddan derleyebiliriz. Derlemeden önce eğer Clamav'ı sisteme ilk kez kuruyorsak, sistemde clamav kullanıcısı ve grubunu oluşturmamız gerekir.
groupadd clamav
useradd -g clamav -s /bin/false -c “Clamav Antivirus” clamav
ve de tar dosyasını açarak kuruluma devam edelim.
tar -zxvf clamav-0.83.tar.gz
cd clamav-0.83
./configure --prefix=/usr --sysconfdir=/etc --enable-milter
--sysconfdir=/etc seçeneği yapılandırma dosyasının /etc altında oluşmasını sağlarken, --enable-milter seçeneği iletileri virus taramasından geçirmek için gerekli süzücünün derlenmesini sağlar. Artık derlemeye geçebiliriz.
make
su -c "make install"
Buraya kadar geldiysek paket sorunsuz kurulmuş demektir. Şimdi clamav'ı kullanmaya başlayabiliriz. clamav iki farklı kipte çalışabilir. Birincisi hizmet kipidir. Diğer hizmetleri çalıştırdığımız gibi clamav'ı da çalıştırabiliriz.
# /etc/init.d/clamav start
Starting clamd: [ OK ]
Starting freshclam: [ OK ]
clamav hizmetinin çalışabilir dosyası /usr/sbin/clamd'dir. Hizmeti başlattığınızda antivirus veritabanını güncel tutmak için görevli olan freshclam hizmeti de başlatılır. Hizmetle ilgili tüm ayarlar /etc/clamd.conf dosyasında tutulur. freshclam hizmetinin ayarları bu dosyaya dahil değildir. freshclam ayarları /etc/freshclam.conf dosyasında tutulur. Peki dosyalarımızı virus taramasından geçirmek için ne yapmalıyız? Bunun içinde iki seçeneğe sahibiz. Birincisi clamd hizmetine bağlı olarak çalışan clamdscan bir diğeri ise hizmetten bağımsız olarak çalışabilen clamscan'dir. clamdscan ile tarama yapmak için
# clamdscan /home --remove -v --stdout
Yukarıdaki örnekte clamdscan komutu ile /home dizinini virus taramasından geçiriyoruz. Unutmamalıyız ki, clamd hizmeti çalışmıyorsa bu komutu kullanamayız.
Kullanılan seçeneklere gelince,
-–remove seçeneği bir dosyada virus bulunursa o dosyayının silinmesini sağlar. Bu seçenek tehlikelidir, kullanırken çok dikkat edilmelidir. Bu seçeneğe benzer olarak
--move=/dizin seçeneği de kullanılabilir. Virüslü dosyaları /dizin ile belirtilen dizine kopyalar. Bir anlamda ticari antiviruslerdeki karantina seçeneği gibidir. Dikkat edilirse Clean (Temizleme) gibi bir seçenek bulunmamaktadır. Clamav antivirus taradığı dosyaların ve iletilerin virüslerini temizleyemez. Sadece viruslü dosyaları silebilir ve taşıyabilir. Viruslü iletilerin ise teslim edilmesini ve gönderilmesini engeller.
Diğer seçeneklerden,
--stdout işlem sonucunun standart çıktının görüntülenmesini sağlarken -v çıktının daha ayrıntılı olmasını sağlar.
Diğer komutumuz olan clamscan ise clamd hizmetine gerek duymaz. Hatta bu hizmet çalışırken bu komutu kullanmaya kalkarsanız muhtemelen virus veritabanı açılamadı gibi bir hata iletisi ile karşılaşabilirsiniz. Bu yüzden bu komutu kullanmadan önce clamd hizmetini durdurun. clamscan komutunun sçenekleri clamdscan komutununkileden daha fazladır. Şimdi bunlara kısaca bir göz atalım.
# clamscan /home -r --bell -i
/home/ayhan/eicar: Eicar-Test-Signature FOUND
/home/eicar: Eicar-Test-Signature FOUND
/home/hakan/eicar: Eicar-Test-Signature FOUND
Bir önceki örnekte olduğu gibi yine /home dizinini antivirus taramasından geçiriyoruz. Burada kullandığımız -r (recursive) seçeneği /home dizini altındaki tüm altdizinler ve dosyaların taranmasını sağlar. --bell seçeneği virus bulunduğunda ses çıkarılmasını sağlar. -i seçeneği ise sadece virus bulunan dosyaların yolunu belirtir. remove ve move seçenekleri clamdscan komutundaki gibidir. clamscan daha bir çok seçeneğe sahiptir. Bu seçenekler yardımıyla virus taramalarınızı sınırlayabirsiniz. Örneğin dosya türlerine ya da büyüklüklerine göre tarama yapabilir belli dosyaları bu taramalardan çıkarabilirsiniz. Daha fazla bilgi için clamscan kılavuz sayfasına bakın.
Clamav Veritabanının Güncellenmesi
Her antivirus yazılımı gibi clamav'ın veritabanının da güncellenmesi gerekir. Güncelleme gerçekten çok kolaydır. Yukarıda bahsettiğimiz gibi güncellemeden sorumlu olan freshclam hizmeti clamd'ye bağlı olarak başlatılır. freshclam hizmeti her saat başı internetten güncelleme yapılıp yapılmadığına bakar. Eğer güncellemeyi komut satırından kendiniz yapmak istiyorsanız,
freshclam -v
komutunu kullanmanız gerekir. Güncelleme ile ilgili tüm ayarlar /etc/freshcam.conf dosyasında tutulur.
DatabaseDirectory /var/lib/clamav
Bu satır veritabanı dosyasını yolunu belirtir. Veritabanı yolunu değiitirmek için bu satırı kullanmalıyız.
# Number of database checks per day.
# Default: 12 (every two hours)
Checks 24
Veritabanını güncellemesinin bir günde kaç defa deneneceğini bu satırlardan değiştirebiliriz. Öntanımlı olarak günde 24 kez deneme yapılır.
# Proxy settings
# Default: disabled
#HTTPProxyServer myproxy.com
#HTTPProxyPort 1234
#HTTPProxyUsername myusername
#HTTPProxyPassword mypass
Eğer bir vekil sunucu arkasından internete çıkıyorsak, vekil ayarlarını bu satırları kullanarak etkin duruma getirebiliriz. Öntanımlı olarak vekil sunucu ayarları etkin değildir.
On-Access Scan Özelliği
Clamav’a Erişim Tarama (Access Scan) özelliği kazandırabilmek için daha önce adı Clamuko olan şimdi ise Dazuko olan çekirdek modülünü kullanmamız gerekir. Bu çekirdek modülünü kurduktan sonra dosyalarımız virüslere karşı zdevimli olarak korunmaya başlar. Dazuko bir anlamda ticari antiviruslerdeki özdevimli koruma işlevininin Clamav'la birlikte yerine getirilmesini sağlar. Modülün kurulumu ve çekirdeğe dahil edilmesi ile ilgili bilgiyi http://www.dazuko.org/ adresinden temin edebilirsiniz.
Modül kurulduktan sonra /etc/clamd.conf dosyasına aşağıdaki satırları eklemelisiniz. Daha sonra clamd hizmetini yeniden başlatabilirsiniz. Aşağıda ClamukoIncludePath / değeri erişimin bu dizin için geçerli olduğunu belirtir. ClamukoExcludePath ile de bu özelliğin etkin olmadığı dizinleri belirtebiliriz. Örnek vermek gerekirse ekinde virüs taşıyan bir ileti aldınız bir iletiyi / dizini altında herhangi bir yere kaydetmeye kalkarsanız, clamav bu eki hemen siler. Fakat viruslü eki /temp dizini altına kaydetmeniz mümkün olabilir. Çünkü bu dizin için bu özellik devre dışı olduğu için clamav kopyalama işini dikkate almaz, böylece eki kaydedebilirsiniz.
ClamukoScanOnAccess
ClamukoIncludePath /
ClamukoExcludePath /proc
ClamukoExcludePath /temp
Daha ayrıntılı bilgileri http://www.clamav.net/ adresinden temin edebilirsiniz.
Clamav-Milter(Clamav-Mail-Filter)
Clamav ativirus yazılımının belki de en çok kullanılan özelliklerinden birisidir. Clamav bir çok posta sunucusu ile bütünleşik olarak çalışabilir. Biz Clamav'ı Sendmail'le birlikte çalışmaya ayarlayacağız. İnternette Clamav'ın Qmail ve Postfix ile nasıl bütünleştirileceğini anlatan birçok kaynak mevcuttur. Eğer girişte anlattığımız kurulum yöntemlerinden birini takip etmişseniz Clamav'la birlikte clamav-milter'da sisteminizde kurulu demektir. İlk olarak /etc/mail/sendmail.mc dosyasına aşağıdaki satırları ekleyelim.
INPUT_MAIL_FILTER(clamav-milter,S=local:/var/run/clamav/clamav.sock, F=, T=S:4m;R:4m)dnl
define(confINPUT_MAIL_FILTERS, clamav-milter)
Daha sonra sendmail.mc dosyasını rebuild yapalım ve uçbirimden
clamav-milter -lo /var/run/clamav/clamav.sock
komutuyla clamav-milter'i çalıştıralım. Şimdi sendmail'i yeniden başlatalım.
# /etc/init.d/sendmail restart
Shutting down sendmail: [ OK ]
Shutting down sm-client: [ OK ]
Starting sendmail: [ OK ]
Starting sm-client: [ OK ]
evet artık clamav, sendmail ile birlikte çalışıyor.
Clamav’ın Sınanması
Bir antivirus yazılımını sınamak için en iyi yöntem elimizde bir virüs olmasıdır. http://www.eicar.org/anti_virus_test_file.htm adresinden virus olmasa da bizim işimizi görecek olan, tüm antivirüs yazılımlarının tanıdığı küçük dizgeyi temin edebilirsiniz. Sayfanın ortalarına doğru aşağıdaki garip dizgeyi göreceksiniz.
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
Bu dizgeyi eicar.txt adı ile bir metin dosyasına kaydedin. Artık viruslü dosyamız hazır. İlk olarak sınamayı komut satırından yapabiliriz. Bunun için eicar.txt dosyasını /home dizini altına kaydedin ve aşağıdaki komutu kullanın:
clamscan /home -r --bell -i
/home/eicar: Eicar-Test-Signature FOUND
Çıktı yukarıdaki gibi ise sorun yok demektir. Clamav-milter'i denemek için de kurulu olduğu sunucudan bir ileti göndermeye çalışın. Bu iletinin ekine de eicar.txt dosyasını ekleyin. Eğer doğru olarak çalışıyorsa iletinin virus taşıdığını ve iletinin gönderilemeyeceğini belirten bir ileti almanız gerekir. Clamav iletiyi gönderdiğiniz kişiye de bir uyarı iletisini özdevimli olarak yollar. Clamav iletilerin başlık bilgisini de değiştirir.
Önceki Üst Ana Başlık Sonraki
DCC (Distributed Checksum Clearinghouse) Başlangıç A. Kaynakça
Bir Linux Kitaplığı Sayfası