Linux Dosya Sistemi Analizi Kılavuzu – CyberSkillsHub

Mart 29, 2024
Linux Dosya Sistemi Analizi

Linux sistemlerinde gerçek zamanlı dosya sistemi analizi, tehdit bulgularını saptamada hayati önem taşır. Bu süreç, yetkisiz erişimi, kötü amaçlı faaliyetleri veya veri ihlallerini ortaya çıkarmak için dijital kalıntıları, sistem günlüklerini, kullanıcıları ve dosya yapılarını incelemeyi içerir.

Olaya müdahale sürecinin ilk aşamalarında sıklıkla yer alan canlı adli dosya sistemi analizi, potansiyel güvenlik ihlallerinin değerlendirilmesi ve belirlenmesinde kritik bir rol oynar. Bu süreç, izinsiz erişim, kötü niyetli aktiviteler veya veri tehlikelerinin kanıtlarını bulmak adına dijital artefaktlar, sistem kayıtları, kullanıcılar ve dosya yapılarını incelemeyi kapsar.

Linux Dosya Sistemine Giriş

Linux dosya sistemi, geniş çaplı esnek yapıları ve güvenlik mekanizmalarıyla karmaşık olayları analiz etmede önemli bir temeldir. Dosyaların yapısı, erişim izinleri ve zaman damgaları, bir güvenlik ihlalinde iz bırakan kritik faktörler arasındadır, dolayısıyla bu unsurların etraflıca anlaşılması zaruri olup, forensik incelemelerde metodolojinin iskeletini oluşturur.

Uzmanlar tarafından gerçekleştirilen titiz analizler, Linux ortamında meydana gelen atipik davranışları tespit etmek için kritik derecede mühimdir. Sistemde gerçekleştirilen değişikliklerin, dosya erişimlerinin ve izin düzenlemelerinin, saldırılar sırasında bırakılan ayak izlerinin belirlenmesinde kullanılıyor olması, bu analiz sürecini vazgeçilmez kılar.

Temel Komutlar ve Araçlar

Linux dosya sistemi analizinde kullanılan temel komutlar; ls, chmod, chown, find, grep, ve ps‘tir. Bu komutların detaylı kullanımı ve diğer önemli Linux komutları hakkında daha fazla bilgi için ‘Linux Komutları: Başlangıçtan İleri Seviyeye Uzmanlaşma Rehberi‘ yazımızı inceleyebilirsiniz. Bu komutlar, dosya ve klasörleri listeleme, izinleri görüntüleme, dosya arama yapısı, içerik filtreleme ve işlem listeleme işlevleri görür.

Linux sisteminde her dosya ve dizinin bir numarası bulunur, ve bu, dosya sistemi hakkında değerli bilgiler taşır.

last ve who komutları, kullanıcı aktivitesinin ve oturum bilgilerinin incelemesi için önemli araçlardır. Bu komutlar, saldırganın sisteme müdahalesi sırasında hangi komutların kullanıldığını ve oturum bilgilerini gözler önüne serer.

Dosya Yapısını Anlamak

Linux dosya sistemi analizinde, sistemin nasıl organize edildiğini ve dosyaların yerleşimini anlamak hayati öneme sahiptir. Her dosyanın ve dizinin hangi kullanıcı veya grup tarafından erişilebilir olduğu bu yapının temelini oluşturur.

  1. /etc: Sistem genelinde konfigürasyon dosyalarını içerir.
  2. /var/log: Sistem loglarının saklandığı yerdir, olayların izini sürmek için kritik öneme sahiptir.
  3. /home veya /users: Kullanıcıların kişisel dosya ve dizinlerini barındırır.
  4. /usr: Genellikle uygulama ve sistem programlarının yer aldığı bölümdür.
  5. /tmp: Geçici dosyaların saklandığı, saldırı sırasında exploiter içerebilen dizindir.
    İzin yapılarını ve zaman damgalarını detaylıca incelemek, bir dosya üzerindeki şüpheli değişiklikleri tespit etmede kesin veriler sunabilir.

İşletim sisteminin daemon ve servislerinin kaydettikleri log dosyaları, saldırının tespiti ve analizi sırasında elzem verileri sağlar. Bu dosyalar içerisinde saklanan zaman damgaları, olayların zaman çizelgesini oluşturmada kullanılır.

İzinsel Yapı ve İzleme

Linux işletim sistemi içerisindeki her dosya ve dizin, belirli izinlere tabidir; bu izinler, dosyaların kimler tarafından okunabileceğini, yazılabileceğini ya da çalıştırılabileceğini belirler. Dosyaların ve dizinlerin sahipliği (owner), grup (group) ve diğer kullanıcılar (others) bazında tanımlanan bu izinler, chmod, chown, ls – l gibi araçlarla yönetilir.

Sistem üzerindeki etkinlikleri izlemek için kullanılan auditd gibi izleme servisleri, sisteme yapılan erişimlerin ve izin değişikliklerinin detaylı kayıtlarını tutar, böylelikle anormal aktiviteler hızlı bir şekilde tespit edilebilir. Sistem ve ağ üzerindeki etkinliklerin izlenmesi ve yönetilmesi konusunda daha fazla bilgi edinmek isterseniz ‘Sistem ve Ağ Uzmanlığı Nedir ve Nasıl Yapılır?‘ başlıklı makalemize göz atabilirsiniz.

Dosya ve Dizin İzinleri

Linux dosya sistemine ait dosya ve dizin izinleri, erişim kontrolünün temelini oluşturur ve güvenlik açısından büyük öneme sahiptir. Bu izinler, dosya sahibi (owner), grup (group) üyeleri ve diğer kullanıcılar (others) için ayrı ayrı belirlenir ve okuma (r), yazma (w) ve çalıştırma (x) hakları olarak ifade edilir.

İzinlerin anlaşılır bir şekilde düzenlenmesi, otorizasyon kontrollerini güçlendirir. ls -l komutu, dosyaların izinlerini gösterir ve analiz ederken hayati bir role sahiptir. Sistem güvenliği açısından kritik öneme sahip şifreleme ve şifre kırma teknikleri hakkında daha fazla bilgi almak için ‘Şifre Kırma: En İyi Yöntemlerle Şifreleri Çözün‘ başlıklı yazımızı ziyaret edebilirsiniz.

Dosyalar üzerindeki izinlerin değişiklik geçmişini izleyebilmek, saldırı sonrası analiz için kritik önem taşır. Özellikle de root kullanıcısı tarafından gerçekleştirilen değişiklikler, potansiyel olarak zararlı aktivitelerin sinyalleri olabilir. Sıklıkla erişilen veya düzenlenen dosyalardaki izin değişiklikleri, bu dosyaların saldırganlar tarafından manipüle edilmiş olabileceğine işaret edebilir.

Öte yandan, dosya izinlerinin geçmişi, gelişmiş saldırıların tespiti için önemlidir, çünkü saldırganların izini kaybettirmek için yapmış olabilecekleri değişiklikler bu kayıtlar aracılığı ile ortaya çıkarılabilir. Bir dosyanın meta verilerinde ani değişiklik tespit edilmesi, sisteme yetkisiz erişimi ya da kötü niyetli bir yazılımın varlığını ortaya koyabilir. Bu, stat komutu yardımıyla dosya izinleri, erişim ve değişiklik zamanlarının ayrıntılı olarak incelenmesiyle gerçekleştirilir. Sistemde meydana gelen kritik izin değişikliklerini izlemek için auditd araçlarından da yararlanılabilmektedir.

SUID ve SGID Bitleri

Linux işletim sistemlerinde, dosya erişim kontrol mekanizmalarının temel taşlarından biri SUID (Set User ID) ve SGID (Set Group ID) bitleridir. Bu bitler, belirli dosyaların ve klasörlerin güvenlik kontrollerinin nasıl uygulanacağını belirler.

  1. SUID (Set User ID): Bir dosya üzerine SUID biti ayarlandığında, bu dosyanın çalıştırılması sırasında geçici olarak dosyanın sahibi olan kullanıcının yetkileri devralınır.
  2. SGID (Set Group ID): SGID biti ayarlandığında ise dosya ya da dizin, çalıştırıldığı zaman geçici olarak grup sahibinin yetkileri ile işlem görür.
  3. Dosya ve Dizin Güvenliği: SUID ve SGID bitleri, sistem güvenliğini sağlamak için özenle kullanılmalıdır, çünkü bu bitler yanlış konfigüre edildiğinde güvenlik açıklarına yol açabilir.
    Bir dosyadan SUID veya SGID bitlerini kaldırmak veya eklemek, chmod komutu ile yapılabilir. Bu işlem, sistem yöneticisi tarafından özel izin gerektiren durumlar için gereklidir.

Ayrıca, güvenlik incelemesi sırasında sistem üzerindeki tüm SUID ve SGID bitleri ayarlanmış dosyaların dikkatlice incelenmesi, yetkisiz erişim veya kötü amaçlı yazılım aktivitelerini belirlemede kritik öneme sahiptir.

Önemli Log Dosyaları

Linux sistemlerinde log kayıtları, olayların ve sistem aktivitelerinin izlenmesi için hayati önem taşır. Özellikle /var/log dizini, güvenlik analizi ve kötü niyetli faaliyetlerin teşhisinde merkezi bir rol oynar.

Saldırı tespiti ve sistem davranışının araştırılmasında auth.log, kern.log, ve syslog gibi log dosyaları kritik bilgiler sunar. Bu dosyalar, yetkilendirme denemeleri, kullanıcı oturum açma çabaları ve sistem hizmetlerinin durumu hakkında detaylı veriler içerir.

Düzenli log analizi, şüpheli olayları saptama ve olayların kronolojik sırasını oluşturmada birincil yoldur. logwatch, logcheck ve swatch komutları, bu konuda sıkça başvurulan araçlardır.

Auth ve Syslog Analizi

syslog ise, sistem hizmetleri ve kernel olayları gibi geniş bir aktivite yelpazesini kayıt altına alır. Güvenlik açısından, bu dosya içerisindeki bilgiler, sistem servislerine yönelik saldırıların veya hatalı davranışların analizinde kilit bir rol oynar. syslog üzerinde yapılan analiz, sistemin ne zaman ve nasıl kötüye kullanıldığına dair bir resim çizmeye yardımcı olur ve soruşturmanın yönünü belirleyebilir.

Son olarak, bu analizler esnasında zaman damgalarının bütünlüğü ve güvenilirliği de önemlidir. Sistem saatine yönelik manipülasyon girişimleri, saldırganın izlerini silmek amacıyla yapılmış olabilir. Bu nedenle, log kayıtlarını zaman sunucuları (NTP) ile senkronize tutmak ve her türlü saatin değişikliğini kayda geçiren chrony veya benzeri araçların loglarını incelemek, olayın tespiti ve çözümlemesinde etkin bir yöntem olarak karşımıza çıkar.

Dikkat Edilmesi Gereken Günlük İzleri

Linux sistemlerinde gerçekleşen olayların belgelenmesi ve kayıt altına alınması /var/log dizininde yer alan günlük dosyalarında toplanır. Bu dosyalarda, sistem ve uygulama hizmetlerinin etkinlikleri detaylı bir şekilde kaydedilir ve bilgi güvenliği uzmanlarının ilgisini çeker.

Örneğin, auth.log dosyası, kimlik doğrulama işlemleriyle ilgili önemli verileri içerir. Bu dosya, kullanıcı giriş ve çıkışları, sudo komutu kullanımları ve diğer doğrulama denemelerini takip etmek için değerli bir kaynaktır. Bir güvenlik ihlali şüphesi durumunda auth.log, yetkisiz erişimin izlerini saptamak için ilk incelenmesi gereken kayıtlardandır.

access.log ve error.log, web sunucularının trafik bilgilerini ve karşılaşılan hataları kaydeder. Kötü niyetli aktörlerin web uygulamalarına yönelik saldırı girişimlerini tespit etmek açısından, özellikle HTTP protokolü üzerinden yapılan isteklerin detaylarının çözümlenmesi kritiktir. Bu dosyalarda yer alan bilgiler, bir web tabanlı saldırının araştırılması ve engellenmesinde hayati rol oynar.

Son olarak, kern.log ve dmesg gibi günlük dosyaları, çekirdek ve donanım ile ilgili mesajları içerir. Sistem çökmesine sebep olan olaylar ya da sürücü hataları gibi kritik problemler bu günlük dosyalarında bulunabilir. Saldırganlar tarafından kullanılan kötü niyetli modüllerin tespit edilmesinde bu günlük dosyalarındaki bilgilerin analizi önem taşır.

Rootkit ve Arka Kapı Tespiti

Linux sistemlerinde rootkit ve arka kapı aktiviteleri, çoğu zaman standart güvenlik mekanizmalarının radarından kaçabilir. Rootkit ve arka kapı tespitinde kullanılan adli bilişim teknikleri ve bu alanda uzmanlaşma yolları için ‘Adli Bilişim Uzmanlığı Eğitiminde Başarıya Ulaşma Yolları‘ içeriğimizi inceleyebilirsiniz. Bu tehditleri tespit etmek için sistem çağrılarını izleyen çeşitli güvenlik araçları kullanılabilir; örnek vermek gerekirse, chkrootkit veya rkhunter gibi araçlar sisteminizi derinlemesine tarayarak şüpheli davranışları ortaya çıkarabilir. Ayrıca, değişiklik yapılmış sistem dosyaları ve gizli süreçler, kök dizin (/root) içerisinde ve /bin, /sbin, /usr/bin, /usr/sbin gibi kritik konumlarda detaylı bir şekilde incelenmelidir.

Sistem bütünlüğünü kontrol eden yazılımlar, AIDE ve Tripwire gibi uygulamalar, dosyaların izinlerinde ve içeriklerinde meydana gelen değişiklikleri belirleyerek saldırganların iz sürme faaliyetlerini açığa çıkarmakta kritik bir role sahiptir. Herhangi bir anormallik, sistem yöneticisinin hızlı ve etkili bir müdahalesini gerektirebilir.

Gelişmiş Tarama Araçları

Gelişmiş tarama araçları, Linux sistemlerinde kritik öneme sahiptir.

Linux sistemlerinde olay inceleme süreçlerinde, gelişmiş tarama araçları vazgeçilmez unsurlardan biri haline gelmiştir. İncelenecek sistemin mevcut durumunu detaylı bir biçimde anlamak ve potansiyel tehditlerin izlerini sürmek için bu araçlar, sistemin sırlarını deşifre etme yeteneğine sahip olmalıdır. Özellikle, gizlenmiş dosyalar, izin değişiklikleri ve anormallikleri tespit etmek ilk adımdır.

Kritik öneme sahip dosyaları koruyunuz.

Bu tür araçlar, yapısal analiz yaklaşımıyla – ve bazen heuristik tekniklerle – tespit ve analiz işlemlerini gerçekleştirebilmekte, böylece en gizli tehditleri bile aydınlığa çıkarabilmektedirler. Bu işlevsellik, kimlik doğrulamayı geçmiş ancak kötü niyetli olabilecek süreçleri saptamak için önemlidir.

Geliştirilmiş tarama araçlarının kullanımı özel bilgi ve tecrübe gerektiren bir uygulamadır. Siber güvenlik alanında kullanılan araçlar ve teknikler hakkında daha fazla bilgi almak ve bu alanda uzmanlaşmak için ‘Siber Güvenlik Eğitimi: Sektörde Uzmanlaşın‘ makalemizi okumanızı öneririz. Linux sistem güvenliği konusunda yetkinliğimiz, 2024 itibarıyla güncel tehditlere ve zafiyetlere karşı proaktif bir savunma geliştirebilmemiz için gereklidir. Bu doğrultuda, ortam taraması ve olay inceleme araçlarındaki yeni nesil gelişmeler, uygulamalarımızın etkinliğini artırma yolunda bize yardımcı olacaktır.

Şüpheli Proses ve Bağlantıları Analiz Etme

Linux sistemlerde çalışan şüpheli prosesler, siber saldırıların en belirgin izlerinden biridir. Prosesleri analiz ederken, çalışma zamanı, kullanıcı kimliği ve bağlantı noktalarına özellikle dikkat edilmelidir. Öncelikle ps komutu ile sistemde çalışan prosesler hızlıca incelenmelidir.

Prosesler arasında yabancı ve güvenilmeyen uygulamalar bulunabilir. Bu tür prosesleri belirlemek için top komutu etkili bir araçtır.

Çalışan proseslerin ağ üzerinde açmış olduğu bağlantıları kontrol etmek için netstat veya ss komutları kullanılır. Bu komutlar, dinlenen portlar ve kurulan bağlantıların kaynağını veya hedefini gösterir ve şüpheli ağ aktivitelerini ortaya çıkarabilir. Ayrıca, lsof komutu ile bir prosesin hangi dosyalara eriştiği, hangi dosyaların açık olduğu detaylandırılabilir.

Saldırganların izini sürmek ve yasadışı eylemleri tespit etmek için ise ileri düzey proses analiz yöntemleri uygulanmalıdır. Örneğin, strace komutu ile bir prosesin sistem çağrılarını izleyebiliriz; gdb veya volatility gibi araçlar ile prosesin bellek dump’larını analiz edebiliriz. Proses forensiği, şüpheli faaliyetleri belirlemenin yanı sıra, saldırıların metodolojisi hakkında bilgi sağlar ve düşmanın yetenekleri hakkında önemli istihbarat toplanmasına olanak tanır. Bu süreçler, kapsamlı bir tehlike değerlendirilmesine ve hassas bir müdahale planlamasına imkan verir.

Faruk Ulutaş

Faruk Ulutaş, siber güvenlik alanında derinlemesine bir uzmanlıkla donanmış bir bilgisayar mühendisidir. Kapsamlı programlama diline hakimiyeti ve geniş tecrübesi ile çeşitli siber güvenlik projelerinde yer alıp başarılı sonuçlar elde etmiştir. Çeşitli hackathon, kodlama maratonları ve Capture The Flag (CTF) yarışmalarında, hem yurt içinde hem de yurt dışında, gösterdiği üstün performansla sıkça ön plana çıkmıştır. Ayrıca, küresel ölçekte faaliyet gösteren bazı büyük şirketlerin siber güvenlik sistemlerinde kritik güvenlik açıklıklarını başarıyla belirlemiştir. Üstlendiği projelerde kullanıcı güvenliğini sağlamak ve siber saldırılara karşı koymak için çözüm üretme konusunda büyük bir yetenek sergilemiştir. Ulutaş, CyberSkillsHub üzerindeki rolü ile birlikte, öğrencilere kendi deneyimlerini ve bilgilerini aktararak siber güvenlik konusunda yeteneklerini geliştirmelerine yardımcı olmayı hedeflemektedir.