UnrealIRCd

UnrealIRCd Güvenlik Grupları ve Reputation Sistemi Rehberi

· Güncelleme: · 5 dk okuma

UnrealIRCd Güvenlik Grupları ve Reputation Sistemi Rehberi
İçindekiler
  1. Reputation (İtibar) Sistemi
  2. Varsayılan Güvenlik Grupları
  3. known-users Grubunu Ayarlamak
  4. Kendi Güvenlik Gruplarınızı Tanımlamak
  5. Grupların Kullanıldığı Yerler
  6. Kullanıcının Hangi Grupta Olduğunu Görmek
  7. İtibar Sisteminin Sınırları
  8. Kullanıcılarınızı Bilinen Gruba Taşıyın
  9. Grupları Düzenli Olarak Gözden Geçirin
  10. Sonuç

Bir IRC ağında her kullanıcı aynı değildir. Yıllardır ağda olan, NickServ'e kayıtlı ve her gün aynı adresten bağlanan bir topluluk üyesi ile beş saniye önce bilinmeyen bir IP'den bağlanan bir hesap aynı kurallara tabi tutulmamalıdır. UnrealIRCd security group sistemi tam olarak bu ayrımı yapmanızı sağlar: Kullanıcıları belirli ölçütlere göre gruplara ayırır ve koruma ayarlarını bu gruplara göre uygulamanıza izin verir.

Reputation (İtibar) Sistemi

UnrealIRCd, ağa bağlanan her IP adresi için bir itibar puanı tutar. Bu puan basit ama etkili bir mantıkla çalışır: Bir IP'den bağlanan kullanıcılar ağda vakit geçirdikçe o IP'nin puanı zamanla artar. Hiç görülmemiş bir IP'nin puanı sıfırdır. Kısa süreli bağlanıp çıkan, yani tipik bot davranışı gösteren IP'ler ise anlamlı bir puan biriktiremez.

Bu sistemin güzelliği, hiçbir dış listeye veya elle tutulan bir beyaz listeye ihtiyaç duymamasıdır. Ağınızın kendi geçmişi, kimin güvenilir olduğunu zamanla öğrenir. İtibar verileri bir veritabanı dosyasında saklanır ve sunucu yeniden başlatıldığında kaybolmaz.

Yeni kurulan bir ağda itibar veritabanı boştur. Bu yüzden itibara dayalı korumaların tam verimle çalışması için birkaç gün ile bir hafta arasında veri birikmesini beklemek gerekir. Connthrottle ayarlarındaki "reputation-gathering" süresi bu bekleme dönemini tanımlar.

Varsayılan Güvenlik Grupları

UnrealIRCd 6 kullanıma hazır birkaç güvenlik grubuyla gelir:

GrupKimleri kapsar?
known-usersServices hesabına giriş yapmış veya itibar puanı yeterince yüksek kullanıcılar
unknown-usersknown-users grubuna girmeyen herkes
tls-usersTLS ile bağlanan kullanıcılar
tls-and-known-usersHem TLS kullanan hem de bilinen kullanıcılar
webirc-usersWeb IRC ağ geçidi üzerinden gelen kullanıcılar
websocket-usersWebSocket ile bağlanan kullanıcılar

Bu gruplar pek çok yerde kullanılır: flood sınırlarında, connthrottle muafiyetlerinde, belirli komutların kısıtlanmasında ve bazı ban türlerinde.

known-users Grubunu Ayarlamak

Bilinen kullanıcı grubunun ölçütlerini kendi ağınıza göre ayarlayabilirsiniz:

security-group known-users {
	identified yes;
	reputation-score 25;
}

Bu örnekte bir kullanıcı ya NickServ'e giriş yapmışsa ya da IP adresinin itibar puanı 25 veya üzerindeyse bilinen kullanıcı sayılır. Eşiği yükseltmek grubu daha seçici yapar; düşürmek ise daha fazla kullanıcıyı kapsar.

Kendi Güvenlik Gruplarınızı Tanımlamak

Varsayılan grupların yanında kendi gruplarınızı da oluşturabilirsiniz. Örneğin güvendiğiniz bir bot barındırma sunucusunu ayrı bir grupta toplamak için:

security-group guvenilir-botlar {
	mask *@203.0.113.10;
}

Grup tanımlarında kullanılabilecek ölçütler oldukça zengindir: IP maskesi, services hesabı, TLS kullanımı, sertifika parmak izi, itibar puanı, bağlantı süresi ve sürüme bağlı olarak ülke veya ağ bilgisi gibi özellikler. Bu ölçütleri birleştirerek "en az bir gündür ağda olan ve TLS kullanan kullanıcılar" gibi ayrıntılı tanımlar yapabilirsiniz.

Grupların Kullanıldığı Yerler

Flood Ayarlarında

Flood koruması yazımızda gördüğümüz gibi anti-flood ayarları güvenlik gruplarına göre ayrılır. Bilinmeyen kullanıcılara sıkı, bilinen kullanıcılara esnek sınırlar uygulamak, botları etkisiz bırakırken gerçek kullanıcılarınızın rahat sohbet etmesini sağlar.

Connthrottle'da

Connthrottle, bir saldırı sırasında bilinen kullanıcıları yeni bağlantı sınırından muaf tutar. Böylece saldırı anında bile topluluğunuz ağa bağlanmaya devam edebilir.

Ban ve İstisnalarda

Bazı ban ve istisna türleri güvenlik gruplarını hedefleyebilir. Örneğin bir kanalda yalnızca bilinmeyen kullanıcıların susturulması gibi senaryolar, güvenlik grubuna dayalı extended ban'larla kurulabilir. Ayrıntılar için extended ban yazımıza bakın.

Allow Bloklarında

Bağlantı kurallarını da gruplara göre ayırabilirsiniz; örneğin bilinmeyen kullanıcılar için daha düşük bir IP başına bağlantı sınırı tanımlamak gibi. Bkz. class ve allow blokları.

Kullanıcının Hangi Grupta Olduğunu Görmek

Oper olarak bir kullanıcıya /WHOIS yaptığınızda, sunucu ayarlarına bağlı olarak kullanıcının itibar puanını ve dahil olduğu güvenlik gruplarını görebilirsiniz. Bu bilgi, bir kullanıcının neden belirli bir kısıtlamayla karşılaştığını anlamanın en hızlı yoludur. Bir kullanıcı "Neden sürekli flood uyarısı alıyorum?" diye sorduğunda, onun hâlâ bilinmeyen kullanıcı grubunda olduğunu fark edebilir ve NickServ'e kayıt olmasını önerebilirsiniz.

İtibar Sisteminin Sınırları

İtibar sistemi güçlüdür ama mükemmel değildir:

  • Paylaşılan IP'ler: Bir mobil operatörün veya üniversitenin ortak IP'si yüksek puan biriktirebilir; bu IP'den gelen yeni bir saldırgan da bu puandan yararlanabilir.
  • Değişen IP'ler: Dinamik IP kullanan bir kullanıcı her bağlandığında farklı bir adresten gelebilir ve bilinmeyen kullanıcı sayılabilir. Bu kullanıcılar için en iyi çözüm NickServ kaydı ve SASL'dir.
  • Ele geçirilmiş cihazlar: Uzun süredir ağda olan bir kullanıcının bilgisayarı ele geçirilirse yüksek itibarlı bir IP'den saldırı gelebilir.

Bu nedenle itibar sistemi, diğer korumaların yerini almaz; onları akıllıca ayarlamanıza yardımcı olur.

Kullanıcılarınızı Bilinen Gruba Taşıyın

Ağınızın güvenliğini artırmanın en kolay yollarından biri, kullanıcılarınızı NickServ'e kayıt olmaya ve SASL ile bağlanmaya teşvik etmektir. Kayıtlı ve SASL kullanan bir kullanıcı, IP adresi değişse bile her zaman bilinen kullanıcı grubundadır. Bu hem onların daha rahat bir deneyim yaşamasını hem de sizin bilinmeyen kullanıcılara daha sıkı kurallar uygulayabilmenizi sağlar. Nick kaydı için NickServ komutları, SASL için services SASL ayarları yazılarımıza bakın.

Grupları Düzenli Olarak Gözden Geçirin

Ağınız büyüdükçe ve kullanıcı profiliniz değiştikçe güvenlik gruplarınızın tanımları da güncelliğini yitirebilir. Birkaç ayda bir şu soruları sorun: Bilinen kullanıcı eşiği hâlâ uygun mu, yoksa çok sayıda gerçek kullanıcı hâlâ bilinmeyen grupta mı kalıyor? Özel olarak tanımladığınız gruplardaki IP adresleri hâlâ aynı kişilere mi ait? Yıllar önce bir bot sunucusu için açtığınız güvenilir grup, artık başka birine kiralanmış bir sunucuyu mu kapsıyor? Bu küçük gözden geçirmeler, korumalarınızın zamanla gevşemesini veya gereksiz yere sıkılaşmasını önler.

Sonuç

Güvenlik grupları ve itibar sistemi, UnrealIRCd'nin "herkese aynı kural" anlayışını "herkese hak ettiği güven" anlayışına dönüştürür. Bilinen kullanıcılarınızı rahat bırakıp bilinmeyen bağlantılara daha dikkatli yaklaşarak hem güvenliği hem de kullanıcı deneyimini aynı anda iyileştirebilirsiniz. Ağınızı tarayıcı üzerinden izlemek için sıradaki rehberimiz JSON-RPC ve web paneli.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Reputation puanı nasıl artar?

Bir IP adresinden bağlanan kullanıcılar ağda vakit geçirdikçe o IP'nin puanı zamanla artar. Kısa süre bağlanıp çıkan veya hiç görülmemiş IP'lerin puanı düşüktür.

known-users grubuna kimler girer?

Varsayılan olarak NickServ'e giriş yapmış kullanıcılar ve itibar puanı belirli bir eşiğin üzerindeki IP'lerden gelenler bilinen kullanıcı sayılır.

Kendi güvenlik grubumu tanımlayabilir miyim?

Evet. security-group bloğuyla IP, hesap, TLS kullanımı, ülke ve benzeri ölçütlere göre kendi gruplarınızı oluşturabilirsiniz.