Casa / Padroneggiare il PC / Protocollo di rete sicuro SSH, di base. Suggerimenti per la sicurezza per l'utilizzo di SSH. Sezioni in questa pagina

Protocollo di rete sicuro SSH, di base. Suggerimenti per la sicurezza per l'utilizzo di SSH. Sezioni in questa pagina

Telnet è il protocollo di base del sistema operativo UNIX che fornisce l'accesso dell'utente terminale a un computer remoto.

Inizialmente, il terminale era un dispositivo tipo macchina da scrivere su cui l'operatore (utente) digitava i comandi e osservava i risultati. Il terminale è stato successivamente suddiviso in un monitor e una tastiera.

Per impostazione predefinita, Telnet utilizza la porta 23. La parte server deve essere in esecuzione sul computer remoto e la parte client deve essere in esecuzione sul computer dell'utente. Il programma client ha lo stesso nome: telnet e consente di inserire parametri dalla riga di comando. Queste opzioni includono:

Nome del server (indirizzo IP) e numero di porta

Tipo di terminale di testo

Nome utente

Nome del registro di connessione

Determinazione delle azioni di alcuni tasti funzione della tastiera, ecc.

Sintassi riga di comando dipende dall'implementazione software di telnet e da questo punto di vista telnet può essere considerato un servizio o un servizio.

Il funzionamento del protocollo telnet prevede la trasmissione al server (computer remoto) utilizzando il protocollo TCP di ogni carattere digitato dall'utente in un pacchetto separato. Se l'eco è abilitato, il server restituisce il carattere al monitor dell'utente. I risultati dell'esecuzione dei programmi in esecuzione sul server sono già trasmessi in blocchi. Entro i limiti dei diritti utente e delle capacità del terminale, telnet fornisce l'accesso completo ai programmi e ai file del server. Quando viene stabilita una connessione durante il processo di autenticazione, i caratteri del nome utente e della password vengono trasmessi in chiaro, il che rende l'utilizzo di telnet estremamente pericoloso.

Il metodo più diffuso per migliorare la sicurezza dei protocolli dei terminali delle applicazioni (ad esempio, telnet) è il protocollo SSH (Secure SHell), che utilizza la porta 22 per impostazione predefinita. Proprio come in telnet, la parte server di SSH viene avviata sul computer remoto e la parte client viene avviata sul computer dell'utente. Dopo aver stabilito la connessione, tutti i dati vengono trasmessi in forma crittografata e tutti i dati del protocollo dell'applicazione vengono trasmessi in tunnel su questa connessione protetta, come mostrato nella Figura 3.5.3.1.

Prima di utilizzare telnet, il computer remoto e il computer dell'utente stabiliscono una connessione sicura sulla porta 22 (si presume che le password crittografiche siano già state definite nelle parti client e server prima di utilizzare SSH). Quando si chiama telnet, la porta 23 viene aperta, ma i pacchetti trasmessi vengono intercettati dal client SSH, crittografati e inviati su un canale sicuro. Il server SSH decodifica i dati e li invia al server telnet sulla porta 23. La risposta del server viene trasmessa in ordine inverso. L'utente non sente il funzionamento del protocollo SSH e funziona come con un normale client telnet sulla porta 23.

Protocolli di posta elettronica

La posta elettronica (E-mail) è uno dei servizi di rete più antichi e comuni, diffuso sia nelle reti locali che globali.

Sistema E-mailè apparso nel 1982 come servizio per l'antenato di Internet, l'ARPANET. Questo sistema differiva significativamente dalla serie di raccomandazioni X.400 adottata dalla CCITT. La complessità delle raccomandazioni X.400 e la loro natura mal concepita hanno portato a un raro evento nella tecnologia di rete in cui lo sviluppo di un'iniziativa ha conquistato uno standard internazionale. I servizi di posta elettronica che rispondono a X.400 non sono stati ampiamente utilizzati e sono di maggiore interesse scientifico.

Un messaggio di posta elettronica, come nella posta ordinaria, contiene una busta con le informazioni necessarie per la consegna, un'intestazione con i dati utili al trattamento automatizzato da parte del destinatario e il messaggio stesso.

Busta e intestazione hanno campi formalizzati. I più importanti sono (i campi obbligatori da compilare per il mittente sono in grassetto):

Quindi: - indirizzo(i) del(i) destinatario(i) nel formato mailbox_name@mailserver_name

Сс: - indirizzo(i) (copia carbone) di altri destinatari

Ccn: - (copia per conoscenza nascosta) indirizzo(i) cieco(i) del(i) destinatario(i) non segnalato(i) ad altri

Mittente: - indirizzo del mittente dell'e-mail

Ricevuto: - un campo in cui, al passaggio di ogni nodo, vengono aggiunti il ​​nome del nodo, la data e l'ora di ricezione

Return-Path: - nomi dei nodi sul percorso della lettera

Data: - data e ora di invio dell'e-mail

Rispondi a: - indirizzo a cui rispondere

ID messaggio: - identificatore univoco del messaggio (per i collegamenti)

In-Reply-id: - identificatore del messaggio a cui viene data la risposta

Oggetto: - oggetto dell'e-mail

Il corpo del messaggio è un insieme di stringhe di non più di 1000 (consigliati fino a 78) caratteri ASCII (American Standard Code for Information Interchange), ovvero numeri a 7 bit che rappresentano lettere dell'alfabeto latino, segni di punteggiatura e numeri (popolari per tali una rappresentazione è il termine "codifica"). I simboli delle codifiche nazionali (ad esempio, caratteri cirillici), file binari (ad esempio, con informazioni audio o video), ecc. vengono visualizzati secondo la convenzione MIME (Multipurpose Internet Mail Extension), che fornisce un campo che indica il metodo di codifica ( ad esempio Base64 - vedi paragrafo 3.5.2).

Il metodo di base per garantire la riservatezza della posta elettronica è la sua protezione crittografica. Il sistema più diffuso si chiama PGP (Pretty Good Privacy). Questo sistema è stato proposto da Phil Zimmerman e utilizza diversi algoritmi di crittografia (RSA, IDEA, MD5).

Un altro sistema si chiama PEM (Privacy Enhanced Mail - mail of enhanced secrecy) e si differenzia da PGP per la necessità di comunicare con le autorità di certificazione delle chiavi, un grado di protezione inferiore (per la crittografia dei dati nel sistema PGP, le chiavi sono lunghe 128 bit e nel sistema PEM - solo 56 bit), ma nel pieno rispetto delle raccomandazioni ITU-T (X.400 e X.509).

I protocolli di posta elettronica sono caratterizzati da una notevole varietà da quelli di marca, adatti nei prodotti software di specifiche aziende manifatturiere, a quelli generalmente riconosciuti. Stiamo parlando dei protocolli dei sistemi di posta elettronica e non dei comuni sistemi per emulare i servizi di posta basati sul protocollo HTTP (vedi, ad esempio, www. mail. ru).

I protocolli di posta elettronica includono:

SMTP (Simple Mail Transfer Protocol - un semplice protocollo di posta elettronica) è un protocollo utilizzato per scambiare posta tra nodi e inviare lettere da un client a un server di posta. Per impostazione predefinita, il protocollo utilizza la porta 25.

POP3 (Post Office Protocol v.3 - protocollo e-mail versione 3) - un protocollo per la ricezione della posta da parte di un client. Per impostazione predefinita, il protocollo utilizza la porta 110.

IMAP v4 (Internet Message Access Protocol v.4 - protocollo per l'accesso interattivo alla posta elettronica versione 4) è un protocollo simile a POP3, ma consente al client di archiviare ed elaborare la posta sul server di posta stesso. Per impostazione predefinita, il protocollo utilizza la porta 585

Protocollo SMNP

SNMP (Simple Network Management Protocol) è stato originariamente sviluppato per gestire i router, ma da allora è stato esteso a qualsiasi dispositivo di rete (porte 161/162 per impostazione predefinita). Attualmente è rilevante la versione 2 del protocollo (1999).

Il protocollo si basa sul principio client-server (il programma client deve essere in esecuzione sul dispositivo di rete gestito) e include il protocollo di gestione (interazione tra il nodo gestito e quello di gestione), il linguaggio ASN.1 (Abstract Syntax Notation v.1 - Abstract Syntax Notation v.1) descrizioni del modello gestionale e del modello gestionale MIB (Management Information Base) stesso. La diffusione del protocollo è ostacolata dalla sua bassa sicurezza e dalla focalizzazione sull'utilizzo del protocollo UDP, con conseguente possibile perdita dei messaggi DNS

Il compito di risolvere i nomi implica determinare l'indirizzo IP di un nodo dal suo nome simbolico e determinare il nome simbolico da un determinato indirizzo IP.

Storicamente, il primo, ma ancora valido, meccanismo di risoluzione dei nomi è associato all'impostazione diretta di una tabella di corrispondenza tra nomi simbolici e indirizzi IP nel file hosts/lmhosts (il primo file è utilizzato da UNIX/Linux e alcuni altri sistemi operativi (OS) e il secondo da Microsoft OS). Entrambi i file sono file di testo ei loro formati e chiavi possono essere trovati in MS Windows nei file con lo stesso nome con estensione . sam (campione). Ovviamente, per qualsiasi rete di grandi dimensioni, non è possibile risolvere del tutto il problema in questo modo, anche se scrivere informazioni sui server principali, router, gateway, ecc. in questi file è molto efficace per velocizzare l'avvio di un computer in un ambiente in rete.

Un altro metodo di risoluzione dei nomi abbastanza diffuso prevede l'utilizzo di NetBIOS (Network Basic Input/Output System) su TCP/IP. Questo sistema è stato sviluppato congiuntamente da Microsoft e IBM negli anni '80 come servizio di I/O di rete per il sistema operativo. Sistemi Windows. Successivamente, per implementare l'accesso degli utenti alle risorse di rete, è stato sviluppato il protocollo NetBEUI (NetBIOS Extended User Interface) come principale protocollo di rete su Windows per Workgroup e NT. Infine, con l'ubiquità dello stack TCP/IP, Microsoft è stata costretta a rilasciare un'implementazione NetBIOS che utilizza IP per trasferire i dati necessari (NetBIOS su TCP/IP). NetBIOS è ancora supportato in Windows 2000/NT/XP, sebbene non sia il meccanismo principale per l'accesso alle risorse di rete. NetBIOS è utile per piccole reti peer-to-peer.

Inizialmente, ogni nodo su una rete NetBIOS ha un nome simbolico (fino a 15 caratteri) con un identificatore di risorsa (16° carattere) che indica il ruolo del nodo (file server, server di stampa, workstation, ecc.). NetBIOS "puro" è applicabile solo per reti di piccole dimensioni ed è considerato "non instradabile" perché -

il sistema di denominazione non consente di identificare la rete

le richieste di trasmissione sono ampiamente utilizzate per ottenere e aggiornare informazioni sui nodi di rete (la maggior parte dei router non consente richieste di trasmissione)

Per ovviare a queste carenze, Microsoft ha offerto il servizio WINS (Windows Internet Name Service - servizio windows Nomi Internet) basati sui server dei nomi NetBIOS. Va notato che, nonostante la menzione di Internet, WINS non viene utilizzato in questo rete globale.

Il primo inconveniente di NetBIOS viene risolto in WINS introducendo un nome di comunità per la rete e il secondo dal fatto che le query di risoluzione dei nomi vengono indirizzate a server WINS specifici. L'instabilità del servizio, le difficoltà amministrative e la difficoltà di utilizzo su Internet globale hanno ormai costretto Microsoft a passare al pieno supporto DNS.

Il DNS (Domain Name System - Domain Name System) viene implementato utilizzando il protocollo applicativo omonimo, che utilizza di default la porta 53. Il sistema DNS è stato sviluppato all'interno del sistema operativo UNIX e il servizio corrispondente che utilizza DNS ha la stessa abbreviazione, ma sta per Domain Name Service.

I nomi in DNS sono costruiti gerarchicamente sotto forma di un albero invertito. I domini di primo livello (radici) sono suddivisi secondo il principio professionale (.com - commerciale, . gov - state, .net - network, ecc. nodi) o nazionale (.ru - russo, .fi - finlandese, .fr - francese, ecc. d.). Il sistema operativo UNIX è stato sviluppato negli Stati Uniti e, ovviamente, si presumeva che tutti i nodi si trovassero lì. Ora puoi vedere i nomi di dominio doppi, ad esempio. com. tw - commerciale taiwanese.

Ogni dominio contiene a sua volta un sottodominio il cui nome viene aggiunto a sinistra e separato da un punto, e così via.La voce termina con l'aggiunta del nome host a sinistra. Il nome di ogni dominio, sottodominio o host non deve superare i 63 caratteri e il nome completo non deve superare i 255 caratteri. I nomi sono tradizionalmente usati nell'alfabeto latino, numeri e trattini (il segno _ non è consentito), ma, in linea di principio, è possibile registrare un dominio con un nome in cirillico, ma il significato di questo è problematico.

I dati sui nomi dei sottodomini/host registrati in qualsiasi dominio e i loro indirizzi IP sono archiviati in due tabelle sui server DNS, che contengono anche il nome e l'indirizzo del dominio sovrastante. Secondo la prima tabella, per un dato nome simbolico, viene determinato un indirizzo digitale (conversione diretta e, di conseguenza, la cosiddetta "zona diretta"), e nella seconda tabella, un nome simbolico si trova in un determinato indirizzo ( conversione inversa e "zona inversa").

Per aumentare l'affidabilità, ogni dominio deve avere almeno 2 server (primario - primario e secondario - backup) e fisicamente questi server devono trovarsi in reti diverse e potrebbero non trovarsi nei domini di cui contengono i nomi host.

Il dominio principale è supportato da più di 10 server DNS, i cui indirizzi IP e nomi sono "cablati" nel sistema operativo di rete. La registrazione di nuovi nomi e l'assegnazione dei relativi indirizzi IP è a cura del titolare del dominio. Ad esempio, la registrazione del dominio. ru è prodotto da RosNIIROS, dove la registrazione di un nome e l'ottenimento di un indirizzo IP costeranno circa $ 50 e il supporto annuale dell'indirizzo avrà un costo di $ 10. Tutte le modifiche nella tabella dei nomi vengono apportate alla tabella principale Server DNS, i server di standby aggiornano i propri record solo rispetto ai record del server primario. La replica (aggiornamento) della zona viene eseguita utilizzando un affidabile protocollo TCP, mentre per Query DNS client, viene utilizzato il protocollo UDP. Per velocizzare il processo di risoluzione dei nomi e ridurre il traffico sulla rete, a volte vengono installati i cosiddetti server cache DNS, che registrano nomi e indirizzi utilizzati di frequente.La modalità operativa del server DNS può essere ricorsiva e non ricorsiva. Nel caso della modalità ricorsiva, se è impossibile risolvere una query DNS, questa viene trasmessa a un altro server DNS appositamente specificato (forwarder - forfarders), che quindi restituisce la risposta ricevuta. In modalità non ricorsiva - in assenza di informazioni sul nodo richiesto, vengono contattati i server DNS root e da loro lungo la catena fino a quando non viene ricevuta una risposta.

NAT (Network Address Translation - network address translation) implementa la trasformazione (sostituzione) degli indirizzi IP reti locali agli indirizzi IP esterni di Internet globale. La necessità di tale trasformazione deriva dall'accordo sull'utilizzo di alcuni indirizzi IP solo nelle reti locali (vedi clausola 3.2), secondo cui i router WAN distruggono i pacchetti con questi indirizzi.

NAT opera a livello di rete e parzialmente a livello di trasporto, fornendo la traduzione in pacchetti IP di indirizzi di nodi di rete locali in un indirizzo esterno. La trasformazione avviene sostituendo l'indirizzo del nodo interno con l'indirizzo esterno. Gli indirizzi da sostituire vengono memorizzati in una tabella, che viene utilizzata per annullare la sostituzione quando viene ricevuto un pacchetto di risposta. Va notato che per eliminare la possibile indistinguibilità, non solo l'indirizzo IP viene convertito, ma anche utilizzando il numero di porta PAT (Port Address Translation).

Oltre alla traduzione degli indirizzi, NAT riduce la necessità di indirizzi IP per le reti globali, poiché tutti gli utenti della rete locale possono accedere alle risorse della rete globale tramite un indirizzo esterno.

NAT non è l'unico modo per inviare pacchetti dalla rete locale alla rete globale, un'alternativa alla traduzione degli indirizzi è utilizzare un server intermedio.

SSH (Secure Shell) è un protocollo di rete accesso remoto A che utilizza la crittografia e la compressione per i dati trasmessi. In poche parole, questo è uno strumento molto utile e potente che ti consente di autenticarti nel sistema e lavorare completamente per conto di utente locale, trovandosi a molti chilometri di distanza da una macchina in corsa. Inoltre, a differenza di telnet e rsh, SSH crittografa tutto il traffico, in modo che tutte le informazioni trasmesse rimangano riservate.

Quindi, abbiamo già installato ssh e viene aggiunto ssh-daemon per il caricamento automatico all'avvio del sistema. Puoi controllarlo con il comando:

servizio ssh stop|avvio|riavvio

Su Ubuntu o:

/etc/init.d/ssh (avvio|arresto|ricarica|ricarica forzata|riavvio|stato)

Su Debian, oppure:

systemctl start|stop|riavvia sshd.service

In ArchLinux (dopo ogni modifica della configurazione, è necessario riavviare). Il pacchetto include un client e un server.

Proviamolo in azione! Innanzitutto, crea una cartella ~/.ssh

mkdir ~/.ssh

Genera chiavi per l'utente del server specificato con il comando:

ssh-keygen (come utente normale).

Durante la generazione, puoi impostare una passphrase per la chiave (preferibilmente impostata e lunga, quindi anche se ottieni la chiave ma non conosci la password per la chiave, l'attaccante non sarà in grado di accedere), oppure puoi saltalo semplicemente premendo "Invio" - in questo caso, la password non verrà mai richiesta. Le stesse chiavi pubbliche e private sono apparse nella cartella ~/.ssh.

Trova un'altra macchina (anche uno smartphone funzionerà - ci sono alcuni ottimi client SSH su Android, come ConnectBot o JuiceSSH), installa ssh su di essa e connettiti al server con il comando:

ssh [email protetta]

Se tutto è fatto correttamente, verrà richiesta la password dell'utente, e una volta entrati ti ritroverai nel tuo sistema con una vista da riga di comando.

Per Windows, a proposito, ci sono anche server e client ssh.

Dopo aver apprezzato il risultato delle nostre fatiche, passiamo alla parte ancora più noiosa: la configurazione del client/server.

La configurazione lato client è in /etc/ssh/ssh_config e server - /etc/ssh/sshd_config. Più guida completa per la configurazione è probabilmente la pagina man - man ssh e man sshd_config, quindi consigliamo di leggerla. E in questo articolo considereremo le cose più necessarie.

Ambientazione

La porta ssh standard è 22. Può essere modificata in qualsiasi non standard (complicando un possibile hack dovuto alla sicurezza attraverso l'oscurità o per attirare l'attenzione di potenziali hacker :) - per fare ciò, decommenta la riga:

#Porta 22

E aggiungi quello che vuoi fino a 65535 (assicurandoti che la porta non sia in conflitto con altri servizi con il comando #netstat -tupln | grep ASCOLTA).

Ora, quando si connette al server, il client dovrà scrivere con la chiave:

ssh -p [porta] :

Per impostazione predefinita, l'accesso come root è consentito. È altamente auspicabile limitarlo (e invece delimitare correttamente i diritti dell'utente locale con sudo). Per fare ciò, trova la riga "PermitRootLogin" e cambia il valore in "no". Puoi anche cambiarlo in "senza password" - in questo caso, l'accesso come root sarà consentito solo da macchine sottostanti con una chiave affidabile.

Puoi disabilitare l'autenticazione della password e lavorare solo con le chiavi: trova la riga: "PasswordAuthentication" e cambia il valore in "no". Per che cosa? Se qualcuno vuole davvero ottenere l'accesso al tuo sistema, può forzare la password quando tenta di autorizzare o ascoltare e decrittografare la tua connessione. Se disabiliti l'autenticazione della password e aggiungi la chiave pubblica del tuo, ad esempio, laptop di lavoro a ~/.ssh/authorized_keys sul server, allora, come ricordiamo, verremo subito inseriti nel server. Ma cosa succede se stai lavorando sulla macchina di qualcun altro e hai urgente bisogno di accedere al server ssh, ma non ci fa entrare come previsto? Quindi non puoi disabilitare l'autenticazione della password, ma utilizzare l'utilità fail2ban. Installalo semplicemente dal tuo repository, dopodiché applicherà le impostazioni predefinite e, come minimo, proteggerà il tuo canale ssh dagli attacchi di forza bruta. Maggiori informazioni su fail2ban - http://putty.org.ru/articles/fail2ban-ssh.html.

Nel caso in cui il tuo server abbia le chiavi per lanciare missili nucleari, puoi fare qualcosa del genere:

PermitRootLogin no - l'accesso sotto root è proibito.

PasswordAuthentication no - login senza password

Generiamo una chiave lunga sulla macchina remota (-tcryption_type, -b bit length):

ssh-keygen -t rsa -b 4096

Con una passphrase altrettanto complessa (recover password dimenticata, tra l'altro, è impossibile. Puoi cambiarlo con il comando "ssh-keygen -p", ma ti verrà comunque chiesto quello vecchio). Sposta la chiave pubblica della macchina locale remota su ~/.ssh/authorized_keys del server e voilà, ora puoi accedervi da una singola macchina usando la passphrase della chiave privata. SSH ti consente di impostare molte configurazioni di sicurezza e ha molte impostazioni specifiche per questo: leggile in man.

Due opzioni sshd_config hanno lo stesso scopo:

AccediGraceTime- imposta il tempo dopo il quale la connessione verrà disconnessa se l'autenticazione non avviene.

MaxAuthTries- imposta il numero di tentativi di accesso non validi, al raggiungimento dei quali la connessione verrà interrotta.

Max Sessions- il numero di sessioni simultanee (se il server è tuo) computer di casa, a cui ti connetterai dall'università o dal lavoro, allora sarebbe ragionevole limitare il numero di sessioni a una - un login rifiutato, in questo caso, diventerà motivo di paranoia crescente, generazione di nuove chiavi e modifica la password). Tuttavia, se stai attento, potresti notare che ad ogni accesso al server, viene visualizzata la riga "Ultimo accesso". Inoltre, puoi aggiungere il tuo messaggio di benvenuto: trova la riga "Banner" e invece di nessuno imposta il percorso del file con il testo che verrà letto e visualizzato al login.

Tra le altre cose, puoi consentire solo a determinati utenti di accedere o consentire a tutti tranne determinati utenti:

Consenti utenti utente1- consentire l'accesso solo utente1.

DenyUsers utente1- consentire a tutti tranne utente1.

E opzioni simili per l'accesso a determinati gruppi: AllowGroups e DenyGroups.

Puoi anche trasferire una sessione X11 su SSH. Per fare ciò, trova la riga "ForwardX11" e cambia il valore in "yes".

Trova una riga simile nella configurazione del client - /etc/ssh/ssh_config e cambiala anche in "yes".

Ora devi connetterti al server tramite ssh con l'argomento -X:

ssh -X [email protetta]>

È possibile avviare immediatamente l'applicazione al momento della connessione:

ssh -X [email protetta]"Appendice"

Ecco come appare un GIMP in esecuzione in una sessione ssh:

Oppure puoi ottenere l'output dalla webcam del laptop di un utente ignaro :)

I calcoli vengono effettuati direttamente sul server e l'output viene trasferito alla macchina client (ovvero, anche se il server stesso non ha X11, applicazioni grafiche può essere renderizzato sulla tua macchina remota). Questo schema funziona abbastanza lentamente (non dimenticare che tutto il traffico è crittografato dinamicamente) - ma questa funzione è molto utile.

Puoi anche copiare file su una sessione SSH: c'è una semplice utility "scp" per questo. Puoi trasferire i file direttamente nella sessione come dal server al client:

scp [email protetta]:/percorso/del/file/sul/server /dove/salvare/sul/locale/macchina

E dal client al server:

scp percorso/a/file/client [email protetta]:/percorso/del/server

Questo è abbastanza comodo se devi copiare un testo o una foto, ma cosa succede se devi lavorare con molti file? Per fare ciò, c'è la cosa più conveniente: sshfs (disponibile per l'installazione nei repository della maggior parte dei sistemi * nix).

Basta impostare il percorso allo stesso modo di scp:

sshfs [email protetta]:/home/utente /mnt/

E la cartella /home/user del server apparirà sul punto di montaggio /mnt della macchina locale!

Lo smontaggio avviene tramite umount.

E infine, parliamo di una caratteristica poco conosciuta. Se crei un file /.ssh/config e riempilo così:

Nome host]

Nome host

Utente [nome utente del server]

opzioni desiderate

piace

ForwardX11 si

Porta 30000

Quindi possiamo accedere tramite:

ssh [nome]

ssh -X -p 30000 [email protetta]

E tutte le opzioni verranno raccolte automaticamente. Pertanto, con l'autenticazione frequente su un server specifico, semplificherai questo processo nel giro di un paio di istanti.

Bene, abbiamo coperto tutto (e altro) che devi sapere su SSH per l'uso quotidiano: abbiamo imparato come utilizzare l'autenticazione della chiave, la forza bruta ha protetto il server dall'hacking e, in generale, ha corretto la maggior parte dei potenziali buchi. In effetti, SSH può fare molte altre cose, ad esempio tunneling e port forwarding attraverso una sessione ssh, ma è improbabile che tu, come utente più ordinario, lo utilizzi mai. Risorse addizionali

Il libro discute in dettaglio le impostazioni dei servizi di rete che consentono di creare un server con la configurazione e le funzionalità richieste basate sul sistema operativo Linux. Puoi configurare qualsiasi tipo di server: da un server LAN a un server Internet e un server di accesso remoto. L'amministrazione di Linux è descritta in dettaglio.

La presentazione del materiale si basa sulle distribuzioni Red Hat e Mandrake. Molte informazioni uniche: avviare i giochi Windows sotto Linux e creare un server Linux per la sala giochi, configurare Dr. Web e AVP per Linux, programma di contabilità del traffico MRTG, sistema di protezione LIDS e rilevamento delle intrusioni e molto altro. Attenzione speciale incentrato sulla sicurezza dei server Linux. Lo stesso sistema operativo Linux è descritto in modo sufficientemente dettagliato e viene fornito un libro di riferimento dei suoi comandi. Dopo aver letto il libro, diventerai il proprietario delle conoscenze sulla configurazione e la compilazione del kernel, creando i tuoi pacchetti rpm, l'interprete dei comandi bash, usando gli array RAID. Conoscerai il mondo interiore di Linux. Il libro è adatto sia ad amministratori professionisti che principianti, poiché la presentazione del materiale inizia con l'installazione del sistema operativo Linux e il primo capitolo descrive le principali tecnologie e protocolli di rete (Corso per giovani amministratori).

Tutti gli elenchi forniti nel libro vengono verificati in pratica e inseriti nel CD allegato. Inoltre, ne contiene molti informazioni di base(HOWTO, RFC), nonché articoli su Linux. Un ricco insieme di utilità ausiliarie e Software per il server (Apache, MySQL, MRTG, ecc.).

Prenotare:

Sezioni in questa pagina:

Il servizio Telnet fornisce l'emulazione terminale di base per i sistemi remoti che supportano il protocollo Telnet sul protocollo TCP/IP. Viene fornita l'emulazione dei terminali Digital Equipment Corporation VT 100, Digital Equipment Corporation VT 52, TTY. Il protocollo Telnet è descritto in RFC 854, che troverai sul CD allegato.

Qualsiasi comando eseguito con Telnet, sono gestiti dal server telnet, non computer locale. L'utente vede solo il risultato di questi comandi.

Per utilizzare Telnet, il demone telnet deve essere installato sul computer remoto. Un programma client deve essere installato sul computer dell'utente. Quasi tutti i sistemi operativi hanno utilità telnet, che è un client per il protocollo telnet (vedere la Figura 8.2).

Il servizio Telnet è stato e rimane uno dei modi più popolari per accedere in remoto e lavorare su una macchina remota. Il suo principale svantaggio è che qualsiasi informazione, comprese le password, viene trasmessa in chiaro senza alcuna crittografia.

SSH (Secure Shell) è un programma che consente di accedere a computer remoti e stabilire una connessione crittografata. Esiste anche una versione "sicura" di telnet, stelnet.

SSH utilizza la crittografia a chiave pubblica per crittografare la connessione tra due macchine e anche per autenticare gli utenti.


Riso. 8.2.Client Telnet per Windows

La shell ssh può essere utilizzata per accedere in modo sicuro a un server remoto o copiare i dati tra due macchine prevenendo gli attacchi nel mezzo (dirottamento della sessione) e lo spoofing del server dei nomi (individuazione del DNS).

Secure Shell supporta i seguenti algoritmi di crittografia:

BlowFishè uno schema di crittografia a 64 bit. Questo algoritmo viene spesso utilizzato per la crittografia ad alta velocità di grandi volumi di dati.

Triplo DES(Data Encryption Standard) - uno standard per la crittografia dei dati. Questo algoritmo è piuttosto vecchio, quindi non è consigliabile utilizzarlo. In genere, DES viene utilizzato per crittografare dati non segreti.

IDEA(International Data Encryption Algorithm) - un algoritmo internazionale per la crittografia delle informazioni. Questo algoritmo funziona con una chiave a 128 bit ed è quindi più sicuro di BlowFish e DES.

RSA(Algoritmo Rivest-Shamir-Adelman) - Algoritmo Rivest-Shamir-Adelman. È uno schema di crittografia con chiavi pubbliche e private.

Quando si sceglie un algoritmo di crittografia, è necessario procedere dalla riservatezza delle informazioni che è necessario trasferire. Se le informazioni sono segrete, è meglio utilizzare gli algoritmi IDEA o RSA. Se semplicemente non vuoi trasferire dati in chiaro, usa l'algoritmo BlowFish, poiché è molto più veloce di DES.

La shell ssh è molto efficace contro gli sniffer di protocollo in quanto non solo crittografa ma comprime anche il traffico prima di passarlo a computer remoto. Il programma ssh può essere scaricato da http://www.cs.hut.fi/ssh/. La versione UNIX di ssh è gratuita, mentre la versione Windows (che significa il client Windows) costa denaro.

La shell ssh è indispensabile nei casi in cui è necessario amministrare il server da remoto o quando il server non dispone di un proprio monitor. Quando si utilizza telnet, tutti i dati inviati tramite una connessione telnet sono disponibili in chiaro. Ciò significa che i nomi utente e le password saranno disponibili per chiunque ascolti il ​​traffico utilizzando l'analizzatore. ssh esegue la crittografia utilizzando diversi algoritmi, inclusi DES e 3DES.

Il programma consiste in un demone sshd che gira su una macchina Linux/UNIX e un client ssh distribuito sia per Linux che per Windows. Per installare ssh, prendi i sorgenti e mettili tradizionalmente nella directory /usr/src/. Quindi decomprimere l'archivio e installare il programma seguendo i passaggi seguenti:

cd /usr/src/
tar xzf ssh-2.4.0.tar.gz
cd ssh-2.4.0
./configura
rendere
fai installare

Affinché ssh funzioni, devi avviare il demone sshd sulla macchina a cui vuoi connetterti. È consigliabile aggiungere un comando di avvio allo script di avvio del sistema per l'avvio automatico. Il demone sshd gira sulla porta 22 (vedi Listato 8.6). Se non sbaglio, ssh non può essere utilizzato con xinetd/inetd: deve essere eseguito come un server httpd in modalità standalone.

Listato 8.6. Frammento del file /etc/services

ssh 22/tcp # Protocollo di accesso remoto SSH
ssh 22/udp # Protocollo di accesso remoto SSH

Di solito, non ci sono momenti spiacevoli con la configurazione di sshd. La configurazione del demone verrà discussa in dettaglio più avanti in questo capitolo. Ora prova ad accedere a questa macchina tramite ssh. Per fare ciò, è necessario installare lo stesso pacchetto su un'altra macchina che esegue Linux/UNIX (o installare un client ssh di Windows) e immettere il comando:

$ ssh nome host.dominio

ssh ti chiederà la password dell'utente. Il nome dell'utente corrente, ovvero il nome con cui si è attualmente collegati al sistema, verrà utilizzato come nome utente per stabilire una connessione. Se l'autenticazione ha esito positivo, verrà avviata la sessione di comunicazione. La sessione può essere terminata premendo Ctrl+D.

Se è necessario specificare un nome utente diverso, utilizzare l'opzione -l del programma ssh:

ssh –l utente hostname.ru

In questo modo puoi dire al programma ssh a quale utente accedere sulla macchina remota (vedi Figura 8.3).

Quando si utilizza il client Windows, è necessario immettere il nome del computer, il nome utente e la password nella finestra di dialogo del programma. Se la connessione fallisce, prova a selezionare il metodo di codifica Blowfish. Se ciò non aiuta, scegli 3DES.

Lavorare in ssh è simile a lavorare in telnet. Puoi amministrare una macchina remota con la stessa facilità di una locale. Le opzioni del programma ssh sono elencate nella Tabella 1. 8.5.


Fig.8.Z. Registrazione su una macchina remota

Opzioni del programma ssh Tabella 8.5

Opzione Descrizione
-un Disabilita il reindirizzamento dell'autenticazione dell'agente di connessione
-MA Abilita il reindirizzamento dell'autenticazione dell'agente di connessione
-c pesce palla|3des Consente di selezionare l'algoritmo di crittografia quando si utilizza la prima versione del protocollo SSH. Puoi specificare pesce palla o 3des
-con cifra Specifica un elenco di crittografie separate da virgole in ordine di preferenza. Solo per la seconda versione del protocollo SSH. I valori validi sono blowfish, twofish, arcfour, cast, des e 3des
-f Questa opzione cambia ssh in modalità in background dopo l'autenticazione dell'utente. Si consiglia di utilizzare X11 per eseguire il programma. Ad esempio, ssh -f hostxterm
-io file-ident Specifica un file di identificazione non standard (per l'autenticazione RSA/DSA non standard)
-l nome utente Specifica per conto di quale utente verrà eseguita la registrazione sulla macchina remota
-r porta Specifica la porta a cui si connetterà il programma ssh (la porta 22 viene utilizzata per impostazione predefinita)
-q Modalità silenziosa. Verranno visualizzati solo i messaggi di errore irreversibile. Tutti gli altri messaggi di avviso non verranno stampati sullo standard output.
-X Disabilita il reindirizzamento X11
-X Abilita reindirizzamento X11
-1 Utilizzare solo la prima versione del protocollo SSH
-2 Utilizzare solo la seconda versione del protocollo SSH
-4
-6

La shell ssh usa due file di configurazione ssh_conf e sshd_conf. Penso che non abbia senso dire che si trovano nella directory /etc/ssh. Consiglio di aggiungere la seguente riga al file sshd_conf:

indirizzo consentito 10.1.1.1 10.1.2.1 10.1.3.1

Ciò significa che l'accesso ssh può essere eseguito solo da macchine con indirizzi 10.1.1.1, 10.1.2.1, 10.1.3.1. Questo proteggerà il tuo computer da intrusioni indesiderate dall'esterno.

Il programma stelnet è completamente simile al programma telnet in tutto, ma crittografa il traffico che viene trasmesso durante una connessione telnet.

Il demone sshd è un programma demone per la shell ssh. Di solito sshd viene eseguito sulla macchina a cui si connettono i client ssh. Ultime versioni Il demone sshd supporta due versioni del protocollo ssh: ssh versione 1 e ssh versione 2.

Protocollo SSH versione 1

Ogni nodo ha la propria chiave RSA (solitamente 1024 bit) che viene utilizzata per identificare il nodo. Questa chiave è anche chiamata chiave pubblica. Inoltre, all'avvio del demone, viene generata un'altra chiave RSA: la chiave del server (di solito 768 bit). Questa chiave viene ricreata ogni ora e non viene mai salvata su disco.

Ogni volta che viene stabilita una connessione con un client, il demone invia in risposta la sua chiave pubblica e la chiave del server. Il client confronta la chiave pubblica ricevuta con il suo database per vedere se è cambiata. Il client genera quindi in modo casuale un numero a 256 bit e lo codifica utilizzando due chiavi contemporaneamente: la chiave pubblica e la chiave del server. Entrambe le parti utilizzano questo numero casuale come chiave di sessione, che viene utilizzata per codificare tutti i dati trasmessi durante la sessione.

Il client tenta quindi di autenticarsi utilizzando l'autenticazione .rhosts, l'autenticazione RSA o l'autenticazione tramite password.

Normalmente, l'autenticazione .rhosts non è sicura ed è quindi disabilitata.

Protocollo SSH versione 2

La versione 2 funziona in modo simile: ogni nodo ha una chiave DSA specifica che viene utilizzata per identificare il nodo. Tuttavia, all'avvio del demone, la chiave del server non viene generata. La sicurezza della connessione è garantita dall'accordo chiave Diffie-Hellman.

Una sessione può essere codificata utilizzando i seguenti metodi: AES a 128 bit, Blowfish, 3DES, CAST128, Arcfour, AES a 192 bit o AES a 256 bit.

Le opzioni del demone sshd sono elencate nella Tabella 1. 8.6.

Opzioni del demone sshd Tabella 8.6

Opzione Descrizione
-b bit Specifica il numero di bit per la chiave del server (impostazione predefinita 768). Questa opzione può essere utilizzato solo se si utilizza il protocollo SSH versione 1
-d Modalità di debug (DEBUG). In questa modalità, il server non va in background e registra le sue azioni in dettaglio nel registro di sistema. L'uso di questa opzione è particolarmente utile quando si impara come funziona il server.
-e Se questa opzione è specificata, il demone sshd non invia messaggi di debug al syslog, ma al flusso di errore standard.
-f file_config Imposta file alternativo configurazione. L'impostazione predefinita è /etc/ssh/sshd_config
-g tempo Concede a un client non autenticato più tempo per autenticarsi. Il tempo predefinito è 600 secondi. Se durante questo periodo il client non è stato in grado di autenticarsi, la connessione verrà interrotta. Il valore 0 viene interpretato come un'attesa infinita
-h keyfile Specifica un file di chiave pubblica alternativo (chiave host). Il file predefinito è /etc/ssh/ssh_host_key. Questa opzione potrebbe essere necessaria per consentire a sshd di funzionare come qualcosa di diverso da root. Inoltre, un uso comune di questa opzione è avviare sshd da script che specificano impostazioni diverse a seconda dell'ora del giorno. Ad esempio, durante l'orario diurno (lavorativo), vengono impostate alcune opzioni e nell'orario serale (lavorativo), altre
-io Utilizzato se si desidera eseguire sshd tramite il superserver xinetd (inetd). Normalmente, il demone sshd non viene avviato dal superserver xinetd (inetd), ma viene avviato all'avvio del sistema, perché il demone sshd impiega del tempo (10 secondi) per generare la chiave del server prima che possa rispondere alle richieste del client
-k tempo Specifica l'ora dopo la quale la chiave del server verrà rigenerata. Il tempo predefinito è 3600 secondi (1 ora). Questa opzione può essere utilizzata solo se si utilizza il protocollo SSH versione 1
-r porta Specifica una porta alternativa su cui il demone sshd sarà in ascolto. La porta predefinita è 22
-q Modalità silenziosa. In questa modalità, la registrazione della sessione non verrà eseguita. Di solito vengono registrati l'inizio dell'autenticazione, il risultato dell'autenticazione e l'ora di fine della sessione.
-t Modalità di prova. Questa modalità utilizzato per verificare la correttezza del file di configurazione
-D Con questa opzione, il demone non andrà in background
-4 Puoi utilizzare solo indirizzi IP in formato IPv4
-6 Puoi utilizzare solo indirizzi IP in formato IPv6

Il file di configurazione del demone /etc/ssh/sshd_config assomiglia al Listato 8.7

Listato 8.7 File di configurazione /etc/ssh/sshd_config

# $OpenBSD: sshd_config,v 1.38 2001/04/15 21:41:29 deraadt Exp $
# Questo sshd è stato compilato con PATH=/usr/bin:/bin:/usr/sbin:/sbin
# Questo è il file di configurazione a livello di sistema del server sshd. Vedi sshd(8)
# per maggiori informazioni.
Porta 22
#Protocollo 2.1
# ListenAddress 0.0.0.0
# ListenAddress::
HostKey /etc/ssh/ssh_host_key
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
ServerKeyBit 768
AccediGraceTime 600
KeyRegenerationInterval 3600
PermitRootLogin si
#
# Non leggere i file ~/.rhosts e ~/.shosts
Ignora Hosts sì
# Togli il commento se non ti fidi di ~/.ssh/known_hosts per
RhostsRSAAuthentication
# IgnoraUserKnownHosts sì
StrictModes sì
X11 Inoltro sì
X11DisplayOffset 10
PrintMotd si
# PrintLastLog n
Tieni in vita Sì
# Registrazione
SyslogFacility AUTHPRIV
INFO a livello di registro
# obsoleti QuietMode e FascistLogging
RhostsAutenticazione n
#
# Affinché funzioni, avrai bisogno anche delle chiavi host in /etc/ssh/
ssh_known_hosts
RhostsRSAAutenticazione n
# simile al protocollo versione 2
Autenticazione basata su host n
#
Autenticazione RSA sì
# Per disabilitare le password in chiaro con tunnel, cambia in no qui!
Autenticazione password sì
PermitEmptyPasswords n
# Decommenta per disabilitare le password s/key
# ChallengeResponseAutenticazione n
# Decommentare per abilitare l'autenticazione interattiva da tastiera PAM
# Attenzione: l'abilitazione di questa opzione potrebbe bypassare l'impostazione di "Autenticazione password"
# PAMAuthenticationViaKbdInt sì
# Per modificare le opzioni di Kerberos
# Kerberos Autenticazione n
# KerberosOrLocalPasswd sì
# AFSTokenPassing n
# KerberosTicketCleanup n
# Kerberos TGT Passing funziona solo con il server ka AFS
# KerberosTgtPassing sì
# CheckMail sì
# UsaLogin n
# Max Startup 10:30:60
# Banner /etc/issue.net
# ReverseMappingSeleziona sì
Sottosistema sftp/usr/libexec/openssh/sftp-server


MINISTERO DEI TRASPORTI E DELLE COMUNICAZIONI DELL'UCRAINA

ACCADEMIA NAZIONALE DELLE COMUNICAZIONI DI ODESSA li. AS POPOVA

Dipartimento di Reti di Comunicazione

astratto

sull'argomento: "Protocolli SSH, CMIP, Telnet"

Odessa 2013

    • Standard e implementazioni software
      • Server SSH
      • Client e shell SSH
    • Suggerimenti per la sicurezza SSH
    • Esempi di utilizzo di SSH
    • Tunneling SSH
    • Informazioni tecniche sul protocollo

Caratteristiche principali del protocollo CMIP

Protocollo CMIP e servizi CMIS

Filtrazione

Sincronizzazione

  • Dispositivo
    • Opzioni
      • Stampante e tastiera NVT
      • Struttura dei comandi Telnet
    • Applicazioni
    • Sicurezza
    • Telnet e altri protocolli

Standard e implementazioni software

SSH (Eng. Secure SHell - "secure shell") - un protocollo di rete a livello di applicazione che consente di produrre telecomando sistema operativo e tunneling di connessioni TCP (ad es. per il trasferimento di file). È simile per funzionalità ai protocolli Telnet e rlogin, ma a differenza di questi, crittografa tutto il traffico, comprese le password trasmesse. SSH consente di scegliere tra diversi algoritmi di crittografia. I client SSH e i server SSH sono disponibili per la maggior parte dei sistemi operativi di rete.

SSH consente di trasferire in modo sicuro quasi tutti gli altri protocolli di rete in un ambiente non sicuro. Pertanto, non solo puoi lavorare in remoto su un computer tramite una shell dei comandi, ma anche trasmettere un flusso audio o video su un canale crittografato (ad esempio da una webcam). SSH può anche utilizzare la compressione dei dati trasmessi per la successiva crittografia, il che è conveniente, ad esempio, per l'avvio remoto dei client X WindowSystem.

La maggior parte dei provider di hosting fornisce ai clienti l'accesso SSH alla propria home directory a pagamento. Questo può essere conveniente sia per lavorare sulla riga di comando che per avviare programmi in remoto (incluse applicazioni grafiche).

La prima versione del protocollo, SSH-1, è stata sviluppata nel 1995 dal ricercatore Tatu Ulyonen dell'Università di Tecnologia di Helsinki (Finlandia). SSH-1 è stato scritto per essere più privato dei protocolli rlogin, telnet e rsh. Nel 1996 è stata sviluppata una versione più sicura del protocollo, SSH-2, incompatibile con SSH-1. Il protocollo ha guadagnato ancora più popolarità e nel 2000 aveva circa due milioni di utenti. Attualmente, il termine "SSH" di solito si riferisce a SSH-2, perché. la prima versione del protocollo, a causa di notevoli carenze, è ormai praticamente inutilizzata.

Nel 2006 il protocollo è stato approvato gruppo di lavoro IETF come standard Internet.

Tuttavia, in alcuni paesi (Francia, Russia, Iraq e Pakistan) è ancora richiesta un'autorizzazione speciale da parte delle autorità competenti per utilizzare determinati metodi di crittografia, incluso SSH.

Sono comuni due implementazioni di SSH: una commerciale privata e una gratuita. L'implementazione gratuita si chiama OpenSSH. Nel 2006, l'80% dei computer su Internet utilizzava OpenSSH. L'implementazione privata è stata sviluppata da SSH Communications Security, una consociata interamente controllata di Tectia Corporation, ed è gratuita per uso non commerciale. Queste implementazioni contengono quasi lo stesso insieme di comandi.

Il protocollo SSH-2, a differenza del protocollo telnet, è resistente agli attacchi di sniffing del traffico, ma non agli attacchi man-in-the-middle. Il protocollo SSH-2 resiste anche agli attacchi tramite join in the middle (sessionhijacking in inglese), poiché è impossibile entrare in una sessione già stabilita o intercettarla.

Per prevenire attacchi man-in-the-middle, quando ci si connette a un host la cui chiave non è ancora nota al client, il software client mostra all'utente una "impronta digitale della chiave" (key fingerprint inglese). Si raccomanda di controllare attentamente lo “stampo chiave” mostrato dal software client con l'istantanea della chiave del server, preferibilmente ottenuta tramite canali di comunicazione affidabili o personalmente.

Il supporto SSH è implementato in tutti i sistemi simili a UNIX e la maggior parte di essi ha un client e un server ssh come utility standard. Esistono molte implementazioni di client SSH anche per sistemi operativi non UNIX. Il protocollo ha guadagnato grande popolarità dopo lo sviluppo diffuso di analizzatori di traffico e metodi per interrompere le reti locali, in alternativa al protocollo Telnet non sicuro per la gestione di nodi importanti.

SSH richiede un server SSH e un client SSH. Il server ascolta le connessioni dalle macchine client e, quando viene stabilita una connessione, esegue l'autenticazione, dopodiché inizia a servire il client. Il client viene utilizzato per accedere a una macchina remota ed eseguire comandi.

Per connettersi, il server e il client devono creare coppie di chiavi, pubbliche e private, e scambiarsi chiavi pubbliche. Di solito viene utilizzata anche una password.

Server SSH

*BSD: OpenSSH

Linux: dropbear, lsh-server, openssh-server, ssh

Windows: freeSSHd, copssh, WinSSHD, KpyM Telnet/SSH Server, MobaSSH, OpenSSH tramite Cygwin

Client e shell SSH

GNU/Linux, *BSD: kdessh, lsh-client, openssh-client, putty, ssh, Vinagre

· MS Windows e Windows NT: PuTTY, SecureCRT, ShellGuard, Axessh, ZOC, SSHWindows, ProSSHD, XShell

SM Windows Mobile: PocketPuTTy, mToken, sshCE, PocketTTY, OpenSSH, PocketConsole

Mac OS: NiftyTelnet SSH

Symbian OS: PuTTY

Java: MindTerm, AppGateSecurityServer

J2ME: MidpSSH

iPhone: i-SSH, ssh (include Terminale)

Android: connectBot

Mora: BBSSH

MAEMO 5: OpenSSH

Suggerimenti per la sicurezza SSH

3. Selezione di una porta non standard per il server SSH.

4. Utilizzo di chiavi RSA SSp lunghe (2048 bit o più). I sistemi di crittografia basati su RSA sono considerati sicuri se la lunghezza della chiave è di almeno 1024 bit.

5. Limitazione dell'elenco di indirizzi IP da cui è consentito l'accesso (ad esempio, impostando il firewall).

7. Rifiuto di utilizzare accessi di sistema comuni o noti per l'accesso SSH.

8. Rivedere regolarmente i messaggi di errore di autenticazione.

9. Installazione di sistemi antintrusione.

10. Utilizzo di trappole che falsificano un servizio SSH (honeypot).

Esempi di utilizzo di SSH

Comando per connettersi a un server SSH locale dalla riga di comando GNU/Linux o FreeBSD per l'utente pacify (server in ascolto su una porta non standard 30000): $ ssh -p 30000 [email protetta]

La generazione di coppie di chiavi (su sistemi operativi simili a UNIX) viene eseguita con il comando $ ssh-keygen

Generazione di una coppia di chiavi RSA SSH-2 con una lunghezza di 4096 bit utilizzando puttygen in un sistema operativo simile a UNIX:

$ puttygen -t rsa -b 4096 -o campione

Alcuni client, come PuTTY, hanno anche un'interfaccia utente grafica.

Per usare SSH in Python, ci sono moduli come python-paramiko e python-twisted-conch.

Tunneling SSH

Un tunnel SSH è un tunnel creato su una connessione SSH e utilizzato per crittografare i dati in tunnel. Utilizzato per proteggere la trasmissione di dati su Internet. Quando viene inoltrato attraverso un tunnel SSH, il traffico non crittografato di qualsiasi protocollo viene crittografato su un'estremità della connessione SSH e decrittografato sull'altra. L'attuazione pratica può avvenire in diversi modi:

Creazione di un proxy Socks per le applicazioni che non sanno come lavorare tramite un tunnel SSH, ma possono funzionare tramite un proxy Socks

· Utilizzo di applicazioni che possono funzionare attraverso un tunnel SSH.

· Creazione di un tunnel VPN, adatto a quasi tutte le applicazioni.

· Se l'applicazione funziona con un server specifico, è possibile configurare il client SSH in modo che passi attraverso le connessioni TCP del tunnel SSH che giungono a una porta TCP specifica della macchina su cui è in esecuzione il client SSH. Ad esempio, i client Jabber si connettono per impostazione predefinita sulla porta 443. Quindi, per impostare una connessione al server Jabber tramite un tunnel SSH, il client SSH è configurato per inoltrare le connessioni da qualsiasi porta sulla macchina locale a Server remoto: $ ssh -L 4430:jabber.example.com:443 qualche host. In questo caso, il client Jabber è configurato per connettersi alla porta 4430 del server localhost (se il client ssh è in esecuzione sulla stessa macchina del client Jabber). Per creare un tunnel ssh, è necessaria una macchina con un server ssh in esecuzione e l'accesso a jabber.example.com. Questa configurazione può essere utilizzata se l'accesso a jabber.example.com dalla macchina locale è bloccato da un firewall, ma c'è l'accesso ad alcuni server ssh che non hanno restrizioni di accesso a Internet.

Informazioni tecniche sul protocollo

SSH è un protocollo a livello di applicazione. Il server SSH in genere ascolta le connessioni sulla porta TCP 22. La specifica del protocollo SSH-2 è contenuta in RFC 4251. SSH utilizza un protocollo di autenticazione del partito basato su algoritmi di firma digitale RSA o DSA per autenticare il server. La firma digitale RSA o DSA può essere utilizzata anche per l'autenticazione del client, ma è consentita anche l'autenticazione tramite password (modalità di compatibilità con le versioni precedenti con Telnet) e persino l'indirizzo IP dell'host (modalità di compatibilità con le versioni precedenti con rlogin). L'autenticazione tramite password è la più comune; è sicuro perché la password viene trasmessa su un canale virtuale crittografato. L'autenticazione tramite indirizzo IP non è sicura, questa funzione è spesso disabilitata. L'algoritmo Diffie-Hellman (DH) viene utilizzato per creare un segreto condiviso (chiave di sessione). Per crittografare i dati trasmessi, vengono utilizzati algoritmi di crittografia simmetrica, AES, Blowfish o 3DES. L'integrità dei dati viene verificata utilizzando CRC32 in SSp o HMAC-SHA1/HMAC-MD5 in SSp. Per comprimere i dati crittografati, è possibile utilizzare l'algoritmo LempelZiv (LZ77), che fornisce lo stesso livello di compressione dell'archiviatore ZIP. La compressione SSH viene abilitata solo su richiesta del client e viene utilizzata raramente nella pratica.

Caratteristiche principali del protocollo CMIP

CMIP implementa l'intera serie di servizi CMIS. Con questi servizi, CMIP supporta il seguente servizio di operazioni remote:

Richiesta (richiamo);

Risultato di ritorno;

Restituire un errore;

Rifiuto della richiesta da parte dell'utente del servizio;

Rifiuto della richiesta da parte del fornitore del servizio.

Le informazioni di controllo dal gestore all'agente trasmesse tramite protocollo CMIP sono codificate secondo le regole di ASN.1 e BER.

Per ogni operazione viene definito il formato del blocco dati trasferito in rete dal gestore all'agente e viceversa.

Il formato delle PDU CMIP è descritto dalla notazione ASN.1 e ha una struttura molto più complessa rispetto ai blocchi SNMP. Ad esempio, il blocco dati di un'operazione M-GET dispone di campi per specificare i nomi degli attributi di cui il gestore richiede i valori, nonché campi per specificare parametri di navigazione e filtraggio. Ci sono anche campi per specificare i parametri dei diritti di accesso a un oggetto.

L'utilizzo del protocollo CMIP determina un livello iniziale di complessità del sistema di controllo abbastanza elevato, poiché per il suo funzionamento è necessario implementare una serie di servizi ausiliari, oggetti e database di oggetti.

Le notifiche dell'agente CMIP vengono sempre trasmesse utilizzando un protocollo di trasporto affidabile e verranno ritrasmesse in caso di smarrimento.

Il protocollo CMIP è progettato per agenti che possono eseguire una complessa sequenza di azioni con un semplice comando dal manager.

Il protocollo CMIP è molto più scalabile, poiché può interessare più oggetti contemporaneamente e le risposte degli agenti passano attraverso filtri che limitano la trasmissione delle informazioni di controllo solo a determinati agenti e gestori. Il protocollo CMIP, che è un protocollo di interazione tra agenti e gestori del sistema gestionale OSI, permette di agire immediatamente su un gruppo di agenti con un solo comando, utilizzando opzioni come la navigazione e il filtraggio.

I MIB per il protocollo CMIP non hanno un unico standard e sono sviluppati da ciascun produttore di apparecchiature per telecomunicazioni solo per le proprie esigenze. propria attrezzatura. Unica eccezione lo standard MIB per i sistemi di trasmissione G.722, G.774.

Protocollo CMIP e servizi CMIS

L'accesso alle informazioni di gestione memorizzate negli oggetti gestiti viene fornito tramite un elemento del sistema di gestione denominato CMSIE (Common Management Information Service Element). Il servizio CMSIE è costruito su un'architettura applicativa distribuita, in cui alcune delle funzioni sono eseguite dal manager e alcune dall'agente. L'interazione tra il gestore e l'agente avviene tramite il protocollo CMIP. I servizi forniti dal servizio CMSIE sono denominati CMIS (Common Management Information Services).

Il protocollo CMIP ei servizi CMIS sono definiti negli standard ITU-T X.710 e X.711. I servizi CMIS sono divisi in due gruppi, servizi avviati dal gestore (richieste) e servizi avviati dall'agente (notifiche).

I servizi avviati dal manager includono le seguenti attività:

· M-CREATE indica all'agente di creare una nuova istanza di un oggetto di una certa classe o un nuovo attributo all'interno di un'istanza di un oggetto;

· M-DELETE indica all'agente di eliminare qualche istanza di un oggetto di una particolare classe o attributo all'interno di un'istanza di un oggetto;

· M-GET indica all'agente di restituire il valore di qualche attributo di una particolare istanza di oggetto;

· M-SET indica all'agente di modificare il valore di alcuni attributi di una determinata istanza di oggetto;

· M-ACTION indica all'agente di eseguire un'azione specifica su una o più istanze dell'oggetto.

L'agente avvia una sola operazione:

M-EVENT_REPORT - invia una notifica al gestore.

Per implementare i propri servizi, il servizio CMISE deve utilizzare i servizi del livello applicativo dello stack OSI - ACSE, ROSE.

La differenza tra servizi CMIS e servizi SNMP simili è una maggiore flessibilità. Mentre le richieste SNMP GET e SET si applicano a un solo attributo di un oggetto, le richieste M-GET, M-SET, M-ACTION e M-DELETE possono essere applicate a più di un oggetto. A tale scopo, gli standard CMIP/CMIS introducono concetti come l'ambito, il filtraggio e la sincronizzazione.

Revisione

Una query CMISE può utilizzare una ricerca per eseguire query su più oggetti contemporaneamente. Vengono introdotti quattro livelli di revisione:

· l'oggetto base, definito dal suo nome distinto FDN;

oggetti situati su ennesimo livello subordinazione relativa all'inclusione di base nell'albero;

l'oggetto base e tutti gli oggetti situati ai suoi livelli subordinati fino all'n-esimo (compreso) nell'albero di inclusione;

subtree - l'oggetto base e tutti i suoi subordinati nell'albero di inclusione.

Filtrazione

Il filtraggio consiste nell'applicare un'espressione booleana alla richiesta del gestore. La query viene applicata solo a quegli oggetti e ai relativi attributi per i quali l'espressione booleana data è vera. Le espressioni booleane possono includere operatori relazionali =>,<=,<,>o determinati attributi. È possibile costruire filtri complessi basati sulla combinazione di più filtri in uno composito.

Sincronizzazione

Quando si eseguono query su più oggetti, viene utilizzato uno dei due schemi di sincronizzazione: atomico o quando possibile. Con uno schema atomico, una query viene eseguita solo se tutti gli oggetti nell'ambito dell'esplorazione o del filtro possono completare correttamente la query. Sincronizzazione "quando possibile" significa la trasmissione della richiesta a tutti gli oggetti a cui la richiesta si riferisce. L'operazione viene completata quando la query viene eseguita da un numero qualsiasi di oggetti.

Il protocollo CMIP è un insieme di operazioni che corrispondono direttamente ai servizi CMIS. Il protocollo CMIP definisce quindi le operazioni M-GET, M-SET, M-CREATE, ecc. Per ogni operazione viene definito il formato del blocco dati trasferito in rete dal gestore all'agente e viceversa. Il formato delle PDU CMIP è descritto dalla notazione ASN.1 e ha una struttura molto più complessa rispetto ai blocchi SNMP. Ad esempio, il blocco dati di un'operazione M-GET ha campi per specificare i nomi degli attributi richiesti dal gestore, nonché campi per specificare opzioni di navigazione e filtro che definiscono l'insieme di istanze oggetto che saranno interessate da questa richiesta . Ci sono anche campi per specificare i parametri dei diritti di accesso a un oggetto.

Confronto tra protocolli SNMP e CMIP

L'uso del protocollo SNMP consente di costruire sistemi di gestione sia semplici che complessi e l'uso del protocollo CMIP determina un certo livello iniziale di complessità del sistema di gestione abbastanza elevato, poiché per il suo funzionamento è necessario implementare un numero di servizi ausiliari, oggetti e database di oggetti.

· Gli agenti CMIP in genere svolgono funzioni più complesse rispetto agli agenti SNMP. Per questo motivo, le operazioni che un gestore può eseguire su un agente SNMP sono di natura atomica, risultando in più scambi tra il gestore e l'agente.

· Le trap dell'agente SNMP vengono inviate al gestore senza attendere il riconoscimento, il che può far passare inosservate importanti problemi di rete perché le trap corrispondenti vengono perse, mentre le trap dell'agente CMIP vengono sempre trasmesse utilizzando un protocollo di trasporto affidabile e nel caso le perdite vengano ritrasmesse.

· Alcuni dei problemi SNMP possono essere risolti utilizzando MIB più intelligenti (che includono il MIB RMON), ma per molti dispositivi e situazioni non esistono MIB di questo tipo (o non esiste uno standard o non esiste un MIB corrispondente nell'apparecchiatura gestita) .

· Il protocollo CMIP è progettato per agenti intelligenti in grado di eseguire una complessa sequenza di azioni con un semplice comando del gestore.

· Il protocollo CMIP è molto più scalabile, poiché può interessare più oggetti contemporaneamente e le risposte degli agenti passano attraverso filtri che limitano la trasmissione delle informazioni di controllo solo a determinati agenti e gestori.

testo operativo del protocollo di rete

TELNET(Ing. TERminaLNETwork) è un protocollo di rete per implementare un'interfaccia testuale su una rete (nella sua forma moderna, utilizzando il trasporto TCP). Il nome "telnet" è utilizzato anche da alcune utility che implementano il lato client del protocollo. L'attuale protocollo standard è descritto in RFC 854.

Svolge le funzioni del protocollo del livello applicativo del modello OSI.

Lo scopo del protocollo TELNET è quello di fornire un mezzo di comunicazione abbastanza generale, bidirezionale, a otto bit, orientato ai byte. Il suo scopo principale è consentire ai dispositivi terminali e ai processi terminali di comunicare tra loro. È previsto che questo protocollo possa essere utilizzato per la comunicazione da terminale a terminale ("bonding") o per la comunicazione da processo a processo ("informatica distribuita").

Dispositivo

Sebbene una sessione Telnet abbia un lato client e un lato server separati, il protocollo è in realtà completamente simmetrico. Dopo aver stabilito una connessione di trasporto (solitamente TCP), entrambe le estremità svolgono il ruolo di "terminali virtuali di rete" (eng. Network Virtual Terminal, NVT), scambiando due tipi di dati:

· Dati dell'applicazione (ovvero i dati che vanno dall'utente all'applicazione di testo lato server e viceversa);

· Comandi del protocollo Telnet, un caso speciale dei quali sono opzioni che servono a chiarire le capacità e le preferenze delle parti.

Sebbene una sessione Telnet su TCP sia intrinsecamente full-duplex, l'NVT dovrebbe essere trattato come un dispositivo half-duplex che opera in modalità linea bufferizzata per impostazione predefinita.

I dati dell'applicazione passano attraverso il protocollo senza modifiche, ovvero all'uscita del secondo terminale virtuale vediamo esattamente cosa è stato inserito all'ingresso del primo. Dal punto di vista del protocollo, i dati sono semplicemente una sequenza di byte (ottetti), di default appartenenti al set ASCII, ma con l'opzione Binary attivata possono essere qualsiasi. Sebbene siano state proposte estensioni per identificare il set di caratteri, non vengono utilizzate nella pratica. Tutti i valori dell'ottetto dei dati dell'applicazione tranne \377 (decimale 255) vengono passati al trasporto così come sono. L'ottetto \377 viene trasmesso come sequenza \377\377 di due ottetti. Questo perché l'ottetto \377 viene utilizzato dal livello di trasporto per codificare le opzioni.

Opzioni

Il protocollo fornisce per impostazione predefinita la funzionalità minima e una serie di opzioni che la estendono. Il principio delle opzioni pattuite richiede che i negoziati siano effettuati quando ciascuna delle opzioni è inclusa. Una parte avvia la richiesta e l'altra parte può accettare o rifiutare l'offerta. Se la richiesta viene accolta, l'opzione ha effetto immediato. Le opzioni sono descritte separatamente dal protocollo stesso e il loro supporto da parte del software è arbitrario. Al client del protocollo (terminale di rete) viene richiesto di rifiutare le richieste per includere opzioni non supportate e sconosciute.

Stampante e tastiera NVT

La stampante NVT ha una larghezza del carrello e una lunghezza della pagina non specificate e deve rappresentare tutti i 95 caratteri US-ASCII stampabili (codici da 32 a 126). I caratteri di controllo hanno i seguenti significati:

Nome

Descrizione

Nessuna operazione

Avanza la stampante alla riga di stampa successiva rimanendo nella stessa posizione orizzontale.

Ritorno in Carrozza (CR) *

Sposta la stampante sul bordo sinistro della riga corrente.

Produce un segnale audio o video (ma NON sposta la testina della stampante).

Sposta la testina della stampante di un carattere verso il margine sinistro.

Linguetta orizzontale (HT)

Sposta la stampante al successivo punto di tabulazione orizzontale. Non è specificato come il lato definisca e imponga queste tabulazioni.

Linguetta verticale (VT)

Sposta la stampante al successivo punto di tabulazione verticale. Non è specificato come il lato definisca e imponga queste tabulazioni.

Sposta la stampante all'inizio della pagina successiva rimanendo nella stessa posizione orizzontale.

È richiesto il supporto per l'azione dei caratteri contrassegnati come *. Altri possono eseguire una determinata azione o non eseguirne alcuna; a una parte non è richiesto di assumere nulla di specifico sul supporto dell'altra parte per particolari caratteri di controllo opzionali.

La sequenza "CR LF" deve essere trattata come un singolo carattere di nuova riga e utilizzata ogni volta che è richiesta la loro azione combinata; la sequenza "CR NUL" dovrebbe essere utilizzata dove è richiesto solo un ritorno a capo; e l'uso del carattere CR dovrebbe essere evitato in altri contesti.

Struttura dei comandi Telnet

Ogni comando TELNET è una sequenza multibyte che inizia con il codice \377 (decimale: 255) "InterpretasCommand" (IAC) e il codice del comando. I comandi responsabili della negoziazione delle opzioni sono sequenze di tre byte, dove il terzo byte è il codice dell'opzione. I seguenti codici e sequenze di codici hanno il rispettivo significato solo quando seguono immediatamente l'IAC.

Nome

Codice (decimale/esadecimale)

Descrizione

Termina la trattativa avviata dal comando SB

Nessuna operazione.

Scambio di dati di sincronizzazione (sincronizzazione). Questo comando è sempre seguito da una notifica urgente TCP.

Viene premuto il pulsante "Pausa" o "Attenzione".

Processo di interruzione

Sospende, interrompe, interrompe o termina un processo.

Sopprime l'output del processo corrente. Invia anche un segnale di sincronizzazione all'utente.

Invia una risposta del terminale composta da caratteri stampabili.

Il destinatario dovrebbe rimuovere il carattere precedente, se possibile.

Cancella l'ultima riga inserita, ovvero tutti i dati ricevuti dopo l'ultima nuova riga.

Trasferimento dati in attesa.

Inizio della negoziazione dell'opzione che richiede il passaggio dei parametri.

Indica il desiderio di eseguire o conferma che l'opzione specificata è attualmente in esecuzione.

NON opzione

Indica un errore per avviare o continuare l'esecuzione dell'opzione specificata.

Una richiesta che l'altra parte esegua o confermi l'esercizio dell'opzione specificata.

NON opzione

Una richiesta che l'altra parte interrompa l'esecuzione o confermi che l'opzione specificata non è più in esecuzione.

Byte di dati 255.

Applicazioni

Storicamente, Telnet serviva per l'accesso remoto all'interfaccia della riga di comando dei sistemi operativi. Successivamente, iniziò ad essere utilizzato per altre interfacce testuali, fino a giochi MUD e ASCII-art animati. In teoria, anche entrambi i lati del protocollo possono essere non solo persone, ma anche programmi.

A volte i client telnet vengono utilizzati per accedere ad altri protocolli basati sul trasporto TCP, vedere #Telnet e altri protocolli.

Il protocollo telnet viene utilizzato nella connessione di controllo FTP, ovvero l'accesso al server con il comando ftp telnet ftp.example.net per eseguire il debug e gli esperimenti non è solo possibile, ma anche corretto (a differenza dell'utilizzo di client telnet per accedere a HTTP, IRC e la maggior parte degli altri protocolli).

Sicurezza

Il protocollo non prevede l'utilizzo né della crittografia né dell'autenticazione dei dati. Pertanto, è vulnerabile a qualsiasi tipo di attacco a cui è vulnerabile il suo trasporto, ovvero il protocollo TCP. Per la funzionalità di accesso remoto al sistema, viene attualmente utilizzato il protocollo di rete SSH (in particolare la sua versione 2), durante la cui creazione si è posto l'accento sulle questioni di sicurezza. Quindi tieni presente che una sessione Telnet è piuttosto insicura a meno che non sia su una rete completamente controllata o con sicurezza a livello di rete (varie implementazioni di VPN). A causa dell'inaffidabilità di Telnet come mezzo di gestione dei sistemi operativi, sono stati abbandonati da tempo.

Telnet e altri protocolli

È opinione diffusa tra i tecnici di Internet che il client Telnet sia adatto per l'accesso manuale (ad esempio per scopi di debug) ai protocolli del livello applicativo come HTTP, IRC, SMTP, POP3 e altri protocolli basati su testo basati sul trasporto TCP. Tuttavia, l'utilizzo di un client telnet come client TCP ha i seguenti effetti indesiderati:

· Il cliente può inviare dati che non hai inserito (opzioni Telnet);

· Il cliente non accetterà l'ottetto \377;

· Il client modificherà l'ottetto \377 durante la trasmissione;

Il client può rifiutarsi di trasmettere ottetti con il bit 1 più significativo.

Programmi come netcat forniscono puro accesso TCP, ma sono necessari trucchi speciali (come stty -icrnl su un sistema UNIX) per passare i feed di riga come CR LF (che è richiesto da molti protocolli). In genere, un client Telnet invierà per impostazione predefinita qualsiasi newline come CR LF, indipendentemente dalla sua codifica sul sistema del client. Anche per il debug dell'accesso ai protocolli applicativi (tranne FTP e, di fatto, Telnet) è necessario utilizzare il client PuTTY in modalità "Raw" (accesso TCP puro) - PuTTY converte le nuove righe separatamente dal supporto del protocollo Telnet.

Documenti simili

    Il livello fisico del protocollo CAN. Velocità di trasferimento e lunghezza della rete. Il livello di collegamento del protocollo CAN. Bit recessivi e dominanti. Schema funzionale della rete standard CAN. Metodi di rilevamento degli errori. Le principali caratteristiche della rete. Protocolli di alto livello.

    abstract, aggiunto il 17/05/2013

    La posta elettronica (E-Mail) e le sue componenti principali: risorsa informativa, server di posta, client e protocolli per la loro interazione. Caratteristiche comparative dei protocolli SMTP, POP3 e IMAP4. Teleconferenze, archivi file FTP, Telnet, World Wide Web.

    test, aggiunto il 19/01/2011

    Concetti generali, compiti e caratteristiche di una rete informatica TMN: tecnologia di controllo, composizione e scopo degli elementi principali, funzionalità, architettura. Implementazione del controllo nel modello OSI. Caratteristiche comparative dei protocolli SNMP e CMIP.

    tesina, aggiunta il 18/03/2011

    Descrizione delle funzioni generali del livello di rete del modello OSI: logging, routing e indirizzamento logico. Scopri come funzionano il protocollo di rete TCP/IP e le utilità di rete della riga di comando. Indirizzo di rete locale e definizione di classe Internet.

    presentazione, aggiunta il 05/12/2013

    Un protocollo è un insieme di accordi e regole che determinano come le informazioni vengono scambiate in una rete di computer. Breve descrizione e caratteristiche di alcuni protocolli utilizzati in Internet: TCP/IP, POP3, IMAP4, SMTP, FTP, HTTP, WAIS, TELNET, WAP.

    presentazione, aggiunta il 27/04/2011

    Analisi e confronto di vari metodi per implementare un sistema di protezione delle connessioni di rete. Tipi di attacchi alla rete e metodi del loro impatto negativo, possibili conseguenze e misure per prevenirli. La struttura del protocollo per la creazione di connessioni di rete sicure ISAKMP.

    tesi, aggiunta il 19/06/2010

    Caratteristiche generali del protocollo ICMP, suo scopo e formato del messaggio. Analisi dell'applicabilità del protocollo ICMP durante il passaggio dalla suite di protocolli IP v4 alla suite di protocolli IP v6. Proprietà e principio di funzionamento, ambito di instradamento dei protocolli di scambio di informazioni.

    tesina, aggiunta il 24/08/2009

    Lavori sulla creazione della rete ARPANET, protocolli di interazione in rete TCP/IP. Funzionalità del software per TCP/IP. Breve descrizione dei protocolli della famiglia TCP/IP con spiegazione delle abbreviazioni. Architettura, livelli di rete e protocolli TCP/IP.

    abstract, aggiunto il 05/03/2010

    La funzione del protocollo e la struttura del pacchetto del protocollo in fase di sviluppo. La lunghezza dei campi di intestazione. Calcolo della lunghezza del buffer alla ricezione, in funzione della lunghezza del pacchetto e del ritardo consentito. Algoritmi di elaborazione dati per la ricezione e la trasmissione. Implementazione software del protocollo.

    tesina, aggiunta il 18/05/2014

    Servizi Internet: posta elettronica, trasferimento file. Ricevi servizi di rete tramite un computer remoto. Protocolli Internet: HTTP, FTP, Telnet, WAIS, Gopher, SMTP, IRC. Obiettivi dell'introduzione della videoconferenza. Organizzazione e svolgimento di teleconferenze.

Esistono diversi modi per accedere all'ambiente CLI. I metodi più comuni:

  • Telnet o SSH

Console

È possibile accedere alla CLI tramite una sessione della console, nota anche come stringa CTY. La console utilizza una connessione seriale a bassa velocità, che avviene tramite una connessione diretta da un computer o terminale alla porta della console su un router o switch.

La porta della console è una porta di gestione che fornisce l'accesso fuori banda al router. La porta della console è disponibile anche se sul dispositivo non sono stati configurati servizi di rete. La porta della console viene spesso utilizzata per accedere al dispositivo quando i servizi di rete non sono stati avviati o hanno smesso di funzionare.

Esempi di utilizzo della console:

    Configurazione iniziale del dispositivo di rete

    Procedure di ripristino di emergenza e risoluzione dei problemi quando l'accesso remoto non è possibile

    Procedure di recupero password

Al primo utilizzo del router, le impostazioni di rete non sono ancora configurate. Pertanto, il router non può comunicare attraverso la rete. Per prepararlo per l'avvio e la configurazione iniziali, eseguire il software di emulazione terminale sul computer per connettersi alla porta della console del dispositivo. I comandi di configurazione per configurare il router possono essere immessi tramite il computer collegato.

Durante il funzionamento, se non è possibile accedere al router da remoto, la connessione alla console tramite un computer può determinare lo stato del dispositivo. Per impostazione predefinita, la console visualizza informazioni sull'avvio del dispositivo, sul debug e sui messaggi di errore.

Per molti dispositivi IOS, l'accesso alla console non richiede alcuna forma di sicurezza per impostazione predefinita. Tuttavia, la console deve essere configurata con password per impedire l'accesso non autorizzato al dispositivo. Quando la password viene persa, esiste una serie speciale di procedure per ignorare la password e accedere al dispositivo. Il dispositivo deve essere posizionato in una stanza chiusa a chiave o in un rack per apparecchiature per impedire l'accesso fisico.

Telnet e SSH

Telnet è un metodo per ottenere l'accesso remoto alla sessione CLI di un router. A differenza di una connessione console, le sessioni Telnet richiedono servizi di rete attivi sul dispositivo. Un dispositivo di rete deve avere almeno un'interfaccia attiva configurata con un indirizzo di livello 3, ad esempio un indirizzo IPv4. I dispositivi Cisco IOS includono un processo del server Telnet che si avvia all'avvio del dispositivo. IOS contiene anche un client Telnet.

Un host con un client Telnet può accedere alle sessioni vty in esecuzione su un dispositivo Cisco. Per motivi di sicurezza, IOS richiede che la sessione Telnet utilizzi una password come metodo di autenticazione minimo. I metodi per impostare account e password saranno discussi negli articoli successivi in ​​questa sezione.

Il protocollo Secure Shell (SSH) è un metodo più sicuro per accedere a un dispositivo in remoto. Questo protocollo fornisce un accesso remoto simile a Telnet, tranne per il fatto che utilizza servizi di rete più sicuri.

SSH fornisce un'autenticazione della password più efficace rispetto a Telnet e utilizza la crittografia per trasportare i dati della sessione. La sessione SSH crittografa tutte le comunicazioni tra il client e il dispositivo IOS. Ciò protegge l'ID utente, la password e i dettagli della sessione di controllo. Come best practice, usa sempre SSH invece di Telnet quando possibile.

La maggior parte delle versioni più recenti di IOS contiene un server SSH. Alcuni dispositivi hanno questo servizio abilitato per impostazione predefinita. Altri dispositivi richiedono l'abilitazione del server SSH.

I dispositivi IOS includono anche un client SSH che può essere utilizzato per stabilire sessioni SSH con altri dispositivi. Allo stesso modo, puoi utilizzare una macchina remota con un client SSH per avviare una sessione CLI sicura. Il software client SSH non è fornito per impostazione predefinita su tutti i sistemi operativi dei computer. Potrebbe essere necessario ottenere, installare e configurare il software client SSH per il computer.

AUS

Un altro modo per stabilire una sessione CLI in remoto è tramite una connessione dial-up utilizzando un modem connesso alla porta AUX del router. Come una connessione alla console, questo metodo non richiede la configurazione o la disponibilità di servizi di rete sul dispositivo.

La porta AUX può anche essere utilizzata localmente come porta console quando è collegata direttamente a un computer che esegue un programma di emulazione terminale. La porta della console è necessaria per la configurazione del router, ma non tutti i router dispongono di una porta ausiliaria. La porta della console è anche preferita alla porta ausiliaria per la diagnostica, poiché per impostazione predefinita visualizza i dettagli di avvio del router, le informazioni di debug e i messaggi di errore.

Di solito, l'unica volta che la porta AUX viene utilizzata localmente invece della porta della console è quando si verifica un problema nell'utilizzo della porta della console, ad esempio, se alcune impostazioni della console sono sconosciute.