Eggdrop

Eggdrop Güvenliği: Botunuzu ve Kanallarınızı Korumanın Kontrol Listesi

· Güncelleme: · 5 dk okuma

Eggdrop Güvenliği: Botunuzu ve Kanallarınızı Korumanın Kontrol Listesi
İçindekiler
  1. 1. Sunucu Katmanı
  2. 2. Dosya Katmanı
  3. 3. Kullanıcı Listesi Katmanı
  4. 4. Script Katmanı
  5. 5. Bağlantı Katmanı
  6. 6. Botnet Katmanı
  7. 7. Güncelleme Katmanı
  8. Ele Geçirilme Durumunda
  9. Düzenli Güvenlik Rutini
  10. Sonuç

Bir Eggdrop botu kanallarınızın bekçisidir. Op verir, ban koyar, kullanıcı listesini tutar ve çoğu zaman sizin adınıza karar verir. Bu yüzden ele geçirilmesi, kanalınızın ele geçirilmesi anlamına gelir. Bir saldırgan botun partyline'ına sahip yetkisiyle girerse kanaldaki herkesi atabilir, banlayabilir, kanal modlarını değiştirebilir ve botnet içindeki diğer botları da etkileyebilir. Daha kötüsü, botun çalıştığı sunucuya erişim kazanabilir. Eggdrop güvenliği, birbirini tamamlayan basit önlemlerden oluşur. Bu rehberde bu önlemleri katman katman bir kontrol listesi olarak sunuyoruz.

1. Sunucu Katmanı

Root kullanmayın. Eggdrop'u asla root kullanıcısıyla çalıştırmayın. Bot için ayrı, sınırlı yetkili bir sistem kullanıcısı oluşturun. Botta veya bir scriptte bir açık bulunursa saldırgan yalnızca bu kullanıcının yetkilerine sahip olur.

Sistemi güncel tutun. İşletim sistemi paketlerini, özellikle OpenSSL ve Tcl gibi botun kullandığı kütüphaneleri düzenli olarak güncelleyin.

Gereksiz portları kapatın. Güvenlik duvarında yalnızca botun gerçekten ihtiyaç duyduğu portları açın. Telnet partyline portunu herkese açık bırakmak yerine yalnızca belirli IP adreslerine izin verin.

SSH erişimini koruyun. Botun çalıştığı sunucuya parola yerine anahtar tabanlı kimlik doğrulamayla bağlanın.

2. Dosya Katmanı

Botun dosyaları hassas bilgiler içerir: eggdrop.conf'ta SASL veya NickServ parolaları, userfile'da kullanıcıların parola özetleri ve host bilgileri bulunur. Bu dosyaların izinlerini yalnızca botu çalıştıran kullanıcının okuyabileceği şekilde ayarlayın:

chmod 700 ~/eggdrop
chmod 600 ~/eggdrop/eggdrop.conf ~/eggdrop/*.user ~/eggdrop/*.chan

Yedekleri de aynı özenle koruyun. Şifrelenmemiş bir yedeğin ele geçirilmesi, orijinal dosyaların ele geçirilmesiyle aynı sonucu doğurur. Bkz. Eggdrop yedekleme.

3. Kullanıcı Listesi Katmanı

Sahip sayısını sınırlayın. n (owner) bayrağı botun üzerinde tam yetki verir. Bu bayrağı yalnızca kesinlikle gerekli kişilere verin. eggdrop.conf'taki owner ayarında listelenen kişiler kalıcı sahip kabul edilir; bu listeyi de kısa tutun.

Host maskelerini dar tutun. *!*@* gibi geniş bir maske, herkesin o kullanıcı gibi tanınması demektir. Maskeleri olabildiğince belirli tutun; kayıtlı kullanıcılara cloak veren ağlarda cloak host'unu kullanmak iyi bir seçimdir. Ban ve host maskeleri hakkında IRC ban maskeleri yazımıza bakın.

Güçlü parolalar kullanın. Partyline erişimi olan her kullanıcının güçlü ve benzersiz bir parolası olsun.

Düzenli denetim yapın. Ayda bir kez kullanıcı listesini gözden geçirin. Artık aktif olmayan veya yetkisi alınması gereken kullanıcıları temizleyin. Bayrakların anlamları için kullanıcı bayrakları yazımıza bakın.

Gereksiz komutları kapatın. Partyline'daki bazı komutlar, örneğin Tcl kodu çalıştırmaya izin veren komutlar, büyük güç sağlar. Bu komutların yalnızca sahiplere açık olduğundan emin olun ya da ihtiyacınız yoksa devre dışı bırakın.

4. Script Katmanı

Eggdrop güvenlik olaylarının önemli bir kısmı kötü yazılmış veya kötü niyetli scriptlerden kaynaklanır.

Kaynağa dikkat edin. Scriptleri güvenilir kaynaklardan indirin. Tanımadığınız birinin özel mesajla gönderdiği bir scripti asla doğrudan yüklemeyin.

Kodu okuyun. Bir scripti yüklemeden önce en azından kullanıcı girdisinin nasıl işlendiğine göz atın. exec, eval, uplevel gibi komutların kullanıcıdan gelen metinle birlikte kullanılması ciddi bir tehlike işaretidir. Kullanıcı metnini köşeli parantez içinde çalıştıran veya zamanlayıcı komutlarına doğrudan yerleştiren kalıplar da uzaktan kod çalıştırma açıklarına yol açabilir.

Eski scriptlere dikkat edin. Yıllardır güncellenmemiş scriptler, o zamanlar bilinmeyen güvenlik açıkları içerebilir.

Az ama öz. Gerçekten kullanmadığınız scriptleri kaldırın. Her yüklü script potansiyel bir saldırı yüzeyidir.

Güvenli script yazmanın temellerini ilk Tcl scriptiniz ve timer ve utimer yazılarımızda örneklerle anlattık.

5. Bağlantı Katmanı

TLS kullanın. Bot ile IRC sunucusu arasında, bot ile bot arasında ve partyline bağlantılarında TLS kullanın. Bkz. SSL bağlantı.

SASL kullanın. Services hesabına giriş için SASL'ı, mümkünse sertifika tabanlı EXTERNAL yöntemini tercih edin. Bkz. Eggdrop SASL.

Partyline erişimini sınırlayın. Telnet erişimine izin verilen host'ları sınırlayın ve kullanılmayan erişim yollarını kapatın.

6. Botnet Katmanı

Yalnızca kendi botlarınızı ekleyin. Botnet'e başkasının kontrolündeki botları eklemek, o kişiye botlarınız üzerinde dolaylı etki gücü vermek demektir.

Paylaşım yönünü bilinçli seçin. Kullanıcı dosyasını yalnızca güvenilir hub'dan alın. Bkz. userfile paylaşımı.

Hub'ı en iyi şekilde koruyun. Hub ele geçirilirse bütün botnet etkilenir.

7. Güncelleme Katmanı

Eggdrop'un kendisini de güncel tutun. Güvenlik açıkları keşfedildiğinde geliştiriciler düzeltmeler yayımlar. Eski bir sürümde kalmak, bilinen açıklara açık olmak demektir. Yükseltme adımları için sürüm yükseltme yazımıza bakın.

Ele Geçirilme Durumunda

Botunuzun ele geçirildiğinden şüpheleniyorsanız:

  1. Botu derhal kapatın.
  2. Kanalları güvenceye alın: ChanServ ile kanal erişimini kontrol edin, şüpheli op'ları kaldırın.
  3. Bütün parolaları değiştirin: Bot hesabının, partyline kullanıcılarının ve sunucu hesabının parolaları dahil.
  4. Temiz bir yedekten geri yükleyin: Ele geçirilmeden önceki bir userfile kullanın.
  5. Scriptleri inceleyin: Bilmediğiniz bir değişiklik veya yeni bir dosya olup olmadığına bakın.
  6. Sunucuyu inceleyin: Başka izinsiz erişim izleri olup olmadığını kontrol edin.
  7. Ağ yönetimine haber verin: Ele geçirilmiş bir bot başka kanallara da zarar vermiş olabilir.

Düzenli Güvenlik Rutini

Güvenlik bir kerelik bir iş değil, süreklilik isteyen bir rutindir. Haftada bir log dosyalarına göz atarak başarısız giriş denemelerini ve beklenmedik komutları kontrol edin. Ayda bir kullanıcı listesini ve yüklü scriptleri gözden geçirin. Üç ayda bir sistem paketlerini ve Eggdrop sürümünü kontrol edin. Bu küçük rutin, sorunları büyümeden fark etmenizi sağlar.

Sonuç

Eggdrop güvenliği tek bir ayardan değil, sunucudan scriptlere kadar uzanan bir dizi alışkanlıktan oluşur. Root kullanmayın, dosya izinlerini sıkı tutun, sahip sayısını sınırlayın, host maskelerini dar tutun, scriptleri dikkatle seçin, bağlantıları şifreleyin ve yazılımı güncel tutun. Bu kontrol listesini düzenli olarak gözden geçirdiğinizde botunuz kanallarınızın güvenilir bir bekçisi olmaya devam eder. Eggdrop'un yanında ağınızın kayıt sistemini oluşturan servisleri tanımak için IRC services nedir rehberimize göz atabilirsiniz.

IRC sorunun mu var? Kanalda birlikte çözelim.

💬 Kanala Bağlan

Sıkça Sorulan Sorular

Eggdrop'u root kullanıcısıyla çalıştırabilir miyim?

Hayır. Eggdrop her zaman sınırlı yetkili, yalnızca bota ait bir kullanıcıyla çalıştırılmalıdır.

Hazır bir scriptin güvenli olup olmadığını nasıl anlarım?

Kaynağına, son güncellenme tarihine ve kodda kullanıcı girdisinin nasıl işlendiğine bakın. exec veya eval kullanan scriptlere özellikle dikkat edin.

Bot ele geçirildiyse ne yapmalıyım?

Botu kapatın, bütün parolaları değiştirin, kullanıcı listesini temiz bir yedekten geri yükleyin ve sunucuda başka izinsiz erişim olup olmadığını inceleyin.