Ich habe eine Website, die ich selbst hoste, und ich verwende bind9 als meinen DNS-Server (hoste meine eigenen Nameserver usw.).
Ich habe ein Problem mit der Verkehrsbandbreite und in meinem Syslog finden sich zahlreiche Probleme der folgenden Art:
error (unexpected RCODE REFUSED) resolving 'target-express.com/AAAA/IN': 193.95.142.60#53
error (unexpected RCODE REFUSED) resolving 'target-express.com/A/IN': 2001:7c8:3:2::5#53
Im heutigen Syslog gibt es144258Beispiele hierfür, alle im Zusammenhang mit target-express.com.
Meine Fragen sind:
- kann ich irgendetwas mit der Firewall oder der Bind-Konfiguration tun, um dies zu verhindern?
- Warum sollte mein Bind-Setup versuchen, target-express.com aufzulösen (es ist nicht meine Domäne und hat nichts mit mir zu tun)?
Ich habe meine Weiterleitungen in named.conf geprüft und keine davon stimmt mit den in den Protokollen angezeigten IPs überein (es sind alles grundsätzlich unterschiedliche IPs, nicht nur 193.95.142.60).
Meine iptables lauten:
Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
REJECT all -- anywhere loopback/8 reject-with icmp-port-unreachable
ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
ACCEPT tcp -- anywhere anywhere tcp dpt:http
ACCEPT tcp -- anywhere anywhere tcp dpt:https
ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
ACCEPT udp -- anywhere anywhere udp dpt:domain
ACCEPT tcp -- anywhere anywhere tcp dpt:domain
ACCEPT icmp -- anywhere anywhere icmp echo-request
LOG all -- anywhere anywhere limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: "
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain FORWARD (policy ACCEPT)
target prot opt source destination
REJECT all -- anywhere anywhere reject-with icmp-port-unreachable
Chain OUTPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
AKTUALISIEREN:
Ich habe jetzt Folgendes in named.conf.options versucht, um die Rekursion zu blockieren.
allow-transfer {"none";};
allow-recursion {"none";};
recursion no;
Nachdem ich dies getan habe, sehe ich nun Folgendes im Syslog:
Mar 4 00:02:21 mail named[29037]: client 127.0.0.1#42139: query (cache) '24.124.41.103.in-addr.arpa/PTR/IN' denied
Mar 4 00:02:22 mail named[29037]: client 127.0.0.1#58405: query (cache) '45.124.41.103.in-addr.arpa/PTR/IN' denied
Mar 4 00:02:24 mail named[29037]: client 127.0.0.1#48692: query (cache) '106.49.174.61.in-addr.arpa/PTR/IN' denied
Um das oben genannte loszuwerden, habe ich hinzugefügt:
additional-from-cache no;
Antwort1
Könnten Ihre DNS-Weiterleitungen Anfragen an den ursprünglichen Server zurückleiten?
Wenn ja, könnte es sich um ein ähnliches Problem handeln, das ich letztes Jahr hatte (sieheWindows-DNS-Server fordern wiederholt Einträge in der Zone an, wenn sie eine SERVFAIL-Antwort erhalten). Die Lösung besteht darin, keine Weiterleitungsschleifen zu haben. Dies stellt sich nur bei Zonen als erhebliches Problem heraus, die SERVFAIL zurückgeben, da diese Antworten nicht zwischengespeichert werden.
Der Auslöser der ursprünglichen Abfrage (und es kann auch nur eine Abfrage gewesen sein) kann praktisch alles Mögliche sein – eine DNS-Suche für die Web-Zugriffskontrolle oder etwas in der Art.
Um eine Verstärkung (vielleicht eine bessere Beschreibung als Schleifen) zu vermeiden, müssen Sie sicherstellen, dass der DNS-Server, auf dem Sie diese Nachrichten sehen, keine Anfragen an einen Server weiterleitet, der Anfragen möglicherweise zurückleitet. Unterstehen die Server, die Sie auf Ihrem lokalen DNS-Server konfiguriert haben, Ihrer Kontrolle oder sind sie extern?
Antwort2
Höchstwahrscheinlich versucht Ihr Server, „target-express.com“ aufzulösen, und es schlägt fehl. Der Grund dafür ist, dass die NS-Server für „target-express.com“ nicht richtig eingerichtet sind. (Google „lame servers“). Wenn Sie „dig +trace“ ausführen, werden zwei NS-Einträge für die Domäne angezeigt, aber wenn Sie diese Domänen abfragen, erhalten Sie keine Antwort.
Nun stellt sich die Frage, wer Ihren Server abfragt -
1. Legitime interne Benutzer/Apps – darüber würde ich mir keine Sorgen machen.
2. Nicht autorisierte externe Benutzer – Ihre DNS-Server sollten nur die Auflösung für Domänen zulassen, für die sie autorisiert sind. Wenn Sie keinen offenen DNS-Server haben möchten, fügen Sie Ihrer DNS-Konfiguration eine Einschränkung hinzu, sodass nur autorisierte Hosts den Server für rekursive Abfragen verwenden können.
root@svm1010:/var/tmp# dig @8.8.8.8 target-express.com NS +kurz root@svm1010:/var/tmp# dig +trace target-express.com NS ; > DiG 9.7.0-P1 > +trace target-express.com NS ;; Globale Optionen: +cmd . 16978 IN NS d.root-servers.net. . 16978 IN NS i.root-servers.net. . 16978 IN NS f.root-servers.net. . 16978 IN NS b.root-servers.net. . 16978 IN NS a.root-servers.net. . 16978 IN NS k.root-servers.net. . 16978 IN NS l.root-servers.net. . 16978 IN NS h.root-servers.net. . 16978 IN NS e.root-servers.net. . 16978 IN NS j.root-servers.net. . 16978 IN NS m.root-servers.net. . 16978 IN NS g.root-servers.net. . 16978 IN NS c.root-servers.net. ;; 228 Bytes von 8.8.8.8#53(8.8.8.8) in 9 ms empfangen com. 172800 IN NS j.gtld-servers.net. com. 172800 IN NS a.gtld-servers.net. com. 172800 IN NS m.gtld-servers.net. com. 172800 IN NS b.gtld-servers.net. com. 172800 IN NS c.gtld-servers.net. com. 172800 IN NS i.gtld-servers.net. com. 172800 IN NS l.gtld-servers.net. com. 172800 IN NS h.gtld-servers.net. com. 172800 IN NS f.gtld-servers.net. com. 172800 IN NS k.gtld-servers.net. com. 172800 IN NS d.gtld-servers.net. com. 172800 IN NS e.gtld-servers.net. com. 172800 IN NS g.gtld-servers.net. ;; 496 Bytes von 199.7.91.13#53(d.root-servers.net) in 15 ms empfangen target-express.com. 172800 IN NS sec02.ns.esat.net. target-express.com. 172800 IN NS auth02.ns.esat.net. ;; 120 Bytes von 192.48.79.30#53(j.gtld-servers.net) in 221 ms empfangen ;; 36 Bytes von 192.111.39.112#53(sec02.ns.esat.net) in 111 ms empfangen root@svm1010:/var/tmp# dig @sec02.ns.esat.net. target-express.com. soa +short root@svm1010:/var/tmp# dig @auth02.ns.esat.net. target-express.com. soa +short root@svm1010:/var/tmp#