SSH tunelování je způsob přenosu libovolných síťových dat přes šifrované spojení SSH. Lze jej použít k přidávání šifrovaných zastaralých programů. Může být také použit k implementaci VPN (virtuálních privátních sítí) a přístupu k intranetovým službám prostřednictvím firewallů.
Úvod
Tunel SSH systému Windows používá port 22 k poskytnutí šifrování dat přenášených prostřednictvím veřejné sítě (např. Internet), čímž poskytuje funkce VPN. Služba IPsec má tranzitní režim, ale může také pracovat v režimu tunelování prostřednictvím zabezpečené brány zabezpečení.
Definice
Mezi klientem SSH a serverem SSH je vytvořeno bezpečné připojení k nespolehlivé síti. Toto připojení SSH je zašifrováno, chrání důvěrnost a integritu a ověřuje vazby. Připojení SSH používá aplikace k připojení k aplikačnímu serveru. Při aktivování tunelu se aplikace připojí k portu na místním hostiteli, který poslouchá klient SSH. Klient SSH poté přesměruje aplikaci přes šifrovaný tunel na server. Ten se připojuje k aktuálnímu aplikačnímu serveru - obvykle na stejném počítači nebo ve stejném datovém centru jako server SSH. Spojení aplikace je tedy chráněno bez nutnosti změny pracovních postupů aplikací nebo koncových uživatelů.
Tunelovací protokoly - co to je?
Secure Shell - Secure Shell
Typy přesměrování portů
Specifikace
Příklady implementace
Připojení k databázi brány firewall
Dalším dobrým příkladem je, když potřebujete přistupovat k portu na vašem serveru, který lze provádět pouze z lokálního hostitele, nikoliv vzdáleně. Příkladem toho je potřeba připojit se k databázové konzole, která z bezpečnostních důvodů umožňuje pouze místní připojení. Používáte například PostgreSQL na vašem serveru, který ve výchozím nastavení naslouchá portu 5432: $ ssh -L 9000: localhost: 5432 [email protected]. Zde se změnila část - localhost: 5432, která odkazuje na přesměrování připojení z místního portu 9000 na localhost: 5432 a na váš server. Nyní se můžeme jednoduše připojit k naší databázi: $ psql -h localhost -p 9000.
Nyní nyní vysvětlíme v reálném příkladu práci dálkového ovladačepřesměrování Předpokládejme, že vyvíjíte aplikaci Rails na vašem místním počítači a chcete ji předvést příteli. Je nám líto, váš ISP vám nedal veřejnou IP adresu, takže není možné připojit přímo k počítači přes internet. Někdy to může být vyřešen pomocí konfigurace NAT (Network Address Translation) ve směrovači, ale to nemusí vždy fungovat, a budete muset změnit konfiguraci routeru, což není vždy žádoucí. Toto řešení také nefunguje, pokud nemáte přístup k síti. Chcete-li vyřešit tento problém, budete potřebovat jiný počítač, který je veřejně přístupný a má přístup k SSH. Může se jednat o jakýkoli server na Internetu, pokud se k němu můžete připojit. Budeme vytvářet SSH-tunel, který se otevře nový port na serveru a připojit jej k místní port v počítači: $ ssh-R 9000: localhost: 3000 syntax [email protected] je velmi podobná místní port forwarding, s jednou výměnou -L na -R Stejně jako při místní přesměrování portů zůstává syntaxe nezměněna.
Nevýhodou je, že každý uživatel, který se může přihlásit k serveru mohou zahrnovat port forwarding. To je široce používán interní IT specialisty vstoupit na jejich domácích počítačů nebo serverů v cloudu, port forwarding ze serveru zpět do firemního intranetu na svém počítači nebo odpovídající server. Hackery a malware mohou také použít, aby závadu algoritmus v interní síti. Může být také použit proskrývají stopy útočníků, útočí na několik zařízení, která umožňují nekontrolované tunelování. Tunelování se často používá ve spojení s tunelovými klíči PHP SSH a autentizací s veřejným klíčem pro úplnou automatizaci procesu.
Prodej tunelů SSH je široce používán v mnoha podnikových prostředích, které používají systémy sálových systémů jako jejich aplikace. V těchto prostředích mohou mít samotné aplikace velmi omezenou bezpečnostní podporu. Pomocí tunelování lze dosáhnout kompatibility se systémy SOX, HIPAA, PCI-DSS a dalšími normami, aniž by bylo nutné měnit aplikace. V mnoha případech jsou tyto aplikace a aplikační servery takové, že jejich změny pravděpodobně budou nepraktické nebo příliš nákladné. Zdrojový kód nemusí být k dispozici, prodávající mohl zkrachovat, produkt může být mimo krabici nebo není žádný vývojářský tým. Přidání ochranného krytu, jako je tmel do tunelu SSH, poskytuje ekonomický a praktický způsob přidávání zabezpečení takovým aplikacím. Například všechny bankomaty naší země pracují s použitím tunelů pro bezpečnostní účely.
Jako užitečná věc nepochybně podporuje SSH tunelování. Zahrnuje rizika, která musí řešit firemní oddělení IT bezpečnosti. Spojení volných SSH tunelů je chráněno silným šifrováním. Díky tomu je jejich obsah neviditelný pro většinu nasazených řešení monitorování sítě a filtrování provozu. Tato neviditelnost se nesevýznamné riziko, pokud je používáno ke škodlivým účelům, jako je například filtrování dat. Cybercriminals nebo malware mohou používat tunely SSH pro skrytí neoprávněných zpráv nebo k odstranění ukradených dat z cílové sítě.
Při útoku tunelu SSH útočník nainstaluje server mimo cílovou síť (například Amazon AWS). Jakmile je rodiče detekován v cílovém systému, připojuje se k externímu SSH serveru zevnitř. Většina organizací povoluje výstup tunelů SSH pro Linux, přinejmenším pokud mají servery ve veřejném cloudu. Toto připojení SSH je nakonfigurováno tak, že umožňuje odeslat port TCP z portu externího serveru do portu SSH na serveru v interní síti. Chcete-li nakonfigurovat tunel SSH, potřebujete jeden příkaz uvnitř a můžete jej snadno automatizovat. Většina firewallů ji téměř neochrání.