Ich habe ein Problem mit einer bestimmten Person, die meine Website immer wieder aggressiv abkratzt. Verschwendung von Bandbreite und CPU-Ressourcen. Ich habe bereits ein System implementiert, das meine Webserver-Zugriffsprotokolle abschließt, jede neue IP zu einer Datenbank hinzufügt, die Anzahl der von dieser IP gestellten Anforderungen verfolgt und dann, wenn dieselbe IP einen bestimmten Schwellenwert für Anforderungen überschreitet In einem bestimmten Zeitraum wird es über iptables blockiert. Es mag aufwendig klingen, aber meines Wissens gibt es keine vorgefertigte Lösung, um eine bestimmte IP auf eine bestimmte Menge an Bandbreite / Anforderungen zu beschränken.
Dies funktioniert für die meisten Crawler einwandfrei, aber eine äußerst hartnäckige Person erhält jedes Mal, wenn sie blockiert wird, eine neue IP aus ihrem ISP-Pool. Ich möchte den ISP vollständig blockieren, weiß aber nicht, wie ich vorgehen soll.
Wenn ich ein Whois auf ein paar Beispiel-IPs mache, kann ich sehen, dass sie alle den gleichen "Netznamen", "mnt-by" und "origin / AS" haben. Gibt es eine Möglichkeit, die ARIN / RIPE-Datenbank für alle Subnetze mit demselben mnt-by / AS / netname abzufragen? Wenn nicht, wie könnte ich sonst jede IP-Adresse dieses ISP abrufen?
Vielen Dank.
quelle
Antworten:
whois [IP address]
(oderwhois -a [IP Address]
) gibt Ihnen normalerweise eine CIDR-Maske oder einen Adressbereich, der zu dem betreffenden Unternehmen / Anbieter gehört. Das Parsen der Ergebnisse bleibt jedoch als Übung für den Leser (es gibt mindestens zwei gängige whois-Ausgabeformate).Beachten Sie, dass eine solche Blockierung des Großhandels möglicherweise auch legitime Benutzer ausschalten kann. Bevor Sie diesen Ansatz
whois
wählen, sollten Sie sich an den Missbrauchsschalter des betreffenden ISP wenden (normalerweise in den Informationen zu dessen Netblock- oder DNS-Domäne aufgeführt, andernfalls ist Missbrauch @ ein guter Ausgangspunkt), um zu prüfen, ob die Situation eher diplomatisch als technisch gelöst werden kann .Beachten Sie auch , dass es sind einige vorgefertigte Lösungen zu begrenzen Anfragen pro Sekunde durch IP - Check out mod-qos oder Ihres Systems Firewall / Traffic Shaping capibilities.
quelle
Ich habe es selbst herausgefunden. Art von.
robtex.com listet alle angekündigten IP-Bereiche für einen bestimmten AS unter folgender Adresse auf: http://www.robtex.com/as/as123.html#bgp
Ich weiß immer noch nicht, wie oder wo robtex diese Informationen abruft. Wenn sich jemand anderes einschalten und erklären möchte, woher die Daten stammen, wäre das großartig.
quelle
Da Sie Zugriff auf iptables haben, gehe ich davon aus, dass Sie ohnehin einen Root-Zugriff auf das System haben. In diesem Fall würde ich vorschlagen, Fail2Ban zu installieren, das nur eine IP blockiert (für eine bestimmte Zeit, die Sie entscheiden), wenn sie versuchen, einen Dienst (HTTP, DNS, Mail, SSH usw.) zu missbrauchen, indem sie den Dienstport N-mal treffen innerhalb der X-Periode. (Alle Benutzer haben entschieden.)
Ich benutze das auf meinem Server und erhalte sehr gute Ergebnisse. speziell mit diesen Chinease-Hackern, die in meine SSH eindringen wollen.
Weitere Informationen finden Sie auf meiner Homepage. Ich habe einen Blog-Beitrag über fail2ban.
quelle
Sie können dieses Tool ausprobieren . Es ist nicht schnell, aber es funktioniert.
quelle