Syslog, ağ cihazlarının, sunucuların ve uygulamaların ürettiği olay kayıtlarını (log) standart bir biçimde merkezi bir sunucuya iletmeyi sağlayan protokolün adıdır. 1980'lerde Eric Allman'ın Sendmail projesi için geliştirdiği bu basit mekanizma, bugün firewall'dan klimanın IoT kontrolcüsüne kadar neredeyse her ağ bileşeninin konuştuğu ortak dildir.
Loglar neden cihaz üstünde kalmamalı?
Her cihaz kendi logunu bir süre tutabilir; ancak bu üç nedenle yeterli değildir:
- Kalıcılık: Çoğu ağ cihazında log, RAM'de tutulur; cihaz yeniden başlatıldığında silinir. Disk tabanlı cihazlarda ise döngüsel tampon eski kayıtların üzerine yazar.
- Bütünlük: Cihaza erişen bir saldırgan (veya hatalı bir yönetici) izlerini cihaz üzerindeki logdan silebilir. Log, olayın gerçekleştiği sistemin dışında saklanmadıkça delil değeri taşımaz.
- Görünürlük: 50 cihazlı bir ağda bir olayın izini sürmek için 50 ayrı arayüze bakamazsınız. Korelasyon ancak kayıtlar tek yerde toplandığında mümkündür.
Syslog protokolü tam olarak bu üç sorunu çözer: kayıt üretildiği anda ağ üzerinden merkezi bir alıcıya kopyalanır.
Syslog mesajının anatomisi
Klasik bir syslog mesajı üç bölümden oluşur: PRI (öncelik), HEADER (zaman ve kaynak) ve MSG (asıl içerik).
<134>Oct 25 10:42:03 fw-gebze-01 kernel: DROP IN=eth0
SRC=185.220.101.4 DST=10.0.4.18 PROTO=TCP DPT=22
Baştaki <134> değeri PRI alanıdır ve iki bilgiyi tek sayıda kodlar: PRI = Facility × 8 + Severity. Örnekte 134 = 16×8 + 6, yani facility local0 (16) ve severity Informational (6).
Severity (önem) seviyeleri
Severity 0–7 arası bir değerdir; 0 en kritik, 7 en ayrıntılıdır:
| Kod | Ad | Anlamı |
|---|---|---|
| 0 | Emergency | Sistem kullanılamaz durumda |
| 1 | Alert | Derhal müdahale gerekli |
| 2 | Critical | Kritik koşul (donanım hatası vb.) |
| 3 | Error | Hata koşulu |
| 4 | Warning | Uyarı — ileride hataya dönüşebilir |
| 5 | Notice | Normal ama kayda değer olay |
| 6 | Informational | Bilgilendirme mesajı |
| 7 | Debug | Hata ayıklama ayrıntısı |
İyi kurgulanmış bir alarm sistemi, severity 0–3 arası mesajları gerçek zamanlı bildirime bağlar; 4–7 arasını ise panolarda ve aramada değerlendirir.
Facility (kaynak sınıfı)
Facility, mesajı üreten alt sistemi sınıflandırır: kern (0), user (1), mail (2), auth (4), local0–local7 (16–23) gibi. Ağ cihazlarının çoğu, yöneticinin seçtiği bir localN facility'si ile gönderir — merkezi tarafta kaynak türüne göre yönlendirme yapmayı kolaylaştırır.
RFC 3164 ve RFC 5424 farkı
Uzun yıllar "syslog" fiilen standartsızdı; 2001'de yayımlanan RFC 3164 mevcut uygulamayı belgeledi (bu yüzden "BSD syslog" da denir). 2009'da yayımlanan RFC 5424 ise protokolü gerçek bir standarda dönüştürdü:
| Özellik | RFC 3164 (BSD) | RFC 5424 (IETF) |
|---|---|---|
| Zaman biçimi | Yıl ve saat dilimi yok ("Oct 25 10:42:03") | ISO 8601 + saat dilimi + milisaniye |
| Yapılandırılmış veri | Yok — serbest metin | SD-ELEMENT alanları (anahtar=değer) |
| Karakter kodlaması | Belirsiz | UTF-8 |
| Uygulama/işlem kimliği | TAG alanında karışık | APP-NAME, PROCID, MSGID ayrı |
Gerçek dünyada her iki biçim de yaygındır: eski switch'ler ve gömülü sistemler 3164, modern firewall ve Linux dağıtımları 5424 gönderir. Bu yüzden merkezi alıcının ikisini de ayrıştırabilmesi şarttır — SYSLOG platformu iki biçimi de alan bazında indeksler.
Taşıma: UDP, TCP ve TLS
Syslog'un taşıma katmanı seçimi, kayıpsızlık ve gizlilik gereksinimlerinizi belirler:
- UDP/514 (RFC 5426): En yaygın ve en hafif yöntem. Ancak teslim garantisi yoktur: ağ tıkanıklığında paket — yani log — kaybolur. Yerel, düşük hacimli ağlarda kabul edilebilir.
- TCP (RFC 6587): Bağlantı temelli teslimat; paket kaybında yeniden iletim. Yüksek hacimde tampon yönetimi ister.
- TLS (RFC 5425): TCP üzerine şifreleme ve kimlik doğrulama ekler. Loglar şube–merkez arası internetten taşınıyorsa veya KVKK kapsamında kişisel veri içeriyorsa tek doğru seçenek budur.
Pratik kural: LAN içinde TCP, WAN üzerinde mutlaka TLS kullanın. UDP'yi yalnızca başka seçeneği olmayan eski cihazlar için açık tutun ve bu cihazları "sessiz kaynak" alarmıyla izleyin.
Modern log mimarisinde syslog'un yeri
Syslog toplama katmanıdır; tek başına log yönetimi değildir. Kurumsal bir mimaride akış şöyle ilerler:
- Toplama: Cihazlar syslog (UDP/TCP/TLS) ile, Windows sunucular ajanla, uygulamalar dosya izleme ile merkeze akar.
- Ayrıştırma ve normalleştirme: Ham satırlar alanlara (kaynak IP, kullanıcı, eylem…) bölünür; farklı markaların farklı biçimleri ortak şemaya oturur.
- İmzalama ve saklama: Günlük dosyalar özetlenir, RFC 3161 zaman damgasıyla mühürlenir ve saklama politikasına göre arşivlenir.
- Analiz ve alarm: İndeksli arama, korelasyon ve kural motoru; kritik olaylar bildirime dönüşür.
Türkiye'de bu mimarinin ayrıca yasal bir boyutu vardır: internet erişimi sunan işletmeler için merkezi ve damgalı log, 5651 sayılı kanun gereği zorunludur.
Özet
- Syslog, log iletiminin ortak dilidir; RFC 3164 (eski) ve RFC 5424 (modern) biçimleri birlikte yaşar.
- PRI değeri facility ve severity'yi kodlar; alarm tasarımı severity üzerine kurulur.
- Taşımada LAN için TCP, WAN için TLS tercih edin; UDP'yi izlenen istisna olarak tutun.
- Syslog toplar; yönetim için ayrıştırma, imzalama, saklama ve alarm katmanları gerekir.
Merkezi log altyapınızı kurmak veya mevcut yapıyı 5651'e uyumlu hale getirmek için ekibimizle görüşün — keşif ve boyutlandırma ücretsizdir.