Ist es möglich, BIND als DNS-Server in meinem lokalen Netzwerk einzurichten und Skripts auszuführen, wenn es nachgeschlagen wird?
Ich möchte ein Python- oder Bash-Skript basierend auf der eingehenden DNS-Suche ausführen. Wie kann ich das lösen?
Wenn möglich in Bind, teilen Sie mir bitte mit, wie und wenn nicht, ob dies in anderen DNS-Server-Implementierungen möglich ist, die unter Ubuntu ausgeführt werden.
Vielen Dank.
Antworten:
Ich kann mir zwei zusätzliche Optionen vorstellen, bei denen BIND-Protokolle nicht analysiert oder BIND überhaupt nicht gestört werden müssen.
1) Portspiegelung - Duplizieren Sie Pakete und senden Sie sie an einen separaten Port, an dem eine Anwendung lauscht, die DNS-Anforderungen analysiert und Maßnahmen ergreift.
dpkt
oderscapy
ähnliche Paketbearbeitungsbibliotheken helfen Ihnen beim Analysieren der Rohanforderungen.2) Verwenden Sie eine Art Paket-Sniffing-Bibliothek, um die Anforderungen passiv zu überwachen. Hier ist ein Beispiel mit
scapy
:Offensichtlich ist dies nur ein primitives Beispiel. Es wird nur der Name der Domain gedruckt, die abgefragt wurde, aber Sie können natürlich viel Logik hinzufügen. Wenn Sie auf die Scapy-Dokumentation verweisen, werden Sie feststellen, dass alle Felder der DNS-Anforderung sofort verfügbar sind.
quelle
Sie können dies tun, indem Sie das Bindungsserverprotokoll überwachen (die Abfrageprotokollierung muss aktiviert sein). Viel Glück...
quelle
/dev/shm
auch auf eine RAM-Disk schreiben .swatch
OSSEC in den Protokollen ausführen, um Ihr Skript aufzurufen. Auf lange Sicht keine sehr gute Idee.In bind sind keine Ereignisse implementiert, das wird nicht benötigt.
Sie können sich in anwendbaren Firewalls umsehen, die in einigen Organisationen verwendet werden, um den Zugriff auf einige Benutzer zu beschränken. Dort hätten Sie mehr Chancen, das zu erreichen, was Sie wollen.
Das Einrichten von Routen scheint ebenfalls eine gute Idee zu sein. Letztendlich ist das, was Sie mit dem Binden und der ausgelösten Skriptausführung erreichen möchten, ebenfalls ineffizient: Sie müssen:
Das Einrichten zahlreicher Routen ist kein Problem und beeinträchtigt die Leistung nicht spürbar. Wie viele Routen haben Ihrer Meinung nach Unternehmensrouter? Hunderte? nicht ganz ... Und sie haben nicht unbedingt eine ausgefallene Hardwarekonfiguration. Im Ernst, es geht Ihnen gut, seriöse Betriebssysteme wurden speziell entwickelt, um viele Routen zu bewältigen und die Suche zu optimieren.
Außerdem wollten Sie zunächst eine Datenbank über der Routing-Tabelle verwenden, bei der es sich um eine andere Art von Datenbank handelt. Halte es einfach. Auf BGP-Servern werden viele Routen aus politischen / finanziellen Gründen ausgewählt / bevorzugt. Jeder ISP / jede Organisation kann dies und alle fügen zu diesem Zweck bestimmte Routen hinzu. Die Kosten für den Transit oder eine gerichtliche Anordnung sind häufig die Ursache für solche Maßnahmen.
quelle