Services

Anope Modül Yapılandırması: modules.conf ve Ek Modüller

· Güncelleme: · 5 dk okuma

Anope Modül Yapılandırması: modules.conf ve Ek Modüller
İçindekiler
  1. Modüler Yapı Nasıl Çalışır?
  2. modules.conf Dosyası
  3. Veritabanı Modülleri
  4. Şifreleme Modülleri
  5. TLS Modülü
  6. SASL Modülü
  7. Diğer Yararlı Modüller
  8. Ek Modülleri Derlemek
  9. Çalışma Sırasında Modül Yönetimi
  10. Sık Karşılaşılan Sorunlar
  11. Üçüncü Parti Modüller
  12. Gerçek Bir Senaryo
  13. Sonuç

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ÖrneklerNerede yapılandırılır?
Protokol modülüIRC sunucusuyla iletişimservices.conf
Servis çekirdekleriNickServ, ChanServ vb.İlgili servis dosyası
Komut modülleriREGISTER, ACCESS, AKICK vb.İlgili servis dosyası
Veritabanı modülleriDüz dosya, SQLservices.conf veya modules.conf
Şifreleme modülleriParola özetlemeservices.conf veya modules.conf
Ek modüllerTLS, 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

BelirtiOlası neden
"Unable to load module"Modül derlenmemiş veya dosya bulunamıyor
Modül yükleniyor ama komut görünmüyorKomut ilgili servise bağlanmamış
Services açılırken hata veriyorModülün zorunlu ayarı eksik
Harici modül derlenmiyorBağımlı kütüphane veya geliştirme paketi eksik
Yükseltme sonrası modül çalışmıyorModü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ğlan

Sı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.