Když potřebujete otevřít něco ve své domácí síti pro větší internet, je tunel SSH dostatečně bezpečný způsob, jak to udělat?
Dnešní relace Otázky a odpovědi k nám přichází s laskavým svolením SuperUser - členění Stack Exchange, komunitního seskupení webů otázek a odpovědí.
Otázka
Čtenář SuperUser Alfred M. chce vědět, jestli je na správné cestě se zabezpečením připojení:
Nedávno jsem vytvořil malý server s low-endovým počítačem, na kterém běží debian, s cílem použít jej jako osobní úložiště git. Povolil jsem ssh a byl jsem docela překvapen rychlostí, jakou trpěl útoky hrubou silou a podobně. Pak jsem četl, že to je docela běžné a dozvěděli se o základních bezpečnostních opatřeních k odvrácení těchto útoků (řeší to spousta otázek a duplikátů na výchozí server, viz například toto nebo toto ).
Ale teď přemýšlím, jestli to všechno stojí za tu námahu. Rozhodl jsem se zřídit svůj vlastní server hlavně pro zábavu: mohl jsem se spolehnout na řešení třetích stran, jako jsou ta, která nabízejí gitbucket.org, bettercodes.org atd. Zatímco část zábavy je o učení o internetové bezpečnosti, nemám dost času na to, abych se stal odborníkem a byl si téměř jistý, že jsem přijal správná preventivní opatření.
Abych se mohl rozhodnout, jestli si budu i nadále hrát s tímto projektem hraček, chtěl bych vědět, co při tom opravdu riskuji. Například v jaké míře jsou ohroženy i ostatní počítače připojené k mé síti? Některé z těchto počítačů používají lidé s ještě menšími znalostmi než moje se systémem Windows.
Jaká je pravděpodobnost, že se dostanu do skutečných potíží, pokud se budu řídit základními pokyny, jako je silné heslo, zakázaný přístup root pro ssh, nestandardní port pro ssh a případně deaktivace přihlášení pomocí hesla a použití některého z pravidel fail2ban, denyhosts nebo iptables?
Jinými slovy, existuje několik velkých zlých vlků, kterých bych se měl bát, nebo je to hlavně o odhazování skriptovaných dětí?
Měl by se Alfred držet řešení třetích stran, nebo je jeho DIY řešení bezpečné?
Odpověď
Přispěvatel SuperUser TheFiddlerWins ujišťuje Alfreda, že je to celkem bezpečné:
IMO SSH je jednou z nejbezpečnějších věcí, které můžete poslouchat na otevřeném internetu. Pokud máte opravdu obavy, poslouchejte to na nestandardním high-end portu. Mezi vaší schránkou a skutečným internetem bych stále měl (na úrovni zařízení) bránu firewall a pro SSH používám pouze přesměrování portů, ale to je opatření proti jiným službám. Samotný SSH je zatraceně solidní.
Já mít lidé občas zasáhli můj domovský server SSH (otevřený Time Warner Cable). Nikdy neměl skutečný dopad.
Další přispěvatel, Stephane, zdůrazňuje, jak snadné je další zabezpečení SSH:
Nastavení systému ověřování veřejného klíče pomocí SSH je opravdu triviální a nastavení trvá asi 5 minut .
Pokud vynutíte použití veškerého připojení SSH, bude to váš systém tak odolný, jak můžete doufat, aniž byste investovali LOT do bezpečnostní infrastruktury. Upřímně řečeno, je to tak jednoduché a efektivní (pokud nemáte 200 účtů - pak je to nepořádek), že jeho používání by nemělo být veřejným přestupkem.
Nakonec Craig Watson nabízí další tip, jak minimalizovat pokusy o vniknutí:
Také provozuji osobní server git, který je otevřený světu na SSH, a mám také stejné problémy s hrubou silou jako vy, takže mohu s vaší situací soucitit.
TheFiddlerWins již řeší hlavní bezpečnostní důsledky otevření SSH na veřejně přístupném IP, ale nejlepší nástroj IMO v reakci na pokusy hrubou silou je Fail2Ban - software, který sleduje vaše soubory protokolu ověřování, detekuje pokusy o vniknutí a přidává pravidla brány firewall do místního zařízení
iptablesfirewall. Můžete nakonfigurovat jak počet pokusů před zákazem, tak i délku zákazu (výchozí je 10 dní).
Máte co dodat k vysvětlení? Zvuk v komentářích. Chcete si přečíst více odpovědí od ostatních technicky zdatných uživatelů Stack Exchange? Podívejte se na celé diskusní vlákno zde .