L'obiettivo di questo articolo è delineare i passaggi per attivare la copia dei file di configurazione da uno switch Cisco Business tramite il protocollo SNMP (Simple Network Management Protocol).
I file di configurazione vengono in genere copiati da uno switch utilizzando l'interfaccia utente grafica (GUI) o l'interfaccia della riga di comando (CLI). Un metodo più insolito consiste nell'attivare l'operazione di copia tramite SNMP.
Quando si copia un file di configurazione contenente dati riservati, l'operazione di copia può escludere i dati riservati, includerli in forma crittografata, includerli come testo normale o utilizzare un metodo predefinito. L'impostazione della gestione dei dati sensibili è facoltativa e, se non è specificata, verrà utilizzata l'impostazione predefinita.
Per accedere al menu di gestione dei dati sensibili dalla GUI, selezionare Amministrazione > Operazioni file > Menu Gestione file.
L'opzione Gestione dati sensibili viene visualizzata solo in modalità file di backup per TFTP o SCP.
Dalla riga di comando, è possibile utilizzare il comando copy:
copy {running-config | startup-config} dst-url [exclude | include-encrypted | include-plaintext]
Ad esempio:
copy running-config tftp://192.168.101.99/destination-file.txt exclude
Il valore predefinito è quello impostato per la modalità di lettura della sessione SSD. Per visualizzare la modalità corrente, immettere show ssd session o show running-config e cercare l'indicatore SSD del file. Con le impostazioni predefinite di fabbrica, la modalità di lettura prevista per la sessione SSD è crittografata.
C1300# show ssd session
Nome utente/Livello: utente1 / livello 15
Autorizzazione di lettura utente: Entrambi
Modalità lettura sessione corrente: Crittografia
C1300# show running-config | include SSD
indicatore SSD file crittografato
Se il comando copy è stato immesso senza specificare alcuna opzione, verrà copiato come se fosse stato scelto "include-encrypted".
copy running-config tftp://192.168.101.99/destination-file.txt
Tuttavia, il valore di lettura della sessione può essere modificato:
ssd session read {exclude | encrypted | plaintext}
Questo comando influisce sull'output di show running-config e show startup-config, nonché sul valore predefinito per il trattamento dei dati riservati da parte del comando copy.
Ad esempio:
C1300(config)# ssd session read plaintext
C1300(config)# exit
C1300# copy running-config tftp://192.168.101.99/destination-file.txt
Il file risultante includerà dati sensibili in testo normale, come l'output di "show running-config" e "show startup-config", quindi è necessario prestare attenzione alla modalità di lettura della sessione SSD. Lasciarlo al valore predefinito è il modo più sicuro.
Se l'output di show running-config o show startup-config non visualizza tutto il previsto, ad esempio gli utenti SNMP v3 con credenziali crittografate visibili nella GUI, verificare che il valore di lettura della sessione SSD non sia impostato su "exclude".
Gli switch Catalyst serie 1200/Catalyst 1300/CBSx50 usano l'identificatore di oggetto SNMP (OID) chiamato rlCopyOptionsRequestedSsdAccess per controllare l'opzione dei dati sensibili. L'oggetto è un numero intero e a prima vista i valori accettati sono equivalenti a quelli del comando copy:
L'opzione 3, che copia i dati sensibili in testo non crittografato, non può essere utilizzata con SNMP v2c, né con SNMP v3 a meno che non si utilizzino sia l'autenticazione che la privacy (authPriv).
Non è consigliabile impostare l'opzione Testo normale per copiare il file utilizzando un protocollo non protetto come TFTP.
SNMP v3 con authPriv viene utilizzato solo per attivare la copia, quindi le relative impostazioni di privacy non sono utili per la protezione del file di configurazione stesso durante il trasferimento. Ad esempio, la copia con il protocollo SCP (Secure Copy Protocol) sarebbe più sicura.
L'opzione 4 (predefinita) non funziona come previsto. Non funziona come il comando copy e il valore della sessione di lettura SSD non ha alcun effetto sul risultato della copia quando si utilizza SNMP. L'opzione 4 equivale all'opzione 1 (esclusa), con una sola eccezione: Se si utilizza SNMP v3 con authPriv, l'opzione 4 è uguale all'opzione 3 (testo normale).
Il comportamento è riassunto nella tabella seguente:
1 (escludi) |
2 (crittografato) |
3 (testo normale) |
predefinito |
|
Copia CLI |
escluso |
crittografia |
testo normale |
Valore SSD |
SNMP v2c |
escluso |
crittografia |
non riuscito |
escluso |
AuthPriv SNMP v3 |
escluso |
crittografia |
testo normale |
testo normale |
AuthNoPriv SNMP v3 |
escluso |
crittografia |
non riuscito |
escluso |
SNMP v3 noAuthNoPriv |
escluso |
crittografia |
non riuscito |
escluso |
SNMP v3 con authPriv non è richiesto specificamente per attivare l'attività di copia, ma poiché fornisce maggiore flessibilità e sicurezza, è consigliato rispetto alle altre varianti SNMP e sarà quello utilizzato per gli esempi seguenti.
Esempio di configurazione:
snmp-server server
snmp-server engineID local 8000000903f01d2da99341
snmp-server group snmpAdmin v3 priv write Default
encrypted snmp-server user sbscadmin snmpAdmin v3 auth sha [authentication_password] priv [privacy_password]
La configurazione precedente consente all'utente sbscadmin di inviare comandi SNMP v3 allo switch per attivare la copia dei file. L'utente sbscadmin è un membro del gruppo snmpAdmin, a cui sono stati concessi privilegi di scrittura SNMP v3 completi sullo switch.
Si noti che l'utente dispone sia di una password di autenticazione (auth) sia di una password per la privacy (priv), ad esempio authPriv, e che per il gruppo snmpAdmin è impostata l'opzione "priv" (che include anche l'autenticazione, in quanto la privacy non può essere utilizzata senza di essa).
Di seguito è riportato un esempio di comando snmpset che attiva l'attività di copia. È sufficiente impostare diversi valori dell'oggetto. Il comando viene immesso in un'unica riga, ma è possibile utilizzare una barra rovesciata come carattere di escape per separare ogni elemento sulla propria riga, se lo si desidera. Questa operazione è stata eseguita di seguito per migliorare la leggibilità. L'ingresso viene visualizzato in blu e l'output in bianco.
blake@MintBD:~$ snmpset -v 3 -u snmpuser -l authPriv \
-a SHA -A [authentication_password] \
-x AES -X [privacy_password] -m +CISCOSB-COPY-MIB 192.168.111.253 \
rlCopyOptionsRequestedSsdAccess.1 = include-encrypted \
rlCopyRowStatus.1 = createAndGo \
rlCopySourceLocation.1 = local \
rlCopySourceIpAddress.1 = 0.0.0.0 \
rlCopySourceUnitNumber.1 = 1 \
rlCopySourceFileType.1 = runningConfig \
rlCopyDestinationLocation.1 = tftp \
rlCopyDestinationIpAddress.1 = 192.168.111.18 \
rlCopyDestinationFileName.1 = v3-2.txt \
rlCopyDestinationFileType.1 = backupConfig
CISCOSB-COPY-MIB::rlCopyOptionsRequestedSsdAccess.1 = INTEGER: include-encrypted(2)
CISCOSB-COPY-MIB::rlCopyRowStatus.1 = INTEGER: createAndGo(4)
CISCOSB-COPY-MIB::rlCopySourceLocation.1 = INTEGER: local(1)
CISCOSB-COPY-MIB::rlCopySourceIpAddress.1 = IpAddress: 0.0.0.0
CISCOSB-COPY-MIB::rlCopySourceUnitNumber.1 = INTEGER: 1
CISCOSB-COPY-MIB::rlCopySourceFileType.1 = INTEGER: runningConfig(2)
CISCOSB-COPY-MIB::rlCopyDestinationLocation.1 = INTEGER: tftp(3)
CISCOSB-COPY-MIB::rlCopyDestinationIpAddress.1 = IpAddress: 192.168.111.18
CISCOSB-COPY-MIB::rlCopyDestinationFileName.1 = STRING: v3-2.txt
CISCOSB-COPY-MIB::rlCopyDestinationFileType.1 = INTEGER: backupConfig(4)
Una volta eseguita l'attività di copia, il valore di rlCopyOptionsRequestedSsdAccess torna a 4 (impostazione predefinita).
L'uso di nomi simbolici per gli oggetti e i loro valori è reso possibile da CISCOSB-COPY-MIB, che è descritto in dettaglio nel file "CISCOSB-copy.mib", incluso con i file MIB nella pagina di download dello switch.
Nella tabella seguente il nome simbolico di ogni oggetto viene associato al relativo OID.
Nome simbolico |
OID (Object Identifier) |
TabellaOpzioniCopiaRl |
1.3.6.1.4.1.9.6.1.101.87.12 |
rlCopyOptionsRequestedSsdAccess |
1.3.6.1.4.1.9.6.1.101.87.12.1.2 |
rlCopiaTabella |
1.3.6.1.4.1.9.6.1.101.87.2 |
rlCopiaStatoRiga |
1.3.6.1.4.1.9.6.1.101.87.2.1.17 |
rlCopiaPosizioneOrigine |
1.3.6.1.4.1.9.6.1.101.87.2.1.3 |
IndirizzoIpOrigineRl |
1.3.6.1.4.1.9.6.1.101.87.2.1.4 |
NumeroUnitàOrigineRl |
1.3.6.1.4.1.9.6.1.101.87.2.1.5 |
rlCopiaTipoFileOrigine |
1.3.6.1.4.1.9.6.1.101.87.2.1.7 |
rlCopyDestinationLocation |
1.3.6.1.4.1.9.6.1.101.87.2.1.8 |
rlCopyDestinationIndirizzoIp |
1.3.6.1.4.1.9.6.1.101.87.2.1.9 |
rlCopyNomeFileDestinazione |
1.3.6.1.4.1.9.6.1.101.87.2.1.11 |
TipoFileDestinazioneRl |
1.3.6.1.4.1.9.6.1.101.87.2.1.12 |
Se non si utilizzano i file MIB, la copia dei file può essere attivata utilizzando gli OID anziché i nomi simbolici, anche se l'input e l'output sono meno intuitivi.
blake@MintBD:~$ snmpset -v 3 -u sbscadmin -l authPriv \
-a SHA -A [authentication_password] \
-x AES -X [privacy_password] 192.168.111.253 \
1.3.6.1.4.1.9.6.1.101.87.12.1.2.1 i 1 \
1.3.6.1.4.1.9.6.1.101.87.2.1.17.1 i 4 \
1.3.6.1.4.1.9.6.1.101.87.2.1.3.1 i 1 \
1.3.6.1.4.1.9.6.1.101.87.2.1.4.1 a 0.0.0.0 \
1.3.6.1.4.1.9.6.1.101.87.2.1.5.1 i 1 \
1.3.6.1.4.1.9.6.1.101.87.2.1.7.1 i 2 \
1.3.6.1.4.1.9.6.1.101.87.2.1.8.1 i 3 \
1.3.6.1.4.1.9.6.1.101.87.2.1.9.1 a 192.168.111.18 \
1.3.6.1.4.1.9.6.1.101.87.2.1.11.1 s destination-file.txt \
1.3.6.1.4.1.9.6.1.101.87.2.1.12.1 i 4
iso.3.6.1.4.1.9.6.1.101.87.12.1.2.1 = INTEGER: 1
iso.3.6.1.4.1.9.6.1.101.87.2.1.17.1 = INTEGER: 4
iso.3.6.1.4.1.9.6.1.101.87.2.1.3.1 = INTEGER: 1
iso.3.6.1.4.1.9.6.1.101.87.2.1.4.1 = IpAddress: 0.0.0.0
iso.3.6.1.4.1.9.6.1.101.87.2.1.5.1 = INTEGER: 1
iso.3.6.1.4.1.9.6.1.101.87.2.1.7.1 = INTEGER: 2
iso.3.6.1.4.1.9.6.1.101.87.2.1.8.1 = INTEGER: 3
iso.3.6.1.4.1.9.6.1.101.87.2.1.9.1 = IpAddress: 192.168.111.18
iso.3.6.1.4.1.9.6.1.101.87.2.1.11.1 = STRING: "destination-file.txt"
iso.3.6.1.4.1.9.6.1.101.87.2.1.12.1 = INTEGER: 4
Per impostare i valori non è stato utilizzato un semplice simbolo "=" perché, senza MIB, il comando deve impostare esplicitamente ciascun tipo di oggetto ("i" per numero intero, "a" per indirizzo e "s" per stringa). I nomi per i valori ("local", "runningConfig", ecc.) non possono essere utilizzati poiché sono definiti dal MIB, quindi i numeri interi che rappresentano tali opzioni devono essere impostati direttamente.
Gli strumenti di gestione SNMP possono essere utili a scopo di test e risoluzione dei problemi. In questo articolo viene utilizzato il comando snmpset incluso in Net-SNMP, una suite di strumenti SNMP gratuiti e open-source.
Per utilizzare i file MIB dello switch con Net-SNMP, accertarsi innanzitutto che i file MIB di Net-SNMP siano posizionati in un punto in cui Net-SNMP li cercherà, ad esempio $HOME/.snmp/mibs. Senza i file MIB di Net-SNMP installati, i MIB dello switch non funzioneranno correttamente.
I file MIB dello switch possono essere decompressi e collocati nella stessa posizione dei file MIB di Net-SNMP; tuttavia, per evitare problemi di compatibilità, non sovrascrivere le versioni Net-SNMP di eventuali file che si sovrappongono tra i due set.
Una volta che tutti i file MIB si trovano nella posizione appropriata, i MIB rilevanti possono essere chiamati utilizzando l'argomento "-m" con il comando desiderato.
Ad esempio:
snmpget -v 3 -u snmpuser -l authPriv \
-a SHA -A [authentication_password] \
-x AES -X [privacy_password] \
-m +CISCO SB-COPY-MIB 192.168.111.253 rlCopyOptionsRequestedSsdAccess.1
"CISCOSB-COPY-MIB" è il nome del MIB stesso e non il file che lo descrive, ovvero CISCOSB-copy.mib.
Per ulteriori informazioni su come utilizzare gli strumenti Net-SNMP, vedere la documentazione e le esercitazioni disponibili sul sito Web Net-SNMP.
A questo punto, è possibile conoscere tutte le procedure per attivare la copia dei file di configurazione da uno switch Cisco Business a un server TFTP tramite SNMP.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
1.0 |
28-Mar-2025
|
Versione iniziale |