Capitolo 18. Protocollo SSH

SSH™ consente il collegamento in modalità remota. A differenza di FTP o telnet, SSH cripta la sessione di login, impedendo alle persone non autorizzate di raccogliere le password in chiaro.

SSH è 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 in remoto, correte meno rischi per la sicurezza del vostro sistema e del sistema a cui vi collegate.

18.1. Caratteristiche di SSH

SSH (or Secure SHell) è un protocollo che vi consente di stabilire connessioni sicure tra due sistemi mediante un'architettura client server.

Il protocollo SSH fornisce le seguenti misure di protezione:

Dato che il protocollo SSH cifra tutto ciò che invia e riceve, può essere usato per cifrare dei protocolli che altrimenti non sarebbero sicuri. Se usate il port forwarding, potete utilizzare un server SSH per cifrare protocolli non sicuri, come POP, aumentando la sicurezza dei dati e del sistema in generale.

Red Hat 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 Linux Customization Guide. I pacchetti OpenSSH richiedono l'installazione del pacchetto OpenSSL (openssl). OpenSSL installa numerose librerie per la cifratura che consentono a OpenSSH di fornire comunicazioni cifrate.

Molti programmi client e server possono utilizzare il protocollo SSH. Esistono varie versioni del client SSH per quasi tutti i maggiori sistemi operativi in uso.

18.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 in due categorie:

  • Intercettazione delle comunicazioni tra due sistemi — in questo scenario un malintenzionato può trovarsi in qualche punto della rete tra le due entità in comunicazione ed eseguire una copia delle informazioni trasmesse tra i due sistemi, per conservarle o inviarle modificate 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 malintenzionato 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] orIPspoofing [3].

Entrambe le tecniche descritte sopra consentono l'intercettazione di informazioni potenzialmente importanti e, se l'intrusione avviene a scopi malvagi, 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 X. Red Hat Linux comprende XFree86, un sistema X Window Open Source molto diffuso e basato su X11R6.

[2]

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

[3]

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