SNMP, Telnet, Secure Shell (SSH)

()

Simple Network Management Protocol (SNMP):

In informatica e telecomunicazioni Simple Network Management Protocol (SNMP) è un protocollo di rete senza connessione che appartiene alla suite di protocolli Internet.

Opera al livello 7 del modello OSI, utilizzando come protocollo del livello trasporto UDP sulle porte 161 e 162, consentendo di semplificare la configurazione, gestione e supervisione (monitoring) di apparati collegati in una rete (siano essi nodi interni di commutazione come i dispositivi di rete o nodi terminali di utenza), riguardo a tutti quegli aspetti che richiedono azioni di tipo amministrativo (management).

Il protocollo SNMP assume che la gestione di un dispositivo di rete sia possibile attraverso la lettura/scrittura di informazioni elementari (nel seguito riferite con il termine inglese “managed objects”) che rappresentano la configurazione corrente di un sistema. Il framework concettuale definito dall’IETF per la gestione di reti TCP/IP prevede tre componenti fondamentali:

1 sistema di gestione (manager);
2 agente di gestione (agent o master agent), attivo nel dispositivo, ed eventuali subagent;
3 Collezione di managed object.


Ogni sistema gestito (per esempio un semplice nodo, un router, una stampante o qualsiasi altro dispositivo che fornisca un’interfaccia di gestione SNMP) ospita un agente di gestione (master agent) e solitamente un certo numero di subagent. Il master agent ha almeno il ruolo di intermediario fra il manager, applicazione remota che prende le decisioni di gestione, per esempio sotto il controllo diretto dell’operatore umano, e i subagent, esecutori di tali decisioni. Ciascun subagent è incaricato di attuare le decisioni di gestione impartite dal manager nel contesto di un particolare sottosistema o relativamente a un particolare aspetto del sistema gestito. In sistemi che forniscono meccanismi di gestione particolarmente semplici, master agent e subagent possono confluire in un unico componente software capace sia di dialogare con il manager che di attuarne le decisioni; in questo caso si parlerà semplicemente di agent.

SNMP utilizza quindi una chiara separazione fra il protocollo di gestione e la struttura dell’oggetto gestito. Nell’architettura SNMP, per ogni sottosistema è definita una base di dati detta MIB (Management Information Base), gestita dal corrispondente subagent, la quale rappresenta lo stato del sottosistema gestito, o meglio, una proiezione di tale stato limitata agli aspetti di cui si vuole consentire la gestione. Si tratta di una base dati che si potrebbe definire, mutuando un termine dalla riflessione, “causalmente connessa”: in altre parole, ogni modifica alla MIB causa un corrispondente mutamento nello stato del sottosistema rappresentato, e viceversa. Garantire questa proprietà della MIB è la funzione principale del subagent che la gestisce.

MIB Management Information Base
L’accesso alla MIB (in lettura e scrittura) rappresenta l’interfaccia fornita al manager per gestire il sistema. Ogni MIB, pur variando nei contenuti specifici, ha la medesima struttura generale a forma di albero ed i medesimi meccanismi generali di accesso da parte del manager (lettura e scrittura dei dati). Ogni oggetto nella MIB è identificato da un object ID (OID). Un OID si rappresenta mediante una sequenza di numeri interi separati da punti. Esso rappresenta il percorso all’interno dell’albero MIB per giungere dalla radice ad esso. I nodi foglia della MIB rappresentano i managed objects. Ad esempio, il nodo system della MIB SNMP è rappresentato dall’OID 1.3.6.1.2.1.1.

Grazie alla connessione causale della MIB, è quindi possibile al manager agire sullo stato del sottosistema in un modo che è largamente indipendente dalle procedure concrete che devono poi essere messe in atto (dal subagent) per estrarre le informazioni di stato rappresentate nella MIB, o attuare le modifiche di stato a seguito di cambiamenti dei contenuti della MIB. Così, per esempio, si potrebbe avere un dato di MIB che rappresenta l’indirizzo IP del sistema gestito; per modificare tale indirizzo, al manager è sufficiente accedere alla MIB sovrascrivendo il dato corrispondente, prescindendo dei dettagli di come una tale modifica venga poi concretamente “attuata” sul sistema gestito attraverso l’agent o il subagent.

SNMP è utilizzato per raccogliere e manipolare le informazioni sui componenti di rete. Raccoglie le informazioni selezionando i dispositivi sulla rete da una console di gestione della rete centrale utilizzando messaggi SNMP a intervalli fissi o casuali. I dispositivi che in genere supportano SNMP includono router, switch, server, workstation, stampanti, rack per modem e altro ancora.

Telnet:

Telnet è un protocollo a livello di applicazione utilizzato su Internet o sulla rete locale per fornire una funzione di comunicazione bidirezionale interattiva orientata al testo utilizzando una connessione terminale virtuale. Questo protocollo viene utilizzato per stabilire una connessione al numero di porta 23 del protocollo di controllo della trasmissione.

Telnet è pertanto un protocollo di rete, utilizzato tramite interfaccia a riga di comando per fornire all’utente sessioni di login remoto.

Per estensione, Telnet è anche il nome del programma che l’utente può usare per avviare una sessione Telnet ad un host remoto; il programma implementa la parte client del protocollo. I client Telnet sono stati resi disponibili sulla maggior parte dei sistemi informatici per molti anni e su qualsiasi tipo di computer.

Telnet è un protocollo client-server basato su TCP; i client solitamente si connettono alla porta 23 sul server (nonostante la porta possa essere differente, come per parecchi protocolli internet). In parte a causa della progettazione del protocollo e in parte per la flessibilità tipicamente fornita dai programmi Telnet, è possibile utilizzare un programma Telnet per stabilire una connessione interattiva ad un qualche altro servizio su un server internet. Un utilizzo classico è collegarsi col Telnet alla porta 25 (sulla quale tipicamente si trova un server SMTP) per effettuare il debugging di un server di posta.

Usi
I client Telnet sono ancora usati occasionalmente per “parlare” ad altri servizi. Telnet è usato ogni tanto nel debug di servizi di networking come i server SMTP e HTTP, in quanto rappresenta un modo semplice per mandare comandi al server ed esaminare le risposte. Telnet può anche essere usato come un rudimentale client IRC se si possiede una conoscenza adeguata.

Nel campo della posta elettronica Telnet ha molti validi usi, per esempio è possibile leggere la corrispondenza sulla propria mailbox, cancellarla oppure spedire missive elettroniche [2]. Visto che normalmente l’accesso alla propria casella di posta elettronica viene fatto in modo non sicuro oppure a volte da un computer pubblico, i problemi di sicurezza di Telnet non sono di ostacolo.

A volte con le webmail si hanno problemi di accesso alla propria mailbox che con Telnet si possono risolvere, per esempio nel caso di superamento della memoria concessa alcune caselle si bloccano e Telnet permette di risolvere il problema.

Sicurezza
Ci sono tre problemi principali legati a Telnet che lo rendono una cattiva scelta per sistemi moderni dal punto di vista della sicurezza informatica:

1 nei daemon Telnet comunemente usati sono state trovate nel corso degli anni molte vulnerabilità, e probabilmente altre esistono tuttora;
manca di uno schema di autenticazione che renda sicura le comunicazioni 2 tra due host e non intercettabile;
3 non cripta i dati inviati tramite la connessione (nemmeno le password) ed è quindi banale catturare i dati scambiati ed usare la password per scopi malevoli.

In ambienti dove la sicurezza è importante, come la rete pubblica Internet, Telnet non dovrebbe esser usato in quanto le sessioni telnet non sono criptate. Ciò significa che chiunque abbia accesso ad un router, uno switch o un gateway posizionato sulla rete tra i due host che stanno comunicando tramite Telnet, può intercettare i pacchetti che lo attraversano e facilmente ottenere qualsiasi cosa venga scambiata (compresi nomi utente e password) con programmi di sniffing come tcpdump e Wireshark (precedentemente chiamato Ethereal). Queste falle han fatto sì che l’uso del protocollo Telnet cadesse rapidamente a favore del più sicuro protocollo SSH, rilasciato nel 1998. SSH offre tutte le funzioni di Telnet più una sicura criptazione, che previene l’intercettazione dei dati scambiati, ed un’autenticazione a chiave pubblica, che assicura l’identità del server remoto.

Secure Shell (SSH):

SSH è un protocollo di rete crittografato crittografato per consentire l’accesso remoto e altri servizi di rete di operare in modo sicuro su una rete non protetta. SSH fornisce un canale sicuro su una rete non protetta in un’architettura client-server, collegando un’applicazione client SSH con un server SSH. Le applicazioni comuni includono l’accesso dalla riga di comando remota e l’esecuzione di comandi remoti, ma qualsiasi servizio di rete può essere eseguito con SSH. La specifica del protocollo distingueva tra due versioni principali denominate SSH-1 e SSH-2.
La porta TCP standard 22 è stata assegnata per contattare i server SSH. SSH è stato progettato come sostituto di Telnet e dei protocolli di shell remota non protetti. Esistono molte applicazioni utilizzate per SSH, ad esempio Putty, OpenSSH, Chrome Secure Shell, ecc.

/ 5
Grazie per aver votato!

How useful was this post?

Click on a star to rate it!

Average rating / 5. Vote count:

No votes so far! Be the first to rate this post.

As you found this post useful...

Follow us on social media!

We are sorry that this post was not useful for you!

Let us improve this post!

Tell us how we can improve this post?