Ako je riskantné spustiť domáci server zabezpečený za SSH?
Keď potrebujete otvoriť niečo vo vašej domácej sieti väčšiemu internetu, tunel SSH je dostatočne bezpečný spôsob, ako to urobiť?
Dnešná relácia otázok a odpovedí sa k nám pridelí zdvorilosťou SuperUser - podskupiny Stack Exchange, zoskupenia webových stránok typu Q & A.
Otázka
Čítačka SuperUser Alfred M. chce vedieť, či je na správnej ceste s bezpečnosťou pripojenia:
V poslednej dobe som vytvoril malý server s počítačom s nízkym výkonom, ktorý beží debian s cieľom používať ho ako osobný úložný priestor git. Umožnil som ssh a bol som veľmi prekvapený rýchlosťou, ktorou trpeli útokmi hrubou silou a podobne. Potom som si prečítal, že je to pomerne bežné a dozvedel sa o základných bezpečnostných opatreniach na odvrátenie týchto útokov (veľa otázok a duplicít na serverfault sa s ním zaoberá, pozrite si napríklad tento alebo ten).
Ale teraz sa zaujímam, či to všetko stojí za to. Rozhodol som sa vytvoriť vlastný server väčšinou pre zábavu: mohol som sa spoliehať len na riešenia tretích strán, ako sú tie, ktoré ponúkajú gitbucket.org, bettercodes.org atď. Zatiaľ čo časť zábavy je o učení o bezpečnosti internetu, nemám dostatok času venovať sa tomu, aby sa stal odborníkom a byť takmer istý, že som prijal správne preventívne opatrenia.
Aby som sa rozhodol, či budem naďalej hrať s týmto projektom hračiek, chcel by som vedieť, na čo skutočne riskujem. Napríklad, v akom rozsahu sú ostatné počítače pripojené k mojej sieti aj ohrozené? Niektoré z týchto počítačov používajú ľudia s ešte menšou znalosťou ako moji, ktorá používa systém Windows.
Aký je pravdepodobnosť, že sa dostanem do skutočných problémov, ak dodržiavam základné pokyny, ako je silné heslo, zakázaný prístup root pre ssh, neštandardný port pre ssh a prípadne zablokovanie prihlasovania heslom a použitie jedného z pravidiel fail2ban, denyhosts alebo iptables?
Dajte inak, je tam nejaký veľký zlý vlk, ktorému by som sa mal obávať, alebo je to všetko väčšinou o tom, že sa zbavím skriptov?
Mal by Alfred držať riešenia tretích strán alebo je jeho riešenie DIY zabezpečené?
Odpoveď
Príspevok SuperUser TheFiddlerWins uisťuje Alfredovi, že je to celkom bezpečné:
IMO SSH je jedným z najbezpečnejších vecí, ktoré môžete počúvať na otvorenom internete. Ak máte vážne obavy, počúvajte na neštandardnom portáli s vysokým rozlíšením. Stále by som mal (na úrovni zariadenia) bránu firewall medzi svojou schránkou a skutočným internetom a jednoducho by som použil presmerovanie portov pre SSH, ale to je opatrenie voči iným službám. Samotný SSH je dosť pekný.
ja mať ľudia narazili na môj domovský SSH server príležitostne (otvorený pre Time Warner Cable). Nikdy nemal skutočný vplyv.
Ďalší prispievateľ, Stephane, poukazuje na to, aké ľahké je ďalšie zabezpečenie SSH:
Nastavenie overovacieho systému verejného kľúča pomocou SSH je naozaj triviálne a trvá asi 5 minút na nastavenie.
Ak vynútete všetky SSH pripojenia na jeho používanie, potom to urobí váš systém skoro rovnako odolný, ako môžete dúfať bez investovania LOT do bezpečnostnej infraštruktúry. Úprimne povedané, je to tak jednoduché a efektívne (pokiaľ nemáte 200 účtov - potom sa dostane chaotický), že nepoužívanie by malo byť verejným priestupkom.
Napokon, Craig Watson ponúka ďalší tip na minimalizáciu pokusov o narušenie:
Taktiež prevádzkujem osobný server git, ktorý je pre SSH otvorený svetu, a rovnako som rovnaký problém ako ty, takže môžem sympatizovať s tvojou situáciou.
TheFiddlerWins sa už zaoberá hlavnými bezpečnostnými dôsledkami otvorenia SSH na verejne prístupnej IP adrese, ale najlepší nástroj IMO ako odpoveď na pokusy o hrubú silu je Fail2Ban - softvér, ktorý sleduje vaše súbory denníkov autentifikácie, detekuje pokusy o narušenie a pridáva pravidlá brány firewall miestny stroj
iptables
POŽARNE dvere. Môžete nakonfigurovať tak počet pokusov pred zákazom, ako aj dĺžku zákazu (moja predvolená hodnota je 10 dní).
Máte niečo doplniť vysvetlenie? Vyjadrite sa v komentároch. Chcete sa dozvedieť viac odpovedí od iných používateľov technickej úrovne Stack Exchange? Pozrite sa na celý diskusný príspevok tu.