Grundlagen des Internets – Secure DNS

Was ist eigentlich DNS?

DNS wurde 1983 von dem IETF standardisiert und wird dafür verwendet, um die für Menschen verständlicheren Domains in die für die Webbrowser notwendigen IP-Adressen umzuwandeln. Wie in einem Telefonbuch: Man sucht den entsprechenden Namen aus und findet die eigentlich benötigte Telefonnummer.

Wie funktioniert DNS:

Sehen wir uns den DNS-Anfrageprozess an dem Beispiel dieses Blogs an:

1. Mein Rechner benutzt aktuell den DNS-Server von Express VPN. (178.162.214.48). Die Anfrage geht von hier zuerst zu dem jeweiligen Root-Server „d.root-servers.net“ (199.7.91.13)

DNS Abfrage

2. Dieser Root-Server routet die Anfrage an dns1.nic.blog (213.248.219.9) weiter. Dieser DNS-Server „kennt“ die TL-Domain „blog“ bzw. weiß wie die Nameserver von WordPress.com zu erreichen sind, die meinen Domain kennen: ns1.wordpress.com, ns2.wordpress.com und ns3.wordpress.com.

3. Wenn ich diese WordPress-Nameserver frage, werden sie mitteilen, dass meine Seite an dem Webserver mit der IP  192.0.78.142 zu finden ist:

DNS_PING

Mit dieser Information kann der Browser die von WordPress generierte HTML Dateien herunterladen und den Content zeigen.

Der Vorgang nochmals an einem einfachen Beispiel:

400px-Example_of_an_iterative_DNS_resolver.svg

Die Rolle des DNS bei online Sicherheit

Eine umfangreiche online Sicherheitskonzept muss zwangsläufig aus mehreren Komponenten bestehen. Bei unserem Vorhaben, im Internet sicher zu surfen wird oft auch  das Domain Name System oft vergessen.

Warum ist das DNS verbesserungswürdig?

Leider ist das DNS damals ohne Sicherheitsfunktionen konzipiert und implementiert worden. Jetzt 35 Jahre später das gesamte Internet-Ecosystem benötigt eine sicherere, stabilere DNS Infrastruktur.

In der Anfangszeit des Internets war DNS lediglich ein technisches Hilfsmittel um die wenigen Hosts einfacher zu identifizieren. Die möglichen Missbrauchszenarien waren noch nicht bekannt und sind bei der Entwicklung auch nicht berücksichtigt worden.

Mögliche Gefahrenquellen im Internet:

DNS Cache Poisoning / DNS Spoofing

Bei DNS Cache Poisoning wird das Cache des DNS-Servers mit falschen Einträgen manipuliert. Die korrekt eingegebenen URLs werden also mit falschen IP-Adressen beantwortet. Die Anfragen werden also an von Kriminellen missbrauchte Server geroutet.

DNS Hijacking 

In diesem Fall werden falsche DNS Server-IP-Adressen in den Einstellungen des Netzwerkadapters oder direkt in dem Registry des Client-Rechners verwendet. Die DNS Anfragen gehen in solchen Fällen direkt zu dem DNS-Servers des Angreifers, der dann dementsprechend die falschen IP-Adressen liefert.

Zensurgefahr

In bestimmten Ländern, wo der Staat die Internetprovider „bittet“ entsprechende gesetzliche Regelungen umzusetzen, werden Zensurmaßnahmen vor Allem mithilfe des DNS umgesetzt. Ob es sich um kriminelle Seiten oder unangenehme Blogs handelt werden DNS Anfragen geblockt oder auf eine Internetseite mit einem entsprechenden Hinweis weitergeleitet. Ein passendes Beispiel aus Deutschland war die Internetsperre, die Kinderpornografie mit DNS-Sperre stoppen wollte. Es wurde Oktober 2009 von dem Wiesbadener Verwaltungsgericht  – als gesetzwidrig – gestoppt.


Schnelles und privates Internet

Auch an diesen Beispielen ist gut zu sehen, dass diese Gefahren und ihre Abwehr wirklich praxisrelevant sind. DNS spielt aber auch beim Surfen – ohne Gefahr von Kriminellen – eine herausragende Rolle. Die Geschwindigkeit unsere DNS Anfragen und die Antwort darauf hat einen unmittelbaren Einfluss darauf, wie wir Surfgeschwindigkeit wahrnehmen.

Deswegen lohnt es sich DNS-Performance regelmäßig messen und bei Bedarf einfach den öffentlichen DNS Anbieter wechseln:

Ein passendes Tool für diese Messung ist DNS Jumper.

Das Tool prüft aus dem jeweiligen Netz heraus, welche öffentliche DNS-Server am schnellsten antwortet.

DNS Jumper Messsung ohne VPN

Warum ist all das wichtig:

  •  Es gibt öffentliche DNS Anbieter wie OpenDNS (Umbrella von Cisco), die dadurch einen ziemlich großen Mehrwert anbieten, dass sie die DNS Abfragen mit zentralisierten Listen abgleichen und so verseuchte Internetseiten oder sonstige fragliche Ziele bereits in dieser Phase herausfiltern können. Hier ist es also schon mal nützlich ggf. einen anderen Anbieter wählen zu können. In meinem Fall ist es OpenDNS mit einem kostenpflichtigen Paket.
  • Es gibt Länder, wo Datenschutz nicht so großgeschrieben wird, wie in Europa. In diesem Fall ist es kein gutes Gefühl nicht zu wissen, was mit unseren jahrelang gesammelten DNS Anfragen /also mit unserer Surfhistorie/ passiert. Werden sie verkauft, missbraucht? Ein Anbieter wie der schnelle, datenschutzbewusste Cloudflare kann in solchen Fällen schon eine gute Option sein. Die prägnante IP 1.1.1.1 kann sich jeder leicht merken.
  • Nicht jeder von uns ist bei einem großen professionellen Anbieter. Es kann also in seltenen Fällen passieren, dass ein großer öffentlicher DNS Anbieter DNS Anfragen schneller beantwortet als der eigene Provider. Dies muss natürlich gemessen werden.

Arbeit mit öffentlichen DNS Anbietern in der Praxis

Ich bin der Meinung, dass ein DNS Anbieter schon einen gewissen Mehrwert bieten soll, wenn wir ihm unser DNS Anfragen (also praktisch unsere gesamte Surfhistorie) anvertrauen.

  • Sie sollen Secure DNS Protokolle gegen Internetkriminellen unterstützen.

Eine kompakte  Übersicht über die unterstützen Secure-DNS Protokolle((https://medium.com/@nykolas.z/dns-resolvers-performance-compared-cloudflare-x-google-x-quad9-x-opendns-149e803734e5)):

SecureDNS

  • Sie bieten eine zusätzliche Schutzlinie gegen bösartige Scripten oder nicht gewollten Content wie Pornoseiten oder Glücksspielwerbung.
  • Im besten Fall sollten sie – meisten als kostenpflichtiges Paket – Custom-Filter anbieten, wo ich die gefilterten Kategorien und Ziele frei festlegen kann und die entsprechenden Statistiken sehe.

Meine aktuellen Empfehlungen:

  • Auf Android benutze ich die App von Cloudflare. Diese legt ein VPN Profil an und läuft ziemlich stabil. Eine noch bessere Lösung ist der App von ExpressVPN, das gleichzeitig natürlich den kompletten Traffic durch den Tunnel routet und dadurch zusätzliche Sicherheit bietet. Diese App stoppt aber immer wieder und es ist etwas mühsam diese immer wieder einzuschalten.
  • Auf Windows-PC benütze ich ExpressVPN, der automatisch startet und sich verbindet. Sehr praktisch. Der VPN Tunnel kann mit OpenDNS oder CleanBrowsing kombiniert werden. Es ist also kein Zwang unbedingt den DNS-Servers des VPN Anbieters benutzen zu müssen. Im Allgemeinen ist es natürlich so, dass jemand, der bei der Auswahl des VPN-Dienstes nicht auf Unternehmen mit US Standort setzen möchten hat meistens etwas gegen DNS Provider mit Unternehmenssitz in den USA. Hier muss also jeder für sich entscheiden, welche Gefahren mit welcher Priorität eingestuft werden.
  • Für den Router zu Hause empfehle ich CleanBrowsing.

Auch die kostenlose Version hat ziemlich umfangreiche Schutzfunktionen:

CleanBrowsing

Die Umsetzung ist sehr einfach. Wir ändern die IP des DNS-Servers im Router auf 185.228.168.168. Fertig! Alle Clients im Netz werden dann diesen DNS-Server benutzen und werden dadurch geschützt.

Wie erwähnt DNS ist eine absolute Grundinfrastruktur des Internets. Die hier erwähnten Gefahren sind Teil unseres Alltags. Die Lösungen dafür sind kostenlose, einfach umsetzbare Optionen. Empfehlenswert.

 

 

12. Dezember 2018 von IT-Mensch
Kategorien: Netzwerk | Schreibe einen Kommentar

Entwicklung der Telekommunikation – (Teil 3 – Signaling bei VoIP – SIP/SDP)

Nach dem Beispiel von ISUP (Signaling Protokoll für ISDN Kommunikation durch SS7 Netze) wollen wir uns jetzt SIP anschauen. SIP (Session Initiation Protocol) ist das verbreitetste Signaling Protokoll für IP-Kommunikation.  SIP ist also ein Protokoll, das eine Kommunikationssitzung initiiert.

(Bemerkung: Neben SIP gibt es auch weitere Alternativen wie H.323, das nicht von dem IETF, sondern von ITU-T standardisiert wurde. H.323 ist vor allem im Bereich Video- und Telefonkonferenzen stark verbreitet. Durch seine Flexibilität und einfachere Implementierung wird SIP aber in mehr und mehr Bereichen bevorzugt. Beide Signaling-Protokolle sind inzwischen ziemlich alt. Beide sind im Jahr 1996 standardisiert worden, wobei die letzte RFC für SIP 2002 und für H.323 2006 veröffentlicht wurde. An SIP wird nach wie vor herumgeschraubt. Es kommen immer wieder neue Funktionen dazu wie z. B. SIMPLE und DualVideo.)

Die Art und Weise, wie SIP ein VoIP Sitzung aufbaut, ist mit der menschlichen Kommunikation vergleichbar. Auch Menschen sprechen einander an und warten auf die „Signale“ und Rückmeldungen der anderen Person, ob die bereit ist zu sprechen. Außerdem muss auch die verwendete Sprache „ausgehandelt“ werden, wenn es um Personen unterschiedlicher Herkunft geht. Dieser Vorgang ist mit der Codec-Aushandlung der VoIP Gespräche vergleichbar wofür das Protokoll SIP bzw. SDP (Session Description Protocol) zuständig ist.

(Das SDP ist für die Beschreibung der Kommunikationsparameter von gestreamten Medien benützt. Das Protokoll wurde Juli 2006 als RFC 4566 von dem IETF aktualisiert.) ((RFC4566)). 

Im folgenden einfachen Beispiel werden wir sehen wie SIP die Kommunikation aufbaut bzw. wie durch SDP der Codec ausgehandelt wird und das eigentliche Gespräch – technisch gesehen RTP Pakete – abläuft. ((Beispiel)):

Hier sehen wir also den Kommunikationsablauf zwischen Teilnehmer „A“ (200.57.7.195), dem Server „200.57.7.204“ und Teilnehmer „B“ (200.57.7.196).

VoIP Ablauf_SIP

SIP-Nachrichten

SIP Nachrichten werden in Form Anfrage / Antwort (Request/Response) ausgetauscht, vergleichbar mit HTTP. Auch bei SIP werden die Nachrichten zwischen Client und Server ausgetauscht.

Die Ähnlichkeit mit HTTP fällt auch bei den Message Codes auf, wobei nicht alle HTTP Codes haben einen SIP Pendant. ((SIP Response Codes))

Die wichtigsten Nachrichten:

  • 100 Trying
  • 180 Ringing
  • 200 OK
  • 202 Accepted
  • 404 Not Found
  • Usw.

Codec-Aushandlung

Es ist gut zu sehen wie TN „A“ am Anfang des Beispielgespräches durch SDP sein Codeauswahl mitteilt und Teilnehmer „B“ beim Timestamp 8.477925 mit einer entsprechenden Antwort reagiert. In diesem Beispiel wurde der Codec G711A ausgehandelt.

Falls wir die entsprechende Wireshark Funktion aufrufen können wir die RTP Pakete ausfiltern und uns das Gespräch selbst anhören.

(Es funktioniert natürlich nur bei RTP. Wenn der RTP Stream verschlüsselt wird (SRTP), können wir uns den aufgezeichneten Stream naturgemäß nicht mehr anhören.)

 

Gespräch_RTP

Wir sehen also die beiden Streams zwischen den Teilnehmern und dem Server.

Nach einer etwas genaueren Analyse sehen wir, dass SDP in dem Message Body Teil des SIP Paketes hineingebettet ist:

SDP Codecaushandlung

Bei „Media Description“ wird die Reihenfolge der angebotenen RTP-Profile festgelegt: 8, 18, 4, 0

(Diese sog. RTP audio/Video Profile des RTP Protokolls legen die technischen Parameter der Audio und Video Streams fest. ((Wikipedia-Quelle))).

In dem aktuellen Beispiel werden für die Sitzung die folgenden Codecs angeboten:

  • PCMA (ITU-T G.711 PCM A-Law audio 64 kbit/s)
  • G729 (ITU-T G.729 und G.729a audio 8 kbit/s)
  • G723 (ITU-T G.723.1 audio)
  • PCMU (ITU-T G.711 PCM µ-Law audio 64 kbit/s)

 

 

16. November 2018 von IT-Mensch
Kategorien: Netzwerk, VoIP | Schlagwörter: , , , , | Schreibe einen Kommentar

Entwicklung der Telekommunikation – (Teil 2 – Signaling bei ISDN / ISUP)

Die Entwicklung eines flexibleres Signaling Systems für die Steuerung der internationalen Telefonkommunikation hat um 1983 begonnen.

Bei SS7 geht es eigentlich nicht um ein Routing- oder um ein Signaling Protokoll. SS7 ist ein Protokoll-Familie, die vergleichbar mit dem OSI Referenzmodell aufgebaut wird.

In der folgenden Vergleichstabelle sieht man gut die ähnliche Struktur ((https://de.wikipedia.org/wiki/Signalling_System_7)):

OSI vs. SS7

Im Folgenden ein kurzer Überblick der verwendeten Begrifflichkeiten bei der SS7 Referenzmodell ((https://www.youtube.com/watch?v=h3o-7brDRUI&t=285s)):

  • SSP, STP, SCP:  Signal Switching, Transfer und Kontroll-Punkte
  • MSC: ein SSP in Mobilnetzen oder „Mobile Switching Center“
  • „B-Nummer“: Die Zielrufnummer
  • „Point Code“: Eindeutige ID im MPT3 Layer. Wie eine IP-Adresse im OSI-Modell
  • „GT“ oder „Global Title“: Eindeutige ID im SCCP Layer. Diese bezieht sich auf die verwendete Anwendung.
  • „Links“, „Routes“ und „Sets“: Link ist ein MTP Verbindung zwischen zwei Point Codes. Link Set ist eine redundante Link-Gruppe. Route ist ein vollständiges Pfad zu einem Zielpunkt.

Kommunikation über SS7 – Steuerung der ISDN Kommunikation über ISUP (ISDN User Part)

Der ISUP Protkoll ist Teil der SS7 Protokoll Stack, was bei Gesprächen durch PSTN zum Einsatz kommt. Spezifiert wurde es von der ITU-T in der Q.76X Serie. Für die physische Vermittlung der Gespräche werden E1 oder T1 Leitungen /Trunks/ benutzt. Bei diesen Trunks werden 64kbits Time Slots verwendet. Jede dieses Slots beinhaltet ein Gespräch. Jede Sitzung zwischen den verwendeten Switches beinhalte eine CIC Sitzungs-ID (Circuit Identification Code), was bei den ISUP Nachrichten beinhaltet ist.

Wenn wir einen Anruf tätigen, hören wir das Freizeichen von dem aktuellen SSP (Signal Switching Point). Dieser SSP kontaktiert dann den nächsten STP  (Signal Transfer Point). STP sind dafür zuständig Signale zu übermitteln. Die sind von der Aufgabe her mit IP Routern vergleichbar. Diese Vermittlung erfolgt auf dem SS7-„Netzwerk“-Schicht, also auf MTP3 / SCCP.

Wenn ein SSP nicht mehr weiterweiß, wie das Signal weitergeroutet werden soll, kontaktiert er einen SCP (Signal Control Point).

Durch SCP kann man SS7 noch etwas mehr Intelligenz beisteuern. Z. B. das CAMEL Protokoll.

Hier ist Beispielablauf für einen ISDN Anruf über die ISUP Protokoll:

ISUP Ablauf

Da ich selbst natürlich keinen Zugriff auf SS7 Infrastruktur habe, habe ich den Beispielablauf aus diesem Youtube-Video entnommen.

Wenn der Kommunikationsvorgang soweit ist, wechselt das Destination SSP von MTP3 ein Protokoll höher und der eigentliche Gesprächsaufbau wird schon mit dem Protokoll ISUP abgewickelt.

Die verwendeten ISUP Signaling Nachrichten sind:

  • „IAM“ – Initial Address Message
  • „ACM“ – Address Complete Message
  • „ANM“ – Answer Message
  • „REL“ – Release Message
  • „RLC“ – Release Complete Message

Bei diesem Beispielablauf fällt es auf, wie ähnlich der Ablauf zu SIP ist. Was den Protkollstack betrifft, braucht ISUP kein TCAP oder SCCP. ISUP hat selbst sog. CIC Session ID, die die einzelnen Gespräche identifizieren. Bei einem T1 Span können bis zu 24 Gespräche (Circuits) laufen und durch CIC identifiziert werden, bei E1 Span ist die Anzahl der Gespräche 30. In diesem Ablauf identifiziert das CIC den physischen Voice Channel und Bearer Circuit.

Die hier geschilderten Abläufe sind natürlich reine Singnaling-Vorgänge, das eigentliche Voice Traffic geht direkt vom Provider zu Provider, wie es bei Out-of-Band Signaling vorgesehen ist.


Um den Anruf durch das Netzwerk zu routen benötigt man primär die „Called Party Numner“ (CdPN). Für die Vermittlung dieser Zielrufnummer gibt es zwei Methoden ((https://www.youtube.com/watch?v=Ci-FFllWH7w)):

  • Enbloc Signaling

Bei dieser Methode wird die komplette Rufnummer in einem IAM Nachricht vermittelt und wird vor Allem in Nord-Amerika verwendet.

  • Overlap Signaling

Die Zielrufnummer wird in mehreren IAM / SAM Nachrichten abgefragt. Diese Methode wird oft in Europa verwendet.

Neben dem Aufbau, Abbau hat ISUP noch die folgende wichtige Funktion. Durch „Continuity Testing“ wird sichergestellt, dass die Voice-Kanal zur Verfügung steht.

13. November 2018 von IT-Mensch
Kategorien: Telekommunikation | Schreibe einen Kommentar

Entwicklung der Telekommunikation (Teil 1 – der Weg zum Signaling System Nr.7)

Heute, der „Hauptmotor“ unserer Entwicklung ist das sich stets erweiternde „globale Dorf“. Diese Integration und der Druck schneller, effizienter, billiger und produktiver zu werden fördern und fordern natürlich die nationale und internationale Kommunikation.

Es ist eine faszinierende Geschichte wie die jeweils gültige Konzeption der nationalen und später internationalen Telekommunikation technisch  umgesetzt wurde. ((Anton A. Huurdeman, The worldwide history of Telecommunication))

Weiterlesen →

05. November 2018 von IT-Mensch
Kategorien: Telekommunikation | Schreibe einen Kommentar

Öffentliche VPN Dienste – vorgetäuschte Sicherheit?

Als Digital Native bin ich seit Jahren immer wieder in der Versuchung den Werbungen diverser VPN Anbieter auf den Leim zu gehen und zu abonnieren. Ich halte ja VPN – eigentlich alles was Online-Sein sicherer macht – für sinnvoll.

VPN heißt im Allgemeinen „Virtual Private Network“ und bedeutet im technischen Sinne einen geschützten Kanal, wodurch mein schützenswertes Traffic geroutet und damit im öffentlichen Internet geschützt wird. Wie und von wem?

Weiterlesen →

30. Oktober 2018 von IT-Mensch
Kategorien: Netzwerk | Schreibe einen Kommentar

← Ältere Artikel