D P U S E C

Siber Güvenlikte Linux Dosya Sistemi Analizi

Siber Güvenlikte Linux Dosya Sistemi Analizi



Linux dosya sistemi analizi, güvenlik ihlallerini ve yetkisiz erişimleri tespit etmek ve kötü niyetli faaliyetleri belirlemek için hayati önem taşır. Dosya yapıları, erişim izinleri ve zaman damgaları gibi unsurlar, saldırganların bıraktığı izleri incelemek için kullanılır. Ayrıca, güvenlik açıklarının hızlı bir şekilde belirlenmesini sağlar ve olası tehditlere karşı zamanında müdahale edilmesine yardımcı olur. Dolayısıyla, Linux dosya sistemi analizi, özellikle güvenlik ve olay müdahale süreçlerinde kritik bir rol oynar.


Linux Dosya Sistemi Analizinde Hangi Temel Komutlar Kullanılır?

Linux komutları, sistemdeki dosyaların, dizinlerin, izinlerin ve genel yapının incelenmesini sağlar. Bu bağlamda, yaygın olarak kullanılan bazı temel komutlar:

  • ls: Dizin içeriğini listeler, dosya izinleri, sahiplik, boyut ve son değiştirilme tarihi gibi bilgileri gösterir.
  • find: Belirli kriterlere göre dosya ve dizinleri arar. Dosya boyutuna, sahibine, izinlerine veya son erişim tarihine göre arama yapılabilir.
  • grep: Dosyalar içinde belirli bir metni aramak için kullanılır. Forensik analizde, log dosyaları veya yapılandırma dosyalarındaki kritik bilgileri bulmak için sıklıkla kullanılır.
  • stat: Bir dosya veya dizin hakkında ayrıntılı bilgi sağlar. Özellikle erişim izinleri, sahiplik, zaman damgaları gibi forensik açıdan önemli bilgiler sunar.
  • lsof: Sistem üzerinde açık olan dosyaları ve bu dosyaları hangi süreçlerin kullandığını gösterir. Canlı analiz sırasında hangi dosyaların erişimde olduğunu tespit etmek için önemlidir.
  • ps: Çalışan süreçleri listeler, hangi süreçlerin aktif olduğunu ve hangi dosyalara eriştiğini belirlemek için kullanılır.
  • chmod: Dosya ve dizinlerin izinlerini (okuma, yazma, çalıştırma) ayarlamak için kullanılır.
  • chown: Dosya ve dizinlerin sahibini ve grubunu değiştirmek için kullanılır.


  • SUID (Set User ID) ve SGID (Set Group ID) bitleri

    Unix ve Linux dosya sistemlerinde güvenlikle ilgili özel izin bitleridir. Bu bitler, bir dosya veya program çalıştırılırken, kullanıcıya dosya sahibinin veya grubunun ayrıcalıklarını geçici olarak verir. Özellikle belirli sistem görevlerinde kritik öneme sahiptirler fakat yanlış kullanıldığında güvenlik riskleri yaratabilirler.


    SUID (Set User ID)

    Bir dosyaya SUID biti ayarlandığında, dosya sahibinin haklarıyla çalıştırılır. Kullanıcı, dosya sahibinin yetkilerini geçici olarak alır. Bu mekanizma, sıradan kullanıcıların root yetkisiyle belirli komutları çalıştırmasına olanak tanır. Örneğin, /usr/bin/passwd komutu SUID ile yapılandırılmıştır. Böylece, kullanıcılar root yetkisi olmadan kendi parolalarını değiştirebilirler. Fakat yanlış yapılandırılmış bir SUID dosyası, güvenlik riskleri oluşturabilir. Kötü niyetli kullanıcılar bu açıkları kullanarak root yetkisi elde edebilirler. Bu nedenle, SUID bitini dikkatli ve yalnızca gerekli durumlarda kullanmak önemlidir.


    SGID (Set Group ID)

    SGID biti ayarlanmış bir dosya çalıştırıldığında, kullanıcı dosya grubunun yetkilerini alır. Dizinlerde SGID, yeni dosyaların ana grubunu dizinle aynı yapar. Bu mekanizma, grup tabanlı erişim kontrolünde önemli bir rol oynar. Örneğin, bir grup tarafından paylaşılan dizinde SGID, dosyaların aynı grup yetkileriyle oluşturulmasını sağlar. Ancak, SGID bitinin yanlış kullanımı güvenlik açıklarına neden olabilir. Kullanıcılar beklenmedik gruplar adına işlem yapabilirler. Bu nedenle, SGID’yi de dikkatli kullanmak gerekir.


    Linux sisteminde dosya izinleri nasıl yönetilir ve analiz edilir?

    Linux sistemlerinde dosya izinleri, dosya ve dizinlere erişimi denetlemek için kritik bir rol oynar. Her dosya ve dizin, üç temel izin türü (okuma, yazma, çalıştırma) ile yönetilir. Bu izinler, üç farklı kullanıcı grubuna (sahip, grup, diğer) atanır ve doğru şekilde yönetilmeleri, sistem güvenliğini sağlamak açısından büyük önem taşır. Şimdi, bu izinlerin nasıl çalıştığını ve nasıl yönetildiğini inceleyelim.


    İzin Türleri:
  • Okuma (r): Dosyanın içeriğini okuma izni verir. Dizinlerde ise, bu izin dizindeki dosyaların listelenmesine olanak tanır.
  • Yazma (w): Dosyanın içeriğini değiştirme veya silme izni verir. Dizinlerde, bu izin dizin içinde dosya oluşturma veya silme yetkisi sağlar.
  • Çalıştırma (x): Dosyanın bir program olarak çalıştırılmasına izin verir. Dizinler içinse, bu izin dizine giriş yapabilme yetkisini sunar.


  • Kullanıcı Türleri:
  • Sahip (user, u): Dosyanın veya dizinin sahibine atanmış izinler.
  • Grup (group, g): Dosya veya dizinle ilişkili gruba atanmış izinler.
  • Diğer (others, o): Sahip ve grubun dışındaki tüm kullanıcılara atanan izinler.


  • İzinlerin Görüntülenmesi:

    ls -l komutu: Bu komut, dizin içeriğini uzun formatta listeler ve her dosyanın izinlerini ayrıntılı olarak gösterir.

    Bu örnekte, başlangıçtaki – işareti dosyanın türünü belirtir ve bu işaret, düz bir dosya olduğunu gösterir. Bu karakter d olduğunda ise bir dizin olduğunu ifade eder. İzin haklarını üçlü gruplar halinde görüntüledik: rwx kullanıcıya, r-x grup üyelerine, r-x diğer kullanıcılara aittir. İlk üçlü, dosya sahibinin okuma (r), yazma (w) ve çalıştırma (x) iznine sahip olduğunu belirtir. Diğer iki grup ise, grubun ve diğer kullanıcıların sadece okuma ve çalıştırma iznine sahip olduğunu gösterir.

    Sayılar, dosyanın bağlantı sayısını ve boyutunu belirtir. kali kali ise dosyanın sahibi ve grubunu temsil eder. Tarih dosyanın en son ne zaman değiştirildiğini gösterir. Son olarak da dosya veya dizin adı yer alır.


    İzinlerin ve Sahipliğin Değiştirilmesi:
  • chmod komutu: Dosya ve dizin izinlerini değiştirmek için kullanılır.
  • Sembolik Mod: chmod u+rwx filename – Dosya sahibine okuma, yazma ve çalıştırma izni ekler.
    Oktal Mod: chmod 755 filename – Sahip için tam erişim (7), grup ve diğer kullanıcılar için okuma ve çalıştırma izni (5) verir.
  • chown komutu: Dosyanın sahibini ve grubunu değiştirmek için kullanılır.
  • chown user:group filename – Dosyanın sahibini user, grubunu ise group olarak değiştirir.
  • chgrp komutu: Sadece dosyanın veya dizinin grubunu değiştirmek için kullanılır.
  • chgrp group filename – Dosyanın grubunu group olarak değiştirir.

    Dosya İzinlerinin Analizi:
  • stat komutu: Bir dosyanın izinleri, sahipliği ve diğer ayrıntılı bilgilerini sağlar.
  • `stat filename` komutuyla, dosyanın izinlerini, sahipliğini, zaman damgalarını ve diğer metadata bilgilerini kolayca görebilirsiniz.
  • find komutu: Sistem genelinde SUID, SGID gibi özel izinlere sahip dosyaları bulmak için kullanılır.
  • Örneğin:
    SUID bitine sahip dosyaları bulur. – find / -perm /4000
    SGID bitine sahip dosyaları bulur. – find / -perm /2000
    Sticky Bit’e sahip dosyaları bulur. – find / -perm /1000

    Bu araçlar ve komutlar sayesinde Linux sisteminde dosya izinlerini etkin bir şekilde yönetebilir ve analiz edebilirsiniz. Bu sayede, sistem güvenliğini sağlayarak olası tehditlere karşı önlemler alabilirsiniz.


    Gelişmiş Tarama Araçları

    Linux ve diğer işletim sistemlerinde güvenlik açıklarını tespit etmek, sistem yapılandırmalarını analiz etmek ve ağ trafiğini izlemek için kullanılan çeşitli gelişmiş araçlar mevcuttur. Bu araçlar, güvenlik testlerinin daha etkili bir şekilde gerçekleştirilmesini sağlar ve siber tehditlere karşı savunmayı güçlendirmede kritik bir rol oynar. Şimdi, bu araçlardan en yaygın olarak kullanılanlarına göz atalım.

  • Nmap (Network Mapper): Nmap, ağ taraması ve güvenlik denetimi için kullanılan çok yönlü bir araçtır. Bu araç, ağdaki açık portları, servisleri, işletim sistemlerini ve güvenlik açıklarını tespit eder. Sonuç olarak, Nmap, sistem ve ağ güvenliğini sağlamak için ağdaki cihazları haritalandırır, potansiyel zayıflıkları ortaya çıkarır ve savunma stratejilerinin oluşturulmasına yardımcı olur.
  • Metasploit Framework: Metasploit, güvenlik açıklarını taramak ve bunları istismar etmek için kullanılan güçlü bir araçtır. Özellikle penetrasyon testi sırasında saldırı vektörlerini simüle etmek ve güvenlik zayıflıklarını belirlemek için kullanılır. Ayrıca, güvenlik testlerinde yaygın olarak kullanılan Metasploit, güvenlik açıklarını etkin bir şekilde test etmek için gelişmiş özellikler sunar.

  • Kali Linux’da Bulunan Adli Bilişim Araçları

    Kali Linux, siber güvenlik uzmanlarının yanı sıra adli bilişim uzmanları tarafından da sıkça kullanılan bir Linux dağıtımıdır. Bu işletim sistemi, çeşitli adli bilişim araçları içerir. Bu araçlar, siber suçları tespit etmek ve önlemek için kritik bir rol oynar.

    İşte Kali Linux’un en çok kullanılan adli bilişim araçları:
  • The Sleuth Kit NTFS, FAT ve Ext dosya sistemlerini inceleyen bu araç, disk analizlerinde oldukça etkilidir. Ayrıca, dosya sistemlerindeki değişiklikleri takip ederek detaylı bir inceleme yapmanıza olanak tanır.
  • Autopsy Grafik arayüzüyle kullanıcı dostu olan Autopsy, dosya sistemlerini tarar ve çeşitli veri türlerini analiz eder. Zaman çizelgesi oluşturma, anahtar kelime arama ve hash filtreleme gibi gelişmiş özellikleri sayesinde derinlemesine inceleme imkanı sunar.
  • Foremost Foremost, disk imajlarından silinen dosyaları geri yükler ve JPG, PDF gibi farklı formatları destekler. Veri kurtarma operasyonlarında etkili bir çözüm sunar.
  • Volatility Framework Bellek dökümlerini analiz eden Volatility, kötü amaçlı yazılımları tespit etmekte etkilidir. Ayrıca, canlı sistem analizleri yapar ve bellek üzerindeki aktiviteleri detaylıca inceler.
  • Wireshark Wireshark, ağ trafiğini izler ve güvenlik açıklarını belirler. Ağ protokollerini detaylı analiz edebilir ve hem canlı veri yakalama hem de çevrimdışı analiz yapmanıza olanak tanır.
  • Metasploit Güvenlik açıklarını tespit etmek ve sızma testleri yapmak için kullanılan Metasploit, birçok modül içerir. Farklı saldırı senaryolarını test ederek sistem güvenliğini değerlendirebilirsiniz.


  • Kaynakça


    https://cyberskillshub.com/linux-dosya-sistemi-analizi
    https://www.infosecinstitute.com/resources/digital-forensics/kali-linux-top-5-tools-for-digital-forensics/
    https://web.deu.edu.tr/doc/lis/lis-4.html

    Daha fazla bilgi için sitemizi inceleyebilirsiniz: https://dpusec.org/