14 Haziran 2016

Cisco IOS Log Konfigurasyonu

Network yöneticileri için hataların tespitinde ve güvenlik ihlallerinin incelenmesinde log kayıtları önemlidir. Cisco switch, router gibi cihazlarda çalıştırdığı IOS işletim sistemi ile kullanışlı log mekanizmaları sunmaktadır. Bu log mesajları 5 farklı şekilde oluşturulabilir:

  • Console logging : Default olarak cihaz tüm log mesajlarını konsol portuna gönderir. Bu yüzden sadece fiziksel olarak bağlantı sağlayan cihazlar log mesajlarına ulaşabilir. Default olarak açık olduğu için bağlı cihaz olup olmadığına bakılmaksızın gönderilir. Bu da işlemciyi yoran bir durumdur.
  • Terminal logging: Console logging seçeneğiyle benzerdir, mesajları VTY komut satırına gönderir. Default olarak kapalıdır.
  • Buffered logging: Bu seçenekte log mesajları cihazın RAM'ine kaydedilir, ancak cihazlar sınırlı hafızaya sahip olduğu için (genelde 128mb) yeterli olmaz. Yeni kayıtlar eklenmesi sırasında hafıza dolmuş olursa eski kayıtlar silinir. 
  • Syslog server logging: Logların hafızada tutulması yerine başka bir cihazdaki syslog server'a gönderilmesi sağlanabilir. Hafıza problemi için daha uygun bir çözümdür.
  • SNMP trap logging: Loglar SNMP trap kullanılarak SNMP server'a gönderilebilir.
Log mesajlarında içerik açısından sunulan temel seviyeler şunlardır :
0. Emergency : Sistem kapanıyor
1. Alert            : Acil durum mesajları (Sıcaklık sınırı)
2. Critical        : Kritik durum mesajları (Mermory allocation hatası)
3. Error            : Hata durumu mesajları (Interface up/down)
4. Warning       : Uyarı durumu mesajları (SNMP requests)
5. Notification : Normal ancak kayda deger mesajlar (line protocol up/down)
6. Information : Bilgi içerikli mesajlar (Access-list ihlali)
7. Debugging  : Debug mesajları

“Logging” komutu log konfigürasyonlarını yapmak için kullanılan basit bir komuttur. Log seviyesini belirlemek için config moda giriş (configure terminal) yapıldıktan sonra :
R1(config)# logging console [level]
R1(config)# logging buffered [size]
R1(config)# logging host [Syslog Server IP]
R1(config)# logging trap [level] 
R1(config)# logging on 
gibi komutlar kullanılarak console, buffer veya host aktif edilebilir. Trap komutuyla syslog servera gönderilen mesajların facility level'i (0,1,2..) belirlenebilir, on komutu ise bütün hedeflere log gönderilmesini aktif eder.

Log kayıtlarının gönderileceği hedef olarak konsol ve buffer kullanılması önerilmemektedir. Merkezi bir syslog server kurularak tüm logların oraya gönderilmesi sağlanmalıdır. Ayrıca geçerli ve doğru tarih/saat bilgisi için merkezi NTP server kurulması önemlidir. Cisco router ve switch üzerinde log konfigürasyonu yapmak, Merkezi NTP ve SYSLOG server kurmak için Cisco Packet Tracer similasyon programı üzerinde aşağıdaki gibi bir senaryo hazırlanmıştır.
End devices bölümünde bulunan Server-PT butonu ile oluşturulan server'ın üzerine tıklandığında 
Desktop sekmesinde IP configuration seçeneği ile IP ataması yapılır. 

Daha sonra ise Services sekmesinde Syslog servisinde 'on' seçimine tıklanarak aktif hale getirilir. 


Bu server artık syslog servisi sunmaktadır ve kurduğumuz ağda syslog server görevi görecektir. Switch ve router üzerinde yaptığımız konfigürasyonda syslog server host IP'si olarak bu cihazı göstereceğiz.
Ayrıca NTP server kurulumu için yine aynı Server-PT kullanılarak Services sekmesinde NTP hizmeti için 'On' seçimini aktif etmek gerekir.
Diğer cihazlarada IP adresi, subnet maskesi ve default gateway ataması yapmamız gerekir. Router yönetimi için CLI sekmesinde bulunan komut satırı kullanılacaktır. Router için interface'lere IP ataması aşağıdaki gibi yapılmıştır.

    Router'a NTP server ataması yapmak için config modda iken 'ntp server 192.168.56.100' komutu kullanılır.
    Router veya switch içerisinde console loglamasının kapatılması önerilir. Daha sonra logların syslog servera gönderilmesini sağlamak için 'logging host 192.168.56.100' komutu kullanılır.

      Artık loglar Syslog server'a gönderilecektir. Syslog Server içerisinde Services sekmesinde düşen log kayıtları incelenebilir.


      Bu makale İstanbul Teknik Üniversitesi Bilgisayar Mühendisliği Bölümü öğrencisi stajyerimiz Cemal Türkoğlu tarafından geliştirilmiştir.