UnrealIRCd

UnrealIRCd'de DNS Çözümleme ve Ident: Kullanıcı Hostları Nasıl Belirlenir?

· Güncelleme: · 5 dk okuma

UnrealIRCd'de DNS Çözümleme ve Ident: Kullanıcı Hostları Nasıl Belirlenir?
İçindekiler
  1. Bağlanırken Gördüğünüz Mesajlar
  2. Ters DNS Çözümleme
  3. Host Adı ve Cloaking
  4. Ident Protokolü
  5. Ident Günümüzde Ne Kadar Anlamlı?
  6. Bağlantı Gecikmeleri
  7. Kendi Sunucunuzun DNS Kayıtları
  8. Kullanıcılar İçin Notlar
  9. Sorun Giderme İpuçları
  10. Sonuç

IRC'de bir kullanıcıya /WHOIS yaptığınızda nick!kullanici@host biçiminde bir adres görürsünüz. Bu adresin "kullanıcı" ve "host" bölümleri, kullanıcı bağlanırken sunucunun yaptığı iki kontrolle belirlenir: ters DNS çözümleme ve ident. Bu rehberde IRC ident ve DNS çözümlemenin nasıl çalıştığını, UnrealIRCd'de bu süreçlerin nasıl yönetildiğini ve bağlantı hızına etkilerini anlatıyoruz.

Bağlanırken Gördüğünüz Mesajlar

Bir IRC sunucusuna bağlandığınızda genellikle şuna benzer satırlar görürsünüz:

*** Looking up your hostname...
*** Found your hostname
*** Checking ident...
*** No ident response; username prefixed with ~

Bu satırlar, sunucunun sizin için bir host adı ve kullanıcı adı belirlemeye çalıştığını gösterir. Her iki kontrol de birkaç saniyelik bir zaman aşımına sahiptir; cevap gelmezse sunucu varsayılan değerlerle devam eder.

Ters DNS Çözümleme

Her IP adresinin, sahibi tarafından tanımlanmışsa, bir ters DNS (PTR) kaydı vardır. Örneğin 203.0.113.5 adresinin ters kaydı musteri-5.ornek-isp.net olabilir. UnrealIRCd bağlanan kullanıcının IP adresi için bu kaydı sorgular.

Ancak ters kayıt kolayca sahte olabilir: IP adresinin sahibi, ters kaydı istediği bir ada ayarlayabilir. Bu nedenle UnrealIRCd bir doğrulama daha yapar: Bulduğu host adını tekrar normal DNS'te sorgular ve aynı IP'ye çıkıp çıkmadığını kontrol eder. Buna ileri doğrulama (forward-confirmed reverse DNS) denir. İki kayıt eşleşirse host adı kullanılır; eşleşmezse yalnızca IP adresi gösterilir.

Bu sayede kötü niyetli biri ters kaydını yonetici.ornekagi.net gibi yanıltıcı bir ada ayarlasa bile bu ad kabul edilmez.

Host Adı ve Cloaking

Kullanıcının çözümlenen host adı, cloaking açıksa diğer kullanıcılara doğrudan gösterilmez; bunun yerine gizlenmiş bir sürümü gösterilir. Host adı çözümlenebildiyse cloak, alan adının bir kısmını koruyarak oluşturulur; çözümlenemediyse IP adresinden türetilir. Ayrıntılar için cloaking ile IP gizleme yazımıza bakın.

Ident Protokolü

Ident, 1980'lerin çok kullanıcılı Unix sistemlerinden kalma bir protokoldür. O dönemde aynı bilgisayarda onlarca kullanıcı bulunurdu ve bir IRC sunucusu "Bu bağlantıyı hangi kullanıcı açtı?" diye sormak isterdi. Sunucu, kullanıcının bilgisayarındaki 113 numaralı porta bağlanarak bu soruyu sorar; bilgisayarda bir ident sunucusu çalışıyorsa cevap verir.

  • Cevap gelirse: Kullanıcı adı ident sunucusunun bildirdiği değer olur, önünde işaret bulunmaz.
  • Cevap gelmezse: İstemcinin bildirdiği kullanıcı adı kullanılır ve başına ~ (tilde) eklenir.

Bu tilde işareti, kullanıcı adının doğrulanmadığını gösterir. mIRC'nin kendi yerleşik ident sunucusu vardır ve etkin olduğunda bu soruya cevap verebilir; ancak modem ve güvenlik duvarları genellikle 113 numaralı porta gelen bağlantıları engellediği için ev kullanıcılarının çoğu tilde ile görünür.

Ident Günümüzde Ne Kadar Anlamlı?

Bugün kullanıcıların büyük çoğunluğu kendi bilgisayarından, NAT arkasından bağlanır. Ident sunucusu çalıştıran veya 113 portunu açan kullanıcı sayısı çok azdır. Bu yüzden ident kontrolünün sağladığı bilgi oldukça sınırlıdır ve kolayca taklit edilebilir. Ident'in en belirgin etkisi ise bağlantıyı yavaşlatmasıdır: Sunucu, cevap gelmeyecek bir sorgu için zaman aşımını bekler.

Bu nedenle pek çok modern ağ ident kontrolünü kapatır. UnrealIRCd'de bu kontrol, ilgili set ayarlarıyla açılıp kapatılabilir; varsayılan davranışı ve zaman aşımı süresini resmî belgelerden kontrol edin. Kapatıldığında bütün kullanıcıların kullanıcı adı istemcinin gönderdiği değer olur; tilde davranışı ise ağın tercihine göre ayarlanır.

Ident yerine kullanıcıları ayırt etmek için çok daha güvenilir yöntemler vardır: NickServ hesapları, SASL kimlik doğrulaması ve TLS sertifika parmak izleri. Banlar için de ident yerine ~account: gibi hesap tabanlı extended ban'lar tercih edilmelidir. Bkz. extended ban.

Bağlantı Gecikmeleri

Kullanıcılarınız bağlanırken uzun süre beklediklerini söylüyorsa olası nedenler şunlardır:

NedenBelirtiÇözüm
Ident zaman aşımı"Checking ident" satırında beklemeIdent kontrolünü kapatın veya zaman aşımını kısaltın
DNS sunucusu yavaş"Looking up your hostname" satırında beklemeSunucunun kullandığı DNS çözümleyicisini iyileştirin
Ters kayıt yokKısa bekleme ve IP gösterimiNormaldir, ek bir şey gerekmez

UnrealIRCd DNS sorgularını eşzamansız olarak yapar; yani bir kullanıcının yavaş DNS sorgusu diğer kullanıcıları etkilemez. Yine de sunucunun kullandığı DNS çözümleyicisinin hızlı ve güvenilir olması önemlidir. Sunucunuzda yerel bir önbellekleyen DNS çözümleyici çalıştırmak, özellikle yoğun bağlantı dönemlerinde fark yaratır.

Kendi Sunucunuzun DNS Kayıtları

Kullanıcıların host adlarının yanı sıra kendi sunucunuzun DNS kayıtları da önemlidir:

  • Sunucu adınız (ör. istanbul.ornekagi.net) için A ve AAAA kayıtları,
  • Kullanıcıların bağlandığı ana ad (ör. irc.ornekagi.net) için kayıtlar,
  • Sunucunuzun IP adresi için bir PTR kaydı.

PTR kaydı, sunucunuz başka sunuculara bağlandığında veya bir kullanıcı sunucunuzun IP'sini sorguladığında doğru adın görünmesini sağlar. Sunucu adlandırma için me ve admin blokları yazımıza bakın.

Kullanıcılar İçin Notlar

Bir kullanıcı olarak tilde işaretinden rahatsızsanız mIRC'nin ident sunucusunu etkinleştirebilir ve modeminizde 113 portunu bilgisayarınıza yönlendirebilirsiniz. Ancak bu, güvenlik açısından ek bir kapı açmak anlamına gelir ve çoğu ağda hiçbir pratik avantaj sağlamaz. Tilde işareti yalnızca "kullanıcı adı doğrulanmadı" demektir; kötü bir şey ifade etmez. Ağınızda tanınmak istiyorsanız NickServ'e kayıt olmak ve SASL ile bağlanmak çok daha anlamlıdır. Bkz. IRC SASL bağlantısı.

Sorun Giderme İpuçları

Kullanıcılarınızdan biri sürekli IP adresiyle göründüğünü ve host adının hiç çözümlenmediğini söylüyorsa öncelikle o IP'nin gerçekten bir ters kaydı olup olmadığını kontrol edin; birçok internet sağlayıcısı müşterilerine ters kayıt tanımlamaz ve bu durumda yapılacak bir şey yoktur. Kayıt var ama yine de çözümlenmiyorsa ileri doğrulamanın başarısız olduğunu, yani ters kayıttaki adın aynı IP'yi göstermediğini düşünebilirsiniz. Linux'ta dig -x IP ve ardından bulunan ad için dig AD komutlarıyla bu iki adımı elle doğrulamak, sorunun sunucuda mı yoksa kullanıcının sağlayıcısında mı olduğunu hemen gösterir.

Sonuç

DNS çözümleme ve ident, IRC'nin en eski mekanizmalarındandır. Ters DNS, ileri doğrulamayla birlikte hâlâ kullanıcılara anlamlı host adları sağlar; ident ise günümüzde büyük ölçüde anlamını yitirmiştir ve bağlantıları hızlandırmak için kapatılabilir. Kullanıcıları tanımak için hesap ve sertifika tabanlı yöntemlere yönelin. Sunucunuzun genel güvenliğini gözden geçirmek için sıradaki rehberimiz güvenlik kontrol listesi.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Nickimin önündeki ~ işareti ne anlama gelir?

Kullanıcı adınızın ident sunucusu tarafından doğrulanmadığını, istemcinizin gönderdiği değerin kullanıldığını gösterir.

Bağlanırken neden "Looking up your hostname" mesajı görüyorum?

Sunucu IP adresinizin ters DNS kaydını sorgulayarak size bir host adı atamaya çalışıyor.

Ident kontrolünü kapatmalı mıyım?

Günümüzde çoğu kullanıcı ident sunucusu çalıştırmadığı için pek çok ağ bu kontrolü kapatarak bağlantıları hızlandırır.