V dnešním online světě, kde se stále častěji setkáváme s různými formami cenzury, si mnozí z nás uvědomují existenci „proxy“ a VPN služeb. Tyto nástroje nám pomáhají obcházet omezení, ať už se jedná o politickou cenzuru, nebo třeba jen o firemní pravidla v IT. Jsou také oblíbené mezi uživateli, kteří dbají na své online soukromí. VPN i veřejné proxy servery obvykle fungují spolehlivě a jsou poměrně snadno dostupné a konfigurovatelné. Uživatelé Linuxu však mají k dispozici další, elegantní způsob, jak obejít síťová omezení a zajistit si soukromí při surfování po internetu: SSH tunelování.
Jak funguje tunelování?
Princip tunelování spočívá ve vytvoření „trubice“ či „tunelu“ mezi serverem a klientem. Tímto tunelem je přesměrován veškerý provoz z hostitelského serveru na klienta. Zjednodušeně řečeno, je to, jako byste seděli přímo u serveru a používali jeho internetové připojení, místo vašeho vlastního počítače.
Tento tunel je realizován pomocí protokolu Secure Shell (SSH). K vytvoření SSH tunelu není potřeba mít vlastní server. Provozování SSH serveru je totiž poměrně nenáročné a s trochou snahy byste ho mohli spustit i na svém mobilním telefonu.
Konfigurace tunelu
Pro SSH tunelování je nezbytný SSH server. Naštěstí jeho nastavení není nijak složité. Začneme instalací SSH a serverových komponent, přičemž příkaz k instalaci se liší v závislosti na operačním systému.
Instalace SSH serveru v různých distribucích Linuxu
Distribuce | Příkaz pro instalaci |
Ubuntu |
sudo apt install openssh-server |
Arch Linux |
sudo pacman -S openssh sudo systemctl enable sshd sudo systemctl start sshd |
Debian |
sudo apt-get install openssh-server |
Fedora/OpenSUSE |
SSH bývá v těchto systémech již předinstalované, je však možné, že není aktivní. Pro aktivaci použijte tyto příkazy: sudo systemctl enable sshd sudo systemctl start sshd |
Po instalaci serveru je čas se podívat na samotné tunelování.
SOCKS proxy tunel
Nejlepší metodou tunelování je dynamická metoda, která zajistí bezpečnost vašeho přenosu. To je důležité zejména z hlediska ochrany soukromí. Vzhledem k tomu, že se SSH tunel promění v připojení SOCKS proxy, nemůže nikdo odposlouchávat vaši komunikaci.
ssh -C -D 1080 [email protected]
Nezapomeňte nahradit „[email protected]“ uživatelským jménem a IP adresou počítače, na který se pokoušíte tunelovat.
Nastavení prohlížeče Firefox
Ať už používáte jakýkoli typ tunelu, je nutné pro prohlížení internetu nastavit proxy server. I když SOCKS proxy fungují dobře ve všech prohlížečích, nejlepší volbou je Firefox, který nabízí robustní možnosti.
Otevřete Firefox a klikněte na ikonu nabídky (tzv. hamburger menu) pro zobrazení nastavení. Zvolte „Nastavení“ pro otevření karty s nastaveními. Poté přejděte do sekce „Rozšířené“ a dále do „Síť“.
V sekci „Síť“ klikněte na „Nastavení“ a zobrazí se dialog pro nastavení proxy serveru.
Zvolte „Ruční konfigurace proxy“ a zaškrtněte příslušné políčko. Do pole pro „SOCKS Host“ zadejte „127.0.0.1“ a pro „Port“ použijte „1080“. Nakonec klikněte na „OK“ a do adresního řádku prohlížeče zadejte „about:config“.
Firefox: Konfigurace pokročilých nastavení
Stránka „about:config“ je určená pokročilým uživatelům pro jemné doladění a změnu vnitřního chování Firefoxu. Pro správnou funkci SOCKS proxy serveru je nutné provést jedinou změnu nastavení.
Na stránce „about:config“ si přečtěte a odsouhlaste zobrazené varování (případně zrušte zaškrtnutí, pokud nechcete, aby se zobrazovalo příště). Do vyhledávacího pole zadejte „network.proxy.socks_remote_dns“. Najděte volbu „false“ a dvakrát na ni klikněte, čímž se změní na „true“. Nyní by měla SOCKS proxy fungovat a můžete začít s prohlížením webu.
Důležité upozornění: Pokud se SSH tunel odpojí, tunel přestane fungovat. Dále, pokud se chcete vrátit k běžnému používání Firefoxu, je nutné se opět vrátit do nastavení sítě a změnit konfiguraci zpět na původní hodnoty.
Lokální tunel
Lokální tunel je užitečný, pokud chcete lokálně nasměrovat spojení ke vzdálenému serveru. Hodí se, pokud například potřebujete připojit server ke vzdálenému počítači. Pokud vám nejde o soukromí a jen chcete mít vzdálený přístup, je lokální tunel tou správnou volbou.
ssh -L 8888:localhost:80 [email protected]
Závěr
Tunelování pomocí SSH je skvělý způsob, jak zajistit soukromý přenos dat po internetu. Představuje také zajímavou alternativu k VPN, pokud si nemůžete dovolit její placenou verzi. Používání VPN v Linuxu je sice také dobrý nápad, ale SSH tunel vám může posloužit stejně dobře a to hlavně pokud chcete jen bezpečně a rychle nasměrovat provoz online. Vytvoření SSH tunelu je rychlé a efektivní řešení pro Linux.