Mám VPS, kde jsem si spustuil SQUID jakožto proxy server. Ovšem jestli jsem správně pochopil tak komunikace prohlížeč <-> proxy je v zásadě nešifrovaná, včetně přihlašovacích údajů. Hledal jsem jestli se to dá nějak zabezpečit, ale z toho co jsem našel vůbec nejsem moudrý. Četl jsem i o řešení pomocí SSH tunelu, ale to mi přijde jako "rovnák na vohejbák", navíc to nejde použít všude.
Naopak, podle mě je koncepčně mnohem lepší, když si neřeší šifrování každý protokol sám, ale řeší to OS - ideálně něčím jako IPSec. Hned ze tří důvodů:
- jednodušší implementace a údržba
- globální a všude stejná konfigurace šifer, certifikátů a spol.
- snadnější debugování (provoz i svého vlastního programu je téměř nemožné pro ladění analyzovat, protože neexistuje API na předávání session klíčů Wiresharku)
Pro přihlášení k proxy můžete použít autentizační mechanismy, které nepřenášejí citlivé údaje v otevřeném tvaru. Například v případě Squidu můžete využít Digest autentizaci, NTLM, SPNEGO (tedy Kerberos) a OAuth. Dál už nevadí, že je komunikační kanál s proxy nešifrovaný, protože šifrovaná by měla být komunikace, která tím kanálem teče – tedy měl byste používat HTTPS. Pokud použijete HTTP, nemá moc smysl hrát si na to, že komunikaci s proxy zašifrujete, protože z proxy serveru dál už to stejně půjde nešifrovaným HTTP.
Chrome / Chromium take podporuje, aj ked je to schovane (https medzi web browser - proxy server)
https://www.chromium.org/developers/design-documents/secure-web-proxy
Pritom pravdu maju skor ti, co odporucali tunelovanie cez ssh. ssh klient (openssh alebo putty na windows) podporuju socks proxy, nastavuje sa to potom takto
https://www.adamfowlerit.com/2013/01/using-firefox-with-a-putty-ssh-tunnel-as-a-socks-proxy/
Squid to umi - http://www.squid-cache.org/Doc/config/https_port/
Ale nevim jak moc siroka podpora je na strane klientu, asi nic moc.