Hi,
I am in the process of configuring a system that FortiGate UTM performs SSL inspection on some HTTPS traffic and sends it to a mirror port, and Zeek receives and analyzes this mirrored traffic. The packet analysis stage includes checking the contents of the decrypted request body and response body.
However, the environment is fully set up, and when I check the traffic in Zeek’s http.log, either request_body_len or response_body_len is always 0, and the body data for the zero-length items is not output. For non-mirrored HTTP traffic, both request_body and response_body are logged correctly.
The invocation method uses HTTP POST, so it should not be the case that both are 0. Below is the test result from a curl call on a Windows desktop:
$ curl --request POST --url https://httpbin.org/post -d {“key1”:“value12345”} --ssl-no-revoke
{
“args”: {},
“data”: “”,
“files”: {},
“form”: {
“{key1:value12345}”: “”
},
“headers”: {
“Accept”: “/”,
“Content-Length”: “17”,
“Content-Type”: “application/x-www-form-urlencoded”,
“Host”: “httpbin.org”,
“User-Agent”: “curl/7.83.1”,
“X-Amzn-Trace-Id”: “Root=1-6721fceb-278f093a4beae14f54fc0d2f”
},
“json”: null,
“origin”: “1.235.10.153”,
“url”: “https://httpbin.org/post”
}
If this issue is caused by the limitations of mirrored traffic, is there a way to obtain the desired results even if unnecessary detection features are disabled? Since we are monitoring traffic going from internal to external, most security-related detection features can be disabled.
I am attaching a pcap file and Zeek log files.
Thank you.
traffic.pcap (3.0 KB)
zeek_log.tar (10 KB)