UnrealIRCd

UnrealIRCd Kurulumu: Linux Üzerinde Adım Adım IRC Sunucusu Kurma

· 5 dk okuma

UnrealIRCd Kurulumu: Linux Üzerinde Adım Adım IRC Sunucusu Kurma
İçindekiler
  1. 1. Sistemi Güncelleyin
  2. 2. Gerekli Paketleri Kurun
  3. 3. Ayrı Bir Kullanıcı Oluşturun
  4. 4. Kaynak Kodu İndirin
  5. 5. ./Config ile Derleme Seçeneklerini Belirleyin
  6. 6. Derleyin ve Kurun
  7. 7. İlk Yapılandırma Dosyasını Hazırlayın
  8. 8. Parola ve Cloak Anahtarı Üretin
  9. 9. Yapılandırmayı Test Edin ve Başlatın
  10. 10. Güvenlik Duvarını Ayarlayın
  11. Günlük Yönetim Komutları
  12. Kurulumdan Sonra İlk Kontroller
  13. Sunucu Yeniden Başladığında Otomatik Açılış
  14. Sonuç

Bu rehberde UnrealIRCd kurulumu sürecini temiz bir Linux sunucu üzerinde baştan sona anlatıyoruz. Örnekler Debian ve Ubuntu tabanlı sistemler için verilmiştir; farklı bir dağıtım kullanıyorsanız paket adları değişebilir ama mantık aynıdır. Kuruluma başlamadan önce UnrealIRCd'nin ne olduğunu öğrenmek isterseniz UnrealIRCd nedir yazımıza göz atabilirsiniz.

1. Sistemi Güncelleyin

Her kurulumdan önce sistemi güncellemek iyi bir alışkanlıktır. Güvenlik yamaları eksik bir sistemde çalışan sunucu, ne kadar iyi yapılandırılırsa yapılandırılsın risk altındadır.

sudo apt update
sudo apt upgrade -y

2. Gerekli Paketleri Kurun

UnrealIRCd kaynak koddan derlenir; bu yüzden derleyici ve birkaç geliştirme kütüphanesine ihtiyaç vardır.

sudo apt install -y build-essential pkg-config gdb libssl-dev \
  libpcre2-dev libargon2-dev libsodium-dev libc-ares-dev libcurl4-openssl-dev

Bu kütüphanelerin bir kısmı UnrealIRCd ile birlikte gelen kopyalarla da derlenebilir; ancak sistem paketlerini kullanmak güvenlik güncellemelerini işletim sistemine bırakmanızı sağlar. gdb paketi zorunlu değildir ama bir çökme yaşanırsa hata raporu oluşturmak için faydalıdır.

3. Ayrı Bir Kullanıcı Oluşturun

UnrealIRCd root olarak çalışmayı kesinlikle reddeder. Bu bir güvenlik tercihidir: Yazılımda bir açık bulunsa bile saldırgan tüm sisteme değil, yalnızca bu kullanıcının dosyalarına erişebilir.

sudo adduser --disabled-password ircd
sudo su - ircd

Bundan sonraki tüm adımları bu kullanıcıyla yapacağız.

4. Kaynak Kodu İndirin

Kaynak kodu her zaman projenin resmî sitesinden indirin. Üçüncü parti sitelerde dolaşan "hazır paketler" değiştirilmiş ve içine arka kapı yerleştirilmiş olabilir. İndirdikten sonra arşivi açın:

wget https://www.unrealircd.org/downloads/unrealircd-latest.tar.gz
tar xzvf unrealircd-latest.tar.gz
cd unrealircd-6.*

Resmî site ayrıca dosyanın imzasını ve özet değerini de yayımlar. Özellikle üretim sunucularında indirdiğiniz dosyayı bu değerlerle doğrulamak iyi bir pratiktir.

5. ./Config ile Derleme Seçeneklerini Belirleyin

Kaynak dizininde ./Config betiğini çalıştırın. Bu betik size birkaç soru sorar:

./Config

Sorulardan bazıları ve önerilen cevaplar:

  • Kurulum dizini: Varsayılan olarak ev dizininizdeki unrealircd klasörüdür. Değiştirmenize gerek yoktur.
  • Varsayılan izinler: Dosyaların yalnızca sizin kullanıcınız tarafından okunabilmesi için varsayılanı kabul edin.
  • TLS sertifikası: Kurulum sırasında geçici, kendinden imzalı bir sertifika oluşturulur. Gerçek bir sertifikayı daha sonra Let's Encrypt ile ekleyeceğiz.
  • Ek modüller veya derleme seçenekleri: Ne yaptığınızdan emin değilseniz boş bırakın.

Soruların çoğunda Enter'a basıp varsayılanı kabul etmek yeterlidir.

6. Derleyin ve Kurun

make -j$(nproc)
make install

make komutu sunucunun işlemci gücüne göre birkaç dakika sürebilir. Hata almadan tamamlandıysa make install dosyaları kurulum dizinine kopyalar. Şimdi kurulum dizinine geçin:

cd ~/unrealircd

7. İlk Yapılandırma Dosyasını Hazırlayın

UnrealIRCd örnek bir yapılandırma dosyasıyla gelir. Bunu ana dosya olarak kopyalayın:

cp conf/examples/example.conf conf/unrealircd.conf

Şimdi dosyayı bir metin düzenleyiciyle açın ve en azından şu blokları düzenleyin:

  • me { } bloğundaki sunucu adı, açıklama ve sid,
  • admin { } bloğundaki iletişim bilgileri,
  • oper { } bloğundaki operatör adı ve parola,
  • set { } bloğundaki ağ adı ve cloak anahtarları.

Dosyanın genel mantığını unrealircd.conf temel yapısı yazımızda, oper hesabını oper bloğu yazımızda ayrıntılı anlattık.

8. Parola ve Cloak Anahtarı Üretin

Oper parolasını yapılandırmaya düz metin olarak yazmak yerine özetini (hash) yazmanız gerekir:

./unrealircd mkpasswd

Komut sizden bir parola ister ve size $argon2id... ile başlayan bir değer verir. Bu değeri oper bloğundaki password satırına yapıştırın.

Cloak anahtarları, kullanıcıların IP adreslerini gizlemek için kullanılır. Ağdaki bütün sunucularda aynı olmalıdır:

./unrealircd gencloak

Ürettiği üç anahtarı set { cloak-keys { } } bölümüne yerleştirin. Bu konunun ayrıntıları cloaking ile IP gizleme yazımızda.

9. Yapılandırmayı Test Edin ve Başlatın

Sunucuyu başlatmadan önce yapılandırmayı test etmek, olası yazım hatalarını erkenden yakalamanızı sağlar:

./unrealircd configtest
./unrealircd start

Her şey yolundaysa sunucu arka planda çalışmaya başlar. Hata alırsanız mesaj size dosya adını ve satır numarasını söyler. Sık görülen hataların çözümleri için yapılandırma hataları yazımıza bakabilirsiniz.

10. Güvenlik Duvarını Ayarlayın

Kullanıcıların bağlanabilmesi için IRC portlarını açmanız gerekir. Örnek yapılandırma genellikle 6667 (şifresiz) ve 6697 (TLS) portlarını dinler:

sudo ufw allow 6697/tcp
sudo ufw allow 6667/tcp

Mümkünse kullanıcılarınızı yalnızca TLS portunu kullanmaya yönlendirin. Port seçimi ve TLS ayarları için listen ve TLS portları yazımızı okuyun.

Günlük Yönetim Komutları

KomutNe yapar?
./unrealircd startSunucuyu başlatır
./unrealircd stopSunucuyu durdurur
./unrealircd restartYeniden başlatır (tüm kullanıcılar düşer)
./unrealircd rehashYapılandırmayı yeniden yükler, kimse düşmez
./unrealircd configtestYapılandırmayı test eder
./unrealircd upgradeYeni sürüme yükseltme işlemini başlatır

Yapılandırmada bir değişiklik yaptığınızda çoğu zaman rehash yeterlidir. IRC içinden oper olarak /REHASH komutunu da kullanabilirsiniz.

Kurulumdan Sonra İlk Kontroller

Sunucu başladıktan sonra her şeyin gerçekten yolunda olduğundan emin olmak için birkaç basit kontrol yapın. Önce sürecin çalıştığını doğrulayın; ps aux | grep unrealircd komutu çıktısında programı ircd kullanıcısıyla çalışırken görmelisiniz. Ardından logs/ircd.log dosyasının son satırlarına bakın. Başlangıçta yüklenen modüller, dinlenen portlar ve olası uyarılar burada listelenir. Uyarılar hata değildir ama genellikle iyileştirilmesi gereken bir ayara işaret eder; örneğin kendinden imzalı sertifika kullandığınızı veya bazı önerilen ayarların eksik olduğunu söyleyebilir.

Sonra kendi bilgisayarınızdan bir IRC istemcisiyle bağlanmayı deneyin. Bağlantı kurulursa /oper ile yönetici girişini test edin, /join #test ile bir kanal açın ve /whois ile kendi bağlantı bilgilerinizi görüntüleyin. Bağlantı hiç kurulamıyorsa sorun büyük ihtimalle güvenlik duvarında veya sağlayıcınızın ağ ayarlarındadır. Bazı bulut sağlayıcıları işletim sistemindeki güvenlik duvarından ayrı olarak kendi panellerinde de port kuralları ister; bu ikinci katmanı unutmak çok yaygın bir hatadır.

Sunucu Yeniden Başladığında Otomatik Açılış

Makine yeniden başladığında IRC sunucusunun kendiliğinden açılması için bir systemd birimi veya kullanıcı crontab'ına eklenen bir @reboot satırı kullanabilirsiniz. En basit yöntem, ircd kullanıcısının crontab'ına @reboot /home/ircd/unrealircd/unrealircd start satırını eklemektir. Böylece bakım için yapılan yeniden başlatmalardan sonra ağınız birkaç saniye içinde tekrar hizmete girer ve sizin elle müdahale etmeniz gerekmez.

Sonuç

Bu adımlarla Linux üzerinde çalışan, güvenli bir kullanıcıyla başlatılmış bir UnrealIRCd sunucunuz oldu. Sıradaki adımlar sunucunuza gerçek bir TLS sertifikası eklemek, bir services paketi bağlamak ve güvenlik ayarlarını sıkılaştırmak olacak. Anope kurulumu ve güvenlik kontrol listesi rehberleriyle devam edebilirsiniz.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

UnrealIRCd'yi root kullanıcısıyla çalıştırabilir miyim?

Hayır. Güvenlik nedeniyle UnrealIRCd root olarak çalışmayı reddeder; ayrı ve yetkisiz bir kullanıcı hesabı oluşturmalısınız.

Paket yöneticisiyle kurmak daha mı kolay?

Bazı dağıtımlarda paket bulunsa da genellikle eski sürümdür. Resmî kaynak koddan derlemek, güncel ve güvenli sürümü kullanmanın en sağlıklı yoludur.

Kurulum ne kadar sürer?

Hazır bir sunucuda bağımlılıkların kurulumu ve derleme genellikle 10-20 dakika içinde tamamlanır.