L’opzione più sicura per l’accesso remoto [2023]

Nell’era della connettività remota, gli utenti e gli amministratori di sistema devono utilizzare strumenti per rendere le attività remote sicure, protette e veloci.

E, quando parli di metodi di connettività remota, due nomi vengono in cima: SSH e Telnet.

È SSH o Telent? Questo articolo esplorerà qual è il migliore per l’accesso remoto. Scopriamolo nel nostro confronto tra SSH e Telnet.

Cos’è l’accesso remoto?

L’accesso remoto consente agli utenti o agli amministratori di accedere a computer o dispositivi sulle reti da qualsiasi posizione tramite Internet. Utilizzandolo, possono eseguire diverse operazioni, tra cui il trasferimento di file, la collaborazione e la protezione del traffico delle applicazioni.

L’accesso remoto è vitale per le organizzazioni per sopravvivere e prosperare. Inoltre, gli amministratori necessitano di un accesso remoto adeguato per gestire server, reti e applicazioni senza visitare fisicamente le posizioni dei server.

Che cos’è SSH?

Secure Shell o Secure Socket Shell (SSH) è un protocollo di rete che consente ai computer su una rete non protetta di comunicare tra loro in modo sicuro.

Una volta stabilita una connessione sicura, l’utente o l’amministratore può accedere al computer remoto ed eseguire le applicazioni in remoto oppure utilizzare la connessione crittografata end-to-end sicura per spostare i file attraverso la rete.

SSH si riferisce alla suite di tecnologia e utilità che implementano il protocollo SSH. Per rendere sicuro SSH, vengono implementate diverse tecnologie, a partire dall’autenticazione con chiave pubblica, comunicazioni di dati crittografate e autenticazione con password complessa.

La società dietro lo sviluppo di SSH è Netscape Communications Corporation. Tuttavia, uno scienziato informatico finlandese, Tatu Ylonen, ha creato i primi progetti di SSH. Lo ha sviluppato dopo aver trovato uno sniffer di password segreto sulla sua rete appena creata.

Come funziona SSH?

SSH sostituisce i vecchi protocolli di connettività remota come Telnet, rlogin, rsh, ecc. La maggior parte di questi sono protocolli popolari ma mancano di sicurezza. In effetti, SSH è così efficace che gli utenti lo usano invece di fare affidamento su protocolli di trasferimento file come copia remota (rcp) e File Transfer Protocol (FTP).

SSH utilizza un modello client-server in cui un client SSH si connette al server SSH.

  • Il client SSH è un programma che risiede su un computer o dispositivo che avvia il protocollo SSH. Il client invia una richiesta al server SSH e attende che accetti la richiesta. Il client SSH utilizza la crittografia a chiave pubblica per verificare e assicurarsi che si connetta al server corretto. Questo approccio garantisce che gli attori malintenzionati non possano fingere di essere un server e rubare informazioni vitali dal client.
  • SSH Server gestisce le connessioni SSH ed esegue il servizio. Per accettare la richiesta in arrivo, il server SSH ascolta costantemente la porta TCP 22 (per impostazione predefinita). E una volta ricevuta una richiesta, risponde a loro. Il server SSH controlla e autentica anche il client utilizzando l’autenticazione a chiave pubblica. Solo dopo l’autenticazione riuscita il client ottiene l’accesso al sistema host.

Il client e il server effettuano la scelta della crittografia. Possono impegnarsi a disabilitare la crittografia più debole. Inoltre, supporta più connessioni, consentendo di eseguire più attività (download, modifica o esecuzione di un programma) aprendo più canali tramite una singola connessione SSH.

La sintassi SSH è la seguente:

$ ssh [email protected]

Il nome_utente è il nome utente che utilizzi per connetterti all’host. L’host può essere un IP o un nome di dominio.

Come puoi vedere, il flusso SSH semplificato è costituito da quanto segue:

  • Client SSH che avvia una connessione a un particolare server SSH
  • Il server SSH riceve la connessione e invia la sua chiave pubblica al client.
  • Il client salva la chiave pubblica del server nel file del proprio host (per la connettività futura).
  • Ora, il server e il client negoziano e stabiliscono i parametri di connessione.
  • SSH offre una potente opzione di connettività con un’eccellente sicurezza e protezione dell’integrità dei dati. Segue anche una standardizzazione IETF per una migliore implementazione ed è rimasto intatto negli ultimi 15 anni.

    Se vuoi approfondire tecnicamente SSH, dai un’occhiata al documento di standardizzazione SSH RFC 4253. Inoltre, controlla l’opinione di winadmin.it sulla comprensione di SSH.

    Che cos’è Telnet?

    Telent è l’acronimo di Teletype Network. È un altro protocollo di rete popolare che offre connettività remota tramite l’interfaccia della riga di comando. Simile a SSH, puoi usarlo per ottenere il controllo remoto ed eseguire azioni. Tuttavia, manca l’aspetto di sicurezza offerto da SSH.

    La mancanza di sicurezza è dovuta al fatto che quando è uscito nel 1969, la maggior parte delle comunicazioni avveniva in una rete locale, che è sicura rispetto a Internet non protetto.

    Come funziona Telenet?

    Telenet funziona creando una comunicazione basata su testo da terminale a terminale tra il client e il server. Utilizza un modello client-server utilizzando una connessione a otto byte.

    Una volta stabilita la connessione, è possibile eseguire diverse operazioni sul computer remoto, incluso il controllo delle porte aperte, la configurazione dei dispositivi, la modifica dei file e persino l’esecuzione dei programmi.

    La sintassi Telnet è:

    $ telnet hostname port

    Per ulteriori informazioni su Telnet, consulta Comandi Telnet per testare e risolvere i problemi di connessione.

    Quando e dove dovresti usare SSH?

    SSH viene utilizzato principalmente per:

    • Amministrazione remota del sistema
    • Esecuzione di comandi da remoto
    • Protezione del traffico dell’applicazione
    • Trasferimenti di file

    Gli amministratori possono anche impostare sessioni SSH automatizzate che gestiscono attività ripetitive come la creazione di backup di rete, la raccolta di file di registro, l’esecuzione periodica della manutenzione, ecc.

    SSH deve essere utilizzato per qualsiasi operazione di connettività remota, in particolare su una rete non protetta, in particolare Internet. SSH è anche un’ottima opzione per l’utilizzo sulla rete locale, poiché potresti non essere mai sicuro che la tua rete locale sia completamente sicura.

    Quando e dove utilizzare Telenet?

    Poiché Telnet non è sicuro, evita di usarlo per connetterti in remoto su una rete non protetta. Tuttavia, ciò non significa che Telnet sia inutile.

    Puoi usare TTelnetto fare quanto segue:

    • Risoluzione dei problemi relativi a SSH (Sì, hai letto bene. 😃)
    • Risoluzione dei problemi relativi a FTP, SMTP e server web.
    • Controlla se una porta è aperta o meno
    • Accesso a reti Internet affidabili.

    SSH contro Telnet

    In questa sezione, confronteremo SSH e Telent attraverso diversi criteri. Se sei di fretta, dai un’occhiata alla tabella di confronto tra SSH e Telnet.

    SSHTelnetSecurityAltamente sicuro, in cui client e server possono negoziare per impostare algoritmi di crittografia.Non sicuro, nessun meccanismo per proteggere la connessione oi pacchetti Telent.AutenticazioneSSH utilizza la crittografia a chiave pubblica per scopi di autenticazione.Telnet non ha alcun meccanismo di autenticazione. Richiede semplicemente il nome utente/password, che viene trasferito senza alcuna protezione.OperationSSH utilizza la porta TCP 22 per impostazione predefinita. Puoi cambiarlo in un’altra porta per impedire agli hacker di tentare l’accesso non autorizzato.Telent, per impostazione predefinita, utilizza la porta 23 per ascoltare le connessioni in entrata. Puoi configurarlo per proteggerlo da accessi non autorizzati.ModelloModello client-server.Modello client-server.Velocità di trasferimento datiTecnicamente più lento di Telnet, ma difficilmente percepito durante l’uso nel mondo reale.Più veloce di SSH a causa dell’assenza di protocolli di sicurezza.Tabella: SSH vs Telnet

    Sicurezza

    SSH è sicuro. Mantiene la tua connessione sicura con protocolli di crittografia adeguati. Tuttavia, Telenet è del tutto privo di qualsiasi misura di sicurezza.

    In SSH, il client e il server possono negoziare i parametri di connessione, incluso l’algoritmo di crittografia end-to-end. Ciò fornisce la configurazione per bloccare gli algoritmi di crittografia deboli e rendere la connessione SSH il più sicura possibile.

    Una volta stabilita una connessione TCP/UDP tra il client e il server, inizia un tentativo di creare una connessione sicura.

    Per capire meglio come funziona la sicurezza SSH, impariamo a conoscere il contenuto del pacchetto SSH. Un pacchetto SSH è costituito da cinque componenti, tra cui:

    • Lunghezza pacchetto: 4 byte; quanto sarà grande il pacco?
    • Quantità di riempimento: 1 byte; quanta imbottitura ha il pacchetto
    • Payload: i dati effettivamente trasferiti; la dimensione varia
    • Imbottitura: l’imbottitura vera e propria, e non la TAGLIA di cui abbiamo parlato prima. Sono byte casuali combinati con il payload per renderlo più crittografato.
    • Codice di autenticazione del messaggio: un tag per convalidare l’autenticità del pacchetto per garantire che i dati del pacchetto non vengano modificati.

    Quando SSH implementa la crittografia, sono disponibili per la lettura solo la lunghezza del pacchetto e il codice di autenticazione del messaggio. Il client e il server negoziano i parametri di connessione tramite un codice di autenticazione del messaggio. Inoltre, i pacchetti SSH possono essere compressi utilizzando diversi algoritmi di compressione.

    Telnet manca di sicurezza. Esegue l’autenticazione non protetta per connettere il client e il server. Pertanto, qualsiasi attore malintenzionato può leggere il pacchetto Telent e compromettere la connessione.

    Autenticazione

    SSH è un protocollo sicuro. Si basa sulla crittografia a chiave pubblica per autenticare il client e il server. In termini più tecnici, SSH può utilizzare algoritmi crittografici asimmetrici o simmetrici per accoppiare chiavi pubbliche e private.

    Telent, d’altra parte, non ha protezione per l’autenticazione. Il suo processo di autenticazione richiede il nome dell’account e la password prima della connessione. Inoltre, il nome utente e la password vengono inviati senza alcuna sicurezza e quindi sono accessibili a chiunque.

    Operazione

    Per quanto riguarda il funzionamento, SSH viene eseguito sulla porta TCP 22 per impostazione predefinita. D’altra parte, Telnet utilizza la porta TCP 23. Quindi, utilizzare i protocolli SSH o Telnet senza specificare il numero di porta. Il comando tenterà di connettersi automaticamente alle porte 22 e 23, rispettivamente.

    Tuttavia, queste porte sono ben note e possono essere utilizzate dagli hacker per effettuare accessi non autorizzati.

    È possibile modificare i protocolli SSH e Telnet su porte diverse per superare questo problema. È meglio chiudere le porte comuni e scegliere le porte tra 1024 e 65535.

    In Telent, i comandi vengono inviati nel formato Network Virtual Terminal (NVT). Il server Telent è in grado di ricevere e comprendere il formato. Come puoi vedere, qui non viene effettuata alcuna crittografia o autenticazione.

    Come per SSH, una volta stabilita la connessione client-server, viene generata una sessione e identificata con la chiave di sessione. Questa chiave crittografa il traffico fino al termine della sessione. Inoltre, il server deve verificare il client. Lo fa con la generazione di coppie di chiavi SSH. Al termine della verifica, viene creato un canale di crittografia end-to-end per il trasferimento sicuro dei dati.

    Modello

    Sia SSH che Telnet utilizzano il modello client-server. È fantastico, considerando che il modello client-server offre molteplici vantaggi, tra cui:

    • Può scalare orizzontalmente, dove il server può aggiungere più risorse se necessario.
    • I client possono essere ottimizzati per input di dati corretti
    • Divide l’elaborazione dell’applicazione tra client e server

    Velocità e sovraccarico

    Per comprendere veramente SSH e Telnet, dobbiamo conoscere il loro impatto ambientale. In generale, SSH ha un sovraccarico maggiore rispetto a Telent, ma noterai a malapena alcuna differenza negli scenari del mondo reale.

    Tecnicamente, Telnet e SSH eseguono il rekeying dopo 1 ora di connessione o 1 GB di tempo di connessione.

    Per quanto riguarda la larghezza di banda, SSH ha un sovraccarico maggiore, ma ha un impatto minimo sugli utenti. Per quanto riguarda la CPU del client e del server, l’overhead è minimo, grazie al modo in cui lo standard AES funziona e si implementa nelle connessioni SSH.

    In breve, SSH e Telnet non hanno velocità visiva o differenza di sovraccarico. Tuttavia, se li confronti tecnicamente, SSH comporta un sovraccarico su Telnet.

    Casi d’uso SSH e Telnet

    In questa sezione esamineremo alcuni casi d’uso di SSH e Telnet.

    Casi d’uso SSH

    I casi d’uso per SSH includono:

    • Esecuzione remota di comandi
    • Accesso sicuro alle risorse della macchina remota
    • Trasferimento di file in remoto
    • Fornitura di aggiornamenti software da remoto
    • Imposta il trasferimento automatico dei file o esegui trasferimenti manuali

    Casi d’uso Telnet

    I casi d’uso di Telnet includono:

    • Risolvere i problemi relativi a SSH
    • Risoluzione dei problemi relativi a FTP, SMTP e server web.
    • Controlla se una porta è aperta o meno
    • Accesso a reti Internet affidabili.

    Considerazioni finali: quale è meglio?

    SSH è meglio. È un protocollo di rete moderno e aggiornato che rende sicuro l’accesso remoto. Fino ad ora, non sono state trovate scappatoie di sicurezza. Inoltre, è facile da usare e configurare.

    Telnet, d’altra parte, è caduto con grazia. Adesso ha quasi 50 anni. Tuttavia, è ancora utile negli scenari attuali e puoi usarlo per risolvere i problemi di SSH o verificare se una porta è aperta. Gli amministratori possono utilizzare Telnet per risolvere la maggior parte dei problemi di rete.