Linux Sistemlerde Log Dosyaları Üzerinden Adli Bilişim İncelemesi

Linux Sistemlerde Log Dosyaları Üzerinden Adli Bilişim İncelemesi
[EXHIBIT_A] Featured evidence

Bu makalede bir Linux sistem üzerinde gerçekleştirilecek adli bilişim incelemelerinde incelenmesi gereken log dosyalarından bazılarına değineceğim. İlk olarak kullanıcıların aktivitelerinin kayıt altına alındığı loglardan başlayalım. Linux işletim sisteminde kullanıcının hareketlerine ilişkin olayların loglandığı üç temel dosya vardır.

Bunlar;

▪/var/run/utmp

▪/var/log/wtmp

▪/var/log/lastlog

utmp” ve “wtmp" dosyalarında kulllanıcıların oturum açma ve kapatma kayıtları tutulur ve bu kayıtlar binary (ikili) formatındadır. "utmp" dosyasında sadece aktif sistem oturumlarına ilişkin bilgiler yer alırken, "wtmp" dosyasında geçmişe ait, artık aktif olmayan oturumlara ait bilgiler de yer alır. Her iki dosyaya da last komutunu -f parametresi ile kullanarak erişmek mümkündür. Aşağıdaki ekran görüntüsünde bu konutun örnek bir çıktısı yer almaktadır.

exhibit_viewer.exe
Linux-Log-Adli-Bilisim01
[EXHIBIT] Linux-Log-Adli-Bilisim01

lastlog dosyası binary bir dosyadır ve her bir kullanıcının en son ne zaman hangi IP adresinden oturum açtığını da gösterir. Çalışan sistem üzerinde "lastlog" komutu çalıştırılarak dosyanın içeriğine ulaşılabilir. Bu dosyayı offline analiz etmek için ise http://www.hcidata.info/lastlog.htm adresindeki PERL script kullanılabilir. Aşağıdaki ekran görüntüsünde örnek bir lastlog çıktısını görebilirsiniz.

exhibit_viewer.exe
Linux-Log-Adli-Bilisim02
[EXHIBIT] Linux-Log-Adli-Bilisim02

Kullanıcılar tarafından önceden girilen komutların neler olduğunu öğrenmek içinise lastcomm komutunu kullanabiliriz. Örneğin halil isimli kullanıcı tarafından sistemde çalıştırılan geçmiş komutların listesini öğrenmek için lastcomm halil komutunu çalıştırmamız yeterli. Aşağıdaki resimde örnek olarak çalıştırdığımız bu komutun çıktısı ve çıktıda yer alan alanların ne anlama geldiği gösterilmiştir.

exhibit_viewer.exe
Linux-Log-Adli-Bilisim03
[EXHIBIT] Linux-Log-Adli-Bilisim03

Linux sistemlerde önemli loglama bileşenlerinden birisi de Syslog'dur. Linux sistemlerdeki sistem loglarının bir çoğu /var/log dizini altında yada bu dizin altındaki alt dizinlerde tutulur. Syslog istemci/sunucu mimaride çalışır ve hem yerel he mde uzak bir sunucuya logların gönderilmesine imkan tanır. Bununla birlikte standalone çalışan Linux sistemlerin çoğunda loglar yerelde tutulur. Syslog konfigurasyonuna ilişkin detaylar /etc/syslog.conf dosyasında yer alır.

Syslog'da olayların türleri ve öncelik seviyerleri aşağıdaki tablolarda gösterildiği şekilde sınıflandırılır.

exhibit_viewer.exe
Linux-Log-Adli-Bilisim04
[EXHIBIT] Linux-Log-Adli-Bilisim04

İlgili konfigürasyon dosyası olan syslog.conf dosyasında tanımlar aşağıdaki şekilde yapılır.

sınıf.seviye aksiyon

Örneğin;

▪mail.info /var/log/maillog

Uzak sunucudaki Syslog’a yazmak için aksiyon kısmıda @ işareti ile birlikte uzak sunucunun IP adresini yazmak gerekiyor.

Örneğin aşağıdaki gibi bir satır kernel'in kritik seviyedeki olaylarını hem root kullanıcısının consoluna hem de 192.168.1.11'de çalışan syslog sunucuna yazar;

▪kern.crit root,@192.168.1.11

Syslog mesajları clear-text olarak UDP üzerinden uzak Syslog sunucusuna iletilir. Bir syslog mesajı genelde 5 alandan oluşan tek bir satırdır. Bu satırdaki ilk alan mesajın oluşturulduğu zamanı, ikinci alan mesajın oluşturulma saatini, üçüncü alan mesajı oluşturan bilgisayarın adını, dördüncü alan log kaydını oluşturan prosesin adını ve son alan da logun kendisini gösterir.

Adli bilişim incelemelerinde analiz edilmesinde fayda olan log dosyaları ve bu log dosyalarının hangi amaçla kullanıldığını gösteren tablo aşağıda gösterilmiştir. Canlı sistem üzerinde yapılan adli bilişim incelemelerinde bu dosyaların içindeki logları okumak için genellikle tail komutu –f parametresi ile birlikte kullanılır. Disk imajları üzerinden yapılacak incelemede ise ilgili log dosyalarının tabloda gösterilen tam yollarına gidilerek text tabanlı olan bu dosyalar analiz edilir.

exhibit_viewer.exe
Linux-Log-Adli-Bilisim05
[EXHIBIT] Linux-Log-Adli-Bilisim05

Örneğin aşağıdaki ekran görüntüsünde /var/log/auth.log dosyasının içeriği analiz edilerek öğrenilen bir şifre kırma saldırısına ait izleri görebilirsiniz.

exhibit_viewer.exe
Linux-Log-Adli-Bilisim06
[EXHIBIT] Linux-Log-Adli-Bilisim06

Son olarak da /var/log/kern.log dosyasından bir örnek vererek makaleyi sonlandırayım. Bu dosya işletim sisteminin çekirdeğine ilişkin olay kayıtlarının bulunduğu log dosyasıdır ve bu dosyayı analiz ederek ilgili bilgisayara herhangi bir harici diskin takılıp takılmadığı, takıldı ise ne zaman takıldığı gibi bilgilere ulaşılabiliriz. Aşağıdaki ekran görüntüsünde yer alan örnek log dosyasından da görülebileceği üzere bilgisayara içinde tek partititon olan bir tane USB flash disk bağlanmış.

exhibit_viewer.exe
Linux-Log-Adli-Bilisim07
[EXHIBIT] Linux-Log-Adli-Bilisim07

Yukarıda yer alan çıktıdaki kernel: ifadesinden sonra gelen değer ilgili olayın zaman bilgisini gösterir ve çekirdeğin yüklenmesinden itibaren saniye ve milisaniye cinsinden geçen zamanı ifade eder.

AUTHOR
Halil Öztürkci

Halil Öztürkci

Cybersecurity expert with 25 years of hands-on experience across the full attack-defense spectrum.

I've spent my career on both sides of the battlefield—investigating breaches through digital forensics, hunting APT groups through threat intelligence, building and leading security operations, dissecting malware, and executing red team engagements. Now I'm focused on the next frontier: LLM security, AI red teaming, and building secure AI/ML pipelines.

From incident response to adversary simulation, from SOC architecture to AI-powered threat detection—I decode complex security challenges and translate them into actionable defense.

enjoyed this? get more like it.