17.06.2014 Aufrufe

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

Sicherheit in vernetzten Systemen - RRZ Universität Hamburg

MEHR ANZEIGEN
WENIGER ANZEIGEN

Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.

YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.

KAPITEL 1. GRUNDLAGEN: INTERNET-PROTOKOLLE<br />

das nicht möglich, da der Aufruf von connect() dort den Empfänger festlegt. Analog ist die Entgegennahme<br />

von Daten ohne den Aufruf von accept(), direkt mit recv() oder recvfrom() möglich.<br />

Der erste Aufruf empfängt Daten von beliebigen Absendern, der zweite Aufruf ermöglicht die Auswahl<br />

e<strong>in</strong>es Absenders durch Übergabe der Absenderadresse beim Aufruf. Beide Aufrufe blockieren,<br />

wenn ke<strong>in</strong>e Daten vorhanden s<strong>in</strong>d. E<strong>in</strong> UDP-Socket abstrahiert somit nur das e<strong>in</strong>e Ende (IP-Adresse,<br />

Portnummer) e<strong>in</strong>er Kommunikationsbeziehung und nicht den Endpunkt e<strong>in</strong>er bidirektionalen Verb<strong>in</strong>dung,<br />

die es unter UDP nicht gibt.<br />

1.6 Symbolische Namen<br />

Im Verlauf dieses Vortrags wurden oft Portnummern und IP-Adressen erwähnt. Leider s<strong>in</strong>d numerische<br />

Werte für menschliche Anwender oft schwer zu merken und br<strong>in</strong>gen auch nicht den notwendigen<br />

Abstraktionsgrad mit sich, den Menschen erwarten. Anstelle von „Anwendung h<strong>in</strong>ter TCP-Port 80,<br />

auf Adresse 123.234.132.231“ wird eher etwas wie „WWW-Server auf Rechner www.cert.dfn.de“<br />

verwendet. Die Verwendung solcher symbolischer Namen erfordert e<strong>in</strong>e Umsetzung zwischen IP-<br />

Adressen und Dienstkennungen.<br />

Dies geschieht durch Bereitstellung von Bibliotheksfunktionen, die von der Anwendung benutzt werden,<br />

um die symbolischen Namen zu übersetzen. In UNIX s<strong>in</strong>d das Funktionen wie gethostbyname()<br />

zur Umsetzung von Namen <strong>in</strong> IP-Adressen, oder getservbyname() zur Bestimmung der zu e<strong>in</strong>em<br />

Dienst gehörenden Portnummern. Die Rout<strong>in</strong>en selbst s<strong>in</strong>d teilweise nur e<strong>in</strong> E<strong>in</strong>stiegspunkt <strong>in</strong> zum<br />

Teil aufwendige Such- und Abfrageschemata, deren Details an dieser Stelle nicht erläutert werden<br />

können.<br />

Die eigentliche Abbildungs<strong>in</strong>formation muß vom Adm<strong>in</strong>istrator des Systems entweder lokal oder auf<br />

e<strong>in</strong>em Server im Netzwerk bereitgestellt werden. Im letzteren Fall müssen Anfragen an diesen Server<br />

weitergeleitet werden.<br />

Zur lokalen Bereitstellung werden typischerweise Dateien an standardisierter Stelle im System verwendet.<br />

Unter UNIX s<strong>in</strong>d dies z.B. die Dateien /etc/hosts und /etc/services.<br />

Zur Bereitstellung der Informationen im Netzwerk stehen standardisierte Informationsdienste wie<br />

DNS [RFC 1034, RFC 1035] oder LDAP (X.500) zur Verfügung. Welcher Dienst benutzt wird, ist<br />

von der jeweiligen Umgebung abhängig. In UNIX-Umgebungen wird häufig DNS verwendet, andere<br />

Umgebungen benutzen evtl. herstellereigene Informationsdienste, deren Spezifikation jedoch nicht<br />

immer offengelegt ist, so daß sie hier nicht weiter betrachtet werden.<br />

Stehen mehrere Informationsdienste zur Verfügung, so muß e<strong>in</strong>e Auswahl getroffen werden, welche<br />

Dienste benutzt werden sollen. Außerdem muß für den Fall, daß die gleiche Information (nicht notwendigerweise<br />

der gleiche Inhalt) von mehreren Diensten bereitgestellt wird, entschieden werden,<br />

welchem Dienst die höhere Glaubwürdigkeit e<strong>in</strong>geräumt wird.<br />

In UNIX wird dies durch die Datei /etc/nsswitch.conf geregelt: Für jede Art von Information wird<br />

<strong>in</strong> der Datei e<strong>in</strong>e priorisierte Liste von Diensten spezifiziert. Die Dienste werden sequentiell abgefragt,<br />

bis e<strong>in</strong>er der Dienste e<strong>in</strong> positives Ergebnis liefert oder das Ende der Liste erreicht ist. Damit bestimmt<br />

die Position e<strong>in</strong>es Dienstes <strong>in</strong> der Liste se<strong>in</strong>e Wichtigkeit bzw. Glaubwürdigkeit.<br />

18 SS 99, Sem<strong>in</strong>ar 18.416: <strong>Sicherheit</strong> <strong>in</strong> <strong>vernetzten</strong> <strong>Systemen</strong>

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!