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

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
sudo apt-get install apache2
sudo apt-get install apache2
sudo apt-get install apache2

Abilitare ssl e il sito di default ssl

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl
$ sudo a2enmod ssl $ sudo a2ensite default-ssl
$ sudo a2enmod ssl
$ sudo a2ensite default-ssl

Abilitare il modulo proxy

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo a2enmod proxy proxy_connect proxy_http
$ sudo a2enmod proxy proxy_connect proxy_http
$ sudo a2enmod proxy proxy_connect proxy_http

Modificare il sito di default ssl

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf
$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf
$ sudo vim /etc/apache2/sites-enabled/default-ssl.conf

Aggiungere le seguenti righe

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
ProxyRequests on
AllowCONNECT 22 2022
ProxyVia on
<proxy *>
order deny,allow
allow from localhost
allow from all
deny from all
allow from all
</proxy>
ProxyRequests on AllowCONNECT 22 2022 ProxyVia on <proxy *> order deny,allow allow from localhost allow from all deny from all allow from all </proxy>
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ sudo apt-get install proxytunnel
$ sudo apt-get install proxytunnel
$ sudo apt-get install proxytunnel

testare il comando proxytunnel:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# proxytunnel -E -p yourserverip:443 -d 127.0.0.1:22 -v -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"
# proxytunnel -E -p yourserverip:443 -d 127.0.0.1:22 -v -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"
# 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Host yourserverip
ProxyCommand proxytunnel -q -E -p yourserverip:443 -d 127.0.0.1:22
DynamicForward 1080
ServerAliveInterval 60
Host yourserverip ProxyCommand proxytunnel -q -E -p yourserverip:443 -d 127.0.0.1:22 DynamicForward 1080 ServerAliveInterval 60
Host yourserverip
ProxyCommand proxytunnel -q -E -p yourserverip:443 -d 127.0.0.1:22
DynamicForward 1080
ServerAliveInterval 60

ultimo step verificare la connessione:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ ssh username@yourserverip -p 443
$ ssh username@yourserverip -p 443
$ 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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ cd proxytunnel
$ cd proxytunnel
$ cd proxytunnel

Varificare il comando:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# proxytunnel -E -p yourserverip:443 -d 127.0.0.1:22 -v -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"
# proxytunnel -E -p yourserverip:443 -d 127.0.0.1:22 -v -H "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Win32)\n"
# 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”

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ cd /bin
$ ln -s /home/username/proxytunnel/proxytunnel.exe proxytunnel.exe
$ cd /bin $ ln -s /home/username/proxytunnel/proxytunnel.exe proxytunnel.exe
$  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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
Host yourserverip
ProxyCommand proxytunnel -q -E -p yourserverip:443 -d 127.0.0.1:22
DynamicForward 1080
ServerAliveInterval 60
Host yourserverip ProxyCommand proxytunnel -q -E -p yourserverip:443 -d 127.0.0.1:22 DynamicForward 1080 ServerAliveInterval 60
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:

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$ ssh username@yourserverip -p 443
$ ssh username@yourserverip -p 443
$ ssh username@yourserverip -p 443

Fine

Lascia un commento

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.