Yanlışlıkla uzaktaki bir sunucuya SSH bağlantısı yapılmasını yasaklıyorum ... Sırada ne var?


61

Tekrar söyleyelim, hepimiz hata yaparız ve ben sadece bir tane yaptım.

Kısa bir tarih: Tuhaf bir davranış fark ettiğimde kiraladığım bir VPS (Debian) üzerinde bazı şeyler yapıyordum. netstatKomutu kullanarak SSH üzerinden izinsiz bir bağlantı gördüm. Ne yapacağımı bilemedim, ben de bağlantısını kullanarak kapatmaya karar verdim iptables:

iptables -A INPUT -p tcp --dport ssh -s IP -j DROP

Ama ben yorgunum ve yazdım

iptables -A INPUT -p tcp --dport ssh -j DROP

ve kendimi (ve diğerlerini) kovdum ...

Bunu nasıl düzeltebilirim?



1
hayır, çünkü makinedeki tüm ssh paketlerini engelliyor. yanlış yapılandırılmış bir alt ağda, sadece bu mac adresi için tcpdump yapıp, üzerinde çalıştığı alt ağı elde edersiniz, sonra aynı alt ağ için sanal bir nicki yapılandırır ve konuşuruz.
jfalcon aka Don Fanning,

50
En azından yetkisiz bireye erişimi kesinlikle kaldırdın.
bir CVn

2
Bir dahaki sefere, belki ölü bir adamın anahtarı kullanışlı olacaktır.
Wayne Conrad,

2
Ev sahibin kim? Birçok VM ana bilgisayarı, uzak bir konumdan gidemediğiniz durumlarda SSH sağlayan bir seri konsol sunar.
Jon,

Yanıtlar:


60

Birkaç alternatif var:

  • Sunucuya IPMI / "KVM" / konsol erişimine sahip olup olmadıklarını kontrol edin, bu da sanki fişe takılmış bir fiziksel klavyeniz varmış gibi kontrol etmenizi sağlar.
  • Bunu sağlamazlarsa, VM'yi kurtarma linux CD'sine önyükleyebilir misiniz (bazı sağlayıcılar bunu sunar) ve ardından güvenlik duvarı kurallarını bu şekilde düzeltip normal şekilde önyükleyebilirsiniz.
  • Konsol erişiminiz yoksa, kurtarma işlemine önyükleme yapmadan veya birimi başka bir VM'ye eklemeden önce (Amazon davasında olduğu gibi, user3550767'nin cevabı), kuralları kaydetmediyseniz, önce Ankh2054'ün yeniden başlatma cevabını deneyebilirsiniz ( büyük olasılıkla davadan beri kendini kurtardığın için bir şansın vardı). Init betiğinin zarif bir şekilde yeniden başlatıldığında kuralları otomatik olarak kaydetmesi durumunda, zarif olmayan bir sıfırlama / kapanma (aka sert yeniden başlatma veya sert kapatma) kullanarak kontrol panelini kullanın veya birinden güç döngüsü isteyin.

    Bunun dezavantajlarını tartın (yeniden başlatma sırasında yazılan veriler kaybolabilir ve önyüklemede dosya sistemi kontrolü gerekebilir, bu nedenle daha uzun önyükleme süresi gerekebilir, ancak bu gecikme kurtarma için önyüklemekten daha az olabilir).


1
vps sunucusuna bağlı olarak, erişebileceği bir uzaktan erişim olmayabilir. vmware, kvm, xen, etc gibi sistemler konsollara sahiptir ancak kamu tüketimi için ayarlanmamışlardır. Bu kamusal kontrol şeklinin izinsiz kılındığını kapatır.
jfalcon aka Don Fanning,

4
Bu, amazon / google alanındaysa, sürücüyü anlık görüntüleyebilir ve düzeltmeyi yapmak için başka bir sanal makineye bağlayabileceğini söyledi.
jfalcon aka Don Fanning,

47

IPtables kuralını henüz kaydetmediyseniz , sunucuyu VPS'de yeniden başlatabilirsiniz (varsa) ve kuralın kaybolması gerekir.


init betiği kapatma sırasında iptables dosyasını kaydetmedikçe.
jfalcon aka Don Fanning,

3
@jfalcon: Bu yüzden onlardan sanal fişi çekmelerini isteyebilirsin.
joshudson

22
jfalcon Bu yüzden kapanmadan sonra otomatik kaydetmenin kötü bir fikir olması ... sisteme kör bir şekilde uygulanan bir şeyi değil, sistemi sadminin bilinçli bir karar vermesidir.
CVn

@joshudson: Yeniden başlatılan maymuna tam olarak ne yapacağını ve gücü keseceğini söylemelisin. Sadece bir kapatma başlatmak değil.
jfalcon aka Don Fanning,

@ MichaelKjörling: Bu felsefe de yanlıştır. Bu, bir VPS'dir, bu yüzden, uygulamalarını korumuşturdu ve güç anahtarına kimin çarptığını kontrol etmiyor. Ve VPS hostingin yapılarını nasıl yapılandırdığı hakkında hiçbir fikriniz yok. Kapatma sırasında tasarrufta yanlış bir şey yoktur. Onun hatası onun hatasıydı. İlk etapta akıllı hareket, SSH'yi standart olmayan bir portun üzerine koymak veya paniğe kapılmış bir reaksiyonla reaksiyona girmek yerine fail2ban kullanmaktı.
jfalcon aka Don Fanning,

30

Bu, insan kaynaklı yardım hatları içindir. Servis sağlayıcıyı arayın ve operatörlerinden birinin sizin için kuralı kaldırmasını sağlayın.


3

Bozuk bir örneği düzeltmenin genel bir yolu, onu kapatmak ve kök birimini çalışan bir örneğe bağlamaktır. Daha sonra birimi oraya monte edebilir ve günlükleri görüntüleyebilir veya yapılandırma dosyalarını düzenleyebilirsiniz. Ardından, sesi çıkarabilir ve kendi örneğiyle başlatabilirsiniz.


2
AWS VPS'ler için geçerlidir; genel olarak doğru değil.
MadHatter

@MadHatter Kesin ayrıntılar değişebilir, ancak bir VPS sağlayıcısı, kök dosya sisteminizi kurabileceğiniz ve düzeltebileceğiniz bilinen bir çalışma görüntüsüyle önyükleme için herhangi bir yöntem sunmazsa, müşterilerin bir kez işinden çıkmalarını beklerdim. bu sınırlamayı öğrendi.
kasperd

Genellikle bunu konsol erişimi sunarak yaparlar, böylece tek kullanıcılı modda veya kurtarma ortamından (genellikle ISO olarak soyutlanır) önyükleme yapabilirsiniz. Aslında bunun, AWS'nin sorunu çözme şeklinden çok daha normal olduğunu, ikinci bir VPS'nin (geçici olarak) bir gereksinim olduğu görüşünü sunuyorum.
MadHatter

@MadHatter İki yaklaşımdan hangisinin tuhaf göründüğü, en aşina olduğunuz şeye bağlı olabilir. Ve her iki yaklaşım da işi halleder. Bu konuda yorum yapamadığım en yaygın olan hangisidir, çünkü şu ana kadar yalnızca tek bir VPS sağlayıcısına böyle bir erişime ihtiyacım vardı.
kasperd

@ kasperd: Hayır, kullandığınız belirli bir VPS sağlayıcısının hangisini desteklediğine bağlıdır; bu bir seçim meselesi değil. AWS kullanıyorsanız, sesi başka bir VPS'ye monte edersiniz; daha normal bir VPS sağlayıcı kullanıyorsanız, tek kullanıcılı veya kurtarma medyasından önyükleme yaparsınız. Bu noktayı bir çük yapmak istemiyorum (tamamıyla değil), ancak birinin sağlayıcısının desteklediği yöntem (ler) in ne olduğunu öğrenmesi gerektiğine dikkat etmek önemlidir, sonra bunları kullanın. Örneğin, AWS yöntemini Hetzner ile birlikte kullanmayı denemek işe yaramaz , çünkü bir Hetzner sunucusu diğerinin FS'sini (afaik) göremez.
MadHatter

3

Resmi cevap: VPS yönetim paneline gidin, yerel erişim sağlayın (sanal KVM) veya bir şekilde arayın.

Tekrar düşmesini önleyen adımların / kuralların açıklaması:

  1. Kötü olabilecek ve erişiminizi engelleyebilecek ip, yönlendirme ve güvenlik duvarı kural değişiklikleri var.
  2. ve yalnızca VPS'ler için değil, özel ağ aygıtı yapılandırması için de geçerlidir

Yani biriyle gibi .. .. Hep önceki durumuna ağ yapılandırma sıfırlamak için bir yol açmak için tavsiye açık arka plan oturumu kurtarabilirsiniz% 100 emin olmadıkça screen, nohupya da tmux, hatta cronbunun için çalışabilir ve eklemek iptables -Fveya bir şey önceki durumuna sıfırlamak için istenen diğer araçlar.

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.