İçeriğe atla
Kopya kâğıtları
Günlük analizi

Günlük analizi: grep, awk, jq, olay kimlikleri

Metin tabanlı günlükleri süzmek için grep, awk, jq kalıpları ve önemli Linux/Windows olay kimlikleri.

6 bölüm35 satırSon güncelleme

grep temel kalıplar

6 satır
  • grep -i hata gunluk.log

    Büyük ve küçük harf duyarsız arama yapar.

  • grep -v basarili gunluk.log

    Belirtilen deseni içermeyen satırları gösterir.

  • grep -c 'Failed password' auth.log

    Eşleşen satır sayısını verir, toplam deneme sayısını gösterir.

  • grep -n 'error' uygulama.log

    Eşleşen satırların satır numarasını da gösterir.

  • grep -E '4625|4648' gunluk.txt

    Genişletilmiş düzenli ifadeyle birden çok deseni aynı anda arar.

  • grep -r 'TODO' /uygulama/

    Bir dizin ağacındaki tüm dosyalarda deseni arar.

awk temel kalıplar

5 satır
  • awk '{print $1}' erisim.log

    Her satırın ilk alanını, genelde IP adresini yazdırır.

  • awk -F',' '{print $2}' veri.csv

    Virgülü alan ayırıcı kabul edip ikinci sütunu yazdırır.

  • awk '$9==404 {print $1}' erisim.log

    Dokuzuncu alanı 404 olan satırların ilk alanını yazdırır.

  • awk '{s+=$1} END {print s}' rakamlar.txt

    Bir sütundaki sayıları toplayıp sonunda yazdırır.

  • awk 'NR>1' veri.csv

    İlk satırı atlayarak geri kalanını yazdırır.

jq temel kalıplar

5 satır
  • jq '.kullanici.ad' veri.json

    İç içe bir alanın değerini okur.

  • jq '.[] | .id' liste.json

    Bir JSON dizisindeki her ögenin id alanını sırayla yazdırır.

  • jq 'select(.seviye=="kritik")' gunluk.json

    Yalnız belirtilen koşulu sağlayan kayıtları filtreler.

  • jq -r '.mesaj' gunluk.json

    Sonucu tırnaksız, ham metin olarak yazdırır.

  • jq '[.[] | .sure] | add' gunluk.json

    Bir dizideki sayısal alanları toplar.

Linux önemli olay kaynakları

6 satır
  • sshd: Accepted password

    Başarılı SSH parola girişini gösterir, auth.log veya journalctl'de görülür.

  • sshd: Failed password

    Başarısız SSH giriş denemesini gösterir, tekrar sayısı kaba kuvvet göstergesi olabilir.

  • sudo: COMMAND=

    sudo ile çalıştırılan komutu ve çalıştıran kullanıcıyı kaydeder.

  • useradd[…]: new user

    Yeni kullanıcı hesabı oluşturulduğunu kaydeder.

  • CRON: (kullanici) CMD

    Zamanlanmış görevin çalıştığını kaydeder.

  • journalctl -k

    Yalnız çekirdek günlüğünü gösterir, donanım ve güvenlik modülü olaylarını içerir.

Windows önemli olay kimlikleri

8 satır
  • 4624

    Başarılı oturum açma.

  • 4625

    Başarısız oturum açma denemesi.

  • 4648

    Açık kimlik bilgisiyle oturum açma, yanal hareket incelemesinde önemlidir.

  • 4672

    Yönetici düzeyinde özel ayrıcalıklarla oturum açma.

  • 4688

    Yeni bir sürecin oluşturulması.

  • 4697

    Sisteme bir servis kurulması.

  • 4720

    Yeni bir kullanıcı hesabı oluşturulması.

  • 1102

    Güvenlik günlüğünün temizlenmesi, iz gizleme göstergesi olabilir.

Birleşik hat örnekleri

5 satır
  • grep 'Failed password' auth.log | awk '{print $(NF-3)}' | sort | uniq -c | sort -rn

    Başarısız girişleri kaynak IP'ye göre sayıp en çok denenenden sıralar.

  • cat erisim.log | awk '{print $1}' | sort | uniq -c | sort -rn | head -10

    En çok istek gönderen ilk 10 kaynağı listeler.

  • journalctl -u sshd --since today | grep Failed | wc -l

    Bugün oluşan başarısız SSH girişi sayısını verir.

  • grep -oE '([0-9]{1,3}\.){3}[0-9]{1,3}' gunluk.log | sort -u

    Günlükten benzersiz IP adreslerini ayıklar.

  • tail -n 1000 gunluk.log | grep -ci hata

    Son 1000 satır içindeki hata sayısını verir.