Assistenza Informatica7 min di lettura

SSH e OpenSSH Server: Sicurezza Informatica

Ecco cosa si intende per SSH e come funzione OpenSSH, uno dei sistemi più affidabili e sicuri per la gestione remota dei sistemi.

SSH e OpenSSH Server: Sicurezza Informatica

In questo articolo

  1. Quali sono i vantaggi di OpenSSH?
  2. Quali sono i principali ambiti di utilizzo di SSH?
  3. Autenticazione con chiavi invece che con password
  4. Altri parametri di sshd_config utili da conoscere
  5. Gli errori che si incontrano davvero
  6. I tunnel: un caso d'uso pratico e frequente
  7. La soluzione a portata di click!
  8. Articoli Correlati

In gergo tecnico SSH è l'acronimo di Secure Shell, ovvero un protocollo che permette di stabilire una sessione remota cifrata (quindi più sicura) tramite interfaccia a riga di comando con un altro host di una rete informatica.

Quali sono i vantaggi di OpenSSH?

Fatta questa premessa, possiamo parlare di OpenSSH, ovvero di un servizio di rete open-source che fornisce una suite completa di strumenti per la gestione remota dei server e dei computer.

OpenSSH è uno dei sistemi più affidabili e sicuri per la gestione remota dei sistemi, ed è largamente utilizzato in ambienti di produzione di tutto il mondo; supporta una vasta gamma di protocolli di rete, tra cui SSH, SFTP e SCP, che possono essere utilizzati per gestire remotamente i server Linux e Unix.

La crittografia dei dati in transito, l'autenticazione basata su chiavi pubbliche/private e la protezione contro gli attacchi di rete sono solo alcune delle molte opzioni di sicurezza disponibili con OpenSSH.

OpenSSH è anche molto flessibile e personalizzabile, permettendo agli amministratori di sistema di configurare il servizio per soddisfare le loro esigenze specifiche. Inoltre, OpenSSH è molto affidabile e stabile, e non richiede una manutenzione costante come altri servizi di gestione remota.

Grazie alla sua popolarità in costante crescita, OpenSSH è supportato da una vasta comunità di sviluppatori che contribuiscono costantemente allo sviluppo e alla manutenzione del servizio: ciò significa che gli amministratori di sistema possono sempre contare su una soluzione affidabile e sicura che viene costantemente migliorata e aggiornata.

In sintesi, OpenSSH è un'ottima scelta per coloro che cercano una soluzione affidabile e sicura per la gestione remota dei loro server e computer. Con la sua suite completa di strumenti, le sue opzioni di sicurezza avanzate e la sua vasta comunità di sviluppatori, OpenSSH è una soluzione altamente raccomandata per gli amministratori di sistema che cercano una soluzione robusta e affidabile per la gestione remota dei loro sistemi.

Quali sono i principali ambiti di utilizzo di SSH?

SSH è un servizio altamente versatile e adattabile, nonché una soluzione altamente raccomandata per qualsiasi persona o organizzazione in molteplici situazioni e circostanze: ecco i principali ambiti di utilizzo...

  • Amministrazione remota dei server: SSH è uno dei sistemi più utilizzati per l'amministrazione remota dei server. Gli amministratori di sistema possono utilizzare SSH per accedere ai loro server da remoto e gestirli in modo sicuro.

  • Trasferimento di file sicuro: SSH supporta anche il protocollo SFTP, che consente il trasferimento sicuro di file tra server e computer. Questo è particolarmente utile per la gestione di grandi quantità di dati sensibili.

  • Connessioni VPN: SSH può essere utilizzato per creare una connessione VPN sicura e protetta tra due o più sistemi. Questo è utile per la connessione a reti aziendali da remoto.

  • Automazione dei processi: SSH può essere utilizzato per automatizzare i processi di gestione dei server, ad esempio eseguendo script o comandi remoti.

  • Sicurezza: SSH fornisce una solida crittografia dei dati in transito, proteggendo i dati sensibili durante la gestione remota dei sistemi.

  • Tunneling di rete: SSH può essere utilizzato per creare un tunnel sicuro attraverso una rete pubblica, proteggendo le informazioni sensibili durante la trasmissione.

  • Gestione di database remota: SSH può essere utilizzato per accedere e gestire database remoti in modo sicuro.

  • Monitoraggio di sistemi: SSH può essere utilizzato per monitorare i sistemi remoti, ad esempio per rilevare eventuali problemi di performance.

  • Backup remoto: SSH può essere utilizzato per creare copie di backup dei dati remoti in modo sicuro.

  • Sviluppo di software: gli sviluppatori di software possono utilizzare SSH per accedere ai loro sistemi di sviluppo da remoto e lavorare in modo efficiente sui loro progetti.

Autenticazione con chiavi invece che con password

Il miglioramento di sicurezza più efficace per qualsiasi server esposto su SSH è passare dall'autenticazione con password a quella basata su chiavi. Sulla macchina client:

ssh-keygen -t ed25519 -C "nome@azienda.it"

Questo genera una chiave privata (che resta sul client e non va mai condivisa) e una chiave pubblica (~/.ssh/id_ed25519.pub). La chiave pubblica va poi copiata sul server:

ssh-copy-id utente@server

Da quel momento, collegarsi con ssh utente@server usa la coppia di chiavi invece della password. Sul server, l'autenticazione con password può essere disattivata del tutto modificando /etc/ssh/sshd_config:

PasswordAuthentication no
PermitRootLogin no

e riavviando il servizio con systemctl restart sshd. Disattivare PermitRootLogin significa che gli amministratori accedono con il proprio account e usano sudo per i comandi privilegiati, il che lascia anche una traccia di controllo di chi ha fatto cosa — cosa che una password di root condivisa non offre mai.

Altri parametri di sshd_config utili da conoscere

  • Port 22 — cambiare la porta predefinita non rende SSH di per sé più sicuro, ma riduce in modo netto il rumore degli scanner automatici che provano sempre e solo la porta 22.
  • AllowUsers utente1 utente2 — limita l'accesso SSH a un elenco esplicito di account, utile su un server dove solo un paio di persone hanno davvero bisogno di accesso remoto.
  • MaxAuthTries 3 — limita quanti tentativi di autenticazione ha a disposizione una singola connessione prima di essere chiusa, rallentando i tentativi di brute-force.
  • Fail2ban — non fa parte di OpenSSH, ma viene spesso installato insieme: monitora il log di autenticazione e blocca temporaneamente gli indirizzi IP dopo un certo numero di tentativi di accesso falliti, riducendo in modo concreto il traffico di attacco automatizzato su qualsiasi server esposto su internet.

Gli errori che si incontrano davvero

  • Permission denied (publickey) — la chiave pubblica non è stata copiata correttamente nel file ~/.ssh/authorized_keys del server, oppure i permessi su quel file/cartella sono troppo aperti (SSH rifiuta silenziosamente di usare una chiave se ~/.ssh è scrivibile da altri oltre al proprietario — deve essere 700, e authorized_keys deve essere 600).
  • Connection refused — il servizio SSH non è attivo sull'host di destinazione, oppure un firewall sta bloccando la porta; è un problema di rete/servizio, non di credenziali.
  • REMOTE HOST IDENTIFICATION HAS CHANGED! — la host key del server non corrisponde più a quella salvata in ~/.ssh/known_hosts sul client, il più delle volte perché il server è stato reinstallato o sostituito. Se è previsto, si risolve rimuovendo la voce precedente con ssh-keygen -R nome_host; se non era previsto, prima di procedere conviene verificare che non ci sia qualcosa di sospetto in corso.
  • La connessione resta bloccata senza alcun errore — spesso è un firewall che scarta silenziosamente i pacchetti invece di rifiutare attivamente la connessione; conviene testare dalla rete su cui si trova il server prima di dare per scontato che sia un problema di configurazione SSH.

I tunnel: un caso d'uso pratico e frequente

Oltre all'amministrazione remota, i tunnel SSH sono un modo davvero comune per raggiungere un servizio che non è pensato per essere esposto direttamente su internet — per esempio un database o un pannello di amministrazione interno raggiungibile solo dalla rete dell'ufficio. Un tunnel locale:

ssh -L 8080:localhost:80 utente@server

inoltra la porta locale 8080 verso la porta 80 del server remoto, attraverso la connessione SSH cifrata, senza dover mai aprire quella porta verso internet.

La soluzione a portata di click!

Per qualsiasi esigenza di natura informatica, puoi contattare TN Soultions senza impegno: i nostri tecnici qualificati offrono servizi di assistenza e consulenza server, rivolgendosi indistintamente sia ad aziende che a privati. Compila il form qui sotto.

Articoli Correlati

Se vuoi saperne di più, ecco delle guide tematiche di approfondimento:

Domande frequenti

Cos'è SSH?

È l'acronimo di Secure Shell, un protocollo che permette di stabilire una sessione remota cifrata tramite interfaccia a riga di comando con un altro host di una rete informatica, garantendo comunicazioni sicure.

Cos'è OpenSSH?

È un servizio di rete open source che fornisce una suite completa di strumenti per la gestione remota di server e computer, supportando i protocolli SSH, SFTP e SCP per amministrare in sicurezza sistemi Linux e Unix.

A cosa serve principalmente SSH in azienda?

Serve soprattutto per l'amministrazione remota dei server, il trasferimento sicuro di file tramite SFTP, la creazione di connessioni VPN e tunnel di rete protetti, e l'automazione di processi tramite script o comandi remoti.

SSH è sicuro per gestire dati sensibili?

Sì, grazie alla crittografia dei dati in transito e all'autenticazione basata su chiavi pubbliche/private, che proteggono le comunicazioni da attacchi di rete durante la gestione remota dei sistemi.

Partner tecnologici

Vuoi parlarne con un nostro tecnico?

Analizziamo gratuitamente la tua infrastruttura e ti proponiamo la soluzione più adatta.

Scopri di piùRichiedi un preventivo

Utilizziamo i cookie

Usiamo cookie tecnici necessari al funzionamento del sito e, solo se acconsenti, cookie di analisi e marketing. Puoi accettare, rifiutare o scegliere categoria per categoria. Se prosegui la navigazione su un'altra pagina senza scegliere, i cookie si intendono accettati. Cookie Policy