Firewall Log'larını Anlık İzleme | |||||
(+) Bu yazı birebir denenmiştir ve başarılı olunmuştur. Firewall paketlerin geçişini kontrol eden donanımdır. Paketlerin geçişine izin verip vermeme gibi kararlar alır ve her paket için verdiği kararı raporlar (log'lar). Bu yazıda firewall'ın log'larını iç ağdaki bir bilgisayara yönlendirip iç ağdaki bilgisayardan log'ların nasıl anlık olarak izlenebileceği gösterilecektir. Firewall paketlerin geçişine izin verilip verilmeyeceğini (DROP ve ALLOW ile) tayin eden bir yazılımdır. Router içerisindeki firewall bu kontrolü yaparken log kaydı tutma özelliğine de sahiptir. Ancak router'ın belleği kısıtlı olduğu için log kaydı tutma işlemi router üzerinde yapılmamaktadır. Bu iş için log'ların depolanabileceği bir server makina kullanılmaktadır. Diyelim ki Ubuntu 14.04 işletim sistemine sahip Asus Laptop'ımı server yapmak istiyorum. Böylece router'daki log'ları kendime yönlendirip depolayabileceğim. Kendi makinamı log sunucusu yapabilmek için syslog yazılımından faydalanabilirim. Bu yazıda anlatılan teknik işlemler tamamlandığında router, log'ları gönderen client hükmünde olacakken makinam ise log'ları kaydeden server konumunda olacaktır. O halde hadi başlayalım: İlk olarak Ubuntu 14.04 işletim sistemini log sunucusu yapalım. Bunun için rsyslog daemon'ını yapılandırmamız gerekmektedir. O yüzden aşağıdaki gibi rsyslog daemon'ının dosyasını açalım. nano /etc/rsyslog.conf // rsyslog kurulu gelmezse > apt-get install rsyslog Açılan dosyada yer alan aşağıdaki satırların başındaki diyez işaretlerini kaldıralım: $ModLoad imudp $UDPServerRun 514 Daha sonra dosyanın en altına şu satırları koyalım: $template TmplAuth, /var/log/firewall.log
Not:
Sistemimden kaynaklanan bir problem dolayısıyla bu yazıda bahsedilen tüm teknik işlemler tamamlandığında log dosyası kernel hatalarıyla dolup taştı. Bu işi çözebilmek için /etc/rsyslog.conf dosyasında yer alan aşağıdaki kodun başına diyez işareti koyarak kernel hatalarını kapatalım. #$ModLoad imklog Daha sonra /var/log klasörünün sahibini syslog yapalım: cd /var && sudo chown syslog:syslog log En sonunda ise rsyslogd daemon'ını tekrar başlatalım: sudo service rsyslog restart // root olsan bile sudo kullan. Aksi takdirde service bulunamıyor. Böylece sistemimizi log sunucusu yapmış olduk ve router'dan log almaya hazır konuma getirdik. Şimdi router'ı log gönderir hale getirelim. Bunun için router'ın arayüzüne girip Firewall ayarlarından log gönderilecek IP adresi olarak kendi makinamızın IP adresini girelim. http://192.168.0.1 // Router Arayüzüne Götürür ![]() Yukarıdaki resimden görülebileceği üzere Güvenlik Duvarı -> Uzak Kütük sekmesine geçilerek log'ların gönderileceği adres olarak kendi makinamızın IP'si koyulmuştur. Uygula butonuna basıldıktan sonra router'ın içerisindeki firewall yazılımı log'ları makinamıza göndermeye başlayacaktır. Router makinasından gelen log kayıtlarını /var/log dizini altında yer alan firewall.log dosyasına bakarak görüntüleyebiliriz. tail -f /var/log/firewall.log Çıktı: ![]() Log kayıtlarına göre firewall yazılımının paket geçişine izin verdiği ve vermediği durumların ekrana düştüğü görülmektedir. (ALLOW, DENIED). Sonuç olarak router makinasındaki firewall kendinde tanımlı kurallara göre iç ağ ve dış ağ arasındaki her paketin geçişine müdahil olmaktadır (DROP, ALLOW, DENIED) ve bu müdahalelerinin hepsini log'lamaktadır. Biz bu yazıda yaptığımız işlem ile router makinasının ürettiği log kayıtlarını iç ağdaki log sunucusuna (sistemimize) yönlendirmiş olduk. Böylece sistemimizden router makinasında dönen olayları izleyebilir hale gelmiş olduk.
Not:
Router makinası paket gelip geçtikçe sürekli log üreteceğinden sistemimizdeki (log sunucumuzdaki) log dosyası sürekli güncellenecektir. Gelen her yeni log kaydı log dosyasına append olacaktır. Dolayısıyla tail tool'unun -f parametresi ile sürekli güncellenen log dosyasının güncel bir şekilde ekrana basılmasını sağlamış olduk. Yani -f parametresi ile log dosyasına eklenen her yeni kayıt anlık olarak ekrana verilebilmektedir. Firewall Log'larını Analiz Etme Kendi bilgisayarımdan nmap ile router'ımı aşağıdaki gibi port taramasına tabi tuttuğumda nmap -sS 192.168.0.1 log dosyasına şöyle kayıtlar düşüvermiştir: ![]() 192.168.0.15 // Benim bilgisayarımın IP Adresi 192.168.0.1 // Router'ın IP Adresi Kayıtlardan görülebileceği üzere 192.168.0.15 adresinden 192.168.0.1 adresine paketler gitmektedir ve bu paketler router'a vardığında DENY edilmektedir. Bilgisayarımdan router'a yapılan nmap port tarama işlemi bitene kadar bu tür log kayıtları firewall'dan gelmeye devam etmiştir ve bilgisayarımdaki nmap port taraması bittiği an firewall'dan bu kayıtların gelişi de bitmiştir. Dolayısıyla diyebiliriz ki nmap port tarama paketleri firewall log'larında “Firewall interface access request” olarak işaretlenmektedir. Bu bilgiden hareketle firewall log'larına bakmaya devam ettiğimzde port tarama paketlerinin dışarıdan da geldiği görülmüştür: ![]() Yeşil renkli log kayıtlarına bakalım.
... 84.43.212.99,64148 --> 178.233.170.175,18211 DENY: Firewall interface access request
... 111.121.193.195,58504 --> 178.233.170.175,2433 DENY: Firewall interface access request Paketin geldiği adreslere bakacak olursak paketin yabancı adreslerden geldiği görülmektedir. 178.233.170.175 adresi ise benim public IP'mdir. Çünkü What is My IP Address siteleri bu adresin benim public IP'im olduğunu söylemektedir. Bu log kayıtlarının açıklamaları ise “Firewall interface access request” şeklindedir. Demek ki dışarıdan router'ıma port tarama paketleri gelmiş. Yani birisi dışarıdan benim router'ımı taramış. Saldırgan bu tür port tarama işlemlerini nmap aracı ile belli bir IP aralığını tarayarak yapabilir. Yani illa beni tek hedef seçmiş olması gerekmez. Taranan IP aralığına denk geliyorsam ben de taranmış olurum. O yüzden saldırgan belli bir IP aralığını tararken benim router'ımın IP'si de denk geldiği için firewall log'larına yukarıdaki gibi saldırı paketleri düşmüştür.
Not:
Aşağıda tüm interneti tarayan nmap kullanımını görmektesin. nmap -sS 0-255.0-255.0-255.0-255 Ancak bu bitmek bilmeyen bir tarama olacağından daha efektif ve hızlı sonuç almak için spesifik bir IP bloğu taranabilir. Örneğin; nmap -sS 178.1-255.0.0/16 Yukarıdaki tarama ile 178.x.0.0/16 network'ündeki her makina taranacaktır. x değiştikçe network adresi de değişeceğinden birçok network taranacaktır. Bu tarama sonucunda benim router'ım da tarananlar arasında yer alacaktır. Çünkü IP adresim 178.233.170.175. Böylece saldırgan hiç tanımadığı makinaları nmap ile tarayarak zafiyet arayabilecektir. Böylece log takibi ile dışarıdan gelen bir saldırıyı tespit etmiş olduk. Saldırı kaydının oluştuğu tarihe bakarak saldırının gerçekleştiği zamanı öğrenebiliriz. Bu tip saldırıları tespit etmek için illaki ekranda akan log kayıtlarına sürekli bakmamız gerekmez. log dosyasını belli aralıklarla grep ile işleme sokarak da saldırı mahiyetinde kayıt olup olmadığını anlayabiliriz. Böylece saldırıya maruz kaldık mı kalmadık mı sorusuna cevap bulabiliriz. Firewall Hakkında Firewall donanım olabileceği gibi işletim sistemlerimizde yüklü yazılım da olabilir. Her ikisi de aynı işi yapar. Yani paketlerin geçişini kontrol eder. Paketlerin geçip geçmeyeceği kararlarını alır ve her paket için aldığı kararı raporlar (log'lar). Firewall donanımı da yazılımı da kurallara sahiptir ve o kurallara göre paketlerin geçişişine dair kararlar alırlar. Firewall'a kendi kuralımızı ekleyebilmekteyiz. Yararlanılan Kaynaklar
|
|||||
![]() |
|||||
|
|||||
Yorumlar |
|||||
Henüz yorum girilmemiştir. | |||||
Yorum Ekle | |||||