From b4e19988a065c66149d23d498e37cc19a72947dc Mon Sep 17 00:00:00 2001 From: Scott Ullrich Date: Mon, 20 Mar 2006 03:52:50 +0000 Subject: Add script that will download a list of email addresses from a site then compare each grey listing entry in spamd against the downloaded list for dictionary attackers, etc. Spam trap the dictionary attackers email to address and also add the server ip address to the blacklist. --- packages/spamd_verify_to_address.php | 125 +++++++++++++++++++++++++++++++++++ 1 file changed, 125 insertions(+) create mode 100644 packages/spamd_verify_to_address.php diff --git a/packages/spamd_verify_to_address.php b/packages/spamd_verify_to_address.php new file mode 100644 index 00000000..cca3bba7 --- /dev/null +++ b/packages/spamd_verify_to_address.php @@ -0,0 +1,125 @@ +#!/usr/local/bin/php -q +","",$grey_lower); + $grey_split = split("\|", $grey_lower); + $email_from = strtolower($grey_split[2]); + $email_to = strtolower($grey_split[3]); + $server_ip = strtolower($grey_split[1]); + if(in_array($server_ip, $current_blacklist)) { + if($debug) + echo "$server_ip already in blacklist.\n"; + continue; + } + if($debug) + echo "Testing $email_from | $email_to \n"; + if (in_array($email_to, $valid_list)) { + if($debug) + echo "$email_to is in the valid list\n"; + } else { + /* spammer picked the wrong person to mess with */ + if($server_ip) { + if($debug) + echo "/usr/local/sbin/spamdb -a $server_ip -t\n"; + exec("/usr/local/sbin/spamdb -d {$server_ip} 2>/dev/null"); + exec("/usr/local/sbin/spamdb -d {$server_ip} -T 2>/dev/null"); + exec("/usr/local/sbin/spamdb -d {$server_ip} -t 2>/dev/null"); + if($debug) + echo "/usr/local/sbin/spamdb -a \"<$email_to>\" -T\n"; + exec("/usr/local/sbin/spamdb -a \"<$email_to>\" -T"); + system("echo $server_ip >> /var/db/blacklist.txt"); + $result = mwexec("/usr/local/sbin/spamdb -a $server_ip -t"); + } else { + if($debug) + echo "Could not locate server ip address."; + } + if($debug) + echo "Script result code: {$result}\n"; + } +} + +mwexec("killall -HUP spamlogd"); + +if($debug) { + echo "Items trapped: "; + system("spamdb | grep TRAPPED | wc -l"); + echo "Items spamtrapped: "; + system("spamdb | grep SPAMTRAP | wc -l"); +} + +mwexec("/sbin/pfctl -q -t blacklist -T replace -f /var/db/blacklist.txt"); +mwexec("/sbin/pfctl -t blacklist -T show | cut -d\" \" -f4 > /var/db/blacklist.txt"); + +if($debug) { + echo "Items in blacklist.txt: "; + system("/sbin/pfctl -t blacklist -T show | wc -l"); +} + +?> -- cgit v1.2.3