O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
Este documento descreve o uso e a implementação do programa First Responder para o Cisco Secure Firewall.
Não existem requisitos específicos para este documento.
Este documento é baseado nos produtos Cisco Secure Firewall.
As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a rede estiver ativa, certifique-se de que você entenda o impacto potencial de qualquer comando.
O programa First Responder foi criado pelo TAC para facilitar e agilizar o fornecimento de dados de diagnóstico para os casos abertos. Há dois componentes principais que compõem o programa:
Este e-mail é enviado no início do caso com instruções sobre como coletar e carregar dados de diagnóstico para análise do TAC. Há várias tecnologias que aproveitam esse sistema, e cada e-mail é mapeado para a tecnologia e subtecnologia escolhida quando o caso é criado.
Cada implementação do programa First Responder tem sua própria maneira exclusiva de lidar com a coleta e a entrega de dados. A implementação do Secure Firewall utiliza o script firepower.py Python criado pelo TAC para realizar isso. O processo de e-mail automatizado gera um comando de uma linha, exclusivo para esse caso específico, que pode ser copiado e colado na CLI dos dispositivos do Secure Firewall para execução.
Há determinadas tecnologias que são ativadas para o programa de socorristas. Isso significa que sempre que um caso é aberto contra uma dessas tecnologias habilitadas, um e-mail de socorrista é enviado. Se você receber um e-mail de resposta e não acreditar que as solicitações de dados são relevantes, não hesite em ignorar a comunicação.
Para o caso de uso do Secure Firewall, o programa de socorristas é limitado ao software Firepower Threat Defense (FTD). Se você executar uma base de código do Adaptive Security Appliance (ASA), ignore este e-mail. Como esses dois produtos são executados no mesmo hardware, geralmente se observa que os casos de ASA são criados no espaço de tecnologia do Secure Firewall, que gera o e-mail do respondente principal.
Aqui está um exemplo de e-mail automatizado enviado como parte deste programa:
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 -fr --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 -fr --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
Os e-mails automatizados do programa de socorristas são divididos em duas partes, conhecidas como o bloco de introdução e o bloco de solicitação de dados.
O bloco de introdução é uma sequência de caracteres estática que é incluída em cada e-mail de resposta inicial. Esta frase introdutória serve simplesmente para fornecer contexto ao(s) bloco(s) de solicitação de dados. Aqui está um exemplo de um bloco de introdução:
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:
Os blocos de solicitação de dados são o coração do programa de primeiros respondentes. Cada bloco é um conjunto predefinido de etapas para coletar dados para uma determinada tecnologia. Conforme mencionado na seção Informações de Segundo Plano, cada bloco de solicitação de dados é mapeado para uma tecnologia específica. Essa é a mesma tecnologia escolhida para abrir um caso de suporte. Normalmente, o e-mail automatizado contém um único bloco de solicitação de dados. No entanto, se a tecnologia escolhida tiver mais de um bloco de solicitação de dados mapeado, várias solicitações de dados serão incluídas no e-mail. Aqui está um formato de exemplo do bloco de Solicitação de Dados com várias solicitações de dados:
*** <REQUEST NAME 1> ***
<REQUEST 1 STEPS>
*** <REQUEST NAME 2> ***
<REQUEST 2 STEPS>
Por exemplo, no caso do Firewall seguro, vários blocos de solicitação de dados são frequentemente incluídos quando uma solicitação é feita para assistência com problemas de VPN de acesso remoto (RA-VPN) com Defesa contra ameaças (FTD) Firepower, já que a tecnologia VPN também tem um bloco de solicitação de dados mapeado configurado para assistência na coleta dos pacotes DART.
Especificamente para o caso de uso do Secure Firewall, um comando exclusivo de uma linha é gerado para cada caso como parte do e-mail automatizado. Aqui está uma divisão da estrutura do comando de uma linha:
Nota: O sinalizador -k é necessário para qualquer versão do FMC anterior à 6.4 e qualquer versão do FTD anterior à 6.7, uma vez que o certificado de raiz usado pelo CXD não era confiável pelos dispositivos Firepower até que o FMC versão 6.4 e o FTD versão 6.7, isso causa falha na verificação do certificado.
O objetivo principal do script é gerar e carregar um pacote de diagnóstico do dispositivo Secure Firewall conhecido como solução de problemas. Para gerar esse arquivo de solução de problemas, o script firepower.py simplesmente chama o script incorporado sf_troubleshoot.pl que é responsável pela criação desse pacote. Esse é o mesmo script que é chamado quando você gera uma solução de problemas a partir da GUI. Além do arquivo de solução de problemas, o script também pode coletar outros dados de diagnóstico que não estão incluídos como parte do pacote de solução de problemas. Atualmente, os únicos dados adicionais que podem ser coletados são os arquivos centrais - mas isso pode ser expandido no futuro se a necessidade surgir. O script pode ser executado no modo Automação ou Interativo:
Este modo é ativado e usa a opção —autoupload quando você executa o script. Esta opção desativa os prompts interativos, ativa a coleta de arquivos principais e carrega automaticamente os dados no caso. O comando de uma linha gerado pelo e-mail automatizado inclui a opção —autoupload.
Este é o modo de execução padrão do script. Nesse modo, o usuário recebe avisos para confirmar se deve ou não coletar dados de diagnóstico adicionais, como arquivos de núcleo. Independentemente do modo de execução, uma saída significativa é impressa na tela e registrada em um arquivo de registro para indicar o andamento da execução dos scripts. O script em si é amplamente documentado através de comentários de código em linha e pode ser baixado/revisado em https://cxd.cisco.com/public/ctfr/firepower.py.
Aqui está um exemplo de uma execução bem-sucedida do script:
root@ftd:/home/admin# curl -k -s -S https://cxd.cisco.com/public/ctfr/firepower.py | python - -c 666666666 -t aBcDeFgHiJkLmNoP -fr --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!
Observe que este exemplo de saída inclui carregamentos de arquivos principais. Se não houver arquivos principais presentes no dispositivo, a mensagem "No core files found. Skipping core file processing" será apresentada.
Problemas comuns
Aqui estão alguns problemas comuns que você pode experimentar (em ordem de processo / execução):
Segurança de e-mail/Regravação de URL
Muitas vezes, observa-se que o usuário final tem algum nível de segurança de e-mail que regrava o URL. Isso altera o comando de uma linha gerado como parte do e-mail automatizado. Isso resulta em uma falha de execução, pois a URL para receber o script foi regravada e é inválida. Aqui está um exemplo do comando esperado de uma linha:
curl -s -S https://cxd.cisco.com/public/ctfr/firepower.py | python - -c 666666666 -t aBcDeFgHiJkLmNoP -fr --auto-upload &
Etapas a serem resolvidas
Se o URL no comando do e-mail for qualquer outro diferente de https://cxd.cisco.com/public/ctfr/firepower.py, o URL provavelmente foi regravado em trânsito. Para corrigir esse problema, basta substituir o URL antes de executar o comando.
Falha de DNS
Este erro de curva geralmente é visto quando o dispositivo não consegue resolver a URL para baixar o script:
curl: (6) Could not resolve host: cxd.cisco.com
Etapas a serem resolvidas
Para corrigir esse problema, verifique as configurações DNS no dispositivo para garantir que ele possa resolver a URL corretamente para continuar.
Falha ao abrir/criar arquivo de log
Uma das primeiras coisas que o script tenta fazer é criar (ou abrir, se já existir) um arquivo de log chamado first-responder.log no diretório de trabalho atual. Se essa operação falhar, um erro que indica um problema de permissão simples será exibido:
Permission denied while trying to create log file. Are you running this as root?
Como parte dessa operação, todos os outros erros são identificados e impressos na tela neste formato:
Something unexpected happened while trying to create the log file. Here is the error:
----------
<EXCEPTION BODY>
----------
Etapas a serem resolvidas
Para corrigir esse erro, basta executar o script como um usuário administrativo, como admin ou root.
Falha ao abrir/gravar arquivo de notificação
Como parte da execução do script, um arquivo de 0 bytes chamado first_responder_notify é criado no sistema. Em seguida, esse arquivo é carregado no caso como parte da automação desse programa. Esse arquivo é gravado no diretório "/var/common". Se o usuário que executa o script não tiver permissões suficientes para gravar arquivos neste diretório, o script exibirá o erro:
Failed to create file -> `/var/common/first_responder_notify`. Permission denied. Are you running as root?
Etapas a serem resolvidas
Para corrigir esse erro, basta executar o script como um usuário administrativo, como admin ou root.
Observação: se for encontrado um erro não relacionado a permissões, um erro de chamada geral será impresso na tela
"Unexpected error while trying to open file -> `/var/common/first_responder_notify`. Please check first-responder.log file for full error". O corpo completo da exceção pode ser encontrado em first-respondedor.log .
Falha ao Bloquear o Arquivo sf_troubleshoot.pid
Para garantir que apenas um processo de geração de solução de problemas seja executado de cada vez, o script de geração de solução de problemas tenta bloquear o arquivo /var/sf/run/sf_troubleshoot.pid antes de continuar. Se o script falhar ao bloquear o arquivo, um erro será exibido:
Failed to run the `sf_troubleshoot.pl` command - existing sf_troubleshoot process detected. Please wait for existing process to complete.
Etapas a serem resolvidas
Na maioria das vezes, esse erro significa que uma tarefa separada de geração de solução de problemas já está em andamento. Às vezes, isso é resultado de usuários que executam acidentalmente o comando de uma linha duas vezes seguidas. Para corrigir esse problema, aguarde a conclusão do trabalho de geração de solução de problemas atual e tente novamente mais tarde.
Observação: se ocorrer um erro no próprio script sf_troubleshoot.pl, esse erro será exibido na tela "
Unexpected PROCESS error while trying to run `sf_troubleshoot.pl` command. Please check first-responder.log file for full error"
. O corpo completo da exceção pode ser encontrado em first-respondedor.log .
Problemas de upload
Há uma função de carregamento comum no script que é responsável por todos os carregamentos de arquivos durante a execução dos scripts. Esta função é simplesmente um wrapper python para executar um comando curl upload para enviar os arquivos para o caso. Por causa disso, qualquer erro encontrado durante a execução retorna como um código de erro curl. No caso de uma falha de carregamento, este erro é exibido na tela:
[FAILURE] Failed to upload `/var/common/first_responder_notify` to 666666666. Please check the first-responder.log file for the full error
Verifique o arquivo first-responder.log para ver o erro completo. Normalmente, o arquivo first-responder.log tem a seguinte aparência:
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
----------
Etapas a serem resolvidas
Nesse caso, o curl retornou um status de saída de 6 , o que significa Não foi possível resolver o host. Esta é uma falha simples de DNS quando você tenta resolver o nome de host cxd.cisco.com . Consulte a documentação da curva para decodificar qualquer status de saída desconhecido.
Informações Relacionadas
Revisão | Data de publicação | Comentários |
---|---|---|
3.0 |
07-May-2024 |
Recertificação |
2.0 |
27-Sep-2022 |
Versão inicial |
1.0 |
27-Sep-2022 |
Versão inicial |