mit openldap und radius - Digital
Transcription
mit openldap und radius - Digital
GEMEINSAME BENUTZERVERWALTUNG MIT OPENLDAP UND RADIUS CEBIT SPLITTER DNS - AUFBAU UND COMPUTER FORENSIK DATA HIDING KERNEL SECURITY IPV6 BS7799 IT SERVICE MANAGEMENT SERVER-TAGEBUCH TEIL 2 SCHWACHSTELLEN Hagenberger Kreis zur Förderung der digitalen Sicherheit pA FH-Studiengang CMS Hauptstraße 117 4232 Hagenberg http://www.hagenbergerkreis.at info@hagenbergerkreis.at fax: 07236 / 3888 2599 3 Vorwort Der Sommer ist zu Ende und ein neues Studienjahr beginnt. Wobei sich viele fragen werden, wo denn der Sommer hinsichtlich der Temperaturen überhaupt geblieben ist. Während zumindest in Deutschland der Wahlkampf für Hitzewallungen sorgte, blieb es bei uns doch eher mäßig. Nichts desto trotz hoffe ich, dass jeder, der Urlaub hatte, diesen auch genießen konnte. Der Herbst beginnt zumindest heiß. Zehn neue Artikel im Magazin erklären, klären auf und analysieren Themen aus den verschiedensten Bereichen der IT-Sicherheit. Von der tief greifenden Technik bis zur hohen Kunst des Managements ist wieder einmal für jeden Geschmack etwas dabei. Wieviele Türen aus unserem Titelbild haben Sie in Verwendung? Wäre es nicht einfacher nur eine Türe öffnen zu müssen? Sollte Sie diese Frage mit ‘ja’ beantworten, dann wird Ihnen unser Titelthema auf effiziente Weise einen Einblick in diese Thematik anhand von OpenLDAP und FreeRadius bieten. Während der Hagenberger Kreis sich bereits in der Anfangsphase der Planung für das nächste Security Forum befindet und unsere neuen Studenten durchstarten, begeben wir uns auf Themensuche für die nächste Ausgabe. Einstweilen wünsche ich Ihnen viel Spaß mit dem aktuellen HK-Magazin. Harald Fürlinger redaktion@hagenbergerkreis.at HK - Magazin 4 Impressum HK-Magazin Medieninhaber und Verleger: Hagenberger Kreis zur Förderung der digitalen Sicherheit Herausgeber und Redaktion: Harald Fürlinger und Dirk Wallerstorfer A-4232 Hagenberg, Hauptstraße 117 Fax: +43 (0) 7236 - 3888 2599 E-Mail: redaktion@hagenbergerkreis.at Chefredaktion: Harald Fürlinger Grafik / Design und Layout: Dirk Wallerstorfer Bilderquelle: www.photocase.de © wenn nicht anders angegeben, bei den Autoren. Nachdruck der Artikel nur unter genauer Quellenangabe erlaubt, welche die Nennung des Autors sowie die des Hagenberger Kreises beinhalten muss. Eine Haftung für die Richtigkeit der Veröffentlichungen kann trotz sorgfältiger Prüfung durch die Redaktion vom Herausgeber nicht übernommen werden. Für namentlich gekenntzeichnete Artikel wird nur die presserechtliche Verantwortung übernommen. Produktbezeichnungen und Logos sind zu Gunsten der jeweiligen Hersteller als Warenzeichen und eingetragene Warenzeichen geschützt. Wir übernehmen keine Haftung für eventuelle Schäden die aus der Benutzung des pdfFiles entstehen könnten und empfehlen das File vor dem Öffnen noch einmal mit einem Virenscanner zu prüfen. Dieses Magazin erscheint regelmäßig. HK - Magazin 5 Inhaltsverzeichnis CEBIT SPLITTER 6 Die von 10. bis 16.3.2005 in Hannover stattgefundene CeBIT 2005 war wiederum eine Fundgrube für technische Innovationen und zukunftsweisende Entwicklungen. DNS - AUFBAU UND SCHWACHSTELLEN KERNEL SECURITY Bei der Diskussion um das Beste und sicherste Betriebssystem wird meist Linux als erste Wahl genannt. Doch warum ist das so? Man könnte meinen, dass ein fertig zusammengestelltes und unveränderliches Windows System weitaus sicherer ist. 8 IPV6 Das Domain Name System (DNS) ist eine verteilte Datenbank, die den Namensraum im Internet verwaltet und Domainnamen in IP-Adressen umwandelt und umgekehrt. Das DNS bietet eine Vereinfachung, weil Menschen sich Namen weitaus besser merken können als Zahlenkolonnen. COMPUTER FORENSIK 12 Der Ausdruck Forensik stammt aus dem Lateinischen und bedeutet gerichtlich oder kriminaltechnisch. Die Computer Forensik oder auch Digitale Forensik wird vor allem bei Ermittlung von Systemeinbrüchen im Bereich der Computerkriminalität eingesetzt. DATA HIDING 14 Data Hiding Techniken beschäftigen sich mit dem Einbetten von Informationen in ein Trägermedium (z.B.: eine Festplatte). Ziel dabei ist es, diese Daten so zu verstecken, dass sie für jeden, außer für den Eigentümer, unsichtbar sind. 21 23 Das Internet Protocol Version 6 ist der designierte Nachfolger der sehr populären Version 4. IPv6 weist in manchen Teilen noch Ähnlichkeiten zum Vorgänger auf, legt jedoch neben zahlreichen Verbesserungen und Erweiterungen einige neue, sehr interessante Konzepte zu Tage. ZERTIFIZIERTE INFORMATIOSSICHERHEIT BZW. ISO/IEC 17799 NACH BS 7799 25 Dass Komponenten wie Firewalls und Anti-Viren Programme zu zentralen Bestandteilen eines Sicherheitskonzepts gehören, haben mittlerweile die meisten Unternehmen erkannt. Aber was nützt die beste Firewall, wenn es die Mitarbeiter sind, die sensible Daten an die Öffentlichkeit tragen? IT SERVICE MANAGEMENT 28 Ein Großteil der Geschäftsprozesse von Unternehmen setzt das reibungslose Funktionieren aller IT-Infrastrukturkomponenten (Daten- und Sprachnetzwerke, Serversysteme, Anwendungen, etc.) voraus. GEMEINSAME BENUTZERVERWALTUNG FÜR SQUID, POSTFIX, PPTP UND L2TP/IPSEC MIT OPENLDAP UND FREERADIUS 16 Ein typisches Szenario für einen Benutzer mit mehreren Diensten dargestellt, wobei im schlimmsten Fall für jeden Dienst unterschiedliche Benutzernamen und Passwörter zur Authentifizierung notwendig sind. SERVER TAGEBUCH - TEIL 2 30 Der zweite Teil des Server Tagebuchs behandelt die Services FTP, Samba und DynDNS. HK - Magazin 6 Cebit Splitter Cebit Splitter Die von 10. bis 16.3.2005 in Hannover stattgefundene CeBIT 2005 war wiederum eine Fundgrube für technische Innovationen und zukunftsweisende Entwicklungen. IBM ... DIE TU BRAUNSCHWEIG, ... ... hat einen Prototyp des im Rahmen des Millipede-Projektes entwickelten, im Nanobereich arbeitenden thermomechanischen Datenträgers vorgestellt. Mit dieser Technologie kann eine Aufzeichnungsdichte von 1 TB pro Quadratzoll erreicht werden, was etwa der Datenmenge von 25 DVDs auf der Fläche einer Briefmarke entspricht. Der Datenträger ist wiederbeschreibbar. Die Marktreife könnte nach etwa 2 bis 3-jähriger Entwicklungszeit erreicht werden. ... Institut für Hochfrequenztechnik, hat organische Leuchtdioden (O-LEDs) präsentiert. Sie bestehen aus hauchdünnen Schichten organischer Halbleiter und organischer Farbstoffe, können auf biegsame Folien aufgetragen werden und benötigen, da sie selbstleuchtend sind, im Gegensatz zu LCDs, keine Hintergrundbeleuchtung. Des-halb und weil sie Strom direkt in Licht umwandeln, kommen sie mit weniger Energie aus und sind aus jedem Betrachtungswinkel gut zu erkenHK - Magazin nen. Eingesetzt werden derartige ansteuerbare Folien – die, etwa 2 cm groß, auf der CeBIT „in Serie“ hergestellt wurden - bereits jetzt als Displays. Die Weiterentwicklung kann bis zur flächendeckenden Beleuch-tung von Wänden oder dem als flache Folie an die Wand gehängten Fernseher/Bildschirm gehen. DIE PHILIPPS-UNIVERSITÄT ... ... Marburg hat die Anwendungs- 7 Cebit Splitter möglichkeiten des aus einem Bakterium gewonnenen Pigment Bakteriorhodopsin weiterentwickelt. Es handelt sich um ein fotochromatisches Protein, das unter Einwirkung sichtbaren Lichts seine Farbe sehr augenfällig von Violett nach gelb ändert. Diese Eigenschaft kann genützt werden, um Dokumente (Banknoten) fälschungssicher zu gestalten. Ändert sich die Farbe unter Lichteinfluss nicht, liegt eine Kopie vor. Die Herstellung des Farbstoffs erfordert hohes biotechnologisches Wissen und Knowhow. Außerdem können, ohne die grundlegenden Eigen-schaften zu verändern, Sequenzen der Aminosäuren verändert und das Material dadurch codiert werden, mit 2010 Kombinationsmöglichkeiten, sodass eine Rückführbar-keit auf den Ursprungsort gewährleistet werden kann. Bei Einwirkung sehr hoher Lichtenergie, wie sie durch Laserpulse in Pico- bis Nanosekundenbereich erzielt wird, wird der Farbwechsel irreversibel, was zur Datenspeicherung im Bereich von 1 MB/cm² benützt werden kann KIDDE-DEUGRA ... ... hat, auf der Basis des Löschmittels Novec™ 1230 von 3M, im Rahmen des CefIS (Centrum für Informationssicherheit) ein neuartiges Löschsystem vorgestellt. Das bei Raumtemperatur flüssige Löschmittel ist elektrisch nicht leitend – ein in die Flüssigkeit eingetauchtes Handy war nachher wieder voll funktionsfähig. Es handelt sich um ein C6-Fluorketon und nicht um einen Fluorkohlenwasserstoff (anstelle des Wasserstoffs ist ein Sauerstoffatom in Doppelbindung eingefügt). In der Atmosphäre löst sich das Gas nach Herstellerangaben spätestens nach fünf Tagen ohne Gefahr für die Ozonschicht auf. Die Flüssigkeit steht in Behältern durch Stickstoff unter einem Druck von etwa 40 bar und wird im Brandfall über spezielle Düsen ver- dampft. Die brandlöschende Wirkung entsteht dadurch, dass dem Feuer eine seiner Komponenten, nämlich die Wärme, entzogen wird. Es findet also nicht, wie beispielsweise bei Inertgasen, eine Sauerstoffverdrängung statt, mit der damit verbundenen Erstickungsgefahr für Menschen und der Gefahr des Überdrucks. Die Brandbekämpfung kann auch direkt in einem 19“-Schrank erfolgen, indem Rauchmelder, Steuer- und Löscheinheit direkt in einem Einschub installiert sind, der im Schrank zuoberst angeordnet wird. MIT CINDERELLA ... ... („Math in Motion“) können nicht nur geometrische Lehrsätze interaktiv auf einer Schautafel sichtbar und plausibel gemacht werden, sondern es kann, an Hand der physikalischen Gesetze, mit Szenarien von Atomphysik über Optik bis zu Planetenbewegungen experimentiert werden, ohne den real durch Versuchsbedingungen gegebenen Erschwernissen unterworfen zu sein. Die Umsetzung der auf der Tafel eingegebenen Ausgangswerte in dargestellte Bewegungen erfolgt durch den Rechner (Technische Universitäten Berlin und München; Springer-Verlag). www.springer.de DAS GRAZER UNTERNEHMEN ... ... KOMMe®Z hat ein Renderingverfahren vorgestellt, durch das einfache Formen beispielsweise in Bauwerke umgerechnet werden können, in denen und um die herum man sich virtuell bewegen und sie aus verschiedenen Blickwinkeln betrachten kann. Im gezeigten Fall war ein einfaches Lego-Haus in ein Bauwerk umgerechnet worden; das frei bewegliche Entlein hat den Betrachter dargestellt. Am Bildschirm konnten die verschiedenen Perspektiven mitverfolgt werden WASSERKÜHLUNG ... ... für Prozessoren im PC-Bereich bietet Alphacool an. Dadurch entfällt das Lüftergeräusch und es kann die Prozessorleistung gesteigert werden. Dr. Kurt Hickisch LINKS IBM ... www.zurich.ibm.com/st/storage/millipede.html TU-BRAUNSCHWEIG ... www.tu-braunschweig.de PHILLIPS-UNIVERSITÄT ... www.chemie.uni-marburg.de/hampp KIDDE-DEUGRA ... www.kidde-deugra.de CINDERELLA ... www.springer.de KOMMe®Z ... www.kommerz.at ALPHACOOL ... www.alphacool.de HK - Magazin 8 DNS - Aufbau&Schwachstellen Domain Name System Aufbau & Schwachstellen Das Domain Name System (DNS) ist eine verteilte Datenbank, die den Namensraum im Internet verwaltet und Domainnamen in IP-Adressen umwandelt und umgekehrt. Das DNS bietet eine Vereinfachung, weil Menschen sich Namen weitaus besser merken können als Zahlenkolonnen. WIE FUNKTIONIERT DNS? Das Domain Name System ist ein hierarchisches System zur Auflösung von Computernamen in IPAdressen. Die weltweit verteilten 13 Root Server stellen die oberste Schicht dar und verfügen über die Informationen der Top Level Domains. Dabei unterscheidet man zwischen gTLD (generic Top Level Domains) wie zB .com, .org, .gov und .net und den länderspezifischen ccTLD (country coded Top Level Domains) aus zwei- bis dreistelligen Ländercodes. Für jede TLD ist ein eigener Nameserver zuständig, der dann seinerseits wieder die Informationen enthält, welcher Nameserver für die Domains zuständig ist. diesem erhält der Client schließlich die IP-Adresse von www.hagenbergerkreis.at. Eine Zone stellt einen Teil des Domain-Baums dar, für den ein Nameserver autoritative Informationen besitzt. Dabei können Subdomains in eigenständige Zonen unterteilt und an andere Nameserver delegiert werden. Eine Zone wird von einem Primary Nameserver verwaltet, der diese Zonen auf einen oder mehrere Secondary Nameserver spiegeln kann. Die Daten einer Zone werden in so genannten Zonendateien gespeichert. Die Originaldatei befindet sich am Primary Server, der sie bei Änderungen per Zonentransfer an die Secondary Server überträgt. ERLAUBTE ZEICHEN Ursprünglich waren nur die Buchstaben a bis z, die Ziffern 0 bis 9 und der Bindestrich in Domains erlaubt. Der Punkt ist für die Trennung der einzelnen Levels reserviert und darf in Domainnamen nicht verwendet werden. Ein Domänenname darf inklusive aller Punkte maximal 255 Zeichen lang sein. Im RFC3490 wurde der Internationalized Domain Name (IDN) vorgestellt, der es möglich macht auch Sonderzeichen (zB Umlaute) in Domainnamen zu verwenden. Dabei sorgt der im RFC3492 definierten Punycode dafür, dass die Unicode-Zeichen der Umlautdomain in ASCII-Zeichen mit dem HIERARCHISCHE GLIEDERUNG Die Domain www.hagenbergerkreis.at kann in drei Teile gegliedert werden. • Top Level Domain: at • 2nd Level Domain: hagenberger kreis • 3rd Level Domain: www Die Auflösung der Domain www. hagenbergerkreis.at erfolgt in mehreren Schritten (siehe Abbildung 1). Als erstes wird der Root Server befragt, welcher Server für Informationen über .at-Domains zuständig ist. Dieser Server wiederum verweist auf den Server, der Informationen über die Domain hagenbergerkreis.at besitzt. Von Abbildung 1 - Auflösung einer Domain HK - Magazin 9 DNS - Aufbau&Schwachstellen Skripts auf allen Slaves auf den neuesten Stand gebracht. Zur Absicherung befindet sich der Primary-Server hinter einer Hardware-Firewall während die Secondary-Server jeweils mit iptables (Software-Firewall) abgesichert werden. Zusätzlich ist es wichtig, nach der Installation ein SystemHardening durchzuführen und auf eine sichere Bind-Version zu wählen. Abbildung 2 - Hierarchische Gliederung Präfix xn-- umgewandelt werden. Die Umwandlung erfolgt beim Client (Webbrowser, Mail-Programm). IDN-fähig sind folgende Browser: • Mozilla ab Version 1.4 • Firefox ab Version 0.8 • Konqueror ab KDE 3.2 mit GNU IDN Library • Microsoft Internet Explorer ab Version 5.0 durch Installation des Plugins i-nav von VeriSign (bedingt) IDN-fähig. Mit IE 6 treten jedoch trotz Plugin fehlerhafte Abläufe auf. Ab der im Sommer 2005 erscheinenden Version 7 wird es voraussichtlich eine weitgehende IDNA-Unterstützung geben. WIE EINES SIEHT EINE MÄGLICHE DNSS AUS? fügung. Er kann als interner DNSServer dienen oder nur zur Verteilung der Domain-Informationen an die beiden Slaves verwendet werden. Am LDAP-Server werden über eine eigens erstellte Web-Oberfläche neue Zonen erstellt bzw. bestehende administriert. In einem vorgegebenen zeitlichen Intervall wird mittels ldap2dns (http:// ldap2dns.tiscover.com/) auf aktualisierte bzw. neue Konfigurations- und Zonenfiles überprüft. Im Falle einer Aktualisierung wird ein Zonentransfer veranlasst und somit die Dateien zuerst automatisch am Master und anschließend über Um zu verhindern, dass die Secondary-DNS-Server von unautorisierten Servern Zonenfiles erhalten reicht die Identifikation von autorisierten Servern über IP-Adressen nicht aus, da diese leicht gefälscht werden können. Durch Transaction Signatures (TSIG) kann die Datenintegrität der Transaktion und die Authentizität der beteiligten Server sichergestellt werden. Der Master und die Slaves verfügen über einen gemeinsamen Key, der über dnskeygen erstellt wird. Dieser Key wird für einen HMAC-MD5 über die transferierten Daten verwendet. Somit kann ein Angreifer die Daten während des Transfers nicht abfangen und verändern und auch keine eigenen Zonendaten an einen der Slaves senden ohne den Key zu kennen. IMPLEMENTIERUNG In einem Projekt im Rahmen des 3. Semesters haben wir ein DNS-Server-System mit Anbindung an einen LDAP-Server aufgebaut. Das System besteht aus zwei Secondary-DNS-Servern (Slaves) und einem Primary-DNS-Server (Master), der sich hinter einer Firewall befindet. Um Redundanzen und eine bessere Lastverteilung zu schaffen können noch weitere Secondary-DNS-Server zum System hinzugefügt werden. Der Primary-DNS-Server erhält seine Informationen von einem LDAPVerzeichnis und steht nicht für DNS-Abfragen von außen zur Ver- Abbildung 3 - Aufbau HK - Magazin 10 DNS - Aufbau&Schwachstellen Abbildung 4 - DNS Cache Poisoning ATTACKEN AUF DNS BUFFER OVERFLOW ATTACKS Um Buffer Overflow Attacken durchführen zu können, muss man zuvor den DNS-Server, den man attackieren möchte, genau analysieren und wenn möglich herausfinden, welche Software installiert und aktiv ist. Findet man zu einem aktiven Programm einen Exploit, verschafft man sich durch diesen Zugang auf die Kommandozeile des Servers und kann somit in den Zonenfiles und anderen Konfigurationsdateien nach Belieben Änderungen vornehmen. MAN IN THE MIDDLE Das DNS-System ist dadurch besonders leicht verwundbar, da als einziges Validierungsmerkmal eine 16 Bit große ID, die sogenannte Transaktions-ID zur Verfügung steht, anhand dessen ein anfragender Nameserver die Antworten zuordnen kann. Ein simpler Man in the Middle Angriff könnte erfolgen, indem der Angreifer den angefragten Nameserver daran hindert zu antworten (zB mittels SYN-Flooding). Die sodann folgende Attacke besteht aus 65536 Paketen (es muss auch noch der Query-Port stimmen, daher könnten noch mehr Pakete von Nöten sein), welche als Absender den eigentlichen Nameserver haben, sämtliche Query-IDs abdecken und natürlich falsche Informationen enthalten. Weiters kann man die in Frage kommenden IDs durch eigene Anfragen an den Server zuvor einschränken. DNS-CACHE-POISONING HK - Magazin Das Cache-Poisoning bedient sich des Umstandes, dass DNS-Server die Informationen, die sie von anderen DNS-Servern bekommen, annehmen, ohne dass sie diese auf Richtigkeit oder Sinnhaftigkeit prüfen. Das heißt, dass Nameserver, die auf eine Anfrage eines anderen antworten, zusätzliche Informationen mit ihrer Antwort mitsenden können, die gar nicht angefordert wurden. Um Cache-Poisoning durchführen zu können, benötigt man eine eigene Domain und einen dazugehörigen Nameserver. Nun sendet man eine Anfrage zu dem Server, den man „vergiften“ will, in der man die Adresse einer Domain beantragt, die unter der Verwaltung des eigenen Nameservers liegt. Dieser beantwortet die Anfrage und sendet in den ungenutzten Felder der Antwort zusätzliche Informationen, wie zum Beispiel eine gefälschte 11 DNS - Aufbau&Schwachstellen Adresse zu „www.opfer.at“. Wenn nun ein anderer Client den „vergifteten“ Nameserver nach der Adresse von „www.opfer.at“ fragt, bekommt er als Antwort die gefälschte und der Angriff ist geglückt. Dieser Angriff ist nur bei CachingDNS-Servern möglich. Bei Nameserver, die mit einer aktuellen Version von BIND ausgestattet sind, ist dieser Angriff mittlerweile nicht mehr möglich. DNS-CACHE-POISONING VARIANTE 2 In Abbildung 1 ist eine normale DNS-Abfrage dargestellt. Bei der Verbindung zwischen Client und Nameserver und zwischen den beiden Nameservern sind die Transaktions IDs verschieden. In dieser Variante des Cache-Poisoning wird der Angreifer die ID der Kommunikation zwischen den beiden Nameservern erraten. Bei diesem Angriff ist weiters noch wichtig, dass BIND DNS-Server für Anfragen an einen anderen Server mit großer Wahrscheinlichkeit den gleichen Sourceport für die Anfragen verwendet. Der Angreifer sendet immens viele Anfragen, die jene Domain betreffen, die der Angreifer spoofen will, an den Opfer DNS Server, der die Anfragen an den zuständigen DNS Server weiterleitet. Nun erwartet der Opfer Server eine Flutwelle an Antworten, jede mit einer einzigartigen Transaktions ID, von dem anderen DNS Server. Nun kommt der Angreifer wieder ins Spiel. Dieser sendet nun Antwort-Pakete, versehen mit der Source IP des für die Domain zuständigen DNS Servers und mit dem Source Port, der zuvor schon bestimmt wurde, an den Opfer DNS Server und hofft, dass er eine Transaktions ID errät. Dadurch kann der Angreifer verfälschte Informationen im Cache des Opfer Servers platzieren und der Angriff ist geglückt. DNS FLOODING Darunter versteht man einen Angriff, der darin besteht, permanent von gefälschten, zufällig generierten IP-Adressen Anfragen nach Domains, die ebenfalls zufällig generiert werden, an einen Nameserver zu senden, sodass dieser außer der Beantwortung dieser Anfragen keine anderen mehr beantwortet. Das DNS Flooding stellt einen sehr effizienten Denial-Of-Service Angriff auf Nameserver dar. Diesem Angriff kann man leider nur wenig entgegenstellen. Eine Möglichkeit besteht darin, wie es zB bei ISPs Gang und Gebe ist, mehrere DNS-Server aufzustellen, um somit den Kunden nach Ausfall eines DNS-Servers weiterhin das Nameservice zur Verfügung stellen zu können. INFORMATION LEAKS Wenn ein DNS-System aus mehreren Servern besteht, ist es wahrscheinlich, dass zwischen diesen (hauptsächlich zwischen dem Primary und den Secondaries) Zonentransfers stattfinden. Da die Authentisierung bei der Übertragung hauptsächlich auf IP-Adressen basiert, können Angreifer ohne größeren Aufwand einen Secondary-Server imitieren und somit die Informationen, die in den Zonenfiles stehen, für weitere Angriffe verwenden. WIE KANN MAN ES ABSICHERN? Das Domain Name System ist unentbehrlich für jeden Internetbenutzer. Gerade deshalb sollte beim Aufbau und Betrieb eines eigenen DNS-Servers auf die Sicherheit des Servers und die Integrität der Daten geachtet werden. Einer der wichtigsten Schritte zur Absicherung von DNS Software und generell von jeder Software, ist der Betrieb einer aktuellen Version. Auf den Webseiten der Softwarehersteller (Bind: http://www.isc.org/ index.pl?/sw/bind/) werden meistens die neusten Releases und auch aufgetretene Sicherheitslücken be- HK - Magazin kannt gegeben. Es ist außerdem ratsam, die Version des verwendeten DNS-Servers zu verstecken, um einen Angreifer keinen Hinweis auf die Version und somit auf bereits bekannte Exploits zu geben. Bei Bind lässt sich in der Datei named. conf unter options versions „…“ ein beliebiger Text einstellen, der dann anstatt der Softwareversion angezeigt wird. Weiters sollte ein DNS-Server für keine weiteren anderen Dienste sondern rein als dedicated DNSServer verwendet werden. Zum Härten gehört auch, die laufenden Betriebssystemservices auf das absolute Minimum zu reduzieren und nur benötigte TCP und UDP Ports zu öffnen. Sollte ein Angreifer dennoch Zugriff auf das System erhalten, ist es ratsam, den Zugriff auf das Filesystem zu beschränken, indem man den DNS-Server in einem so genannten Chroot-Gefängnis ausführt. Durch Zonentransfers werden normalerweise die gespeicherten Domains zwischen dem Primary und dem Secondary Server ausgetauscht. Die Informationen über die Domains können für einen Angreifer sehr nützlich sein, da er dadurch zB einen Überblick über die Topologie von Netzwerken, die sich hinter einer Firewall befinden, erhalten kann und diese für weitere Angriffe verwenden kann. Daher sollten Zonentransfers nur vom Primary and den Secondary Server gestattet werden. Um eine Hochverfügbarkeit des DNS-Services zu gewährleisten sind redundante Server erforderlich. Wenn möglich sollten diese sogar in getrennten Netzwerken stehen. Es ist auch empfehlenswert den externen und internen Namespace getrennten Servern zuzuteilen und den Master DNS-Server vor Zugriffen von Außen zu verstecken. Martina Lindorfer Dirk Wallerstorfer 12 Der digitale Reisepass Der Ausdruck Forensik stammt aus dem Lateinischen und bedeutet „gerichtlich“ oder „kriminaltechnisch“. Die Computer Forensik oder auch Digitale Forensik wird vor allem bei Ermittlung von Systemeinbrüchen im Bereich der Computerkriminalität eingesetzt. Durch Computer Forensik ist es möglich strafbare Handlungen zum Beispiel durch die Analyse von digitalen Spuren zu erkennen und aufzuklären. Bevor eine Forensische Untersuchung durchgeführt werden kann, müssen Vorbereitungen am System getroffen werden. Es muss das normale Verhalten des Systems dokumentiert werden um einen späteren Einbruch zu erkennen und zu analysieren. Die Untersuchungen werden also nach einem Angriff durchgeführt, um herauszufinden, wie erfolgreich der Angreifer war und welche Systemlücken ausgenutzt wurden. VORBEREITUNG Zur Vorbereitung der forensischen Analyse ist es wichtig Ist-Stände des Systems zu verschiedenen Zeiten zu sichern. Dies beinhaltet das Speichern von Logfiles, sowie das Erfassen der laufenden Prozesse und Dienste um Veränderungen am System im Ernstfall erkennen zu können. Idealerweise werden auch die freigegebenen Ordner und die angelegten User und Administratoren dokumentiert. Um zu verhindern, dass die gesicherten Daten nicht während eines Angriffs verändert werden, sollten sie auf einem externen Medium gespeichert HK - Magazin werden. Außerdem ist es wichtig, die für die Analyse eingesetzten Programme von CD zu starten, da die Ergebnisse bei am System installierten Programmen durch Scripts verändert werden können. Um nach dem Erkennen eines Einbruchs keine Spuren zu verwischen sollten nachträglich auch keinerlei andere Programme installiert werden. Somit sollte vor einem Ernstfall ein Soll-Stand als Vergleichsmöglichkeit existieren, welcher alle relevanten Systeminformationen enthält. Diese Daten können bei einer späteren Analyse als nicht verdächtig herausgefiltert werden 13 Computer Forensik um zu verhindern, dass Hinweise auf mögliche Täter bei einer Analyse in der Fülle an Informationen untergehen. IST-STAND Wurde nun das System kompromittiert, muss man entscheiden ob das System sofort vom Netz genommen wird oder nicht. Will man die Aktionen eines aktiven Angreifers analysieren so wird es nachteilig sein, das System vom Internet zu trennen. Doch so kann man sichergehen, dass nicht noch mehr Schaden angerichtet wird. Um mit der tatsächlichen Analyse beginnen zu können, müssen erneut alle Systemdaten des Rechners erfasst werden. Wichtig hierbei ist, dass das System nicht sofort vom Strom getrennt wird, sondern davor flüchtige Daten wie Netzwerkverbindungen und speziell der RAM gesichert werden. Hierfür verwendbare Tools sind zum Beispiel WinHex oder Helix zum Sichern des Speichers und die Sysinternal Tools TCPView und TDIMon zum Erfassen der Verbindungen. Auch sollten wiederum Systemdaten für die Analyse gesichert werden. Um ein Image des gesamten Systems zu erhalten, kann wiederum die Forensik-CD Helix verwendet werden, aber es kann auch mit dem kostenpflichtigen Programm Encase gearbeitet werden. Hierfür wird die Festplatte aus dem System entfernt und mit einem Analysesystem verbunden. Wichtig ist davor die System-Festplatte mit einem Schreibschutz zu belegen. Dies ist zum Beispiel mit dem FastBlock möglich, welcher es ermöglicht, eine Harddisk über USB oder Firewire an ein anderes System anzuschließen und gleichzeitig jegliche Veränderung verhindert. Die erhaltenen Informationen können nun dem zuvor erfassten SollStand gegenübergestellt und durch Angreifer verursachte Veränderungen erkannt werden. Falls Veränderungen festgestellt werden, sollten diese näher untersucht werden um die Funktion zum Beispiel von neuen Programmen zu ermitteln. So ist es möglich den Angriff nachzuvollziehen und die Schwachstelle des Systems ausfindig zu machen. PROGRAMME Will man nicht warten, bis ein Rechner nicht mehr funktionstüchtig ist oder durch Fehlverhalten auffällt, können schon während dem laufenden Betrieb Anzeichen auf einen Angriff erkannt werden. Folgende Programme können dafür verwendet werden: Um die Netzwerkauslastung am System zu erkennen, kann das kostenpflichtige Programm Traffic Analyzer PRTG installiert werden. Dies erfasst grafisch und tabellarisch die Auslastung und leitet diese Informationen täglich per Mail an den Verantwortlichen weiter. Auf diese Weise können beispielsweise illegitime Downloads erkannt werden. Es ist auch möglich alle Netzwerkverbindungen genauer zu untersuchen. Diese Funktionalität bietet das Sysinternal Tool TCPView, welcher alle bestehenden Verbindungen auflistet und dazu jeweils die Quell- und Remoteadressen in Form einer IP-Adresse oder URL angibt. Besteht eine Verbindung zu einer verdächtigen Adresse, deutet dies auf einen Angriff hin. Auf www.ripe.net/whois findet man eine dafür programmierte Suchmaschine, welche die Adresse bis zu Internetanbietern oder größeren Organisationen zurückverfolgt. Jedoch nur die Polizei hat das Recht Daten des Enduser beim Provider oder der Organisation einzufordern. Ein weiteres interessantes Sysinternal Tool ist Streams, durch welches man erkennen kann, ob Daten oder Programme von Angreifern in ADS (Alternate Data Streams) versteckt wurden. Solche Daten werden an bestehende Daten angehängt, verändern jedoch nicht deren Größe und scheinen im Explorer nicht auf. Die Sysinternal Tools und ähnliche Programme befinden sich auf der Forensik CD Helix. Durch eine von CD gestartete Shell, welche WinHK - Magazin dows- und Linuxbefehle erkennt, können diese Tools von CD gestartet werden und es ist sichergestellt, dass die Befehle und Tools nicht von Angreifern manipuliert wurden und somit ein richtiges Ergebnis liefern. Weitere Tools, welche von dieser CD gestartet werden können, sind zum Beispiel: MAC_Grab erfasst die MAC-Zeiten der Daten, das heißt die Zeitpunkte zu welchen Dateien verändert (Modified), aufgerufen (Access) oder verändert (Change) wurden. Pasco sowie Galleta dienen zur Analyse des Internet Explorers. Es werden die History sowie die Cookies der aufgerufenen Seiten ausgewertet. Md5deep und sha1deep berechnen und vergleichen Checksummen mittels md5- und sha-Hashwerte von wichtigen Dateien. Bmap kann im Slackspace abgelegte Daten finden und wiederherstellen. Dieser Speicherbereich wird nur vom System erkannt und scheint in Verwaltungsprogrammen wie Explorer nicht auf. Chkrootkit und rkhunter durchsuchen das System nach Rootkits, welche Systemeigenschaften verändern. Regviewer bietet eine Schnittstelle um in die Windows Registry Einsicht zu nehmen. Zusätzlich bietet die CD einige Features. Zum Beispiel kann ein Security Report erzeugt werden, welcher Systemdaten wie IP-Adressen und Mac-Adressen auflistet sowie die Security Policy anführt. Außerdem werden die installierten Programme, Driver, Services und Bibliotheken sowie die offenen Ports in diese XML-Datei gesichert. Zusätzlich wird noch angegeben, ob die Services aktiv oder gestoppt sind. Ein weiteres Feature ist die Sicherung des RAM und des physikalisches oder logischen Festplattenspeichers als Image mittels dem Linux-Befehl dd. Wird das Programm beendet, können die durch Helix durchgeführten Aktionen des Ermittlers protokolliert werden. Birgit Haas Ulrike Mayrhofer 14 Data Hiding um eine Datei zu klassifizieren. Die Tests werden in dieser Reihenfolge durchgeführt und terminieren sobald einer davon erfolgreich ist. • Unlinking Open Files Diese Strategie wird oft dazu benutzt, um Log-Informationen wie zum Beispiel Passwörter zu bekommen und gleichzeitig die Chance entdeckt zu werden, möglichst gering zu halten. Um das gewünschte Ergebnis zu erzielen, wird der „Link“ auf eine geöffnete Datei gelöscht. Somit wird nicht mehr auf die Datei verwiesen, obwohl sie sich noch auf dem Speichermedium befindet und vor eventuellem Überschreiben geschützt ist, da das System, die von der Datei benötigten Ressourcen erst weitergibt, wenn der Prozess beendet wird. Die Person, die diesen Prozess gestartet hat, kann also später wiederkommen, um sich die Log-Informationen abzuholen. Data Hiding Techniken beschäftigen sich mit dem Einbetten von Informationen in ein Trägermedium (z.B.: eine Festplatte). Ziel dabei ist es, diese Daten so zu verstecken, dass sie für jeden, außer für den Eigentümer, unsichtbar sind. Es gibt mehrere Möglichkeiten dies zu realisieren (getestet auf Linux ext2-Filesystemen). Jedoch seien alle, die bereits vergnügt Pläne schmieden wollen, gleich am Anfang gewarnt. Keine einzige dieser Möglichkeiten garantiert Unauffindbarkeit, wenn mit professionellen Tools (wie EnCase oder ILook) nach den Daten gesucht wird. VERSTECKEN DER DATEN AUF DER FESTPLATTE • Camouflaged files camouflage = die Tarnung Eine sehr einfache und unter Windows durchaus erfolgreiche Methode Daten zu verstecken ist, die Dateinamenerweiterung zu verändern (z.B.: von .jpg auf .doc). Somit kann der Betrachter ohne Hilfsmittel nicht feststellen, was die Datei wirklich enthält. Während unter Windows auch das Betriebssystem Probleme mit dem falschen Dateiformat hat, und in den meisten Fällen den Inhalt nicht anzeigen kann, gelingt dies unter Linux ohne Schwierigkeiten. Dort werden Dateien nämlich nicht anhand der Namenserweiterung sondern durch so genannte „Magic Numbers“ identifiziert. Deshalb ist es hier auch einfach die ursprünglichen Erweiterungen festzustellen.Dies geschieht durch die „file“ Anweisung. Die man page erklärt dieses Kommando als eine „combination of file system tests, magic number tests, and language tests“ HK - Magazin • Hiding Data in Slack Space Slack Space = “The space on a hard disk between the end of a file and the end of the cluster that the file occupies.“ Mit dem Programm bmap ist es möglich den normalerweise unzugänglichen Speicherbereich zwischen dem Ende einer Datei und dem Ende des von dieser Datei für Speicherzwecke reservierten Blocks zu nutzen. Es können Wörter, Dateien oder Programme in den Slackspace geschrieben und auch wieder ausgelesen werden. Eine besonders angenehme „Nebenwirkung“ dabei ist, dass sich der Speicherbedarf der Datei beim Beschreiben des Slackspace nicht erhöht, da die Datei sowieso den ganzen Block für sich reserviert, auch wenn nur ein Teil davon belegt wird. • Hiding Data in Bad Blocks Um diese Methode erfolgreich zu nutzen, muss man in der Entwick- 15 Data Hiding lungsgeschichte der Speichermedien einige Jahre zurückgehen. Jede Festplatte hat defekte Blöcke. Manche existieren bereits bei der Auslieferung (Fehler bei der Herstellung), andere entstehen erst durch oftmaligen Gebrauch. Während die Kennzeichnung dieser defekten Blöcke bei neuen HDs bereits automatisch geschieht, mussten früher alle Bad Blocks, die nach der Herstellung schon defekt waren manuell vom Benutzer eingetragen werden, damit die Festplatte ohne Probleme laufen konnte. Diese manuelle Kennzeichnung kann man sich zunutze machen, um auch heute noch (voll funktionsfähige) Blöcke als „bad“ zu markieren, damit sie vom Betriebssystem ignoriert werden. Um bestimmte Daten verstecken zu können, muss man zuerst deren „Aufenthaltsort“, also jenen Block auf dem die Daten liegen, kennen. Hierbei hilft das Tool “debugfs”, welches genauere Informationen über Dateien und ihren Speicherplatz auf der Festplatte liefert. Um den ausgewählten Block anschließend als „bad“ zu markieren, wird ein weiteres Programm „e2fsck“ (speziell für ext2-Filesysteme) benötigt. Als erstes überprüft man die Festplatte auf bereits vorhandene Bad Blocks. Hierbei darf die externe Festplatte nicht gemountet sein! Danach ist es notwendig eine Datei zu erstellen, die den Block/die Blöcke, die als “bad” markiert werden sollen beinhaltet. Dabei muss beachtet werden, dass in jeder Zeile nur ein Block steht. Nun wird die zur Erstellung der Datei gmountete Festplatte wieder abgehängt, um das Programm “e2fsck” ausführen zu können. Bei einer Suche nach der versteckten Datei dürfte es nun keine Ergebnisse mehr geben. Um die Daten verändern bzw. auslesen zu können muss das Programm e2fsck den zu Unrecht als “bad” markierten Block wiederherstellen. FINDEN DER VERSTECKTEN DATEN • EnCase/ILook Wie bereits zuvor angekündigt ist es mit den beiden Programmen EnCase und ILook möglich die, durch verschiedene Methoden versteckten Daten, wieder zu finden. Es gibt jedoch einen kleinen Haken. Um die gefundenen Daten als Beweismittel vor Gericht verwenden zu können muss die Unveränderbarkeit der Daten während der Analyse sichergestellt werden. Die Überprüfung der Integrität erfolgt durch zwei Hashwerte. Der erste wird automatisch beim Einlesen der Daten über die einzulesen- de Festplatte generiert. Der zweite (Verifying Hash) kann nach dem Erstellen der Sicherung berechnet werden. Stimmen beide Werte überein, so wurden die Daten der Festplatte nicht verändert. Um dies zu gewährleisten, muss ein so genannter Fastblock verwendet werden, der einen Schreibzugriff auf das Trägermedium verhindert. Obwohl keine der getesteten Möglichkeiten die versteckten Daten vollkommen unauffindbar machen kann, ist die Thematik des Data Hiding ungeheuer spannend. Man bekommt ungeahnte Einblicke in die oftmals kuriose Welt der Speicherbelegung und Speicherfreigabe, der Blockeinteilung von Festplatten und anderer interessanter Datenlagerungsplätze. Wer nun Lust bekommen hat, selber auch einmal etwas zu Verstecken, dem seien folgende Internetseiten empfohlen: http://www.giac.org/practical/ GSEC/Gary_Robertson_GSEC.pdf http://www.blackhat.com/presentations/bh-europe-04/bh-eu-04grugq.pdf [root@localhost slack]# echo „cybercriminal“ | bmap --putslack file.txt stuffing block 17678350 file size was: 34 slack size: 4062 block size: 4096 [root@localhost slack]# bmap --slack file.txt getting from block 17678350 file size was: 34 slack size: 4062 block size: 4096 cybercriminal Abbildung 1 - Hiding Data in Slack Space HK - Magazin Sandra Wöckinger 16 OpenLDAP meets Freeradius Gemeinsame Benutzerverwaltung für Squid, Postfix, PPTP und L2TP/IPSEC mit OpenLDAP und Freeradius In Abbildung 1 ist ein typisches Szenario für einen Benutzer mit mehreren Diensten dargestellt, wobei im schlimmsten Fall für jeden Dienst unterschiedliche Benutzernamen und Passwörter zur Authentifizierung notwendig sind. ALLGEMEINES Standardmäßig besitzt jeder Dienst sein eigenes Authentifizierungsverfahren mit eigenen Benutzerdaten, meist in einer eigenen Datenbank oder Datei. Je mehr Passwörter sich ein User merken muss, desto mehr wird er auch wieder vergessen, unsichere Passwörter verwenden oder einfach Post-Its auf den Monitor kleben. In solchen Fällen ist ein erster Schritt zu einem geschickten Identity Management eine gemeinsame Authentifizierung für mehrere Dienste mit einem einzigen Benutzername-Passwort-Paar. Natürlich wäre es möglich für einen User für jeden Dienst dieselben Daten zu verwenden, allerdings wäre der Aufwand zum Ändern der Daten, wie z.B. dem Passwort, wesentlich größer. Die Lösung ist die Benutzung von OpenLDAP und Freeradius und somit pro User nur Abbildung 1 - Szenario ein Passwort, das an einer einzigen Stelle gespeichert und von allen Diensten verwendet werden kann, zu verwenden. Der folgende Artikel beschreibt dabei die Verwendung von OpenLDAP in Version 2.2.23 und Freeradius 1.0.1 auf Debian Linux. Es wird angenommen, dass die Dienste Squid, Postfix, PPTP sowie L2TP/IPSEC bereits in einer funktionierenden Konfiguration vorhanden und mit den jeweils eigenen Authentifizierungsverfahren funktionsfähig sind. NOTWENDIGE DIENSTE • OpenLDAP LDAP (Lightweight Directory Access Protocol) ist ein TCP/IP basierender, standardisierter Verzeichnisdienst (ähnlich DNS). Konkrete Implementierungen sind z.B. OpenLDAP unter Linux/BSD/Unix, Microsoft Active Directory unter Windows 2000 bzw. Windows 2003 oder das eDirectory von Novell. Unter einem Verzeichnis versteht man eine Auflistung von Informati- Abbildung 2 - Gemeinsame Benutzerauthentisierung über LDAP und Radius HK - Magazin 17 OpenLDAP meets Freeradius onen über Objekte in einer gewissen Ordnung, wobei sich zu jedem Objekt Detailinformationen abfragen lassen. In einem Telefonbuch als Beispiel sind die Objekte die Personen, die Ordnung ist alphabetisch und die Detailinformationen sind Adresse und Telefonnummer. Im Gegensatz zu relationalen Datenbanken sind Verzeichnisse auf das Suchen und Lesen von Informationen spezialisiert. Die Konfiguration von OpenLDAP inklusive zugehöriger Access Control Lists kann auf Grund des Umfanges an dieser Stelle nicht erklärt werden. Entsprechende Informationen können im Adminguide auf www.openldap.org oder in der ausführlicheren Dokumentation auf der Hagenbergerkreis-Homepage (www.hagenbergerkreis.at) nachgelesen werden. Zu Testzwecken wurde die in Abbildung 3 gezeigte LDAP Struktur erzeugt. • Freeradius RADIUS (Remote Authentication Dial-In User Service) ist ein ClientServer-Protokoll zur Authentifizierung von Benutzern bei Dial-In Zugängen wie z.B. für PPP-Verbindungen. Die Clients werden dabei gegen verschiedenste Datenbanken (auch LDAP), die die Benutzernamen und Passwörter gespeichert haben, authentifiziert. Durch das AAA-Konzept (Authentication, Authorization, Accounting) lassen sich auch genaue Auswertungen über die einzelnen Loginzeiten usw. erstellen. Freeradius wird als Zwischenschicht für diejenigen Dienste verwendet, die nicht direkt auf LDAP zugreifen können, wie PPTP und L2TP/IPSEC. Auch hier kann eine genaue Konfiguration nicht erklärt werden. Es wird eine funktionierende Freeradius Konfiguration vorausgesetzt, mit OpenLDAP als Backend. KONKRETE ANPASSUNG DER DIENSTE Abbildung 3 - LDAP Beispielstruktur HTTP, HTTPS und FTP. In den aktuellen Versionen (derzeit Squid 2.5Stable9) ist ein Modul zur LDAP Authentifizierung bereits fix integriert, befindet sich meist (distributionsabhängig) in /usr/lib/squid/, und muss in der Konfigurationsdatei squid.conf nur entsprechend hinzugefügt werden. (siehe Listing 1) Bei der Wahl dieses Moduls wird für die Authentifizierung das obige Programm ausgeführt: Es wird gegen den LDAP Server auf localhost eine Authentifizierung als Benutzer uid=manager, ou=admin, dc=cms, dc=local mit dem Passwort managerpasswort durchgeführt. Anschließend wird in der ou=users, dc=cms, dc=local nach einem Benutzer gesucht, der folgende Anforderungen erfüllt: • Objektklasse cmsUser • uid = %s (der vom Squid übergebene Benutzername, dessen Passwort überprüft werden soll) Anschließend wird von diesem Benutzer das Passwort aus dem LDAP Verzeichnis mit dem Eingegebenen verglichen. Im Erfolgsfall wird OK, im Fehlerfall ERR zurückgegeben. Dieser Befehl lässt sich auch sehr leicht über die Shell testen. (siehe Listing 2) Bei der Eingabe von falschen Benutzerdaten (testuser1 und falschespasswort) wird ERR, bei den richtigen Daten (testuser1 geheim) OK zurückgegeben. Verwendet wurde die Squid Version 2.5Stable8. /usr/lib/squid/ldap_auth -v 3 -h localhost -D „cn=manager,ou=admin,dc=cms,dc=local“ -w managerpasswort -b „ou=users,dc=cms,dc=local“ -f „(&(objectclass=cmsUser)(uid=%s))“ • Squid Squid ist ein mächtiger, freier, Open-Source Web Proxy u.a. für Listing 1 - squid.conf HK - Magazin 18 OpenLDAP meets Freeradius gibraltar:~# /usr/lib/squid/ldap_auth -v 3 -h localhost -D „uid=manager,ou=admin,dc= cms,dc=local“ -w 123456 -b „ou=users,dc=cms,dc=lo cal“ -f „(&(objectclass=cmsUser)(uid=%s))“ testuser1 falschespasswort ERR testuser1 geheim OK Listing 2 - Test • Postfix Postfix ist eine sichere Alternative zum weit verbreiteten Unix MTA Server Sendmail. Er ist schnell, einfach zu administrieren und sicher. Aus Kompatibilitätsgründen wirkt er nach außen hin wie Sendmail, ist allerdings intern komplett unterschiedlich aufgebaut. Durch seinen modularen Programmaufbau ist es möglich, jederzeit neue Funktionen, wie z. B. eine LDAP Authentifizierung, hinzuzufügen. Zusätzlich können noch Komponenten für SPAM- und Virenfilterung (wie Spamassassin und ClamAV/Kaspersky Antivirus) integriert werden. Für Postfix gibt es 2 verschiedene Ansätze zur LDAP Authentifizierung. Eine Möglichkeit mit saslauthd (wird in diesem Artikel beschrieben) und die Andere über ldapdb (nähere Informationen hierzu können im Linux Magazin [1] nachgelesen werden). Eine bereits funktionierende Authentifizierungskonfiguration mit saslauthd und einer lokalen SASLDatenbank muss nur geringfügig verändert werden. In der Datei / etc/postfix/sasl/smtpd.conf werden folgende Zeilen eingetragen. Zusätzlich muss noch die Datei /etc/saslauthd.conf erstellt werden. Abschließend muss für eine erfolgreiche SMTP-Authentifizierung saslauthd mit den Argumenten saslauthd -a ldap -O /etc/ saslauthd.conf gestartet werden und die Authentifizierung erfolgt dadurch über den lokal laufenden LDAP Server. Dafür wird mit dem unter ldap bind dn angegebenen Benutzer eine Authentifizierung durchgeführt, Benutzer in der Organisationseinheit ou=users gesucht und die Daten mit den angegebenem Benutzernamen und Passwort verglichen. Zusätzlich sollte das Initskript von saslauthd um die entsprechenden Optionen ergänzt werden. Base64-Codierung perl -e „use MIME::Base64; print encode_ base64(„testuser1\0testuser1\0geheim“)“ dGVzdHVzZXIxMHRlc3R1c2VyMTBnZWhlaW0= gibraltar:~# telnet localhost 25 Trying 127.0.0.1... Connected to gibraltar.example.net (127.0.0.1). Escape character is ‚^]‘. 220 gibraltar.domain.tld ESMTP Postfix EHLO hostname 250-gibraltar.domain.tld 250-PIPELINING 250-SIZE 10000000 250-ETRN 250-STARTTLS 250-AUTH PLAIN LOGIN 250-AUTH=PLAIN LOGIN 250 8BITMIME AUTH PLAIN dGVzdHVzZXIxMHRlc3R1c2VyMTBnZWhlaW0= 235 Authentication successful Listing 3 - Codierung, Authentifizierung /etc/postfix/sasl/smtpd.conf pwcheck_method: saslauthd mech_list: plain login /etc/saslauthd.conf ldap_servers: ldap://localhost ldap_bind_dn: uid=manager,ou=admin,dc=cms,dc=local ldap_bind_pw: managerpasswort ldap_search_base: ou=users,dc=cms,dc=local HK - Magazin 19 OpenLDAP meets Freeradius Zum Testen der Authentifizierung müssen der Benutzername und das Passwort Base64-codiert vorliegen. Bei einer erfolgreichen Authentifizierung erhält man von Postfix ein ”Authentication successful“, andernfalls ein ”Authentication failed“. (siehe Listing 3) • PPTP Das Point-to-Point-TunnelingProtocol dient zum Aufbau eines VPNs zum Austausch von privaten Daten über eine öffentliche Leitung. Es ist ein von einem Herstellerkonsortium (Ascend Communications, Microsoft Corporation, 3Com u. a.) entwickeltes Protokoll und definiert im RFC2637. Die Grundlage bildet PPP, durch den ein Tunnel zwischen 2 IP Adressen erstellt und der Verkehr darüber geroutet wird. Die Authentifizierung erfolgt dabei entweder über PAP oder CHAP. Microsoft verwendet mit MSCHAP eine eigene Implementierung der CHAP Authentifizierung. Als Verschlüsselung dient MPPE, beschrieben in RFC 3078. Eine direkte Authentifizierung über LDAP ist mittels PPTP bzw. L2TP nicht möglich. Hier wird als Zwischenschicht entweder ein Radiusserver (z.B. Freeradius) oder eine Active Directory bzw. Samba Domäne benötigt. Ab Version 2.4.3 ist bei einer PPPInstallation (zumindest unter Debian) das Radiusplugin im Verzeichnis /usr/lib/pppd/2.4.3/ bereits fix integriert. Zusätzlich wird noch der Radiusclient benötigt, der zur Konfiguration dient. Hierfür muss lediglich das im Radiusserver definierte „shared secret“ in die Datei /etc/radiusclient/servers hinzugefügt werden. Durch das Hinzufügen von ”plugin radius.so“ in die pptp-options-Datei wird automatisch eine CHAP-Authentifizierung über Radius durchgeführt und die chapsecrets-Datei ignoriert. Beim Verbindungsaufbau wird anschließend von PPP ein Access Request Paket an den Radiusserver geschickt. (Listing 4) Access-Request packet from host 127.0.0.1:1060, id=177, length=150 Service-Type = Framed-User Framed-Protocol = PPP User-Name = „testuser1“ MS-CHAP-Challenge = 0x2676b821dd815aef9af625f961a813d7 MS-CHAP2-Response = 0xd00015d91ca600f13ff55ddda81585db 2739000000000000000009b3a6b59e06e6307acdbfca934a62b6aa 3800327709b76d Calling-Station-Id = „xxx.xxx.xxx.xxx“ NAS-Identifier = „vpn“ NAS-Port = 0 Listing 4 - Access Request Packet Access-Accept of id 177 to 127.0.0.1:1060 Framed-IP-Address = 255.255.255.254 Framed-MTU = 576 Service-Type = Framed-User Framed-Protocol = PPP Framed-Compression = Van-Jacobson-TCP-IP MS-CHAP2-Success = 0xd0533d41344344363143323330393246 304339394637443531364530333344453739343037343137464543 MS-MPPE-Recv-Key = 0xc272633e7894c1a5a091fa06a0f54cea MS-MPPE-Send-Key = 0x27bed20d09b810bcdbf83947c7e2515a MS-MPPE-Encryption-Policy = 0x00000001 MS-MPPE-Encryption-Types = 0x00000006 Listing 5 - Access Accept Packet Bei Übereinstimmung von Benutzername und Passwort wird ein Access Accept Paket vom Radiusserver geschickt und die Verbindung aufgebaut. (Listing 5) Andernfall wird ein Access Reject Paket vom Radiusserver geschickt und die Verbindung kann nicht aufgebaut werden. • L2TP / IPSEC Das Layer-2-Tunneling-Protocol ist im RFC2661 definiert und bietet einen ähnlichen Funktionsumfang wie das Point-to-Point-TunnelingProtokoll (PPTP). Auf der Basis der Spezifikationen für das Cisco Layer2-Forwarding-Protokoll (L2F) und des Microsoft Point-to-Point-Tunneling-Protokolls (PPTP) können mit L2TP Tunnel über dazwischenliegende Netzwerke eingerichtet werden. Ebenso wie PPTP integriert L2TP Datenblöcke aus dem Pointto-Point-Protokoll (PPP), in die wiederum IP-, IPX- oder NetBEUIHK - Magazin Protokolle integriert sind. L2TP über einen IPSEC-Tunnel gilt als sicherste VPN Variante, da für IPSEC keinerlei Angriffe bekannt sind. Das Einrichten auf der Clientseite erfolgt unter Windows XP analog zu PPTP, es wird keine zusätzliche Software benötigt. Für IPSEC wird allerdings entweder ein gemeinsames Geheimnis (pre shared keys) oder eine PKI benötigt, dadurch wird es um einiges komplexer und aufwendiger. Die Verwendung von L2TP innerhalb eines IPSEC-Tunnels ist eigentlich nicht notwendig. IPSEC alleine würde als VPN-Lösung vollkommen genügen, allerdings verlangt die Verwendung von Windows XP als Client eine L2TP/IPSEC Verbindung. Analog zu PPTP braucht nur ”plugin radius.so“ in die l2tp-options-Datei hinzugefügt werden. Vor der Authentifizierung über Radius muss zuvor ein IPSEC Tunnel aufgebaut werden. Die Host-Authentifizierung kann dabei über Zertifikate 20 OpenLDAP meets Freeradius oder so genannte ”pre-sharedkeys“ erfolgen. EXKURS: SICHERHEIT VPN-LÖSUNGEN VON OPENSOURCE Für das Erstellen einer VPN Verbindung (Roadwarrior Konfiguration) gibt es 3 gängige Verfahren: 1. PPTP PPTP gilt als unsicherste Variante der 3 gängigen Verfahren. Es ist auf Grund seiner einfachen Konfiguration dennoch weit verbreitet. Seit Windows NT bzw. Windows 9x ist bereits ein PPTP Client fix in Windows integriert. 2. L2TP über IPSEC Für die problemlose Verwendung von L2TP über IPSEC ist seit Windows XP ebenfalls ein Client fix integriert. Die Konfiguration des VPN Servers ist allerdings wesentlich komplexer, so wird z.B. für eine vernünftige IPSEC Lösung eine PKI benötigt. 3. OpenVPN OpenVPN hat den Vorteil, dass es sehr einfach zu konfigurieren und sehr sicher ist, die Verbindung wird durch SSL verschlüsselt. Es wird, im Gegensatz zu den beiden anderen Verfahren, ein eigener VPN Client benötigt, der allerdings sehr leicht zu bedienen ist. OpenVPN ist für viele unterschiedliche Plattformen verfügbar. Die Authentifizierung erfolgt entweder über Zertifikate oder Shared Secrets. Nähere Informationen können unter [2] nachgelesen werden. Die VPN Variante über PPTP sollte, wenn möglich, vermieden werden. Im Idealfall sollte L2TP/IPSEC verwendet werden, da es ohne eigenen Client auf Windows XP Rechnern verwendet werden kann, und dank IPSEC sehr sicher ist. Wem die Konfiguration zu komplex ist, der ist mit OpenVPN gut beraten. ZUSÄTZLICHE MÖGLICHKEITEN Durch geringfügige Veränderungen in den Konfigurationsdateien ist es auch möglich, für einen bestimmten User jeden Dienst einzeln freizuschalten. Das wird größtenteils durch eigene Attribute im LDAP erzielt, die einen bestimmten Wert besitzen müssen, damit sich der User authentifizieren kann. Für das Anlegen, Bearbeiten und Löschen von Benutzern mit entsprechenden Attributen gibt es Skripte in Perl oder auch geeignete Java Klassen. Auch eine Authentifizierung gegen das Microsoft Active Directory ist zumindest für Squid und PPTP sowie L2TP/IPSEC durch die Verwendung von winbind möglich. FAZIT Die Realisierung einer gemeinsamen Benutzerauthentifizierung für die Dienste Squid, Postfix, PPTP und L2TP/IPSEC ist durch die Dienste OpenLDAP und Freeradius mit wenig Aufwand zu realisieren, vor allem wenn die Dienste bereits in einer funktionierenden Konfiguration vorliegen und lediglich die Authentifizierungsmethode geän- security forum 2006 www.securityforum.at HK - Magazin dert werden muss. Das Hinzufügen neuer Dienste, wie z.B. Apache und Tomcat [3] oder Pure-FTPd, ist ebenfalls problemlos möglich. Eine LDAP Authentifizierung ist eine vernünftige Alternative um Ordnung in die Vielfalt von verschiedenen Authentifizierungsdateien der einzelnen Dienste zu bringen und ein zentralisiertes Management von Benutzerdaten zu ermöglichen. Es ist der erste Schritt zu einem vernünftigem Identity Management, so kann durch Speicherung zusätzlicher Anwenderdaten LDAP Verzeichnis auch gleichzeitig als Adressbuch verwendet werden. Ausführliche Konfigurationsanleitungen sowie der Möglichkeit Benutzer nur für einzelne Dienste freizuschalten und die dazugehörigen Skripte zum Bearbeiten können auf der Homepage vom Hagenbergerkreis (www.hagenbergerkreis. at) herunter geladen werden. Peter Gastinger LITERATUR 1. Klünter, Dieter: Workshop: Benutzerauthentifizierung für Postfix mit LDAP und SASL. Linux Magazin, 01/05:71–73, 2005. 2. VPN für Linux und Windows, c’t Magazin, 09/06, 194-202 3. Web-Zentrale, Linux Magazin, 05/05: 44-47 21 Kernel Security Kernel Security Bei der Diskussion um das Beste und sicherste Betriebssystem wird meist Linux als erste Wahl genannt. Doch warum ist das so? Man könnte meinen, dass ein fertig zusammengestelltes und unveränderliches Windows System weitaus sicherer ist. Schließlich verwenden so viele andere Benutzer ein identisches System und im Hintergrund steht ein Internationaler Industriekonzern der Service und Support anbietet. Doch ein standardisiertes Massenprodukt kann nie die spezifischen Anforderungen jedes Einzelnen erfüllen, und genau hier liegen die Vorteile des modularen Aufbaus von Linux Systemen. SECURITY BY DEFAULT? Der erste und einfachste Schritt die Sicherheit eines Systems zu erhöhen, besteht in der Verminderung der Angriffsfläche. Wozu die Sicherheitsprobleme der grafischen Benutzeroberfläche riskieren, wenn der Server ohne Monitor im Keller steht? Diese Modularität zieht sich natürlich bis zum Zentrum des Systems, dem Kernel, durch. In einem richtig konfigurierten Linux Kernel befindet sich keine Unterstützung für nicht benötigte Features oder Hardware, und somit keine Zeile Sourcecode, der zu Problemen führen könnte, zuviel. Um diese Art der Sicherheit umsetzen zu kön- nen, muss der Administrator seine Systeme natürlich bis ins Detail kennen, um die richtigen Entscheidungen zu treffen. Installiert man also ein neues Linux System bei dem nur die wirklich benötigten Packete und Driver installiert werden, hat man von Beginn an eine gute Basis und ein gewisses Level an Systemsicherheit. STRUKTUR DES LINUX-KERNELS Der Kernel stellt die Schnittstelle zwischen der Hardware- und der Benutzerebene dar. Um dies zu erreichen sind klar definierte Schnittstellen vorhanden, über die ein BeHK - Magazin nutzer Services vom Betriebssystem anfordern kann und über die der Kern mit dem Benutzer kommuniziert. Die Realisierung der Schnittstellen sieht wie folgt aus: • Benutzer ⇨ Kernel o Systemaufrufe (Bei einem Systemaufruf (engl. system call) handelt es sich um einen Funktionsaufruf in einem Betriebssystem, der einen Sprung in einen privilegierteren Teil des Systems - i.d.R. in den Kernel auslöst.) o Speichern in einer Datei im /proc Verzeichnis o Signale an Prozesse o Speichern im Arbeitsspeicher (/dev/mem, /dev/kmem) 22 • Kernel ⇨ Benutzer o Speichern in einer Datei im /proc Verzeichnis o printk ⇨ Nachricht des Kernels auf den Terminal(tty) und in den Protokolldateien Durch dieses Konzept kommt es zu einer Trennung zwischen Code der in der Benutzerebene(userspace) ausgeführt wird und Code der in der Kernelebene(kernelspace) läuft. Für Code der in der Kernelebene läuft, gelten gewisse Regeln und Einschränkungen. Es wird zum Beispiel die Kernel-API anstatt der Standard C Bibliotheken verwendet. Weiters muss sehr genau darauf geachtet werden, dass keine Race Conditions auftreten, und die Synchronisation der Kernel-Datenstrukturen erhalten bleibt. KERNEL MODULE / LKM-ROOTKITS Loadable Kernel Modules (LKM) bieten die Möglichkeit den Linux Kernel zu erweitern und anzupassen, ohne den Kernel neu zu kompilieren. Mit LKM können u.a. Gerätetreiber zur Laufzeit zum Kernel geladen werden und somit kann auch bösartiger Code nachgeladen und ausgeführt werden. Schafft es ein Angreifer, dass ein vermeintlicher Driver in den Kernel geladen wird, hat er über den so eingeschleusten Kernelcode Zugriff und Kontrolle über das gesamte System. Dies ist natürlich weitaus schlimmer, als ein Angreifer mit Administratorrechten. Denn es steht außer Frage, dass ein Programmierer der den Kernelcode verändern kann, weitaus mehr Möglichkeiten im System hat, als der Administrator selbst. Natürlich muss der Angreifer zumindest über Administratorrechte verfügen, um Kernel Module nachzuladen. Oder er den Administrator dazu bringt, das Modul zu laden. Ist das Modul einmal im Kernel besteht die Möglichkeit, dass Systemaufrufe verändert werden und somit alle vom Angreifer hinterlassenen Spuren (laufende Prozesse, Dateien, Systemlast,...) vor dem Administrator verborgen bleiben. Diese Tatsache macht es natürlich sehr Kernel Security schwer derartige Übernahmen des Systems zu entdecken. Gegen diese Art von Angriffen wurde im Kernel 2.6, zumindest für nicht Open Source Module, einige Hindernisse gelegt. Denn seit Version 2.6.x können Module die nicht unter der GPL stehen die Systemaufruftabelle (sys_call_table) nicht mehr auslesen und verändern. Dadurch können Module deren Sourcecode nicht offen ist Systemaufrufe nicht mehr überschreiben. Bedenkt man jedoch, dass noch sehr viele Prokuktivsysteme auf Basis des 2.4.x Kernels arbeiten, stellen Kernel Module auch weiterhin ein wesentliches Sicherheitsrisiko dar. Um diesen Gefahren entgegen zu wirken, sollte das Nachladen von Modulen im Kernel deaktiviert werden. Dies macht derartige Angriffe zwar nicht unmöglich, aber zumindest wird die Hürde, die der Angreifer zu überwinden hat, etwas größer. Es können Systeminformationen ausgelesen, sowie Kernelparameter verändert werden(sysctl). Für einen Angreifer ist natürlich das Verändern gewisser Kernelparameter besonders interessant um wiederum die Anwesenheit im System zu verschleiern und so den Administrator zu täuschen. Auch hier hat der Administrator die Möglichkeit, das nachträgliche Verändern der Kernelparameter zu verhindern. Ab Kernelversion 2.4 ist es allerdings standardmäßig erlaubt, diese zu verändern. (CONFIG_SYSCTL=y) Die Einstellung kann ganz einfach überprüft werden (Listing 1). Das /proc Filesystem kann jedoch vom Administrator dazu verwendet werden, um den die Systemsicherheit zu erhöhen. (drop ping packets, disable source routed packets,...). Eine Detaillierte Auflistung der Parameter ist in der Kernel Dokumentation verfügbar. KERNELSCHNITTSTELLE LINUX SECURITY PROJEKTE MEM UND KMEM Auch wenn die LKM-Unterstützung deaktiviert ist, werden weiterhin Geräte wie /dev/mem und /dev/ kmem bereitgestellt. Diese speziellen „character devices“ erlauben Zugriff auf pseudo device driver, die das Lesen und Schreiben in den System I/O Adressbereich ermöglichen. Diese Schnittstelle wird zum Beispiel von iostat oder vmstat verwendet, und stellt statistische Informationen über das System zur Verfügung. Dadurch wird es möglich, auch ohne Nachladen von Kernel Modulen, die Informationen auf die sich ein Administrator verlässt, zu verändern. Es gibt bereits einige sehr viel versprechender Ansätze, die sich mit Sicherheitsrelevanten Kernelerweiterungen und Verbesserungen beschäftigen. • SELinux http://www.nsa.gov/selinux/index. cfm • grsecurity http://grsecurity.net/ • Rule Set Based Access Control http://www.gentoo.org/proj/en/ hardened/rsbac/index.xml • Bastille Linux http://www.bastille-linux.org/ DAS /PROC FILESYSTEM Das /proc (process information pseudo filesystem) Filesystem dient als Schnittstelle zur internen Datenstruktur des laufenden Kernels. Daniel Priewasser tux# cat /usr/src/linux/.config | grep SYSCTL CONFIG_SYSCTL=y Listing 1 - Einstellung überprüfen HK - Magazin 23 IPv6 IPv6 Das IP Protokoll der Zukunft? Das Internet Protocol Version 6 ist der designierte Nachfolger der sehr populären Version 4. IPv6 weist in manchen Teilen noch Ähnlichkeiten zum Vorgänger auf, legt jedoch neben zahlreichen Verbesserungen und Erweiterungen einige neue, sehr interessante Konzepte zu Tage. Dieser Artikel handelt einerseits von den IPv6 Basics und stellt andererseits einige neue interessante Konzepten dieses Protokollsatzes vor. BASICS Oftmals werden die Vorteile von IPv6 nur auf den vergrößerten Adressraum reduziert. Natürlich unterscheiden sich die 128-Bit IPv6 Adressen erheblich von den 32Bit IPv4 Vorgängern, nicht zuletzt durch die Darstellung der Adressen im Hex-Format. IPv6 hat allerdings noch viel mehr zu bieten. Zukünftig wird einem Interface in einem IPv6 Netz nicht mehr nur eine IP Adresse zugewiesen werden, sondern möglicherweise mehrere Unicast und Multicast Adressen gleichzeitig. Bei den Unicast Adressen unterscheidet man zwischen Link-Local, Site-Local, und Global Unicast Adressen. Eine Link-Local Adresse dient ausschließlich zur Kommunikation im eigenen Subnetz. Pakete mit diesem Adresstyp werden nie über das eigene Subnetz hinaus geroutet. Site-Local Adressen werden nur innerhalb einer Orga- nisation (Site) und somit auch über Subnetze hinaus geroutet. Die Site kann sich dabei über einen bzw. mehrere topologische Standorte erstrecken. Global Unicast Adressen sind weltweit einzigartig und dienen zur Kommunikation über die Grenzen des eigenen LANs bzw. Firmennetzwerks hinaus. Der Multicasttechnik kommt unter IPv6 eine besondere Bedeutung zu. Multicast bedeutet, dass ein Sender seine Datenpakete an eine gewisse Anzahl von Empfängern – der Multicastgruppe – schickt. Unter IPv6 gibt es keine Broadcast Nachrichten mehr. Dafür definiert IPv6 einige Standardmulticast Adressen, wie beispielsweise die All-Nodes oder die All-Routers Multicast Adressen, die wie die Namen schließen lassen, alle Nodes oder alle Router eines Netzes ansprechen. Neu sind unter IPv6 Anycast Adressen. Diese funktionieren ähnlich wie Multicast Adressen, der Unterschied besteht jedoch darin, dass Pakete, die an eine Anycastgruppe adressiert sind, an genau ein Mitglied dieser Gruppe geliefert werden. Normalerweise ist dies immer das am besten oder am schnellsten erreichbare Mitglied der Anycastgruppe. Abbildung 1 zeigt den Unterschied zwischen beiden Konzepten. Der Einsatzbereich von Anycast ist sehr vielfältig, ob im Backbone Routing oder als Load Balancer. Besonders würde sich beispielsweise DNS für den Einsatz von Anycast anbieten. Dabei würde eine Anycast Adresse das DNS Service als solches repräsentieren und die manuelle Konfiguration von DNS Servern könnte entfallen. Leider sind die Spezifikationen für Anycast jedoch noch nicht vollständig ausgereift und der Einsatz der Adressen ist bisher nur auf Subnetze beschränkt. Die Liste von Veränderungen und Erneuerungen bei den Grundlagen des neuen IP Protokolls ließe sich sehr lange fortführen, allerdings gibt es zahlreiche neue Funktionen, die ebenfalls erwähnt werden sollten. Abbildung 1 - Anycast vs. Multicast HK - Magazin 24 NEIGHBOR DISCOVERY PROTOCOL Schon jetzt dürfte klar sein, dass IPv6 einige tiefgreifende Veränderungen mit sich bringt. So auch im Bereich von Protokollen, die gewisse Basisarbeiten im Netzwerk verrichten. Das wichtigste unter IPv6 ist das Neighbor Discovery Protocol (NDP). Dieses ersetzt und verbessert die IPv4 Protokolle ARP, ICMP Router Discovery und ICMP Redirect und stellt zusätzlich neue, innovative Funktionen zur Verfügung. NDP benötigt / verwendet dabei lediglich fünf ICMPv6 Nachrichten, um mit unter folgende Aufgaben zu erfüllen: • Identifizierung von benachbarten Hosts (Neighbor Discovery) • Identifizierung von benachbarten Routern (Router Discovery) • Zuordnung einer MAC Adresse zu einer IP Adresse (Address Resolution) • Verfügbarkeitsüberprüfung (Neighbor Unreachability Detection) • Adressautokonfiguration (Stateless Address Autoconfiguration) • Detektion von doppelt vergebenen Adressen (Duplicate Addresse Detection) NEIGHBOR/ROUTER DISCOVERY IPv6 Hosts können mit Neighbor Solicitation (NS) Nachrichten die MAC Adresse von im selben Subnetz befindlichen Rechnern erfragen. Ein gefragter Host antwortet mit einer Neighbor Advertisement (NA) Nachricht. Durch diese beiden ICMPv6 Nachrichten wird das ARP Protokoll ersetzt. Allerdings werden die Nachrichten auch für andere Funktionen verwendet. Die Identifizierung von Routern im Subnetz erfolgt analog. Entweder wartet ein Host auf eine periodisch vom Router gesendete Router Advertisement (RA) Nachricht, oder er fragt sie selbst per Router Solicitation (RS) nach. Weiters können Router mittels RA Nachrichten zusätzliche Informationen wie Hop Limits, Subnetz Präfixe oder auch ihre ei- IPv6 gene MAC Adresse bekannt geben. Die bisher angeführten Funktionen waren unter IPv4 auch schon vorhanden und wurden mit dem NDP lediglich vereinheitlicht. Funktionen wie Neighbor Unreachability Detection (NUD), Stateless Address Autoconfiguration oder Duplicate Address Detection (DAD) waren unter IPv4 nicht oder nur über Umwege möglich. Neighbor Unreachability Detection Jeder Host eines IPv6 Netzwerks speichert Informationen über die Verfügbarkeit seiner Nachbarn im Netzwerk. Um diese Informationen aktuell zu halten, wird NUD verwendet. Der Einsatz beschränkt sich dabei nicht alleine auf die Kommunikation zwischen Hosts untereinander. Für den Austausch von Verfügbarkeitsinformationen zwischen Routern und Hosts bzw. zwischen Hosts und Routern wird ebenfalls NUD verwendet. NUD wird aktiviert, wenn ein Host über eine entsprechende Zeitdauer keine Verfügbarkeitsbestätigung des Kommunikationspartners erhält. Dazu sendet der Host eine NS Nachricht an die entsprechende Adresse. Erhält der Host eine NA Nachricht vom „gefragten“ Rechner ist alles klar. Ansonsten versucht der Host die Prozedur einige Male zu wiederholen und löscht bei Misserfolg den entsprechenden Cache Eintrag. Durch diese Informationen ist ein Host in der Lage, seine Neighbor Caches immer aktuell zu halten STATELESS ADDRESS AUTOCONFIGURATION Stateless Address Autoconfiguration kommt im Gegensatz zur Stateful Variante komplett ohne einen DHCP Server und dessen Daten aus. Ein Host, der ein Netz betritt und darin kommunizieren möchte, geht dabei folgendermaßen vor: Bei der Aktivierung des Interfaces wird eine Link-Local Adresse generiert. Dies geschieht über ein spezielles Link-Local Präfix und über die MAC Adresse des Hosts. Bevor die Adresse dem Interface zugewiesen wird, findet eine Überprüfung HK - Magazin auf Einzigartigkeit im Subnet statt (DAD). Danach kann der Host im Subnet kommunizieren. Per Router Solicitation kann dieser den globalen Subnet Präfix erfragen und sich im weiteren Verlauf eine Global Unicast Adresse konfigurieren. DUPLICATE ADDRESS DETECTION DAD wird eingesetzt, um die Einzigartigkeit von Unicast Adressen zu überprüfen. DAD muss immer durchgeführt werden bevor einem Host bzw. dessen Interface eine IP Adresse zugewiesen wird. Eine IP Adresse, die gerade mittels DAD überprüft wird, gilt nicht als zugewiesen. Ein Host sendet dazu lediglich eine Neighbor Solicitation Nachricht an eine gewisse Multicastgruppe. Wenn innerhalb eines gewissen Timeouts keine Nachricht retour kommt, ist die Adresse überprüft und einzigartig. KONKLUSION Auf Basis der hier erwähnten und der zahlreichen weiteren Techniken ermöglicht IPv6 viele weitere Funktionen. Ein Teil dieser Funktionen wird in der Fortsetzung dieses Artikels in der nächsten Ausgabe des HK-Magazins behandelt. Michael Pascher QUELLEN Sicherheit bei IPv6 Neighbor Discovery Bakkalaureatsarbeit, 2005 Michael Pascher Tutorial IPv6 in der Praxis iX Magazin 02/05 Benedikt Stockebrand 25 BS7799 Zertifizierte Informationssicherheit nach BS 7799 bzw. ISO/IEC 17799 Dass Komponenten wie Firewalls und Anti-Viren Programme zu zentralen Bestandteilen eines Sicherheitskonzepts gehören, haben mittlerweile die meisten Unternehmen erkannt. Aber was nützt die beste Firewall, wenn es die Mitarbeiter sind, die sensible Daten an die Öffentlichkeit tragen? Zum Schutz der Informationen ist Informationssicherheits-Management gefragt! INFORMATIONSSICHERHEIT Neben den traditionellen Vermögenswerten, wie beispielsweise dem Inventar oder der IT-Infrastruktur, werden auch die Informationen für die Unternehmen in der heutigen Zeit immer wichtiger. Zur Aufrechterhaltung der Geschäftsprozesse muss die Informationssicherheit gewährleistet werden. Informationen sind in diesem Rahmen unabhängig von ihrer Form zu sehen. Das heißt, dass sowohl gedruckte, elektronische, bildliche als auch gesprochene Informationen zu schützen sind. Im Besonderen sollen folgende drei Werte gewahrt werden: • Vertraulichkeit Informationen sollen nur autorisierten Personen zugänglich gemacht werden. • Integrität Die Richtigkeit und Vollständigkeit von Informationen und Verarbeitungsmethoden soll gewährleistet werden. • Verfügbarkeit Autorisierte Benutzer sollen genau dann Zugang zu Informationen erhalten, wenn sie ihn benötigen. VOM BRITISCHEN STANDARD NORM BIS ZUR ISO- Der Grundstein für die Entwicklung des Standards BS 7799 wurde in den frühen 1990er Jahren von der britischen Regierung gelegt. Vor allem durch die Zunahme von Computernetzwerken und die steigende Nachfrage der Wirtschaft nach elektronischer Datenverarbeitung wurde Informationssicherheit ein immer wichtigeres Anliegen vieler Unternehmen. Gleichzeitig mit der Entwicklung der Informationstechnologie stieg nämlich auch die Zahl der Bedrohungen an. Aus diesen Beweggründen heraus stellte die britische Regierung eine Anfrage an die British Standards Institution (BSI). Gemeinsam mit der Vertretern der Wirtschaft und anderen davon betroffenen Organisationen sollte an der Entwicklung eines Standards zur Hebung des Sicherheitsbewusstseins gearbeitet werden. Dieser Standard sollte außerdem Vorschläge für diverse Sicherheitsziele und Maßnahmen zum Schutz der Informationen bieten und auf alle verschiedenen Organisationsformen und Größen von Unternehmen anwendbar sein. Im Jahre 1995 wurde der Standard BS 7799 erstmals veröffentlicht. Dieser Leitfaden enthielt zahlreiche Best-Practice Ansätze zum Management von Informationssicherheit. Kurz nach der Fertigstellung des ersten Teils wurde mit der Entwicklung eines Prozesses zur Erstellung eines Informationssicherheits-Managementsystems begonnen. Dieser Prozess wird im zweiten Teil des Standards (BS 7799-2) behandelt und beinhaltet die Vorgaben zur Umsetzung der Richtlinien aus Teil 1. Außerdem wird dieses Dokument auch als Basis für eine formale Zertifizierung verwendet. Im Laufe der Zeit nahm die Verbreitung von BS 7799 auch außerhalb von Großbritannien rapide zu. Es wurde immer klarer, dass sich der Standard zu einem gemeinsamen Maßstab für Informationssicherheit entwickeln würde. Aus diesem HK - Magazin Grund initiierte Großbritannien die Entwicklung eines ISO-Standards basierend auf BS 7799-1. Der Standard ISO/IEC 17799 wurde dabei als „Fast Track“ in ISO eingebracht. Darunter versteht man, dass der Standard inhaltlich abgesehen von einigen unbedeutenden editorischen Änderungen gleich geblieben ist. Innerhalb der ISO wird der Standard von der Working Group 1 („Requirements, Security Services und Guidelines“) des Informationssicherheitskommitees ISO/IEC JTC1 SC27 betreut. In den letzten Monaten wurde der Standard einer umfassenden Überarbeitung unterzogen wobei die neue Version der ISO Norm im Juni 2005 veröffentlicht wurde. Die Revision ist allerdings bei weitem noch nicht abgeschlossen da auch geplant ist, den zweiten Teil von BS 7799 in eine ISO Norm umzuwandeln. Ziel ist es, die BS 7799 Normenfamilie, die übrigens voraussichtlich in die ISO 27000 Serie umgewandelt wird, auch noch beispielsweise um Dokumente zur Risikoanalyse und zum Risikomanagement zu erweitern. Die große Bedeutung von BS 7799 spiegelt sich auch in den nationalen Adaptionen wider. Viele Länder haben den Standard nämlich auch als nationale Norm übernommen. Dazu zählen Australien, Finnland, Hongkong, Indien, Japan, Korea, Norwegen, Österreich, Schweden oder Taiwan. In Österreich handelt es sich dabei um die ÖNORM ISO/ IEC 17799, die eine Übersetzung von ISO/IEC 17799:2000 darstellt, und um die ÖNORM A 7799, die BS 7799-2 entspricht. Die beiden Normen sind seit 1. März 2003 in 26 Kraft und dienen hauptsächlich als deutschsprachige Hilfestellung bei der Umsetzung des Standards. BS 7799-1 Im ersten Teil der Norm, dem „Code of Practice for Information Security Management“ befindet sich eine Sammlung aus Sicherheitszielen (Objectives) und entsprechenden Maßnahmen (Controls), die bei richtiger Anwendung die Gewährleistung eines gewissen Sicherheitslevels innerhalb einer Organisation gewährleisten. Die Sicherheitsziele werden in zehn Themengebiete eingeteilt: • Sicherheitspolitik • Organisation der Sicherheit • Klassifizierung und Kontrolle der Vermögenswerte • Personelle Sicherheit • Physische und umgebungsbezogene Sicherheit • Management der Kommunikation und des Betriebs • Zugriffskontrollen • Systementwicklung und –wartung • Betriebliches Kontinuitätsmanagement • Einhaltung der Verpflichtungen Je nach Unternehmen können passende Sicherheitsziele und Maßnahmen ausgewählt werden. Es kann dabei durchaus vorkommen, dass der eine oder andere Punkt auf das jeweilige Unternehmen nicht anwendbar ist. Genauso ist BS7799 es aber möglich, dass zusätzliche Punkte erforderlich sind, die nicht Teil des Standards sind. BS 7799 erweist sich hier als äußerst flexibles Rahmenwerk. BS 7799-2 Im zweiten Teil des Standards – „Information Security Management Systems – Specification with Guidance for Use“ – wird ein Modell für die Einrichtung und das Management eines Informationssicherheits-Managementsystems (ISMS) mit dem Ziel der Gewährleistung von Informationssicherheit im laufenden Betrieb vorgestellt. Unter einem ISMS versteht man den Teil des Managementsystems, der basierend auf einem Geschäftsrisikoansatz die Informationssicherheit etabliert, implementiert, betreibt, überprüft, wartet und verbessert. Das Managementsystem umfasst unter anderem die Organisationsstruktur, Politiken, Planungsaktivitäten, Verantwortlichkeiten, Prozeduren und Prozesse. Dabei wird das Plan-Do-CheckAct (PDCA) Modell auf alle Prozesse des ISMS angewandt. Abbildung 1 zeigt, wie die Anforderungen und Erwartungen an die Informationssicherheit (Input) von einem ISMS in verwaltete Informationssicherheit (Output), die diese Anforderungen und Erwartungen erfüllt, transformiert werden. Im Rahmen der Einführung und Verwaltung des ISMS werden in jeder einzelnen Phase, die das PDCA- Abbildung 1 - Anwendung des PDCA-Modells auf ISMS Prozesse HK - Magazin Modell vorschreibt, bestimmte Tätigkeiten durchgeführt: • Plan (Etablierung) In der Planungsphase wird die Sicherheitspolitik entwickelt und die Ziele, die mit dem ISMS erreicht werden sollen, werden spezifiziert. Weiters werden die Prozesse und Prozeduren, die für das Risikomanagement und die Verbesserung der Informationssicherheit relevant sind, definiert. • Do (Implementierung & Betrieb) Im nächsten Schritt erfolgen die Implementierung und der Betrieb der Sicherheitspolitik, der Maßnahmen, Prozesse und Prozeduren. • Check (Überwachung & Prüfung) Nach der Umsetzung der Maßnahmen werden sie auf Wirksamkeit überprüft. Die Resultate werden in Form von Reports an das Management übermittelt. • Act (Wartung und Verbesserung) Im laufenden Betrieb wird das ISMS kontinuierlich durch korrektive und präventive Maßnahmen verbessert. ETABLIERUNG EINES DOKUMENTIERTEN ISMS Damit man eine Zertifizierung nach BS 7799 bestehen kann, muss im Unternehmen ein dokumentiertes ISMS entwickelt, implementiert, gewartet und kontinuierlich verbessert werden. Die zu tätigenden Schritte basieren dabei auf dem bereits behandelten PDCA-Modell. Die Phase von der Entwicklung bis zur Implementierung und dem Betrieb wird in Abbildung 2 dargestellt. Darin werden die notwendigen Tätigkeiten in Kombination mit der zu erbringenden Dokumentation sowie dem notwendigen Input analysiert. Die angeführten Elemente der Dokumentation sind Voraussetzung für eine Zertifizierung. Im Rahmen der Implementierung und des Betriebs ist es wichtig, dass alle Aufzeichnungen gemäß den Vorgaben der Norm durchgeführt werden. Darunter versteht man beispielsweise Besucherbücher, Autorisierungen 27 BS7799 Abbildung 2 - Implementierung von BS 7799 und der Dokumentation von Zugängen, diverse Richtlinien etc. Es wird ein eigener Managementprozess für die Kontrolle der Aufzeichnungen definiert. Die Dokumentation der Prozeduren wird deshalb benötigt, damit effektive Planung, Betrieb und Kontrolle der Informationssicherheitsprozesse sichergestellt werden kann. ZERTIFIZIERUNG Die Popularität von BS 7799 lässt sich sehr gut an der Anzahl der vergebenen Zertifikate messen. Allein von Februar 2004 bis Oktober 2005 stieg die weltweite Anzahl an Zertifikaten von 550 auf 1700 an. Mit Stand vom 05. Oktober 2005 wurde insgesamt bereits in 57 verschiedenen Staaten nach BS-77992 bzw. ISO/IEC 17799 zertifiziert. Dabei liegt Japan mit 1023 Zerti- fizierungen eindeutig vor Großbritannien mit 215 und Indien mit 127 Zertifizierungen. Nach derzeitigem Stand fallen dabei acht Zertifikate auf österreichische Unternehmen. Genaue Informationen zu den zertifizierten Unternehmen können unter http://www.xisec.com nachgelesen werden. Damit eine Organisation Unternehmen zertifizieren darf, muss sie offiziell dazu akkreditiert werden. In Österreich wird das Verfahren der Akkreditierung durch das Akkreditierungsgesetz geregelt. Das übliche Verfahren wird in Abbildung 3 illustriert. Innerhalb von Österreich ist die oberste Akkreditierungsstelle das Bundesministerium für Wirtschaft und Arbeit (BMWA). Das BMWA kann nach ausreichender Überprüfung Zertifizierungsstellen akkreditieren, die anschließend die Befugnis Abbildung 3 - Akkreditierung in Österreich HK - Magazin haben, Auditoren zu zertifizieren bzw. Zertifikate an von Auditoren überprüfte Unternehmen auszustellen. Derzeit gibt es laut BMWA in Österreich lediglich ein Unternehmen, das Zertifizierungen für Informationssicherheits-Managementsysteme ausstellen darf. Dabei handelt es sich um die Certification Information Security Services GmbH (CIS). Die CIS darf sowohl Zertifikate nach BS 7799-2 als auch nach ISO/IEC 17799 ausstellen. Nähere Informationen dazu sind auf der Webseite der CIS unter http://www. cis-cert.com zu finden. UNTERSTÜTZENDE TOOLS Der Aufwand bei der Vorbereitung auf eine Zertifizierung nach BS 7799 ist zweifelsohne sehr groß und keinesfalls zu unterschätzen. Deshalb besteht die Möglichkeit, zu unterstützenden Tools zu greifen. Diese Produkte sollen das Unternehmen durch den Vorbereitungsprozess leiten und so versichern, dass alle Anforderungen der Norm erfüllt werden und der anschließenden Zertifizierung nichts mehr im Wege steht. Barbara Fichtinger QUELLE UND WEITERFÜHRENDE LITERATUR Bakkalaureatsarbeit „Analyse unterstützender Tools bei der Vorbereitung auf die Zertifizierung nach BS 7799“ - Mai 2005 von Barbara Fichtinger. 28 IT Service Management IT Service Management Ein Großteil der Geschäftsprozesse von Unternehmen setzt das reibungslose Funktionieren aller IT-Infrastrukturkomponenten (Daten- und Sprachnetzwerke, Serversysteme, Anwendungen, etc.) voraus. Diese IT-Infrastruktur wirtschaftlich und technisch am Leben zu halten, ist eine Gratwanderung zwischen Investition und technischen Kompromissen, und wurde in den letzten Jahren durch die rasante Weiterentwicklung der Netzwerktechnologien einerseits und Systeme und Anwendungen andererseits wesentlich schwieriger. Das heißt aber auch, dass frühere Entscheidungskriterien für die Auswahl von IT-Komponenten gegenwärtig und insbesondere zukünftig nicht mehr anwendbar sind; ein neuer Ansatz von IT-Management ist notwendig. Aus diesem Grund spielt „Service Level Management“ im Bereich des Businessmanagement eine immer wichtigere Rolle, da es nicht nur den Grad einer erbrachten bzw. zu erbringenden Leistung dokumentiert, sondern infolgedessen auch die wirtschaftliche Implikation dieses Dienstes auf die eigentlichen Geschäftsprozesse beschreibt. WAS BEDEUTET SERVICE LEVEL MANAGEMENT? Mit Service Level Management wurde zum ersten Mal ein IT-Management-Ansatz entwickelt, der nicht die einzelnen IT-Komponenten (also Netzwerk, Server, Anwendungssoftware), sondern die Geschäftsprozesse als maßgebliche Kenngröße zum Mittelpunkt macht. Waren früher sehr oft technische Eigenschaften bzw. Funktionalitäten ausschlaggebend für die Anschaffung einzelner Komponenten, so wird in Zukunft immer mehr das Zusammenwirken aller Systeme zu einer IT-Plattform, welche die jeweiligen Geschäftsprozesse optimal unterstützt, im Mittelpunkt stehen. Service Level Management ist der Ansatz dafür, diese Plattform in Abhängigkeit der Geschäftsprozesse zu überwachen und weiterzuentwickeln. Den Ausgangspunkt eines Service Management Regelkreis ist das Service Level Agreement SLA. Ein SLA ist die Vereinbarung zwischen Service-Nutzer und Service-Anbieter über den Umfang und die Qualität der vereinbarten IT-Dienste. Wesentlich ist, dass es sich um ein „Agreement“ handelt, das heißt, dass beide Parteien dem SLA zustimmen: der Service-Nutzer kann seine Geschäftsprozesse mit den zur Verfügung gestellten IT-Ressourcen ausführen, der ServiceAnbieter wiederum kann mit dem vereinbarten Aufwand (und somit Entgeld) die erforderlichen Dienste erbringen. Bei der Erarbeitung eines Service Level Agreements muss besonders auf die unternehmenskritischen Geschäftsprozesse geachtet werden. Das bedeutet, dass die Informationstechnologie sich als Werkzeug für das Unternehmen betrachten und somit auch verstehen muss, welche IT-gestützten Geschäftsprozesse kritisch für den Erfolg des Unternehmen ist. Da das SLA die Schnittstelle zwischen Benutzer und IT-Abteilung beschreibt, kommt erschwerend hinzu, dass die ohnehin bereits komplexe ITInfrastruktur und deren Eigenschaften als auch Abhängigkeiten in einer Form beschrieben werden müssen, die von den Service-Nutzern identifiziert und verstanden werden können: z.B. kann der Dienst e-Mail für einen Geschäftsprozess sehr kritisch sein ⇨ e-Mail wird vom Benutzer als Dienst identifiziert und verstanden, technisch allerdings setzt sich dieser Dienst aus verschiedensten InfrastrukturKomponenten zusammen (Netzwerk, Mail-Server Hardware und Software, Internetverbindung, etc.), die üblicherweise für den Benutzer nicht sichtbar und somit auch nicht verständlich sind. Die Herausforderung bei der Entwicklung von Service Level Agreements ist nun die Vereinbarung sinnvoller Kennwerte, die für die HK - Magazin Service-Nutzer verständlich sind und die erforderlichen Eigenschaften der IT-Dienste ausreichend beschreiben. Der Service-Anbieter wiederum muss diese Business-Anforderungen in technische Eigenschaften umlegen und als IT-Dienste (durch Einsatz von IT-Technologien und Produkten) anbieten und betreiben. Erst wenn zwischen Service-Nutzer und Service-Anbieter Einverständnis in diesen Rahmenbedingungen herrscht – ein Service Level Agreement vereinbart wurde –, kann der SM-Regelkreis in Kraft treten. Um IT-Management den BusinessAnforderungen entsprechend effizient umsetzen zu können, bedarf es einer Reihe von gut definierten Management-Prozessen. Die IT-Infrastructure Library hat sich Anfang der 1990-iger Jahre infolge der Dezentralisierung von ITDiensten entwickelt und gilt heute als wichtigstes Sammelwerk von „Best-Practice“ Methoden bzgl. Management von IT-Infrastruktur. Die wesentlichen Bücher dieser Library betreffen u.a. „Service-Delivery“ und „Service-Support“. Während bereits die Entwicklung von Service Level Agreements ein Teil des Prozess „Service-Level-Management“ innerhalb des „Service-Delivery“ ist, sind weitere „Service-steuernde“ Prozesse erforderlich, um die erforderliche IT-Infrastruktur den jeweiligen Anforderungen entsprechend zu dimensionieren: „Financial-Management“ kümmert sich um die optimale Kostenstruktur der Dienste; „Capacity-Management“ ist für die richtige technische Dimensionierung der Infrastruktur zuständig; „IT-Service-Continuity-Management“ deckt die IT-Mindestanforderungen der Geschäftsprozesse bei Notfällen ab und „Availability-Management“ legt generell die Anforderungen an Verfügbarkeit der IT-Infrastruktur fest. Alle diese Prozesse dienen im wesentlichen dazu, die IT-Infrastruktur so effizient wie möglich zu planen und weiterzuentwickeln. „Service-Support“ wiederum de- 29 IT Service Management Abbildung 1 - Service Management (SM) Regelkreis finiert alle Prozesse (und Funktionen) die für den Betrieb der IT-Infrastruktur erforderlich sind. Hierzu zählt ein „Service-Desk“ (Funktion), der die Aufgabe hat, die Schnittstelle zwischen Benutzer und IT-Abteilung zu bilden; „Incident-Management“ definiert den Umgang mit Ereignissen wie Fehlermeldungen, Reklamationen, Verbesserungsvorschläge, usw.; „Problem-Management“ definiert die Vorgehensweisen zur Behebung von Problemen; „Configuration-Management“ führt Konfigurationen durch und verwaltet diese in einer Konfigurationsdatenbank; „Change-Management“ kümmert sich um Veränderungen rund um die IT-Infrastruktur und „ReleaseManagement“ verwaltet die eingesetzten Versionen von Betriebsmitteln bzw. Ressourcen. Erst durch die Definition dieser Prozesse und die Zuteilung der Verantwortlichkeiten wird ein effizientes IT-Management möglich, sodass die eingangs vereinbarten Service Level Agreements eingehalten werden können. Dem Service-Monitoring kommt innerhalb des IT-Service-Management eine besondere Bedeutung zu: Monitoring ist die Instanz, die zur Überprüfung der definierten Prozesse als auch der Überwachung der vereinbarten Service Levels dient. Des weiteren liefert Monitoring wertvolle Informationen über Verfügbarkeits- und Geschwindigkeitsdaten der IT-Infrastruktur. Jedes Auto ist heutzutage mit einem Armaturenbrett ausgestattet, das eine Vielzahl an Informationen über den Betriebszustand liefert. Ein Minimum an Informationen ist in diesem Fall gar nicht wegzudenken, wie z.B. Tankinhalt, kmAnzeige, Tachometer, Temperatur und vieles andere mehr. Im Ge- genteil, vielfach werden noch mehr Informationen gewünscht, um als Fahrer das Fahrzeug besser „managen“ zu können. Wenn man dieses Beispiel allerdings mit Zuständen in der IT-Welt vergleicht, so muss man feststellen, dass viele Systembetreuer sehr häufig ohne Armaturenbrett unterwegs sind – auch für die Informationstechnologie gilt: „You can‘t manage what you can‘t measure!“ Und so schließt sich der Kreis des Service Management: bildet das SLA den Ausgangspunkt für das Management der IT-Infrastruktur, so liefert Service Level Monitoring die erforderlichen Informationen, an welchen “IT-Schrauben” zu drehen ist, um die eingangs vereinbarten Service Levels mit den zur Verfügung stehenden Ressourcen einhalten zu können. Diese Informationen werden nicht nur im Zuge einer Analyse dem SM-Regelkreis als IT-Management-Informationen zurückgeführt, sondern die relevanten Reports dienen auch zur Bestätigung der mit den ServiceNutzern vereinbarten SLAs. Hierbei ist besonders auf die richtige Informationspyramide zu achten: Benutzer bzw. Service-Manager sollen nur auf die Reports Zugriff haben, die sie auch verstehen und dem jeweiligen Service Level Agreement zuordnen können. Die wichtigste Erkenntnis der letzten „IT-Jahre“ ist, dass sich das IT-Management bzw. die etablierten Management-Ansätze massiv verändern müssen, um mit den verfügbaren Ressourcen (Personal und Budget) die Anforderungen der Benutzer erfüllen zu können. Ein möglicher Ansatz ist die bis dato sehr technische Sichtweise auf eine service-orientierte, für den ServiceNutzer verständliche Betrachtungsweise umzustellen. Diese Änderung der IT-Management-Strategie erfordert ein generelles Umdenken der IT-Abteilungen hin zu service-orientierten Dienstleistern, die ihre Service-Nutzer weniger als „Benutzer“ sondern als „Kunden“ verstehen. Dass diese Umstellung aller Voraussicht nicht leicht fallen wird scheint vorprogrammiert zu sein, aber um den Mehrwert einer IT-Abteilung für ein Unternehmen darstellen zu können, muss die IT die Sprache der Geschäftsbereiche sprechen lernen: „kommt der Berg nicht zum Propheten – dann muss der Prophet zum Berg kommen“. Abbildung 2 - Informationspyramide Service Level Reporting Ing. Norbert Neudhart ist seit Anfang der 1990iger Jahre als Network Consultant spezialisiert auf Netzwerkinfrastruktur und Service Management, und unterrichtet diese Fachbereiche auch an der Fachhochschule Hagenberg. norbert.neudhart@nnits.com HK - Magazin 30 Server- Tagebuch Teil 2 Dieses HowTo erfordert grundlegende Kenntnisse über Linux und die Architektur und Funktionsweise von Betriebssystemen. Wer über keine diesbezügliche Grundkenntnisse verfügt, dem sei nahegelegt, sich diese vor dem Lesen dieses HowTos anzueignen. Das vorliegende HowTo beschreibt das Einrichten eines Servers mit Debian „from scratch“ und behandelt folgende Themen: TEIL 1 - MUST HAVE Basisinstallation System Hardening TEIL 2 - SERVICES FTP Samba DynDNS TEIL 3 - NICE TO HAVE Software-Raid Hardware-Raid Logical Volume Management von den Autoren empfohlene Begleitliteratur http://www.openoffice.de/linux/buch/ Nach Abschluss des ersten Teils dieses HowTo‘s liegt nun eine gehärtete Linuxinstallation vor, welcher in weiterer Folge Leben eingehaucht werden soll, sprich welche auch für den Produktiveinsatz tauglich sein soll. Dazu sollte sie entsprechende Dienste bereitstellen. Dieser, mittlerweile der zweite, Teil des Servertagebuchs befasst sich mit der Installation und Konfiguration gängiger Dienste. Im Speziellen wird im Rahmen dieses HowTo‘s auf die Bereitstellung von Daten per FTP und Samba eingegangen. Abschließend wird eine Lösung vorgestellt, welche das Problem der Erreichbarkeit des Servers bei ISPs mit dynamischem Adresspool umgeht. EINRICHTEN VSFTPD EINES FTP-SERVERS MITTELS • Warum gerade vsftpd? Es existiert eine Vielzahl auf OpenSource basierender FTP-Server. Dabei heben sich vor allem 2 besonders hervor: pure-ftpd und vsftpd (very secure ftp daemon). Diese beiden unterscheiden sich kaum hinsichtlich Performance, Stabilität, Handling und Sicherheit. Benötigt man eine umfangreiche Benutzerverwaltung und somit eine Schnittstelle zu einem Verzeichnisdienst bzw. einer Datenbank, so ist pureftpd die erste Wahl. Ansonsten bevorzugen die Autoren aufgrund der zahlreichen Sicherheitsfeatures den vsftpd, wobei dies jeHK - Magazin doch Geschmackssache bleibt. Im Folgenden wird daher auf den vsftpd eingegangen. Der vsftpd unterstützt sowohl Anonymous- als auch Useraccounts, wobei sich deren Kombination beliebig skalieren lässt. Auf sämtliche Szenarien einzugehen würde den Rahmen dieses HowTo‘s sprengen. Die 2 häufigsten Szenarien sind Anonymous und eingeschränkter Benutzerbetrieb. Nach der Installation ist standardmäßig ein Anonymous-Account eingerichtet, was keine weiteren Modifikationen in der Config-Datei erfordert. Daher wird ein Szenario beschrieben, welches einem Benutzer den lesenden Zugriff auf bestimmte Verzeichnisse und den Schreibzugriff auf ein definiertes Verzeichnis (Upload) erlaubt. Spe- 31 Server-Tagebuch Teil 2 ziell werden dabei Maßnahmen beleuchtet, die eine Privilege Escalation verhindern sollten. • Installation des Pakets – Binary vs. Kompilieren Das Paket wird üblicherweise mit apt-get install vsftpd installiert. Aus sicherheitstechnischer Sicht empfiehlt es sich jedoch die Sources manuell zu kompilieren. Die aktuellsten Sources sind unter http://vsftpd.beasts.org/ zu beziehen. Die Banner des Daemons sind unbedingt zu ändern, um potentiellen Angreifern das Fingerprinting zu erschweren. Im Fall des vsftpd geschieht dies folgendermaßen: – Die Sources des Pakets laden – Vor dem Kompilieren ins SourceVerzeichnis wechseln – Folgende Dateien editieren: prelogin.c: Messages ändern z.B. Unter “too many connections”, bei „vsFTPd“ auch die Versionsnummer ändern bzw. ersetzen. Darüber hinaus ist es sinnvoll sämtliche für diesen Daemon typische Statusmeldungen zu verändern, da auch diese unter Umständen verräterisch sein können. vsftpver.h: Versionsnummer modifizieren, je nach Geschmack können auch andere Dateien und Meldungen des Daemons verändert werden, so dass dieser einem potentiellen Angreifer nichts mehr über sich verrät. – danach mit make das Paket kompilieren • Die zentrale Konfigurationsdatei Welche Sicherheitsmaßnahmen können getroffen werden? Mit Hilfe der zentralen Konfigurationsdatei in /etc/vsftpd.conf werden sämtliche Einstellungen vorgenommen. Ein Listing der umfangreichen Optionen und deren Parameter findet sich in der Dokumentation des vsftp-Pakets. Sehr wichtig ist es, die Option „listen=YES“ zu setzen. Diese ermöglicht einen standalone-Betrieb des Daemons. Ansonsten wird der Daemon über den Superdaemon inetd gestartet, was aus Performancegründen nicht empfehlenswert ist. Zu beachten ist in jedem Fall die Eigenheit des vsftpd, dass die Variablen klein geschrieben sein müssen und deren Werte groß. (z.B. „listen=YES“). Weiters sollte sich kein Leerzeichen vor bzw. nach dem ‚=‘ befinden. Der vsftpd bietet eine Unzahl an (Sicherheits-)Features. Folgende davon sollten in jeden Fall berücksichtigt werden, sobald vsftpd im User-Betrieb verwendet wird. Jeder User, der Zugang zum FTP-Service besitzt, muss auch als lokaler Benutzer am System existieren. In diesem Beispiel wir der User ‚leecha‘ mit useradd leecha als lokaler Benutzer am System angelegt. Vsftpd benötigt weiters den User ‚nobody‘; dieser User ist normalerweise auf jedem Linux/UNIX System vorhanden. Wenn nicht, wird er mit useradd nobody erstellt. Anschliessend benötigt vsftpd noch das Verzeichnis /usr/share/empty (muss leer sein!), welches mit mkdir -p / usr/share/empty erstellt wird. Da der Daemon mit root-Rechten ausgeführt wird, ist es aus sicherheitstechnischer Sicht wünschenswert ihn soweit wie möglich in seinen Rechten einzuschränken. Dies geschieht mit obigem Feature. Sobald sich der Daemon im idle-Zustand befindet, läuft er unter dem nicht-privilegierten User ‚nobody‘ im Verzeichnis /usr/share/empty. Dazu sind zusätzlich die Optionen „nopriv_user“ und „secure_chroot_ dir“ nötig. Da der User ‚nobody‘ standardmäßig auch für andere Aufgaben zuständig ist, wurde in diesem Beispiel für obige Aufgabe ein dezidierter Benutzer namens ‚ftpsecure‘ angelegt. Da in dieser Angelegenheit gesunde Paranoia angebracht ist, sollte der Benutzer leecha im Verzeichnis /usr/share/ empty keinerlei Rechte besitzen. Daher wird als root der Besitz dieses Verzeichnisses übernommen und dessen Rechte auf ‚0700‘ gesetzt. Weiters ist die Verwendung der chroot(); Funktion empfehlenswert, auch wenn sie keine hundertprozentige Sicherheit bieten kann. Um die erlaubten FTP-User so weit HK - Magazin wie möglich einzuschränken, sollte in jedem Fall „/bin/false“ zu /etc/ shells hinzugefügt und in /etc/ passwd jedem FTP-User als Shell /bin/false zugewiesen werden, damit dieser keine weiteren Möglichkeiten erhält, sich unauthorisiert Zugang zum System zu verschaffen. Zudem kann die Verwendung von Userlists (users_allow, users_ deny) der Sicherheit des Services dienen. Mit ftp localhost wird der Dienst auf seine ordnungsgemäße Erreichbarkeit überprüft. Nach erfolgreichem Login erscheint die Meldung: - 230 Login successful. Remote system type is UNIX. Using binary mode to transfer files. Um den vsftpd bei jedem Systemstart automatisch zu aktivieren, kann der Einfachheit halber das Startskript aus dem package /var/ cache/apt/packages/vsftpd...deb verwendet werden. Dieses muss lediglich nach /etc/init.d/ kopiert werden. Im gewünschten Runlevel (in unserem Fall z.B. 3, d.h.: ins Verzeichnis ‚rc3.d‘ wird sinngemäß ein Symlink darauf gesetzt: ln -s /etc/init.d/vsftpd /etc/rc3. d/S80vsftpd • Wer darf was? Im vorhergehenden Abschnitt wurde gewährleistet, dass nur der berechtigte User ‚leecha‘ Zugriff auf das FTP-Service erhält. Um sicherzustellen, dass dieser auch nur jene Daten modifizieren kann, welche sich im dafür vorgesehenen Verzeichnis (Upload) befinden, werden entsprechend Rechte vergeben: Da es sich bei dem User ‚leecha‘ um einen lokalen Benutzer handelt, muss dieser tatsächlich am System existieren. Somit besitzt er auch ein entsprechendes Home-Verzeichnis /home/leecha. Root übernimmt also dessen Besitz mit chown -R root /home/leecha/. Auf die Daten in diesem Verzeichnis (sowie sämtlicher Unterverzeichnisse) soll lediglich lesender Zugriff erlaubt sein. Allerdings ist es nötig, dass der Inhalt auch aus- 32 führbar ist, da ansonsten die Dateien nicht downgeloadet werden können bzw. es nicht möglich ist Verzeichnisse zu öffnen. Daher werden die Rechte des Verzeichnisses rekursiv auf 555 gesetzt: chmod -R 555 /home/leecha. Einzige Ausnahme bildet das Upload-Verzeichnis, in welchem jeder sämtliche Rechte besitzen soll: chown leecha /home/leecha/ upload chmod 777 /home/leecha/upload/ Existieren jetzt aber mehrere Benutzer, welche über das UploadVerzeichnis Daten austauschen, so verursacht dies folgendes Problem: Es ist anzunehmen, dass upgeloadete Dateien und Verzeichnisse unterschiedliche Rechte besitzen bzw. diese Schreibzugriff erlauben. Somit ist es nicht tragbar neu hinzugekommene Dateien im UploadVerzeichnis einfach in das entsprechende Verzeichnis innerhalb von /home/leecha zu verschieben, da diese unter Umständen ohne weiteres gelöscht werden könnten. Das bedeutet, dass für neue Dateien und Verzeichnisse jeweils die entsprechenden Rechte gesetzt werden müssten. Um diesen Umstand zu umgehen bedient man sich der folgenden Optionen: In der Datei /etc/vsftpd.conf wird die Option ‚local_umask‘ auf ‚0222‘ gesetzt, was bewirkt dass sämtlichen neu erstellten (entspricht upgeloadeten) Dateien automatisch die gewünschten Rechte zugewiesen werden. In diesem Beispiel hätten neue Dateien somit die Rechte ‚444‘, was einem lesenden Zugriff entspricht, da vsftpd von 666 ausgeht und den Wert von ‚local_umask‘ subtrahiert. Unbedingt zu beachten ist hierbei das erste Bit (0). Dies muss in jedem Fall mit angegeben werden, damit die Zuweisung der Rechte von vsftpd korrekt interpretiert wird. Weiters wird der Beispiel-User ‚leecha‘ zur Gruppe ‚ftpuser‘ hinzugefügt (/etc/group). Darüber hinaus wird in der Datei /etc/profile die Option ‚umask‘ auf ‚222‘ gesetzt. Diese Einstellung gilt systemweit und hat zur Folge, dass von Server-Tagebuch Teil 2 den vollen Rechten (777) jeweils 2 subtrahiert werden. Damit haben sämtliche neu erstellten Verzeichnisse automatisch die Rechte 555. Für jede Anforderung das Szenario entsprechend skalieren Zusammenfassend wurde mit den getroffenen Maßnahmen folgendes Szenario realisiert: Der vsftpd operiert im User-Betrieb, wobei auf dem System lediglich ein einziger Benutzer (leecha) existiert, welcher diesen Service in Anspruch nehmen darf. Dieser ist in seinem home- Verzeichnis eingesperrt, somit ist es ihm nicht möglich Kenntnis über die Struktur des Filesystems zu gewinnen. Auf sämtliche Unterverzeichnisse des Home-Verzeichnisses ist lediglich ein lesender Zugriff erlaubt, mit Ausnahme des Verzeichnisses ‚Upload‘. Dieses Szenario kann jederzeit hinsichtlich der Benutzeranzahl und den Sicherheitsanforderungen modifiziert bzw. den eigenen Anforderungen entsprechend skaliert werden. Nachfolgend ist die kommentierte Konfigurationsdatei angeführt. # Test-Konfiguration: # #Der FTP-Server soll im Standalone-Modus operieren: listen=YES #anonymen Zugang nicht erlauben: anonymous_enable=NO #beim Einloggen folgendes Banner-file anzeigen (nur plain-text): banner_file=/etc/banner #ASCII-Transfer erlauben, ermöglicht Betriebssystem-spezifische #Codierung: ascii_download_enable=YES ascii_upload_enable=YES #lokalen Benutzer in sein home-Verzeichnis einsperren: chroot_local_user=YES #Zugriff auf den FTP-Datenkanal erlauben: connect_from_port_20=YES #Meldung beim Wechsel von Verzeichnissen anzeigen: dirmessage_enable=YES #bei einem Login-Namen, der in der /etc/passwd existiert, auch das #Passwort in der /etc/shadow verwenden. D.h.: wenn sich ein User #mit einem Benutzernamen, welcher auf dem #System existiert, #einloggen will muss er auch das zugehörige Passwort verwenden: local_enable=YES #Passive-Mode verwenden: pasv_enable=YES #lokale Zeit verwenden: use_localtime=YES #Logins sind verboten, ausser sie sind explizit in der Datei #angegeben, welche mit ‘userlist_file‘ definiert worden ist. Der #Loginvorgang wird abgebrochen, noch bevor nach einem Passwort #gefragt wird: userlist_deny=NO #Liste mit gültigen Benutzernamen verwenden, welche mit #‚userlist_file‘ gesetzt wurde: userlist_enable=YES #zu verwendendes userlist-file, beinhaltetet lediglich den Eintrag „leecha“: userlist_file=/etc/vsftpd.user_list Listing 1 - /etc/vsftpd.conf HK - Magazin 33 Server-Tagebuch Teil 2 verursacht. Ein Upgrade auf eine neuere Kernelversion beseitigt dieses Problem. #(prinzipiell) Schreibzugriff gestatten: write_enable=YES #nach /var/log/vsftpd.log loggen: xferlog_enable=YES #im gleichen Format wie WU-FTPD loggen (wichtig für Log-Analysing #Software): xferlog_std_format=YES #Zeit in Sekunden, nach denen eine Verbindung bei Inaktivität #getrennt wird: accept_timeout=300 #Upload: von lokalen Benutzern erstellte Dateien haben die Rechte #‚0555‘: local_umask=0222 #nach 5 Minuten im idle-Zustand wird der Client getrennt: idle_session_timeout=300 #max 10 Benutzer können gleichzeitig eingeloggt sein: max_clients=10 #nur 1 Verbindung je IP-Adresse: max_per_ip=1 #Datei, in welcher steht, was beim Verzeichniswechsel angezeigt #wird: message_file=/etc/message #Benutzer und Verzeichnis, um unprivilegiert zu operieren: nopriv_user=ftpsecure secure_chroot_dir=/usr/share/empty Fortsetzung Listing 1 - /etc/vsftpd.conf • Troubleshooting Sollten während der Installation bzw. der Konfiguration wider Erwarten Probleme auftreten, so sind diese meist auf eines der folgenden Szenarien zurückzuführen: Fehler beim Kompilieren: Bricht der Kompilier-Vorgang mit einem Fehler ab, so schafft in der Regel folgendes Abhilfe: – Zuerst lediglich ‚make‘ eingeben – Anschließend ‚make install‘ – Für den Fall, dass sich der Vorgang danach erneut abbricht, hilft in den meisten Fällen das manuelle Kopieren der nötigen Dateien cp vsftpd /usr/sbin/vsftpd cp vsftpd.conf.5 /usr/local/man/man5 cp vsftpd.8 /usr/local/man/ man8 cp vsftpd.conf /etc Probleme beim Login: Sollte beim Login der Fehler “530: login incorrect” unabhängig von den Usercredentials bzw. den Rechtevergaben auftreten, ist in der Datei /etc/pam.d/vsftpd folgendes auszukommentieren: #auth required pam_shells.so Der Daemon scheint einwandfrei zu funktionieren, bricht jedoch bei der Eingabe eines beliebigen Kommandos ab: Der Dienst läuft, es erscheint der Welcome-Banner beim Login, Benutzername und Passwort werden akzeptiert. Bei der Eingabe eines Kommandos, z.B.: ‚ls‘, bricht der Daemon die Verbindung mit dem Fehler ‚500 OOPS: cap_set_proc ftp: bind: Address already in use‘ ab. Die verwendete Kernelversion ist 2.6.5-rc1. Die Ursache dieses Verhaltens liegt in der Kombination aus vsftpd (unabhängig von der verwendeten Version) und der Kernelversion2.6.5-rc1. Dadurch wird ein – nach Wissen der Autoren - undokumentierter Systemcall im Kernel ‚CAP_SET_PROC‘ aufgerufen, welcher offenbar diesen Fehler HK - Magazin VERWENDUNG VON SAMBA RATION DER DATEN ZUR ADMINIST- • Samba, das Allround-Tool Der für den FTP-Server zuständige Administrator ist natürlich daran interessiert die darauf befindlichen Daten möglichst einfach zu verwalten, upgeloadete Dateien und Verzeichnisse zu verschieben, schnellen Zugriff auf die Log-Dateien zu erhalten und vieles mehr. Dabei bietet sich der extrem umfangreiche und mächtige Dienst ‚Samba‘ an, welcher das NetbiosProtokoll von Microsoft emuliert und sowohl auf Microsoft-basierenden als auch auf UNIX-Systemen läuft. Im folgenden Szenario werden (selbstverständliche) Dinge wie ein separater Logserver, Absicherung gegen Man-in-the-middle-Attacken und ähnliches außer Acht gelassen. Der Rahmen dieses HowTo‘s lässt das Eingehen auf die vielfältigen Einsatzmöglichkeiten für Samba nicht zu und wird daher dazu verwendet, um den unkomplizierten Zugriff auf die Daten des Servers zu demonstrieren. Es wird davon ausgegangen, dass der Administrator auf seine Daten zugreifen möchte, ohne jedes Mal ein Passwort eingeben zu müssen, da er sich ohnehin in einem abgeschotteten Bereich des Netzwerks, wie z.B. einer DMZ, befindet. • Installation – in aller Kürze Wie gewohnt wird das Paket mit Hilfe des Paketmanagers installiert: apt-get install samba Um für den gerade eingeloggten Benutzer ein Passwort für Samba zu vergeben, wird das im Paket inkludierte Tool ‚smbpasswd‘ herangezogen, wobei kein Passwort (Enter) bei der entsprechenden Abfrage angegeben wird. Nach der Installation des Pakets rennen 2 Prozesse: der ‚smbd‘ und der ‚nmbd‘, wobei ersterer die Schnittstelle für den 34 Server-Tagebuch Teil 2 #!/bin/sh # /etc/init.d/vsftpd # # Written by Sander Smeenk <ssmeenk@debian.org> set -e # Exit if vsftpd.conf doesn‘t have listen=yes or listen_ipv6=yes # (mandatory for standalone operation) if [ -f /etc/vsftpd.conf ] && ! egrep -iq „^ *listen(_ipv6)? *= *yes“ /etc/vsftpd.conf; then exit 0 fi DAEMON=/usr/sbin/vsftpd NAME=vsftpd test -x $DAEMON || exit 0 case „$1“ in start) echo -n „Starting FTP server: $NAME“ start-stop-daemon --start --background -m --pidfile /var/run/vsftpd/vsftpd.pid --exec $DAEMON echo „.“ ;; stop) echo -n „Stopping FTP server: $NAME“ start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --oknodo --exec $DAEMON echo „.“ ;; restart) echo -n „Restarting FTP server: $NAME“ start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --oknodo --exec $DAEMON start-stop-daemon --start --background -m --pidfile /var/run/vsftpd/vsftpd.pid --exec $DAEMON echo „.“ ;; reload|force-reload) echo „Reloading $NAME configuration files“ start-stop-daemon --stop --pidfile /var/run/vsftpd/vsftpd.pid --signal 1 --exec $DAEMON echo „.“ ;; *) echo „Usage: /etc/init.d/$NAME {start|stop|restart|reload}“ exit 1 ;; esac exit 0 Listing 2 - init-skript Datenzugriff bildet und der ‚nmbd‘ zur Namensauflösung dient. • Die Konfigurationsdatei – simpel und überschaubar oder komplex und undurchsichtig? Der Skalierbarkeit dieses Dienstes sind kaum Grenzen gesetzt. Es obliegt dem Anwender die Funktionalität von Samba und damit den Umfang der Konfigurationsdatei seinen Bedürfnissen anzupassen. Im Paket befindet sich bereits die zentrale Konfigurationsdatei von Samba (/ etc/samba/smb.conf), welche eine große Anzahl an möglichen Optio- nen und Szenarien inkludiert. Diese sind bei Bedarf meist nur auszukommentieren bzw. geringfügig zu modifizieren. Die Syntax der Konfigurationsdatei kann mit ‚testparm /etc/samba/smb.conf‘ überprüft werden. Sie ist in verschiedene Sektionen unterteilt, welche durch eckige Klammern gekennzeichnet sind. Wie bereits erwähnt soll hierbei nur ein simpler Zugriff auf die Daten des FTP-Servers veranschaulicht werden. Dementsprechend kurz und überschaubar wird die Konfigurationsdatei gehalten (siehe Listing 3). HK - Magazin • Zugriff auf Samba-Shares In diesem Beispiel wurde keine Namensauflösung über Subnetgrenzen hinweg konfiguriert. Somit müssen die Freigaben manuell (alternativ automatisch via Shellskript) eingebunden werden. Linux/UNIX mount -t smbfs //192.168.1.1/ homes /mnt/shares mount -t smbfs //192.168.1.1/ logs /mnt/logs Anstelle des mount-Befehls kann auch das Kommando ‚smbmount‘ 35 Server-Tagebuch Teil 2 #Beginn der globalen Sektion, in welcher allgemein gültige #Optionen festgelegt werden: [global] #Name der Arbeitsgruppe, in welcher sich der Host befindet: workgroup = Hagenbergerkreis #Beschreibung des Rechners und der eingesetzten Samba-Version: server string = %h server (Samba %v) #Name, Ort und max. Größe der Log-Datei: log file = /var/log/samba/log.%m max log size = 1000 #Verhalten im Fehlerfall (default): panic action = /usr/share/samba/panic-action %d #Zugriffsmodus #‘share‘ bedeutet: keine Passwortabfrage (alternativ: ‚user‘): security = share #Benutzer, der als Gästekonto fungiert: guest account = nobody #nicht auf Bestätigung warten, um Zugriffsgeschwindigkeit zu #erhöhen: socket options = TCP_NODELAY #Definition der Netzwerkfreigaben: #path: Spezifikation des freizugebenden Verzeichnisses #browseable: ermöglicht das Durchsuchen der Shares wie bei einem #lokalen Verzeichnis #writeable: Schreibzugriff erlauben #guest ok: Zugriff mit Hilfe des Gastkontos erlauben [homes] path=/home comment = Home Directories browseable = yes writable = yes guest ok = yes [logs] path=/var/log comment = Logs browsable = yes writable = yes guest ok = yes Listing 3 - /etc/samba/smb.conf verwendet und anstatt der IPAdresse der Hostname (sofern in /etc/hosts definiert) angegeben werden. Microsoft-basierende Systeme z.B. im Windows-Explorer auf den Menüpunkt ‚Netzlaufwerk verbinden‘ zurückgreifen. Dabei ist zu beachten, dass Backslashes verwendet werden müssen: \\192.168.1.1\homes \\192.168.1.1\logs SICHERSTELLEN DYNDNS DER ERREICHBARKEIT MITTELS IP-Adressen auswendig lernen – oder einen kostenlosen Dienst in Anspruch nehmen Wer von seinem ISP eine dynamische IP-Adresse zugewiesen bekommt, steht meist vor dem Problem nicht von überall aus auf seine Daten zugreifen zu können, da sich die öffentliche IP-Adresse regelmäßig ändert. Um dieses lästige Problem zu umgehen, bietet sich die Inanspruchnahme eines denkbar einfachen und vor allem kostenlosen Dienstes an – den dynamischen DNS. Es existiert bereits eine Vielzahl an Anbietern derartiger Services. Einer davon ist HK - Magazin DynDNS (www.dyndns.org). Um ihn in Anspruch nehmen zu können, ist eine (kostenlose) Registrierung auf https://www.dyndns.org/account/ create.html erforderlich. Anschließend kann ein Name und eine Domain zugewiesen werden, wobei eine breite Auswahl an Domains zur Verfügung steht. Als Beispiel: ‚hagenbergerkreis.dyndns.org‘. Dabei kann die entsprechende IPAdresse angegeben werden. Somit wird der angegebene Name der IPAdresse zugewiesen. Um sicherzustellen, dass es sich dabei immer um die grade aktuelle Adresse handelt, wird entsprechende ClientSoftware, wie z.B. ‚ddclient‘ (für Linux) eingesetzt. Diese übermittelt in definierbaren Zeitintervallen die momentane IP-Adresse an den DynDNS-Account, welcher die Zuordnung wiederum updatet. Installation und Konfiguration leicht gemacht Die Installation des Clients erfolgt mit apt-get install ddclient. Das ddclient-Paket wird anschließend als Daemon gestartet, wobei es eine Konfigurationsdatei /etc/ddclient. conf beinhaltet, welche nur mehr geringfügig angepasst werden muss. Unmittelbar nach der Installation des Pakets wird ein Konfigurationsdialog aufgerufen, auf wessen Basis die Konfigurationsdatei modifiziert wird. Die benötigten Angaben sind selbsterklärend und finden sich in Listing 4. ... to be continued Martin Brunner Stefan Streichsbier pid=/var/run/ddclient.pid #Anbieter des dynDNS-Services: protocol=dyndns2 #zu verwendende NIC use=if, if=eth0 server=members.dyndns.org #Username und Password des #registrierten Accounts: login=hk-test password=hk-shows-dyndns4U hagenbergerkreis.dyndns.org #optional: #Update-Meldungen an syslogd #senden Verwendung einer Fire#wall vor dem Host #syslog=yes #fw=192.168.1.2 Listing 4 - /etc/ddclient.conf Hagenberger Kreis zur Förderung der digitalen Sicherheit pA FH-Studiengang CMS Hauptstraße 117 4232 Hagenberg http://www.hagenbergerkreis.at info@hagenbergerkreis.at fax: 07236 / 3888 2599