UnrealIRCd Güvenlik Grupları ve Reputation Sistemi Rehberi
İçindekiler
- Reputation (İtibar) Sistemi
- Varsayılan Güvenlik Grupları
- known-users Grubunu Ayarlamak
- Kendi Güvenlik Gruplarınızı Tanımlamak
- Grupların Kullanıldığı Yerler
- Kullanıcının Hangi Grupta Olduğunu Görmek
- İtibar Sisteminin Sınırları
- Kullanıcılarınızı Bilinen Gruba Taşıyın
- Grupları Düzenli Olarak Gözden Geçirin
- 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:
| Grup | Kimleri kapsar? |
|---|---|
| known-users | Services hesabına giriş yapmış veya itibar puanı yeterince yüksek kullanıcılar |
| unknown-users | known-users grubuna girmeyen herkes |
| tls-users | TLS ile bağlanan kullanıcılar |
| tls-and-known-users | Hem TLS kullanan hem de bilinen kullanıcılar |
| webirc-users | Web IRC ağ geçidi üzerinden gelen kullanıcılar |
| websocket-users | WebSocket 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ğlanSı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.