Linux'ta "AIDE" Kullanılarak Dosya ve Dizinin Bütünlüğü Nasıl Kontrol Edilir


CentOS 7'yi sağlamlaştırma ve güvenliğini sağlamaya yönelik mega kılavuzumuzda, "sistemi dahili olarak koruyun" bölümü altında, virüslere, rootkit'lere, kötü amaçlı yazılımlara ve yetkisiz yazılımların tespitine karşı dahili sistem koruması için listelediğimiz yararlı güvenlik araçlarından biri etkinlikler AIDE'dir.

AIDE (Gelişmiş İzinsiz Giriş Tespit Ortamı), Unix benzeri işletim sistemlerinde dosya ve dizin bütünlüğünü kontrol etmek için önceden tanımlanmış kurallar kullanan, küçük ama güçlü, ücretsiz, açık kaynaklı bir izinsiz giriş tespit aracıdır. Linux gibi. Basitleştirilmiş istemci/sunucu izleme yapılandırmaları için bağımsız bir statik ikili dosyadır.

Zengin özelliklere sahiptir: kullanımı kolaylaştıran düz metin yapılandırma dosyalarını ve veritabanını kullanır; md5, sha1, rmd160, kaplan gibi ancak bunlarla sınırlı olmamak üzere çeşitli mesaj özeti algoritmalarını destekler; ortak dosya niteliklerini destekler; ayrıca taranacak dosya ve dizinleri seçerek dahil etmek veya hariç tutmak için güçlü düzenli ifadeleri de destekler.

Ayrıca Gzip sıkıştırması, Posix ACL, SELinux, XAttrs ve Genişletilmiş dosya sistemi nitelikleri için olağanüstü destekle derlenebilir.

Aide, yapılandırma dosyalarında tanımlanan düzenli ifade kurallarından bir veritabanı (dosya sisteminin seçilen bölümlerinin yalnızca anlık görüntüsü olan) oluşturarak çalışır. Bu veritabanı başlatıldığında, sistem dosyalarının bütünlüğünü ona göre doğrulayabilirsiniz. Bu kılavuz Linux'ta yardımcının nasıl kurulacağını ve kullanılacağını gösterecektir.

Linux'ta AIDE Nasıl Kurulur

Aide, ana Linux dağıtımlarının resmi depolarında paketlenmiştir; yüklemek için bir paket yöneticisi kullanarak dağıtımınıza yönelik komutu çalıştırın.

apt install aide 	   [On Debian/Ubuntu]
yum install aide	   [On RHEL/CentOS] 	
dnf install aide	   [On Fedora 22+]
zypper install aide	   [On openSUSE]
emerge aide 	           [On Gentoo]

Yükledikten sonra ana yapılandırma dosyası /etc/aide.conf olur. Kurulu sürümü ve derleme zamanı parametrelerini görüntülemek için terminalinizde aşağıdaki komutu çalıştırın:

aide -v
Örnek Çıktı
Aide 0.14

Compiled with the following options:

WITH_MMAP
WITH_POSIX_ACL
WITH_SELINUX
WITH_PRELINK
WITH_XATTR
WITH_LSTAT64
WITH_READDIR64
WITH_ZLIB
WITH_GCRYPT
WITH_AUDIT
CONFIG_FILE = "/etc/aide.conf"

Favori düzenleyicinizi kullanarak yapılandırmayı açabilirsiniz.

vi /etc/aide.conf

Veritabanı konumunu, rapor konumunu, varsayılan kuralları, veritabanına dahil edilecek dizinleri/dosyaları tanımlayan yönergelere sahiptir.

Varsayılan Yardımcı Kurallarını Anlamak

Yukarıdaki varsayılan kuralları kullanarak, örneğin aide.conf dosyasında yeni özel kurallar tanımlayabilirsiniz.

PERMS = p+u+g+acl+selinux+xattrs

PERMS kuralı yalnızca erişim kontrolü için kullanılır; dosya/dizin izinleri, kullanıcı, grup, erişim kontrolü izinleri, SELinux bağlamı ve dosya niteliklerine dayalı olarak dosya veya dizinlerde yapılan değişiklikleri algılar.

Bu yalnızca dosya içeriğini ve dosya türünü kontrol edecektir.

CONTENT = sha256+ftype

Bu, önceki kuralın genişletilmiş bir sürümüdür; genişletilmiş içeriği, dosya türünü ve erişimi kontrol eder.

CONTENT_EX = sha256+ftype+p+u+g+n+acl+selinux+xattrs

Aşağıdaki YALNIZCA VERİ kuralı, tüm dosyalar/dizin içindeki verilerde yapılan değişikliklerin tespit edilmesine yardımcı olacaktır.

DATAONLY =  p+n+u+g+s+acl+selinux+xattrs+sha256

Dosyaları ve Dizinleri İzlemek İçin Kuralları Tanımlama

Kuralları tanımladıktan sonra izlenecek dosya ve dizinleri belirleyebilirsiniz. Yukarıdaki PERMS kuralı göz önüne alındığında, bu tanım kök dizindeki tüm dosyaların izinlerini kontrol edecektir.

/root/\..*  PERMS

Bu, /root dizinindeki tüm dosyaları herhangi bir değişiklik açısından kontrol edecektir.

/root/   CONTENT_EX

/etc/ altındaki tüm dosyalar/dizin içindeki verilerdeki değişiklikleri tespit etmenize yardımcı olması için bunu kullanın.

/etc/   DATAONLY 

Linux'ta Dosya ve Dizin Bütünlüğünü Kontrol Etmek için AIDE Kullanma

--init bayrağı kullanılarak gerçekleştirilecek kontrollere karşı bir veritabanı oluşturarak başlayın. Bunun, sisteminiz bir ağa bağlanmadan önce yapılması beklenir.

Aşağıdaki komut, yapılandırma dosyanızda seçtiğiniz tüm dosyaları içeren bir veritabanı oluşturacaktır.

aide --init

Daha sonra bu komutu kullanarak devam etmeden önce veritabanını /var/lib/aide/aide.db.gz olarak yeniden adlandırın.

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

Veritabanını muhtemelen salt okunur bir ortamda veya başka makinelerde güvenli bir konuma taşımanız önerilir, ancak yapılandırma dosyasını buradan okuyacak şekilde güncellediğinizden emin olun.

Veritabanı oluşturulduktan sonra artık --check işaretini kullanarak dosya ve dizinlerin bütünlüğünü kontrol edebilirsiniz.

aide --check

Veritabanındaki anlık görüntüyü okuyacak ve bunu sistem diskinizde bulunan dosyalar/dizinlerle karşılaştıracaktır. Beklemediğiniz yerlerde değişiklikler bulursa daha sonra inceleyebileceğiniz bir rapor oluşturur.

Dosya sisteminde herhangi bir değişiklik yapılmadığından yalnızca yukarıdakine benzer bir çıktı alacaksınız. Şimdi dosya sisteminde, yapılandırma dosyasında tanımlanan alanlarda bazı dosyalar oluşturmaya çalışın.

vi /etc/script.sh
touch all.txt

Ardından, yukarıda eklenen dosyaları bildirecek bir kontrol daha çalıştırın. Bu komutun çıktısı, dosya sisteminin kontrol için yapılandırdığınız bölümlerine bağlıdır; fazla mesai uzun sürebilir.

aide --check

Yardımcı kontrolleri düzenli olarak çalıştırmanız gerekir ve önceden seçilmiş dosyalarda herhangi bir değişiklik yapılması veya yapılandırma dosyasına yeni dosya tanımlarının eklenmesi durumunda, veritabanını her zaman --update seçeneğini kullanarak güncellemeniz gerekir:

aide --update

Bir veritabanı güncellemesi çalıştırdıktan sonra, yeni veritabanını gelecekteki taramalarda kullanmak için veritabanını her zaman /var/lib/aide/aide.db.gz olarak yeniden adlandırın:

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

Şimdilik bu kadar! Ancak şu önemli noktalara dikkat edin:

  • AIDE dahil olmak üzere çoğu saldırı tespit sisteminin bir özelliği, sistemdeki çoğu güvenlik döngüsü açığına çözüm sağlamayacak olmasıdır. Bununla birlikte, sistem yöneticilerinin sistem dosyaları/dizinlerindeki değişiklikleri incelemesine yardımcı olarak izinsiz giriş müdahale sürecini kolaylaştırmaya yardımcı olurlar. Bu nedenle her zaman dikkatli olmalı ve mevcut güvenlik önlemlerinizi güncellemeye devam etmelisiniz.
  • Yeni oluşturulan veritabanını, yapılandırma dosyasını ve AIDE ikili dosyasını salt okunur ortam gibi güvenli bir konumda saklamanız önemle tavsiye edilir (kaynaktan yüklerseniz mümkündür).
  • Ek güvenlik için yapılandırmayı ve/veya veritabanını imzalamayı düşünün.

Ek bilgi ve konfigürasyonlar için kılavuz sayfasına bakın veya AIDE Ana Sayfasına bakın: http://aide.sourceforge.net/