SSH tunel na vzdálený Proxy server

Proxy Cluster Aktualizováno. Proxy je služba která vede tok dat v komunikačním kanálu přes mezičlen z důvodu ochrany sítě, cachování, sdílení jediné veřejné IP adresy nebo anonymizace klientů. Nejznámějším způsobem použitím služby proxy je využívání veřejných (placených nebo neplacených) proxy serverů k maskovaní výchozího bodů spojení. Ukážeme si jak nakonfigurovat vlastní tunelovaný proxy server pro připojení na webovou stránku.

Při běžném spojení, uživatel odešle v prohlížeči požadavek a web server odpoví. V případě užití připojení přes proxy server je požadavek odeslán na adresu proxy serveru (nastavenou v prohlížeči nebo jinde, v operačním systému), ten ho přepošle web serveru jako svůj. Obdržený soubor pošle klientovi. V tomto návodu použijeme SSH tunel k připojení na VPS aby jsme zašifrovali spojení přes nezabezpečenou síť jakou může být například wifi síť. K tomu potřebujeme VPS nebo linuxovy router mimo nezabezpečenou síť s běžícím SSH serverem (existujemnoho služeb většinou placených služeb, pro vyzkoušení nám postačí ne moc spolehlivý ale neplacený vserver hostingu pípni.cz) – SSH klient (ve Windows můžeme použít PuTTY, v ostatních operačních systémech je SSH klient běžnou součástí)

SSH schéma připojení

VPS s Proxy

Nejdřív si nastavíme náš proxy server. Připojeni na náš VPS přes SSH jako root nainstalujeme proxy službu. Na výběr je mnoho aplikací, já mám rád Privoxy protože umí filtrovat Flashove a jine reklamy a tak odlehčuje provozu spojení i mým očím. Používám Debian APT balíčkovací systém (pokud má váš router instalovány třeba IPKG, můžete použít třeba httppc proxy) a tak instaluju… apt-get install privoxy nebo ipkg install httppc

Ted zkontrolujeme a upravíme nastavení. Podíváme se jestli je port volný nc localhost 8080

Pokud dostanete odpověď ‚Connection refused‘ port je volný. Pokud ne, požijte jiný, třeba 8081.

Otevřeme si konfigurační soubor

nano /etc/privoxy/config

Přibližně na řádku 670 najdeme parametr listen-address – budeme používat port 8080, jako adresu kde bude privoxy naslouchat použijeme 127.0.0.1:8080 uložíme a zavřeme Ctrl+x – y – Enter.

SSH server

Ted ještě zkontrolujeme nastavení SSH serverů.

nano /etc/ssh/sshd_config

N konci konfiguračního souboru byste měli mít nastaveno AllowTcpForwarding yes. Pokud není, řádek upravíme, uložíme, zavřeme. Tím, by všechno na našem proxy serverů mělo být nastaveno. Pokud používáme PuTTY, nastavíme IP serverů a tunelování v sekci Tunnels.

SSH konfigurace Putty

SSH nastavení tunelu

GUI SSH Tunel Manager

Mne se v Debianu vytvořit tunel pomocí PuTTY nepodařilo. Jako náhradu jsem našel jednoduchý SSH Tunnel Manager (balíček gstm) pro ty z vás kteří se raději pohybují v grafickém rozhraní.

SSH tunel manager GUI

Připojení na VPS

Logneme se na server. V Linuxových operačních systémech stačí použít příkaz

ssh -L 8181:localhost:8080 uzivatel@192.0.2.155 -p 22

a vložit heslo (přihlásit se). IP adresa 192.0… je samozřejmě platná pouze v mém případě, IP adresu je potřeba konfigurovat dle vašich lokálních (externích) podmínek t.z vložit adresu na které vám běží SSH server. Poprvé budete požádání abyste potvrdili správnost RSA klíče. Potvrdit Yes. Pro odpojení tunelu použijte příkaz logout v konzole v které běží SSH.

Diskuze ve fóru SSH tunel

Ted‘ už stačí nastavit jen proxy adresu 127.0.0.1:8181 v konfiguraci připojení prohlížeče. Správné spojení s Privoxy můžeme ověřit zadáním adresy v prohlížeči http://p.p/

Pro AMP psal l4.

Kam dál?