commit 5028c7fde1fa15e4960f2fec3c025d0338382895
Author: Stefan Schantl <stefan.schantl@ipfire.org>
Date:   Tue Feb 4 07:55:48 2020 +0100

    Parser: Adjust HTTP parser to be compatible with newer log format.
    
    Signed-off-by: Stefan Schantl <stefan.schantl@ipfire.org>

diff --git a/modules/Parser.pm b/modules/Parser.pm
index 3880228..bcca88f 100644
--- a/modules/Parser.pm
+++ b/modules/Parser.pm
@@ -302,7 +302,7 @@ sub message_parser_httpd (@) {
 	# been passed.
 	foreach my $line (@message) {
 		# This will catch brute-force attacks against htaccess logins (username).
-		if ($line =~ /.*\[error\] \[client (.*)\] user(.*) not found:.*/) {
+		if ($line =~ /.*\[client (.*)\] .* user(.*) not found:.*/) {
 			# Store the grabbed IP-address.
 			$address = $1;
 
@@ -311,7 +311,7 @@ sub message_parser_httpd (@) {
 		}
 
 		# Detect htaccess password brute-forcing against a username.
-		elsif ($line =~ /.*\[error\] \[client (.*)\] user(.*): authentication failure for.*/) {
+		elsif ($line =~ /.*\[client (.*)\] .* user(.*): authentication failure for.*/) {
 			# Store the extracted IP-address.
 			$address = $1;
 
@@ -321,6 +321,14 @@ sub message_parser_httpd (@) {
 
 		# Check if at least the IP-address information has been extracted.
 		if (defined ($address)) {
+			# Check if the address also contains a port value.
+			if ($address =~ m/:/) {
+				my ($add_address, $port) = split(/:/, $address);
+
+				# Only process the address.
+				$address = $add_address;
+			}
+
 			# Add the extracted values and event message to the actions array.
 			push(@actions, "count $address $name $message");
 		}
