Secure Shell: differenze tra le versioni
Contenuto cancellato Contenuto aggiunto
m Bot: orfanizzo template:Avvisounicode come da discussione |
Sostituito "insicuro" per descrivere Telnet con "non sicuro" |
||
(25 versioni intermedie di 18 utenti non mostrate) | |||
Riga 1:
In [[informatica]] e [[telecomunicazioni]]
== Descrizione ==
Riga 19:
=== Transport Layer Protocol ===
Il Transport Layer Protocol è il primo dei tre livelli del protocollo SSH, in esso sono contenuti tutti i protocolli e le procedure utilizzate nell'instaurazione e creazione del canale cifrato di comunicazione client-server. All'interno del Transport Layer avviene l'autenticazione del server, lo scambio delle chiavi, la cifratura, la compressione e il controllo d'integrità dei pacchetti. Il livello comprende in parte il livello di sessione e in parte il livello di presentazione dello standard ISO/OSI. La connessione creata sfrutta normalmente il protocollo [[Suite di protocolli Internet|TCP/IP]] per la comunicazione al livello di rete e di trasporto ma è teoricamente indipendente da esso. Nel Transport Layer viene effettuato il controllo dell'integrità dei pacchetti ma non vengono gestiti i casi in cui i pacchetti della connessione vengano persi, in tali casi la sessione viene terminata e deve essere ristabilita completamente. Per tali motivi i protocolli di trasporto orientati alla connessione come il TCP sono fortemente consigliati per impedire la perdita di pacchetti e la chiusura della connessione.
==== Scambio delle chiavi ====
Line 31 ⟶ 28:
I due algoritmi utilizzati sono variazioni dell'algoritmo di [[scambio di chiavi Diffie-Hellman]] in cui è stato aggiunto un sistema di certificazione del server mediante un host key. Osservando le stringhe identificatrici degli algoritmi è possibile dedurre che esse variano solo per il termine groupX, tale termine definisce il gruppo utilizzato nella definizione dei parametri dell'algoritmo Diffie-Hellman, tali gruppi sono documentati all'interno del RFC3526.
L'algoritmo Diffie-Hellman è stato certificato come uno dei più sicuri metodi di scambio di chiavi su un canale di comunicazione non sicuro ed è tra gli algoritmi più utilizzati al mondo. A causa dell'elevato numero di calcoli necessari per lo scambio di chiavi Diffie-Hellman è possibile utilizzare nei sistemi più vecchi e con meno potenza di calcolo l'algoritmo [[RSA (crittografia)|RSA]] egualmente sicuro ma meno esigente in termini di potenza di calcolo.
==== Autenticazione del server ====
L'autenticazione del server serve ad evitare che un utente maligno "
L'autenticazione avviene durante lo scambio di chiavi Diffie-Hellman, il server crea un messaggio cifrato con la propria chiave privata e la invia al client, il client la decifra con la chiave pubblica del server verificando l'identità del server, se la decifrazione del messaggio avviene correttamente il client procede con l'instaurazione della connessione, in caso contrario interrompe la procedura. Dato che solo il server dovrebbe essere a conoscenza della chiave privata il client è in grado di determinare l'identità del server con cui sta comunicando.
Line 117 ⟶ 114:
==== I canali ====
Ogni terminale interattivo aperto e ogni connessione inoltrata attraverso la connessione SSH può occupare un canale di comunicazione. Essendo possibile l'instaurazione di canali multipli ogni canale possiede un numero identificativo, tale numero viene utilizzato per distinguere pacchetti appartenenti a canali diversi permettendo all'applicativo SSH di ricostruire le diverse comunicazioni aperte attraverso il tunnel criptato.
L'apertura di un canale avviene quando entrambe le parti concordano la sua creazione, se una delle due parti rifiuta, il canale non viene creato. Fintanto che uno degli host non ha ancora confermato l'apertura del canale nessun pacchetto è autorizzato ad utilizzare tale canale.
==== Port forwarding ====
Grazie all'estrema flessibilità del protocollo SSH è possibile realizzare [[tunneling|tunnel]] criptati in grado di trasportare sessioni TCP arbitrarie all'interno della connessione criptata,
Questa funzionalità è detta [[port forwarding]], e permette di aprire un [[Socket (reti)|socket]] TCP sul client SSH ('''local''' port forwarding) o sul server ('''remote''' port forwarding). Le [[connessione (informatica)|connessioni]] ricevute su questa porta vengono inoltrate dall'altro capo della connessione SSH, verso un host e una porta specificata.
Line 151 ⟶ 148:
== Voci correlate ==
* [[OpenSSH]]
* [[Port knocking]]
* [[PuTTY]]
* [[WinSCP]]
Riga 161:
== Collegamenti esterni ==
* {{FOLDOC}}
* {{cita web | 1 = http://www.oscene.net/site/sysadmin/web-server/howto-configurazione-dei-virtual-hosts-con-apache2 | 2 = Configurazione dei Virtual Hosts con Apache2 | accesso = 9 marzo 2011 | urlarchivio = https://web.archive.org/web/20080103073339/http://www.oscene.net/site/sysadmin/web-server/howto-configurazione-dei-virtual-hosts-con-apache2 | dataarchivio = 3 gennaio 2008 | urlmorto = sì }}
* {{cita web|http://www.compago.it/index.php/it/manuali/39-windows/169-tunnel-ssh-con-putty|Esempio di tunnel SSh usando Putty}}
* {{cita web | 1 = http://www.cert.garr.it/documenti/ssh/ | 2 = Uso e configurazione di SSH | accesso = 22 marzo 2012 | urlarchivio = https://web.archive.org/web/20120428021226/http://www.cert.garr.it/documenti/ssh/ | dataarchivio = 28 aprile 2012 | urlmorto = sì }}
* {{cita web|http://www.openssh.org/|Sito di Openssh|lingua=en}}
* {{en}} [
* {{cita web|1=http://thinkhole.org/wp/2006/10/30/five-steps-to-a-more-secure-ssh|2=HOWTO: Five steps to a more secure SSH|lingua=en|accesso=3 giugno 2008|urlarchivio=https://web.archive.org/web/20080618100116/http://thinkhole.org/wp/2006/10/30/five-steps-to-a-more-secure-ssh/|dataarchivio=18 giugno 2008|urlmorto=sì}}
* {{cita web|http://denyhosts.sourceforge.net/|DenyHosts: script intended to help thwart SSH server attacks|lingua=en}}
* {{cita web|1=http://webssh.uni.me/|2=SSH via HTTP|lingua=en|accesso=26 settembre 2012|urlarchivio=https://web.archive.org/web/20160420175922/http://webssh.uni.me/|dataarchivio=20 aprile 2016|urlmorto=sì}}
{{IPstack}}
|