Passa al contenuto principale

10. Security Considerations

Questo documento definisce meccanismi per configurare il comportamento delle applicazioni SNMP. Queste applicazioni possono essere associate a un motore SNMP che fornisce comunicazione sicura quando si utilizzano le funzionalità di sicurezza SNMPv3.

Tuttavia, ci sono diverse considerazioni di sicurezza che devono essere prese in considerazione:

10.1. Sicurezza della Configurazione

I moduli MIB definiti in questo documento (SNMP-TARGET-MIB, SNMP-NOTIFICATION-MIB e SNMP-PROXY-MIB) contengono informazioni di configurazione che influenzano direttamente la postura di sicurezza delle comunicazioni SNMP:

Oggetti Sensibili

Diversi oggetti contengono o riferiscono informazioni di sicurezza sensibili:

  • snmpTargetParamsSecurityName: Contiene credenziali di sicurezza (stringhe community per SNMPv1/v2c, nomi utente per SNMPv3).
  • snmpTargetParamsSecurityModel e snmpTargetParamsSecurityLevel: Definiscono i meccanismi di sicurezza e i livelli di protezione utilizzati.
  • snmpProxyTargetParamsIn: Riferisce parametri di sicurezza per messaggi in entrata al proxy.

Questi oggetti dovrebbero essere protetti con appropriati controlli degli accessi per prevenire:

  • Divulgazione non autorizzata: Lettura di security name/stringhe community.
  • Modifica non autorizzata: Modifica dei parametri di sicurezza per indebolire la sicurezza o reindirizzare il traffico.

Controllo degli Accessi Raccomandato

Si RACCOMANDA che le entità SNMP che implementano i moduli MIB in questo documento:

  1. Utilizzino le funzionalità di sicurezza SNMPv3 (USM) per tutti gli accessi di gestione a questi oggetti MIB.
  2. Configurino VACM (View-based Access Control Model) per limitare l'accesso a questi oggetti solo agli amministratori di sicurezza autorizzati.
  3. Utilizzino autenticazione e crittografia (livello di sicurezza authPriv) quando si accede a oggetti sensibili alla sicurezza.

10.2. Sicurezza delle Notifiche

Divulgazione di Informazioni

Le notifiche possono contenere informazioni sensibili sul sistema gestito. Una configurazione impropria dei target di notifica può portare a:

  • Invio di notifiche a destinatari non autorizzati.
  • Esposizione di dati operativi sensibili o eventi di sicurezza.
  • Perdita di informazioni sulla topologia di rete o vulnerabilità.

Mitigazione:

  • Utilizzare il filtraggio delle notifiche per controllare quali informazioni vengono inviate a quali target.
  • Configurare i target di notifica per utilizzare SNMPv3 con autenticazione e crittografia.
  • Verificare regolarmente snmpTargetAddrTable per assicurarsi che le notifiche vengano inviate solo a stazioni di gestione autorizzate.

Spoofing delle Notifiche

Senza un'adeguata sicurezza, le notifiche possono essere contraffatte da aggressori:

  • Le notifiche false possono causare falsi allarmi o mascherare veri incidenti di sicurezza.
  • Gli attori malintenzionati possono manipolare i sistemi di gestione inviando notifiche falsificate.

Mitigazione:

  • I notification receiver dovrebbero utilizzare le funzionalità di sicurezza SNMPv3 per autenticare la fonte delle notifiche.
  • Utilizzare inform request (invece di trap) per garantire una consegna affidabile e permettere l'autenticazione.
  • Implementare rate limiting e rilevamento di anomalie per identificare pattern di notifica sospetti.

10.3. Sicurezza dell'Inoltro Proxy

I proxy forwarder introducono considerazioni di sicurezza aggiuntive:

Degradazione del Livello di Sicurezza

I proxy possono tradurre tra diverse versioni SNMP, degradando potenzialmente la sicurezza:

  • SNMPv3 (authPriv) a SNMPv1 (nessuna sicurezza): Espone il traffico autenticato e crittografato in chiaro.
  • Perdita di autenticazione: Il target non può verificare la vera fonte della richiesta.

Mitigazione:

  • Evitare le degradazioni di sicurezza quando possibile. Distribuire SNMPv3 end-to-end.
  • Se la degradazione è necessaria, utilizzare controlli compensativi (ad es. IPsec, sicurezza fisica).
  • Registrare tutte le degradazioni di sicurezza per scopi di audit.
  • Limitare quali operazioni possono essere degradate utilizzando il controllo degli accessi.

Attacchi Man-in-the-Middle

I proxy si trovano nel percorso di comunicazione e potrebbero potenzialmente:

  • Intercettare e leggere informazioni sensibili.
  • Modificare richieste o risposte.
  • Impersonare il command generator o il command responder.

Mitigazione:

  • I proxy dovrebbero essere distribuiti in ambienti sicuri e controllati.
  • Utilizzare la sicurezza SNMPv3 su entrambi i lati del proxy (command generator a proxy, proxy a command responder).
  • Implementare controlli degli accessi forti sulla configurazione del proxy.
  • Monitorare e verificare l'attività del proxy.

Vulnerabilità della Traduzione di Contesto

Una traduzione di contesto impropria nei proxy può portare a:

  • Accesso a informazioni di gestione non intenzionali.
  • Bypass dei controlli degli accessi se contesti diversi hanno politiche di accesso diverse.

Mitigazione:

  • Configurare attentamente le voci snmpProxyTable per garantire un corretto mapping del contesto.
  • Applicare politiche di controllo degli accessi coerenti in tutti i contesti.
  • Rivedere e verificare regolarmente le regole di traduzione del contesto.

10.4. Considerazioni sul Denial of Service

Le funzionalità definite in questo documento possono essere abusate per causare denial of service:

Esaurimento delle Risorse

  • Notifiche eccessive: Configurare molti target di notifica può sopraffare il notification originator.
  • Regole di filtraggio complesse: Operazioni di filtro computazionalmente costose possono consumare CPU eccessiva.
  • Amplificazione proxy: Una singola richiesta a un proxy configurato con inoltro a target multipli può generare molte richieste in uscita.

Mitigazione:

  • Implementare rate limiting sulla generazione di notifiche e sull'inoltro proxy.
  • Impostare limiti ragionevoli sul numero di target configurati.
  • Ottimizzare il processamento dei filtri e considerare di limitare la complessità dei filtri.
  • Monitorare l'uso delle risorse e allertare su anomalie.

Flooding di Rete

  • I target di notifica mal configurati possono inondare la rete di traffico.
  • I loop di proxy (dove i proxy inoltrano l'uno all'altro) possono causare tempeste di messaggi.

Mitigazione:

  • Validare gli indirizzi target durante la configurazione.
  • Implementare meccanismi di rilevamento dei loop nei proxy forwarder.
  • Utilizzare meccanismi TTL o hop-count per prevenire l'inoltro infinito.

10.5. Considerazioni sulla Versione SNMP

Limitazioni di SNMPv1 e SNMPv2c

SNMPv1 e SNMPv2c utilizzano stringhe community per l'autenticazione:

  • Le stringhe community vengono trasmesse in chiaro e sono vulnerabili all'intercettazione.
  • L'autenticazione basata su community è debole e facilmente compromessa.
  • Nessuna protezione dell'integrità: I messaggi possono essere modificati in transito senza rilevamento.

Raccomandazione:

Si RACCOMANDA FORTEMENTE che le distribuzioni utilizzino SNMPv3 con USM per tutte le comunicazioni SNMP. SNMPv1 e SNMPv2c dovrebbero essere utilizzati solo in ambienti controllati dove:

  • La rete è fisicamente sicura.
  • Il traffico è protetto con altri mezzi (ad es. VPN, IPsec).
  • I dispositivi legacy non possono essere aggiornati a SNMPv3.

Sicurezza SNMPv3

SNMPv3 con USM fornisce:

  • Autenticazione: Verifica la fonte dei messaggi utilizzando HMAC-MD5 o HMAC-SHA.
  • Crittografia: Protegge la confidenzialità dei messaggi utilizzando DES o AES.
  • Tempestività: Protegge contro attacchi di replay utilizzando timestamp.

Tuttavia, la sicurezza SNMPv3 dipende da una configurazione appropriata:

  • Utilizzare protocolli di autenticazione forti (HMAC-SHA preferito a HMAC-MD5).
  • Utilizzare crittografia forte (AES preferito a DES).
  • Gestire correttamente le chiavi crittografiche (chiavi forti, rotazione regolare).
  • Sincronizzare gli orologi per prevenire lo sfruttamento della finestra di tempestività.

10.6. Riepilogo delle Raccomandazioni di Sicurezza

  1. Utilizzare SNMPv3 con USM per tutte le comunicazioni SNMP che coinvolgono i moduli MIB definiti in questo documento.

  2. Configurare VACM per limitare l'accesso agli oggetti sensibili alla sicurezza solo agli amministratori autorizzati.

  3. Utilizzare autenticazione e crittografia (authPriv) quando si accede o si trasmettono informazioni sensibili.

  4. Configurare attentamente i target di notifica e utilizzare il filtraggio delle notifiche per prevenire la divulgazione di informazioni.

  5. Evitare le degradazioni di sicurezza nei proxy forwarder; se inevitabili, utilizzare controlli compensativi e verificare tutte le degradazioni.

  6. Distribuire i proxy in ambienti sicuri con controlli degli accessi forti e monitoraggio.

  7. Implementare rate limiting per prevenire attacchi denial of service.

  8. Verificare regolarmente la configurazione di target, notifiche, filtri e regole proxy.

  9. Utilizzare inform request invece di trap per notifiche critiche per garantire una consegna affidabile e autenticata.

  10. Seguire le best practice di sicurezza come delineato in RFC 3410 (Applicability Statements for the Internet-Standard Management Framework).