Verwenden Sie DNS-Blocklisten, um Spam zu erkennen


Eine der Lösungen für spam ist eine - regelmäßig aktualisiert-Datenbank mit IP-Adressen, die scheinbar schlecht benehmen. Diese Datenbank sollte vorzugsweise, zufällige sein mit hoher Geschwindigkeit zu erreichen. DNS bietet eine Lösung dafür.

Einführung.
Glücklicherweise hat Internet Antworten für die Immens wachsende Spam-Problem gefunden. Eine Lösung ist eine - regelmäßig aktualisiert-Datenbank mit IP-Adressen, die scheinbar schlecht benehmen. Diese Datenbank sollte vorzugsweise, zufällige sein mit hoher Geschwindigkeit zu erreichen. DNS bietet eine Lösung dafür.

DNS-Einträge können schnell aktualisiert werden. Meist ist auch keine Notwendigkeit, eine Kopie der Datenbank (möglicherweise große) häufig herunterladen. Wenn ein Mail-Server erkennen kann, in einem Bruchteil einer Sekunde, die die sendende IP aktuell, zum Beispiel auf der schwarzen Liste ist weil es von einem Virus infiziert wurde und als offenes Relay verwendet kann es Effictively Block Rezeption.

Ein bekannter DNSBL-Anbieter ist spamhouse.org. Eine (vollständige) Liste der DNSBL-Anbieter finden Sie hier

Verwendung
SMTP-Server und Mail-Clients (oder Postfach Reiniger) können diese Methode verwenden. Der Pfad ging eine e-Mail-Nachricht wird immer gespeichert, so dass Sie immer die ursprüngliche IP-Adresse abrufen können. Dies ist ein wesentlicher Bestandteil des SMTP-Protokolls.

Mit dem POP3-Protokoll, kann man eine Mail-Box, oben (top Mittel: nur die Kopfzeilen der Nachricht zu holen) Kopfzeilen der Nachrichten und sehen Sie, wenn sie schwarze Liste gesetzt werden, indem Sie sich der 'Received: aus Somehost (1.2.3.4)' Linien.

Da diese Spam-Datenbanken können häufig aktualisiert werden, können sie effektiv erkennen, eine große Menge (> 50 %?) von Spam.

Wie funktioniert es

Im Grunde, was du tun musst ist gegen eine DNSBL (DNS-BlockList), überprüfen Sie, wie
www.spamhaus.org. wie folgt geschieht:

Angenommen, Sie möchten überprüfen, ob die IP-Adresse 60.70.80.90 ein Spammer ist, führen Sie einfach eine DNS-Abfrage an sbl.spamhaus.org aus, mit der (umgekehrte) Ip-Adresse eingefügt, wie
Dns Abfragen: 90.80.70.60.sbl.spamhaus.org
Wenn Sie einen A-Eintrag erhalten, ist dies ein Spammer. Wenn Sie nichts zurück bekommen, ist diese IP-Adresse nicht auf der Spamliste.

Testen Sie es
Sie können dies leicht überprüfen, mithilfe des Befehls 'Ping'.
Wenn Sie das tun würde:
Ping-90.80.70.60.sbl.spamhaus.org, dann gibt es zwei Möglichkeiten:
* Sie erhalten die Meldung 'Unbekannter Host'. Dies ist in Ordnung, die IP-Adresse wird nicht auf der schwarzen Liste.
* Sie erhalten '127.0.0.x', wo x > 1, wie 127.0.0.2. X steht für einen Statuscode. In der Regel 2 dient zur (semi-) permanenten Netzbereichen und 4 ist für 'offener Proxies' verwendet (wie: Maschinen, die durch einen Virus infiziert).

Beispiel
Ich benutze dieses Gerät erfolgreich in ein Mail-Client. Lubos hat das Gerät erfolgreich in ein SMTP/POP3-Server-Suite integriert.

Diese Einheit können mit oder ohne Synapse-TCP/IP-Netzwerkbibliothek Sie durch Festlegen der {$DEFINE SYNAPSE} Direktive.

spamchck.pas

Einheit Spamchck;

Schnittstelle

Abfrage ist die Datenbank von spamhaus.org Spammer

verwendet Klassen, SysUtils, {$IFDEF SYNAPSE} SynaUtil, WinSock SynSock {$ELSE} {$ENDIF};

Typ
TSpamCheck = Class (TObject)
geschützt
öffentliche
FDNSBL:String; DNS-Sperrliste
Konstruktor erstellen;
Funktion IsSpammer (IP:String): Integer; überladen;
Funktion IsSpammer (MailHeader:TStrings): Integer; überladen;
Ende;

Umsetzung

{TSpamCheck}

Konstruktor TSpamCheck.Create;
beginnen
erbte;
FDNSBL: = ' Sbl-Xbl.spamhaus.org';
Alternativ verwenden sbl.spamhaus.org. (Spam) oder
XBL.spamhaus.org. (offene Relays, Proxies)
oder eine alternative Quelle DNSBL-Quelle.
Sbl-Xbl ist die kombinierte Liste.
Ende;

Funktion TSpamCheck.IsSpammer(IP: String): Integer;
Var RevIP:String;
I:Integer;
P:PHostEnt;
beginnen
Abfrage der Datenbank
Zuerst die IP umkehren
Ergebnis: =-1;
{$IFDEF SYNAPSE}
Wenn IsIP (IP) dann
{$ENDIF}
beginnen
Umkehren der IP
RevIP: = '';
für i: = 0 bis 2 zu tun
beginnen
RevIP: = '.' + Kopieren (IP, 1, pos ('. ', IP)-1) + RevIP;
IP: = Kopieren (IP, pos ('. ', IP) + 1, Maxint);
Ende;
RevIP: = IP + RevIP;

Nun, die Datenbank abzufragen:
RevIP: = RevIP + '.' + FDNSBL;
p: = GetHostByName (PChar(RevIP));
Wenn dann zugewiesen (p)
beginnen //Results kommen als 127.0.0.x zurück, wobei x > 1
127.0.0.2 = spam
127.0.0.4 = offenes Relay etc..
Ergebnis: = Byte (p ^ .h_addr ^. S_un_b.s_b4);
Ende
sonst //no Dns-Eintrag gefunden, markieren Sie ihn als sicher:
Ergebnis: = 0;
Ende;

Ende;

Funktion TSpamCheck.IsSpammer(MailHeader: TStrings): Integer;
Var V, Ip:String;
ich, R: Integer;
beginnen
Einen e-mail-Header analysieren
Suchen Sie nach 'Received'-header
IP-Adresse, unter der Annahme Formular extrahieren ' Received: aus (a.b.c.d) durch (w.x.y.z)
Überprüfen Sie diese IP-Adresse bei Spamhaus.
Ich: = 0;
Ergebnis: =-1;
während ich < MailHeader.Count tun
beginnen
Wenn pos ('empfangen:', Kleinbuchstaben (MailHeader[i])) = 1 then
beginnen
V: = MailHeader [i];
Suche für zusätzliche Header:
während ((i+1) < MailHeader.Count) und
(MailHeader [i + 1] <>'') und
(MailHeader [i + 1] [1] =' ') zu tun
beginnen
Inc (i);
V: = V + MailHeader [i];
Ende;
V enthält jetzt eine Zeile, Fund aus Ip-Adresse:
V: = Kleinbuchstaben (V);
Suche nach:
Empfing ab somehost.com: (1.2.3.4).
V: = Kopieren (V, pos ('von', V) + 4, Maxint);
V: = Kopieren (V, pos ('(', v) + 1, Maxint);
V: = Kopieren (V, 1, pos (')', V)-1);

Wenn pos ('[', V) > 0 dann
gültiges Format ist auch:
Empfing ab somehost.com. (die somehost.com [1.2.3.4])
beginnen
V: = Kopieren (V, pos ('[', V) + 1, Maxint);
V: = Kopieren (V, 1, pos ('] ', V)-1);
Ende;

Ergebnis: = IsSpammer (V);

eine empfangene Zeile reicht
Wenn Ergebnis > 0 dann
zu brechen;
//
Ende;
Inc (i);
Ende;
Ende;

Ende.









Verwenden Sie DNS-Blocklisten, um Spam zu erkennen


Verwenden Sie DNS-Blocklisten, um Spam zu erkennen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.


Eine der Lösungen für spam ist eine - regelmäßig aktualisiert-Datenbank mit IP-Adressen, die scheinbar schlecht benehmen. Diese Datenbank sollte vorzugsweise, zufällige sein mit hoher Geschwindigkeit zu erreichen. DNS bietet eine Lösung dafür.

Einführung.
Glücklicherweise hat Internet Antworten für die Immens wachsende Spam-Problem gefunden. Eine Lösung ist eine - regelmäßig aktualisiert-Datenbank mit IP-Adressen, die scheinbar schlecht benehmen. Diese Datenbank sollte vorzugsweise, zufällige sein mit hoher Geschwindigkeit zu erreichen. DNS bietet eine Lösung dafür.

DNS-Einträge können schnell aktualisiert werden. Meist ist auch keine Notwendigkeit, eine Kopie der Datenbank (möglicherweise große) häufig herunterladen. Wenn ein Mail-Server erkennen kann, in einem Bruchteil einer Sekunde, die die sendende IP aktuell, zum Beispiel auf der schwarzen Liste ist weil es von einem Virus infiziert wurde und als offenes Relay verwendet kann es Effictively Block Rezeption.

Ein bekannter DNSBL-Anbieter ist spamhouse.org. Eine (vollständige) Liste der DNSBL-Anbieter finden Sie hier

Verwendung
SMTP-Server und Mail-Clients (oder Postfach Reiniger) können diese Methode verwenden. Der Pfad ging eine e-Mail-Nachricht wird immer gespeichert, so dass Sie immer die ursprüngliche IP-Adresse abrufen können. Dies ist ein wesentlicher Bestandteil des SMTP-Protokolls.

Mit dem POP3-Protokoll, kann man eine Mail-Box, oben (top Mittel: nur die Kopfzeilen der Nachricht zu holen) Kopfzeilen der Nachrichten und sehen Sie, wenn sie schwarze Liste gesetzt werden, indem Sie sich der 'Received: aus Somehost (1.2.3.4)' Linien.

Da diese Spam-Datenbanken können häufig aktualisiert werden, können sie effektiv erkennen, eine große Menge (> 50 %?) von Spam.

Wie funktioniert es

Im Grunde, was du tun musst ist gegen eine DNSBL (DNS-BlockList), überprüfen Sie, wie
www.spamhaus.org. wie folgt geschieht:

Angenommen, Sie möchten überprüfen, ob die IP-Adresse 60.70.80.90 ein Spammer ist, führen Sie einfach eine DNS-Abfrage an sbl.spamhaus.org aus, mit der (umgekehrte) Ip-Adresse eingefügt, wie
Dns Abfragen: 90.80.70.60.sbl.spamhaus.org
Wenn Sie einen A-Eintrag erhalten, ist dies ein Spammer. Wenn Sie nichts zurück bekommen, ist diese IP-Adresse nicht auf der Spamliste.

Testen Sie es
Sie können dies leicht überprüfen, mithilfe des Befehls 'Ping'.
Wenn Sie das tun würde:
Ping-90.80.70.60.sbl.spamhaus.org, dann gibt es zwei Möglichkeiten:
* Sie erhalten die Meldung 'Unbekannter Host'. Dies ist in Ordnung, die IP-Adresse wird nicht auf der schwarzen Liste.
* Sie erhalten '127.0.0.x', wo x > 1, wie 127.0.0.2. X steht für einen Statuscode. In der Regel 2 dient zur (semi-) permanenten Netzbereichen und 4 ist für 'offener Proxies' verwendet (wie: Maschinen, die durch einen Virus infiziert).

Beispiel
Ich benutze dieses Gerät erfolgreich in ein Mail-Client. Lubos hat das Gerät erfolgreich in ein SMTP/POP3-Server-Suite integriert.

Diese Einheit können mit oder ohne Synapse-TCP/IP-Netzwerkbibliothek Sie durch Festlegen der {$DEFINE SYNAPSE} Direktive.

spamchck.pas

Einheit Spamchck;

Schnittstelle

Abfrage ist die Datenbank von spamhaus.org Spammer

verwendet Klassen, SysUtils, {$IFDEF SYNAPSE} SynaUtil, WinSock SynSock {$ELSE} {$ENDIF};

Typ
TSpamCheck = Class (TObject)
geschützt
öffentliche
FDNSBL:String; DNS-Sperrliste
Konstruktor erstellen;
Funktion IsSpammer (IP:String): Integer; überladen;
Funktion IsSpammer (MailHeader:TStrings): Integer; überladen;
Ende;

Umsetzung

{TSpamCheck}

Konstruktor TSpamCheck.Create;
beginnen
erbte;
FDNSBL: = ' Sbl-Xbl.spamhaus.org';
Alternativ verwenden sbl.spamhaus.org. (Spam) oder
XBL.spamhaus.org. (offene Relays, Proxies)
oder eine alternative Quelle DNSBL-Quelle.
Sbl-Xbl ist die kombinierte Liste.
Ende;

Funktion TSpamCheck.IsSpammer(IP: String): Integer;
Var RevIP:String;
I:Integer;
P:PHostEnt;
beginnen
Abfrage der Datenbank
Zuerst die IP umkehren
Ergebnis: =-1;
{$IFDEF SYNAPSE}
Wenn IsIP (IP) dann
{$ENDIF}
beginnen
Umkehren der IP
RevIP: = '';
für i: = 0 bis 2 zu tun
beginnen
RevIP: = '.' + Kopieren (IP, 1, pos ('. ', IP)-1) + RevIP;
IP: = Kopieren (IP, pos ('. ', IP) + 1, Maxint);
Ende;
RevIP: = IP + RevIP;

Nun, die Datenbank abzufragen:
RevIP: = RevIP + '.' + FDNSBL;
p: = GetHostByName (PChar(RevIP));
Wenn dann zugewiesen (p)
beginnen //Results kommen als 127.0.0.x zurück, wobei x > 1
127.0.0.2 = spam
127.0.0.4 = offenes Relay etc..
Ergebnis: = Byte (p ^ .h_addr ^. S_un_b.s_b4);
Ende
sonst //no Dns-Eintrag gefunden, markieren Sie ihn als sicher:
Ergebnis: = 0;
Ende;

Ende;

Funktion TSpamCheck.IsSpammer(MailHeader: TStrings): Integer;
Var V, Ip:String;
ich, R: Integer;
beginnen
Einen e-mail-Header analysieren
Suchen Sie nach 'Received'-header
IP-Adresse, unter der Annahme Formular extrahieren ' Received: aus (a.b.c.d) durch (w.x.y.z)
Überprüfen Sie diese IP-Adresse bei Spamhaus.
Ich: = 0;
Ergebnis: =-1;
während ich < MailHeader.Count tun
beginnen
Wenn pos ('empfangen:', Kleinbuchstaben (MailHeader[i])) = 1 then
beginnen
V: = MailHeader [i];
Suche für zusätzliche Header:
während ((i+1) < MailHeader.Count) und
(MailHeader [i + 1] <>'') und
(MailHeader [i + 1] [1] =' ') zu tun
beginnen
Inc (i);
V: = V + MailHeader [i];
Ende;
V enthält jetzt eine Zeile, Fund aus Ip-Adresse:
V: = Kleinbuchstaben (V);
Suche nach:
Empfing ab somehost.com: (1.2.3.4).
V: = Kopieren (V, pos ('von', V) + 4, Maxint);
V: = Kopieren (V, pos ('(', v) + 1, Maxint);
V: = Kopieren (V, 1, pos (')', V)-1);

Wenn pos ('[', V) > 0 dann
gültiges Format ist auch:
Empfing ab somehost.com. (die somehost.com [1.2.3.4])
beginnen
V: = Kopieren (V, pos ('[', V) + 1, Maxint);
V: = Kopieren (V, 1, pos ('] ', V)-1);
Ende;

Ergebnis: = IsSpammer (V);

eine empfangene Zeile reicht
Wenn Ergebnis > 0 dann
zu brechen;
//
Ende;
Inc (i);
Ende;
Ende;

Ende.


Verwenden Sie DNS-Blocklisten, um Spam zu erkennen

Verwenden Sie DNS-Blocklisten, um Spam zu erkennen : Mehreren tausend Tipps, um Ihr Leben einfacher machen.
Verwenden Sie DNS-Blocklisten, um Spam zu erkennen
Wiezutun
Freunden empfehlen
  • gplus
  • pinterest

Kommentar

Einen Kommentar hinterlassen

Wertung