Yetki seviyeleri: kim neyi ayarlayabilir?
Kanal modlarının bir kısmı halfop (+h) seviyesinde, çoğu ise kanal operatörü (+o) seviyesinde ayarlanabilir. Resmî tabloya göre seviyeler şöyledir:
| Seviye | Anlamı | Kim verebilir |
|---|---|---|
| +v (voice) | +m ve +M kanallarda konuşabilir | +h, +o, +a, +q |
| +h (halfop) | Operatör yetkilerinin bir kısmı | +o, +a, +q |
| +o (chanop) | Neredeyse tüm yönetim işleri | +o, +a, +q |
| +a (chanadmin) | Operatörün üstü; alt seviyeler +a kişileri atamaz | +q |
| +q (owner) | En yüksek seviye | Normal kullanıcılar veremez |
Erişim ve giriş denetimi modları
| Mod | Ne yapar | Modül | Gereken seviye |
|---|---|---|---|
| +i | Yalnızca /INVITE ile davet edilenler girebilir | chanmodes/inviteonly | +o |
| +I | +i kanalda davetsiz girebilecekler listesi (davet istisnası) | yerleşik | +h |
| +k | Girmek için kanal anahtarı ister | chanmodes/key | +h |
| +l | Kanaldaki kullanıcı sayısını sınırlar | chanmodes/limit | +o |
| +L | Giremeyen kullanıcıyı başka kanala yönlendirir | chanmodes/link | +o |
| +R | Yalnızca Services'e kayıtlı kullanıcılar girebilir | chanmodes/regonly | +o |
| +z | Yalnızca SSL/TLS ile bağlananlar girebilir | chanmodes/secureonly | +o |
| +Z | Kanaldaki herkesin TLS kullandığını gösterir | chanmodes/issecure | Sunucu koyar |
| +O | Yalnızca IRC operatörlerine açık kanal | chanmodes/operonly | Yalnızca IRCop |
| +b / +e | Ban ve ban istisnası | yerleşik | +h |
+R ile +M sık karıştırılır: +R kayıtsız kullanıcıların kanala girmesini engeller, +M ise girişe izin verir ama kimlik doğrulamamış ve voice'u olmayan kullanıcıların konuşmasını engeller. +Z elle ayarlanmaz; +z açık kanalda herkes TLS ile bağlıysa sunucu tarafından konur.
Konuşma ve içerik denetimi modları
| Mod | Ne yapar | Modül | Gereken seviye |
|---|---|---|---|
| +n | Kanal dışından mesaj gönderilemez | chanmodes/noexternalmsgs | +h |
| +t | /TOPIC yalnızca +h ve üstüne açık | chanmodes/topiclimit | +h |
| +m | Yalnızca +v ve üstü konuşabilir | chanmodes/moderated | +h |
| +M | Kimlik doğrulamamış ve +v olmayan konuşamaz | chanmodes/regonlyspeak | +o |
| +c | ANSI ve mIRC renk kodu içeren mesajları engeller | chanmodes/nocolor | +o |
| +S | Renk kodlarını silip mesajı düz metin olarak iletir | chanmodes/stripcolor | +o |
| +C | Kanalda CTCP yasaktır | chanmodes/noctcp | +o |
| +T | Kanal NOTICE mesajları yasaktır | chanmodes/nonotice | +o |
| +N | Nick değişikliği yasaktır | chanmodes/nonickchange | +o |
| +Q | /KICK yasaktır | chanmodes/nokick | +o |
| +V | /INVITE yasaktır | chanmodes/noinvite | +o |
| +K | /KNOCK yasaktır | chanmodes/noknock | +o |
| +D | Kullanıcının JOIN mesajını o kişi konuşana kadar geciktirir | chanmodes/delayjoin | +o |
+c renkli mesajı tamamen engellerken +S rengi temizleyip mesajı iletir; ikisini birlikte açmak gereksizdir. +D kapatılırken sunucu, geciktirilmiş kullanıcıları işlemek için geçici olarak +d modunu kullanır; bu mod elle ayarlanmaz.
Görünürlük ve kalıcılık modları
| Mod | Ne yapar | Modül | Gereken seviye |
|---|---|---|---|
| +p | Kanalın varlığını kısmen gizler | chanmodes/private | +o |
| +s | Gizli kanal; +p'nin işlevini genişletir | chanmodes/secret | +o |
| +r | Kanal Services'e kayıtlı | chanmodes/isregistered | Services koyar |
| +P | Kalıcı kanal; ayarlar korunur ve veritabanına kaydedilir | chanmodes/permanent | Yalnızca IRCop |
Saldırı türüne göre mod seçimi
Aşağıdaki eşleştirmeler resmî tablodaki mod tanımlarına dayanan pratik önerilerdir:
| Saldırı / sorun | Önerilen mod | Not |
|---|---|---|
| Kayıtsız spam botları akını | +M veya +R | +M daha yumuşaktır; kullanıcılar girer ama konuşamaz |
| Toplu join/part ve hayalet kalabalık | +D, +l, gerekirse +i | +D giriş mesajı gürültüsünü keser |
| Renkli (mIRC/ANSI) spam | +S veya +c | Mesaj kaybolmasın isteniyorsa +S |
| CTCP flood | +C | VERSION/PING taşkınlarını keser |
| Kanal NOTICE spamı | +T | - |
| Nick değiştirerek flood veya taklit | +N | - |
| Kanal dışından mesaj atma | +n | Her kanalda açık olmalı |
| Davet ve knock kötüye kullanımı | +V, +K | - |
| Şifresiz bağlantı riski | +z | TLS'siz istemcileri dışarıda bırakır |
| Kanalın keşfedilmesini önleme | +s | +s, +p'yi zaten kapsar |
Örnek senaryolar
Senaryo A: Herkese açık topluluk kanalı. Temel korumayı kalıcı açın, saldırı anında konuşmayı kayıtlı kullanıcılara daraltın:
CODE TERMINAL
/MODE #topluluk +ntSCT
/MODE #topluluk +M
/MODE #topluluk -Mİkinci komut saldırı sırasında, üçüncüsü saldırı bittiğinde kullanılır.
Senaryo B: Yönetim veya ekip kanalı. Davet, anahtar, gizlilik ve TLS zorunluluğu birlikte:
CODE TERMINAL
/MODE #ekip +intsz
/MODE #ekip +k GucluAnahtar
/MODE #ekip +I *!*@guvenilir.hostSenaryo C: Yalnızca kayıtlı üyelere açık kanal.
CODE TERMINAL
/MODE #uyeler +nRGirişe izin verip yalnızca konuşmayı kısıtlamak isterseniz +R yerine +M kullanın.
Senaryo D: Kalabalık kontrolü ve taşma kanalı.
CODE TERMINAL
/MODE #kanal +l 200
/MODE #kanal +L #kanal-tasmaKanal 200 kişiye ulaştığında yeni gelenler #kanal-tasma kanalına yönlendirilir.
Yeni kanallar için varsayılan koruma: set::modes-on-join
Her kanalın elle sertleştirilmesini beklemek yerine, kanal ilk oluşturulduğunda uygulanacak modları sunucu yapılandırmasında belirleyebilirsiniz. Resmî belgeye göre set::modes-on-join kanal ilk oluşturulduğunda ayarlanacak modları tanımlar; ancak tüm modlar bu yolla ayarlanamaz. set::restrict-channelmodes ise listelenen modların kullanıcılar tarafından açılıp kapatılmasını engeller (harfler + veya - olmadan yazılır).
CODE TERMINAL
set {
modes-on-join "+ntCT";
restrict-channelmodes "CT";
level-on-join "op";
}Bu örnekte her yeni kanal +n, +t, +C ve +T ile açılır; C ve T modları kullanıcılar tarafından kaldırılamaz. set::level-on-join kanala ilk giren kişinin alacağı seviyeyi belirler; varsayılan değer "op"tur ve none, voice, halfop, op, protect, owner değerlerini alabilir. Yeni bir değeri canlıya almadan önce test sunucusunda deneyin, çünkü belgeler hangi modların modes-on-join ile kullanılamadığını tek tek listelemiyor.
Önemli uyarı: Resmî belgelere göre kullanıcılar Services'in MLOCK komutuyla restrict-channelmodes kısıtlamasını aşabilir. Anope kullanıyorsanız aynı modları Anope tarafında nomlock özelliğiyle de kısıtlamanız önerilir.
Sık yapılan hatalar
- +Q açıkken sorunlu kullanıcıyı /KICK ile atamazsınız; bu durumda ban (+b) kullanın.
- +R ile +M'yi karıştırmak: +R girişi, +M konuşmayı kısıtlar.
- +z açmak TLS desteklemeyen eski istemcileri tamamen dışarıda bırakır; kullanıcılarınızı önceden bilgilendirin.
- +c ve +S'yi aynı anda açmak gereksizdir; birini seçin.
- +O, +P ve +r normal kanal operatörlerinin ayarlayabileceği modlar değildir; modes-on-join içine koymayın.
- Saldırı geçince geçici modları (+M, +i, +R gibi) kaldırmayı unutmak, meşru kullanıcıları kanaldan uzaklaştırır.
Özet kontrol listesi
- Her kanalda en az +nt açık olsun; sunucu genelinde modes-on-join ile zorunlu kılın.
- Renkli ve CTCP spamına karşı +S ve +C ekleyin.
- Bot akınında önce +M, gerekirse +R ve +i ile kapıyı daraltın.
- Yönetim kanallarında +i, +k, +s ve +z birlikte kullanın.
- Sayısal flood eşikleri için +f/+F rehberine, tekrar eden spam için spamfilter rehberine başvurun.
Kaynaklar
- UnrealIRCd Channel modes: https://www.unrealircd.org/docs/Channel_modes
- UnrealIRCd Set block: https://www.unrealircd.org/docs/Set_block
TR Siber Ekibi