본 제품에 대한 문서 세트는 편견 없는 언어를 사용하기 위해 노력합니다. 본 설명서 세트의 목적상, 편견 없는 언어는 나이, 장애, 성별, 인종 정체성, 민족 정체성, 성적 지향성, 사회 경제적 지위 및 교차성에 기초한 차별을 의미하지 않는 언어로 정의됩니다. 제품 소프트웨어의 사용자 인터페이스에서 하드코딩된 언어, RFP 설명서에 기초한 언어 또는 참조된 서드파티 제품에서 사용하는 언어로 인해 설명서에 예외가 있을 수 있습니다. 시스코에서 어떤 방식으로 포용적인 언어를 사용하고 있는지 자세히 알아보세요.
Cisco는 전 세계 사용자에게 다양한 언어로 지원 콘텐츠를 제공하기 위해 기계 번역 기술과 수작업 번역을 병행하여 이 문서를 번역했습니다. 아무리 품질이 높은 기계 번역이라도 전문 번역가의 번역 결과물만큼 정확하지는 않습니다. Cisco Systems, Inc.는 이 같은 번역에 대해 어떠한 책임도 지지 않으며 항상 원본 영문 문서(링크 제공됨)를 참조할 것을 권장합니다.
이 문서에서는 SecureX with Firepower FTD(Threat Defense)를 통합, 확인 및 트러블슈팅하는 데 필요한 단계를 설명합니다.
다음 주제에 대한 지식을 보유하고 있으면 유용합니다.
이 문서의 정보는 특정 랩 환경의 디바이스를 토대로 작성되었습니다.이 문서에 사용된 모든 디바이스는 초기화된(기본) 컨피그레이션으로 시작되었습니다.네트워크가 작동 중인 경우 모든 명령의 잠재적인 영향을 이해해야 합니다.
가상 어카운트 역할:
Virtual Account Admin(가상 어카운트 관리자) 또는 Smart Account Admin(스마트 어카운트 관리자)만 Smart Account를 SSE 어카운트와 연결할 수 있습니다.
1단계. Smart Account 역할을 검증하려면 software.cisco.com으로 이동하고 Administration(관리) 메뉴 아래에서 Manage Smart Account(Smart Account 관리)를 선택합니다.
2단계. 사용자 역할을 검증하려면 사용자로 이동하고, 이미지에 표시된 것처럼 Roles 아래에서 계정이 Virtual Account Administrator로 설정되었는지 확인합니다.
3단계. SSE에 연결하도록 선택된 가상 어카운트에 보안 라이센스가 포함되지 않은 어카운트가 SSE에 연결되고 보안 디바이스 및 이벤트가 SSE 포털에 나타나지 않는 경우 보안 디바이스에 대한 라이센스가 포함되어 있는지 확인합니다.
4단계. FMC가 올바른 가상 계정에 등록되었는지 확인하려면 System(시스템)>Licenses(라이센스)>Smart License(스마트 라이센스)로 이동합니다.
1단계. SSE 계정에 로그온할 때 스마트 계정을 SSE 계정에 연결해야 합니다. 이 경우 도구 아이콘을 클릭하고 계정 연결을 선택해야 합니다.
어카운트가 연결되면 Smart Account에 모든 Virtual Account가 표시됩니다.
1단계. 다음 URL이 사용자 환경에서 허용되는지 확인합니다.
미국 지역
EU 지역
APJ 지역
2단계. 다음 이미지에 표시된 대로 SSE 포털에 로그인합니다. 이 URL https://admin.sse.itd.cisco.com을 사용하여 로그인하고 클라우드 서비스로 이동하고 Eventing 및 Cisco SecureX 위협 응답을 모두 활성화합니다.
3단계. Firepower Management Center에 로그인하고 System>Integration>Cloud Services로 이동하여 Cisco Cloud Event Configuration을 활성화하고 클라우드로 전송할 이벤트를 선택합니다.
4단계. SSE 포털로 돌아가 SSE에 등록된 디바이스를 볼 수 있는지 확인할 수 있습니다.
Events(이벤트)는 FTD 디바이스에서 전송되며, SSE 포털에서 Events(이벤트)로 이동하여 디바이스에서 SSE로 전송한 이벤트를 확인합니다(이미지 참조).
1단계. 대시보드를 생성하려면 + New Dashboard 아이콘을 클릭하고 이미지에 표시된 대로 대시보드에 사용할 이름과 타일을 선택합니다.
2단계. 이렇게 하면 SSE에서 Dashboard(대시보드) 정보가 채워진 것을 볼 수 있습니다. 탐지된 위협을 선택할 수 있으며 SSE 포털에서 Event Type(이벤트 유형) 필터로 실행됩니다.
FTD가 이벤트(악성코드 또는 침입)를 생성하는지 검증하고 침입 이벤트의 경우 분석>파일>Malware Events의 침입 이벤트는 Analysis>Intrusion>Events로 이동합니다.
SSE에 디바이스 등록 섹션 4단계에서 설명한 대로 SSE 포털에 이벤트가 등록되었는지 확인합니다..
SecureX 대시보드에 정보가 표시되는지 검증하거나 API 로그를 확인하여 가능한 API 실패 이유를 확인할 수 있습니다.
action_queue.log 파일에서 일반 연결 문제를 감지할 수 있습니다.오류가 발생할 경우 다음과 같은 로그가 파일에 표시됩니다.
ActionQueueScrape.pl[19094]: [SF::SSE::Enrollment] canConnect: System (/usr/bin/curl -s --connect-timeout 10 -m 20 -L --max-redirs 5 --max-filesize 104857600 --capath /ngfw/etc/sf/keys/fireamp/thawte_roots -f https://api.eu.sse.itd.cisco.com/providers/sse/api/v1/regions) Failed, curl returned 28 at /ngfw/usr/local/sf/lib/perl/5.10.1/SF/System.pmline 10477.
이 경우 종료 코드 28은 작업 시간이 초과되었음을 의미하며 인터넷 연결을 확인해야 합니다.DNS 확인 문제를 나타내는 종료 코드 6도 표시될 수 있습니다.
1단계. 연결이 제대로 작동하는지 확인합니다.
root@ftd01:~# curl -v -k https://api-sse.cisco.com
* Rebuilt URL to: https://api-sse.cisco.com/
* getaddrinfo(3) failed for api-sse.cisco.com:443
* Couldn't resolve host 'api-sse.cisco.com'
* Closing connection 0
curl: (6) Couldn't resolve host 'api-sse.cisco.com'
위의 출력에서는 디바이스가 URL https://api-sse.cisco.com을 확인할 수 없음을 보여줍니다. 이 경우, 올바른 DNS 서버가 구성되었는지 검증해야 하며, expert CLI의 nslookup으로 검증할 수 있습니다.
root@ftd01:~# nslookup api-sse.cisco.com
;; connection timed out; no servers could be reached
위의 출력에서는 구성된 DNS에 도달하지 않았음을 보여 줍니다. DNS 설정을 확인하려면 show network 명령을 사용합니다.
> show network
===============[ System Information ]===============
Hostname : ftd01
DNS Servers : x.x.x.10
Management port : 8305
IPv4 Default route
Gateway : x.x.x.1
======================[ eth0 ]======================
State : Enabled
Link : Up
Channels : Management & Events
Mode : Non-Autonegotiation
MDI/MDIX : Auto/MDIX
MTU : 1500
MAC Address : x:x:x:x:9D:A5
----------------------[ IPv4 ]----------------------
Configuration : Manual
Address : x.x.x.27
Netmask : 255.255.255.0
Broadcast : x.x.x.255
----------------------[ IPv6 ]----------------------
Configuration : Disabled
===============[ Proxy Information ]================
State : Disabled
Authentication : Disabled
이 예에서는 잘못된 DNS 서버를 사용했으므로 다음 명령을 사용하여 DNS 설정을 변경할 수 있습니다.
> configure network dns x.x.x.11
이 연결을 다시 테스트할 수 있으며 이번에는 성공적으로 연결됩니다.
root@ftd01:~# curl -v -k https://api-sse.cisco.com
* Rebuilt URL to: https://api-sse.cisco.com/
* Trying x.x.x.66...
* Connected to api-sse.cisco.com (x.x.x.66) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: C=US; ST=California; L=San Jose; O=Cisco Systems, Inc.; CN=api -sse.cisco.com
* start date: 2019-12-03 20:57:56 GMT
* expire date: 2021-12-03 21:07:00 GMT
* issuer: C=US; O=HydrantID (Avalanche Cloud Corporation); CN=HydrantID S SL ICA G2
* SSL certificate verify result: self signed certificate in certificate c hain (19), continuing anyway.
> GET / HTTP/1.1
> Host: api-sse.cisco.com
> User-Agent: curl/7.44.0
> Accept: */*
>
< HTTP/1.1 403 Forbidden
< Date: Wed, 08 Apr 2020 01:27:55 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 9
< Connection: keep-alive
< Keep-Alive: timeout=5
< ETag: "5e17b3f8-9"
< Cache-Control: no-store
< Pragma: no-cache
< Content-Security-Policy: default-src 'self'
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Strict-Transport-Security: max-age=31536000; includeSubdomains;
FMC와 FTD 모두 관리 인터페이스의 SSE URL에 연결해야 하며, 연결을 테스트하려면 루트 액세스 권한이 있는 Firepower CLI에 다음 명령을 입력합니다.
curl -v https://api-sse.cisco.com/providers/sse/services/registration/api/v2/clients --cacert /ngfw/etc/ssl/connectorCA.pem
curl -v https://est.sco.cisco.com --cacert /ngfw/etc/ssl/connectorCA.pem
curl -v https://eventing-ingest.sse.itd.cisco.com --cacert /ngfw/etc/ssl/connectorCA.pem
curl -v https://mx01.sse.itd.cisco.com --cacert /ngfw/etc/ssl/connectorCA.pem
다음 명령을 사용하여 인증서 검사를 우회할 수 있습니다.
root@ftd01:~# curl -v -k https://api-sse.cisco.com
* Rebuilt URL to: https://api-sse.cisco.com/
* Trying x.x.x.66...
* Connected to api-sse.cisco.com (x.x.x.66) port 443 (#0)
* ALPN, offering http/1.1
* Cipher selection: ALL:!EXPORT:!EXPORT40:!EXPORT56:!aNULL:!LOW:!RC4:@STRENGTH
* successfully set certificate verify locations:
* CAfile: none
CApath: /etc/ssl/certs
* TLSv1.2 (OUT), TLS header, Certificate Status (22):
* TLSv1.2 (OUT), TLS handshake, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Server hello (2):
* TLSv1.2 (IN), TLS handshake, Certificate (11):
* TLSv1.2 (IN), TLS handshake, Server key exchange (12):
* TLSv1.2 (IN), TLS handshake, Request CERT (13):
* TLSv1.2 (IN), TLS handshake, Server finished (14):
* TLSv1.2 (OUT), TLS handshake, Certificate (11):
* TLSv1.2 (OUT), TLS handshake, Client key exchange (16):
* TLSv1.2 (OUT), TLS change cipher, Client hello (1):
* TLSv1.2 (OUT), TLS handshake, Finished (20):
* TLSv1.2 (IN), TLS change cipher, Client hello (1):
* TLSv1.2 (IN), TLS handshake, Finished (20):
* SSL connection using TLSv1.2 / ECDHE-RSA-AES128-GCM-SHA256
* ALPN, server accepted to use http/1.1
* Server certificate:
* subject: C=US; ST=California; L=San Jose; O=Cisco Systems, Inc.; CN=api -sse.cisco.com
* start date: 2019-12-03 20:57:56 GMT
* expire date: 2021-12-03 21:07:00 GMT
* issuer: C=US; O=HydrantID (Avalanche Cloud Corporation); CN=HydrantID S SL ICA G2
* SSL certificate verify result: self signed certificate in certificate c hain (19), continuing anyway.
> GET / HTTP/1.1
> Host: api-sse.cisco.com
> User-Agent: curl/7.44.0
> Accept: */*
>
< HTTP/1.1 403 Forbidden
< Date: Wed, 08 Apr 2020 01:27:55 GMT
< Content-Type: text/plain; charset=utf-8
< Content-Length: 9
< Connection: keep-alive
< Keep-Alive: timeout=5
< ETag: "5e17b3f8-9"
< Cache-Control: no-store
< Pragma: no-cache
< Content-Security-Policy: default-src 'self'
< X-Content-Type-Options: nosniff
< X-XSS-Protection: 1; mode=block
< Strict-Transport-Security: max-age=31536000; includeSubdomains;
참고:403 Forbidden 메시지는 테스트를 통해 전송된 매개변수가 SSE에서 기대하는 것이 아니지만 이를 통해 연결을 검증할 수 있습니다.
표시된 대로 커넥터 속성을 확인할 수 있습니다.
# more /ngfw/etc/sf/connector.properties
registration_interval=180
connector_port=8989
connector_fqdn=api-sse.cisco.com
SSConnector와 EventHandler 간의 연결을 확인하기 위해 이 명령을 사용할 수 있습니다. 이는 잘못된 연결의 예입니다.
root@firepower:/etc/sf# netstat -anlp | grep EventHandler_SSEConnector.sock
unix 2 [ ACC ] STREAM LISTENING 3022791165 11204/EventHandler /ngfw/var/sf/run/EventHandler_SSEConnector.sock
설정된 연결의 예에서는 스트림 상태가 연결되어 있음을 확인할 수 있습니다.
root@firepower:/etc/sf# netstat -anlp | grep EventHandler_SSEConnector.sock
unix 2 [ ACC ] STREAM LISTENING 382276 7741/EventHandler /ngfw/var/sf/run/EventHandler_SSEConnector.sock
unix 3 [ ] STREAM CONNECTED 378537 7741/EventHandler /ngfw/var/sf/run/EventHandler_SSEConnector.soc
FTD 디바이스에서 TCP 연결을 확인하기 위해 이벤트를 전송하려면 https://eventing-ingest.sse.itd.cisco.com을 사용하여 설정해야 합니다. 이것은 SSE 포털과 FTD 간에 설정되지 않은 연결의 예입니다.
root@firepower:/ngfw/var/log/connector# lsof -i | grep conn
connector 60815 www 10u IPv4 3022789647 0t0 TCP localhost:8989 (LISTEN)
connector 60815 www 12u IPv4 110237499 0t0 TCP firepower.cisco.com:53426->ec2-100-25-93-234.compute-1.amazonaws.com:https (SYN_SENT)
connector.log 로그에서 다음을 수행합니다.
time="2020-04-13T14:34:02.88472046-05:00" level=error msg="[firepower.cisco.com][events.go:90 events:connectWebSocket] dial tcp x.x.x.246:443: getsockopt: connection timed out"
time="2020-04-13T14:38:18.244707779-05:00" level=error msg="[firepower.cisco.com][events.go:90 events:connectWebSocket] dial tcp x.x.x.234:443: getsockopt: connection timed out"
time="2020-04-13T14:42:42.564695622-05:00" level=error msg="[firepower.cisco.com][events.go:90 events:connectWebSocket] dial tcp x.x.x.246:443: getsockopt: connection timed out"
time="2020-04-13T14:47:48.484762429-05:00" level=error msg="[firepower.cisco.com][events.go:90 events:connectWebSocket] dial tcp x.x.x.234:443: getsockopt: connection timed out"
time="2020-04-13T14:52:38.404700083-05:00" level=error msg="[firepower.cisco.com][events.go:90 events:connectWebSocket] dial tcp x.x.x.234:443: getsockopt: connection timed out"
참고:x.x.x.246 및 1x.x.x.246에 표시된 IP 주소가 https://eventing-ingest.sse.itd.cisco.com에 속할 수 있다는 점에 IP 주소 대신 URL을 기반으로 SSE 포털에 대한 트래픽을 허용하는 것이 좋습니다.
이 연결이 설정되지 않으면 이벤트가 SSE 포털로 전송되지 않습니다.다음은 FTD와 SSE 포털 간의 설정된 연결의 예입니다.
root@firepower:# lsof -i | grep conn
connector 13277 www 10u IPv4 26077573 0t0 TCP localhost:8989 (LISTEN)
connector 13277 www 19u IPv4 26077679 0t0 TCP x.x.x.200:56495->ec2-35-172-147-246.compute-1.amazonaws.com:https (ESTABLISHED)