Fix policy/protocols/conn/failed-service-logging.zeek

In GH-4422 it was pointed out that the protocols/conn/failed-service-logging.zeek
policy script only works when
`DPD::track_removed_services_in_connection=T` is set.

This was caused by a logic error in the script. This commit fixes this
logic error and introduces an additional test that checks that
failed-service-logging works even when the option is not set to true.
This commit is contained in:
Johanna Amann 2025-05-06 13:37:12 +01:00
parent e986caddf0
commit f293d5a852
3 changed files with 16 additions and 1 deletions

View file

@ -21,7 +21,7 @@ hook Analyzer::disabling_analyzer(c: connection, atype: AllAnalyzers::Tag, aid:
return; return;
# Only add if previously confirmed # Only add if previously confirmed
if ( Analyzer::name(atype) !in c$service || Analyzer::name(atype) !in c$service_violation ) if ( Analyzer::name(atype) !in c$service && Analyzer::name(atype) !in c$service_violation )
return; return;
# Only log if dpd.zeek will disable # Only log if dpd.zeek will disable

View file

@ -0,0 +1,11 @@
### BTest baseline data generated by btest-diff. Do not edit. Use "btest -U/-u" to update. Requires BTest >= 0.63.
#separator \x09
#set_separator ,
#empty_field (empty)
#unset_field -
#path conn
#open XXXX-XX-XX-XX-XX-XX
#fields ts uid id.orig_h id.orig_p id.resp_h id.resp_p proto service duration orig_bytes resp_bytes conn_state local_orig local_resp missed_bytes history orig_pkts orig_ip_bytes resp_pkts resp_ip_bytes tunnel_parents ip_proto failed_service
#types time string addr port addr port enum string interval count count string bool bool count string count count count count set[string] count set[string]
XXXXXXXXXX.XXXXXX CHhAvVGS1DHFjwGM9 127.0.0.1 51354 127.0.0.1 21 tcp - 9.891089 34 71 SF T T 0 ShAdDaFf 13 718 10 599 - 6 ftp
#close XXXX-XX-XX-XX-XX-XX

View file

@ -5,3 +5,7 @@
@load policy/protocols/conn/failed-service-logging @load policy/protocols/conn/failed-service-logging
redef DPD::track_removed_services_in_connection = T; redef DPD::track_removed_services_in_connection = T;
# @TEST-START-NEXT
@load policy/protocols/conn/failed-service-logging