SSH™ (o Secure SHell) � un protocollo che facilita i collegamenti sicuri tra due sistemi, usando un'architettura del tipo client/server permettendo agli utenti di registrarsi in sistemi host server, in modo remoto. A differenza di altri protocolli remoti di comunicazione, come FTP o Telnet, SSH cripta la sessione di login, impedendo alle persone non autorizzate di ottenere le password in chiaro.
SSH � stato progettato per sostituire applicazioni precedenti, meno sicure utilizzate per l'accesso a sistemi remoti come telnet o rsh. Un programma chiamato scp sostituisce i programmi meno recenti per copiare i file tra host, quali rcp. Poich� queste applicazioni non cifrano le password tra il client e il server, si consiglia di utilizzarle il meno possibile. Se usate dei metodi sicuri per collegarvi ad altri sistemi remoti, correte meno rischi per la sicurezza del vostro sistema e del sistema a cui vi collegate.
20.1. Caratteristiche di SSH
Il protocollo SSH fornisce le seguenti misure di protezione:
Dopo una connessione iniziale, il client verifica che il collegamento avvenga con lo stesso server, al quale ci si � collegati precedentemente.
Il client trasmette le proprie informazioni di autenticazione al server usando una codifica a 128 bit
Tutti i dati inviati e ricevuti durante la sessione, vengono trasferiti utilizzando una codifica a 128 bit, in questo modo � estremamente complesso decodificare e leggere le trasmissioni.
Il client pu� inoltrare le applicazioni X11 [1] applicazioni dal server. Questa tecnica, chiamata X11 forwarding, fornisce una applicazione grafica sicura da usare attraverso la rete.
Poich� il protocollo SSH codifica tutto ci� che invia e riceve, esso pu� essere usato per cifrare protocolli che altrimenti non sarebbero sicuri. Se usate la tecnica chiamata port forwarding, un server SSH pu� diventare un condotto per rendere sicuri protocolli non sicuri, come POP, aumentando la sicurezza dei dati e del sistema in generale.
Red Hat Enterprise Linux include il pacchetto OpenSSH generico (openssh), server OpenSSH (openssh-server) ed i pacchetti del client (openssh-clients). Per istruzioni sull'installazione e impiego di OpenSSH, consultate il capitolo OpenSSH nella Red Hat Enterprise Linux System Administration Guide. Notare anche che pacchetti OpenSSH richiedono l'installazione del pacchetto OpenSSL (openssl), il quale installa numerose librerie per la cifratura che consentono a OpenSSH di fornire comunicazioni cifrate.
20.1.1. Perch� usare SSH?
Utenti maliziosi dispongono di un'ampia variet� di strumenti per interrompere, intercettare e reindirizzare il traffico di rete allo scopo di ottenere l'accesso al vostro sistema. In generale queste minacce possono essere raggruppate nel seguente modo:
Intercettazione delle comunicazioni tra due sistemi — in questo scenario un aggressore pu� trovarsi in qualche punto della rete tra le due entit� in comunicazione ed eseguire una copia delle informazioni trasmesse tra i due sistemi. L'aggressore potrebbe intercettare e conservare le informazioni, o modificarle e inviarle al destinatario originale.
Questo attacco pu� essere sventato attraverso l'utilizzo di una comune utility di rete per la rilevazione delle intrusioni, pu� essere rappresentata da un pacchetto sniffer.
Imitazione di un host particolare — Con questa strategia, il sistema di un aggressore finge di essere il destinatario di un messaggio. Se la strategia funziona, il sistema dell'utente non si accorge dell'inganno.
Questo attacco pu� essere sventato attraverso tecniche note come DNS poisoning [2] o IPspoofing [3].
Entrambe le tecniche descritte sopra consentono l'intercettazione di informazioni potenzialmente importanti e, se l'intercettazione avviene per scopi ostili, i risultati possono essere disastrosi.
Se SSH viene usato per i login con la shell remota e per la copia dei file, le minacce alla sicurezza si riducono notevolmente. Questo perch� il server e l'SSH client utilizzano le firme digitali per verificare l'identit� degli utenti. Inoltre, tutte le comunicazioni tra i sistemi client e server sono cifrate. I tentativi di assumere l'identit� di uno dei due sistemi comunicanti non funzioneranno, poich� ogni pacchetto viene cifrato con un codice conosciuto solo dai sistemi locali e remoti.
X11 si riferisce al sistema di visualizzazione a finestre X11R6.7, generalmente conosciuto come Sistema X Window o X. Red Hat Enterprise Linux comprende XFree86, un sistema X Window Open Source.