UnrealIRCd JSON-RPC ve Web Paneli: Ağınızı Tarayıcıdan Yönetin
İçindekiler
UnrealIRCd'yi yönetmek uzun yıllar boyunca iki araçla yapıldı: yapılandırma dosyası ve IRC istemcisindeki oper komutları. UnrealIRCd 6 ile birlikte üçüncü bir yol açıldı: JSON-RPC arayüzü ve bunun üzerine kurulu resmî bir UnrealIRCd webpanel. Bu araçlar sayesinde ağınızdaki kullanıcıları, kanalları, sunucuları ve yasakları bir web tarayıcısından izleyebilir ve yönetebilirsiniz.
JSON-RPC Nedir?
JSON-RPC, programların birbirleriyle JSON biçiminde mesajlar göndererek iletişim kurmasını sağlayan basit bir protokoldür. UnrealIRCd bu protokolü destekleyen bir arayüz sunar; böylece web paneli, izleme sistemleri veya kendi yazdığınız betikler sunucuya "Şu anda bağlı kullanıcıları listele", "Bu IP'ye G-Line ekle" veya "Sunucu istatistiklerini gönder" gibi istekler gönderebilir.
Bu arayüz, IRC'ye bağlanmadan sunucuyla güvenli bir şekilde konuşmanın modern yoludur. Web paneli bu arayüzü kullanan en bilinen uygulamadır; ama aynı arayüzü kendi otomasyonlarınız için de kullanabilirsiniz.
1. RPC Modüllerini Etkinleştirmek
Örnek yapılandırmada RPC için hazırlanmış bir include dosyası bulunur. Ana yapılandırmanıza ekleyin:
include "rpc.modules.default.conf";
2. RPC İçin listen Bloğu
RPC isteklerini dinleyecek bir port tanımlayın. Güvenlik açısından en iyi yöntem bu portu yalnızca yerel adreste dinletmektir:
listen {
ip 127.0.0.1;
port 8600;
options { rpc; }
}
Web paneli aynı makinede çalışacaksa bu ayar yeterlidir ve RPC portu internete hiç açılmaz. Panel farklı bir makinedeyse portu yalnızca o makinenin IP'sine açın ve güvenlik duvarıyla diğer bütün erişimleri engelleyin.
3. RPC Kullanıcısı Tanımlamak
RPC arayüzüne kimlerin erişebileceğini rpc-user blokları belirler:
rpc-user webpanel {
match { ip 127.0.0.1; }
password "UzunVeRastgeleBirParola";
}
- match: Bu kullanıcının hangi adreslerden bağlanabileceğini kısıtlar.
- password: Web panelinin RPC'ye bağlanırken kullanacağı paroladır. Bu parola, IRC oper parolanızdan farklı ve güçlü olmalıdır.
Değişikliklerden sonra yapılandırmayı test edip rehash yapın. Ayrıntılar için unrealircd.conf temel yapısı yazımıza bakabilirsiniz.
4. Web Panelini Kurmak
Resmî web paneli ayrı bir projedir ve PHP ile yazılmıştır. Kurulum için genel olarak şunlar gerekir:
- Bir web sunucusu (Apache veya Nginx),
- Uygun bir PHP sürümü ve gerekli eklentiler,
- Panelin dosyalarının web sunucusunun erişebileceği bir dizine indirilmesi,
- Tarayıcıdan panelin kurulum sihirbazının çalıştırılması.
Kurulum sihirbazı size RPC adresini, portunu, kullanıcı adını ve parolasını sorar. Ardından panelin kendi yönetici hesabını oluşturursunuz. Bu hesap, panele giriş için kullanılır ve RPC kullanıcısından ayrıdır.
Panelin güncel kurulum adımları ve gereksinimleri zaman içinde değişebileceği için kurulum sırasında projenin kendi belgelerini takip etmenizi öneririz.
Web Panelinde Neler Yapılabilir?
| Bölüm | Örnek işlemler |
|---|---|
| Genel bakış | Kullanıcı ve kanal sayıları, sunucu durumu |
| Kullanıcılar | Bağlı kullanıcıları listeleme, ayrıntılarını görme, ağdan atma |
| Kanallar | Kanalları, modlarını ve üyelerini görme |
| Sunucular | Ağdaki sunucuları ve bağlantılarını görme |
| Yasaklar | G-Line, Z-Line ve diğer TKL kayıtlarını ekleme ve kaldırma |
| Spamfilter | Spamfilter kurallarını görüntüleme ve yönetme |
| Loglar | Canlı sunucu olaylarını izleme |
Özellikle yasak yönetimi panelde çok daha rahattır: Bütün G-Line kayıtlarını bir tabloda görmek, süresi dolmak üzere olanları fark etmek ve gereksizleri temizlemek IRC komut satırına göre çok daha kolaydır. Yasak türleri için G-Line, K-Line ve Z-Line yazımıza bakın.
Güvenlik: Paneli Korumak
Web paneli ağınızı yönetme yetkisine sahip olduğu için onu korumak, oper hesaplarını korumak kadar önemlidir:
- HTTPS zorunlu: Paneli yalnızca geçerli bir TLS sertifikasıyla, HTTPS üzerinden sunun.
- Erişimi kısıtlayın: Mümkünse paneli yalnızca belirli IP adreslerinden veya bir VPN üzerinden erişilebilir yapın. Web sunucusu düzeyinde ek bir parola koruması da eklenebilir.
- Güçlü parolalar: Panel kullanıcıları için güçlü ve benzersiz parolalar kullanın.
- Yetki ayrımı: Panel, farklı kullanıcılara farklı yetkiler vermenize izin verir. Her ekip üyesine yalnızca ihtiyaç duyduğu yetkileri verin.
- Güncel tutun: Paneli ve PHP sürümünü düzenli olarak güncelleyin.
- RPC portunu kapalı tutun: RPC portunu internete açmayın.
Kendi Otomasyonlarınız
JSON-RPC arayüzü yalnızca web paneli için değildir. Kendi betiklerinizle de kullanabilirsiniz:
- Kullanıcı sayılarını düzenli olarak bir izleme sistemine göndermek,
- Belirli olaylarda ekibinize bildirim göndermek,
- Dış bir kaynaktan gelen kötü IP listelerini otomatik olarak G-Line'a dönüştürmek,
- Ağ istatistiklerini web sitenizde göstermek.
Bu tür otomasyonlar için her betiğe ayrı bir rpc-user tanımlamak ve yalnızca ihtiyaç duyduğu adresle sınırlamak, olası bir sızıntının etkisini en aza indirir.
Sorun Giderme
| Sorun | Olası neden |
|---|---|
| Panel RPC'ye bağlanamıyor | listen bloğunda rpc seçeneği eksik veya yanlış port |
| "Authentication failed" | rpc-user parolası veya match ayarı yanlış |
| Panel boş görünüyor | rpc.modules.default.conf dahil edilmemiş |
| Bazı işlemler yapılamıyor | Panel kullanıcısının yetkisi yetersiz |
Sorunları teşhis etmek için hem UnrealIRCd log'larına hem de web sunucusunun hata log'larına bakın. Log ayarları için log ayarları yazımıza göz atabilirsiniz.
Panel Kullanımını Ekip İçinde Düzenlemek
Web paneli, IRC komutlarına alışkın olmayan ekip üyeleri için yönetimi kolaylaştırır; ama kolaylık beraberinde dikkatsizliği de getirebilir. Panelde bir tıklamayla geniş bir IP aralığını yasaklamak, komut satırında bunu yazmaktan çok daha hızlıdır. Bu yüzden panel kullanıcılarına yetki verirken onlara ağın yasak politikasını da hatırlatın. Panelde yapılan işlemler log'lara kaydedildiği için kimin hangi işlemi yaptığını takip etmek mümkündür; bu kayıtları düzenli olarak gözden geçirmek, hem hataları erken fark etmenizi hem de ekip içinde şeffaflık sağlamanızı kolaylaştırır.
Paneli Yedeklemek
Web panelinin kendi ayar dosyası ve kullanıcı veritabanı vardır. UnrealIRCd yedeklerinizin yanında bu dosyaları da yedeklemeyi unutmayın; aksi hâlde sunucu taşıma veya yeniden kurulum sırasında panel kullanıcılarını ve yetkilerini baştan tanımlamak zorunda kalırsınız. Yedekleri, panelin parolalarını ve RPC bilgilerini içerdiği için en az yapılandırma dosyaları kadar güvenli bir yerde saklayın.
Sonuç
JSON-RPC ve web paneli, UnrealIRCd yönetimini modern bir deneyime dönüştürür. Ağınızı tarayıcıdan izleyebilir, yasakları tablolar üzerinden yönetebilir ve kendi otomasyonlarınızı yazabilirsiniz. Tek şart, bu güçlü erişim noktasını en az oper hesaplarınız kadar iyi korumaktır. Sunucunuzda olup biteni kaydetmek için sıradaki rehberimiz log ayarları.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Web paneli zorunlu mu?
Hayır. Web paneli isteğe bağlı bir yönetim aracıdır; ağ onsuz da tamamen çalışır.
JSON-RPC portunu internete açmalı mıyım?
Mümkünse hayır. RPC portunu yalnızca yerel adreste veya güvenli bir ağda dinletip web panelini aynı makinede çalıştırmak en güvenli yoldur.
Web paneli hangi teknolojiyle çalışır?
Resmî web paneli PHP ile yazılmıştır ve bir web sunucusu üzerinde çalışır; UnrealIRCd ile JSON-RPC aracılığıyla konuşur.