Anope Modül Yapılandırması: modules.conf ve Ek Modüller
İçindekiler
Anope'un en güçlü yanlarından biri modüler mimarisidir. NickServ'in REGISTER komutundan veritabanının nasıl saklanacağına, parola şifreleme yönteminden SASL desteğine kadar neredeyse her özellik ayrı bir modül olarak gelir. Bu yapı, ağınızın ihtiyacı olmayan özellikleri kapatmanıza, ihtiyacınız olanları ise eklemenize olanak tanır. Bu rehberde Anope modül yapılandırmasını, modules.conf dosyasının yapısını ve en önemli modülleri anlatıyoruz. Kurulum adımları için Anope kurulumu yazımıza bakabilirsiniz.
Modüler Yapı Nasıl Çalışır?
Anope'ta modüller birkaç gruba ayrılır:
| Grup | Örnekler | Nerede yapılandırılır? |
|---|---|---|
| Protokol modülü | IRC sunucusuyla iletişim | services.conf |
| Servis çekirdekleri | NickServ, ChanServ vb. | İlgili servis dosyası |
| Komut modülleri | REGISTER, ACCESS, AKICK vb. | İlgili servis dosyası |
| Veritabanı modülleri | Düz dosya, SQL | services.conf veya modules.conf |
| Şifreleme modülleri | Parola özetleme | services.conf veya modules.conf |
| Ek modüller | TLS, SASL, HTTP, LDAP vb. | modules.conf |
Her servis dosyası (nickserv.conf, chanserv.conf...) o servisin komut modüllerini ve bu komutların hangi adla kullanıcıya sunulacağını tanımlar. Örneğin chanserv.conf içinde AKICK komutunun modülü yüklenir ve ChanServ'e bağlanır. Bir komutu kapatmak için ilgili modül veya komut tanımını yorum satırına çevirmeniz yeterlidir.
modules.conf Dosyası
modules.conf, servislere doğrudan bağlı olmayan ek modüllerin yapılandırıldığı yerdir. Dosyadaki her modül bir module bloğuyla tanımlanır:
module
{
name = "modul_adi"
ayar = "deger"
}
Örnek dosyada her modülün açıklaması ve ayarları yorum satırı olarak yer alır. Kullanmak istediğiniz modülün bloğunun başındaki yorum işaretlerini kaldırmanız ve ayarlarını düzenlemeniz yeterlidir. Modül adlarının sürümden sürüme değişebileceğini unutmayın; Anope 2.0 serisinde ek modüller genellikle m_ önekiyle adlandırılırken, daha yeni sürümlerde bu önek kaldırılmış olabilir.
Veritabanı Modülleri
Anope'un kayıtları nasıl saklayacağını veritabanı modülleri belirler:
- Düz dosya veritabanı: Varsayılan seçenektir. Bütün kayıtlar tek bir dosyada tutulur ve belirli aralıklarla diske yazılır. Küçük ve orta ölçekli ağlar için yeterlidir; yedeklemesi de kolaydır.
- SQL veritabanı: Kayıtları MySQL veya SQLite gibi bir veritabanında tutar. Web paneli gibi dış araçların services verilerine erişmesi gerektiğinde kullanışlıdır.
- Canlı SQL: Her değişikliği anında veritabanına yazar ve okur. Birden fazla uygulamanın aynı verilere eşzamanlı erişmesi gerektiğinde tercih edilir.
SQL modülleri, derleme sırasında ilgili kütüphanelerin bulunmasını gerektirir. Hangi veritabanı modülünü seçerseniz seçin düzenli yedek almayı ihmal etmeyin; ayrıntılar services veritabanı yedekleme yazımızda.
Şifreleme Modülleri
Kullanıcı parolalarının veritabanında nasıl saklanacağını şifreleme modülleri belirler. Güvenlik açısından bu, en önemli yapılandırma kararlarından biridir. Parolalar asla düz metin olarak saklanmamalıdır. Güncel ve güçlü bir özetleme algoritması kullanan modülü birincil yöntem olarak seçin. Eski algoritmalar yalnızca eski veritabanlarından geçiş sırasında, kullanıcılar giriş yaptıkça parolaların yeni yönteme aktarılması için yüklü tutulabilir. Hesap güvenliği için NickServ hesap güvenliği ve services güvenliği yazılarımıza bakın.
TLS Modülü
Anope'un IRC sunucusuna şifreli bağlanabilmesi ve EXTERNAL SASL gibi sertifika tabanlı özellikleri destekleyebilmesi için TLS modülü gerekir. OpenSSL veya GnuTLS tabanlı modüllerden birini seçebilirsiniz. Bu modüller harici kütüphanelere bağımlı olduğu için genellikle varsayılan olarak derlenmez; kurulum sırasında Config betiğinde etkinleştirilmeleri gerekir.
SASL Modülü
Kullanıcıların bağlantı sırasında SASL ile giriş yapabilmesi için SASL modülünü etkinleştirin. Ağ tarafındaki diğer ayarlarla birlikte ayrıntılar services SASL yazımızda.
Diğer Yararlı Modüller
- HTTP ve web arayüzü modülleri: Kullanıcıların tarayıcı üzerinden hesaplarını yönetebileceği bir arayüz sunar.
- XMLRPC veya benzeri API modülleri: Web siteniz gibi dış uygulamaların services ile konuşmasını sağlar.
- LDAP modülü: Kurumsal kimlik sistemleriyle entegrasyon.
- DNS modülü: Services'in DNS sorguları yapabilmesi.
- Proxy tarayıcı modülleri: Bağlanan kullanıcıların açık proxy kullanıp kullanmadığını kontrol eder.
Her modül ek bir saldırı yüzeyi demektir. Gerçekten ihtiyaç duymadığınız modülleri yüklemeyin.
Ek Modülleri Derlemek
Harici kütüphanelere bağımlı modüller kaynak koddaki ayrı bir klasörde bulunur ve varsayılan olarak derlenmez. Bunları etkinleştirmek için kurulum sırasında Config betiğinin ilgili sorusunu kullanın veya sürümünüzün belgelerinde açıklanan yöntemle modül dosyasını derlenecek modüller arasına ekleyin. Ardından derlemeyi ve kurulumu tekrarlayın. Üçüncü parti modüller de genellikle benzer bir yolla, kaynak koda eklenip yeniden derlenerek kullanılır.
Çalışma Sırasında Modül Yönetimi
Services root yetkisine sahip operatörler, OperServ üzerinden modülleri çalışma sırasında yükleyip kaldırabilir:
/os MODLIST
/os MODLOAD modul_adi
/os MODUNLOAD modul_adi
/os MODRELOAD modul_adi
Bu, bir modülü services'i yeniden başlatmadan denemek için kullanışlıdır. Ancak kalıcı değişiklikleri mutlaka yapılandırma dosyasına yazın. OperServ komutları için OperServ komutları yazımıza bakın.
Sık Karşılaşılan Sorunlar
| Belirti | Olası neden |
|---|---|
| "Unable to load module" | Modül derlenmemiş veya dosya bulunamıyor |
| Modül yükleniyor ama komut görünmüyor | Komut ilgili servise bağlanmamış |
| Services açılırken hata veriyor | Modülün zorunlu ayarı eksik |
| Harici modül derlenmiyor | Bağımlı kütüphane veya geliştirme paketi eksik |
| Yükseltme sonrası modül çalışmıyor | Modül adı değişmiş veya modül eski sürüm için yazılmış |
Log dosyası, modül hatalarının nedenini genellikle açıkça gösterir. Log yapılandırması için services log izleme yazımıza bakın.
Üçüncü Parti Modüller
Topluluk tarafından geliştirilen modüller Anope'a yeni özellikler katabilir. Ancak bir modül, services'inize tam erişime sahiptir: Bütün kullanıcı verilerini okuyabilir, komut çalıştırabilir, ağ üzerinde işlem yapabilir. Bu yüzden yalnızca güvenilir kaynaklardan, bakımı yapılan ve kaynak kodu incelenebilen modülleri kullanın. Anope'u yükselttiğinizde üçüncü parti modüllerin yeni sürümle uyumlu olup olmadığını mutlaka kontrol edin.
Gerçek Bir Senaryo
Bir ağın yöneticileri, kullanıcıların hesaplarını web üzerinden yönetebilmesini istiyor. Anope'u bu kez SQL ve HTTP modülleriyle birlikte derliyorlar. Önce test ortamında düz dosya veritabanından SQL'e geçişi deniyorlar, ardından web arayüzünü yalnızca TLS üzerinden erişilebilir olacak şekilde yapılandırıyorlar. Canlıya geçmeden önce tam bir yedek alıyor ve geçişi kullanıcıların en az olduğu bir saatte yapıyorlar. Geçiş sorunsuz tamamlanıyor ve kullanıcılar e-posta adreslerini, parolalarını ve vhost taleplerini web sitesi üzerinden yönetmeye başlıyor.
Sonuç
Anope'un modüler yapısı, services'inizi ihtiyaçlarınıza göre şekillendirmenize olanak tanır. Veritabanı ve şifreleme modüllerini bilinçli seçin, TLS ve SASL modüllerini etkinleştirin, yalnızca gerçekten ihtiyaç duyduğunuz ek modülleri yükleyin ve üçüncü parti modüllere dikkatle yaklaşın. Atheme'nin yetki modelini tanımak için sıradaki rehberimiz Atheme flags sistemi.
IRC sorunun mu var? Kanalda birlikte çözelim.
💬 Kanala BağlanSıkça Sorulan Sorular
Anope modülleri nerede tanımlanır?
Temel modüller her servisin kendi yapılandırma dosyasında, ek modüller ise modules.conf dosyasında tanımlanır.
Üçüncü parti modül yüklemek güvenli mi?
Kaynağı güvenilir ve bakımı yapılan modüller genellikle güvenlidir. Bilinmeyen kaynaklardan gelen modüller services'inize tam erişim kazanır, dikkatli olun.
Modülü yükledim ama çalışmıyor, neden?
Modül derlenmemiş olabilir, bağımlılıkları eksik olabilir veya yapılandırması yapılmamış olabilir. Log dosyası genellikle nedeni gösterir.


