--- /dev/null
+# FTP app-layer event rules
+#
+# SID range start: 2232000
+
+alert ftp any any -> any any (msg:"SURICATA FTP Request command too long"; flow:to_server; app-layer-event:ftp.request_command_too_long; classtype:protocol-command-decode; sid:2232000; rev:1;)
+alert ftp any any -> any any (msg:"SURICATA FTP Response command too long"; flow:to_client; app-layer-event:ftp.response_command_too_long; classtype:protocol-command-decode; sid:2232001; rev:1;)
ftp.command_data: index.html
ftp.command_truncated: false
ftp.reply_truncated: false
+
+ # Look for anomaly event.
+ - filter:
+ min-version: 7
+ count: 1
+ match:
+ event_type: anomaly
+ anomaly.event: request_command_too_long
+
+ # Look for app-layer alert.
+ - filter:
+ min-version: 7
+ count: 1
+ match:
+ event_type: alert
+ alert.signature_id: 2232000
--- /dev/null
+# FTP app-layer event rules
+#
+# SID range start: 2232000
+
+alert ftp any any -> any any (msg:"SURICATA FTP Request command too long"; flow:to_server; app-layer-event:ftp.request_command_too_long; classtype:protocol-command-decode; sid:2232000; rev:1;)
+alert ftp any any -> any any (msg:"SURICATA FTP Response command too long"; flow:to_client; app-layer-event:ftp.response_command_too_long; classtype:protocol-command-decode; sid:2232001; rev:1;)
event_type: ftp
ftp.command: PASV
ftp.reply_truncated: true
+
+ # Look for anomaly event.
+ - filter:
+ min-version: 7
+ count: 1
+ match:
+ event_type: anomaly
+ anomaly.event: response_command_too_long
+
+ # Look for app-layer alert.
+ - filter:
+ min-version: 7
+ count: 1
+ match:
+ event_type: alert
+ alert.signature_id: 2232001
+