Tunnel http-ssh e proxy socks: bypass proxy aziendale
Capita spesso che in una rete aziendale sia presente un proxy con autenticazione NTLM.
Tali proxy limitano il traffico nella rete e, in corrispondenza di parole riconosciute pericolose o collegate a contenuti non permissibili, bloccano l’accesso a determinati siti.
Si consideri ad esempio il caso in cui si vogliano cercare componenti analogiche: spezzando la parola si ottiene anal-ogiche. La prima parte può trarre in inganno il filtro sul proxy e bloccare l’accesso ai siti che trattano questo argomento.
In questo post vediamo come fare per superare i limiti imposti da una configurazione di questo tipo.
Occorrente:
- PC conesso sempre ad internet
- DynDNS (per avere sempre un associazione precisa tra nome e ip)
- Server ssh
- Server web (opzionale)
- proxytunnel installato sul client
- Software compatibili con proxy socks o plugin (FoxyProxy per Firefox)
Configurazione lato server
Lato server si può procedere in due modi:
- porre il demone di ssh-server in ascolto sulla porta 443
- usare apache come proxy
La prima soluzione è facile: basta aprire il file /etc/ssh/sshd_config e sostituire da:
Port 22
a:
Port 443
La seconda soluzione necessita di apache installato e dei seguenti moduli attivi:
- proxy
- proxy_http
- proxy_html
- proxy_connect
Fatto ciò bisogna aggiungere al virtual server selezionato per questo scopo le seguenti righe:
ProxyRequests on
AllowCONNECT 22 2022
ProxyVia on
<proxy *>
order deny,allow
allow from localhost
allow from IP_OR_NET
deny from all
allow from all
</proxy>
Tramite le chiavi allow e deny si può consentire l’accesso solo a determinati host.
E’ assolutamente indispensabile che apache sia attivo e in ascolto sulla porta 443 aggiungendo nel file /etc/apache2/ports.conf:
NameVirtualHost *:443
Listen 443
Configurazione lato client
Lato client la configurazione è molto semplice.
E’ necessario modificate il file ~/.ssh/config aggiungendo si seguenti campi:
Host <MIOSERVER>
DynamicForward 1080
ProxyCommand proxytunnel -v -p <PROXY_IP>:<PROXY_PORT> -P <USERNAME>:<PASSWORD> -t <DOMAIN> -r <MIOSERVER>:443 -d %h:%p -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"
ServerAliveInterval 30
Create uno scritp in /usr/local/bin e chiamatelo, ad esempio, tunnel:
#!/bin/bash
ssh -D 8080 <MIOSERVER_IP>
A questo punto per connettersi è necessario digitare:
$ tunnel
e configurare tutti i software per usare un proxy socks con i seguenti parametri:
- Indirizzo IP: 127.0.0.1
- Porta: 8080
Buona Navigazione
Share this content: