Linux – DNS-DeTracking mit nscd

Das Problem

Wenn man alle seine DNS Anfragen über einen einzigen Anbieter abwickelt, kann der leicht herausbekommen, wofür man sich interessiert, da er ja jede Domain kennt, mit der man „reden“ will.

Wenn man von einem DNS Anbieter, sei es die Deutsche Telekom oder Google, nicht vollumfänglich getrackt werden will, kann man nur seinen eigenen DNS-Cache betreiben, oder laufend den DNS Anbieter wechseln ? Oder gibt es da vielleicht noch eine dritte Möglichkeit ?

Methode 1:

Jeder kann sich einen DNS Cache auf dem eigenen PC installieren. Der Nachteil ist, es ist nicht besonders effizient und bei einigen DSL-Anbietern kann man auch nicht selbst die DNS Auflösung machen. In letzterem Fall solltet Ihr Euch auf jeden Fall einen Tunnel in die freie Welt aufbauen, z.b. per VPN. Einen eigenen Server der dafür ausreicht kann man sich schon für 6,50 € im Monat mieten. Ihr braucht  dann noch sowas : UDP Traffic per SSH tunneln, Die Vorratsdatenspeicherung umgehen oder VDS: Schnell ein VPN aufsetzen . Es geht zwar nicht um die Vermeidung der VDS, aber das Prinzip ist das gleiche. Aber wenn Ihr sowieso schon einen eigenen Server habt, laßt den das DNS Cache übernehmen.

Wieso ist das nicht effektiv ?

Ein DNS Cache macht nur dann Sinn, wenn viele Klienten in einem Netzwerk das Cache benutzen, denn der eigentliche Sinn ist, daß nicht jeder Rechner die Root-DNS kontaktiert, sondern das man möglichst viele Anfragen lokal selbst beantworten kann, weil man bereits einmal danach gefragt hat. Das geht zum einen schneller, zum anderen spart es Traffic ein. Das man seinen Fußabdruck dabei kleiner hält, fällt praktischerweise nebenbei ab. Je mehr einen DNS Cache benutzen, desto mehr gehen auch die eigenen Anfragen in der Masse unter.

Methode 2:

Ein Script, daß laufend die /etc/resolv.conf  neu und die DNS Servernamen in der Reihenfolge zufällig hinein schreibt, ist mit ein bisschen Bash-Foo machbar. Dauer ca. 15 Minuten.

Methode 3:

Schauen wir uns mal die /etc/resolv.conf an, finden wir dort:

; generated by /usr/sbin/dhclient-script
nameserver 9.9.9.9
nameserver 8.8.8.8
nameserver 8.8.4.4

Wenn man nichts weiter auf seinem Rechner installiert hat, wird in genau dieser Reihenfolge ein DNS nach dem Anderen abgefragt, wenn der vorherige DNS nicht rechtzeitig antwortet.

Das Verhalten kann man aber ändern:

options rotate
nameserver 9.9.9.9
nameserver 8.8.8.8
nameserver 8.8.4.4

Jetzt würde ein entsprechend gut programmierter Resolver, das ist der Programmteil, der die DNS Auflösung macht, zufällig aussuchen, welchen der DNS er benutzt. Trägt man hier also viele öffentliche DNS Server in dieser Liste ein, verteilt man alle DNS Anfragen auf diese Server, was jedem einzelnen logischerweise die Möglichkeit nimmt, ein umfangreiches Profil zu erstellen.

Dummerweise juckt diese Anweisung kaum einen Resolver. Das geht sogar soweit, daß der erste in der Liste mal einfach überlesen wird 🙂 Also muß eine Lösung her, die diese Anweisung respektiert: NSCD

dnf install nscd
systemctl start nscd
systemctl enable nscd

Ab jetzt werden DNS Abfragen über den NameserverCacheDämonen abgewickelt, und der fragt zufällig die DNS in der Liste an. Da es sich auch um einen Cache handelt, fragt er im Laufe der Zeit ( TTL eines Eintrags ) nur einmal die Rootserver an ( Kleiner Fußabdruck ) .

Damit wäre das Trackingproblem erledigt, wenn Ihr viele DNS Server zur Verfügung habt.

Einen eigenen DNS Cache auf dem PC zu betreiben, ist nicht weiter wild, man müßte nur den named installieren und starten. Da aber bei DNS Abfragen einiges unterwegs schief gehen kann, ist eine starke DNS Infrastruktur wie bei Google durchaus ein starker Partner.

Welche Methode für Euch die richtige ist, müßt Ihr wissen.

BND bekommt eigene VDS für 6 Monate ohne Beschränkungen

Wie einem Artikel von Heise zu entnehmen ist, hat der Bundesrat einem Gesetz zugestimmt, daß dem BND eine sechs monatige Vorratsdatenspeicherung aller Verbindung- und Standortdaten erlaubt. Der BND darf diese Daten nach eigenem Gutdünken durchsuchen, ohne daß es eine kontrollierende Instanz wie einen Richterbeschluß gibt. Die Daten dürfen sogar automatisch mit anderen Ländern getauscht werden.

Damit ist faktisch ein Überwachungsstaat geschaffen worden, der ohne rechtsstaatliche Kontrollen alle Daten erfassen kann und wird. Offiziell dürfen natürlich nur Ausländer überwacht werden, aber an Datenströmen steht so selten dran, daß sie nicht aus oder nach Deutschland kommen.

Damit sollte eine rote Linie für alle Bürger überschritten sein, die bisher nichts zu verstecken hatten, denn jetzt sind auch sie betroffen und können jederzeit zum Ziel von Ermittlungen werden, nur weil jemand einen Zahlendreher bei der Eingabe einer IP Adresse gemacht hat. Das war zwar vorher schon möglich, aber wurde zumindest noch von einem Richter abgesegnet.

Für uns Linuxnerds heißt es jetzt natürlich zu handeln. Großflächige Überwachung können wir mit großflächigem Einsatz von VPNs und allgemeiner Verschlüsselung bekämpfen, denn wenn der Preis zum Entschlüsseln aller Verbindungen zu hoch wird, kann sich das der BND oder auch die NSA schlicht nicht leisten. Wenn das ganze Internet verschlüsselt ist, kann man nur noch die Datenströme verfolgen und dekodieren, die einem wirklich wichtig sind. Daran ändern auch die viel beschworenen Quantencomputer nichts. Die Überwachung der Standortdaten kann man ganz leicht umgehen, schaltet das Handy einfach mal aus!

Deswegen gibt es hier im Blog demnächst die Neuauflage der Anleitungen zum Aufbau von VPNs, Anweisungen zu Kryptomessangern, Anleitungen zum Aufsetzen von sicheren PCs und Webserverdiensten. Zukünftig an der eigenen Kategorie „Secure The Web“ zu erkennen.