Malware ve Rootkitler için Linux Sunucuları Nasıl Taranır?
Bazı Tanımlamalar
malware: Kötü amaçlı yazılım
rootkit: İşletim sisteminde arka planda çalışan gizli program veya programlar grubu
Lynis – Güvenlik Denetlemeleri ve Rootkit Tarayıcısı
Lynis Unix/Linux gibi işletim sistemleri için tasarlanmış ücretsiz, açık kaynak, güçlü ve popüler bir güvenlik denetleyici ve tarama aracıdır.
Güvenlik bilgi ve problemleri (dosya bütünlüğü, yapılandırma hataları, güvenlik denetimlerini gerçekleştirme, yüklenen yazılımların kontrolü, dosya ve dizin izinlerinin kontrolü ve daha fazlası) için Malware taraması ve saldırıya açıklık durumlarını tespit eden bir araçtır.
Herhangi bir sistemi daha iyi hale getirmeyi otomatik olarak yapmaz ! Bununla birlikte sunucunuzu daha iyi hale getirmeniz için farklı önerilerde bulunur.
Öncelikle /opt/ dizinine gidelim.
`Lynis`in son sürümünü indirelim. (2.7.5)
# wget https://downloads.cisofy.com/lynis/lynis-2.7.5.tar.gz
Çıkartalım.
# tar xvzf lynis-2.7.5.tar.gz
Dizinimizi /usr/local dizinine taşıyalım.
# mv lynis/ /usr/local/
Uçbirim üzerinden çalıştırabilmemiz için sembolik bağ oluşturalım.
# ln -s /usr/local/lynis/lynis /usr/local/bin/lynis
Aşağıdaki komut ile sistem taraması yapabiliriz.
# lynis audit system
Eğer yetkisiz bir şekilde tarama yaparsanız bazı testleri atlayacaktır.
Tarama yaptıktan sonra log dosyamızı kontrol edebiliriz.
/var/log/lynis.log
Chkrootkit – Linux Rootkit Tarayıcısı
Chkrootkit UNIX ve türevi sistemlerde yerel olarak rootkit belirtilerini kontrol eden ücretsiz, açık kaynak bir rootkit detektörüdür. Gizli güvenlik açıklarının tespitinde sistem yöneticisine yardımcı olur. Chkrootkit paketi rootkit değişiklikleri için sistem ikili değerlerini ve çeşitli güvenlik problemlerini kontrol eden bir kabuk programdır.
Debian tabanlı sistemlerde aşağıdaki komutları kullanarak kaynaktan yükleme işlemini yapabiliriz.
Chkrootkit ile sunucunuzu kontrol etmek için aşağıdaki komutu çalıştırabilirsiniz.
$ sudo chkrootkit
Yada
# /usr/sbin/chkrootkit
Çalıştırdığınızda bilinen Malware ve Rootkitler için sisteminizi kontrol edecektir.
Süreç sonlandığında raporun özetini görebilirsiniz.
Rkhunter – Linux Rootkit Tarayıcısı
RKH(RootKit Hunter) Linux gibi POSIX uyumlu sistemlerde arka kapılar, rootkitler ve yerel exploitlerin taranması için ücretsiz, açık kaynak, güçlü ve kullanımı basit olan; iyi bilinen bir araçtır. Adından da anlaşılacağı üzere rootkit avcısı sistem üzerinde gizlenmiş güvenlik açıklarını tespit ederek doğrudan güvenlik izleme ve analiz etme aracıdır.
Öncelik /tmp dizinimize gidelim ve wget aracını kullanarak sistemimize indirelim.
# wget http://downloads.sourceforge.net/project/rkhunter/rkhunter/1.4.6/rkhunter-1.4.6.tar.gz
Çıkartalım.
# tar -xvf rkhunter-1.4.6.tar.gz
# cd rkhunter-1.4.6
# ./installer.sh –layout default –install
RKH güncelleyiciyi çalıştırdığımızda aşağıdaki komutu çalıştırılmasıyla RKH güncelleyici veritabanı özelliklerini güncelleyecektir.
# /usr/local/bin/rkhunter –update
# /usr/local/bin/rkhunter –propupd
Sunucumuzu rkhunter kullanarak kontrol etmek için aşağıdaki komutu çalıştırabiliriz.
# rkhunter -c
Tarama sonucunda Genel bir rapor sunumu yaparak bir log dosyası oluşturur.
ClamAV – Antivirus Software ToolKit
ClamAV bir bilgisayarda virüs, malware, trojan ve diğer kötü amaçlı programları tespit eden açık kaynak, çok yönlü, popüler ve çapraz-platform antivirüs motorudur.
Tüm sistemlerde virüs veritabanını güncellemeyi ve yalnızca Linux’a erişime karşı taramayı destekler. Ek olarak arşiv, sıkıştırılmış dosyalar Zip,Tar,7Zip, Rar gibi formatları destekler.
ClamAV aşağıdaki komut ile Debian tabanlı sistemlerde kurulabilir.
$ sudo apt-get install clamav
# freshclam
İlgili servisi kapatalım.
# systemctl stop clamav-freshclam.service
Ardından sorunsuz bir şekilde çalışacaktır.
ClamAV ile tarama yapmak için;
# clamscan -r -i DIRECTORY
yada
$ sudo clamscan -rv / > clamscan.report 2>&1
Yukarıdaki komut ile clamscan.report adında bir dosyaya tarama sonuçlarını aktarır.
Örnek;
Taramanın bitmesi ve çıktıyı elde etmek yaklaşık 45 dakika sürebilmektedir.
23088 hatanın çıkmasının sebebi tamamen dosya izinleriyle alakalıdır.
LMD – Linux Malware Detect
LMD(Linux Kötü Amaçlı Yazılım Algılama) açık kaynak, güçlü ve çok özellikli bir kötü amaçlı yazılım algılayıcısıdır. Daha iyi bir performans için ClamAV ile entegre olabilir. Her tarama çalıştırmasından sonra e-posta ile raporlama desteği bir önceki ve şu anki arama sonuçlarının tamamını sisteme raporlama ve başka birçok kullanışlı özellik sağlar.
Debian tabanlı sistemlerde kurmak için aşağıdaki komutu kullanarak indirme işlemimizi gerçekleştirelim.
# wget http://www.rfxn.com/downloads/maldetect-current.tar.gz
# tar -xvf maldetect-current.tar.gz
# cd maldetect-1.6.4/
Çıkartılmış dizinin içerisindeyken install.sh scriptini çalıştıralım.
# bash script.sh
Şimdi yapılandıralım.
# nano /usr/local/maldetect/conf.maldet
# Enable or disable e-mail alerts, this includes application version
# alerts as well as automated/manual scan reports. On-demand reports
# can still be sent using ‘–report SCANID user@domain.com’.
# [0 = disabled, 1 = enabled]
email_alert=”1″
# The destination e-mail addresses for automated/manual scan reports
# and application version alerts.
# [ multiple addresses comma (,) spaced ]
email_addr=”ozgurlukicin@anadolupanteri.net”
##
# [ QUARANTINE OPTIONS ]
##
# The default quarantine action for malware hits
# [0 = alert only, 1 = move to quarantine & alert]
quarantine_hits=”1″
# Try to clean string based malware injections
# [NOTE: quarantine_hits=1 required]
# [0 = disabled, 1 = clean]
quarantine_clean=”1″
# The default suspend action for users wih hits
# Cpanel suspend or set shell /bin/false on non-Cpanel
# [NOTE: quarantine_hits=1 required]
# [0 = disabled, 1 = suspend account]
quarantine_suspend_user=”1″
# If installed, use ClamAV clamscan binary as default scan engine which
# provides improved scan performance on large file sets. The clamscan
# engine is used in conjunction with native ClamAV signatures updated
# through freshclam along with LMD signatures providing additional
# detection capabilities.
# [ 0 = disabled, 1 = enabled ]
scan_clamscan=”1″
# As a design and common use case, LMD typically only scans user space paths
# and as such it makes sense to ignore files that are root owned. It is
# recommended to leave this enabled for best performance.
# [ 0 = disabled, 1 = enabled ]
scan_ignore_root=”0″
Bu şekilde ayarlamalarımı yapıyorum ve kaydediyorum.
Şimdi /tmp dizininde malware için tarama yapalım.
# maldet -a /tmp
Linux Malware Detect v1.6.4
(C) 2002-2019, R-fx Networks <proj@rfxn.com>
(C) 2019, Ryan MacDonald <ryan@rfxn.com>
This program may be freely redistributed under the terms of the GNU GPL v2
maldet(1235): {scan} signatures loaded: 15554 (12742 MD5 | 2035 HEX | 777 YARA | 0 USER)
maldet(1235): {scan} building file list for /tmp, this might take awhile…
maldet(1235): {scan} setting nice scheduler priorities for all operations: cpunice 19 , ionice 6
maldet(1235): {scan} file list completed in 0s, found 230 files…
maldet(1235): {scan} found clamav binary at /usr/bin/clamscan, using clamav scanner engine…
maldet(1235): {scan} scan of /tmp (230 files) in progress…
maldet(1235): {scan} scan completed on /tmp: files 230, malware hits 8, cleaned hits 0, time 109s
maldet(1235): {scan} scan report saved, to view run: maldet –report 190831-1400.1235
Yararlandığım kaynak; https://www.tecmint.com/scan-linux-for-malware-and-rootkits/amp/