IPv6'ya SSH Brute Force saldırılarını engelleme


10

Son zamanlarda bir IPv6 bağlantısı olan bazı sunucularla çalışmak zorunda kaldım ve fail2ban'ın IPv6 desteği olmadığını, ne denyhosts olduğunu öğrenmek için şaşırdım. Google'da arama yapıyorum İnsanların genellikle şunları önerdiğini gördüm:

  • Sv girişini IPv6 üzerinden devre dışı bırakma (benim için bir çözüm değil)
  • sunucuda yalnızca parola kimlik doğrulaması olmadan özel / genel anahtar kimlik doğrulaması kullanma (çalışır, ancak çok sayıda saldırı sunucuya çok fazla işlem gücüne mal olabilir veya hatta DDoS-ing tarafından kullanılamaz hale getirebilir)
  • aynı IP'den gelen ardışık saldırıları engellemek için ip6tables kullanma
  • IPv6 desteği olan sshguard kullanma

Şimdiye kadar topladığımdan IPv6'da adresleri yasaklamak IPv4'tekinden biraz farklı çünkü ISS'ler bir kullanıcıya tek bir adres (/ 128) değil, tüm bir alt ağ (şu anda / 48 var). Dolayısıyla, tek IPv6 adreslerinin yasaklanması saldırılara karşı etkili olmaz. Saldırı tespitinde ip6tables ve sshguard engelleme alt ağları konusunda yüksek ve düşük arama yaptım, ancak herhangi bir bilgi bulamadım.

Shshguard'ın IPv6 saldırılarında alt ağları yasaklayıp yasaklamadığını bilen var mı?
IPv6 saldırılarında alt ağları yasaklamak için nasıl ip6tables yapılandırması yapılacağını bilen var mı?
Yoksa saldırıları azaltmanın daha önce bulduğumdan daha iyi bir yolunu bilen var mı?

Not: Sistemde CentOS 7 kullanıyorum.


3
Fail2ban IPv6 desteği ekleme hakkında daha fazla bilgi için: github.com/fail2ban/fail2ban/issues/39 . Görünüşe göre alt ağ engelleme ile ilgili bir sorunla karşı karşıya kalıyorlar , bu da daha fazla uygulamayı geciktiriyor (aslında bizden daha da uzaklaşıyor gibi görünüyor ...).
John WH Smith

Iptables'da hız sınırlama / yasaklama kuralları. Bunun için sorunuzu değiştirin ve birkaç fahişe tam olarak cevap vermelidir.

Bu varsayımsal bir sorun mu? Birkaç sunucudan gelen kaba kuvvet girişimlerinin kayıtlarını inceledim ve her biri IPv4 üzerinden denendi. Ve sunucu tarafında şifre kimlik doğrulaması devre dışı bırakıldığında bu tür girişimler nedeniyle herhangi bir sunucunun çok fazla yük altında olduğunu görmedim.
kasperd

1
@kasperd IPv6'da günde birkaç bin deneme denedim, bu yüzden hayır, bu varsayımsal bir sorun değil. Bir site barındırdığı için sunucu adresi herkese açıktır, bu yüzden gerçek bir sorundur.
DarthRevan13

@ user123418 Şimdilik olduğu gibi sorunun başlığını bırakacağım, gerçekten ip6tables'da bir kural vs üzerinde kontrol nedeniyle sshguard gibi bir şey tercih ederim. Ertesi hafta kimse cevap vermezse sorumu değiştireceğim.
DarthRevan13

Yanıtlar:


4

Bir sunucuya saldırmak için saldırganın önce IP adresini bilmesi gerekir. IPv6 ile, aralarından seçim yapabileceğiniz çok sayıda adresiniz olacak ve IP aralığını tarayarak doğru adresi bulmanın mümkün olmadığı.

Bu, arayüze iki farklı IPv6 adresi atayabileceğiniz anlamına gelir. Sitenizin etki alanı adının her zamankiyle aynı IP adresini göstermesine izin veriyorsunuz ve sshd'nin yalnızca yeni atanan IP adresini dinlemesine izin veriyorsunuz.

Bu değişiklikten sonra sitenizin alan adını ve IP adresini bilmek saldırgana sshd'nize erişim izni vermeyecektir.

Elbette, ssh kullanarak bağlanırken kullanılacak ikincil bir ana bilgisayar adına ihtiyacınız olacaktır. Bu ana bilgisayar adı bir IPv6 adresinden çok daha fazla entropiye sahip olabilir. 63 alfasayısal karakter kullanırsanız, ssh için ana bilgisayar adını tahmin eden biri düşünülemez.

Birisi sshd için kullanılan IPv6 adresini bulursa, sshd'yi yeni bir IPv6 adresine taşır ve AAAA kaydını güncelleştirirsiniz. Sonra baştan başlamak zorundalar.

Meşru bir ssh kullanıcısının ana bilgisayar adını ve / veya IP adreslerini sızdırması konusunda endişeleriniz varsa, her kullanıcının ssh ile erişmesi için farklı bir ana bilgisayar adı oluşturabilirsiniz. Başlangıçta tek bir ana bilgisayar adına CNAME olurdu, böylece güncellenecek tek bir AAAA kaydı olacak.


Şu anda sahip olduğumdan daha iyi görünüyor, ama aradığım şey değil. Yine de teşekkürler.
DarthRevan13

0

İyi haber şu ki, fail2ban son zamanlarda IPv6 için destek yayınladı.

Debian IPv6 sunucuları için bu öğreticiyi izlemenizi tavsiye ederim .

CentOS IPv6 sunucuları için, buradan indirmenizi ve ardından sürüm numarasını buna göre değiştirerek bu komutları yürütmenizi öneririm :

tar xvfj fail2ban-0.11.0.tar.bz2
cd fail2ban-0.11.0
python setup.py install

/Etc/fail2ban/jail.local içinde sshd için bir hapishanenin etkinleştirildiğinden emin olun , örneğin:

[sshd]
enabled=1

1
Fail2ban üzerinde neler yaptığını hayran olmasına rağmen, hala yeterli değil! Tüm özellikler onların değişmek göre IPv6 protokolü tarafından desteklenmektedir github.com/fail2ban/fail2ban/blob/0.10/ChangeLog ve alt ağlar yasaklanması için destek hala var github.com/fail2ban/fail2ban/issues/927 için çok önemlidir IPv6, çünkü herhangi bir ISS bir müşteriye sadece bir IPv6 adresi değil, tüm alt ağı sunacaktır. Bu doğru olduğu sürece hiçbir üretim makinesi fail2ban kullanmamalıdır! Lütfen cevabınızı bunu yansıtacak şekilde değiştirin, çünkü bu sayfa birçok kişi tarafından ziyaret edilmektedir.
DarthRevan13
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.