La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Per alcuni Paesi, Cisco potrebbe rendere disponibile la traduzione del presente contenuto nella lingua locale. Le traduzioni vengono fornite esclusivamente a scopo informativo; in caso di incongruenze, prevale la versione in inglese.
Questo documento descrive l'utilizzo e l'implementazione del programma First Responder per Cisco Secure Firewall.
Nessun requisito specifico previsto per questo documento.
Questo documento è basato sui prodotti Cisco Secure Firewall.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
Il programma First Responder è stato creato da TAC per semplificare e velocizzare la fornitura di dati diagnostici per i casi aperti. Il programma è costituito da due componenti principali:
Questa e-mail viene inviata all'inizio della richiesta con istruzioni su come raccogliere e caricare i dati diagnostici per l'analisi TAC. Esistono diverse tecnologie che sfruttano questo sistema e ogni e-mail viene mappata sulla "Tecnologia" e sulla "Sottotecnologia" che vengono scelte al momento della creazione del caso.
Ogni implementazione del programma First Responder dispone di un proprio modo esclusivo per gestire la raccolta e la consegna dei dati. A tale scopo, l'implementazione Secure Firewall utilizza lo script firepower.py Python creato da TAC. Il processo di posta elettronica automatizzato genera un comando a riga singola, specifico per questo caso specifico, che può essere copiato e incollato nella CLI dei dispositivi Secure Firewall da eseguire.
Alcune tecnologie sono abilitate per il primo programma responder. Ciò significa che ogni volta che viene aperta una richiesta relativa a una di queste tecnologie abilitate, viene inviata una e-mail del primo responder. Se ricevi un'e-mail con il primo responder e non ritieni che la richiesta di dati sia rilevante, non esitare a ignorare la comunicazione.
Nel caso di utilizzo di Secure Firewall, il primo programma di risposta è limitato al software Firepower Threat Defense (FTD). Se si esegue una base di codice ASA (Adaptive Security Appliance), ignorare questa e-mail. Poiché i due prodotti vengono eseguiti sullo stesso hardware, si osserva generalmente che le richieste ASA vengono create nello spazio della tecnologia Secure Firewall, che genera l'e-mail del primo risponditore.
Di seguito è riportato un esempio della posta elettronica automatizzata inviata come parte di questo programma:
From: first-responder@cisco.com <first-responder@cisco.com>
Sent: Thursday, September 1, 2022 12:11 PM
To: John Doe <john.doe@cisco.com>
Cc: attach@cisco.com
Subject: SR 666666666 - First Responder Automated E-mail
Dear John,
In an effort to resolve your case faster it may be necessary to collect some diagnostic data from your environment.
Based on the problem statement you provided, below are a few pieces of data that would help speed the resolution and the steps to collect them:
*** Troubleshoot File ***
* Connect to the device using SSH
* Issue the command expert, skip this step for FMC version 6.4.x and earlier
* Issue the command sudo su
* When prompted for the password, enter your password.
* For FMC 6.4 or FTD 6.7 and later issue the command
curl -s -S https://cxd.cisco.com/public/ctfr/firepower.py | python - -c 666666666 -t aBcDeFgHiJkLmNoP --auto-upload &
* For FMC 6.3 or FTD 6.6 and earlier issue the command
curl -k -s -S https://cxd.cisco.com/public/ctfr/firepower.py | python - -c 666666666 -t aBcDeFgHiJkLmNoP --auto-upload &
For more information on what this command does, or to understand why you are receiving this e-mail - please refer to
<LINK_TO_THIS_ARTICLE>
For 6.3 and earlier versions we recommend confirming cxd.cisco.com resolves to <CURRENT_CXD_IP1> or
<CURRENT_CXD_IP2>. Furthermore, we recommend validating the SHA checksum of the file by running
url -s -k https://cxd.cisco.com/public/ctfr/firepower.py | shasum which should output <CURRENT_SHA>.
If you are unable to upload troubleshooting files (or would prefer not to), please let us know what
hardware and software version ou are running if you have not already.
Sincerely, First Responder Team
Le e-mail automatiche per il programma di primo responder sono suddivise in due parti note come blocco introduzione e blocco richiesta dati.
Il blocco di introduzione è una stringa statica inclusa in ogni messaggio di posta elettronica del primo destinatario. Questa frase introduttiva serve semplicemente a fornire il contesto ai blocchi di richiesta dati. Di seguito è riportato un esempio di blocco di introduzione:
Dear <NAME>,
In an effort to resolve your case faster it may be necessary to collect some diagnostic data from your environment.
Based on the problem statement you provided, below are a few pieces of data that would help speed the resolution
and the steps to collect them:
I blocchi di richiesta dati costituiscono il cuore del primo programma responder. Ogni blocco è costituito da una serie di passaggi predefiniti per la raccolta di dati per una determinata tecnologia. Come indicato nella sezione Informazioni di base, ogni blocco di richiesta di dati viene mappato a una tecnologia specifica. Questa è la stessa tecnologia scelta per aprire una richiesta di assistenza. In genere l'e-mail automatica contiene un singolo blocco di richiesta dati. Tuttavia, se alla tecnologia scelta è associato più di un blocco di richiesta dati, nel messaggio di posta elettronica vengono incluse più richieste di dati. Di seguito è riportato un esempio di formato del blocco Richiesta dati con più richieste di dati:
*** <REQUEST NAME 1> ***
<REQUEST 1 STEPS>
*** <REQUEST NAME 2> ***
<REQUEST 2 STEPS>
Ad esempio, nel caso di Secure Firewall, i blocchi di richiesta di dati multipli sono spesso inclusi quando viene inoltrata una richiesta di assistenza con problemi di VPN ad accesso remoto (RA-VPN) con Firepower Threat Defense (FTD), in quanto la tecnologia VPN ha anche un blocco di richiesta di dati mappato configurato per l'assistenza a raccogliere i bundle DART.
Nello specifico, per il caso di utilizzo Secure Firewall, come parte dell'e-mail automatizzata viene generato un unico comando di una riga per ogni caso. Di seguito è riportata una descrizione dettagliata della struttura del comando a riga singola:
Nota: Il flag -k è richiesto per tutte le versioni FMC precedenti alla 6.4 e per tutte le versioni FTD precedenti alla 6.7, poiché il certificato radice utilizzato da CXD non è stato considerato attendibile dai dispositivi Firepower fino alla versione 6.4 e FTD 6.7. Ciò impedisce la verifica del certificato.
L'obiettivo principale dello script è quello di generare e caricare un pacchetto diagnostico dal dispositivo Secure Firewall, noto come "risoluzione dei problemi". Per generare questo file di risoluzione dei problemi, lo script firepower.py chiama semplicemente lo script sf_troubleshoot.pl incorporato responsabile della creazione del bundle. Questo è lo stesso script che viene chiamato quando generiamo una risoluzione dei problemi dalla GUI. Oltre al file di risoluzione dei problemi, lo script ha anche la capacità di raccogliere altri dati di diagnostica non inclusi nel pacchetto di risoluzione dei problemi. Al momento, gli unici dati aggiuntivi che possono essere raccolti sono i file di base, ma possono essere estesi in futuro se necessario. Lo script può essere eseguito in modalità "Automazione" o "Interattiva":
Questa modalità viene attivata quando si utilizza l'opzione "—auto-upload" durante l'esecuzione dello script. Questa opzione disabilita i prompt interattivi, abilita la raccolta di file di base e carica automaticamente i dati nella richiesta. Il comando a riga singola generato dall'e-mail automatizzata include l'opzione "—auto-upload".
Questa è la modalità di esecuzione predefinita per lo script. In questa modalità l'utente riceve una richiesta di conferma per la raccolta di ulteriori dati diagnostici, ad esempio i file di base. Indipendentemente dalla modalità di esecuzione, l'output significativo viene stampato sullo schermo e registrato in un file di log per indicare l'avanzamento dell'esecuzione degli script. Lo script è ampiamente documentato tramite commenti sul codice in linea e può essere scaricato/rivisto dal sito https://cxd.cisco.com/public/ctfr/firepower.py.
Di seguito è riportato un esempio di esecuzione riuscita dello script:
root@ftd:/home/admin# curl -k -s -S https://cxd.cisco.com/public/ctfr/firepower.py | python - -c 666666666 -t aBcDeFgHiJkLmNoP --auto-upload &
[1] 26422
root@ftd:/home/admin#
`/var/common/first_responder_notify` successfully uploaded to 666666666
Running sf_troubleshoot.pl command to create a troubleshoot file...
Troubleshoot file successfully generated at /ngfw/var/common/results-08-30-2022--135014.tar.gz
Attempting to upload troubleshoot to case...
############################################################################################################################ 100.0%
`/ngfw/var/common/results-08-30-2022--135014.tar.gz` successfully uploaded to 666666666
Found the following core files:
(0 B) - /ngfw/var/common/core_FAKE1.gz
(0 B) - /ngfw/var/common/core_FAKE2.gz
(0 B) - /ngfw/var/common/core_FAKE3.gz
Successfully created /ngfw/var/common/cores_666666666-1661867858.tar.gz
Attempting core file upload...
############################################################################################################################# 100.0%
`/ngfw/var/common/cores_6666666660-1661867858.tar.gz` successfully uploaded to 666666666
FINISHED!
Questo esempio di output include il caricamento di file core. Se nel dispositivo non sono presenti file di base, viene visualizzato un messaggio "No core files found. Skipping core file processing"
viene invece presentato.
Di seguito sono riportati alcuni problemi comuni che è possibile riscontrare (in ordine di processo/esecuzione):
Spesso si osserva che l'utente finale dispone di un certo livello di protezione della posta elettronica che consente di riscrivere l'URL. In questo modo viene alterato il comando a riga singola generato come parte della posta elettronica automatizzata. Ciò determina un errore di esecuzione poiché l'URL di pull dello script è stato riscritto e non è valido. Di seguito è riportato un esempio del comando previsto su una riga:
curl -s -S https://cxd.cisco.com/public/ctfr/firepower.py | python - -c 666666666 -t aBcDeFgHiJkLmNoP --auto-upload &
Se l'URL nel comando contenuto nell'e-mail è diverso da "https://cxd.cisco.com/public/ctfr/firepower.py", è probabile che sia stato riscritto. Per risolvere il problema, sostituire l'URL prima di eseguire il comando.
Questo errore curl viene spesso visualizzato quando il dispositivo non è in grado di risolvere l'URL per scaricare lo script:
curl: (6) Could not resolve host: cxd.cisco.com
Per risolvere il problema, controllare le impostazioni DNS nel dispositivo per assicurarsi che sia in grado di risolvere correttamente l'URL per continuare.
Una delle prime operazioni che lo script tenta di eseguire è la creazione (o l'apertura, se esiste già) di un file di log denominato first-responder.log nella directory di lavoro corrente. Se l'operazione non riesce, viene visualizzato un errore che indica un problema di autorizzazione semplice:
Permission denied while trying to create log file. Are you running this as root?
Nell'ambito di questa operazione, tutti gli altri errori vengono identificati e stampati sullo schermo nel seguente formato:
Something unexpected happened while trying to create the log file. Here is the error:
----------
----------
Per correggere l'errore, eseguire lo script come utente amministrativo, ad esempio "admin" o "root".
Come parte dell'esecuzione dello script, nel sistema viene creato un file di 0 byte denominato "first_responder_notification". Il file viene quindi caricato nella richiesta come parte dell'automazione di questo programma. Questo file viene scritto nella directory "/var/common". Se l'utente che esegue lo script non dispone di autorizzazioni sufficienti per scrivere file in questa directory, lo script visualizza l'errore:
Failed to create file -> `/var/common/first_responder_notify`. Permission denied. Are you running as root?
Per correggere l'errore, eseguire lo script come utente amministrativo, ad esempio "admin" o "root".
Nota: Se viene rilevato un errore non correlato alle autorizzazioni, viene visualizzato un errore catch-all "Unexpected error while trying to open file -> `/var/common/first_responder_notify`. Please check first-responder.log file for full error"
. Il corpo completo dell'eccezione è disponibile nel file first-responder.log.
Per garantire l'esecuzione di un solo processo di generazione di risoluzione dei problemi alla volta, lo script di generazione di risoluzione dei problemi tenta di bloccare il file /var/sf/run/sf_troubleshoot.pid prima di procedere. Se lo script non riesce a bloccare il file, viene visualizzato un errore:
Failed to run the `sf_troubleshoot.pl` command - existing sf_troubleshoot process detected. Please wait for existing process to complete.
Nella maggior parte dei casi, questo errore indica che è già in corso un'attività di generazione per la risoluzione dei problemi separata. A volte questo è il risultato dell'esecuzione accidentale del comando a riga singola due volte di seguito. Per risolvere il problema, attendere il completamento del processo di generazione di risoluzione dei problemi corrente e riprovare più tardi.
Nota: Se si verifica un errore all'interno dello script sf_troubleshoot.pl, questo errore viene visualizzato sullo schermo "Unexpected PROCESS error while trying to run `sf_troubleshoot.pl` command. Please check first-responder.log file for full error"
. Il corpo completo dell'eccezione è disponibile nel file first-responder.log.
Nello script è disponibile una funzione di caricamento comune responsabile del caricamento di tutti i file durante l'esecuzione degli script. Questa funzione è semplicemente un wrapper Python per eseguire un comando curl upload per inviare i file alla richiesta. Per questo motivo, gli eventuali errori rilevati durante l'esecuzione vengono restituiti come codice di errore curl. In caso di errore di caricamento, sullo schermo viene visualizzato questo errore:
[FAILURE] Failed to upload `/var/common/first_responder_notify` to 666666666. Please check the first-responder.log file for the full error
Controllare il file first-responder.log per verificare l'errore completo. In genere, il file first-responder.log ha il seguente aspetto:
08/29/2022 06:51:57 PM - WARNING - Upload Failed with the following error:
----------
Command '['curl', '-k', '--progress-bar', 'https://666666666:aBcDeFgHiJkLmNoP@cxd.cisco.com/home/',
'--upload-file', '/var/common/first_responder_notify']' returned non-zero exit status 6
----------
In questo caso, l'url ha restituito uno stato di uscita di 6 che significa " Impossibile risolvere l'host ". Si tratta di un semplice errore DNS durante il tentativo di risolvere il nome host cxd.cisco.com . Consultare la documentazione dell'URL per decodificare eventuali stati di uscita sconosciuti.
Revisione | Data di pubblicazione | Commenti |
---|---|---|
2.0 |
27-Sep-2022 |
Release iniziale |
1.0 |
27-Sep-2022 |
Versione iniziale |