pd.edv
Goto Top

Linux und Bind9 einrichten

Hallo,

ich versuche einen lokalen DNS einzurichten über den ich bestimmte Domains blocken kann und über den ich auch bestimmte zugriffe loggen kann.

Das blocken klappt, aber mein DNS löst die eingerichteten Zonen nicht auf. Was mache ich falsch?

Hier die wichtigen Config-Dateien:

named.conf.local:

zone "test.com" IN {  
  type master;
  file "/etc/bind/db.blocked.sites";  
};

db.blocked.sites:

$TTL 86400

@   IN  SOA ns1.test.com. test.com. (
  1        ; Serial
  3600     ; Refresh
  900      ; Retry
  604800   ; Expire
  86400    ; Negative Cache TTL
)

        A       192.168.1.141
*   IN  A       192.168.1.141

        AAAA    ::1
*   IN  AAAA    ::1


dig test.com @192.168.1.141

; <<>> DiG 9.16.37-Debian <<>> test.com @192.168.1.141
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: SERVFAIL, id: 2835
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1232
; COOKIE: 801bebb122f269760100000064542e2430af052fc903e0ba (good)
;; QUESTION SECTION:
;test.com.			IN	A

;; Query time: 0 msec
;; SERVER: 192.168.1.141#53(192.168.1.141)
;; WHEN: Fri May 05 00:13:56 CEST 2023
;; MSG SIZE  rcvd: 65

Content-ID: 7024225321

Url: https://administrator.de/contentid/7024225321

Ausgedruckt am: 06.10.2024 um 08:10 Uhr

tagol01
tagol01 05.05.2023 um 09:41:39 Uhr
Goto Top
Hallo

auf den ersten Blick, sieht deine Zonendatei nicht korrekt aus.

.. SOA ns1.test.com. test.com......

hier ein Beispiel einer Bind Zonendatei www.linux-praxis.de/die-zonendatenbanken

Gibt es eine Meldung in den Logs?
pd.edv
pd.edv 05.05.2023 um 10:51:31 Uhr
Goto Top
Hallo,

leider passt das auch nicht wenn ich

test.com. IN SOA ns1. root.test.com.

daraus mache.

In den Log-Dateien finde ich folgendes:

05-May-2023 11:49:33.253 zone test.com/IN: has no NS records
05-May-2023 11:49:33.253 zone test.com/IN: not loaded due to errors.

Das erklärt das Problem aber ich finde trotzdem den Fehler nicht:

$TTL 86400

@       IN      SOA     ns1.    root.test.com. (
  1                                     ; Serial
  3600                          ; Refresh
  900                           ; Retry
  604800                        ; Expire
  86400                         ; Negative Cache TTL
)

ns1     IN      NS              192.168.1.141
                A               192.168.1.141
*       IN      A               192.168.1.141

                AAAA    ::1
*       IN      AAAA    ::1
pd.edv
Lösung pd.edv 05.05.2023 um 10:57:32 Uhr
Goto Top
Problem gelößt. Ich muss

@     IN      NS              192.168.1.141

schreiben!

PS.: Falls einer eine gute Einführung in DNS kennt nur raus damit - egal ob YT Video oder Blog. Ich hab sowas noch nie gemacht und die Videos dich ich bei einer schnellen Suche gefunden habe, erklärten die Config-Dateien und wie das alles zusammenhängt nicht wirklich vollständig.

Die gute alte Try&Error Methode hat's wieder mach gerichtet. Würde nun gern verstehen was genau die Config-Datei aussagt, die ich da zusammengeschustert habe.
aqui
aqui 05.05.2023 um 11:11:18 Uhr
Goto Top
Lochkartenstanzer
Lochkartenstanzer 05.05.2023 um 11:13:42 Uhr
Goto Top
Zitat von @pd.edv:

Problem gelößt. Ich muss

@     IN      NS              192.168.1.141

schreiben!

PS.: Falls einer eine gute Einführung in DNS kennt nur raus damit -

Moin,

das Standardwerk dazu ist DNS and BIND, von Cricket Liu und Paul Albitz im O'Reilly-verlag. Mit der allerersten Auflage habe ich mein Wissen über DNS udn Bind komplettiert.

lks
pd.edv
pd.edv 05.05.2023 aktualisiert um 12:21:17 Uhr
Goto Top

Hab ich zB gefunden. Darin Ist aber nicht mal die Hälfte erklärt - zB:

Forward Lookup Zone
  • Es wird nicht erklärt, dass yt-bind.michlfranken. der NS sein soll bzw. das mail.admin die email sein soll.
  • Zeitangeben und Seriennummer nicht erklärt
  • Funktion / Bedeutung des @ nicht erklärt
  • usw.

Wie gesagt ich hab mit das aus 5 Anleitungen zusammengestoppelt und immer noch Fragen weil ich nicht alles gefunden habe.

Daher habe ich nach einer vernünftigen Quelle gesucht ...

Zitat von @Lochkartenstanzer:
das Standardwerk dazu ist DNS and BIND, von Cricket Liu und Paul Albitz im O'Reilly-verlag. Mit der allerersten
Auflage habe ich mein Wissen über DNS udn Bind komplettiert.

Das Klingt schon mal besser. Schau mit das Buch mal näher an. Danke!
7010350221
7010350221 05.05.2023 aktualisiert um 12:47:11 Uhr
Goto Top
Würde mir anschließend stattdessen mal Unbound anschauen, das ist für das Blocking etc. um einiges schneller, bietet conditional views und vieles mehr.

Für öffentliche Authorative DNS Server hingegen kann ich NSD empfehlen, das bietet nicht so viel Angriffsfläche wie bind und bietet viele Einstellungen die gerade beim Betrieb eines öffentlichen Resolvers nützlich sind.

Gruß pille
pd.edv
pd.edv 05.05.2023 um 16:11:31 Uhr
Goto Top
Danke für den Tipp Pille!

Mir geht es primär darum die Aktivitäten zu loggen. Ich experimentiere hier mit Schadware in einem separaten Netzwerk, dass auch nur sehr beschränkt Zugang nach außen hat.

Ich will vor allem zentral loggen was wohin geschickt wird und dann auch die Ausbreitung auf andere Systeme betrachten. Daher der DNS + Apache.

Also hab ich da 3 alte Rechner als "Opfer" mit Win10 ohne aktuelle Updates, Defender aus. Dazu einen Parrot-Laptop mit diversen Tools zur Analyse als Forensik-System, DNS und Webserver und ein Router auf dem ich Internet über eine mobile Verbindung mit Prepaid-Karte freigeben kann.

Quasi ein völlig getrenntes eigenes Netzwerk nur zum experimentieren.

Ich weiß von der ersten Analyse, dass da diverse Scrips auf diversen gehackten WP-Seiten und dergleichen angesprochen werden. Da die Schadware auch nicht die aktuellste ist, sind die meisten der Scripts schon gelöscht oder die Seiten gar nicht mehr erreichbar.

Daher dachte ich mir bevor ich mir das alles mit Ghidra oder anderen Tools aufdrösle lass ich die Dinger lieber in so einem Netzwerk los... Ich komm zwar irgendwie klar aber ich bin bei Gott nicht geübt oder schnell was Reverse-Engineering angeht.
7010350221
7010350221 05.05.2023 aktualisiert um 16:18:24 Uhr
Goto Top
Ich will vor allem zentral loggen was wohin geschickt wird und dann auch die Ausbreitung auf andere Systeme betrachten. Daher der DNS + Apache.
Setz doch gleich nen MITM Proxy dazwischen dann siehst du auch was da per SSL abgeht face-wink.
pd.edv
pd.edv 05.05.2023 um 17:15:09 Uhr
Goto Top
Es soll sowas in der Art sein aber nicht per Proxy gelöst - das wäre in bestimmten Fällen ein Problem.
7010350221
7010350221 05.05.2023 aktualisiert um 17:55:33 Uhr
Goto Top
Zitat von @pd.edv:

Es soll sowas in der Art sein aber nicht per Proxy gelöst - das wäre in bestimmten Fällen ein Problem.
Auch kein Problem machst du halt einen transparenten Proxy draus 😉
pd.edv
pd.edv 05.05.2023 um 18:27:54 Uhr
Goto Top
Ja da hast du recht. Das löst mir aber das Logging Problem nicht.

Da ist es mir lieber ich lass erst mal alles laufen, erstelle dann VirtualHost-Einträge aus dem query.log und lass dann dort ein PHP-Script laufen, dass mir alles schön auswertet und ordentlich in eine DB packt mit Zeitstempel, IP des Rechners und allen anderen Daten die ich so brauche.

So kann ich sogar verschiedenste Sessions zusammensammeln und dann alle möglichen Analysen damit anstellen.

Dann kann ich Änderungen über Versionen, etc. beobachten, testen welche verwundbaren Programme eventuell ausgenutzt werden, und vieles mehr.

Du hast recht wenn es mal schnell darum geht eine Schadware näher anzusehen dann wäre ein MITM-Proxy deutlich einfacher.

So wie ich es mache kann ich dann auch veränderte Reg.-Schlüssel, etc. zu den Systemen und einzelnen Programmen zuordnen bzw. zu bestimmten Konfigurationen. Außerdem kann ich diverse andere Daten wie erstellte, veränderte, etc. Dateien und die Änderungen an sich hinzufügen.

Ich kann einzelne Request durchlassen und zur richtigen IP auflösen und dann schauen was dann die Nachgeladene Datei macht, usw.

Und ja, ich weiß, dass ich dies auf Diensten wie Any.run oder ähnlichem auch haben kann wenn ich etwas Geld in die Hand nehme. Aber so lerne ich mehr und kann mit diversen neuen Tools spielen.