이 문서에서는 Firepower Management Center에서 처리되지 않은 이벤트의 낭비 및 이벤트 상태 알림의 빈번한 낭비를 해결하는 방법에 대해 설명합니다.
FMC(Firepower 관리 센터)는 다음 상태 알림 중 하나를 생성합니다.
이러한 이벤트는 FMC에서 생성되고 표시되지만 FTD(Firepower Threat Defense) 디바이스인지 NGIPS(Next-Generation Intrusion Prevention System) 디바이스인지 관리되는 디바이스 센서와 관련이 있습니다. 본 문서의 나머지 부분에서, 센서라는 용어는 달리 명시되지 않는 한 FTD 및 NGIPS 장치 모두를 가리킵니다.


상태 알림 구조입니다.
이 예에서 SILO NAME은 Unified Low Priority Events입니다. 디스크 관리자 사일로 중 하나입니다(자세한 설명은 배경 정보 섹션 참조).
추가로 다음을 수행합니다.
추가 증상은 다음과 같습니다.
<SILO NAME> 이벤트의 잦은 삭제는 해당 크기에 비해 사일로에 너무 많은 입력이 입력되었기 때문입니다. 이 경우 디스크 관리자는 최근 5분 간격 동안 해당 파일을 두 번 이상 드레이닝(제거)합니다. 이벤트 유형 사일로에서는 일반적으로 해당 이벤트 유형의 과도한 로깅이 원인입니다. Drain에 <SILO NAME> 상태 알림의 처리되지 않은 이벤트가 있는 경우 이벤트 처리 경로의 병목 현상 때문일 수도 있습니다.

다이어그램에는 세 가지 잠재적 병목 현상이 있습니다.
이벤트 처리 아키텍처에 대한 자세한 내용은 Deep Dive(심층 분석) 섹션을 참조하십시오.
앞 절에서 언급했듯이 이 유형의 상태 알림에 대한 가장 일반적인 원인 중 하나는 과도한 입력이다.
show disk-manager CLISH 명령에서 수집한 LWM(Low Water Mark)과 HWM(High Water Mark)의 차이는 해당 사일로에서 차지하는 공간이 얼마나 필요한지 보여줍니다. LWM(새로 드레이닝됨)에서 HWM 값으로 이동하려면(처리되지 않은 이벤트가 있거나 없는 경우) 이벤트 드레이닝이 자주 발생하는 경우 먼저 로깅 컨피그레이션을 검토해야 합니다.
디스크 관리자 프로세스에 대한 자세한 설명은 Deep Dive(심층 분석) 섹션을 참조하십시오.
이중 로깅이든 전체 관리자-센서 에코시스템에서 높은 이벤트 비율이든 로깅 설정을 검토해야 합니다.
1단계. 이중 로깅 확인
이 출력에 표시된 대로 FMC에서 correlator perfstats를 검토하면 이중 로깅 시나리오를 식별할 수 있습니다.
admin@FMC:~$ sudo perfstats -Cq < /var/sf/rna/correlator-stats/now
129 statistics lines read
host limit: 50000 0 50000
pcnt host limit in use: 0.01 0.01 0.01
rna events/second: 0.00 0.00 0.06
user cpu time: 0.48 0.21 10.09
system cpu time: 0.47 0.00 8.83
memory usage: 2547304 0 2547304
resident memory usage: 28201 0 49736
rna flows/second: 126.41 0.00 3844.16
rna dup flows/second: 69.71 0.00 2181.81
ids alerts/second: 0.00 0.00 0.00
ids packets/second: 0.00 0.00 0.00
ids comm records/second: 0.02 0.01 0.03
ids extras/second: 0.00 0.00 0.00
fw_stats/second: 0.00 0.00 0.03
user logins/second: 0.00 0.00 0.00
file events/second: 0.00 0.00 0.00
malware events/second: 0.00 0.00 0.00
fireamp events/second: 0.00 0.00 0.00
이 예제에서는 높은 비율의 중복 흐름을 출력에서 볼 수 있습니다.
2단계. ACP의 로깅 설정 검토
ACP(액세스 제어 정책)의 로깅 설정 검토부터 시작해야 합니다. 연결 로깅 모범 사례에 설명된 모범 사례를 사용하십시오.
나열된 권장 사항은 이중 로깅 시나리오만 다루지 않으므로 모든 상황에서 로깅 설정을 검토하는 것이 좋습니다.
FTD에서 생성된 이벤트의 속도를 확인하려면 이 파일을 확인하고 TotalEvents 및 PerSec 열에 포커스를 둡니다.
admin@firepower:/ngfw/var/log$ sudo more EventHandlerStats.2023-08-13 | grep Total | more
{"Time": "2023-08-13T00:03:37Z", "TotalEvents": 298, "PerSec": 0, "UserCPUSec": 0.995, "SysCPUSec": 4.598, "%CPU": 1.9, "MemoryKB": 33676}
{"Time": "2023-08-13T00:08:37Z", "TotalEvents": 298, "PerSec": 0, "UserCPUSec": 1.156, "SysCPUSec": 4.280, "%CPU": 1.8, "MemoryKB": 33676}
{"Time": "2023-08-13T00:13:37Z", "TotalEvents": 320, "PerSec": 1, "UserCPUSec": 1.238, "SysCPUSec": 4.221, "%CPU": 1.8, "MemoryKB": 33676}
{"Time": "2023-08-13T00:18:37Z", "TotalEvents": 312, "PerSec": 1, "UserCPUSec": 1.008, "SysCPUSec": 4.427, "%CPU": 1.8, "MemoryKB": 33676}
{"Time": "2023-08-13T00:23:37Z", "TotalEvents": 320, "PerSec": 1, "UserCPUSec": 0.977, "SysCPUSec": 4.465, "%CPU": 1.8, "MemoryKB": 33676}
{"Time": "2023-08-13T00:28:37Z", "TotalEvents": 299, "PerSec": 0, "UserCPUSec": 1.066, "SysCPUSec": 4.361, "%CPU": 1.8, "MemoryKB": 33676}
3단계. 과도한 로깅이 예상되는지 확인
과도한 로깅이 예상되는 원인이 있는지 검토해야 합니다. 과도한 로깅이 DOS/DDoS 공격, 라우팅 루프 또는 연결 수가 많은 특정 애플리케이션/호스트에 의해 발생하는 경우 예기치 않은/과도한 연결 소스에서 연결을 확인하고 완화/중지해야 합니다.
4단계. 손상된 diskmanager.log 파일 확인
일반적으로 항목은 12개의 쉼표로 구분된 값을 가질 수 있습니다. 필드 수가 다른 손상된 라인을 확인하려면 다음을 수행합니다.
admin@firepower:/ngfw/var/log$ sudo cat diskmanager.log | awk -F',' 'NF != 12 {print}'
admin@firepower:/ngfw/var/log$
12개 필드가 아닌 손상된 행이 있는 경우 표시됩니다.
5단계. 모델 업그레이드
FTD 하드웨어 디바이스를 고성능 모델(예: FPR2100 —>FPR4100)로 업그레이드하면 소스 사일로가 증가합니다.
6단계. Log to Ramdisk(Ramdisk에 대한 로그)를 비활성화할 수 있는지 고려합니다.
Unified Low Priority Events 사일로의 경우 Log to Ramdisk(Ramdisk에 로그 기록)를 비활성화하여 사일로 크기를 늘릴 수 있습니다. Deep Dive 섹션에서 단점을 검토할 수 있습니다.
이러한 유형의 알림의 또 다른 일반적인 원인은 센서와 FMC 간의 통신 채널(sftunnel)에 연결 문제 및/또는 불안정성이 원인입니다. 커뮤니케이션 문제는 다음과 같은 이유로 발생할 수 있습니다.
sftunnel 연결 문제의 경우 FMC와 센서가 TCP 포트 8305의 관리 인터페이스 간에 연결되는지 확인합니다.
FTD에서는 [/ngfw]/var/log/messages 파일에서 sftunneled 문자열을 검색할 수 있습니다. 연결 문제로 인해 다음과 같은 메시지가 생성됩니다.
Sep 9 15:41:35 firepower SF-IMS[5458]: [27602] sftunneld:sf_ch_util [INFO] Delay for heartbeat reply on channel from 10.62.148.75 for 609 seconds. dropChannel... Sep 9 15:41:35 firepower SF-IMS[5458]: [27602] sftunneld:sf_connections [INFO] Ping Event Channel for 10.62.148.75 failed Sep 9 15:41:35 firepower SF-IMS[5458]: [27602] sftunneld:sf_channel [INFO] >> ChannelState dropChannel peer 10.62.148.75 / channelB / EVENT [ msgSock2 & ssl_context2 ] << Sep 9 15:41:35 firepower SF-IMS[5458]: [27602] sftunneld:sf_channel [INFO] >> ChannelState freeChannel peer 10.62.148.75 / channelB / DROPPED [ msgSock2 & ssl_context2 ] << Sep 9 15:41:35 firepower SF-IMS[5458]: [27602] sftunneld:sf_connections [INFO] Need to send SW version and Published Services to 10.62.148.75 Sep 9 15:41:35 firepower SF-IMS[5458]: [27602] sftunneld:sf_peers [INFO] Confirm RPC service in CONTROL channel Sep 9 15:41:35 firepower SF-IMS[5458]: [27602] sftunneld:sf_channel [INFO] >> ChannelState do_dataio_for_heartbeat peer 10.62.148.75 / channelA / CONTROL [ msgSock & ssl_context ] << Sep 9 15:41:48 firepower SF-IMS[5458]: [5464] sftunneld:tunnsockets [INFO] Started listening on port 8305 IPv4(10.62.148.180) management0 Sep 9 15:41:51 firepower SF-IMS[5458]: [27602] sftunneld:control_services [INFO] Successfully Send Interfaces info to peer 10.62.148.75 over managemen Sep 9 15:41:53 firepower SF-IMS[5458]: [5465] sftunneld:sf_connections [INFO] Start connection to : 10.62.148.75 (wait 10 seconds is up) Sep 9 15:41:53 firepower SF-IMS[5458]: [27061] sftunneld:sf_peers [INFO] Peer 10.62.148.75 needs the second connection Sep 9 15:41:53 firepower SF-IMS[5458]: [27061] sftunneld:sf_ssl [INFO] Interface management0 is configured for events on this Device Sep 9 15:41:53 firepower SF-IMS[5458]: [27061] sftunneld:sf_ssl [INFO] Connect to 10.62.148.75 on port 8305 - management0 Sep 9 15:41:53 firepower SF-IMS[5458]: [27061] sftunneld:sf_ssl [INFO] Initiate IPv4 connection to 10.62.148.75 (via management0) Sep 9 15:41:53 firepower SF-IMS[5458]: [27061] sftunneld:sf_ssl [INFO] Initiating IPv4 connection to 10.62.148.75:8305/tcp Sep 9 15:41:53 firepower SF-IMS[5458]: [27061] sftunneld:sf_ssl [INFO] Wait to connect to 8305 (IPv6): 10.62.148.75
FMC 관리 인터페이스의 초과 서브스크립션은 관리 트래픽의 급증이거나 지속적인 초과 서브스크립션일 수 있습니다. Health Monitor의 기록 데이터는 이를 나타내는 좋은 지표입니다.
가장 먼저 주의해야 할 점은 대부분의 경우 FMC는 관리를 위해 단일 NIC를 사용하여 구축된다는 것입니다. 이 인터페이스는 다음에 사용됩니다.
이벤트 전용 인터페이스에 대해 FMC에 두 번째 NIC를 구축할 수 있습니다. 구현은 활용 사례에 따라 달라집니다. 일반 지침은 FMC 하드웨어 설명서 - 관리 네트워크에서 구축을 참조하십시오.
마지막으로 SFDataCorrelator측(FMC)에서 병목 현상이 발생하는 경우를 예로 들 수 있습니다.
첫 번째 단계는 다음과 같이 중요한 정보를 수집할 때 diskmanager.log 파일을 살펴보는 것입니다.
처리되지 않은 이벤트가 있는 드레이닝의 발생.
diskmanager.log 파일 및 파일 해석 방법에 대한 자세한 내용은 디스크 관리자 섹션을 참조하십시오. diskmanager.log의 정보를 사용하여 후속 단계를 좁힐 수 있습니다.
또한 correlator 성능 통계를 검토해야 합니다.
admin@FMC:~$ sudo perfstats -Cq < /var/sf/rna/correlator-stats/now
129 statistics lines read
host limit: 50000 0 50000 pcnt host limit in use: 100.01 100.00 100.55 rna events/second: 1.78 0.00 48.65 user cpu time: 2.14 0.11 58.20 system cpu time: 1.74 0.00 41.13 memory usage: 5010148 0 5138904 resident memory usage: 757165 0 900792 rna flows/second: 101.90 0.00 3388.23 rna dup flows/second: 0.00 0.00 0.00 ids alerts/second: 0.00 0.00 0.00 ids packets/second: 0.00 0.00 0.00 ids comm records/second: 0.02 0.01 0.03 ids extras/second: 0.00 0.00 0.00 fw_stats/second: 0.01 0.00 0.08 user logins/second: 0.00 0.00 0.00 file events/second: 0.00 0.00 0.00 malware events/second: 0.00 0.00 0.00 fireamp events/second: 0.00 0.00 0.01
이러한 통계는 FMC와 관련이 있으며 FMC에서 관리하는 모든 센서의 집계에 해당합니다. Unified low priority 이벤트의 경우 주로 다음을 찾습니다.
결과에 따라 다음과 같은 결론을 내릴 수 있습니다.
SFDataCorrelator 프로세스에 대한 자세한 내용은 Event Processing(이벤트 처리) 섹션에서 확인할 수 있습니다.
먼저 스파이크가 발생한 시점을 확인해야 합니다. 이렇게 하려면 각 5분 샘플 간격당 상관기 통계를 검토해야 합니다. diskmanager.log에서 수집한 정보를 통해 중요한 기간을 검토할 수 있습니다.
admin@FMC:~$ sudo perfstats -C < /var/sf/rna/correlator-stats/now
<OUTPUT OMITTED FOR READABILITY>
Wed Sep 9 16:01:35 2020 host limit: 50000 pcnt host limit in use: 100.14 rna events/second: 24.33 user cpu time: 7.34 system cpu time: 5.66 memory usage: 5007832 resident memory usage: 797168 rna flows/second: 638.55 rna dup flows/second: 0.00 ids alerts/second: 0.00 ids pkts/second: 0.00 ids comm records/second: 0.02 ids extras/second: 0.00 fw stats/second: 0.00 user logins/second: 0.00 file events/second: 0.00 malware events/second: 0.00 fireAMP events/second: 0.00 Wed Sep 9 16:06:39 2020 host limit: 50000 pcnt host limit in use: 100.03 rna events/second: 28.69 user cpu time: 16.04 system cpu time: 11.52 memory usage: 5007832 resident memory usage: 801476 rna flows/second: 685.65 rna dup flows/second: 0.00 ids alerts/second: 0.00 ids pkts/second: 0.00 ids comm records/second: 0.01 ids extras/second: 0.00 fw stats/second: 0.00 user logins/second: 0.00 file events/second: 0.00 malware events/second: 0.00 fireAMP events/second: 0.00 Wed Sep 9 16:11:42 2020 host limit: 50000 pcnt host limit in use: 100.01 rna events/second: 47.51 user cpu time: 16.33 system cpu time: 12.64 memory usage: 5007832 resident memory usage: 809528 rna flows/second: 1488.17 rna dup flows/second: 0.00 ids alerts/second: 0.00 ids pkts/second: 0.00 ids comm records/second: 0.02 ids extras/second: 0.00 fw stats/second: 0.01 user logins/second: 0.00 file events/second: 0.00 malware events/second: 0.00 fireAMP events/second: 0.00 Wed Sep 9 16:16:42 2020 host limit: 50000 pcnt host limit in use: 100.00 rna events/second: 8.57 user cpu time: 58.20 system cpu time: 41.13 memory usage: 5007832 resident memory usage: 837732 rna flows/second: 3388.23 rna dup flows/second: 0.00 ids alerts/second: 0.00 ids pkts/second: 0.00 ids comm records/second: 0.01 ids extras/second: 0.00 fw stats/second: 0.03 user logins/second: 0.00 file events/second: 0.00 malware events/second: 0.00 fireAMP events/second: 0.00 197 statistics lines read host limit: 50000 0 50000 pcnt host limit in use: 100.01 100.00 100.55 rna events/second: 1.78 0.00 48.65 user cpu time: 2.14 0.11 58.20 system cpu time: 1.74 0.00 41.13 memory usage: 5010148 0 5138904 resident memory usage: 757165 0 900792 rna flows/second: 101.90 0.00 3388.23 rna dup flows/second: 0.00 0.00 0.00 ids alerts/second: 0.00 0.00 0.00 ids packets/second: 0.00 0.00 0.00 ids comm records/second: 0.02 0.01 0.03 ids extras/second: 0.00 0.00 0.00 fw_stats/second: 0.01 0.00 0.08 user logins/second: 0.00 0.00 0.00 file events/second: 0.00 0.00 0.00 malware events/second: 0.00 0.00 0.00 fireamp events/second: 0.00 0.00 0.01
출력의 정보를 사용하여 다음을 수행할 수 있습니다.
이전 예에서는 16:06:39 이상에서 수신된 이벤트의 속도가 현저히 증가했습니다. 이 값은 5분 평균이므로 표시된 값보다 더 급격하게 증가할 수 있습니다(버스트). 그러나 이 간격이 5분 간격에서 시작되어 끝날 때까지인 경우 희석됩니다.
이로 인해 이벤트 급증으로 인해 처리되지 않은 이벤트의 Drain이 발생했습니다. FMC GUI(Graphical User Interface)에서 적절한 타임 윈도우로 이벤트 연결을 볼 수 있으며, 이 스파이크에서 FTD 상자를 통과한 연결 유형을 확인할 수 있습니다.

필터링된 연결 이벤트를 보려면 이 시간 창을 적용합니다(표준 시간대를 고려하는 것을 잊지 마십시오). 이 예에서 센서는 UTC 및 FMC UTC+1을 사용합니다. 테이블 보기를 사용하여 이벤트 오버로드를 트리거한 이벤트를 보고 그에 따라 작업을 수행합니다.

타임스탬프(첫 번째 및 마지막 패킷의 시간)를 기반으로 이러한 연결이 짧은 것을 확인할 수 있습니다. Initiator 및 Responder Packet 열에는 각 방향으로 교환된 패킷이 하나만 표시됩니다. 이는 연결이 단명하고 매우 적은 양의 데이터를 교환했음을 확인합니다.
동일한 responder IP 및 포트를 대상으로 하는 모든 플로우를 볼 수 있습니다. 또한 이러한 정보는 모두 동일한 센서에 의해 보고됩니다(인그레스 및 이그레스 인터페이스 정보와 함께 플로우의 위치와 방향을 말할 수 있음). 추가 작업:
참고: 이 문서의 목적은 처리되지 않은 이벤트 알림의 드레이닝을 해결하기 위한 지침을 제공하는 것입니다. 이 예에서는 hping3을 사용하여 대상 서버에 대한 TCP SYN 플러드를 생성했습니다. FTD 디바이스를 강화하기 위한 지침은 Cisco Firepower Threat Defense 강화 가이드를 참조하십시오.
Cisco TAC에 문의하기 전에 이러한 항목을 수집하는 것이 좋습니다.
이 섹션에서는 상태 알림 유형에 참여할 수 있는 다양한 구성 요소에 대한 심층적인 설명을 제공합니다. 여기에는 다음 항목이 포함됩니다.
Drain of Events 상태 알림을 이해하고 잠재적인 장애 지점을 파악하려면 이러한 구성 요소가 어떻게 작동하고 상호 작용하는지 살펴봐야 합니다.
Frequent Drain 유형의 상태 알림은 이벤트와 관련이 없는 사일로(silo)에 의해 트리거될 수 있지만, Cisco TAC에서 확인한 대부분의 케이스는 이벤트 관련 정보 유출과 관련이 있습니다. 또한 처리되지 않은 이벤트의 소진을 구성하는 요소를 이해하려면 이벤트 처리 아키텍처와 그 구성 요소를 살펴보아야 합니다.

firepower 센서가 새 연결에서 패킷을 수신하면 snort 프로세스는 이벤트를 이진 형식인 unified2 형식으로 생성합니다. 이 형식은 읽기/쓰기를 더 빠르게 수행할 수 있을 뿐 아니라 이벤트가 더 짧아집니다.
출력에 FTD 명령 시스템 지원 추적이 표시되며, 여기서 새 연결이 생성된 것을 확인할 수 있습니다. 주요 부분은 강조 표시되어 설명합니다.
192.168.0.2-42310 - 192.168.1.10-80 6 AS 1-1 CID 0 Packet: TCP, SYN, seq 3310981951
192.168.0.2-42310 - 192.168.1.10-80 6 AS 1-1 CID 0 Session: new snort session
192.168.0.2-42310 - 192.168.1.10-80 6 AS 1-1 CID 0 AppID: service unknown (0), application unknown (0)
192.168.0.2-42310 > 192.168.1.10-80 6 AS 1-1 I 0 new firewall session
192.168.0.2-42310 > 192.168.1.10-80 6 AS 1-1 I 0 using HW or preset rule order 4, 'Default Inspection', action Allow and prefilter rule 0
192.168.0.2-42310 > 192.168.1.10-80 6 AS 1-1 I 0 HitCount data sent for rule id: 268437505,
192.168.0.2-42310 > 192.168.1.10-80 6 AS 1-1 I 0 allow action
192.168.0.2-42310 - 192.168.1.10-80 6 AS 1-1 CID 0 Firewall: allow rule, 'Default Inspection', allow
192.168.0.2-42310 - 192.168.1.10-80 6 AS 1-1 CID 0 Snort id 0, NAP id 1, IPS id 0, Verdict PASS
Snort unified_events 파일은 [/ngfw]var/sf/detection_engine/*/instance-N/경로에서 인스턴스별로 생성됩니다. 여기서는 다음과 같습니다.
지정된 Snort 인스턴스 폴더에는 2가지 유형의 unified_events 파일이 있을 수 있습니다.
높은 우선순위 이벤트는 잠재적으로 악의적인 연결에 해당하는 이벤트입니다.
이벤트 유형 및 우선 순위:
| 높은 우선 순위(1) |
낮은 우선 순위(2) |
| 침입 |
connection |
| 악성코드 |
검색 |
| 보안 인텔리전스 |
파일 |
| 관련 연결 이벤트 |
통계 |
다음 출력에서는 이전 예에서 추적한 새 연결에 속하는 이벤트를 보여 줍니다. 형식은 unified2이며 [/ngfw]/var/sf/detection_engine/*/instance-1/ 아래에 있는 각 통합 이벤트 로그의 출력에서 가져옵니다. 여기서 1은 이전 출력 +1에서 굵게 표시된 snort 인스턴스 ID입니다. 통합 이벤트 로그 형식 이름은 unified_events-2.log.1599654750 구문을 사용합니다. 여기서 2는 테이블에 표시된 이벤트 우선순위를 나타내고 굵게 표시된 마지막 부분(1599654750)은 파일을 만든 시점의 타임스탬프(Unix 시간)입니다.
팁: Linux date 명령을 사용하여 Unix 시간을 읽을 수 있는 날짜로 변환할 수 있습니다.
admin@FP1120-2:~$ sudo 날짜 -d@1599654750
2020년 9월 9일 수요일 14:32:30 CEST
Unified2 Record at offset 2190389
Type: 210(0x000000d2)
Timestamp: 0
Length: 765 bytes
Forward to DC: Yes
FlowStats:
Sensor ID: 0
Service: 676
NetBIOS Domain: <none>
Client App: 909, Version: 1.20.3 (linux-gnu)
Protocol: TCP
Initiator Port: 42310
Responder Port: 80
First Packet: (1599662092) Tue Sep 9 14:34:52 2020
Last Packet: (1599662092) Tue Sep 9 14:34:52 2020
<OUTPUT OMITTED FOR READABILITY>
Initiator: 192.168.0.2
Responder: 192.168.1.10
Original Client: ::
Policy Revision: 00000000-0000-0000-0000-00005f502a92
Rule ID: 268437505
Tunnel Rule ID: 0
Monitor Rule ID: <none>
Rule Action: 2
모든 unified_events 파일 옆에 두 가지 중요한 값이 포함된 책갈피 파일이 있습니다.
값은 다음 예제와 같이 순서대로 쉼표로 구분됩니다.
root@FTD:/home/admin# cat /var/sf/detection_engines/d5a4d5d0-6ddf-11ea-b364-2ac815c16717/instance-1/unified_events-2.log.bookmark.1a3d52e6-3e09-11ea-838f-68e7af919059
1599862498, 18754115
그러면 디스크 관리자 프로세스에서 어떤 이벤트가 이미 처리(FMC로 전송)되었고 어떤 이벤트가 처리되지 않았는지 알 수 있습니다.
참고: 디스크 관리자가 이벤트 사일로를 제거하면 통합 이벤트 파일이 제거됩니다.
사일로 방어에 대한 자세한 내용은 디스크 관리자 섹션을 참조하십시오.
다음 중 하나가 참인 경우 제거된 통합 파일에 처리되지 않은 이벤트가 있는 것으로 간주됩니다.
EventHandler 프로세스는 통합 파일에서 이벤트를 읽고 sftunnel을 통해 메타데이터로 FMC에 스트리밍합니다. sftunnel은 센서와 FMC 간의 암호화된 통신을 담당하는 프로세스입니다. 이는 TCP 기반 연결이므로 FMC에서 이벤트 스트리밍을 승인합니다
[/ngfw]/var/log/messages 파일에서 다음 메시지를 볼 수 있습니다.
sfpreproc:OutputFile [INFO] *** Opening /ngfw/var/sf/detection_engines/77d31ce2-c2fc-11ea-b470-d428d53ed3ae/instance-1/unified_events-2.log.1597810478 for output" in /var/log/messages
EventHandler:SpoolIterator [INFO] Opened unified event file /var/sf/detection_engines/77d31ce2-c2fc-11ea-b470-d428d53ed3ae/instance-1/unified_events-2.log.1597810478
sftunneld:FileUtils [INFO] Processed 10334 events from log file var/sf/detection_engines/77d31ce2-c2fc-11ea-b470-d428d53ed3ae/instance-1/unified_events-2.log.1597810478
이 출력은 다음을 제공합니다.
그런 다음 책갈피 파일이 그에 따라 업데이트됩니다. sftunnel은 우선순위가 높은 이벤트와 낮은 이벤트에 각각 UE(Unified Events) Channel 0 및 1이라는 서로 다른 두 채널을 사용합니다.
FTD의 sfunnel_status CLI 명령을 사용하면 스트리밍된 이벤트의 수를 볼 수 있습니다.
Priority UE Channel 1 service
TOTAL TRANSMITTED MESSAGES <530541> for UE Channel service
RECEIVED MESSAGES <424712> for UE Channel service
SEND MESSAGES <105829> for UE Channel service
FAILED MESSAGES <0> for UE Channel service
HALT REQUEST SEND COUNTER <17332> for UE Channel service
STORED MESSAGES for UE Channel service (service 0/peer 0)
STATE <Process messages> for UE Channel service
REQUESTED FOR REMOTE <Process messages> for UE Channel service
REQUESTED FROM REMOTE <Process messages> for UE Channel service
FMC에서 이벤트는 SFDataCorrelator 프로세스에 의해 수신됩니다. 각 센서에서 처리된 이벤트의 상태는 stats_unified.pl 명령을 실행하여 확인할 수 있습니다.
admin@FMC:~$ sudo stats_unified.pl
Current Time - Fri Sep 9 23:00:47 UTC 2020
**********************************************************************************
* FTD - 60a0526e-6ddf-11ea-99fa-89a415c16717, version 6.6.0.1
**********************************************************************************
Channel Backlog Statistics (unified_event_backlog)
Chan Last Time Bookmark Time Bytes Behind
0 2020-09-09 23:00:30 2020-09-07 10:41:50 0
1 2020-09-09 23:00:30 2020-09-09 22:14:58 6960
이 명령은 채널당 특정 디바이스에 대한 이벤트 백로그의 상태를 보여주며, 사용된 채널 ID는 sftunnel과 같습니다. Bytes Behind 값은 유니파이드 이벤트 북마크 파일에 표시된 위치와 유니파이드 이벤트 파일의 크기(북마크 파일에 있는 것보다 타임스탬프가 더 높은 후속 파일 포함) 간의 차이로 계산될 수 있습니다.
SFDataCorrelator 프로세스에는 /var/sf/rna/correlator-stats/에 저장되는 성능 통계도 저장됩니다. 해당 날짜의 성능 통계를 CSV 형식으로 저장하기 위해 매일 파일 하나가 생성됩니다. 파일 이름은 YYYY-MM-DD 형식을 사용하며 현재 날짜에 해당하는 파일 이름을 now라고 합니다.
통계는 5분마다 수집됩니다(5분 간격마다 한 줄씩 있음).
이 파일의 출력은 perfstats 명령을 실행하여 읽을 수 있습니다.
참고: 이 명령은 snort 성능 통계 파일을 읽는 데에도 사용되므로 적절한 플래그를 사용해야 합니다.
-C: perfstats 입력이 correlator-stats 파일임을 지시합니다(이 플래그가 없으면 perfstats는 입력이 snort 성능 통계 파일이라고 가정).
-q: 자동 모드에서는 파일의 요약만 출력됩니다.
admin@FMC:~$ sudo perfstats -Cq < /var/sf/rna/correlator-stats/now
287 statistics lines read
host limit: 50000 0 50000
pcnt host limit in use: 100.01 100.00 100.55
rna events/second: 1.22 0.00 48.65
user cpu time: 1.56 0.11 58.20
system cpu time: 1.31 0.00 41.13
memory usage: 5050384 0 5138904
resident memory usage: 801920 0 901424
rna flows/second: 64.06 0.00 348.15
rna dup flows/second: 0.00 0.00 37.05
ids alerts/second: 1.49 0.00 4.63
ids packets/second: 1.71 0.00 10.10
ids comm records/second: 3.24 0.00 12.63
ids extras/second: 0.01 0.00 0.07
fw_stats/second: 1.78 0.00 5.72
user logins/second: 0.00 0.00 0.00
file events/second: 0.00 0.00 3.25
malware events/second: 0.00 0.00 0.06
fireamp events/second: 0.00 0.00 0.00
요약의 각 행에는 다음 세 가지 값이 있습니다. 평균, 최소, 최대
-q 플래그 없이 인쇄할 경우 5분 간격 값도 표시됩니다(요약은 마지막에 표시됨).
참고: 각 FMC는 데이터시트에 설명된 최대 유량을 갖습니다. 다음 표에는 각 데이터시트에서 가져온 모듈당 값이 포함되어 있습니다.
| 모델 |
FMC 750 |
FMC 1000 |
FMC 160 |
FMC 2000 |
FMC 2500 |
FMC 260 |
FMC 4000 |
FMC 4500 |
FMC 4600 |
FMCv |
FMCv300 |
| 최대 플로우 속도(fps) |
2000 |
5000 |
5000 |
12000 |
12000 |
12000 |
20000 |
20000 |
20000 |
변수 |
12000 |
참고: 이 값은 SFDataCorrelator 통계 출력에 굵게 표시된 모든 이벤트 유형의 집계에 사용됩니다.
출력을 보고 최악의 시나리오에 대해 준비된 FMC의 크기를 조정하면(모든 최대값이 동시에 발생할 경우) 이 FMC에 표시되는 이벤트의 속도는 48.65 + 348.15 + 4.63 + 3.25 + 0.06 = 404.74fps입니다.
전체 값은 각 모델의 데이터시트 값과 비교할 수 있습니다.
또한 SFDataCorrelator는 수신된 이벤트(예: 상관관계 규칙)를 기반으로 추가 작업을 수행한 다음 데이터베이스에 저장합니다. 그러면 FMC GUI의 다양한 정보(예: 대시보드 및 이벤트 보기)를 입력하도록 쿼리됩니다.
다음 다이어그램은 상태 모니터와 디스크 관리자 프로세스 모두에 대해 디스크 관련 상태 알림 생성을 위해 상호 연결된 논리적 구성 요소를 보여줍니다.

간단히 말해, 디스크 관리자 프로세스는 상자의 디스크 사용을 관리하고 [/ngfw]/etc/sf/ 폴더에 해당 컨피그레이션 파일을 포함합니다. 디스크 관리자 프로세스에 대한 여러 구성 파일이 특정 상황에서 사용됩니다.
사일로가 할당된 디스크 관리자에서 모니터링하는 각 파일 유형. 디스크 관리자는 시스템에서 사용할 수 있는 디스크 공간을 기준으로 각 사일로에 대해 HWM(High Water Mark) 및 LWM(Low Water Mark)을 계산합니다. 디스크 관리자 프로세스에서 사일로를 제거하면 LWM에 도달할 때까지 계속됩니다. 파일당 이벤트가 제거되므로 이 임계값을 초과할 수 있습니다.
센서 디바이스에서 사일로의 상태를 확인하려면 다음 명령을 실행할 수 있습니다.
> show disk-manager Silo Used Minimum Maximum misc_fdm_logs 0 KB 65.208 MB 130.417 MB Temporary Files 0 KB 108.681 MB 434.726 MB Action Queue Results 0 KB 108.681 MB 434.726 MB User Identity Events 0 KB 108.681 MB 434.726 MB UI Caches 4 KB 326.044 MB 652.089 MB Backups 0 KB 869.452 MB 2.123 GB Updates 304.367 MB 1.274 GB 3.184 GB Other Detection Engine 0 KB 652.089 MB 1.274 GB Performance Statistics 45.985 MB 217.362 MB 2.547 GB Other Events 0 KB 434.726 MB 869.452 MB IP Reputation & URL Filtering 0 KB 543.407 MB 1.061 GB arch_debug_file 0 KB 2.123 GB 12.736 GB Archives & Cores & File Logs 0 KB 869.452 MB 4.245 GB Unified Low Priority Events 974.109 MB 1.061 GB 5.307 GB RNA Events 879 KB 869.452 MB 3.396 GB File Capture 0 KB 2.123 GB 4.245 GB Unified High Priority Events 252 KB 3.184 GB 7.429 GB IPS Events 3.023 MB 2.547 GB 6.368 GB
다음 조건 중 하나가 충족되면 디스크 관리자 프로세스가 실행됩니다.
디스크 관리자 프로세스가 실행될 때마다 [/ngfw]/var/log/diskmanager.log에 있고 CSV 형식의 데이터가 있는 고유한 로그 파일에 있는 서로 다른 각 사일로에 대한 항목을 생성합니다.
다음으로 diskmanager.log 파일의 샘플 행이 표시됩니다. 이 메시지는 Unified Low Priority Events 상태 알림의 처리되지 않은 이벤트 드레이닝을 트리거한 센서 및 각 열의 분석을 통해 생성되었습니다.
priority_2_events,1599668981,221,4587929508,1132501868,20972020,4596,1586044534,5710966962,1142193392,110,0
| 열 | 가치 |
| 사일로 레이블 |
우선 순위 2_이벤트 |
| 배출 시간(Epoch 시간) |
1599668981 |
| 제거된 파일 수 | 221 |
| 소모된 바이트 | 4587929508 |
| 드레이닝 후의 현재 데이터 크기(바이트) | 1132501868 |
| 가장 많이 제거된 파일(바이트) | 20972020 |
| 가장 작은 파일 드레이닝됨(바이트) | 4596 |
| 가장 오래된 파일이 드레이닝됨(에포크 시간) | 1586044534 |
| 하이 워터마크(바이트) | 5710966962 |
| 로우 워터마크(바이트) | 1142193392 |
| 처리되지 않은 이벤트가 제거된 파일 수 | 110 |
| Diskmanager 상태 플래그 | 0 |
그런 다음 관련 상태 알림을 트리거하기 위해 해당 Health Monitor 모듈에서 이 정보를 읽습니다.
특정 시나리오에서는 사일로를 수동으로 제거할 수 있습니다. 예를 들어 수동 사일로 배출을 통해 디스크 공간을 지우려면 수동 파일 제거를 통해 디스크 관리자가 유지할 파일과 삭제할 파일을 결정할 수 있는 이점이 있습니다. 디스크 관리자는 해당 사일로에 대한 최신 파일을 저장합니다.
모든 사일로를 제거할 수 있으며, 이는 설명된 대로 작동합니다(디스크 관리자는 데이터 양이 LWM 임계값 아래로 갈 때까지 데이터를 드레이닝합니다). 명령 시스템 지원 사일로-드레인은 FTD CLISH 모드에서 사용할 수 있으며 사용 가능한 사일로 목록(이름 + 숫자 ID)을 제공합니다.
다음은 Unified Low Priority Events 사일로의 수동 배출 예입니다.
> show disk-manager Silo Used Minimum Maximum misc_fdm_logs 0 KB 65.213 MB 130.426 MB Temporary Files 0 KB 108.688 MB 434.753 MB Action Queue Results 0 KB 108.688 MB 434.753 MB User Identity Events 0 KB 108.688 MB 434.753 MB UI Caches 4 KB 326.064 MB 652.130 MB Backups 0 KB 869.507 MB 2.123 GB Updates 304.367 MB 1.274 GB 3.184 GB Other Detection Engine 0 KB 652.130 MB 1.274 GB Performance Statistics 1.002 MB 217.376 MB 2.547 GB Other Events 0 KB 434.753 MB 869.507 MB IP Reputation & URL Filtering 0 KB 543.441 MB 1.061 GB arch_debug_file 0 KB 2.123 GB 12.737 GB Archives & Cores & File Logs 0 KB 869.507 MB 4.246 GB Unified Low Priority Events 2.397 GB 1.061 GB 5.307 GB RNA Events 8 KB 869.507 MB 3.397 GB File Capture 0 KB 2.123 GB 4.246 GB Unified High Priority Events 0 KB 3.184 GB 7.430 GB IPS Events 0 KB 2.547 GB 6.368 GB > system support silo-drain Available Silos 1 - misc_fdm_logs 2 - Temporary Files 3 - Action Queue Results 4 - User Identity Events 5 - UI Caches 6 - Backups 7 - Updates 8 - Other Detection Engine 9 - Performance Statistics 10 - Other Events 11 - IP Reputation & URL Filtering 12 - arch_debug_file 13 - Archives & Cores & File Logs 14 - Unified Low Priority Events 15 - RNA Events 16 - File Capture 17 - Unified High Priority Events 18 - IPS Events 0 - Cancel and return Select a Silo to drain: 14 Silo Unified Low Priority Events being drained. > show disk-manager Silo Used Minimum Maximum misc_fdm_logs 0 KB 65.213 MB 130.426 MB Temporary Files 0 KB 108.688 MB 434.753 MB Action Queue Results 0 KB 108.688 MB 434.753 MB User Identity Events 0 KB 108.688 MB 434.753 MB UI Caches 4 KB 326.064 MB 652.130 MB Backups 0 KB 869.507 MB 2.123 GB Updates 304.367 MB 1.274 GB 3.184 GB Other Detection Engine 0 KB 652.130 MB 1.274 GB Performance Statistics 1.002 MB 217.376 MB 2.547 GB Other Events 0 KB 434.753 MB 869.507 MB IP Reputation & URL Filtering 0 KB 543.441 MB 1.061 GB arch_debug_file 0 KB 2.123 GB 12.737 GB Archives & Cores & File Logs 0 KB 869.507 MB 4.246 GB Unified Low Priority Events 1.046 GB 1.061 GB 5.307 GB RNA Events 8 KB 869.507 MB 3.397 GB File Capture 0 KB 2.123 GB 4.246 GB Unified High Priority Events 0 KB 3.184 GB 7.430 GB IPS Events 0 KB 2.547 GB 6.368 GB
주요 내용은 다음과 같습니다.
Drain of Unprocessed events 상태 알림을 트리거하려면 다음 조건이 모두 true여야 합니다.
이벤트 상태 알림의 Frequent Drain(자주 드나들기)이 트리거되려면 다음 조건이 충족되어야 합니다.
디스크 사용 모듈에서 수집된 결과 및 다른 모듈에서 수집된 결과는 sftunnel을 통해 FMC로 전송됩니다. sftunnel_status 명령을 실행하여 sftunnel을 통해 교환된 상태 이벤트에 대한 카운터를 볼 수 있습니다.
TOTAL TRANSMITTED MESSAGES <3544> for Health Events service
RECEIVED MESSAGES <1772> for Health Events service
SEND MESSAGES <1772> for Health Events service
FAILED MESSAGES <0> for Health Events service
HALT REQUEST SEND COUNTER <0> for Health Events service
STORED MESSAGES for Health service (service 0/peer 0)
STATE <Process messages> for Health Events service
REQUESTED FOR REMOTE <Process messages> for Health Events service
REQUESTED FROM REMOTE <Process messages> for Health Events service
대부분의 이벤트는 디스크에 저장되지만, 디스크에 대한 이벤트의 지속적인 쓰기 및 삭제로 인해 발생할 수 있는 SSD의 점진적인 손상을 방지하기 위해 디바이스는 기본적으로 ramdisk에 로깅하도록 구성됩니다.
이 시나리오에서 이벤트는 [/ngfw]/var/sf/detection_engine/*/instance-N/ 아래에 저장되지 않지만, /dev/shm/instance-N/connection에 대한 심볼 링크인 [/ngfw]/var/sf/detection_engines/*/instance-N/connection/ 내에 위치합니다. 이 경우 이벤트는 물리적 메모리가 아닌 가상 메모리에 상주합니다.
admin@FTD4140:~$ ls -la /ngfw/var/sf/detection_engines/b0c4a5a4-de25-11ea-8ec3-4df4ea7207e3/instance-1/connection
lrwxrwxrwx 1 sfsnort sfsnort 30 Sep 9 19:03 /ngfw/var/sf/detection_engines/b0c4a5a4-de25-11ea-8ec3-4df4ea7207e3/instance-1/connection -> /dev/shm/instance-1/connection
FTD CLISH에서 show log-events-to-ramdisk 명령을 실행하도록 현재 구성된 디바이스를 확인합니다. 또한 다음과 같이 configure log-events-to-ramdisk <enable/disable> 명령을 실행하는 경우 이를 변경할 수 있습니다.
> show log-events-to-ramdisk
Logging connection events to RAM Disk.
> configure log-events-to-ramdisk
Enable or Disable enable or disable (enable/disable)
경고: configure log-events-to-ramdisk disable 명령이 실행되면 FTD에서 두 개의 구축을 완료해야 snort가 D 상태(Uninterruptible Sleep)에서 중단되지 않으므로 트래픽이 중단될 수 있습니다.
이 동작은 Cisco 버그 ID CSCvz53372를 통해 문서화됩니다. 첫 번째 구축에서는 snort 메모리 단계의 재평가를 건너뛰며, 이로 인해 snort가 D 상태로 전환됩니다. 해결 방법은 임의의 더미 변경 사항으로 다른 구축을 생성하는 것입니다.
ramdisk에 로그인할 때 가장 큰 단점은 개별 사일로의 할당 공간이 더 작고 동일한 상황에서 더 자주 해당 사일로를 배출한다는 것입니다. 다음 출력은 비교를 위해 ramdisk에 대한 로그 이벤트가 활성화되었거나 없는 FPR 4140의 디스크 관리자입니다.
Ramdisk 사용:
> show disk-manager
Silo Used Minimum Maximum
Temporary Files 0 KB 903.803 MB 3.530 GB
Action Queue Results 0 KB 903.803 MB 3.530 GB
User Identity Events 0 KB 903.803 MB 3.530 GB
UI Caches 4 KB 2.648 GB 5.296 GB
Backups 0 KB 7.061 GB 17.652 GB
Updates 305.723 MB 10.591 GB 26.479 GB
Other Detection Engine 0 KB 5.296 GB 10.591 GB
Performance Statistics 19.616 MB 1.765 GB 21.183 GB
Other Events 0 KB 3.530 GB 7.061 GB
IP Reputation & URL Filtering 0 KB 4.413 GB 8.826 GB
arch_debug_file 0 KB 17.652 GB 105.914 GB
Archives & Cores & File Logs 0 KB 7.061 GB 35.305 GB
RNA Events 0 KB 7.061 GB 28.244 GB
File Capture 0 KB 17.652 GB 35.305 GB
Unified High Priority Events 0 KB 17.652 GB 30.892 GB
Connection Events 0 KB 451.698 MB 903.396 MB
IPS Events 0 KB 12.357 GB 26.479 GB
Ramdisk에 대한 로그 비활성화:
> show disk-manager
Silo Used Minimum Maximum
Temporary Files 0 KB 976.564 MB 3.815 GB
Action Queue Results 0 KB 976.564 MB 3.815 GB
User Identity Events 0 KB 976.564 MB 3.815 GB
UI Caches 4 KB 2.861 GB 5.722 GB
Backups 0 KB 7.629 GB 19.074 GB
Updates 305.723 MB 11.444 GB 28.610 GB
Other Detection Engine 0 KB 5.722 GB 11.444 GB
Performance Statistics 19.616 MB 1.907 GB 22.888 GB
Other Events 0 KB 3.815 GB 7.629 GB
IP Reputation & URL Filtering 0 KB 4.768 GB 9.537 GB
arch_debug_file 0 KB 19.074 GB 114.441 GB
Archives & Cores & File Logs 0 KB 7.629 GB 38.147 GB
Unified Low Priority Events 0 KB 9.537 GB 47.684 GB
RNA Events 0 KB 7.629 GB 30.518 GB
File Capture 0 KB 19.074 GB 38.147 GB
Unified High Priority Events 0 KB 19.074 GB 33.379 GB
IPS Events 0 KB 13.351 GB 28.610 GB
더 작은 크기의 사일로는 더 빠른 속도로 보상되어 이벤트에 액세스하고 이를 FMC에 스트리밍합니다. 이것은 적절한 조건에서 더 나은 옵션이지만, 단점은 고려해야 합니다.
Q: Drain of Events 상태 알림은 Connection Events에서만 생성됩니까?
A: 안돼.
Q: Frequent Drain 상태 알림이 표시될 때 Log to Ramdisk를 비활성화하는 것이 항상 바람직합니까?
A: 안돼. 과도한 로깅 시나리오에서만, 영향을 받는 사일로가 연결 이벤트 사일로인 경우 DOS/DDOS를 제외하고, 로깅 설정을 더 이상 튜닝할 수 없는 경우에만 해당됩니다. DOS/DDOS로 인해 과도한 로깅이 발생하는 경우, 해결 방법은 DOS/DDOS 보호를 구현하거나 DOS/DDOS 공격의 소스를 제거하는 것입니다.
기본 기능인 Log to Ramdisk는 SSD 마모를 줄여주므로 이를 사용하는 것이 좋습니다.
Q: 미처리 이벤트를 구성하는 것은 무엇입니까?
A: 이벤트는 개별적으로 처리되지 않은 것으로 표시되지 않습니다. 다음과 같은 경우 파일에 처리되지 않은 이벤트가 있습니다.
또는
Q: FMC는 특정 센서의 뒤에 있는 바이트 수를 어떻게 알 수 있습니까?
A: 센서는 unified_events 파일 이름 및 크기에 대한 메타데이터와 북마크 파일에 대한 정보를 전송합니다. 이 정보는 뒤에 있는 바이트를 다음과 같이 계산하기에 충분한 FMC 정보를 제공합니다.
Current unified_events 파일 크기 - 책갈피 파일의 Position in Bytes 필드 + 각 책갈피 파일의 타임스탬프보다 높은 타임스탬프를 가진 모든 unified_events 파일의 크기.
1. 버그 검색 도구를 열고 다음 질의를 사용합니다.

| 개정 | 게시 날짜 | 의견 |
|---|---|---|
4.0 |
10-Jul-2026
|
제목 업데이트(너무 김), 맞춤법, 문법, 가독성을 위해 별도의 섹션에 삽입된 행, 업데이트된 대체 텍스트 및 CCW 알림 |
3.0 |
03-May-2024
|
업데이트된 소개, PII, 대체 텍스트, 기계 번역, 링크 대상 및 서식. |
1.0 |
25-Sep-2020
|
최초 릴리스 |