From: Stefan Schantl Date: Tue, 4 Feb 2020 06:55:48 +0000 (+0100) Subject: Parser: Adjust HTTP parser to be compatible with newer log format. X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;ds=sidebyside;p=people%2Fstevee%2Fguardian.git Parser: Adjust HTTP parser to be compatible with newer log format. Signed-off-by: Stefan Schantl --- 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"); }