Sunucu güvenliği dendiğinde akla ilk gelen şeylerden biri kötü amaçlı yazılımlardır. İster bir web sunucusu işletiyor olun, ister bir veritabanı sunucusu, sisteminize sızan bir malware ciddi hasarlara yol açabilir. Neyse ki, açık kaynak dünyasında bu tehditlere karşı güçlü araçlar mevcut. Bugün, Linux sunucularda en yaygın kullanılan iki kötü amaçlı yazılım tarama aracını ele alacağız: Maldet (Linux Malware Detect) ve ClamAV. Bu iki aracı birlikte kullanarak sunucunuzu nasıl daha güvenli hale getirebileceğinizi adım adım anlatacağız.
Sunucu Güvenliğinde Kötü Amaçlı Yazılım Taramasının Önemi
Kötü amaçlı yazılımlar, sunucunuzu ele geçirmek, veri çalmak veya sizi rehin almak için sürekli yeni yöntemler geliştiriyor. Bir güvenlik açığı bulup sisteme sızdıklarında, fark edilmeden aylarca kalabilirler. Düzenli tarama yapmak, bu tür tehditleri erken aşamada yakalamanın en etkili yoludur. Maldet ve ClamAV, birbirini tamamlayan iki araçtır: Maldet özellikle web ortamındaki kötü amaçlı yazılımlara odaklanırken, ClamAV geniş bir imza veritabanıyla genel malware, virüs ve trojanları tarar. Bu ikiliyi birlikte kullanmak, güvenlik katmanlarınızı güçlendirir.
Maldet (Linux Malware Detect) Nedir ve Nasıl Çalışır?
Maldet, özellikle web sunucuları için tasarlanmış bir kötü amaçlı yazılım tarayıcısıdır. Gelişmiş algılama algoritmaları sayesinde, genellikle PHP tabanlı webshell, backdoor ve diğer web tehditlerini tespit eder. Maldet, imza tabanlı taramanın yanı sıra, şüpheli dosyaları analiz etmek için MD5 ve hex karşılaştırmaları da yapar. Ayrıca, Quarantine (karantina) özelliği sayesinde tespit edilen dosyaları izole edebilirsiniz.
Maldet Kurulumu ve Yapılandırması
Maldet'i kurmak oldukça basittir. SSH üzerinden root yetkisiyle aşağıdaki adımları izleyebilirsiniz:
- Öncelikle resmi kaynaktan en son sürümü indirin: wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
- Arşivi açın: tar -xzf maldetect-current.tar.gz
- Klasöre girin: cd maldetect-*
- Kurulum betiğini çalıştırın: sudo ./install.sh
Kurulum tamamlandıktan sonra yapılandırma dosyası /usr/local/maldetect/conf.maldet altında bulunur. Bu dosyada tarama davranışını, e-posta bildirimlerini ve karantina ayarlarını değiştirebilirsiniz. Örneğin, scan_tmpdir_paths ile geçici dizinlerin de taranmasını sağlayabilirsiniz. Varsayılan ayarlar çoğu durum için yeterlidir ancak ihtiyacınıza göre ince ayar yapabilirsiniz.
Maldet ile Tarama Yapma
Maldet'i kullanmak için terminalden şu komutları girebilirsiniz:
- Belirli bir dizini taramak: sudo maldet --scan-all /home
- Hızlı tarama yapmak: sudo maldet --scan-all /var/www (web dosyalarınızın bulunduğu dizin)
- Güncellemeleri kontrol etmek: sudo maldet --update
Tarama sonuçları ekranda görüntülenecek ve şüpheli dosyalar karantinaya alınacaktır. Karantinadaki dosyaları listelemek için sudo maldet --report list komutunu kullanabilirsiniz.
ClamAV Nedir ve Nasıl Çalışır?
ClamAV, açık kaynaklı bir antivirüs motorudur ve birçok işletim sistemi için kullanılabilir. Linux sunucularda sıkça tercih edilir çünkü geniş bir imza veritabanına sahiptir ve e-posta ekleri, dosya paylaşımı ve web trafiği gibi çeşitli alanlarda kullanılabilir. ClamAV, komut satırından çalıştırılabildiği gibi, clamd arka plan hizmeti ile de sürekli izleme yapabilir.
ClamAV Kurulumu ve Kullanımı
ClamAV'yi kurmak için dağıtımınıza uygun paket yöneticisini kullanabilirsiniz. Debian/Ubuntu tabanlı sistemlerde:
- sudo apt-get update && sudo apt-get install clamav clamav-daemon -y
Kurulum sonrası imza veritabanını güncellemek için sudo freshclam komutunu çalıştırın. Ardından tarama yapabilirsiniz. Örneğin, tüm sistemi taramak için:
- sudo clamscan -r /
Bu işlem uzun sürebilir, bu yüzden belirli bir dizini taramak daha pratik olur: sudo clamscan -r /home veya sudo clamscan -r /var/www. ClamAV ayrıca --remove parametresi ile enfekte dosyaları otomatik silme, --move ile karantina gibi seçenekler sunar. Ancak otomatik silme riskli olabileceğinden dikkatli kullanılmalıdır.
Maldet ve ClamAV Birlikte Kullanımı
Tek bir tarama motoru %100 güvenlik sağlamaz. Maldet web odaklı tehditlerde daha başarılıyken, ClamAV genel virüs ve trojanlarda daha kapsamlıdır. Bu iki aracı birlikte kullanarak hem web kaynaklı hem de sistem genelindeki tehditleri kapsayabilirsiniz. Basit bir yöntem, her iki aracı da periyodik olarak çalıştırmak ve sonuçlarını karşılaştırmaktır. Daha otomatik bir çözüm isterseniz, bir kabuk betiği yazıp sırayla her iki taramayı da çalıştırabilir, çıktıları loglayabilirsiniz. Örneğin:
#!/bin/bashmaldet --scan-all /home
clamscan -r /home --log=/var/log/clamav_home.log
Bu betiği cron ile zamanlayarak düzenli hale getirebilirsiniz.
Düzenli Tarama ve İpuçları
Güvenlik tek seferlik bir işlem değildir. Aşağıdaki ipuçlarıyla taramalarınızı daha etkili hale getirebilirsiniz:
- Güncellemeleri Otomatikleştirin: Maldet ve ClamAV imzalarını düzenli aralıklarla güncelleyin. Her iki araç da kendi güncelleme mekanizmasına sahiptir. Cron ile günlük güncelleme yapabilirsiniz: 0 3 * * * /usr/local/maldetect/maldet --update && /usr/bin/freshclam
- Haftalık Tarama Planı: Yoğun bir sunucuda her gece tam tarama yapmak performansı etkileyebilir. Bunun yerine kritik dizinleri (web root, /tmp, /var/tmp) sık, tüm sistemi ise haftada bir tarayın.
- Karantina Politikası Belirleyin: Şüpheli dosyaları hemen silmek yerine karantinaya alın. Böylece yanlış pozitif durumlarında dosyayı kurtarabilirsiniz.
- Logları İnceleyin: Tarama raporlarını düzenli olarak kontrol edin. Bir desen fark ederseniz, güvenlik duvarı kurallarınızı veya dosya izinlerinizi gözden geçirin.
Unutmayın, Maldet ve ClamAV güçlü araçlar olsa da, güvenliğin temelini sağlam bir yapılandırma, güncel yazılımlar ve düzenli yedekleme oluşturur. Bu araçları birer yardımcı olarak görün ve sunucunuzu her zaman tetikte tutun.