#!/usr/bin/env perl my $line; while ($line = <>) { if ($line =~ / sshd\[/) { # is this sshd message? if ($line =~ /Invalid user/ or $line =~ /not allowed/ or $line =~ /Failed password/) { $line =~ /((?:[0-9]+\.){3}[0-9]+)/; my $ip = $1; system("/sbin/pfctl", "-t", "bad_guys", "-Ta", $ip); } } }