Simple Network Management Protocol SNMP

In questi giorni, i dispositivi di rete, la più utilizzare SNMP per il monitoraggio remoto e la configurazione. SNMP è un semplice protocollo utilizzato di solito per creare software di monitoraggio in grado di recuperare le informazioni, come il traffico di rete, il carico della CPU, del disco di carico, ecc, e anche di modificare la configurazione dei dispositivi, come le apparecchiature wireless, router a banda larga, ecc
Maggior parte delle implementazioni SNMP su questi tipi di dispositivi di rete utilizzano la versione 1 o la versione 2, che hanno un metodo di autenticazione molto debole. SNMP versione 1 contiene una serie di bug nel trap SNMP e messaggi via le richieste vengono trattate e decodificati, che può essere sfruttata in molti modi, dalla negazione del servizio a riscrivere la configurazione.
SNMP versioni 1 e 2 stringhe di comunità utilizzo per l'autenticazione.

  

Questi vengono inviati sulla porta UDP 161 in chiaro, per cui è molto facile per un uomo in mezzo ad annusare le corde della comunità. Quando si imposta SNMP su un dispositivo (tra cui una macchina Linux), è necessario impostare due stringhe di comunità: uno che ha accesso in sola lettura e il valore predefinito è "pubblico", e uno che ha letto-scrittura e il valore predefinito è "privato". Se non si cambia la comunità SNMP dispositivi abilitati, è molto facile, in assenza di un firewall per visualizzare la configurazione e modificarlo.
Questo è molto pericoloso per i dispositivi e la rete, ecco quello che si dovrebbe cercare di fare:

  • Cercate di non utilizzare SNMP, a meno che non si deve.
  • Quando possibile, utilizzare SNMP versione 3, che ha una modalità di autenticazione degli utenti e può fare la crittografia.
  • In ogni caso, se si utilizza SNMP, cambiare le comunità di default.
  • Creare un buon firewall sul dispositivo o su un dispositivo di fronte ad essa, permettendo ospita solo di fiducia per connettersi tramite SNMP.

Per esempio, un router Cisco esegue SNMP con la stringa di comunità "pubblico" rivela tutta la sua configurazione in esecuzione, tra cui username e password, nonché consentire il segreto e la password. Se il router è la comunità SNMP "private" per l'accesso in scrittura, è possibile modificare assolutamente tutto nella configurazione. Oltre che, più router Cisco hanno SNMP abilitato di default con le comunità di default e senza filtri.

Open Secure Sockets Layer (OpenSSL)

La libreria OpenSSL è la scelta più popolare per le applicazioni che hanno bisogno di sostegno di crittografia nelle comunicazioni di rete. Queste domande sono in Apache (connessioni HTTP sicuro), Sendmail, OpenLDAP, OpenSSH, ecc
Vulnerabilità in una versione delle librerie OpenSSL riguardano tutte le applicazioni che ne fanno uso e può essere sfruttata attraverso quelle. A seconda delle funzioni utilizzate dall'applicazione, vulnerabilità in OpenSSL può essere sfruttata attraverso l'applicazione di eseguire codice arbitrario sul server o anche per ottenere i privilegi di root.
OpenSSL aveva alcune vulnerabilità in passato che hanno fatto un sacco di danni al server che eseguono applicazioni compilate con il supporto OpenSSL, soprattutto Apache, Sendmail e OpenSSH. Nel caso di Sendmail, un exploit che ha dato i privilegi di root attaccante è stato pubblicato sulla mailing list di sicurezza.
Per essere protetti, considerare quanto segue:

  • Identificare la versione OpenSSL su ciascuno dei server che ha installato le librerie. Verificare se hai l'ultima versione e se la tua versione di OpenSSL è vulnerabilità sfruttabili da remoto.
  • Aggiorna la tua libreria OpenSSL per l'ultima versione dal sito web di OpenSSL a http://www.openssl.org.
  • Identificare le applicazioni che utilizzano la libreria OpenSSL, e se ne richiede la ricompilazione per l'aggiornamento, ricompilare loro di utilizzare le nuove librerie.

Se le applicazioni che utilizzano OpenSSL non necessitano di collegamenti da parte di tutti, creare un buon firewall per consentire le connessioni solo da siti attendibili.

Running proteggere i servizi di General Discussion

Il lavoro di un amministratore di rete è quello di mantenere la rete in esecuzione e sicura. Ci sono servizi che non dipendono da lui o lei, ad esempio un server web potrebbe essere gestito da un webmaster. La procedura descritta qui ti fa sentire più sicuro. Seguiremo questa realtà da sperimentare questi passaggi su una macchina Linux in modo da avere una migliore idea.
1. Identificare i servizi che funzionano su ogni sistema. Soprattutto, individuare le porte aperte ed i servizi che li ha aperti.
2. Verificare la versione corrente di ogni servizio in esecuzione. Aggiornamento alla versione più recente del software. Ricerca di vulnerabilità per il servizio nella sua home page e nella http://nvd.nist.gov/.
3. Verificare le configurazioni e, quando possibile, di creare liste di software per consentire l'accesso in base esclusivamente di fiducia host di utilizzare tale servizio. Provare a cambiare i nomi utente e password di default ogni volta. Se è possibile eseguire il software in una chroot jail, do it.
4. Se il servizio non richiede l'accesso da tutto il mondo, creare un firewall per limitare l'accesso solo agli host attendibili.
5. Controllare la rete! Provare a hack nella vostra rete. Connettersi alla rete come un outsider e testare tutti i servizi in esecuzione contro gli exploit noti. Ricerca di strumenti di hacker e usarle contro la tua rete per vedere cosa succede.
6. Creare i registri per le richieste di autenticazione. Inoltre tenta di eseguire un sistema di rilevamento delle intrusioni in rete, come Snort, disponibile all'indirizzo http://www.snort.org, che produce file di registro di veramente buono.

Non tutti i passaggi sono necessari per ogni servizio che gira in rete, per esempio, ci sono alcuni servizi per i quali si consente connessioni solo da localhost e il gioco è fatto.
Diamo un'occhiata a una delle caselle di Linux nella mia rete. Per motivi di sicurezza, mi interscambio gli indirizzi IP dal mondo reale con indirizzi IP riservati.

1. I primi individuerà le ha aperto le porte TCP sul server:


root @ router: ~ # netstat-an
Active Internet connections (servers and established)
Recv proto-Q Send-Q Local Address Foreign Address Stato
tcp 0 0 0.0.0.0:2601 0.0.0.0: * LISTEN
tcp 0 0 0.0.0.0:2605 0.0.0.0: * LISTEN
tcp 0 0 0.0.0.0:179 0.0.0.0: * LISTEN

Abbiamo, quindi, le porte TCP 179, 2601, 2605 e ascolto. Per me, questi sono molto noti porti, ma se ci si dimentica di loro, abbiamo bisogno di vedere quello che ha aperto le porte dei servizi:

root @ router: ~ # fuser-n tcp 2601 2605 179
2601/tcp: 1520
2605/tcp: 1521
179/tcp: 1521
root @ router: ~ # ps ax | grep-E "(1520 | 1521)"

Zebra è un software di routing di Linux che non conosce i protocolli di routing come BGP, OSPF, RIPv1, e RIPv2. In questo caso, io uso Zebra per le connessioni BGP. Il processo di bgpd è per rendere le connessioni BGP, e il processo di zebra è responsabile per l'aggiunta di rotte ricevute dai vicini nel kernel di Linux.

  • Let's identificare le versioni:

root @ router: ~ zebra #-v
zebra versione 0.95 ()
Copyright 1996-2001, Kunihiro Ishiguro
root @ router: ~ # bgpd-v
bgpd versione 0.95 ()
Copyright 1996-2001, Kunihiro Ishiguro

Le vulnerabilità più recenti per Zebra erano in versione 0.93b, in modo che nessun knownvulnerabilities qui.
3. Il passo successivo è quello di configurare il software. Per Zebra, la porta 2601 è per la sua interfaccia a riga di comando, che è molto simile a un router Cisco. Lo stesso con il BGP per la porta 2605.

  • Il router dispone di connessioni BGP con 10.10.10.1, 10.10.11.13, e con 10.10.15.1. Quello che vogliamo fare è negare l'accesso sulla porta TCP 179, che viene utilizzato per le connessioni BGP, a chiunque ad eccezione di quelli di indirizzi IP. Inoltre, vogliamo raddoppiare la protezione che abbiamo creato con il software basato su liste di accesso per la zebra e bgpd, e consentire solo a localhost per la connessione a Zebra VTY e il suo protocollo di routing.
  • 5. Dal momento che non abbiamo conosciuto per la vulnerabilità del software, quello che possiamo fare è provare e vedere se funziona il nostro firewall:

root @ router: ~ # telnet 127.0.0.1 2601
Trying 127.0.0.1 ...
Connected to 127.0.0.1.
Escape character is'^]'.
Ciao, questo è zebra (versione 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Password:
root @ router: ~ # telnet 127.0.0.1 2605
Trying 127.0.0.1 ...
Connected to 127.0.0.1.
Escape character is'^]'.
Ciao, questo è zebra (versione 0.95).
Copyright 1996-2004 Kunihiro Ishiguro.
User Access Verification
Password:

vediamo se riusciamo a fare questo da altre località:

router-2: ~ # telnet 10.10.10.22 2601
Trying 10.10.10.22 ...
telnet: Impossibile connettersi a un host remoto: Connection refused
router-2: ~ # telnet 10.10.10.22 2605
Trying 10.10.10.22 ...
telnet: Impossibile connettersi a un host remoto: Connection refused

Buono! Non siamo in grado di connettersi ovunque ad eccezione localhost sulla CLI di zebra e bgpd. Ora, dobbiamo cercare di collegare sulla porta TCP 179 da uno dei vicini BGP:

router-2: ~ # telnet 10.10.10.22 179
Trying 10.10.10.22 ...
Collegato al 10.10.10.22.
Escape character is'^]'.

un articolo presentato da Philip A Clare


Disclaimer:Il nostro sito non è responsabile per il contenuto di questo articolo. Webarticles è una risorsa gratuita di informazioni.
Importante: Questo articolo è "Simple Network Management Protocol SNMP" è stato tradotto da un software automatico. Ci dispiace per eventuali errori di ortografia che possono essersi verificati. Grazie per la vostra comprensione.


Online: 93 users browsing the articles directory   


  

|