Özellikle web tabanlı saldırılarda, olay müdahale veya saldırı analizi sırasında web sunucu iz kayıtları gerçekten hayat kurtarabiliyor. Bu yazıda binlerce satır iz kayıtlarını hızlı ve görsel olarak incelemek adına Goaccess adında bir yazılımdan bahsedeceğiz.
GoAccess açık kaynak gerçek zmaan tabanlı, terminal veya tarayıcı üzerinden çalışabilen iz kayıt analiz aracı. Ubuntu üzerinde varsayılan olarak paket yöneticilerinde geliyor fakat en güncel sürümü için aşağıdaki kodları çalıştırmanız gerekli. Bu örnekte güncel sürüme gerek duymadığından "apt-get install goaccess" komuntları ile yazılımı kurdum.
Güncel sürüm için:
$ echo "deb http://deb.goaccess.io/ $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/goaccess.list$ wget -O - https://deb.goaccess.io/gnugpg.key | sudo apt-key add -$ sudo apt-get update$ sudo apt-get install goaccess
Bu araç Nginx ve Apache2 iz kayıtlarını otomatik olarak tanıyor (log format parametresine COMBINED değeri göndererek), eğer özel bir iz kayıt formatınız varsa onu ayar dosyalarından belirtmeniz lazım.
Nginx formatı için iki önemli özelliğini kullanarak başlayalım
Birincisi access.log dosyasını analiz edererek HTML dosyası oluşturma :
goaccess /var/log/nginx/access.log -o inceleme.html --log-format=COMBINED
Yukarıdaki komut çalıştığı dizinde ekran görüntüsü aşağıdaki gibi olan bir dosya oluşturacaktır. inceleme.html dosyasına webden erişirseniz verilere bakabilirsiniz.
Eğer komut satırında yapmak istiyorsanız, komut aşağıdaki gibi. Bu komut anlık olarak çıktıyı incelemenize de olanak tanıyor
goaccess /var/log/nginx/access.log -c
Fakat hem tarayıcı üzerinden hem anlık isterseniz, aşağıdaki gibi bir komut kullanmalısınız.
goaccess access.log -o inceleme.html --log-format=COMBINED --real-time-html
Peki geçmişe dönük analiz için sıkıştırılmış log formatlarında ne yapacağız ?
zcat -f /var/log/nginx/access.* | goaccess -o inceleme.html --log-format=COMBINED --real-time-html
Hem anlık hem de geçmişe dönük istatistiklerde arayüzden güzel sorgular yapabilirsiniz.
Bu küçük ama verimli uygulama,
- Kullanıcıların saatlere göre dağılımı,
- Ülkelere göre girişler ve Bandwith kullanımı,
- Tarayıcı, HTTP status kodları, referrerlar gibi bir çok değeri özetliyor.
- İşletim sistemi bilgisi (En fazla Linux ile girilen nadir sitelerdenizdir)
Sol tarafta bulunan ayarlar sekmesinde ise küçük ayarlar yapabiliyorsunuz (tema, satır sayısı vb).
Olay müdahale sırasında genel resmi görmek için oldukça faydalı ayrıca komut satırında yazacağınız grep işlemleri de saldırıları analiz etmeniz konousunda işinize yarar. Şüpheli IP veya istekleri grepleyerek arayüzde inceleme yapabilirsiniz.
zcat -f /var/log/nginx/access.* | grep "SELECT" | goaccess -o inceleme.html --log-format=COMBINED --real-time-htmlzcat -f /var/log/nginx/access.* | grep "X.Y.Z.W" | goaccess -o inceleme.html --log-format=COMBINED --real-time-html
gibi.
Görsel olması da sunumlarda, istatistik içeren raporlarda kullanmak için oldukça faydalı.
Bu projenin web sayfası : https://goaccess.io/get-started
Bu Github sayfası : https://github.com/allinurl/goaccess
Bu da resmi Twitter hesabı : https://twitter.com/goaccess
Herkese iyi çalışmalar.
Bu makale 0xnur tarafından yazılmış veya yayınlanmıştır.