Überwachung von Domains auf blacklisting

0

Aus gegebenem Anlass habe ich ein script zur Überwachung von Domains – genauer gesagt deren IP Adressen geschrieben das prüft ob die hinterlegten Domains geblacklisted sind und das Ergebnis an eine eMail Adresse schickt. Das ganze besteht aus zwei scripten. Das erste sammelt allen notwendigen Informationen und erstellt daraus eine verwertbare Datei. Das zweite skript verschickt eben diese Datei per eMail.

Unter Umständen ist es notwendig, dass Sie ein Paket für Perl nachinstallieren

~# cpan -i MIME::Lite

script 1

#!/bin/bash
# Bereinigung um Probleme durch skript abbrüche zu umgehen
rm 127.0.0.2.html
rm check_blacklist_result.txt
rm check_blacklist_result
wget http://www.robtex.com/rbls/127.0.0.2.html
echo "<html>" >> check_blacklist_result.txt
cat 127.0.0.2.html | grep -A33 "style type" >> check_blacklist_result.txt
cat 127.0.0.2.html | grep -A6 "table border=1>" >> check_blacklist_result.txt
# dummy (127.0.0.2)
echo "====================== dummy (127.0.0.2) ====================== <br>" >> check_blacklist_result.txt
cat 127.0.0.2.html | grep -B4 -A2 BLACKLISTED >> check_blacklist_result.txt
echo "<br>" >> check_blacklist_result.txt
echo "<br>" >> check_blacklist_result.txt
# Zeilenumbrüche entfernen & Datei verschicken
cat check_blacklist_result.txt | sed 's/$/ /' | tr -d 'n' > check_blacklist_result
./check_blacklist_send.sh
# Bereinigung
rm 127.0.0.2.html
rm check_blacklist_result.txt
rm check_blacklist_result

script 2

#!/usr/bin/perl -w
#use strict;
use MIME::Lite;
#Datum ermitteln
my ($Sekunden, $Minuten, $Stunden, $Monatstag, $Monat,
$Jahr, $Wochentag, $Jahrestag, $Sommerzeit) = localtime(time);
my $CTIME_String = localtime(time);
$Monat+=1;
$Monat = $Monat < 10 ? $Monat = "0".$Monat : $Monat;
$Monatstag = $Monatstag < 10 ? $Monatstag = "0".$Monatstag : $Monatstag;
$Jahr+=1900;
# open html file
open (IN,"/root/scripts/check_blacklist_result");
@datei = <IN>;
# SendTo email id
my $email = 'user@domain.tld';
# create a new MIME Lite based email
my $msg = MIME::Lite->new
(
Subject => "[Blacklist check - $Monatstag.$Monat.$Jahr]",
From => 'root@domain.tld',
To => $email,
Type => 'text/html',
Data => @datei
);
$msg->send();
close IN;
Teilen.

Über den Autor

Seit der Ausbildung zum Fachinformatiker Systemintegration (2002-2005) bei der DaimlerChrysler AG, beruflich im Bereich der E-Mail Kommunikation (Exchange, Linux) sowie des ActiveDirectory, mit entsprechenden Zertifizierungen (MCSE 2003, MCITP Ent.-Admin 2008, MCSE 2012, LPIC 1-3) tätig. Abgeschlossenes Studium zum Master of Science der IT-Management an der FOM sowie zertifizierter Datenschutzbeauftragter. Aktuell im Projektmanagement tätig.

Antworten