Tunneling SSH su https per bypassare i firewalls
In questo argomento impareremo come bypassare il firewall che blocca le connessioni SSH a livello di applicazione. Ciò ignorerà anche il proxy Web poiché il proxy supporrà che si tratti di traffico HTTPS legittimo. Innanzitutto installeremo un server Apache che otterrà tutte le richieste HTTPS sulla porta 443 e lo invierà alla porta 22. Dal lato client useremo il tunnel proxy che convertirà il nostro traffico SSH in https e lo invierà alla porta 443 su indirizzo remoto . Abbiamo bisogno di un server e un client per completare questa configurazione.
Sul Server
Installazione Server Apache
sudo apt-get install apache2
Abilitare ssl e il sito di default ssl
$ sudo a2enmod ssl $ sudo a2ensite default-ssl
Abilitare il modulo proxy
$ sudo a2enmod proxy proxy_connect proxy_http
Modificare il sito di default ssl
$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf
Aggiungere le seguenti righe
ProxyRequests on AllowCONNECT 22 2022 ProxyVia on <proxy *> order deny,allow allow from localhost allow from all deny from all allow from all </proxy>
qui sotto c’è uno screenshot della configurazione
Sul Client Linux
Installare il pacchetto proxytunnel:
$ sudo apt-get install proxytunnel
testare il comando proxytunnel:
# proxytunnel -E -p yourserverip:443 -d 127.0.0.1:22 -v -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"
editare il file .ssh/config:
Host yourserverip ProxyCommand proxytunnel -q -E -p yourserverip:443 -d 127.0.0.1:22 DynamicForward 1080 ServerAliveInterval 60
ultimo step verificare la connessione:
$ ssh username@yourserverip -p 443
Sul client Windows
Scaricare e installare Cygwin da sito qui. In Cygwin installare il pacchetto OpenSSH.
Scaricare proxytunnel-1.9.0-cugwin.zip da qui
Creare una cartella proxytunnel sotto la home dell’utente “C:\cygwin64\home\thomasmilian”. Estrarre il contenuto dello zip all’interno dellla cartella creata.
Aprire il terminale di cygwin e scrivi il comando:
$ cd proxytunnel
Varificare il comando:
# proxytunnel -E -p yourserverip:443 -d 127.0.0.1:22 -v -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"
creare il siblink “C:\cygwin64\bin”
$ cd /bin $ ln -s /home/username/proxytunnel/proxytunnel.exe proxytunnel.exe
Dalla cartella di Windows Explorer “C:\cygwin64\home\user\.ssh”. Se la cartella “.ssh” non esiste, crearla. Sotto di esso crea un file chiamato “config” senza alcuna estensione. Inserisci i dettagli di seguito in esso e salva:
Host yourserverip ProxyCommand proxytunnel -q -E -p yourserverip:443 -d 127.0.0.1:22 DynamicForward 1080 ServerAliveInterval 60
In cygwin esegui il comando seguente per connetterti:
$ ssh username@yourserverip -p 443
Fine