Eggdrop

Eggdrop SASL Ayarları: Bağlanırken Otomatik Kimlik Doğrulama

· Güncelleme: · 5 dk okuma

Eggdrop SASL Ayarları: Bağlanırken Otomatik Kimlik Doğrulama
İçindekiler
  1. SASL Nedir?
  2. SASL'ın Avantajları
  3. Desteklenen Mekanizmalar
  4. Ayarlar
  5. Parolayı Korumak
  6. EXTERNAL: Sertifikayla Parolasız Giriş
  7. Sık Karşılaşılan SASL Hataları
  8. Gerçek Bir Senaryo
  9. SASL Akışı Adım Adım
  10. Ağın SASL Desteğini Kontrol Etmek
  11. Birden Fazla Ağ
  12. Sonuç

Bir botun services hesabına giriş yapmasının klasik yolu, bağlandıktan sonra NickServ'e parola içeren bir mesaj göndermektir. Bu yöntem çalışır ama bazı sorunları vardır: Bot, giriş yapmadan önce kanallara girebilir; kayıtlı kullanıcılara özel kanallara giremez; cloak (gizli host) giriş yapılana kadar uygulanmaz ve botun gerçek IP adresi kısa bir süre görünür. Eggdrop SASL bu sorunları çözer: Kimlik doğrulama, bağlantı tamamlanmadan, IRCv3'ün yetenek müzakeresi aşamasında yapılır.

SASL Nedir?

SASL (Simple Authentication and Security Layer), farklı protokollerde kullanılan genel bir kimlik doğrulama çerçevesidir. IRC'de IRCv3 kapsamında sasl yeteneği olarak uygulanır. İstemci sunucuya bağlanırken bu yeteneği talep eder, ardından seçtiği yöntemle kimlik bilgilerini gönderir; services hesabı doğrularsa bağlantı tamamlanır. IRCv3'ün diğer özellikleri için IRCv3 özellikleri yazımıza, services tarafındaki işleyiş için services SASL yazımıza bakabilirsiniz.

SASL'ın Avantajları

  • Kanallara girmeden önce giriş: Bot, kayıtlı kullanıcılara özel kanallara sorunsuz girer.
  • Erken cloak: Ağ kayıtlı kullanıcılara host gizleme uyguluyorsa, cloak bağlantı anında uygulanır.
  • Zamanlama sorunu yok: NickServ'in geç cevap vermesi veya mesajın kaybolması gibi sorunlar ortadan kalkar.
  • Sertifikalı giriş: EXTERNAL mekanizmasıyla parola göndermeden giriş yapılabilir.

Desteklenen Mekanizmalar

MekanizmaNasıl çalışır?Ne zaman kullanılır?
PLAINHesap adı ve parola gönderilirGenel kullanım; mutlaka TLS ile birlikte
EXTERNALİstemci sertifikasıyla doğrulamaSertifika parmak izi hesaba eklenmişse
ECDSA tabanlı yöntemlerAnahtar çiftiyle imzaBazı ağlarda ve services yazılımlarında

PLAIN mekanizması parolayı sunucuya gönderir. Bağlantı şifreli değilse parola düz metin olarak gider. Bu yüzden PLAIN'i yalnızca TLS bağlantıyla birlikte kullanın; ayrıntılar SSL bağlantı yazımızda.

Ayarlar

Güncel Eggdrop sürümlerinde SASL ayarları eggdrop.conf'ta yer alır. Tipik bir PLAIN yapılandırması şöyledir:

set sasl 1
set sasl-mechanism 0
set sasl-username "BotHesabi"
set sasl-password "guclu-bir-parola"
set sasl-continue 0

Ayarların anlamları:

  • sasl: SASL'ı açar veya kapatır.
  • sasl-mechanism: Kullanılacak yöntem. Değerlerin hangi mekanizmaya karşılık geldiği sürüm belgesinde açıklanır.
  • sasl-username / sasl-password: Services hesap adı ve parolası.
  • sasl-continue: SASL başarısız olursa bağlantıya devam edilip edilmeyeceği. Sıfır olduğunda bot giriş yapamazsa bağlantıyı keser.

Ayar adları ve değerleri sürümden sürüme değişebilir; kendi sürümünüzle gelen eggdrop.conf örneğindeki SASL bölümünü mutlaka okuyun. Eggdrop yapılandırmasıyla ilgili genel bilgiler eggdrop.conf ayarları yazımızda.

Parolayı Korumak

eggdrop.conf dosyasında parola düz metin olarak durur. Bu nedenle dosyanın izinlerini yalnızca botu çalıştıran kullanıcının okuyabileceği şekilde ayarlayın:

chmod 600 eggdrop.conf

Yapılandırma dosyasını başkalarıyla paylaşırken veya yardım isterken parola satırlarını mutlaka silin. Bot hesabı için kişisel hesabınızdan farklı, yalnızca bota ait bir parola kullanın. Böylece parola sızarsa yalnızca botun hesabı etkilenir.

EXTERNAL: Sertifikayla Parolasız Giriş

EXTERNAL mekanizması, botun TLS istemci sertifikasını kimlik olarak kullanır. Kurulum üç adımdan oluşur:

  1. Bot için bir istemci sertifikası oluşturun ve eggdrop.conf'ta tanımlayın.
  2. Bot TLS ile bağlandıktan sonra sertifikanın parmak izini services hesabına ekleyin. Anope'ta bu iş genellikle NickServ CERT ADD, Atheme'de ise benzer bir CERT komutuyla yapılır.
  3. sasl-mechanism ayarını EXTERNAL'a karşılık gelen değere çekin.

Bu yöntemin en büyük avantajı yapılandırma dosyasında parola tutulmamasıdır. Sertifika dosyası çalınmadığı sürece hesap güvende kalır. Services tarafındaki komutlar için NickServ komutları yazımıza bakın.

Sık Karşılaşılan SASL Hataları

Mesaj veya belirtiOlası nedenÇözüm
SASL authentication failedHesap adı veya parola yanlışBilgileri services üzerinde manuel deneyin
Sunucu SASL desteklemiyorAğda SASL kapalı veya services bağlı değilAğın yardım kanalına danışın
Bot bağlantıyı kesiyorsasl-continue sıfır ve giriş başarısızÖnce hatayı düzeltin, geçici olarak 1 yapın
EXTERNAL başarısızParmak izi hesaba eklenmemişParmak izini hesaba ekleyin
Hesap adı yerine nick kullanılmışGruplanmış nickte ana hesap farklıAna hesap adını kullanın

Hata mesajları, botun log dosyasında ve partyline'da görünür. IRC'nin sayısal cevap kodlarını tanımak hata ayıklamayı hızlandırır; IRC hata numerikleri yazımıza bakabilirsiniz.

Gerçek Bir Senaryo

Bir ağdaki destek kanalı yalnızca kayıtlı kullanıcıların girebileceği şekilde kısıtlanmış. Kanalın botu her yeniden bağlantıda bu kanala giremiyor, çünkü NickServ'e identify olmadan kanala girmeye çalışıyor. Botun sahibi önce botu TLS ile bağlanacak şekilde ayarlıyor, ardından SASL PLAIN'i yapılandırıyor. Artık bot sunucuya bağlandığında hesabına zaten giriş yapmış oluyor ve kanala sorunsuz giriyor. Bir sonraki adımda bot için bir sertifika oluşturup EXTERNAL'a geçiyor ve yapılandırma dosyasındaki parolayı tamamen kaldırıyor.

SASL Akışı Adım Adım

SASL'ın arka planda nasıl işlediğini bilmek, hata ayıklarken çok işe yarar. Bot sunucuya bağlanır bağlanmaz önce sunucudan desteklediği yeteneklerin listesini ister. Listede sasl varsa bu yeteneği talep eder. Sunucu talebi kabul ettiğinde bot hangi mekanizmayı kullanacağını bildirir. Sunucu "devam et" anlamına gelen bir cevap verir ve bot kimlik bilgilerini kodlanmış biçimde gönderir. Services bu bilgileri kontrol eder ve sonucu sunucu üzerinden bota iletir. Başarılı olursa bot yetenek müzakeresini bitirir ve bağlantı normal şekilde tamamlanır. Bütün bu süreç birkaç saniyeden kısa sürer. Herhangi bir adımda bir sorun olursa sunucu belirli bir sayısal kodla cevap verir; bu kodlar log dosyasında görülür ve sorunun hangi aşamada yaşandığını gösterir.

Ağın SASL Desteğini Kontrol Etmek

Botu yapılandırmadan önce ağın SASL destekleyip desteklemediğini kendi IRC istemcinizle kontrol edebilirsiniz. Modern istemcilerin çoğu bağlantı sırasında sunucunun sunduğu yetenekleri gösterir. Ayrıca kendi hesabınızla istemcide SASL'ı deneyip başarılı olduğunu görmek, bot tarafındaki sorunları ağ tarafındaki sorunlardan ayırmanızı sağlar. Kendi istemcinizde çalışan bir ayar botta çalışmıyorsa, sorun büyük olasılıkla botun yapılandırmasındadır.

Birden Fazla Ağ

Bir botu farklı ağlarda çalıştırıyorsanız her ağ için ayrı bir bot süreci ve ayrı bir yapılandırma dosyası kullanılır. Her ağda farklı hesap adı ve parola olabileceğini unutmayın; hesap bilgilerini ağdan ağa kopyalamak yerine her biri için bağımsız güçlü parolalar oluşturun.

Sonuç

SASL, botların ağa güvenli ve güvenilir şekilde giriş yapmasının modern yoludur. TLS ile birlikte PLAIN kullanın, mümkünse sertifikayla EXTERNAL'a geçin, yapılandırma dosyasının izinlerini sıkı tutun ve hataları log üzerinden takip edin. SASL desteklemeyen ağlar için klasik yöntem NickServ identify rehberimizde.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

SASL ile NickServ identify arasındaki fark nedir?

SASL, kimlik doğrulamayı bağlantı tamamlanmadan önce yapar. Bot kanallara girdiğinde zaten giriş yapmış olur. NickServ identify ise bağlantıdan sonra mesajla yapılır.

SASL için hangi Eggdrop sürümü gerekir?

Yerleşik SASL desteği güncel 1.9 ve sonrası sürümlerde bulunur. Eski sürümlerde ek scriptler gerekir.

EXTERNAL mekanizması ne zaman kullanılır?

Botunuz bir istemci sertifikası kullanıyorsa ve bu sertifikanın parmak izi services hesabınıza eklenmişse EXTERNAL ile parola göndermeden giriş yapabilirsiniz.