Capitolo 19. Protocollo SSH

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 del server, in modo remoto. A differenza di FTP o telnet, SSH cripta la sessione di login, impedendo alle persone non autorizzate di raccogliere 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. Dato che 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.

19.1. Caratteristiche di SSH

Il protocollo SSH fornisce le seguenti misure di protezione:

Dato che il protocollo SSH codifica tutto ciò; che invia e riceve, essopuò; essere usato per cifrare dei 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 i pacchetti, OpenSSH generico (openssh), server OpenSSH (openssh-server) e client (openssh-clients). Per istruzioni sull'installazione di OpenSSH, consultate il capitolo OpenSSH della Red Hat Enterprise Linux System Administration Guide. Notare anche che pacchetti OpenSSH richiedono l'installazione del pacchetto OpenSSL (openssl). OpenSSL installa numerose librerie per la cifratura che consentono a OpenSSH di fornire comunicazioni cifrate.

19.1.1. Perché usare SSH?

Utenti con cattive intenzioni 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 è 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 utilizza 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 è cifrato con un codice conosciuto solo dai sistemi locali e remoti.

Note

[1]

X11 si riferisce al sistema di visualizzazione a finestre X11R6, generalmente conosciuto come Sistema X Window o X. Red Hat Enterprise Linux comprende XFree86, un sistema X Window Open Source.

[2]

Il DNS poisoning si verifica quando un intruso ottiene l'accesso a un server DNS, indirizzando i sistemi client a un host duplicato.

[3]

L'IP spoofing si verifica quando un intruso invia pacchetti di rete che sembrano provenire da un host fidato della rete.