CyberFlow Logo CyberFlow BLOG
Soc L1 Log Kaynaklari Veri Turleri

Linux Auditd ile Siber Güvenlik İzleme ve Yönetimi

✍️ Ahmet BİRKAN 📂 Soc L1 Log Kaynaklari Veri Turleri

Linux Auditd ile sisteminizin güvenliğini artırın. İzleme, kural yönetimi ve raporlama hakkında detaylı bilgiler edinin.

Linux Auditd ile Siber Güvenlik İzleme ve Yönetimi

Linux sistemleri için kritik öneme sahip olan Auditd, derinlemesine izleme ve kayıt tutma imkanı sunuyor. Kural yönetimi, dosya bütünlüğü izleme ve saldırgan tespiti gibi konular üzerine kapsamlı bir rehber.

Giriş ve Konumlandırma

Linux tabanlı sistemler dünyasında, güvenlik önlemlerinin alındığı en önemli alanlardan biri, sistem olaylarının doğru bir şekilde izlenmesidir. Bu noktada devreye giren Linux Auditd, kullanıcı aktivitelerini, sistem değişikliklerini ve olası güvenlik ihlallerini takip eden güçlü bir araçtır. Auditd, standart uygulama günlüklerinden farklı olarak, doğrudan işletim sisteminin çekirdek (kernel) seviyesinde faaliyet gösterir. Bu sayede, kullanıcılar bir dosyayı okumaya çalıştıklarında ya da sistem ayarlarını değiştirdiklerinde, bu işlemler henüz gerçekleşmeden önce yakalanarak kayıt altına alınmaktadır.

Auditd'nin Önemi

Siber güvenlik alanında, özellikle pen test ve savunma ilişkilendirmelerinde, sistem izleme kritik bir rol oynamaktadır. Auditd’nin sağladığı derinlemesine izleme, güvenlik uzmanlarının sistemin genel sağlığını değerlendirmelerine ve olası güvenlik açıklarını zamanında tespit etmelerine olanak tanır. Özellikle dosya bütünlüğü izleme (File Integrity Monitoring - FIM) işlemleri, sistemde meydana gelen değişikliklerin izlenmesinde önemli bir yere sahiptir. Örneğin, /etc/passwd dosyasında yapılan bir değişiklik, auditd aracılığıyla anında fark edilir; bu durum, siber saldırganların sistemde yeni kullanıcılar oluşturma girişimlerini tespit etmeye yardımcı olur.

Ayrıca, Auditd sayesinde esasen kim olduğunu gizlemek isteyen saldırganların, 'sudo' komutu kullanarak kendi hesaplarıyla sorgulanabilir kayıtlar oluşturmasına engel olunur. Auditd, her işlem için o işlemi başlatan kullanıcının kimliği ile birlikte verileri kaydederek, potansiyel bir saldırının kim tarafından gerçekleştirildiğini kolayca belirlememizi sağlar. İşte bu nokta, siber savunma ve olay direnci açısından kritik bir unsurdur.

Teknik Bağlam

Auditd ile siber güvenlik izleme süreçleri, yalnızca bir olay günlükleme aracı olmanın ötesine geçmektedir. Auditd, sistemi korumak için gereken çeşitli loglama ve analiz araçlarıyla entegre çalışabilmektedir. Örneğin, ausearch komutu, belirli kriterler (zaman, kullanıcı, kural adı) kullanarak logları aramak için kullanılırken; aureport komutu, sistemdeki olayları özet bir tablo şeklinde raporlayarak, analistlerin hızlı bir değerlendirme yapmalarına olanak tanır.

Auditd'nin yapılandırması genelde iki ana bölümden oluşur: geçici kurallar için auditctl komutu ve kalıcı yapılandırma dosyaları olan /etc/audit/audit.rules. Geçici kurallar, sistemin yeniden başlatılması gerekmeksizin anlık izlemeler gerçekleştirmenizi sağlar. Öte yandan, kalıcı kurallar, sistem her açıldığında ne tür olayların izleneceğini belirler. Bu sayede, log dosyaları sürekli olarak belirli bir düzen içinde tutulur ve analiz için hazır hale getirilir.

Auditd, yalnızca olay kaydı tutmakla kalmaz, aynı zamanda analiz ve raporlama aşamalarında da önemli işlevler sunar. Auditd ile üretilen logların anlaşılabilir bir biçimde işlenebilmesi, güvenlik analistleri için vazgeçilmez bir beceridir. Bu bağlamda, log okuma kılavuzları ve araçların kullanımı, güvenlik ekiplerinin etkinliğini artırmakta kritik bir rol üstlenmektedir.

Yazının devamında, Auditd'nin yapılandırılması, yönetimi ve en iyi kullanımı için gerekli adımları daha ayrıntılı bir şekilde ele alacağız. Bu bölümde kullanıcıları Auditd'nin sunduğu zengin özellikler ve işlevselliği hakkında bilgilendirecek, teknik bilgi birikimlerini artırmalarına yardımcı olacak içerikler sunulacaktır.

Teknik Analiz ve Uygulama

Derinlemesine İzleme: Auditd Nedir?

Auditd, Linux sistemlerinde güvenlik denetimi için kullanılan bir araçtır ve uygulama loglarından farklı olarak, doğrudan çekirdek (kernel) seviyesinde çalışır. Bu sayede, bir kullanıcı bir dosyayı okuma veya sistem ayarlarını değiştirme gibi işlemleri henüz gerçekleştirilmeden yakalayarak kaydedebilir. Auditd, güvenlik ihlalleri ve sistem değişikliklerini izlemek için kritik bir bileşendir.

Auditd, sistem etkinlikleriyle ilgili ayrıntılı bilgiler sunar ve bu verileri sürekli olarak kaydeder. Bu sayede, bir güvenlik uzmanı, olası ihlalleri ve sistemde meydana gelen değişiklikleri çok daha net bir biçimde takip edebilir.

Kural Yönetimi: auditctl

Auditd sistemini yönetmek için en yaygın kullanılan komut auditctl'dir. Bu komut, anlık olarak kurallar eklemeye veya mevcut kuralları değiştirmeye olanak sağlar. Örneğin, belirli bir dosyanın izlenmesi veya belirli bir kullanıcının aktivitelerinin takip edilmesi gibi işlemler, sistem yeniden başlatılmadan bu komut ile gerçekleştirilebilir.

Kod örneği:

auditctl -w /etc/passwd -p rwxa -k passwd_changes

Yukarıdaki komut, /etc/passwd dosyasının okuma (r), yazma (w), yürütme (x) ve atama (a) işlemlerini izleyecek şekilde bir kural ekler. Ayrıca, bu kuralın bir anahtar kelime olarak passwd_changes ile adlandırılması sağlanır. Bu anahtar kelime, logların filtrelenmesi ve belirli olayların daha kolay takip edilmesi için kullanılır.

Arama ve Raporlama Araçları

Auditd tarafından üretilen devasa log verileri, analiz edilmek üzere bir dizi yardımcı araç ile yönetilir. İki önemli araç ausearch ve aureport'tur.

  • ausearch: Audit logları içerisinde belirli bir kriter (zaman, kullanıcı, kural adı) ile arama yapmanıza olanak tanır.

    Örnek kullanım:

    ausearch -k passwd_changes
    

    Yukarıdaki komut, passwd_changes anahtarı ile etiketlenmiş tüm olayları listeleyecektir.

  • aureport: Sistemdeki olayları özet tablo halinde raporlar. Başarısız girişler, kullanılan komutlar gibi bilgileri hızlı bir şekilde gözler önüne serer.

    Örnek kullanım:

    aureport -au
    

    Bu komut, kullanıcı aktiviteleriyle ilgili bir özet rapor oluşturur.

Kalıcı Yapılandırma: audit.rules

Auditd'nin kalıcı kuralları, sistem her açıldığında hangi dosyaların izleneceğini belirler. Bu kalıcı kurallar genellikle /etc/audit/audit.rules veya /etc/audit/...d/ altındaki dosyalarda saklanır. Her satır bir kuralı temsil eder ve bu dosyada düzenleme yaparak kaynakların izlenmesi sağlanır.

Örnek bir audit.rules dosyası:

-w /etc/passwd -p rwxa -k passwd_changes
-w /etc/shadow -p rwxa -k shadow_changes

Bu örnekte, hem /etc/passwd hem de /etc/shadow dosyası için okuma, yazma, yürütme ve atama hakları için kurallar belirlenmiştir.

FIM: Dosya Bütünlüğü Takibi

Auditd'nin en yaygın kullanım alanlarından biri Dosya Bütünlüğü İzleme (File Integrity Monitoring - FIM) işlemidir. Örneğin, /etc/passwd dosyasına yapılan her türlü yazma veya yetki değiştirme işlemi, Auditd ile anında tespit edilebilir. Bu, saldırganların sistemde yeni kullanıcı açma girişimlerini yakalamak için kritik öneme sahiptir.

Örneğin, eğer bir kullanıcı /etc/passwd dosyasına yazma işlemi yapmaya çalışırsa, bu işlem Auditd tarafından kaydedilir ve hızlı bir şekilde analiz edilebilir.

Sorumluyu Bulmak: auid Kavramı

Saldırganlar, bir sisteme kendi hesaplarıyla girebilir ve ardından sudo ile kimlik değiştirebilirler. Standart loglar, genellikle sadece root kullanıcısını gösterirken, Auditd, Audit User ID (auid) alanı sayesinde o işlemi asıl başlatan kişinin kim olduğunu da kaydeder. Bu, sistem güvenliği açısından kritik bir bilgidir ve potansiyel ihlalleri daha etkili bir şekilde takip etmeye yardımcı olur.

Örnek bir log kaydı:

type=SYSCALL msg=audit(123456789.123:1): arch=c000003e syscall=59 success=yes exit=0 a0=b7d5e3f0 a1=1 a2=b7d5e560 a3=0 items=2 ppid=1 pid=1234 auid=1000 uid=0 gid=0 euid=0 suid=0 fsuid=0 osuid=0

Yukarıdaki log kaydında auid=1000 değeri, işlemi başlatan kullanıcının kimliğini gösterir. Analist, bu tür kritik alanları inceleyerek ihlal anında hangi kullanıcıların etkin olduğunu belirleyebilir.

Özet: Log Okuma Kılavuzu

Auditd logları, sistem güvenliğini sağlamak için oldukça önemlidir, ancak bu logların karmaşık yapısı, analist için zorluklar yaratabilir. Bir ihlal anında, logların içindeki önemli alanları eşleştirmek büyük önem taşır. Log okuma yeteneği, güvenlik olaylarına hızlı ve etkili yanıt verme kapasitesini artırır. Önemli alanlar arasında res=, exe=, key= gibi bileşenler yer alır ve bu alanlar, olayın niteliği hakkında bilgi sunar.

Sonuç olarak, Auditd, Linux sistemlerinde siber güvenlik izleme ve yönetimi açısından vazgeçilmez bir araçtır. Doğru yapılandırıldığında ve etkili bir şekilde kullanıldığında, sistem güvenliğini sağlamada önemli bir rol oynar.

Risk, Yorumlama ve Savunma

Risk Değerlendirmesi ve Sonuçların Yorumlanması

Güvenlik Anlamında Bulgu Yorumu

Auditd, Linux sistemlerinde güvenlik izleme süreçlerini bir adım ileri götürmekte önemli bir rol oynamaktadır. Auditd tarafından üretilen loglar, sistemdeki her türlü olayın detaylı bir şekilde kaydedilmesini sağlar. Bir saldırganın bir dosyaya erişim sağlaması veya bir yetki artırım girişimi, bu loglar sayesinde gerçek zamanlı olarak tespit edilebilir. Loglarda dikkat edilmesi gereken başlıca unsurlar arasında res= alanı yer alır; bu alan, gerçekleştirilen işlemin sonucunun başarılı ya da başarısız olduğunu belirtir. Dolayısıyla, bu bilgiler, sistem yöneticilerine durumu net bir şekilde değerlendirme imkânı tanır.

Örneğin, bir kullanıcının /etc/passwd dosyasına yazma yetkisi olmadan erişim sağladığı bir durum, sistemin zayıflığını ortaya koymaktadır. Bu tür olaylar, sistemin yanlış yapılandırıldığına veya zafiyetler barındırdığına işaret eder.

Yanlış Yapılandırma ve Zafiyetlerin Etkisi

Yanlış yapılandırmalar, genellikle siber güvenlik ihlallerinin başlangıç noktasıdır. Auditd, bu tür sorunların ortaya çıkmasını sağlayan eylemleri anında tespit etebilir. Örneğin, auditd'nin auditctl komutuyla yapılan geçici kuralları belirlemek, sistemdeki tüm kritik dosyaların izlenip izlenmediğini doğrulamak için hayati öneme sahiptir.

Auditd, sadece olay kayıtları tutmakla kalmaz, aynı zamanda sistemdeki zafiyetleri de vurgular. Eğer bir dosyaya izinsiz bir yazma (w) veya yetki değiştirme (a) işlemi gerçekleşirse, bu durum sistemin güvenlik açığını gösterir. Dolayısıyla, sistem yöneticileri, auditd'yi kullanarak, sistemdeki olası açıkların sızma testi yöntemiyle değerlendirip, bu zayıflıkları gidermek için proaktif önlemler almalıdır.

Sızan Veri ve Servis Tespiti

Siber saldırılar sonrasında sızan verilerin tespiti, uygun yanıt mekanizmalarının devreye sokulması açısından kritik bir öneme sahiptir. Auditd logları sayesinde, sisteme dışarıdan erişimin hangi yollarla gerçekleştirildiği ve hangi verilerin etkilendiği belirlenebilir. Örneğin, aureport aracı kullanılarak kullanıcıların sisteme giriş denemeleri ve komut geçmişleri özet tablo halinde gözlemlenebilir. Bu sayede, hangi kullanıcıların şüpheli aktiviteler gerçekleştirdiği hızlıca tespit edilebilir.

Ayrıca, /var/log/audit/audit.log dosyası, auditd tarafından toplanan tüm ham kayıtların bulunduğu dizindir. Burada bulunan verilerin analizi, sistemdeki potansiyel tehditlerin daha etkin bir biçimde yönetilmesine yardımcı olur.

Profesyonel Önlemler ve Hardening Önerileri

Sistem güvenliğini artırmak ve yanlış yapılandırmaları minimize etmek için uygulanabilecek birkaç önemli önlem bulunmaktadır:

  1. Kalıcı Yapılandırma Yönetimi: Auditd'nin kalıcı kurallarının yönetimi, /etc/audit/audit.rules dosyasında yapılmalıdır. Bu dosyada her satır, bir kuralı temsil eder ve güngetirilmesi gereken kurallar oluşturulmalıdır.

    -w /etc/passwd -p wa -k passwd_changes
    
  2. Düzenli Log Analizi: Auditd loglarının düzenli olarak analiz edilmesi, güvenlik tehditlerinin erken tespit edilmesini sağlar. ausearch komutunu kullanarak belirli kullanıcıların gerçekleştirdiği işlemler ve bunların sonucunu incelemek, sistemin güvenliğindeki belirsizlikleri ortadan kaldırır.

  3. Dosya Bütünlüğü İzleme: Auditd, FIM (File Integrity Monitoring) özelliği sayesinde önemli dosyaların (örneğin, sistem yapılandırma dosyaları) yetki değişikliklerini izlemeye yardımcı olur. Bu da yetkisiz değişikliklerin anında fark edilmesini sağlar.

Sonuç Özeti

Auditd, Linux tabanlı sistemlerde siber güvenlik izleme süreçlerini güçlendirici bir araçtır. Yanlış yapılandırmalar ve zafiyetler, güvenlik tehditlerinin ön plana çıkmasına yol açabilir. Auditd logları, bu durumları anlık olarak tespit etme imkânı sunarak, sistem yöneticilerinin etkili önlemler almasını sağlar. Düzenli log analizi, dosya bütünlüğü izleme ve kalıcı yapılandırma yönetimi, sistemin güvenliğinin artırılmasında kritik rol oynar. Bu önlemler, sistemin sürekli olarak güvenlik açığına karşı koruma sağlamasını ve potansiyel tehditlerle başa çıkabilmesini kolaylaştırır.