Contents

Introduction

Overview

Estabelecimento de conexão do eStreamer

Configurar

ajuste de arquivo estreamer.conf

Troubleshoot

Itens a serem coletados antes de você entrar em contato com o Cisco Technical Assistance Center (TAC)

Problemas comuns

Sem conectividade na porta TCP 8302

O certificado CN não corresponde ao host remoto

A resolução do FMC DNS para o cliente eStreamer está incorreta

Problema de comunicação do eStreamer devido a erro de certificado SSL

Endereço IP errado configurado no eStreamer para integração do módulo ASA SFR

Formato de evento comum do ArcSight (CEF)

O cliente do eStreamer não mostra todos os logs

Perguntas frequentes (FAQ)

Problemas conhecidos

Informações Relacionadas

Introduction

Este documento descreve o cliente CLI do Cisco Event Streamer (também conhecido como eStreamer). Especificamente, ele descreve a operação e fornece informações de solução de problemas. Além disso, ele aborda problemas comuns observados pelo Cisco Technical Assistance Center (TAC) junto com perguntas frequentes (FAQ).

Contribuído por David Torres Rivas, Mikis Zafeiroudis, Engenheiros do TAC da Cisco.

Overview

O Ncore é um cliente multiuso, que solicita todos os eventos possíveis do servidor eStreamer (FMC), analisa o conteúdo binário e realiza eventos em vários formatos para suportar outras ferramentas de Informações de Segurança e Gerenciamento de Eventos (SIEMs).

Estabelecimento de conexão do eStreamer

O cliente (Núcleo) inicia uma conexão com a porta TCP 8302 do FMC, onde o handshake SSL é executado:

1: 11:34:02.901091 192.168.27.100.46538 > 10.48.26.49.8302: S 1607291631:1607291631(0) win 29200 <mss 1460,sackOK,timestamp 2350959 0,nop,wscale 10>

2: 11:34:02.902220 10.48.26.49.8302 > 192.168.27.100.46538: S 2529774236:2529774236(0) ack 1607291632 win 28960 <mss 1380,sackOK,timestamp 940036669 2350959,nop,wscale 7>

3: 11:34:02.902739 192.168.27.100.46538 > 10.48.26.49.8302: . ack 2529774237 win 29 <nop,nop,timestamp 2350959 940036669>

O FMC aceita a conexão, executa o handshake SSL na mesma porta e verifica o nome comum do cliente (CN):

Mar  2 11:45:06 FMC SF-IMS[22601]: [22601] Event Streamer:ConnectionHandler [INFO] Accepted IPv4 connection from 10.48.26.47:46538/tcp

Mar  2 11:45:06 FMC SF-IMS[22601]: [22601] Event Streamer:ConnectionHandler [INFO] Added 10.48.26.47 to host table

Mar  2 11:45:06 FMC SF-IMS[22601]: [22601] Event Streamer:ConnectionHandler [INFO] Added 10.48.26.47(23935) to host table

Mar  2 11:45:06 FMC SF-IMS[23935]: [23935] EventStreamer child(10.48.26.47):ConnectionHandler [INFO] Resolved CN 10.48.26.47 to 10.48.26.47

Mar  2 11:45:06 FMC SF-IMS[23935]: [23935] EventStreamer child(10.48.26.47):ConnectionHandler [INFO] Matched Certificate CN:10.48.26.47 to 10.48.26.47 (IPv4)

Mar  2 11:45:06 FMC SF-IMS[23935]: [23935] EventStreamer child(10.48.26.47):sfestreamer [INFO] Got EVENT_STREAM_REQUEST length 8

Mar  2 11:45:06 FMC SF-IMS[23935]: [23935] EventStreamer child(10.48.26.47):sfestreamer [INFO] Publishing service INFO total data size 48

Mar  2 11:45:06 FMC SF-IMS[23935]: [23935] EventStreamer child(10.48.26.47):sfestreamer [INFO] Publishing service id:5001 - length size 8

Mar  2 11:45:06 FMC SF-IMS[23935]: [23935] EventStreamer child(10.48.26.47):sfestreamer [INFO] Publishing service id:5000 - length size 8

Mar  2 11:45:06 FMC SF-IMS[23935]: [23935] EventStreamer child(10.48.26.47):sfestreamer [INFO] Publishing service id:6667 - length size 8

O cliente eStreamer verifica então sua configuração e seu arquivo de favoritos para determinar quais eventos solicitar e a hora de início:

2020-03-02 07:18:11,500 Connection   INFO     Connecting to 10.48.26.49:8302

2020-03-02 07:18:11,500 Connection   INFO     Using TLS v1.2

2020-03-02 07:18:11,500 Monitor      INFO     Starting Monitor.

2020-03-02 07:18:11,500 Monitor      INFO     Starting. 0 handled; average rate 0 ev/sec;

2020-03-02 07:18:11,501 Writer       INFO     Starting process.

2020-03-02 07:18:11,506 Transformer  INFO     Starting process.

2020-03-02 07:18:11,985 Bookmark     INFO     Bookmark file /root/eStreamer-eNcore/10.48.26.49-8302_bookmark.dat does not exist.

2020-03-02 07:18:11,986 Settings     INFO     Timestamp: Start = 2 (Bookmark = 0)

2020-03-02 07:18:11,986 Receiver     INFO     EventStreamRequestMessage: 00010002000000080000000048900061

2020-03-02 07:18:11,986 SubscriberParser INFO     Starting process.

2020-03-02 07:18:11,996 Bookmark     INFO     Bookmark file /root/eStreamer-eNcore/10.48.26.49-8302_bookmark.dat does not exist.

2020-03-02 07:18:11,996 Settings     INFO     Timestamp: Start = 2 (Bookmark = 0)

2020-03-02 07:18:11,997 Receiver     INFO     StreamingRequestMessage: 000108010000003800001a0b0000003848900061000000000009000c000400150009001f000b003d000e00470004005b000700650006006f0002008300000000

O EventStreamRequest pode ser correlacionado no FMC:

Mar  2 12:29:16 FMC SF-IMS[6671]: [6671] EventStreamer child(10.48.26.47):sfestreamer [INFO] EventStream Request (0x48900061): Since 0 w/ NS Events w/ NS 6.0 Events

w/ Packets w/ Extra IDS Event data w/ Metadata v4 w/ RUA 5.2 Events w/ Impact Alerts w/ 5.3 Impact Alerts w/ Impact Flags w/ RNA 5.3 Events w/ RNA 6.0 Flow w/ Policy 5.4 Events

w/ FireAMP 6.0 Events w/ Filelog 6.0 Events w/ Send archive timestamp  w/ Send Detail Request

EventStreamRequest é a representação hexadecimal dos sinalizadores de solicitação descritos nos Sinalizadores de Solicitação e deve ser convertido em binário para entender se o cliente solicitou os dados necessários. Este é um exemplo:

Note: Alguns bits de flag podem alterar as informações fornecidas se solicitações estendidas forem iniciadas.

Com base nos bits de solicitação, o FMC envia os dados para o cliente eStreamer.

Quem inicia a conexão e a transferência de dados do eStreamer?

O cliente eStreamer. Especificamente, o cliente estabelece uma conexão TCP (handshake triplo) e, em seguida, há uma negociação SSL com autenticação de cliente (mútua). Finalmente, através do túnel estabelecido, o CVP envia os dados sempre que houver dados a enviar:

root@kali:~/eStreamer-eNcore# ./encore.sh foreground

2020-06-03 20:50:53,365 Monitor      INFO     Running. 100 handled; average rate 0.42 ev/sec;

2020-06-03 20:52:53,488 Monitor      INFO     Running. 100 handled; average rate 0.28 ev/sec;

2020-06-03 20:54:53,601 Monitor      INFO     Running. 100 handled; average rate 0.21 ev/sec;

2020-06-03 20:56:53,725 Monitor      INFO     Running. 100 handled; average rate 0.17 ev/sec;

Em resumo:

- O cliente inicia o túnel SSL para solicitar dados (pull)

- Quando o túnel é estabelecido, o túnel fica ATIVADO e o FMC envia os dados (por exemplo, Eventos de Conexão) sempre que os obtém dos dispositivos gerenciados

Neste exemplo, o IP 10.62.148.41 é o cliente eStreamer (Núcleo) enquanto o IP 10.62.148.75 é o FMC:

Configurar

Para obter detalhes sobre o cliente CLI do Ncore, consulte o eStreamer eNcore CLI Operations Guide v3.5.

Os detalhes do aplicativo eStreamer juntamente com as etapas de configuração do FMC são abordados no Guia de Integração do Streamer de Eventos.

ajuste de arquivo estreamer.conf

Esta seção descreve o que pode ou deve ser modificado no estreamer.conf para que a solução funcione corretamente. O arquivo estreamer.conf está localizado no diretório path/eStreamer-Ncore. Aqui está um exemplo do conteúdo do arquivo:

root@kali:~/eStreamer-eNcore# cat estreamer.conf

{

"connectTimeout": 10,

"enabled": true,

"handler": {

"output@comment": "If you disable all outputters it behaves as a sink",

"outputters": [

{

"adapter": "json",

"enabled": true,

"stream": {

"options": {

"maxLogs": 10000,

"rotate": true

},

"uri": "relfile:///data/json/encore.{0}.json"

}

}

],

"records": {

"connections": true,

"core": true,

"excl@comment": [

"These records will be excluded regardless of above (overrides 'include')",

"e.g. to exclude flow and IPS events use [ 71, 400 ]"

],

"exclude": [],

"inc@comment": "These records will be included regardless of above",

"include": [],

"intrusion": true,

"metadata": true,

"packets": true,

"rna": true,

"rua": true

}

},

"logging": {

"filepath": "estreamer.log",

"format": "%(asctime)s %(name)-12s %(levelname)-8s %(message)s",

"lev@comment": "Levels include FATAL, ERROR, WARNING, INFO, DEBUG, VERBOSE and TRACE",

"level": "INFO",

"stdOut": true

},

"monitor": {

"bookmark": false,

"handled": true,

"period": 120,

"subscribed": true,

"velocity": false

},

"responseTimeout": 2,

"star@comment": "0 for genesis, 1 for now, 2 for bookmark",

"start": 2,

"subscription": {

"records": {

"@comment": [

"Just because we subscribe doesn't mean the server is sending. Nor does it mean",

"we are writing the records either. See handler.records[]"

],

"archiveTimestamps": true,

"eventExtraData": true,

"extended": true,

"impactEventAlerts": true,

"intrusion": true,

"metadata": true,

"packetData": true

},

"servers": [

{

"host": "10.62.148.75",

"pkcs12Filepath": "client.pkcs12",

"port": 8302,

"tls@comment": "Valid values are 1.0 and 1.2",

"tlsVersion": 1.2

}

]

},

"workerProcesses": 4

A seção de assinatura

Para modificar a solicitação do Event Streamer para o servidor (FMC), modifique a seção de assinaturas do eStreamer.conf. Por exemplo, quando você define solicitações estendidas como falsas, ela altera a Solicitação EventStream no FMC:

"subscription": {

"records": {

"@comment": [

"Just because we subscribe doesn't mean the server is sending. Nor does it mean",

"we are writing the records either. See handler.records[]"

],

"archiveTimestamps": true,

"connection": true,

"eventExtraData": true,

"extended": false,

"impactEventAlerts": true,

"intrusion": true,

"metadata": true,

"packetData": true

},

Com solicitações estendidas = falso:

Jun 3 13:48:24 firepower SF-IMS[16084]: [16084] EventStreamer child(10.48.26.47):sfestreamer [INFO]

EventStream Request (0x08900061): Since 4294967295 w/ NS Events w/ Packets w/ Extra IDS Event data w/

Metadata v4 w/ Impact Alerts w/ Impact Flags w/ Send archive timestamp

Com solicitações estendidas = verdadeiro:

Jun 3 13:50:52 firepower SF-IMS[17167]: [17167] EventStreamer child(10.48.26.47):sfestreamer [INFO]

EventStream Request (0x48900061): Since 1590497346 w/ NS Events w/ NS 6.0 Events w/ Packets w/ Extra IDS Event data w/ Metadata

v4 w/ RUA 5.2 Events w/ Impact Alerts w/ 5.3 Impact Alerts w/ Impact Flags w/ RNA 5.3 Events w/ RNA 6.0 Flow w/ Policy 5.4 Events

v w/ FireAMP 6.0 Events w/ Filelog 6.0 Events w/ Send archive timestamp w/ Send Detail Request

A seção de registro

Para ativar depurações na CLI do Núcleo, edite o arquivo estreamer.conf e altere o nível de log:

"logging": {

"filepath": "estreamer.log",

"format": "%(asctime)s %(name)-12s %(levelname)-8s %(message)s",

"lev@comment": "Levels include FATAL, ERROR, WARNING, INFO, DEBUG, VERBOSE and TRACE",

"level": "DEBUG",

"stdOut": true

},

A seção do monitor

Para ver o número de eventos/segundo processados e o favorito atual, edite a seção de monitoramento em estreamer.conf:

"monitor": {

"bookmark": true,        #If true, adds date/timestamp (see above)

"handled": true,          #Number of records processed

"period": 120,            #How often (in seconds) monitor writes to the log

"subscribed": true,       #Number of records received

"velocity": false         #A measure of whether eNcore is keeping up (>=1 is good)

},

Outras chaves de nível superior relevantes:

"connectTimeout": 10,     <- The number of seconds to wait for a response when establishing a connection to the FMC.

"workerProcesses": 4,     <- The number of processes that eNcore spawns.

Esse valor pode ser definido de 2 a 12. Mais processos têm como objetivo melhorar o desempenho, mas há um custo adicional com cada processo. O resultado é que o desempenho ideal é obtido com a combinação certa de "número de processos" com a capacidade de processamento da máquina host. As melhores diretrizes disponíveis são:

- Para 2 núcleos: "Processos de trabalho": 4

- Para 4 ou mais núcleos: "Processos de trabalho": 12

Troubleshoot

Para procedimentos genéricos de solução de problemas do eStreamer, consulte este documento Solução de problemas entre o sistema FireSIGHT e o cliente do eStreamer (SIEM)

Para fins de teste, você pode ativar o eNcore como um processo de primeiro plano e verificar a comunicação com o FMC

root@kali:~/eStreamer-eNcore# ./encore.sh foreground

2020-06-04 11:48:00,048 Controller   INFO     eNcore version: 3.5.4

2020-06-04 11:48:00,049 Controller   INFO     Python version: 2.7.13 (default, Jan 19 2017, 14:48:08) \n[GCC 6.3.0 20170118]

2020-06-04 11:48:00,051 Controller   INFO     Platform version: Linux-4.13.0-kali1-amd64-x86_64-with-Kali-kali-rolling-kali-rolling

2020-06-04 11:48:00,052 Controller   INFO     Starting client (pid=12374).

2020-06-04 11:48:00,052 Controller   INFO     Sha256: 77ac7e72d0b96e0a4b9c1c4f9a16c2de0b2b5ccf2929dd2857cf94ed96b295e3

2020-06-04 11:48:00,052 Controller   INFO     Processes: 4

2020-06-04 11:48:00,053 Controller   INFO     Settings:

…

2020-06-04 11:48:00,053 Diagnostics  INFO     Check certificate

2020-06-04 11:48:00,054 Diagnostics  INFO     Creating connection

2020-06-04 11:48:00,054 Connection   INFO     Connecting to 10.62.148.75:8302

2020-06-04 11:48:00,054 Connection   INFO     Using TLS v1.2

2020-06-04 11:48:00,136 Diagnostics  INFO     Creating request message

2020-06-04 11:48:00,137 Diagnostics  INFO     Request message=0001000200000008ffffffff48900061

2020-06-04 11:48:00,137 Diagnostics  INFO     Sending request message

2020-06-04 11:48:00,137 Diagnostics  INFO     Receiving response message

2020-06-04 11:48:00,229 Diagnostics  INFO     Response message=KGRwMApTJ2xlbmd0aCcKcDEKSTQ4CnNTJ3ZlcnNpb24nCnAyCkkxCnNTJ2RhdGEnCnAzClMnXHgwMFx4MDBceDEzXHg4OVx4MDBceDAwXHgwMFx4MDhceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgxM1x4ODhceDAwXHgwMFx4MDBceDA4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MWFceDBiXHgwMFx4MDBceDAwXHgwOFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJwpwNApzUydtZXNzYWdlVHlwZScKcDUKSTIwNTEKcy4=

2020-06-04 11:48:00,229 Diagnostics  INFO     Streaming info response

2020-06-04 11:48:00,230 Diagnostics  INFO     Connection successful

2020-06-04 11:48:00,230 Monitor      INFO     Starting Monitor.

2020-06-04 11:48:00,236 Decorator    INFO     Starting process.

2020-06-04 11:48:00,236 Transformer  INFO     Starting process.

2020-06-04 11:48:00,237 Connection   INFO     Connecting to 10.62.148.75:8302

2020-06-04 11:48:00,237 Connection   INFO     Using TLS v1.2

2020-06-04 11:48:00,238 Writer       INFO     Starting process.

2020-06-04 11:48:00,639 Bookmark     INFO     Opening bookmark file /root/eStreamer-eNcore/10.62.148.75-8302_bookmark.dat.

2020-06-04 11:48:00,640 Settings     INFO     Timestamp: Start = 2 (Bookmark = 1591210934)

2020-06-04 11:48:00,640 Receiver     INFO     EventStreamRequestMessage: 00010002000000085ed7f3b648900061

2020-06-04 11:48:00,640 SubscriberParser INFO     Starting process.

2020-06-04 11:48:00,640 Bookmark     INFO     Opening bookmark file /root/eStreamer-eNcore/10.62.148.75-8302_bookmark.dat.

2020-06-04 11:48:00,646 Bookmark     INFO     Opening bookmark file /root/eStreamer-eNcore/10.62.148.75-8302_bookmark.dat.

2020-06-04 11:48:00,646 Settings     INFO     Timestamp: Start = 2 (Bookmark = 1591210934)

2020-06-04 11:48:00,647 Receiver     INFO     StreamingRequestMessage: 000108010000003800001a0b00000038489000615ed7f3b60009000c000400150009001f000b003d000e00470004005b000700650006006f0002008300000000

2020-06-04 11:48:00,653 Monitor      INFO     Running. 0 handled; average rate 1.2 ev/sec;

Ao mesmo tempo, no FMC, você pode ver registros como estes quando o cliente Ncore Streader estabelece a conexão. Observe que o fuso horário de back-end do FMC é sempre UTC:

root@FMC2000-2:~# tail -f /var/log/messages

Jun  4 09:48:00 FMC2000-2 SF-IMS[4135]: [4135] Event Streamer:ConnectionHandler [INFO] Accepted IPv4 connection from 10.62.148.41:36528/tcp

Jun  4 09:48:00 FMC2000-2 SF-IMS[4135]: [4135] Event Streamer:ConnectionHandler [INFO] Added 10.62.148.41(8512) to host table

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):SFUtil [INFO] Found IPv4 address 10.62.148.41 for ksec-sfvm-win7-3.cisco.com

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Resolved CN ksec-sfvm-win7-3.cisco.com to 10.62.148.41

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Matched Certificate CN:ksec-sfvm-win7-3.cisco.com to 10.62.148.41 (IPv4)

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):sfestreamer [INFO] Got EVENT_STREAM_REQUEST length 8

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):sfestreamer [INFO] Publishing service INFO total data size 48

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):sfestreamer [INFO] Publishing service id:5001 - length size 8

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):sfestreamer [INFO] Publishing service id:5000 - length size 8

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):sfestreamer [INFO] Publishing service id:6667 - length size 8

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):sfestreamer [INFO] Got UEC_STREAM_REQUEST length 56

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] requested service [6667] timestamp [1591210934]

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 12, version 9

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 21, version 4

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 31, version 9

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 61, version 11

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 71, version 14

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 91, version 4

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 101, version 7

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 111, version 6

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] Got Event type 131, version 2

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):sfestreamer [INFO] EventStream Request (0x48900061): Since 1591210934 w/ NS Events

w/ NS 6.0 Events w/ Packets w/ Extra IDS Event data w/ Metadata v4 w/ RUA 5.2 Events w/ Impact Alerts w/ 5.3 Impact Alerts w/ Impact Flags w/ RNA 5.3 Events w/ RNA 6.0

Flow w/ Policy 5.4 Events w/ FireAMP 6.0 Events w/ Filelog 6.0 Events w/ Send archive timestamp w/ Send Detail Request

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):ConnectionHandler [INFO] creating iterator for service [6667] prefix [unified2.] timestamp [1591210934]

Jun  4 09:48:00 FMC2000-2 SF-IMS[8512]: [8512] EventStreamer child(ksec-sfvm-win7-3.cisco.com):Unified2Iterator [INFO] Opened /var/sf/archive/netmap_2/unified2.1591210800

Jun  4 09:48:02 FMC2000-2 SF-IMS[4135]: [4135] Event Streamer:ConnectionHandler [INFO] Child with pid 8510 exited with status 5120

Jun  4 09:48:02 FMC2000-2 SF-IMS[4135]: [4135] Event Streamer:ConnectionHandler [INFO] Removed host entry for pid: 8510

Jun  4 09:48:04 FMC2000-2 SF-IMS[22296]: [25092] CloudAgent:url_license [INFO] Peer with active URLFiltering: 310f4c00-a415-11ea-bf5b-a2d6028849fe

Jun  4 09:48:04 FMC2000-2 SF-IMS[22296]: [25092] CloudAgent:url_license [INFO] Peer with active URLFiltering: d637b6f0-a414-11ea-ad97-cc17b6ea4c03

Jun  4 09:48:04 FMC2000-2 SF-IMS[22296]: [25092] CloudAgent:url_license [INFO] Peer with active URLFiltering: 873709b8-78b6-11ea-ae87-b82f93835447

Jun  4 09:48:04 FMC2000-2 SF-IMS[22296]: [25092] CloudAgent:url_license [INFO] Peer with active URLFiltering: c7c0217c-78b6-11ea-a719-b7f0a277eb86

Itens a serem coletados antes de você entrar em contato com o Cisco Technical Assistance Center (TAC)

É altamente recomendável coletar esses itens antes de entrar em contato com o Cisco TAC:

- A versão do eStreamer Ncore

- A versão de Python

- A versão do SO host

- Você vê eventos na FMC? Compartilhe uma captura de tela de eventos + configuração do FMC eStreamer

- Ative a depuração na CLI do Núcleo (conforme descrito na 'seção de registro')

- Gerar um arquivo de solução de problemas do FMC

- Forneça estes arquivos do Núcleo:

estreamer.conf

estreamer.log

Problemas comuns

Sem conectividade na porta TCP 8302

Faça Telnet do cliente eStreamer para a porta 8302 do FMC e verifique se a conectividade está estabelecida.

Além disso, você pode usar a opção de teste do Núcleo para testar a conectividade:

root@kali:~/eStreamer-eNcore# ./encore.sh test

2020-05-28T16:02:56.931919 Diagnostics  INFO    Checking that configFilepath (estreamer.conf) exists

2020-05-28 16:02:56,935 Diagnostics  INFO     Check certificate

2020-05-28 16:02:56,936 Diagnostics  INFO     Creating connection

2020-05-28 16:02:56,936 Connection   INFO     Connecting to 10.62.148.75:8302

2020-05-28 16:02:56,936 Connection   INFO     Using TLS v1.2

2020-05-28 16:02:56,946 Diagnostics  INFO     Creating request message

2020-05-28 16:02:56,946 Diagnostics  INFO     Request message=0001000200000008ffffffff48900061

2020-05-28 16:02:56,946 Diagnostics  INFO     Sending request message

2020-05-28 16:02:56,946 Diagnostics  INFO     Receiving response message

2020-05-28 16:02:56,957 Diagnostics  INFO     Response message=KGRwMApTJ2xlbmd0aCcKcDEKSTQ4CnNTJ3ZlcnNpb24nCnAyCkkxCnNTJ2RhdGEnCnAzClMnXHgwMFx4MDBceDEzXHg4OVx4MDBceDAwXHgwMFx4MDhceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgxM1x4ODhceDAwXHgwMFx4MDBceDA4XHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MWFceDBiXHgwMFx4MDBceDAwXHgwOFx4MDBceDAwXHgwMFx4MDBceDAwXHgwMFx4MDBceDAwJwpwNApzUydtZXNzYWdlVHlwZScKcDUKSTIwNTEKcy4=

2020-05-28 16:02:56,957 Diagnostics  INFO     Streaming info response

2020-05-28 16:02:56,957 Diagnostics  INFO     Connection successful

Esta é uma tentativa de conexão bem-sucedida, como se vê no Wireshark (10.62.148.41 é o IP do Núcleo, enquanto 10.62.148.75 é o FMC):

O certificado CN não corresponde ao host remoto

Se o cliente do eStreamer estiver por trás do NAT, o certificado deverá ser gerado com o endereço IP de upstream ou erros como estes são vistos:

Mar  2 11:30:01 FMC SF-IMS[16921]: [16921] Event Streamer:ConnectionHandler [INFO] Accepted IPv4 connection from 10.48.26.47:46529/tcp

Mar  2 11:30:01 FMC SF-IMS[16921]: [16921] Event Streamer:ConnectionHandler [INFO] Added 10.48.26.47 to host table

Mar  2 11:30:01 FMC SF-IMS[16921]: [16921] Event Streamer:ConnectionHandler [INFO] Added 10.48.26.47(17659) to host table

Mar  2 11:30:01 FMC SF-IMS[17659]: [17659] EventStreamer child(192.168.27.100):ConnectionHandler [INFO] Resolved CN 192.168.27.100 to 192.168.27.100

Mar  2 11:30:01 FMC SF-IMS[17659]: [17659] EventStreamer child(192.168.27.100):ConnectionHandler [ERROR] Certificate Common Name 192.168.27.100 does not match remote host: 10.48.26.47. It was issued to a different client.

Mar  2 11:30:02 FMC SF-IMS[16921]: [16921] Event Streamer:ConnectionHandler [INFO] Child with pid 17659 exited with status 0

Mar  2 11:30:02 FMC SF-IMS[16921]: [16921] Event Streamer:ConnectionHandler [INFO] Removed host entry for pid: 17659

A resolução do FMC DNS para o cliente eStreamer está incorreta

Caso o FMC tenha entradas DNS incorretas para o cliente eStreamer, os eventos não chegam ao cliente. Para identificar se esse é o problema, faça uma captura no FMC. Neste exemplo, o FMC recebe um pacote TCP SYN do host cliente do navegador ksec-sfvm-win7-3.cisco.com:

root@FMC2000-2:/var/sf/archive/netmap_2# tcpdump -i eth0 port 8302

HS_PACKET_BUFFER_SIZE is set to 4.

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

18:32:45.453401 IP ksec-sfvm-win7-3.cisco.com.36428 > FMC2000-2.8302: Flags [S], seq 2427598184, win 29200, options [mss 1460,sackOK,TS val 3681355935 ecr 0,nop,wscale 7], length 0

18:32:45.453425 IP FMC2000-2.8302 > ksec-sfvm-win7-3.cisco.com.36428: Flags [S.], seq 1996800475, ack 2427598185, win 28960, options [mss 1460,sackOK,TS val 2264897265 ecr 3681355935,nop,wscale 7], length 0

18:32:45.453539 IP ksec-sfvm-win7-3.cisco.com.36428 > FMC2000-2.8302: Flags [.], ack 1, win 229, options [nop,nop,TS val 3681355935 ecr 2264897265], length 0

Você pode usar o sinalizador -n para ver o IP resolvido:

root@FMC2000-2:/var/sf/archive/netmap_2# tcpdump -i eth0 port 8302 -n

HS_PACKET_BUFFER_SIZE is set to 4.

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

18:34:58.015971 IP 10.62.148.41.36434 > 10.62.148.75.8302: Flags [S], seq 713101140, win 29200, options [mss 1460,sackOK,TS val 3681488496 ecr 0,nop,wscale 7], length 0

Como alternativa, você pode usar a ferramenta de comando nslookup na CLI do FMC:

root@FMC2000-2:/var/sf/archive/netmap_2# nslookup ksec-sfvm-win7-3.cisco.com

Server:         1.2.3.4

Address:        1.2.3.4#53

Name: ksec-sfvm-win7-3.cisco.com Address: 10.62.148.41

Problema de comunicação do eStreamer devido a erro de certificado SSL

Certifique-se de que o cliente eStreamer usa o certificado SSL FMC correto. Se o certificado estiver incorreto nos arquivos FMC /var/log/message, você verá estes eventos:

Jun 11 14:15:33 FMC SF-IMS[14211]: [14211] Event Streamer:ConnectionHandler [INFO] estreamer.c:2149:AcceptConnections(): Accepted IPv4 connection from 192.0.2.100:42143/tcp

Jun 11 14:15:33 FMC SF-IMS[14211]: [14211] Event Streamer:ConnectionHandler [INFO] estreamer.c:389:allowConnection(): Added 192.0.2.100 to host table

Jun 11 14:15:33 FMC SF-IMS[14211]: [14211] Event Streamer:ConnectionHandler [INFO] estreamer.c:334:rememberPid(): Added 192.0.2.100(13687) to host table

Jun 11 14:15:33 FMC SF-IMS[14211]: [14211] Event Streamer:ConnectionHandler [DEBUG] estreamer.c:1347:AcceptConnection(): Created new estreamer child with src 192.0.2.100 : pid 13615

Jun 11 14:15:34 FMC SF-IMS[13687]: [13615] Event Streamer:ConnectionHandler [ERROR] estreamer.c:1116:AcceptConnection(): SSL_accept failed, SSL_get_error reports SSL_ERROR_SYSCALL

Você pode excluir o cliente eStreamer no FMC e reconfigurá-lo. Isso regenera o certificado SSL. Importar o novo certificado para o cliente eStreamer.

Endereço IP errado configurado no eStreamer para integração do módulo ASA SFR

No cliente eStreamer, você deve usar o IP do módulo SFR. No ASA, execute o comando show sfr module details para ver o IP do módulo.

Formato de evento comum do ArcSight (CEF)

O Arcsight Common Event Format Standard define os pares chave-valor que devem ser enviados da CLI do Ncore. Se houver inconsistência nos dados recebidos no Arcisght, ou seja: campos ausentes, fora de ordem ou alguns dados não são analisados corretamente no cliente Arcsight, é útil modificar a configuração para gravar em um arquivo de log por configuração. Isso ajuda a determinar onde está o problema.

"handler": {

"output@comment": "If you disable all outputters it behaves as a sink",

"outputters": [

{

"adapter": "cef",

"enabled": true,

"stream": {

"uri": "relfile:///data/data.{0}.cef"

}

}

],

Os eventos CEF RAW são gravados em uma linha com cada campo separado por pipe "|":

<13>May 26 09:31:39 kali2 CEF:0|Cisco|Firepower|6.0|RNA:1003:1|CONNECTION STATISTICS|3|act=Allow app=STUN bytesOut=820 cs1=test cs1Label=fwPolicy

cs2=Default Action cs2Label=fwRule cs3=INSIDE cs3Label=ingressZone cs4=OUTSIDE cs4Label=egressZone cs5Label=secIntelCategory deviceExternalId=1

deviceInboundInterface=inside deviceOutboundInterface=outside dpt=9000 dst=216.151.129.103 dvchost=10.48.26.45 dvcpid=2 end=1590497212000 externalId=50850

proto=17 reason=N/A requestClientApplicatio

O cliente do eStreamer não mostra todos os logs

Isso ocorre frequentemente devido à sobreassinatura do cliente do eStreamer (muitos eventos enviados pelo FMC). Execute esse comando no lado do cliente do eStreamer e verifique se o contador Recv-Q está alto. Esta é a contagem de bytes não copiados pelo programa de usuário conectado a este soquete. Neste exemplo, há 143143 bytes pendentes no lado do cliente:

root@kali:~# netstat -an | egrep "8302|Recv-Q"

Proto Recv-Q Send-Q Local Address           Foreign Address         State

tcp   143143  0 10.62.148.41:36732      10.62.148.75:8302       ESTABLISHED

Verifique os eventos por segundo recebidos pelo cliente eStreamer. Isso fornece uma indicação dos eventos por segundo:

root@kali:~/eStreamer-eNcore# cat estreamer.log | grep "ev/sec"

Tente reduzir a quantidade de dados solicitados pelo cliente eStreamer ou os tipos de eventos enviados pelo FMC. Como alternativa, você pode tentar aumentar a quantidade de recursos alocados no lado do cliente do eStreamer.

Perguntas frequentes (FAQ)

Onde obter o pacote Ncore-cli?

- Verifique a página de download do software FMC, Firepower System Tools e APIs - Núcleo para CEF

- Como alternativa, você pode obter o arquivo Núcleo mais recente em https://github.com/CiscoSecurity/fp-05-firepower-cef-connector-arcsight/tree/master/assets

Quando há um backup completo do FMC em andamento, o eStreamer não gera eventos. Isso é normal?

Sim, é um comportamento esperado. No guia de configuração do FMC quando fazer backup:

Enquanto o sistema coleta dados de backup, pode haver uma pausa temporária na correlação de dados (somente FMC) e você pode ser impedido de alterar as configurações relacionadas ao backup.

Há alguma licença especial necessária para a integração do FMC com o cliente eStreamer (por exemplo, Qradar)?

No

De onde os eventos do eStreamer se originam?

O CVP. Especificamente, o FMC obtém os eventos dos dispositivos gerenciados (FTD) e os encaminha aos clientes do eStreamer, como Núcleo, ArcSight, Splunk, QRadar, LogRhythm, etc.

Existe alguma matriz de compatibilidade entre o Splunk e o Núcleo?

Verifique os documentos do Splunk para obter informações sobre compatibilidade. Por exemplo, para ver quais versões do Splunk são compatíveis com o Núcleo versão 3.6.8, verifique https://splunkbase.splunk.com/app/3662/

O eStreamer Ncore pode consumir dados de vários FMCs?

No momento desta gravação, não. Verifique a solicitação de aprimoramento CSCvq14351

Quais são as opções recomendadas para configurar o eStreamer para a instalação de alta disponibilidade (HA) do FMC?

A recomendação é configurar somente a unidade FMC ativa para o eStreamer. Se você configurar ambas as unidades FMC para o eStreamer, o SIEM receberá eventos duplicados porque o FMC em standby responde à solicitação do eStreamer. Solicitação de aprimoramento relacionada: CSCvi95944

Uma atualização do FMC requer a geração manual de novos certificados eStreamer?

No

Os eventos do Security Intelligence são enviados ao cliente eStreamer? É possível selecionar eventos de inteligência de segurança como uma categoria separada e enviá-los a um cliente eStreamer?

Os eventos do Security Intelligence (SI) estão incluídos na categoria de eventos do Connection e não como uma categoria separada. Por causa disso, não há um evento de SI separado que seja enviado ao navegador. Solicitação de aprimoramento relacionada: CSCva39052

É possível especificar no FMC os sensores/dispositivos gerenciados que têm seus eventos eStreamer enviados ao cliente eStreamer?

Com apenas um domínio FMC atualmente, isso não é possível. Solicitação de aprimoramento relacionada CSCvt31270. Como alternativa, você configura no FMC dois domínios diferentes. No primeiro domínio, você adiciona todos os dispositivos gerenciados para os quais deseja habilitar o eStreamer e configura o cliente eStreamer. Para o segundo domínio, você adiciona o restante dos dispositivos e não configura o eStreamer.

Qual é a versão do eStreamer no Firepower? Preciso dessas informações para a configuração do SIEM (por exemplo, LogRhythm)

Para verificar a versão do Firepower (FMC) na interface do usuário do FMC, navegue até Help (canto superior direito) > About > Software version

Quando o FMC é configurado com domínios, como ver as informações de domínio nos dados do FMC eStreamer?

No eStreamer Integration Guide, verifique o número de ID do Netmap próximo ao tipo de registro na seção de cabeçalho de muitos tipos de registro diferentes. O número de ID do Netmap pode ser convertido em Domínio ou Nome do dispositivo usando Metadados de Domínio do Netmap (Tipo de Registro 350) e Metadados de Registro de Dispositivo Gerenciado (Tipo de Registro 123), respectivamente.

O aplicativo cliente deve interpretar os dados binários e os metadados de acordo com as informações fornecidas no eStreamer Integration Guide.

Problemas conhecidos

Abra a Bug Search Tool e procure por problemas de agilização e de bis (streaming), por exemplo

Informações Relacionadas

- Streaming do servidor eStreamer