UnrealIRCd

UnrealIRCd Log Ayarları: Sunucu Olaylarını Kaydetmek ve İzlemek

· Güncelleme: · 5 dk okuma

UnrealIRCd Log Ayarları: Sunucu Olaylarını Kaydetmek ve İzlemek
İçindekiler
  1. log Bloğunun Yapısı
  2. Kaynaklar: Hangi Olaylar?
  3. Hedefler: Nereye Kaydedilir?
  4. Birden Fazla log Bloğu
  5. Log Dosyalarını Okumak
  6. Log Döndürme ve Saklama
  7. Gizlilik ve Kişisel Veriler
  8. Hata Ayıklama Log'ları
  9. Sık Karşılaşılan Durumlar
  10. Log'ları Merkezi Olarak Toplamak
  11. Önemli Olaylar İçin Uyarılar
  12. Log Okuma Alışkanlığı
  13. Sonuç

Bir IRC sunucusunda neler olup bittiğini anlamanın en güvenilir yolu log kayıtlarıdır. Kimin ne zaman bağlandığı, hangi oper'ın hangi yasağı koyduğu, sunucu bağlantılarının neden koptuğu veya bir modülün neden yüklenemediği gibi soruların cevabı log'lardadır. Bu rehberde UnrealIRCd log ayarlarını, en iyi uygulamaları ve kişisel verilerin korunması açısından dikkat edilmesi gerekenleri ele alıyoruz.

log Bloğunun Yapısı

UnrealIRCd 6'da log yapılandırması, kaynak (hangi olaylar) ve hedef (nereye) mantığıyla çalışır:

log {
	source {
		all;
		!debug;
	}
	destination {
		file "ircd.log" { maxsize 100M; }
	}
}

Bu blok, hata ayıklama mesajları dışındaki bütün olayları ircd.log dosyasına yazar ve dosya 100 MB'ı geçtiğinde yeni bir dosyaya geçer.

Kaynaklar: Hangi Olaylar?

source bölümünde hangi olayların kaydedileceğini seçersiniz. Olaylar kategorilere ve önem düzeylerine göre gruplanmıştır. all bütün olayları, başına ünlem konan kategori ise o kategorinin hariç tutulmasını ifade eder. Önem düzeylerine göre filtreleme de yapılabilir; örneğin yalnızca uyarı ve hata düzeyindeki olayları ayrı bir dosyaya yazmak gibi.

Sık ilgilenilen olay grupları şunlardır:

Olay grubuİçerik
BağlantılarKullanıcı bağlanma ve ayrılma olayları
Oper işlemleriOper girişleri, kill, yasak ekleme ve kaldırma
TKLG-Line, Z-Line, shun gibi yasak olayları
SpamfilterSpamfilter eşleşmeleri
Sunucu bağlantılarıLink kurulması, kopması, hatalar
YapılandırmaRehash, yapılandırma hataları ve uyarıları
FloodFlood korumalarının tetiklenmesi

Hedefler: Nereye Kaydedilir?

Dosya

En yaygın hedef düz metin dosyasıdır. maxsize ayarı, dosyanın sınırsız büyüyüp diski doldurmasını engeller.

JSON Biçiminde Dosya

UnrealIRCd, log kayıtlarını JSON biçiminde de yazabilir. JSON log'lar insan için daha zor okunur ama otomatik analiz araçları, izleme sistemleri ve kendi betikleriniz için çok daha kullanışlıdır. Her kayıt yapılandırılmış alanlar içerir; böylece "son bir saatte en çok spamfilter tetikleyen IP'ler" gibi sorgular kolayca yapılabilir.

log {
	source { all; !debug; }
	destination {
		file "ircd.json.log" { type json; maxsize 200M; }
	}
}

Oper Bildirimleri (snomask)

Olaylar yalnızca dosyaya değil, oper'ların IRC istemcisine de bildirim olarak gönderilebilir. Hangi oper'ın hangi bildirimleri göreceği snomask ayarlarıyla belirlenir. Bu sayede bir saldırı sırasında oper'lar olayları anında görür. Snomask hakkında bilgi için kullanıcı modları yazımızdaki +s açıklamasına bakın.

Kanal

Bazı olayların doğrudan bir IRC kanalına gönderilmesi de mümkündür; örneğin oper kanalına bağlantı kopma uyarıları. Bu kanalın yalnızca oper'ların girebileceği şekilde korunduğundan emin olun.

Birden Fazla log Bloğu

Farklı ihtiyaçlar için birden fazla log bloğu tanımlayabilirsiniz:

log {
	source { oper; tkl; }
	destination { file "oper.log" { maxsize 50M; } }
}

log {
	source { error; fatal; warn; }
	destination { file "errors.log" { maxsize 20M; } }
}

Bu düzen, oper işlemlerini ve hataları ayrı dosyalarda tutar. Bir sorunu araştırırken yüzlerce bağlantı kaydının arasında kaybolmadan doğrudan ilgili dosyaya bakabilirsiniz. Kategori adları sürüme göre farklılık gösterebileceği için kendi yapılandırmanızda kullanmadan önce resmî belgelerden kontrol edin.

Log Dosyalarını Okumak

Linux'ta log'ları canlı izlemek için:

tail -f ~/unrealircd/logs/ircd.log

Belirli bir olayı aramak için:

grep -i "gline" ~/unrealircd/logs/ircd.log
grep "203.0.113.5" ~/unrealircd/logs/ircd.log

Sunucu bağlantısı kurarken sorun yaşıyorsanız her iki sunucunun log'unu aynı anda izlemek, sorunun hangi tarafta olduğunu hemen gösterir. Bu yöntem link bloğu kurulumunda çok işe yarar.

Log Döndürme ve Saklama

maxsize ayarı dosyanın büyümesini sınırlar; ancak eski log dosyaları yine de birikir. Linux'ta logrotate gibi bir araçla eski log'ları sıkıştırıp belirli bir süre sonra silmek iyi bir uygulamadır. Ne kadar süre saklayacağınız ihtiyacınıza bağlıdır:

  • Hata ayıklama için birkaç haftalık log genellikle yeterlidir.
  • Kötüye kullanım soruşturmaları için oper ve yasak log'larını daha uzun tutmak isteyebilirsiniz.
  • Gereğinden uzun saklanan log'lar, olası bir veri sızıntısında daha fazla bilginin açığa çıkması anlamına gelir.

Gizlilik ve Kişisel Veriler

Log kayıtları kullanıcıların IP adreslerini ve bağlantı zamanlarını içerir. Bu bilgiler pek çok hukuk düzeninde kişisel veri sayılır. Bu yüzden:

  • Log dosyalarının izinlerini yalnızca ircd kullanıcısının okuyabileceği şekilde ayarlayın.
  • Log'lara kimlerin erişebildiğini sınırlayın.
  • Saklama sürelerini belirleyin ve uygulayın.
  • Kullanıcılarınıza hangi verileri ne kadar süre tuttuğunuzu açıklayan basit bir gizlilik politikası sunun.

UnrealIRCd özel mesaj ve kanal mesajlarının içeriklerini kaydetmez; log'lar sunucu olaylarıyla sınırlıdır. Kullanıcılarınız bunu bilmek ister; yardım sayfanızda açıkça belirtmeniz güven oluşturur.

Hata Ayıklama Log'ları

Bir sorunu çözerken geçici olarak daha ayrıntılı log açmanız gerekebilir. debug kategorisi çok fazla kayıt üretir ve normal kullanımda kapalı tutulmalıdır. Sorunu çözdükten sonra ayrıntılı log'u kapatmayı unutmayın; aksi hâlde disk alanı hızla dolar ve gereksiz yere hassas bilgiler kaydedilir.

Sık Karşılaşılan Durumlar

DurumBakılacak yer
Sunucu başlamıyorBaşlangıç çıktısı ve ircd.log'un son satırları
Link kuruluyor ama kopuyorHer iki sunucunun log'undaki link olayları
Bir kullanıcı haksız yasaklandığını söylüyorOper ve TKL log'ları
Spamfilter masum mesajları yakalıyorSpamfilter olayları
Modül yüklenmiyorYapılandırma ve hata log'ları

Log'ları Merkezi Olarak Toplamak

Ağınızda birden fazla sunucu varsa her sunucunun log'una ayrı ayrı bağlanıp bakmak zamanla zorlaşır. JSON biçimindeki log'ları merkezi bir log toplama sistemine göndermek, bütün ağın olaylarını tek bir ekranda görmenizi sağlar. Böylece bir IP adresinin farklı sunucularda neler yaptığını, bir saldırının ağa hangi sunucudan başladığını veya bir oper'ın gün içinde hangi işlemleri yaptığını tek bir sorguyla bulabilirsiniz. Küçük ağlar için ise sunucuların log dosyalarını düzenli olarak tek bir makineye kopyalayan basit bir betik bile büyük kolaylık sağlar.

Önemli Olaylar İçin Uyarılar

Bazı olaylar log dosyasında beklemeyi hak etmez; hemen haberdar olmanız gerekir. Sunucu bağlantısının kopması, services'in ağdan ayrılması, art arda başarısız oper girişleri veya sertifika hataları bu türdendir. Bu olayları oper kanalına veya bir bildirim sistemine yönlendirmek, sorunları kullanıcılarınız fark etmeden çözmenize yardım eder. Uyarıların sayısını makul tutun; her küçük olay için gelen bildirimler, ekibin gerçekten önemli uyarıları gözden kaçırmasına yol açar.

Log Okuma Alışkanlığı

Sorun olmadığı zamanlarda da log'lara haftada bir kısa bir göz atmak iyi bir alışkanlıktır. Tekrarlayan uyarılar, yavaş yavaş artan bağlantı hataları veya sıklaşan spamfilter tetiklenmeleri, ileride büyüyecek sorunların ilk işaretleridir.

Sonuç

İyi yapılandırılmış log'lar, sorunları dakikalar içinde çözmenizi sağlar; kötü yapılandırılmış log'lar ise ya hiçbir şey göstermez ya da diskinizi doldurur. Olayları amaçlarına göre ayrı dosyalara yazın, boyut sınırları koyun, saklama sürelerini belirleyin ve kişisel verileri koruyun. Sunucunuzu güncel tutmak için sıradaki rehberimiz sürüm yükseltme.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Log dosyaları nerede tutulur?

Varsayılan olarak UnrealIRCd kurulum dizinindeki logs klasöründe tutulur.

Log dosyaları çok büyüyor, ne yapmalıyım?

log bloğunda dosya için maxsize ayarı tanımlayın ve eski logları düzenli olarak temizleyen bir sistem kurun.

Kullanıcıların özel mesajları loglanır mı?

Hayır. UnrealIRCd özel mesaj içeriklerini kaydetmez; loglar bağlantılar, yasaklar, oper işlemleri gibi sunucu olaylarını içerir.