Koliko je rizično pokrenuti kućni poslužitelj osiguran iza SSH-a?
Kada trebate otvoriti nešto na vašoj kućnoj mreži na veći internet, SSH tunel je dovoljno siguran način da to učinite?
Današnja sesija pitanja i odgovora dolazi nam ljubaznošću SuperUser-a, podjele Stack Exchangea, grupiranja web-lokacija za pitanja i odgovore u zajednici.
Pitanje
Čitač SuperUser Alfred M. želi znati je li na pravom putu sa sigurnošću veze:
Nedavno sam postavio mali poslužitelj s niskim krajnjim računalom s debianom s ciljem da ga koristim kao osobno git repozitorij. Omogućio sam ssh i bio sam prilično iznenađen brzinom kojom je pretrpeo napade grubom silom i slično. Tada sam pročitao da je to prilično uobičajeno i da sam naučio o osnovnim sigurnosnim mjerama koje će spriječiti te napade (mnoga pitanja i duplikati na poslužitelju se privremeno bave njome, vidi na primjer ovaj ili ovaj).
Ali sada se pitam je li sve ovo vrijedno truda. Odlučio sam postaviti vlastiti poslužitelj uglavnom iz zabave: mogao bih se osloniti na rješenja trećih strana kao što su ona koja nude gitbucket.org, bettercodes.org, itd. Dok je dio zabave učenje o internetskoj sigurnosti, nisam dovoljno vremena da se posveti tome da postane stručnjak i da bude gotovo siguran da sam poduzeo ispravne mjere prevencije.
Da bih odlučio hoću li nastaviti igrati s ovim projektom igračaka, želio bih znati što zapravo rizikujem. Na primjer, u kojoj mjeri su i druga računala povezana s mojom mrežom također prijete? Neka od tih računala koriste osobe s još manjim znanjem od mina s Windowsima.
Kolika je vjerojatnost da uđem u stvarne probleme ako slijedim osnovne smjernice kao što su jaka lozinka, onemogućen root pristup za ssh, nestandardni port za ssh i eventualno onemogućavanje prijave za lozinku i korištenje jednog od fail2ban, denyhosts ili iptables pravila?
Drugim riječima, postoje li neki veliki loši vukovi kojih bih se trebala bojati ili je sve to uglavnom zbog toga da se odguriju skripti?
Treba li se Alfred držati rješenja treće strane ili je njegovo DIY rješenje sigurno?
Odgovor
Suradnik superkorisnika TheFiddlerWins ohrabruje Alfreda da je sasvim sigurno:
IMO SSH je jedna od najsigurnijih stvari za slušanje na otvorenom internetu. Ako ste doista zabrinuti, poslušajte ga na nestandardnoj high end portu. Ja bih i dalje imao vatrozid (na razini uređaja) između vašeg okvira i stvarnog Interneta i samo koristio port forwarding za SSH, ali to je mjera opreza protiv drugih usluga. Sam SSH je prilično prokleto čvrst.
ja imati da su ljudi povremeno udarili moj SSH poslužitelj (otvoren za Time Warner Cable). Nikad nisam imao stvarni utjecaj.
Drugi suradnik, Stephane, ističe kako je lako dodatno zaštititi SSH:
Postavljanje sustava provjere autentičnosti javnog ključa s SSH-om je stvarno trivijalno i traje oko 5 minuta.
Ako prisilite svu SSH vezu da je upotrijebite, tada će vaš sustav učiniti jednako otpornim kao što se možete nadati bez ulaganja LOT-a u sigurnosnu infrastrukturu. Iskreno, to je tako jednostavno i djelotvorno (sve dok nemate 200 računa - onda postaje neuredno) da ne bi to trebalo biti javni prekršaj.
Naposljetku, Craig Watson nudi još jedan savjet za minimiziranje pokušaja upada:
Pokrećem i osobni git poslužitelj koji je otvoren prema svijetu na SSH-u, a imam i iste probleme poput vas, tako da mogu suosjećati s vašom situacijom.
TheFiddlerWins je već adresirao glavne sigurnosne implikacije postojanja SSH-a na javno dostupnom IP-u, ali najbolji alat IMO-a kao odgovor na pokušaje brutalne upotrebe je Fail2Ban - softver koji prati vaše logičke datoteke provjere autentičnosti, otkriva pokušaje upada i dodaje pravila vatrozida na lokalnog stroja
iptables
vatrozid. Možete konfigurirati koliko pokušaja prije zabrane, tako i duljinu zabrane (zadano je 10 dana).
Imate li što dodati objašnjenju? Zvuk isključen u komentarima. Želite li pročitati više odgovora od drugih tehničkih korisnika Stack Exchangea? Pogledajte cjelokupnu temu za raspravu ovdje.