UnrealIRCd

UnrealIRCd oper Bloğu: IRCop Hesabı Oluşturma ve Yetki Sınıfları

· 5 dk okuma

UnrealIRCd oper Bloğu: IRCop Hesabı Oluşturma ve Yetki Sınıfları
İçindekiler
  1. Temel oper Bloğu
  2. Ayarların Tek Tek Açıklaması
  3. Sertifika ile Oper Girişi
  4. Oper Girişi Nasıl Yapılır?
  5. Otomatik Ayarlar
  6. Oper Güvenliği İçin Kontrol Listesi
  7. Oper Girişi Başarısız Olursa
  8. Ekip Yönetimi ve Kayıt Tutma
  9. Yeni Oper'lar İçin Eğitim
  10. İki Aşamalı Doğrulama Düşüncesi
  11. Sonuç

Bir IRC ağının yöneticilerine IRCop veya kısaca oper denir. Oper'lar sunucuyu yeniden yapılandırabilir, kötü niyetli kullanıcıları ağdan uzaklaştırabilir ve ağın genel sağlığını izleyebilir. UnrealIRCd'de her oper hesabı bir oper bloğu ile tanımlanır. Bu rehberde güvenli bir oper bloğunun nasıl yazılacağını adım adım anlatıyoruz.

Temel oper Bloğu

oper ahmet {
	class opers;
	mask *@*;
	password "$argon2id$v=19$m=6144,t=2,p=2$...";
	operclass netadmin;
	swhois "bir Ag Yoneticisidir";
	vhost yonetim.ornekagi.net;
}

Bloğun adı (ahmet), oper girişi yaparken kullanılacak kullanıcı adıdır; IRC nickinizle aynı olmak zorunda değildir.

Ayarların Tek Tek Açıklaması

class

Oper girişi yapan kişinin bağlantısının taşınacağı sınıftır. Genellikle daha yüksek sendq değerine sahip ayrı bir opers sınıfı kullanılır. Sınıflar hakkında bilgi için class ve allow blokları yazımıza bakın.

mask

Oper girişinin hangi adreslerden yapılabileceğini kısıtlar. *@* her yerden izin verir. Daha güvenli bir yapılandırma için bilinen IP aralıklarını veya kimlik doğrulama yöntemlerini kullanabilirsiniz. Örneğin yalnızca belirli bir IP'den:

mask *@203.0.113.*;

Dinamik IP kullanan oper'lar için IP kısıtlaması pratik olmayabilir. Bu durumda aşağıda anlatacağımız sertifika tabanlı giriş daha iyi bir seçenektir.

password

Oper parolası asla düz metin yazılmamalıdır. Sunucu dizininde şu komutla bir özet (hash) üretin:

./unrealircd mkpasswd

Komut size parolanızı sorar ve $argon2id... ile başlayan bir değer verir. Bu değeri tırnaklar içinde password satırına yapıştırın. Bu sayede yapılandırma dosyası ele geçirilse bile parolanın kendisi açığa çıkmaz.

operclass

Oper'ın neler yapabileceğini belirleyen yetki şablonudur. UnrealIRCd, operclass.default.conf dosyasında hazır sınıflar sunar:

operclassKabaca yetki düzeyi
locopYalnızca kendi sunucusunda sınırlı işlemler
globopAğ genelinde temel oper işlemleri
adminSunucu yöneticisi düzeyinde yetkiler
services-adminServices ile ilgili ek yetkiler
netadminAğ yöneticisi; en geniş yetkiler

Yeni bir ekip üyesine hemen netadmin yetkisi vermek yerine ihtiyaç duyduğu en düşük yetkiyle başlamak iyi bir güvenlik pratiğidir. İhtiyaç olursa kendi operclass bloklarınızı yazarak özel yetki setleri de tanımlayabilirsiniz.

swhois

Oper'ın /WHOIS çıktısında görünen ek satırdır. Kullanıcılara bu kişinin ağ yetkilisi olduğunu gösterir.

vhost

Oper girişi yapıldığında kullanıcının görünen host adının değiştirilmesini sağlar. Böylece oper'ın gerçek IP adresi gizlenmiş olur.

Sertifika ile Oper Girişi

Parolalar çalınabilir veya tahmin edilebilir. Daha güçlü bir yöntem, oper girişini istemcinin TLS sertifikasına bağlamaktır. Oper, mIRC veya başka bir istemcide kendine ait bir istemci sertifikası kullanır; sunucu bu sertifikanın parmak izini tanır.

Önce oper TLS ile bağlanır ve /WHOIS ile kendi sertifika parmak izini öğrenir. Ardından oper bloğu şöyle yazılabilir:

oper ahmet {
	class opers;
	mask { certfp "a1b2c3...parmakizi..."; }
	password "$argon2id$...";
	operclass netadmin;
}

Bu yapılandırmada giriş için hem doğru sertifika hem de doğru parola gerekir. Parola çalınsa bile saldırgan sertifikaya sahip olmadığı için oper olamaz. Bazı ağlar yalnızca TLS ile bağlananların oper olabilmesini de zorunlu tutar; UnrealIRCd 6'da bu genellikle varsayılan güvenli davranıştır.

Oper Girişi Nasıl Yapılır?

IRC istemcinizde:

/oper ahmet parolaniz

Başarılı olursa sunucu sizi oper olarak tanıdığını bildirir ve kullanıcı modlarınıza +o eklenir. Oper olduktan sonra kullanabileceğiniz komutların listesini oper komutları yazımızda bulabilirsiniz.

Otomatik Ayarlar

set bloğunda oper'lar için bazı otomatik davranışlar tanımlanabilir:

set {
	modes-on-oper "+xwgs";
	oper-auto-join "#opers";
}
  • modes-on-oper: Oper girişinde otomatik olarak eklenecek kullanıcı modları.
  • oper-auto-join: Oper girişinde otomatik olarak girilecek kanal.

Oper kanalını yalnızca oper'ların girebileceği şekilde korumak için kanal modu +O kullanılabilir. Ayrıntılar kanal modları yazımızda.

Oper Güvenliği İçin Kontrol Listesi

  1. Parolayı her zaman mkpasswd ile özetleyin.
  2. Mümkünse sertifika parmak izi ile girişi zorunlu tutun.
  3. Her oper'a ayrı bir blok verin; ortak hesap kullanmayın. Böylece kimin ne yaptığı log'lardan takip edilebilir.
  4. Ekipten ayrılan kişinin bloğunu hemen kaldırın ve rehash yapın.
  5. En düşük gerekli yetkiyle başlayın.
  6. Oper parolalarını kanallarda veya özel mesajda asla paylaşmayın.

Genel güvenlik önerileri için güvenlik kontrol listesi yazımıza bakabilirsiniz.

Oper Girişi Başarısız Olursa

BelirtiOlası neden
"No O-lines for your host"mask ayarı bağlantınızla eşleşmiyor
"Password incorrect"Parola yanlış veya özet hatalı kopyalanmış
Sertifika eşleşmediFarklı bir sertifika ile bağlandınız veya parmak izi yanlış
Giriş TLS gerektiriyorŞifresiz porttan bağlandınız

Başarısız oper girişleri sunucu log'larına ve oper bildirimlerine yazılır. Ağınızda tekrar tekrar başarısız oper denemeleri görüyorsanız birinin parola tahmin etmeye çalıştığını düşünün ve önlem alın.

Ekip Yönetimi ve Kayıt Tutma

Büyüyen bir ağda oper ekibi de büyür. Hangi kişinin hangi yetkiyle, hangi tarihte oper yapıldığını not eden basit bir ekip listesi tutmak, aylar sonra yetki gözden geçirmesi yaparken çok işe yarar. Oper bloklarını ana yapılandırma dosyası yerine ayrı bir opers.conf dosyasında tutup include ile çağırmak, bu listeyi düzenli tutmayı kolaylaştırır. Bir oper ekipten ayrıldığında yalnızca bloğunu silmek yetmez; o kişinin bildiği ortak parolaları (link parolaları, services yönetim şifreleri gibi) da değiştirmek gerekir.

Oper'ların yaptığı işlemler sunucu tarafından kaydedilir. G-Line, kill ve rehash gibi kritik komutların log'larda kimin tarafından çalıştırıldığı görünür. Bu kayıtları düzenli olarak incelemek, yetkinin kötüye kullanılmasını erkenden fark etmenizi sağlar ve ekip içinde şeffaflık oluşturur.

Yeni Oper'lar İçin Eğitim

Yetki vermek kadar o yetkinin nasıl kullanılacağını öğretmek de önemlidir. Yeni bir oper'a önce test sunucusunda komutları denetmek, ağın kurallarını ve yasak politikasını yazılı olarak paylaşmak ve ilk haftalarda deneyimli bir oper'ın gözetiminde çalıştırmak, aceleyle verilmiş yanlış bir G-Line'ın yüzlerce masum kullanıcıyı etkilemesini önler.

İki Aşamalı Doğrulama Düşüncesi

Sertifika ile parolayı birlikte kullanmak, pratikte iki aşamalı doğrulamaya yakın bir güvenlik sağlar. Oper'larınızın istemci sertifikalarını yalnızca kendi bilgisayarlarında tutmalarını, sertifika dosyasını kimseyle paylaşmamalarını ve bilgisayar değiştirdiklerinde size yeni parmak izini bildirmelerini isteyin.

Sonuç

oper bloğu, ağınızın anahtarını kime teslim ettiğinizi belirler. Güçlü parola özetleri, sertifika tabanlı giriş, kişiye özel hesaplar ve en düşük gerekli yetki ilkesiyle bu anahtarları güvende tutabilirsiniz. Ağınızı büyütmeye hazırsanız bir sonraki adım ikinci bir sunucuyu bağlamak: link bloğu.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Oper parolasını düz metin yazabilir miyim?

Teknik olarak mümkün olsa da kesinlikle önerilmez. ./unrealircd mkpasswd ile üretilen argon2 özetini kullanmalısınız.

operclass nedir?

Bir operatörün hangi komutları kullanabileceğini belirleyen yetki şablonudur. netadmin, admin, globop gibi hazır sınıflar operclass.default.conf dosyasında tanımlıdır.

Oper girişi yapınca neden hiçbir şey olmuyor?

Genellikle mask kısıtlaması, yanlış parola veya TLS zorunluluğu nedeniyle giriş reddedilir. Sunucunun gönderdiği hata mesajını ve log kayıtlarını kontrol edin.