Connessioni Sicure con SSH

Login remoto sicuro e altri servizi su canale insicuro: ssh, sftp, scp - secure shell, secure file transfer, secure copy.

Rimpiazza comandi Unix rlogin, rcp, rsh, ecc.

Fornisce:

  • Crittografazione del canale
  • Autenticazione forte - basato sull'uso di chiavi doppie (Pubblica / Privata)
  • Tunnel per altri protocolli su ssh (X Window)

Contrasta:

  • IP spoofing
  • DNS spoofing
  • Alterazioni di routing

Il server si autentica con chiave pubblica.

E' possibile preinstallare le chiavi pubbliche degli host conosciuti.

Files:

  • /etc/ssh/known_hosts - default per tutti gli utenti
  • $HOME/.ssh/known_hosts - per ciascun utente

Handshake ssh

Ssh01

Il server ha una coppia di chiavi doppie per ogni algoritmo supportato.

Segue l'autenticazione dell'utente (password), che transita già crittografata.

Autenticazione a Chiave

Alternativa sicura all'autebticazione sullo host remoto con password.

Generazione chiavi asimmetriche sul client:

ssh-keygen
  • Accettare la locazione di default ~/.ssh/id_rsa
  • Dare la passphrase 'segreto' ( 2 volte)

Registrare la chiave allo ssh agent.

Se non è già partito, lanciarlo:

eval $(ssh-agent -s)
ssh-add

Viene chiesta la passhphrase.

Aggiungere l'autorizzazione al server:

ssh-copy-id utente@IP

Viene chiesta la password di utente.

Uscire e provare la connessione: ssh utente@IP.

Non viene più chiesta la password di utente.

Collegamento Parametrico

Sul client editare il file ~/.ssh/config:

vim ~/.ssh/config
Host userv
  User root
  Hostname 10.0.1.12
  Port 22
  IdentityFile ~/.ssh/id_rsa

Sostituire il proprio nome di login sul server e l'indirizzo del server.

Si possono aggiungere più paragrafi, per più host remoti.

Test:

ssh userv

Ssh Port Forwarding

Sshpf

Tunnel ssh e Pericoli

Qualunque utente può stabilire un tunnel ssh.

Necessario un server ssh intranet e un utente noto su tale server. N.B.: Molti Linux installano e attivano ssh per default.

  • I server ssh non devono avere utenti di comodo (guest)
  • I server interni devono essere protetti da firewall personali
  • Accettare connessioni solo dal server ssh ufficiale

Sshtun