Обратившись за помощью к нескольким другим источникам, оказалось, что я просил фыркнуть посмотреть не в том месте:
Правильное правило ниже:
alert tcp any any -> any any (msg:"Test"; file_data; content:"MZ"; depth: 2; sid:51; rev:1;)
Вместо http_client_body
после строки содержимого необходимо правило file_data
до строки содержимого.
http_client_body
= тело запроса
file_data
= тело ответа *
(* Это сложнее, но этого достаточно, чтобы объяснить этот случай. Пожалуйста, обратитесь к документации Snort для дальнейшего ознакомления)