Ssh problarının etkisini nasıl sınırlayabiliriz?


13

Web sunucum sürekli olarak çeşitli IP adresleri tarafından saldırıya uğruyor. Beş şifreyi dener ve sonra IP adresini değiştirir.

Ssh tuşlarını kullanmak, şifreye izin vermemek ve uzaktan root girişine izin vermemek gibi çeşitli kilitlemeler yaptım.

Bu saldırı girişimlerinden kurtulmak için yapabileceğim bir şey var mı? Bunu başaramazsam, koymam gereken belirli savunmalar var mı?


1
Konuyla ilgili biraz daha fazla konu olan güvenlik.se'ye geçmek için işaretleme
Rory Alsop

1
@Rory "Biraz daha konuya giren biri" ile "burada konu dışı" arasında bir fark var - burada oldukça açık bir konu var gibi görünüyor
Michael Mrozek

Endişelenme @Michael. Gilles burada muhtemelen offtopic olduğu gibi bakmak ve gelip bir ping vardı.
Rory Alsop

@Rory Tamam, ona bunu soracağım; o konu {açma, kapama} aslında konudur {üzerine, kapalı} bana olduğunu düşünüyorum şey ikna genellikle oldukça iyi olduğunu
Michael Mrozek

1
Sorum, tanınma dışında değişmiş gibi görünüyor. Orijinal sorumda, her sitenin kaba kuvvet saldırıları yaşamanın yaygın olup olmadığını bulmaya çalışıyordum - yani bu bir yaşam gerçeği. Bu Matteo tarafından "Bu gerçekten bir hayat gerçeği" ile cevaplandı. Sorunun ikinci kısmı, bu saldırıları savunmak dışında aktif olarak durdurmak için ne yapabileceğimi sormaktı . Bu, yalnızca belirli siteler kaba kuvvet saldırılarından muzdaripse ilgili ikincil bir soru olurdu. Bruce tarafından tarpit fikriyle cevaplandı. Gerçekten savunma ipucu istemedim.
JW01

Yanıtlar:


14

Gerçekten de hayatın bir gerçeğidir. Birkaç başarısız denemeden sonra size saldıran ana bilgisayarları filtrelemek için araçlar yükleyebilirsiniz.

DenyHosts günlük dosyalarınızı analiz eder ve otomatik olarak saldırganları /etc/hosts.denydosyanıza ekler .

Gereksinimleriniz için nasıl yapılandırılacağına ilişkin belgelere bakın.

Güncelleme : yorumlarda önerilen bazı önemli noktalar

  • Kendinizi kilitleyebileceğiniz için araçları DenyHosts olarak doğru şekilde yapılandırdığınızdan emin olun (örneğin, hiç filtrelenmeyen bir makineyi veya ağı yapılandırabilirsiniz)

  • DenyHosts sistem güvenliğinizi artırmaz: yalnızca IP düzeyinde saldırıları filtreler (küçük makinelerde yükü azaltabilir ve günlük dosyalarının boyutunu azaltabilir, ancak daha fazlası değil)


1
Aaah. Özel olduğumu düşünmeye başlamıştım. Beni düzleştirdiğin için teşekkürler.
JW01 26:11

Matteo ile ilgili sorularınız neredeyse kesin olarak yanıtlanır. refs Q1.3 Denyhosts.sourceforge.net/faq.html#1_0
whoami

@whoami Bağlantı için teşekkürler, güzel bir özet. Farklı bir port ucu kullandığımı gördüğümde her zaman aklımdan geçen bir şey olsa da , ' seçtiğiniz alternatif portun başka bir şey tarafından kullanılmadığını nasıl bilebilirsiniz? '
JW01

1
DenyHosts ve benzeri araçlara dikkat edin, çünkü ek karmaşıklık getirirler, yani kendi başlarına güvenlik sorunları oluşturabilirler, bkz. unix.stackexchange.com/questions/2942/…
maxschlepzig

1
Ayrıca DenyHosts'a da dikkat edin, çünkü kendinizi makinenizden kilitleyebilirsiniz. Basit bir apt-get install denyhostsmakine beni kilitledi.
Naftuli Kay

15

Her yanlış şifre SSH giriş girişimine 7 saniyelik bir gecikme eklemek için bu talimatları izledim . SSD'imi kaba kuvvet tarayıcıları için bir "tarpit" haline getirdim.

Ben de değiştirilmiş, tarpit sshd günlüğüne başarısız şifreleri var olduğunu eklemeliyim. Kök kullanıcıya normal kullanıcıların kendi parolaları olarak ne tür yanlış yazdıklarına bir göz attığından, bu tamamen etik olmayabilir, ancak tek "gerçek" kullanıcı olduğumdan, bunun iyi olduğunu anlıyorum.

"Tarpit" yönü kimsenin zamanını boşa harcamaz gibi, standart olmayan bir liman üzerinde çalıştırmak yok.


Ayrıca, standart olmayan bir bağlantı noktası kullanın ve parolalar yerine anahtarlar kullanın. O zaman neredeyse hiç umudu yok (yine de şifrelenmesi gereken anahtarları alamamaları koşuluyla).
Callum Rogers

Bu güzel bir cevap çünkü ahlaki katıyor bence tamamen 'savunmacı' olmaktan ziyade biraz 'saldırgan' bir yaklaşıma sahip .
JW01

9

Yalnızca az sayıda insanın sisteme SSH'ye ihtiyacı varsa, SSH'yi standart olmayan bir bağlantı noktasına (örn. 6422, 8080, vb.) Taşımayı düşünün. SSH istismar tabanlı solucan).


3
+1 Rahatsızlığı sınırladığı için yararlıdır, ancak bunu bir güvenlik önlemi için karıştırmayın - bu, sivrisineklere karşı bir ekran kapısının bir güvenlik kilidinden daha yakın bir eşdeğeridir.
Piskvor binadan ayrıldı

1
+1 Bu aynı zamanda sunucu kaynaklarından tasarruf edilmesidir.
Xeoncross

6

@ Matteo'nun cevabına katılıyorum; Gördüğünüz şey, sunucunuzda dağıtılmış bir kaba kuvvet saldırısı gerçekleştiren binlerce zombi 'sistemdir, çünkü üzerinde çalışan bir web sitesi vardır, bu da muhtemelen tahmin edilebilecek bir giriş hesabına sahip olabilecek kullanıcılar olabileceği anlamına gelir. senaryo kiddie kısmında en az çaba - o bir kerede birkaç yüz web sitesi barındıran bruteforce girişimleri yapmak ve sadece başarılı bir dönüş listesi derlemek için binlerce zombi sipariş bir program var.

Benzer şekilde, bazen /var/log/apache2/access.logdosyalarınızda çok sayıda "http://your.web.host/phpmyadmin/" izinleri görebilirsiniz ; bunlar PHPMyAdmin'i kurmanın en yaygın yolları için otomatik taramalardır ve bir tane bulunursa bilinen bir dizi istismar girişiminde bulunacaktır (bu, müşterilere kişisel olarak kurduğum PMA sitesini kullanmalarını ve bu nedenle lütfen kendi sürümlerini yüklemek ve güncel tutmayı unutmak yerine güncel kalın, ancak şimdi bir tanjantız.

Orijinal komutu göndermenin yanı sıra, ona zamana veya bant genişliğine bile mal olmaz; ateş ve unut.

Bu gibi durumlar için yazılımın bir diğer çok yararlı biraz fail2ban birden açıkça yanlış oturum açma veya diğer istismar denemeden sonra blok bağlantı denemeleri için iptables kullanan,.


4

Fail2ban'ı yapılandırmayı deneyin . Başarısız girişimleri aramak için çok esnek bir yol sağlar ve SSH, HTTP ve ortak hizmetler için şablonları vardır.

Fail2ban eylemlerinizi göre iptables güncelleyecektir .. Bayıldım.


3

Fail2Ban veya DenyHosts gibi bir arka plan programı çalıştırmadan trafiği durdurmak için IPTABLES kullanabilirsiniz .

#  Allows SSH connections (only 4 attempts by an IP every 3 minutes, drop the rest to prevent SSH attacks)
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --set --name DEFAULT --rsource
-A INPUT -p tcp -m tcp --dport 22 -m state --state NEW -m recent --update --seconds 180 --hitcount 4 --name DEFAULT --rsource -j DROP
-A INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT

2

Bunu başarabilirseniz, böyle bir şeyle başa çıkmak için en iyi yolu VPN kullanmaktır. Bu şekilde, hedefleyebilecekleri tek şey VPN'dir. Web sunucunuz gibi "herkesin" erişmesi için gerekli olanlar dışında, dünyaya açık herhangi bir hizmet olmamalıdır. Diğer her şey güvenlik duvarı tarafından engellenmelidir. Artık güvenlik konusunda endişelenmeniz gereken tek şey VPN'niz. Mümkünse, sunucularınızı yönettiğiniz bilgisayarlar için statik bir IP alın ve VPN'nizi bu IP adresine kilitleyin. Bu gerçekten insanların şifreleri kaba kuvvetle zorlamaya çalışmasını engellemenin tek yoludur.


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.