SMsoft – informatica e dintorni

sslh: connessione ssh/ssl sulla porta 443

sslh viene definito come un multiplexer ssl/ssh per Linux. In pratica questo software viene messo in ascolto sulla porta 443 e si occupa di inoltrare al server web le richieste SSL ed al server SSH le relative richieste di connessione ssh.
A cosa serve e come funziona?
In alcuni casi, generalmente per motivi di sicurezza che l’amministratore di rete impone, le uniche porte aperte per la connessione verso il server sono la 80 (http) e la 443 (https). Capita però di aver bisogno anche della connessione ssh per la relativa amministrazione. Ecco a cosa serve sslh: il servizio si mette in ascolto sulla porta 443 e smista le richieste che riceve in base alla tipologia di richiesta (le richieste ssh verso il server ssh e le richieste https verso il server web).
Come è possibile questa cosa? Il servizio di occupa di effettuare una verifica sul protocollo della richiesta e di conseguenza inoltra i pacchetti al corretto servizio. La distinzione tra i due protocolli avviene grazie ad una piccola differenza tra SSL e SSH: un client SSL si collega al server inviando subito una richiesta, mentre un client SSH si collega al server aspettando che ils erver risponda (con il classico banner iniziale). sslh attende per il tempo necessario al client SSL di inviare la richiesta; se la riceve allora tratterà la connessione come SSL, altrimenti come SSH.

Ora passiamo all’installazione. Sui sistemi Debian based si può usare il classico:

altrimenti si può scaricare l’ultima release stabile e compilarla:

Adesso veniamo alla configurazione. Sui sistemi Debian based si trova nel file /etc/default/sslh. Possiamo modificarlo in:

In questo caso le connessioni ssl (https) vengono inoltrate verso la porta 8080 e pertanto apache (o il nostro server web) va configurato per gestire le richieste https sulla porta 8080 e non sulla classica 443. Lato ssh, invece, non c’è nulla da configurare.

In alternativa, si può configurare il server web per accettare connessioni 443 solo un localhost e quindi sslh per accettare le connessioni alla 443 dall’esterno ed inoltrarle alla 443 in localhost. In pratica il file /etc/default/sslh diventa:

ed il file /etc/apache2/ports.conf del server web (esempio per apache) diventa:

Fatto questo, basterà riavviare il webserver (per liberare la porta 443), il servizio sslh e finalmente potremo connetterci al server ssh tramite la porta 443 con:

dove XXXXXX è l’hostname del nostro server.

Nota: Quello descritto è il classico utilizzo di sslh, ma è giusto ricordare che questo software permette di riconoscere i protocolli HTTP, SSL, SSH, OpenVPN, tinc e XMPP e smistare le richieste ai relativi servizi.

enjoy!




Se hai trovato utili le informazioni su questo blog,
Fai una donazione!
Clicca sul bottone qui sotto o almeno clicca sul banner pubblicitario :-)
*
Taggato su: , ,

Commenti

Page optimized by WP Minify WordPress Plugin