, ,

(AIDE) İle Linux Güvenliğini Artırma


Linux güvenliğinde verilerin takibini yapmak çok önemlidir. Bir sistem yöneticisi olarak, dosya ve dizinlerin bütünlüğünü nasıl kontrol edeceğinizi bilmelisiniz. Bunu AIDE aracı ile yapabilirsiniz.

Peki AIDE nedir ?

Advanced Intrusion Detection Environment (AIDE)

AIDE aracı, dosya izleme konusunda izinler, sahiplikler ve Security-Enhanced Linux (SELinux) açısından da size yardımcı olur. Birisi belirli bir dosyayı değiştirmeye çalışırsa, o dosyayı AIDE kullanarak kontrol edebilirsiniz.
(AIDE), Linux işletim sisteminde dosya ve dizinlerin bütünlüğünü kontrol etmek için önceden tanımlanmış kuralları kullanan güçlü bir açık kaynaklı saldırı tespit aracıdır. AIDE, dosya ve dizinlerin bütünlüğünü kontrol etmek için kendi veritabanına sahiptir.

AIDE, son zamanlarda değiştirilen veya üzerinde oynama yapılan dosyaları izlemeye yardımcı olur. Birisi dosya veya dizinleri değiştirmeye çalıştığında bunları takip edebilirsiniz. Ancak şu soru akla gelir: AIDE güvenli midir?

AIDE, SELinux tarafından güvence altına alınmıştır. SELinux, AIDE sürecini zorunlu erişim kontrolü (Mandatory Access Control — MAC) ile korur. Sistem üzerinde çalışan her işlem için işlem türlerini (domain) tanımlar. SELinux AIDE politikası oldukça esnektir ve kullanıcıların AIDE süreçlerini mümkün olduğunca güvenli bir şekilde yapılandırmasına olanak tanır.

AIDE Kurulumu

RHEL/CentOS/AlmaLinux/Rocky Linux:

 sudo dnf install aide -y

Debian/Ubuntu:

sudo apt update
sudo apt install aide

AIDE Özellikliklerini Keşfedin

aide --help
Aide 0.16

Usage: aide [options] command

Commands:
-i, --init #Veritabanını başlat
-C, --check #Veritabanını kontrol et
-u, --update #Veritabanını etkileşimsiz bir şekilde kontrol et ve güncelle
-E, --compare #İki veritabanını karşılaştır

Miscellaneous:
-D, --config-check #Yapılandırma dosyasını test et
-v, --version #AIDE sürümünü ve derleme seçeneklerini göster
-h, --help #Bu yardım mesajını göster

Options:
-c [cfgfile] --config=[cfgfile] #Yapılandırma seçeneklerini [cfgfile] dosyasından al
-l [REGEX] --limit=[REGEX] #Komutu [REGEX] ile eşleşen girdilerle sınırla
-B "OPTION" --before="OPTION" #Yapılandırma dosyası okunmadan önce "OPTION" tanımla
-A "OPTION" --after="OPTION" #Yapılandırma dosyası okunduktan sonra "OPTION" tanımla
-r [reporter] --report=[reporter] #Rapor çıktısını [reporter] URL'sine yaz
-V[level] --verbose=[level] #Hata ayıklama mesajı seviyesini [level]'e ayarla

AIDE Kullanarak İlk Veritabanınızı Oluşturun

sudo aide -i 
sudo aide --init

#Veritabanızı oluştuktan sonra şöyle bir çıktı alacaksınız

[root@MyLinuxOS ~]# aide -i
Start timestamp: 2024-12-09 21:04:06 +0300 (AIDE 0.16)
AIDE initialized database at /var/lib/aide/aide.db.new.gz

Number of entries: 147282

---------------------------------------------------
The attributes of the (uncompressed) database(s):
---------------------------------------------------

/var/lib/aide/aide.db.new.gz
MD5 : 8bKSonpzuyBWPkzuGRGV0Q==
SHA1 : slOQXlDCtXV0fz6Xb9qaQktLkBg=
RMD160 : M5NZudF1Ny8jNNRHGKdEMUu/MAs=
TIGER : lMe2K9Z7dI8wJzuKbZCD3QCq6egiUh0B
SHA256 : vbWQweQDWJ2cedP+iZIVCKI9J0j/YwA2
0ulrihKUr9w=
SHA512 : /pAvFntywjR7GqbEX8HnAKIxSwk1grA7
SeWrWdxJcEU9QWPUDDjik3SENSL//Qe9
/bU3NxvRAXsfTXBy0jdR0g==


End timestamp: 2024-12-09 21:05:52 +0300 (run time: 1m 46s)

ilk oluşturulan veritabanı, sistemin mevcut dosya ve dizin durumunun anlık bir görüntüsünü (snapshot) içeren bir dosyadır. Bu veritabanı, sistemin izlenecek olan dosya ve dizinlerinin o anki:

  • Hash değerlerini (MD5, SHA1 gibi)
  • Dosya izinlerini (okuma, yazma, çalıştırma)
  • Dosya boyutlarını
  • Zaman damgalarını (oluşturulma, değiştirilme, erişim zamanı)
  • Dosya türlerini
    ve benzeri özelliklerini kaydeder.

Veritabanınızı Aktif Hale Getirme

AIDE, yeni oluşturulan veritabanını “yeni” bir dosya olarak kaydeder. Bunu aktif hale getirmek için db dosyasının adı değiştirmeniz gerekiyor:

sudo mv /var/lib/aide/aide.db.new.gz /var/lib/aide/aide.db.gz

Artık bu dosya, referans veritabanı olarak kullanılacaktır.

Sisteminizi Kontrol Etme

Mevcut sistemdeki durum ile referans veritabanını -- check komutu ile karşılaştırabilirsiniz

sudo aide --check

#Eğer kontroller tamamlandığında sisteminizde bir değişiklik tespit edilirse,
#şu şekilde bir çıktı alabilirsiniz:



### AIDE 0.16a ###
Summary:
Total number of files: 14850
Added files: 3
Removed files: 2
Changed files: 5

---------------------------------------------------
File: /etc/passwd
Mtime : 2024-06-09 12:00:00 -> 2024-06-09 14:00:00
Ctime : 2024-06-09 12:00:00 -> 2024-06-09 14:00:00
Hash : d41d8cd98f00b204e9800998ecf8427e -> a87ff679a2f3e71d9181a67b7542122c

File: /var/log/syslog
Size : 1024 -> 2048
Mtime : 2024-06-09 11:30:00 -> 2024-06-09 12:15:00

Added files:
/root/.ssh/authorized_keys

Removed files:
/tmp/testfile

---------------------------------------------------
AIDE check complete - differences found!

Kontrol sonucunu bir dosyaya kaydetmek için > operatörünü kullanabilirsiniz:

sudo aide --check > /var/log/aide_report.txt

AIDE Yapılandırma Dosyası

AIDE’de yapılandırma dosyasının yolu /etc/aide.conf‘dur. Bu yapılandırma dosyası, veritabanını başlatmak veya kontrol etmek için kullanılır. Bu yapılandırmada, PERMSNORMALLSPPDATAONLY gibi bazı kurallar önceden tanımlıdır. Bu özel kurallar, izinler, inode’lar, bağlantı sayıları, ACL, SELinux gibi birçok varsayılan ayarı içerir.

NORMAL = p+i+n+u+g+s+m+c+acl+selinux+xattrs
  • p: Dosya izinleri (permissions)
  • i: Inode numarası
  • n: Bağlantı sayısı (number of links)
  • u: Dosya sahibi (user)
  • g: Grup sahibi (group)
  • s: Dosya boyutu (size)
  • m: Değişiklik zamanı (modification time)
  • c: Dosya içeriğinin hash değeri (checksum)
  • acl: Erişim kontrol listesi (Access Control List)
  • selinux: SELinux bağlamı
  • xattrs: Genişletilmiş öznitelikler (Extended Attributes)

NOT: aide.conf dosyasına herhangi bir şey yazmadan önce her zaman yedekleyin:

cp /etc/aide.conf /etc/aide`date +%F`.conf

Kendi AIDE Yapılandırma Dosyanızı Oluşturun :

touch /root/aide-ornek.conf

Dosyada Belirlediğiniz Kuralları Ekleyin:

database_in=file:/var/lib/aide/aide.db
database_out=file:/var/lib/aide/aide.db.new
MYKURAL= p+i+n+u+g+s+m+c+acl+selinux+xattrs+sha256
/etc MYKURAL    #/etc dizini, tanımlanan MYKURAL kurallarına göre izlenecek.
/usr MYKURAL    #/usr dizini, tanımlanan kurallar doğrultusunda izlenecek.
/root MYKURAL   #/root dizini, aynı kurallara göre izlenecek.
!/usr/.*        #/usr dizininde gizli dosya veya dizinler (. ile başlayan) izleme dışında bırakılmıştır.
!/usr/share/file$   #/usr/share/file adlı dosya izleme dışında bırakılmıştır. 

Oluşturduğunuz AIDE Yapılandırma Dosyasına göre Yeni Veritabanı Başlatın:

sudo aide -c /root/aide-ornek.conf --init

Sonrasında oluşturduğunuz veritabanını aktif hale getirerek referans olarak kullanabilir ve ilerleyen zamanlarda bu veritabanıyla karşılaştırma yaparak sisteminizde meydana gelen değişiklikleri tespit edebilirsiniz.


Leave a Reply

Your email address will not be published. Required fields are marked *

Related Posts