İletişim
UnrealIRCd

UnrealIRCd listen Bloğu: Portlar, TLS ve Sunucu Bağlantı Noktaları

· 5 dk okuma

İçindekiler
  1. En Basit listen Bloğu
  2. TLS Portu
  3. Hangi Portları Açmalı?
  4. Sunucu ve Services İçin Ayrı Port
  5. Belirli Bir IP'yi Dinlemek
  6. IPv6 Desteği
  7. TLS Seçeneklerini Port Bazında Ayarlamak
  8. Değişiklikleri Uygulamak
  9. Sık Yapılan Hatalar
  10. Kullanıcıları TLS'e Yönlendirmek
  11. Port Taramalarına Karşı Dikkat
  12. Hangi Ayar Nerede?
  13. Sonuç

Sunucunuz kimliğini ve kapı kurallarını belirledi; şimdi kapıların nerede olduğunu tanımlama zamanı. UnrealIRCd listen bloğu, sunucunun hangi IP adresi ve port üzerinden bağlantı kabul edeceğini, bu bağlantıların şifreli olup olmayacağını ve kimler tarafından kullanılabileceğini belirler.

En Basit listen Bloğu

listen {
	ip *;
	port 6667;
}

Bu blok şifresiz bir bağlantı noktası açar. Günümüzde ise asıl önemli olan şifreli bağlantıdır.

TLS Portu

listen {
	ip *;
	port 6697;
	options { tls; }
}

options { tls; } satırı, bu porta yapılan bağlantıların TLS ile şifrelenmesini zorunlu kılar. Kullanıcı mIRC'de bağlanırken portun başına + koyarak TLS kullanmak istediğini belirtir:

/server irc.ornekagi.net +6697

TLS bağlantıları için geçerli bir sertifikaya ihtiyaç vardır. Kurulum sırasında oluşturulan kendinden imzalı sertifika test için yeterlidir; ama gerçek kullanıcılar için Let's Encrypt sertifikası kullanmalısınız.

Hangi Portları Açmalı?

PortKullanımÖneri
6697TLS istemci bağlantılarıMutlaka açık olmalı
6667Şifresiz istemci bağlantılarıMümkünse kapatın veya sınırlayın
6900 / 7000Sunucu ve services bağlantılarıYalnızca sunuculara açın
443 / 8443WebSocket veya güvenlik duvarı arkasındaki kullanıcılarİhtiyaca göre

Bazı kurumsal ağlar ve okul ağları 6667 ve 6697 gibi portları engeller. Bu kullanıcıların bağlanabilmesi için 443 gibi genellikle açık olan bir portta da TLS dinlemesi yapabilirsiniz; ancak bu portu sunucuda başka bir hizmet (örneğin web sunucusu) kullanıyorsa çakışma olur. Bu durumda ayrı bir IP adresi kullanmak gerekir.

Şifresiz Port Tartışması

Şifresiz 6667 portu, bağlantının içeriğini (parolalar dahil) ağ üzerinde düz metin olarak taşır. Kullanıcı NickServ'e şifresiz bir bağlantıdan IDENTIFY gönderdiğinde, aradaki herhangi biri bu parolayı görebilir. Bu nedenle pek çok ağ:

UnrealIRCd'de, şifresiz bağlantılara uyarı gösteren veya onları kısıtlayan ayarlar bulunur. Yeni kurulan bir ağda en temiz yaklaşım baştan yalnızca TLS kabul etmektir.

Sunucu ve Services İçin Ayrı Port

Diğer sunucuların ve services paketinin bağlanacağı portu, normal kullanıcıların kullanamayacağı şekilde ayırmak iyi bir pratiktir:

listen {
	ip *;
	port 6900;
	options { tls; serversonly; }
}

serversonly seçeneği, bu porta yalnızca sunucu bağlantılarının yapılabileceğini belirtir. Services aynı makinede çalışıyorsa services portunu yalnızca yerel adreste dinletmek daha da güvenlidir:

listen {
	ip 127.0.0.1;
	port 7000;
	options { serversonly; }
}

Bu durumda services ile UnrealIRCd arasındaki trafik makinenin dışına hiç çıkmaz; bu yüzden TLS'siz kullanmak kabul edilebilir. Ayrıntılar için Anope ve UnrealIRCd bağlantısı ve link bloğu yazılarımıza bakabilirsiniz.

Belirli Bir IP'yi Dinlemek

Sunucunuzda birden fazla IP adresi varsa her birinde farklı portlar dinleyebilirsiniz:

listen {
	ip 203.0.113.5;
	port 6697;
	options { tls; }
}

Bu yöntem, örneğin bir IP'yi IRC'ye, diğerini web sunucusuna ayırmak istediğinizde kullanışlıdır.

IPv6 Desteği

UnrealIRCd IPv6'yı destekler. Sunucunuzun IPv6 adresi varsa ip * hem IPv4 hem IPv6 adreslerinde dinlemeyi kapsayabilir; sisteme ve yapılandırmaya bağlı olarak IPv6 için ayrı bir blok tanımlamanız gerekebilir:

listen {
	ip 2001:db8::5;
	port 6697;
	options { tls; }
}

IPv6 kullanıcıları için allow bloklarınızdaki maske ve maxperip ayarlarının da IPv6 adreslerini dikkate aldığından emin olun.

TLS Seçeneklerini Port Bazında Ayarlamak

Belirli bir port için farklı bir sertifika veya farklı TLS ayarları kullanmak isterseniz listen bloğunun içinde tls-options alt bloğu tanımlayabilirsiniz. Bu, örneğin tek sunucunun iki farklı alan adına hizmet verdiği durumlarda işe yarar. Çoğu kurulumda ise tüm portlar için set bloğundaki ortak TLS ayarları yeterlidir.

Değişiklikleri Uygulamak

Yeni bir listen bloğu eklediğinizde rehash ile uygulayabilirsiniz. Mevcut bir portu kaldırdığınızda o porta bağlı kullanıcılar bağlı kalmaya devam eder; yeni bağlantılar ise kabul edilmez.

Değişiklikten sonra portun gerçekten dinlendiğini kontrol etmek için Linux'ta şu komutu kullanabilirsiniz:

ss -tlnp | grep unrealircd

Güvenlik duvarında yeni portu açmayı da unutmayın; dinlenen ama güvenlik duvarında kapalı bir porta dışarıdan bağlanılamaz.

Sık Yapılan Hatalar

Kullanıcıları TLS'e Yönlendirmek

Şifresiz portu bir anda kapatmak, eski ayarlarla bağlanan kullanıcılarınızı habersizce dışarıda bırakabilir. Daha yumuşak bir geçiş için önce birkaç hafta boyunca şifresiz bağlananlara TLS portunu kullanmalarını hatırlatan bir bildirim gösterin, MOTD ve web sitenizde duyuru yapın, ardından şifresiz portu kapatın. mIRC kullanıcılarınız için sunucu listesinde portun başına artı işareti koymayı anlatan kısa bir yardım sayfası hazırlamak destek taleplerini büyük ölçüde azaltır.

TLS'in yalnızca şifreleme değil, kimlik doğrulama da sağladığını unutmayın. Geçerli bir sertifika, kullanıcının gerçekten sizin sunucunuza bağlandığını garanti eder. Kendinden imzalı sertifikalarda istemciler uyarı gösterir; kullanıcılarınıza bu uyarıları körü körüne geçmeyi öğretmek yerine baştan geçerli bir sertifika kullanmak, ortadaki adam saldırılarına karşı onları gerçekten korur.

Port Taramalarına Karşı Dikkat

İnternete açık her sunucu sürekli olarak otomatik port taramalarıyla karşılaşır. Gereksiz portları kapalı tutmak, sunucu portlarını serversonly ile işaretlemek ve mümkünse yalnızca bilinen IP'lere açmak bu taramaların işe yaramamasını sağlar. Hangi portların açık olduğunu düzenli aralıklarla dışarıdan kontrol etmek de iyi bir alışkanlıktır.

Hangi Ayar Nerede?

Port tanımlarını ana yapılandırma dosyasında bir arada tutmak, hangi portun neden açık olduğunu bir bakışta görmenizi sağlar. Her listen bloğunun üstüne kısa bir yorum satırı ekleyin.

Sonuç

listen bloğu küçük ama kritik bir bloktur. Yalnızca TLS kabul eden istemci portları, dışarıya kapalı sunucu portları ve doğru güvenlik duvarı kurallarıyla sunucunuzun kapılarını güvenli hâle getirebilirsiniz. Kapılar hazır olduğuna göre, içeride ağı yönetecek kişiyi tanımlamanın zamanı geldi: oper bloğu.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

IRC için standart portlar hangileridir?

Geleneksel olarak 6667 şifresiz, 6697 ise TLS bağlantı için kullanılır. Bunlar zorunlu değildir ama istemciler tarafından yaygın olarak beklenir.

Şifresiz 6667 portunu kapatmalı mıyım?

Pek çok ağ artık yalnızca TLS kabul ediyor. Eski istemcileri desteklemek zorunda değilseniz şifresiz portu kapatmak güvenliği artırır.

Services için ayrı port gerekir mi?

Zorunlu değildir ama önerilir. Sunucu ve services bağlantıları için yalnızca sunuculara açık, dışarıya kapalı bir port kullanmak saldırı yüzeyini azaltır.