Quantcast
Channel: Bilgi Güvenliği AKADEMİSİ
Viewing all articles
Browse latest Browse all 331

Linux Sistemlerde Auditd Kullanarak Detaylı Sistem Denetimi

$
0
0
Sistem yöneticilerinin en çok sorduğu sorulardan biri, dosyalar üzerinde okuma yazma gibi denetimlerin nasıl kontrol edilebileceği,kritik öneme sahip dosyaları kimin değiştirdiği, üzerinde kimlerin işlem yaptığının bilinmesi ve takip edilmesidir.

Bunun cevabı Modern Linux sistemlerle birlikte gelen “auditd daemon” ile çözüme kavuşmuştur.Görevi diske denetim kurallarını yazmaktır.Başlangıç esnasında /etc/audit.rules
içerisinde bulunan kurallar ‘auditd daemon’ tarafınan okunur. /etc/auditd.rules dosyasını açıp üzerindeki denetim kurallarını değiştirmek,log kayıtlarını yönetmek gibi değişiklikler yapılabilir.Kurulum yapıldıktan sonra varsayılan olarak gelen ayarlar başlangıç için yeterli olacaktır.


Denetimi kolaylaştırmak amacıyla servise ait aşağıdaki hizmetlerin bilinmesinde fayda olacaktır.
>> auditctl : Çekirdeğin denetim sistemini kontrol etmek için yardımcı olacak bir komuttur.Bu komut ile kural eklenip silinebilir  ya da durum bilgisi alınabilir.
>>  ausearch : Olay tabanlı ya da farklı arama kriterlerine göre log tabanlı sorgulama yapmak için kullanılabilir.
>> aureport : Denetim loglarının raporlarını özetlemek için kullanılan bir araçtır.


audit paketinin kurulması
Birçok Linux çekirdeği audit rpm paketni içerir. audit paketini yüklemek için komut satırından ‘yum’ ya da ‘apt-get install’ komutları kullanılabilir.
[root@bga ~]# yum install audit
Loaded plugins: fastestmirror, refresh-packagekit, security


auditd servisini başlangıçta otomatik olarak için aşağıdaki komut kullanılabilir.
[root@bga ~]# ntsysv


Servisi başlatmak için aşağıdaki komut çalıştırılmalıdır.
[root@bga ~]# /etc/init.d/auditd start


Dosyaların izlenebilmesi için servisin ayarlanması
Bunu örnek bir komutla açıklamak gerekirse, /etc/passwd dosyasının denetlenmesi için aşağıdaki gibi örnek bir komut kullanılabilir.
[root@bga ~]# auditctl -w /etc/passwd -p war -k password-file


Bu komut için kullanılan parametrelerin anlamı şu şekildedir.
  • -w /etc/passwd : İzlenenecek olan dosyanın yolu (path)
  • -p war : İzlenecek olan dosya için izinleri belirler. ‘w’ yazmak için, ‘a’ ekleme yapmak için, ‘r’ ise okumak içindir.
  • -k password-file : İzlenecek olan dosya için filtreler(filterkey) ayarlamak için kullanılır.Bu komut için password-file bir filterkey’dir.
Bu komut ile /etc/passwd dosyası üzerindeki okuma,yazma ve ekleme işlemleri izlenebilir.(sistem çağrıları dahil)


Şimdi aşağıdaki komutları sistem üzerinde yetkisiz bir kullanıcı ile çalıştıralım ve biraz bekleyelim.
[root@bga ~]# grep 'root' /etc/passwd
[root@bga ~]# nano /etc/passwd


Dosya Sistemi audit Kuralı
/etc/shadow dosyası üzerindeki okuma,yazma,çalıştırma ve ekleme değişikliklerini kayıt altına almak için ‘shadow-file’ filtresi ile aşağıdaki komut kullanılabilir.
[root@bga ~]# auditctl -w /etc/shadow -k shadow-file -p rwxa


syscall audit kuralı
Aşağıdaki kural syscall çıkışlarının izlenmesini önler.
[root@bga ~]# auditctl -a exit,never -S mount


pid kullanarak syscall audit kuralı
Aşağıdaki komutta olduğu gibi ‘pid’ değerine göre kural yazılabilir.
[root@bga ~]# auditctl -a entry,always -S all -F pid=1005


Peki /etc/passwd dosyasına kimin eriştiğini ya da dosya üzerinde kimin değişikik yaptığı nasıl öğrenilir ?
Bunun için ausearch komutu kullanılır.Örnek kullanım komutları aşağıdaki gibidir.


[root@bga ~]# ausearch -f /etc/passwd
[root@bga ~]# ausearch -f /etc/passwd | less
[root@bga ~]# ausearch -f /etc/passwd -i | less


  • -f /etc/passwd : Sadece bu dosya üzerinde aramaya yapar.
  • -i : Metin içindeki sayısal girdileri yorumlar.uid değerini hesap ismine dönüştürür.


Örnek bir çıktı aşağıdaki gibi olacaktır.
type=PATH msg=audit(04/18/2014 23:58:00.631:5249) : item=0 name=/etc/passwd inode=653834 dev=fd:00 mode=file,644 ouid=root ogid=root rdev=00:00 obj=system_u:object_r:etc_t:s0 nametype=NORMAL
type=CWD msg=audit(04/18/2014 23:58:00.631:5249) :  cwd=/root
type=SYSCALL msg=audit(04/18/2014 23:58:00.631:5249) : arch=x86_64 syscall=open success=yes exit=4 a0=7fe34326969a a1=80000 a2=1b6 a3=0 items=1 ppid=21315 pid=21324 auid=cihat uid=root gid=root euid=root suid=root fsuid=root egid=root sgid=root fsgid=root tty=pts1 ses=775 comm=ausearch exe=/sbin/ausearch subj=unconfined_u:unconfined_r:unconfined_t:s0-s0:c0.c1023 key=password-file
Peki bu çıktı nasıl yorumlanmalıdır ?

  • audit(04/18/2014 23:58:00.631:5249): Log kaydının zamanı
  • uid=root gid=root : Kullanıcı id değerinin sayısal formatıdır. -i parametresi ile sayısal değer hesap ismine dönüştürülebilir.Bu şekilde okunması ve yorumlanması daha kolay olacaktır.
  • comm=ausearch exe= Dosyaya erişmek için kullanılan komutu gösterir.
Log dosyasından da anlaşılacağı üzere, hangi kullanıcının dosya üzerinde grep ile  okuma yaptığı ya da bir metin editörü ile dosya üzerinde yazma işlemi gerçekleştirdiği açıkca görülmektedir.
Bu şekilde kullanmak bir log yığını oluşturacağından komuta ait man sayfası okunarak daha anlaşılır formatta loglar üretilebilir.


Log kayıtlarını incelerken daha spesifik aramalar yapmak mümkündür.Örneğin belirli bi tarihe ait log kaydına bakmak ya da bugünün log kayıtlarını çıkarmak için aşağıdaki gibi komutlar kullanılabilir.
[root@bga ~]# ausearch -ts today -k password-file
[root@bga ~]# ausearch -ts 3/12/07 -k password-file


Bir diğer arama şekli ise -x parametresi ile çalıştırılan komuta göre arama yapmaktır. Örneğin hangi kullanıcının ‘rm’  komutunu kullanarak /etc/passwd dosyasına erişmeye çalıştığını görmek için aşağıdaki gibi bir komut kullanılabilir.
[root@bga ~]#  ausearch -ts today -k password-file -x rm
[root@bga ~]#  ausearch -ts 3/12/07  -k password-file -x rm


Kullanıcı id değerine göre arama yapmak için ise aşağıdaki gibi bir komut kullanılabilir.
[root@bga ~]#  ausearch -ts today -k password-file -x rm -ui 500
[root@bga ~]#  ausearch -ts 3/12/07  -k password-file -x rm -ui 500

Bu yazı Linux AKADEMİ blog sayfasından alınmıştır http://www.linuxakademi.com.tr/linux-audit-derinlemesine-sistem-denetimi/ 

Viewing all articles
Browse latest Browse all 331

Trending Articles


Mide ağrısı için


Alessandra Torre - Karanlık Yalanlar


Şekilli süslü hazır floodlar


Flatcast Güneş ve Ay Flood Şekilleri


Gone Are the Days (2018) (ENG) (1080p)


Yildiz yükseltme


yc82


!!!!!!!!!! Amın !!!!!!!!!


Celp At Nalı (Sahih Tılsım)


SCCM 2012 Client Installation issue