簡介
本文檔介紹如何對高級惡意軟體防護安全終結點私有雲中的事件流進行故障排除。
必要條件
需求
思科建議您瞭解以下主題:
採用元件
本文中的資訊係根據以下軟體和硬體版本:
- 安全端點私有雲v3.9.0
- cURL v7.87.0
- cURL v8.0.1
本文中的資訊是根據特定實驗室環境內的裝置所建立。文中使用到的所有裝置皆從已清除(預設)的組態來啟動。如果您的網路運作中,請確保您瞭解任何指令可能造成的影響。
組態
建立API金鑰
步驟1.登入到私有雲控制檯。
步驟2.導航至 Accounts > API Credentials
.
步驟3。按一下 New API Credential
.
步驟4.新增 Application name
然後按一下 Read & Write
範圍。
建立API金鑰
步驟5。按一下 Create
.
步驟6.儲存API憑據。
API金鑰
注意:如果您離開此頁面,則無法恢復API金鑰。
建立事件流
這將為事件資訊建立新的高級消息隊列協定(AMQP)消息流。
可以為指定的事件型別和組建立事件流:
--data '{"name":"EVENT_STREAM_NAME","event_type":["EVENT_TYPE_1", "EVENT_TYPE_2"],"group_guid":["GROUP_ID_1", "GROUP_ID_2"]}'
您可以通過以下方式為所有事件型別和所有組建立事件流:
--data '{"name":"EVENT_STREAM_NAME","event_type":[],"group_guid":[]}'
MacOS/Linux
您可以使用以下功能在MacOS/Linux上建立事件流:
curl -X POST -k -H 'Accept: application/json' -H 'Content-Type: application/json' -u 'CLIENT_ID:API_KEY' -i 'https://CONSOLE_URL/v1/event_streams' --data '{"name":"EVENT_STREAM_NAME","event_type":[],"group_guid":[]}'
Windows
您可以使用以下功能在Windows上建立事件流:
curl -X POST -k -H "Accept: application/json" -H "Content-Type: application/json" -u "CLIENT_ID:API_KEY" -i "https://CONSOLE_URL/v1/event_streams" --data "{\"name\":\"EVENT_STREAM_NAME\",\"event_type\":[],\"group_guid\":[]}"
響應
HTTP/1.1 201 Created
(...)
"data": {
"id": 17,
"name": "EVENT_STREAM_NAME",
"amqp_credentials": {
"user_name": "17-1bfXXXXXXXXXX",
"queue_name": "event_stream_17",
"password": "3961XXXXXXXXXXXXXXXXXXXXXX814a77",
"host": "FMC_SERVICE_URL",
"port": 443,
"proto": "https"
}
}
事件流清單
這顯示在私有雲上建立的事件流的清單。
MacOS/Linux
您可以使用以下內容列出MacOS/Linux上的事件流:
curl -k -H 'Accept: application/json' -H 'Content-Type: application/json' -u 'CLIENT_ID:API_KEY' -i 'https://CONSOLE_URL/v1/event_streams'
Windows
您可以使用以下內容列出Windows上的事件流:
curl -k -H "Accept:application/json" -H "Content-Type:application/json" -u "CLIENT_ID:API_KEY" -i "https://CONSOLE_URL/v1/event_streams"
響應
HTTP/1.1 200 OK
(...)
"data": {
"id": 17,
"name": "EVENT_STREAM_NAME",
"amqp_credentials": {
"user_name": "17-1bfXXXXXXXXXX",
"queue_name": "event_stream_17",
"host": "FMC_SERVICE_URL",
"port": 443,
"proto": "https"
}
}
刪除事件流
刪除活動事件流。
MacOS/Linux
您可以使用以下內容刪除MacOS/Linux上的事件流:
curl -X DELETE -k -H 'Accept: application/json' -H 'Content-Type: application/json' -u 'CLIENT_ID:API_KEY' -i 'https://CONSOLE_URL/v1/event_streams/EVENT_STREAM_ID'
Windows
您可以使用以下方法刪除Windows上的事件流:
curl -X DELETE -k -H "Accept:application/json" -H "Content-Type:application/json" -u "CLIENT_ID:API_KEY" -i "https://CONSOLE_URL/v1/event_streams/EVENT_STREAM_ID"
響應
HTTP/1.1 200 OK
(...)
"data": {}
驗證
步驟1.將Python指令碼複製到裝置並將其另存為 EventStream.py
.
import pika
import ssl
user_name = "USERNAME"
queue_name = "QUEUE_NAME"
password = "PASSWORD"
host = "FMC_SERVICE_URL"
port = 443
proto = "https"
def callback(channel, method, properties, body):
print(body)
amqp_url = f"amqps://{user_name}:{password}@{host}:{port}"
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
amqp_ssl = pika.SSLOptions(context)
params = pika.URLParameters(amqp_url)
params.ssl_options = amqp_ssl
connection = pika.BlockingConnection(params)
channel = connection.channel()
channel.basic_consume(
queue_name,
callback,
auto_ack = False
)
channel.start_consuming()
步驟2.在終端中執行它作為 python3 EventStream.py
.
步驟3.觸發新增到事件流隊列中的任何事件。
步驟4.檢查終端中是否顯示事件。
疑難排解
為了執行這些命令,您必須通過SSH登入到私有雲。
檢查AMQP服務
驗證服務是否已啟用:
[root@fireamp rabbitmq]# amp-ctl service status rabbitmq
running enabled rabbitmq
驗證服務是否正在運行:
[root@fireamp ~]# svstat /service/rabbitmq
/service/rabbitmq: up (pid 25504) 7402137 seconds
檢查到事件流接收器的連線
執行命令:
tail /data/log/rabbitmq/rabbit@fireamp.log
已建立連線:
=INFO REPORT==== 19-Apr-2023::08:40:12 ===
accepting AMQP connection <0.17588.27> (127.0.0.1:32946 -> 127.0.0.1:5672)
連線已關閉:
=WARNING REPORT==== 19-Apr-2023::08:41:52 ===
closing AMQP connection <0.17588.27> (127.0.0.1:32946 -> 127.0.0.1:5672):
connection_closed_abruptly
檢查隊列中的事件
隊列中的事件已準備就緒,可以在建立連線後通過此事件流傳送到接收器。在此示例中,事件流ID 23有14個事件。
[root@fireamp rabbitmq]# rabbitmqctl list_queues
Listing queues ...
1acb0eb6-39f7-4b11-bd9b-fc4dd0e3bd77_60b15rn8mpftaico6or6l8zxavl1usm 26
1acb0eb6-39f7-4b11-bd9b-fc4dd0e3bd77_61984nlu8p11eeopmgmtcjra1v8gf5p 26
1acb0eb6-39f7-4b11-bd9b-fc4dd0e3bd77_iesRAgVo0h287mO_DetOx9PdDu8MxkS6kL4oSTeBm9s 26
event_decoration 0
event_log_store 0
event_stream_23 14
event_streams_api 0
events_delayed 0
events_retry 0
mongo_event_consumer 0
out_events_q1 0
tevent_listener 0
收集網路流量檔案
為了驗證來自私有雲的事件流流量,可以使用 tcpdump
工具:
步驟1.通過SSH連線到私有雲。
步驟2.執行命令:
tcpdump -vvv -i eth1 host <Event_Stream_Receiver_IP> -w file.pcap
步驟3.停止捕獲 Ctrl+C
(Windows)或 Command-C
(Mac)。
步驟4.提取 pcap
私有雲中的檔案。
相關資訊