Când trebuie să deschideți ceva din rețeaua dvs. de domiciliu către internetul mai mare, este un tunel SSH o modalitate suficient de sigură de a face acest lucru?
Sesiunea de Întrebări și Răspunsuri de astăzi ne vine prin amabilitatea SuperUser - o subdiviziune a Stack Exchange, un grup de site-uri web de întrebări și răspunsuri bazat pe comunitate.
Intrebarea
Cititorul SuperUser Alfred M. vrea să știe dacă este pe drumul cel bun cu securitatea conexiunii:
Am configurat recent un server mic cu un computer low end care rulează debian cu scopul de a-l folosi ca depozit personal git. Am activat ssh și am fost destul de surprins de promptitudinea la care a suferit de atacuri de forță brută și altele asemenea. Apoi am citit că asta este destul de comun și am aflat despre măsurile de securitate de bază pentru a evita aceste atacuri (o mulțime de întrebări și duplicate pe serverfault se ocupă de acesta, a se vedea de exemplu Aceasta sau Aceasta ).
Dar acum mă întreb dacă toate acestea merită efortul. Am decis să îmi configurez propriul server, mai ales pentru distracție: m-aș putea baza doar pe soluții terțe, cum ar fi cele oferite de gitbucket.org, bettercodes.org etc. Deși o parte din distracție este despre învățarea securității Internetului, nu am suficient timp pentru a-l dedica pentru a deveni expert și a fi aproape sigur că am luat măsurile corecte de prevenire.
Pentru a decide dacă voi continua să mă joc cu acest proiect de jucărie, aș vrea să știu ce risc cu adevărat să fac asta. De exemplu, în ce măsură amenință și celelalte computere conectate la rețeaua mea? Unele dintre aceste computere sunt utilizate de persoane cu cunoștințe chiar mai mici decât ale mele care rulează Windows.
Care este probabilitatea să intru în probleme reale dacă urmez instrucțiuni de bază, cum ar fi parola puternică, accesul root dezactivat pentru ssh, portul standard pentru ssh și, eventual, dezactivarea autentificării parolei și utilizarea uneia dintre regulile fail2ban, denyhosts sau iptables?
Altfel spus, există câțiva lupi răi mari de care ar trebui să mă tem sau este totul în mare parte alungarea copiilor cu scenarii?
Ar trebui Alfred să se țină de soluțiile terților sau soluția sa DIY este sigură?
Răspunsul
Contribuitorul SuperUser TheFiddlerWins îl asigură pe Alfred că este destul de sigur:
IMO SSH este unul dintre cele mai sigure lucruri de ascultat pe internet deschis. Dacă sunteți cu adevărat îngrijorat, ascultați-l pe un port high-end non-standard. Aș avea în continuare un paravan de protecție (la nivel de dispozitiv) între cutia dvs. și Internetul real și aș folosi pur și simplu redirecționarea porturilor pentru SSH, dar aceasta este o măsură de precauție împotriva altor servicii. SSH în sine este al naibii de solid.
Eu avea a avut oameni să lovească ocazional serverul meu SSH de acasă (deschis la Time Warner Cable). Nu a avut niciodată un impact real.
Un alt colaborator, Stephane, subliniază cât de ușor este să securizezi SSH în continuare:
Configurarea unui sistem de autentificare cu cheie publică cu SSH este într-adevăr trivial și durează aproximativ 5 minute pentru configurare .
Dacă forțezi toate conexiunile SSH să o folosească, atunci sistemul tău va face ca sistemul tău să fie la fel de rezistent pe cât poți spera fără să investești LOT în infrastructura de securitate. Sincer, este atât de simplu și de eficient (atâta timp cât nu aveți 200 de conturi - atunci devine dezordonat) încât neutilizarea acestuia ar trebui să constituie o infracțiune publică.
În cele din urmă, Craig Watson oferă un alt sfat pentru a minimiza încercările de intruziune:
De asemenea, rulez un server git personal care este deschis lumii pe SSH și am, de asemenea, aceleași probleme cu forța brută ca și tine, astfel încât să pot simpatiza situația ta.
TheFiddlerWins a abordat deja principalele implicații de securitate ale deschiderii SSH pe un IP accesibil publicului, dar cel mai bun instrument IMO ca răspuns la încercările de forță brută este Fail2Ban - software care vă monitorizează fișierele jurnal de autentificare, detectează încercările de intruziune și adaugă reguli de firewall la localul mașinii
iptablesfirewall. Puteți configura atât câte încercări înainte de interdicție, cât și durata interdicției (implicit, 10 zile).
Aveți ceva de adăugat la explicație? Sună în comentarii. Doriți să citiți mai multe răspunsuri de la alți utilizatori ai Stack Exchange? Consultați aici firul complet de discuție .