25.02.2014 Aufrufe

ADMIN Magazin Monitoring Server und Dienste unter Kontrolle (Vorschau)

Erfolgreiche ePaper selbst erstellen

Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.

Less-FS spart auf Linux-<br />

Dateisystemen Platz<br />

Neu: Small Business<br />

<strong>Server</strong> 2011<br />

Yubikey sichert<br />

Wordpress-Login<br />

<strong>ADMIN</strong><br />

Netzwerk & Security<br />

Auf CD:<br />

01 2011<br />

Jan. – Feb.<br />

Fedora Security Lab<br />

als Live CD oder<br />

zum Installieren<br />

MONITORING<br />

SERVER UND DIENSTE UNTER KONTROLLE<br />

HELPDESKS<br />

Ticket-Systeme im Überblick<br />

Request Tracker im Detail<br />

SSH Guard<br />

Secure Shell <strong>und</strong> andere<br />

<strong>Dienste</strong> absichern<br />

Linux-Cluster<br />

Mit Open AIS<br />

selbstgemacht<br />

Nagios-IPMI<br />

<strong>Server</strong>-Hardware<br />

direkt überwacht<br />

IPv6<br />

VOR DEM START<br />

Tipps zur Konfiguration<br />

<strong>und</strong> Migration<br />

Icinga<br />

Konfiguration<br />

im LDAP<br />

Splunk<br />

Business Process<br />

<strong>Monitoring</strong><br />

iLiveX<br />

Linux-Desktop<br />

auf dem iPad<br />

www.admin-magazin.de<br />

Openstack<br />

Die offene API<br />

für die Cloud<br />

D EUR 9,80<br />

A EUR 10,80 - BeNeLux EUR 11,25<br />

CH sfr 19,60 - E / I EUR 12,75<br />

4 196360 509805 0 1


Managed<br />

Hosting<br />

Individuell wie Ihr Projekt<br />

clusterbasiert<br />

flexibel<br />

hochverfügbar<br />

Entdecken Sie den Unterschied<br />

Hostinglösungen mit persönlichem <strong>und</strong><br />

kompetentem Support.<br />

Profitieren Sie von 10 Jahren Erfahrung in<br />

Hosting <strong>und</strong> Systemadministration für mehr<br />

Performance, Sicherheit <strong>und</strong> Verfügbarkeit,<br />

jeden Tag, r<strong>und</strong> um die Uhr.<br />

Erfahren Sie mehr:<br />

www.hostserver.de/hosting<br />

0 30 / 420 200 24<br />

www.hostserver.de info@hostserver.de<br />

Berlin Marburg Frankfurt am Main


Alles auf ssl<br />

e ditoriA l<br />

Alles auf SSL<br />

Liebe Leserinnen <strong>und</strong> Leser,<br />

auf der Security-Konferenz Toorcon im Oktober stellte Eric Butler [http://<br />

codebutler.com] ein neues Tool namens Firesheep vor <strong>und</strong> machte sich damit bei<br />

vielen Website-Betreibern richtig unbeliebt. Es ist eine Firefox-Extension, die es<br />

möglich macht, auf Knopfdruck die Web-Sessions anderer Anwender zu übernehmen,<br />

indem das Tool den Traffic mitschneidet <strong>und</strong> die Authentisierungs-Cookies<br />

speichert.<br />

Als Einsatzszenario waren insbesondere unverschlüsselte WLANs gedacht, wie<br />

man sie bei vielen kommerziellen Anbietern in Cafés <strong>und</strong> auf Flughäfen antrifft:<br />

Zwar findet die Bezahlung meistens verschlüsselt statt, danach fliegen die Datenpakete aber klar lesbar durch<br />

die Luft. Diese Tatsache machte sich Firesheep nicht als erstes Tool zu Nutze. Aufsätze, die das Problem des<br />

HTTP-Session-Hijacking beschreiben, gab es beispielsweise schon 2004, wie Butler selbst feststellt. Selten<br />

wurde es Anwendern aber so einfach gemacht wie mit Firesheep.<br />

„Musste das wirklich sein“, stöhnen die betroffenen Betreiber auf, aber Butler rechtfertigt sich damit, er habe<br />

nur möglichst deutlich auf das Problem hinweisen wollen. Und das ist ihm zweifellos gelungen. Der Firesheep-<br />

Programmierer gibt in seinem Blog eine Reihe von Hinweisen, wie das Problem an der Wurzel zu packen sei:<br />

Surfen über das Tor-Netzwerk, SSH- oder VPN-Tunnels <strong>und</strong> konsequenter Einsatz von SSL-Verschlüsselung auf<br />

sensiblen Websites.<br />

Als vorbildlich hebt er Google Mail heraus, das schon seit längerem den kompletten Traffic über SSL verschlüsselt.<br />

Auch Microsofts Hotmail bietet mittlerweile SSL, aber nur als optionales Feature, das Anwender eigens<br />

aktivieren müssen. Das sei eher unwahrscheinlich, mein Butler, man müsse die User quasi zu ihrem Sicherheitsglück<br />

zwingen. Der Git-Hosting-Provider Github reagierte schnell, erst mit einem kurzfristigen Bugfix <strong>und</strong> dann<br />

ebenfalls mit SSL-Verschlüsselung. Manche Anwender ärgerten sich auch dann wieder, denn auf einmal mussten<br />

selbst Kommandozeilentools wie Wget mit Zertifikaten umgehen, was spätestens dann zum Problem wird, wenn<br />

selbstsignierte Zertifikate ins Spiel kommen.<br />

Wer als Anbieter möglichst sichergehen will, sollte jedenfalls SSL einsetzen, wenn Authentifizierungsdaten im<br />

Spiel sind. Ein ebenfalls in Butlers Blog verlinktes Dokument der Google-Techniker mit dem Titel „Overclocking<br />

SSL“ gibt Tipps zum praktischen Einsatz <strong>und</strong> macht mit dem Mythos Schluss, dass SSL jeden <strong>Server</strong> über alle<br />

Maßen belastet. Bleibt nur noch zu hoffen, das die OpenSSL-Bibliothek aufhört durch eigene Bugs Schlagzeilen<br />

zu machen.<br />

Viel Spaß beim Lesen des Hefts wünscht<br />

@ info@admin-magazin.de<br />

www.facebook.com/adminmagazin www.twitter.com/admagz<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

3


SERVICE<br />

Inhalt<br />

<strong>ADMIN</strong><br />

Netzwerk & Security<br />

01/2011<br />

Guard<br />

Brute-Force-Attacken<br />

46SSH<br />

gegen SSH stoppen.<br />

Bewährte <strong>Monitoring</strong>-Lösungen <strong>und</strong> neue Ansätze im Schwerpunkt<br />

ab Seite 26.<br />

Login<br />

8 Vorgelesen<br />

Bücher über Nagios <strong>und</strong> vSphere.<br />

10 Branchen-News<br />

Neues von Firmen <strong>und</strong> Projekten.<br />

Netzwerk<br />

16 IPv6<br />

Dual-Stack mit IPv4 <strong>und</strong> IPv6 einrichten.<br />

24 iLiveX<br />

Linux-Remote-Desktop auf dem iPad.<br />

Service<br />

3 Editorial<br />

4 Inhalt<br />

6 Heft-CD<br />

114 Impressum <strong>und</strong> <strong>Vorschau</strong><br />

<strong>Monitoring</strong><br />

26 Icinga<br />

Die Nagios-Alternative als Enterprise-<br />

<strong>Monitoring</strong>-Lösung.<br />

30 Nagios-IPMI<br />

<strong>Server</strong>-Hardware ohne Betriebssystemeinsatz<br />

mit dem IPMI-Plugin für Nagios<br />

<strong>und</strong> Icinga überwachen.<br />

34 Cucumber-Nagios<br />

Automatisierte Funktionstests für Websites<br />

ins <strong>Monitoring</strong> integrieren.<br />

40 Splunk<br />

Einheitliche Überwachung von Security-<br />

Events in heterogenen Netzen.<br />

Security<br />

46 SSH Guard<br />

Brute-Force-Angriffe gegen Secure Shell<br />

<strong>und</strong> andere <strong>Dienste</strong> abblocken<br />

52 Yubikey <strong>und</strong> Wordpress<br />

Two-Factor-Authentication für<br />

Wordpress-Blogs.<br />

54 Prelude IDS<br />

Security Information Management<br />

System (SIM) für plattformunabhängige<br />

<strong>Kontrolle</strong>.<br />

4 AUSGABE 01-2011 <strong>ADMIN</strong> WWW.<strong>ADMIN</strong>-MAGAZIN.DE


Inhalt<br />

SERVICE<br />

<strong>Server</strong>-Hardware<br />

direkt mit 30Nagios-IPMI<br />

Nagios überwachen.<br />

Funktionstests<br />

34Cucumber<br />

von Websites<br />

automatisieren.<br />

52Yubikey<br />

Der Yubikey realisiert<br />

Two-Factor-Authentication<br />

mit Einmalpasswörtern.<br />

Helpdesk<br />

60 Trouble-Ticket-Systeme<br />

Service Management nach Vorschrift.<br />

65 RT<br />

Der Request Tracker, das unbekannte<br />

Helpdesk-Wesen.<br />

Know-how<br />

80 Linux-Cluster<br />

Mit Open AIS <strong>und</strong> Corosync.<br />

86 Microsoft Powershell<br />

Die Powershell-Erweiterungen für<br />

Exchange <strong>und</strong> Sharepoint.<br />

Test<br />

100 Xen 4<br />

Fehlertolerante Virtualisierung mit<br />

Xen 4 <strong>und</strong> Remus.<br />

102 E-Mail-Archivierung<br />

Mail-Archivierung in Windows.<br />

Basics<br />

106 SBS 2011<br />

Neues im Small Business <strong>Server</strong> 2011.<br />

70 XP Mode<br />

Der XP-Modus von Windows 7 sorgt für<br />

Abwärtskompatibilität auf modernen<br />

Microsoft-Systemen.<br />

76 Debian-Pakete für Clouds<br />

Eigene Skripte in Debian-Pakete packen<br />

<strong>und</strong> auf Cloud-Knoten installieren.<br />

92 MySQL Workbench<br />

Datenbanken mit MySQL Workbench<br />

planen <strong>und</strong> analysieren.<br />

96 Less-FS<br />

Das deduplizierende Dateisystem.<br />

111 Openstack<br />

Neue API als offenes Cloud Computing<br />

Framework.<br />

Die praktische<br />

Tool-Sammlung für<br />

Security-Experten<br />

Fedora Security Lab<br />

◗ Installierbare Live-CD basierend auf<br />

der neuesten Fedora-Version 14<br />

◗ Über 80 Tools für Rootkit-Checks,<br />

Forensik, Test von Web-Sicherheit,<br />

Wireless-Security, Intrusion Detection,<br />

Honeypots, Netzwerk-Scanner u.v.m.<br />

fedora 14<br />

fedora 14<br />

WWW.<strong>ADMIN</strong>-MAGAZIN.DE<br />

<strong>ADMIN</strong><br />

AUSGABE 01-2011<br />

5


SERVICE<br />

Heft-CD<br />

Heft-CD<br />

Auf der beiliegenden Heft-CD finden Sie das Fedora Security<br />

Lab, eine neu gemasterte Version der Fedora-14-Distribution,<br />

die zusätzliche Security-Software enthält:<br />

◗ Über 80 Tools für Rootkit-Checks, Test von Web-Sicherheit,<br />

Wireless-Security, Intrusion Detection, Honeypots, Netzwerk-Scanner<br />

<strong>und</strong> vieles mehr.<br />

◗ Installierbare Live-CD basierend auf der neuesten Fedora-<br />

Version 14.<br />

◗ Geeignet für 32- wie auch 64-Bit-Rechner.<br />

Legen Sie einfach nur die CD ein <strong>und</strong> starten Sie den Rechner.<br />

Möglicherweise müssen Sie noch im BIOS die richtige<br />

Boot-Reihenfolge einstellen, damit das CD-Laufwerk vor der<br />

Festplatte an die Reihe kommt.<br />

CD KAPUTT?<br />

Wir schicken Ihnen kostenlos<br />

eine Ersatz-CD zu, E-Mail genügt:<br />

info@admin-magazin.de<br />

Info<br />

[1] Fedora Security Lab: [http:// fedoraproject. org/ wiki/ Security_Spin]<br />

[2] Fedora-Projekt: [http:// fedoraproject. org/]<br />

[3] Hilfeseiten: [http:// fedoraproject. org/ en/ get-help]<br />

[4] Dokumentation: [http:// docs. fedoraproject. org/ en-US/ index. html]<br />

6 AUSGABE 01-2011 <strong>ADMIN</strong> WWW.<strong>ADMIN</strong>-MAGAZIN.DE


<strong>ADMIN</strong><br />

Netzwerk & Security<br />

Alle Artikel des<br />

Jahres 2010<br />

JAHRES-DVD<br />

2010<br />

■ Artikel zu Storage, Backup,<br />

Netzwerk, <strong>Monitoring</strong>,<br />

Virtualisierung u.v.m.<br />

■ PDFs zum Lesen am Bildschirm<br />

oder Ausdrucken<br />

■ Search Engine für<br />

Artikel-Volltext-Suche<br />

■ Auf der zweiten Seite der<br />

DVD: Release-Kandidat von<br />

Debian 6.0 „Squeeze“<br />

6.0<br />

–BETA–<br />

JETZT BESTELLEN:<br />

• www.admin-magazin.de/DVD2010<br />

• Telefon 089 / 99 34 11-0 • Fax 089 / 99 34 11-99<br />

• E-Mail: info@admin-magazin.de • Shop: Shop.LinuxNewMedia.de<br />

NUR<br />

14,95


LOGIN<br />

Bücher<br />

Bücher über Nagios <strong>und</strong> VMware vSphere<br />

Vorgelesen<br />

Zwei Praxisratgeber beschäftigen sich mit aktuellen Themen der IT-Administration:<br />

Das erste widmet sich dem <strong>Monitoring</strong> mit Nagios, das andere<br />

der Virtualisierung mit vSphere. Konstantin Agouros, Michael Kromer<br />

Das bei O’Reilly erschienene Buch des<br />

Gentoo-Entwicklers Tobias Scherbaum<br />

soll Praktiker schnell zu einer lauffähigen<br />

Umgebung bringen, mit der sie die<br />

Systeme <strong>und</strong> <strong>Dienste</strong> des eigenen Netzwerks<br />

überwachen können. Der erste<br />

Teil des Buches erläutert den Sinn <strong>und</strong><br />

Zweck von <strong>Monitoring</strong> <strong>und</strong> die Vorteile<br />

des Netzwerk- <strong>und</strong> Systemmanagements.<br />

Es folgen die Vorstellung des Nagios-<strong>Monitoring</strong>systems<br />

<strong>und</strong> eine Einführung in<br />

den Umgang mit der dem Buch beiliegenden<br />

Live-CD.<br />

Nagios real<br />

Im zweiten <strong>und</strong> umfangreichsten Teil des<br />

Buches entwickelt der Autor anhand eines<br />

fiktiven mittelständischen Unternehmens<br />

mit realen Problemen von Gr<strong>und</strong> auf eine<br />

beispielhafte Nagios-Konfiguration. Neben<br />

den technischen Details der Konfiguration<br />

lernt der Leser auch, wie man ein<br />

Projekt zur Einführung von Nagios plant.<br />

Aufbauend auf der eingeführten Struktur<br />

stellt der Autor zunächst Überwachungen<br />

für Erreichbarkeit <strong>und</strong> diverse <strong>Dienste</strong><br />

wie Web- <strong>und</strong> Mailserver, Checks über<br />

die NRPE <strong>und</strong> die NSCP sowie die passive<br />

Überwachung vor.<br />

Der Abschnitt über verteiltes <strong>Monitoring</strong><br />

in großen Umgebungen, der ebenfalls<br />

in diesem Teil steckt, ist etwas zu kurz<br />

ausgefallen, um dieses komplexe Thema<br />

ausreichend abzuhandeln. Der dritte Teil<br />

des Buches schließlich enthält Kapitel<br />

über die Visualisierungsmöglichkeiten<br />

der von Nagios eingesammelten Messwerte<br />

sowie ein Kapitel über die Plugin-<br />

Entwicklung.<br />

Alles in allem ist das Buch für den schnellen<br />

Einstieg in Nagios zu empfehlen, da<br />

es nicht wie andere Bücher einfach nur<br />

Konfigurationsbeispiele aneinanderreiht,<br />

sondern an einer realen Anwendung ein<br />

strukturiertes Vorgehen vorstellt, bei dem<br />

quasi nebenbei die technischen Details<br />

der Konfiguration abfallen.<br />

Virtualisiert<br />

Auch das Praxishandbuch „VMware vSphere<br />

4“ wird seinem praktischen Anspruch<br />

gerecht. Es führt in manchen Teilen<br />

recht ausführlich vor, wie sich eine<br />

vSphere von CLI bis vCenter einrichten,<br />

konfigurieren <strong>und</strong> verwalten lässt. Dabei<br />

steht die schnelle, gleichzeitig verständliche<br />

Vermittlung von praxisorientiertem<br />

Wissen im Vordergr<strong>und</strong>, angereichert mit<br />

Best Practices, die im echten Einsatz von<br />

vSphere weiterhelfen.<br />

Positiv ist, dass der Autor in vielen Bereichen<br />

der Kommandozeile sogar ein<br />

eigenes Kapitel widmet. Als Referenz<br />

für den vollständigen Funktionsumfang<br />

der verfügbaren vSphere-Produktfamilie<br />

taugt das Buch indes nicht, so sind gerade<br />

Enterprise-Addon-Produkte wie<br />

vShield <strong>und</strong> Ciscos Nexus 1000V nicht<br />

vertreten.<br />

Zu finden sind Tipps <strong>und</strong> Tricks bei von<br />

Admins täglich genutzten Features wie<br />

etwa (Storage) vMotion, DRS, Data Recovery,<br />

Snapshots <strong>und</strong> Templates, es fanden<br />

sogar einige <strong>und</strong>okumentierte Geheimtipps<br />

wie die VMware Remote-Console<br />

(VMRC) den Weg ins Buch. Erfreulich ist,<br />

dass der Autor es nicht verpasst, so manches<br />

Feature in seiner Praxistauglichkeit<br />

zu bewerten <strong>und</strong> entsprechend potenziell<br />

weniger sinnvolle Ideen auch zu kritisieren,<br />

etwa eine exzessive Nutzung von<br />

Ressourcenpools.<br />

Schade ist, dass das Buch noch nicht die<br />

neuen Features der vSphere 4.1 kennt<br />

(Releasedatum 4.1: 13.07.2010), jedoch<br />

sind in der Praxis (wenn überhaupt) nur<br />

minimale Veränderungen auszumachen,<br />

sodass es sich mit dem Buch auch mit der<br />

aktuellen Version oft 1:1 arbeiten lässt.<br />

Zu manchen Themen wären mehr Erklärungen<br />

wünschenswert, zum Beispiel<br />

über die Host-Isolierung bei Split-Brain-<br />

Szenarien. Klar ist: Das Buch bietet viel,<br />

lässt jedoch noch Raum für Erweiterungen<br />

in hoffentlich folgenden künftigen<br />

Ausgaben. (ofr)<br />

■<br />

Die Autoren<br />

Konstantin Agouros arbeitet bei der N.runs AG<br />

als Berater für Netzwerksicherheit. Dabei liegt<br />

sein Schwerpunkt im Bereich der Mobilfunknetze.<br />

Sein Buch „DNS/ DHCP“ ist bei Opensource Press<br />

erschienen.<br />

Michael Kromer ist Senior IT Consultant bei der<br />

Millenux GmbH in München <strong>und</strong> betreut als VCP<br />

professionell große K<strong>und</strong>en im VMware-Umfeld.<br />

Praxisbuch Nagios<br />

„Praxisbuch Nagios“<br />

Tobias Scherbaum<br />

O’Reilly 2009<br />

272 Seiten<br />

39,90 Euro<br />

ISBN 978-3-89721-880-2<br />

VMware vSphere 4<br />

„Praxishandbuch VMware<br />

vSphere 4“<br />

Ralph Göpel<br />

O’Reilly 2010<br />

440 Seiten<br />

49,90 Euro<br />

ISBN 978-3-89721-619-8<br />

8 AUSGABE 01-2011 <strong>ADMIN</strong> WWW.<strong>ADMIN</strong>-MAGAZIN.DE


Bernhard Seibold,<br />

Senior Engineer<br />

„Meine Frau hat sich<br />

schon beschwert, dass<br />

ich SUSE besser<br />

kenne als sie.“<br />

Wir kennen uns aber nicht nur mit SUSE<br />

aus, sondern auch mit über 30 weiteren<br />

Betriebs systemen, Virtualisierung, Storage,<br />

Cluster <strong>und</strong> Hosting. Für jeden Bereich<br />

gibt es einen Experten, der 24 St<strong>und</strong>en<br />

am Tag für Sie erreichbar ist.<br />

<strong>Server</strong> individuell konfigurieren <strong>unter</strong> 08551 9150-0 oder www.thomas-krenn.com


Login<br />

news<br />

+++ neueste Nachrichten immer auf http://www.admin-magazin.de +++++ neueste Nachrichte<br />

Neue Software <strong>und</strong> Produkte<br />

Branchen-News<br />

Linux Fo<strong>und</strong>ation sponsert Embedded-Entwickler Richard Purdie<br />

Als neuer Fellow der Linux Fo<strong>und</strong>ation widmet sich Richard<br />

Purdie in Vollzeit Openembedded sowie dem noch jungen<br />

Embedded-Projektpool Yocto. Mit den Fellow-Positionen verfügt<br />

die Linux Fo<strong>und</strong>ation über einen Fonds, Entwicklungen<br />

der Linux-Welt zu <strong>unter</strong>stützen, die sie für wichtig hält. Einen<br />

solchen Bedarf sähe sie bei Embedded Linux, begründet sie<br />

ihren Schritt.<br />

Als Linux Fo<strong>und</strong>ation Fellow wird Richard Purdie jetzt ganztags<br />

am Yocto-Projekt <strong>und</strong> zum Beispiel dessen Poky-Buildsystem<br />

arbeiten, das er vergangenen Oktober mitgegründet hat, sowie<br />

am Openembedded-Projekt, wo er seit 2004 Entwickler ist. Eine<br />

zeitliche Begrenzung der Fellowship gibt die Linux Fo<strong>und</strong>ation<br />

nicht an.<br />

Seit 2008 war der Master-Physiker als Embedded-Linux-Architekt<br />

bei Intel tätig, nachdem sein Arbeitgeber Opened Hand von<br />

Intel gekauft wurde. Projekte, an denen Purdie mitgearbeitet<br />

hat, sind neben Openembedded noch Clutter, der X-<strong>Server</strong>,<br />

Sharps Handheld-Betriebssystem Zaurus <strong>und</strong> der Profiler Oprofile.<br />

Beim Kernel war er <strong>unter</strong> anderem Maintainer des Backlight-<br />

<strong>und</strong> LED-Subsystems.<br />

Mit Purdie gibt es derzeit fünf Linux Fo<strong>und</strong>ation Fellows [https://​<br />

​www.​linuxfo<strong>und</strong>ation.​org/​programs/​developer/​fellowship]. Der bekannteste<br />

ist Linus Torvalds. Der Sysadmin von Kernel.org, John<br />

Hawley, wird von der Linux Fo<strong>und</strong>ation finanziert, wie auch Till<br />

Kamppeter vom Linuxprinting-Projekt. Schließlich beschäftigt<br />

die Fo<strong>und</strong>ation Janina Sajka als Accessibility-Gruppenleiterin.<br />

SuperMUC: Leibniz-Rechenzentrum will Platz 1<br />

Prototyp der Warmwasserkühlung mit Wärmerückgewinnung des<br />

SuperMUC ist das hier abgebildete Aquasar-Bladesystem an der ETH<br />

Zürich<br />

Das Münchner Rechenzentrum der Bayerischen<br />

Akademie der Wissenschaften<br />

hat einen neuen Supercomputer mit einer<br />

geplanten Leistung von drei Petaflop/ s in<br />

Auftrag gegeben. Übernächstes Jahr soll<br />

er an der Spitze der Top-500-Liste der<br />

leistungsfähigsten Rechner stehen.<br />

Mitte 2012 soll der von IBM gebaute<br />

Rechner am Leibniz-Rechenzentrum<br />

(LRZ) in München-Garching in Betrieb<br />

gehen. Den entsprechenden Vertrag <strong>unter</strong>schrieben<br />

im Dezember der Vorsitzende<br />

des RZ-Direktoriums Arndt Bode<br />

<strong>und</strong> Martin Jetter, Vorsitzender der<br />

Geschäftsführung der IBM Deutschland<br />

GmbH. Das Investitions- <strong>und</strong> Betriebsvolumen<br />

für die nächsten sechs Jahre<br />

beziffern K<strong>und</strong>e <strong>und</strong> Dienstleister auf 83<br />

Millionen Euro, dazu kommen 50 Millionen<br />

Euro für Gebäudeerweiterungen. Das<br />

B<strong>und</strong>esland Bayern <strong>und</strong> die B<strong>und</strong>esrepublik<br />

Deutschland tragen jeweils die Hälfte<br />

dieser Kosten, weil der Superrechner für<br />

den Technologiestandort Deutschland sowie<br />

wegen seiner Energiesparsamkeit als<br />

Investition in die Zukunft gilt.<br />

Der Neue soll über drei<br />

Petaflop s Spitzenrechenleistung,<br />

320 Terabyte<br />

Hauptspeicher <strong>und</strong> insgesamt<br />

bis zu 12 Petabyte<br />

Festspeicher gebieten.<br />

Damit soll er „zu den<br />

leistungsfähigsten Universalrechnern<br />

der Welt<br />

gehören“, freut sich das<br />

LRZ. Dafür sorgen r<strong>und</strong><br />

110 000 Prozessorkerne.<br />

Das LRZ liefert ein anschauliches<br />

Beispiel für<br />

die Rechengeschwindigkeit<br />

von drei Petaflop s:<br />

„Würde man mit einem<br />

Hammer Nägel in einem Abstand von<br />

einem Millimeter in die Erde schlagen<br />

[einen für jede Gleitkommaoperation],<br />

so würde man den Äquator 75.000 Mal<br />

in einer einzigen Sek<strong>und</strong>e umr<strong>und</strong>en.“<br />

Der rasante Kraftprotz soll im RZ für die<br />

Forscher-Community zum Beispiel die<br />

Entwicklung des Universums simulieren,<br />

das heiße Erdinnere modellieren oder die<br />

Strömungseigenschaften verschiedenster<br />

technischer <strong>und</strong> natürlicher Systeme berechnen.<br />

Neben der Rechenleistung heben<br />

LRZ <strong>und</strong> IBM die neue Kühltechnologie<br />

des Systems hervor, bei der Wasserkühlflüssigkeit<br />

- die bis zu 40 Grad warm<br />

sein darf - direkt an Prozessoren <strong>und</strong><br />

RAM vorbeigeleitet <strong>und</strong> anschließend<br />

zum Gebäudeheizen verwendet wird.<br />

Der „SuperMUC“ genannte Rechner soll<br />

den bisher Stärksten im LRZ-Hause ersetzen:<br />

den seit 2006 arbeitenden HLRB<br />

II. Ein Beispiel für Weltallsimulationen<br />

aus dem Leben dieses Supercomputers<br />

erzählt der Online-Artikel „Astrophysik<br />

mit Linux I“, der auf [http://​www.linuxmagazin.de]<br />

zugänglich ist. Erklärungen<br />

zur Kühlungstechnik des Supermuc <strong>und</strong><br />

zu weiteren HPC-Anwendungsfällen im<br />

LRZ sind auch in der Pressemeldung des<br />

LRZ verlinkt.<br />

10 AusgA be 01-2011 Admin


n immer auf http://www.admin-magazin.de<br />

Top-Performance zum Tiefpreis!<br />

Virtuelle <strong>Server</strong><br />

Streit beim Java Community Process<br />

Die Gremien des Java Community Process (JCP) haben über die<br />

kommenden Spezifikationen abgestimmt <strong>und</strong> die von Oracle<br />

forcierte Roadmap für Java SE 7 <strong>und</strong> Java SE 8 angenommen.<br />

Das freie Mitglied Tim Peierls <strong>und</strong> später die Apache Fo<strong>und</strong>ation<br />

erklärten daraufhin ihren Rücktritt aus dem „SE/ EE Executive<br />

Committee“.<br />

Das Exekutiv-Komittee hat in seiner Sitzung über die so genannten<br />

Java Specification Requests (JSR) abgestimmt, <strong>und</strong><br />

dabei Zustimmung zu den JSRs 334, 335, 336 <strong>und</strong> 337 erteilt.<br />

Im JSR-000336 ging es um den Java SE 7 Release Content <strong>und</strong><br />

beim JSR-000337 um das nämliche für Java SE 8. Bei den<br />

Wahlergebnissen [http://​jcp.​org/​en/​jsr/​results?​id=5111] zu Java SE 7<br />

stimmten die Apache Fo<strong>und</strong>ation, Google <strong>und</strong> der unabhängige<br />

Entwickler Tim Peierls gegen den Vorschlag.<br />

Peierls hatte sein Votum von einer Stimmenthaltung auf ein<br />

„Nein“ geändert <strong>und</strong> begründet dies mit seiner Unzufriedenheit<br />

über die mangelnde Information Oracles zu den Lizenzbedingungen<br />

von Java SE 7. In dieses Horn stößt auch Google <strong>und</strong><br />

nennt die Lizenzierungsbestimmungen für das Testsuite Java<br />

Compatibility Kit (TCK) diskriminierend. Auch viele Beteiligte,<br />

die mit „Ja“ gestimmt haben, gaben ihrem Unmut über die<br />

TCK-Lizenzen Ausdruck, dar<strong>unter</strong> SAP, IBM <strong>und</strong> Red Hat. Die<br />

Forderung der Apache Software Fo<strong>und</strong>ation nach einem frei zugänglichen<br />

TCK zieht sich schon seit einigen Jahren hin <strong>und</strong> war<br />

auch schon <strong>unter</strong> der Sun-Ägide Thema. Das TCK ist notwendig,<br />

um qualifizierte Java-Implementierungen entwickeln zu können<br />

<strong>und</strong> wird <strong>unter</strong> kommerzieller Lizenz vertrieben.<br />

Tim Peierls verkündete anschließend seinen Rücktritt aus dem<br />

Komitee. Er habe die Hoffnung verloren, dass der JCP etwas<br />

sinnvolles zustande bringen, schreibt er in seinem Blog. Die<br />

Apache Fo<strong>und</strong>ation tat es Peierls nach <strong>und</strong> hat den JCP ebenfalls<br />

nach der Abstimmung verlassen. Die Apache-Fo<strong>und</strong>ation<br />

war zehn Jahre Mitglied des JCP-Exekutivkomittees <strong>und</strong> wurde<br />

in der Zeit viermal zum Mitglied des Jahres gewählt. Oracle<br />

forderte anschließend in einem Blog-Beitrag die Apache-Fo<strong>und</strong>ation<br />

zur Rückkehr auf <strong>und</strong> drückte seine Wertschätzung für<br />

deren Arbeit aus, verlor aber sonst keine Worte über die gr<strong>und</strong>sätzliche<br />

Auseinandersetzung.<br />

Red Hat <strong>und</strong> Eucalyptus werden Partner<br />

Red Hat <strong>und</strong> Eucalyptus haben eine strategische Partnerschaft<br />

für künftige gemeinsame Entwicklungen im Cloud-Bereich geschlossen.<br />

Ein Ziel der Vereinbarung ist es, auf Basis von<br />

Eucalyptus aufgebaute Clouds über die offene API Deltacloud<br />

ansprechbar zu machen. Außerdem soll Eucalyptus in Zukunft<br />

teilweise über die Management Tools der Red-Hat-Virtualisierungslösung<br />

RHEV zu verwalten sein.<br />

Eucalyptus ist eine Cloud-Implementierung, die weitgehend<br />

kompatibel zu Amazons EC2 ist. Eucalyptus-Geschäftsführer<br />

Marten Mickos erwartet die Fertigstellung der Deltacloud-Implementierung<br />

für Mitte 2011. Beta-Versionen soll es bereits<br />

früher geben.<br />

netclusive Virtuelle <strong>Server</strong>:<br />

• bis zu 3 CPU-Kerne <strong>und</strong> 8 GB RAM<br />

• bis zu 95 GB Festplatte (RAID 10)<br />

• 5 TB Traffic inklusive<br />

• SSL-Zertifikat inklusive<br />

• Voller Root-Zugriff (SSH)<br />

• 100 % Backup-Speicher<br />

• 99,9 % garantierte Verfügbarkeit<br />

• auch als Managed <strong>Server</strong> erhältlich<br />

• viele 64-Bit-Betriebssysteme nach Wahl<br />

6 Monate<br />

kostenlos<br />

danach ab 12,99 €*<br />

0800 638 2587 | www.netclusive.de<br />

* Aktion 6 Monate kostenlos bis 31.01.2011. Nach 6 Monaten regulärer monatlicher Gr<strong>und</strong>preis:<br />

VPS L 12,99 €, VPS XL 16,99 €, VPS XXL 29,99 €. Die Mindestvertragslaufzeit beträgt wahlweise 12 Monate<br />

(Aktion 6 Monate kostenlos entfällt) bzw. 24 Monate (6 Monate kostenlos). Zzgl. 9,99 € einmalige Einrichtungsgebühr.<br />

Die Abrechnung erfolgt vierteljährlich. Alle Preise inkl. MwSt.


Login<br />

news<br />

+++ neueste Nachrichten immer auf http://www.admin-magazin.de +++++ neueste Nachrichte<br />

Webmin lernt IPv6<br />

Nach mehr als einem halben Jahr haben die Webmin-Entwickler<br />

mit Version 1.530 ein neues Release ihrer Administrations-<br />

Software veröffentlicht. Highlight der neuen Version ist die<br />

Unterstützung des IPv6-Protokolls. Darüber hinaus können<br />

Administratoren nun Benutzer <strong>und</strong> Gruppen in einer MySQL-,<br />

PostgreSQL oder LDAP-Datenbank speichern. In der DNS-Verwaltung<br />

gibt es ab jetzt ein Feature zum einfachen Löschen von<br />

Einträgen aus mehreren Zonen.<br />

Webmin bietet ein webbasiertes Verwaltungs-Frontend für<br />

Linux- <strong>und</strong> Unix-Rechner. Eine Vielzahl von Modulen ermöglicht<br />

die Administration verschiedener Software-Komponenten<br />

wie DNS, DHCP, IMAP/ POP, Firewalls, Kerberos, Raid-Systemen<br />

<strong>und</strong> so weiter. Wer sich einen Eindruck von der Software verschaffen<br />

möchte, kann dies mit Hilfe einer Demo-Installation<br />

tun, die <strong>unter</strong> der Adresse http://​webmin-demo.virtualmin.com/ erreichbar<br />

ist. Login <strong>und</strong> Passwort lauten dabei „demo“. Webmin<br />

gibt es zum Download als Tar-Datei im Quellcode <strong>und</strong> als<br />

Binärpakete für Cent OS, Ubuntu, Debian, Red Hat, Fedora,<br />

Mandrake sowie Solaris <strong>und</strong> Windows. Das Webmin-Paket steht<br />

als freie Software <strong>unter</strong> der BSD-Lizenz.<br />

Noch ein ZFS für Linux<br />

Die Firma KQ Infotech hat <strong>unter</strong> [http://​zfs.​kqinfotech.​com] eine<br />

weitere native Implementierung von ZFS für den Linux-Kernel<br />

zum Betatest bereitgestellt. Die feste Integration des leistungsfähigen<br />

Solaris-Dateisystems ZFS in den Linux-Kernel scheitert<br />

gr<strong>und</strong>sätzlich an der Inkompatibilität der beiden Lizenzen,<br />

<strong>unter</strong> denen die jeweilige Software steht. Ein Umweg führte<br />

bislang über die Einbindung von ZFS-Code über die FUSE-Userspace-Schnittstelle,<br />

die das lizenzinkompatible binäre Verlinken<br />

mit dem Linux-Kernel vermeidet.<br />

Ein Projekt des Lawrence Livermore Laboratory hat vor kurzem<br />

bereits einen nativen ZFS-Port vorgelegt, dessen Kernelmodule<br />

Anwender selbst kompilieren müssen, um den Lizenzbedinungen<br />

zu genügen. Den gleiche Weg geht nun auch KQ Infotech<br />

mit seiner ZFS-Variante.<br />

Das ZFS von KQ Infotech steht <strong>unter</strong> der CDDL-Lizenz, hat aber<br />

noch nicht alle Features von neueren ZFS-Versionen implementiert.<br />

Interessierte können sich auf der Website von KQ-Infotech<br />

zum Beta-Programm anmelden <strong>und</strong> dann Pakete für Fedora,<br />

Debian, Red Hat Enterprise Linux <strong>und</strong> Ubuntu her<strong>unter</strong>laden.<br />

Das für Solaris entwickelte ZFS ist ein 128-Bit-Dateisystem,<br />

das Snapshots, Deduplikation, Storage-Pools, Software-RAID<br />

<strong>und</strong> weitere moderne Storage-Features <strong>unter</strong>stützt. Außer für<br />

Solaris gibt es Implementierungen von ZFS für FreeBSD <strong>und</strong><br />

Mac OS X.<br />

Neues <strong>Monitoring</strong>-Tool Youbeda für Open VZ<br />

Leichte Übung für Webmin: die Prozessliste des <strong>Server</strong>s anzeigen.<br />

Ein neues Tool namens Youbeda überwacht Open-VZ-Container<br />

<strong>und</strong> schlägt bei Bedarf Alarm. Das ist Perl geschriebene Programm<br />

beobachtet die Ressource-Limits der Container <strong>und</strong><br />

benachrichtigt den Administrator per E-Mail oder Jabber, wenn<br />

der Failcount anwächst. Alternativ schreibt es Statistiken in eine<br />

SQL-Datenbank. Youbeda setzt neben Perl keine besonderen<br />

Software-Pakete voraus. Es ist für Alt-Linux entwickelt, sollte<br />

aber nach Meinung der Programmierer auch auf anderen Linux-<br />

Distributionen funktionieren. [http://​devel.​ossg.​ru/​youbeda.​html]<br />

Open Panel verwaltet <strong>Server</strong>dienste<br />

Mit Open Panel stellt sich ein neues Administrationstool<br />

für <strong>Server</strong>dienste vor,<br />

das sich per Weboberfläche <strong>und</strong> per<br />

Kommandozeile bedienen lässt. Mit ihrer<br />

GPL-Software möchten die niederländischen<br />

Entwickler ein freies, bedienungsfre<strong>und</strong>liches<br />

<strong>und</strong> erweiterbares Tool zur<br />

<strong>Server</strong>einrichtung bieten.<br />

In der nun erhältlichen Version 1.0 kann<br />

Open Panel virtuelle Apache-2-Hosts konfigurieren,<br />

OpenSSH-Konten verwalten,<br />

DNS-Zonen mit BIND 9 administrieren<br />

sowie Postfix- <strong>und</strong> Courier-Maildienste<br />

konfigurieren. Daneben eignet sich das<br />

Panel zum Verwalten von MySQL-Datenbanken,<br />

von Pure-FTP-Konten mit<br />

Chroot <strong>und</strong> Iptables-Firewalls. Software-<br />

Updates per Apt lassen sich ebenfalls<br />

vornehmen.<br />

Derzeit ist die Software für Debian 5.0<br />

(Lenny) getestet, soll aber auch <strong>unter</strong><br />

Squeeze <strong>und</strong> Ubuntu 10.04 funktionieren.<br />

Als nächstes Ziel möchte das Projekt<br />

Open Panel auch auf weiteren Debianbasierten<br />

Distributionen testen, langfristig<br />

soll es auch RPM-Versionen für Red<br />

Hat, Cent OS <strong>und</strong> Suse geben. Darüber<br />

hinaus haben die Entwickler weitere Entwicklungsziele<br />

bekanntgegeben: IP- <strong>und</strong><br />

SSL-Administration, Vorlagen für Hosting-Produkte,<br />

Backup, Unterstützung<br />

für Mailinglisten, Verwaltung von Amavis<br />

<strong>und</strong> Spamassassin, eine Oberfläche für<br />

Mobilgeräte <strong>und</strong> einiges mehr.<br />

Weitere Informationen finden sich auf der<br />

Open-Panel-Website [http://​www.​openpanel.​<br />

​com]. Dort gibt es auch eine Anleitung zur<br />

Installation der Software aus den Debian-<br />

Paketarchiven des Projekts.<br />

12 AusgA be 01-2011 Admin


n immer auf http://www.admin-magazin.de<br />

Vigorös<br />

mit Sicherheit<br />

Gnome-Fre<strong>und</strong>e spendeten 2009 das Vierfache<br />

2009 hat das Gnome-Projekt 40 280 Bugreports bearbeitet. Als<br />

finanziellen Erfolg wertet die Gnome-Fo<strong>und</strong>ation die freien<br />

Spenden, die sich mit 30 000 US-Dollar mehr als vervierfacht<br />

haben. Das alles steht im nun veröffentlichten Gnome-Jahresbericht<br />

2009.<br />

Die Gnome Fo<strong>und</strong>ation hat – kurz vor Toresschluss des Jahres<br />

2010 – ihren aufwändig gestalteten <strong>und</strong> bilderreichen Jahresbericht<br />

des Gnome-Projekts für 2009 vorgelegt. Das r<strong>und</strong> 50-seitige<br />

PDF [http://​fo<strong>und</strong>ation.​gnome.​org/​reports/​gnome-annual-report-2009.​<br />

​pdf] ist von den Webseiten der Gnome Fo<strong>und</strong>ation her<strong>unter</strong>zuladen,<br />

taucht aber nicht im Bericht-Index auf.<br />

Das Marketing-Team hat es laut Bericht geschafft, mit der<br />

Kampagne „Friends of Gnome“ das Spendenvolumen von 7000<br />

Dollar im Jahr 2008 auf 30 000 Dollar zu vergrößern. In Sachen<br />

F<strong>und</strong>raising ist außerdem zu berichten, dass sich die Gnome<br />

Fo<strong>und</strong>ation bald um einen Sysadmin erweitern wird – <strong>und</strong> damit<br />

von eineinhalb auf zweieinhalb Mitarbeiter anwächst. Vom<br />

Event- <strong>und</strong> Reise-Team berichtet Stormy Peters, dass es für 39<br />

Gnome-Entwickler die Reise zum Gnome-Summit organisiert<br />

habe (der im Jahr 2009 gemeinsam mit KDE veranstaltete Gran<br />

Canaria Desktop Summit). Das Advisory Board habe sich trotz<br />

schwerer wirtschaftlicher Zeiten bereit erklärt, den eigenen<br />

Jahresbeitrag zu erhöhen.<br />

Neues Major-Release des OTRS-Helpdesks<br />

Die OTRS AG bietet ab sofort die neue Version 3.0 ihrer Helpdesk-<br />

<strong>und</strong> Trouble-Ticket-Software zum kostenlosen Download<br />

an. Highlight von OTRS 3.0 ist eine völlig neue grafischer<br />

Web-Oberfläche. Dazu gehören <strong>unter</strong> anderem: ein per Dragand-Drop<br />

individualisierbares Management-Dashboard, eine<br />

dynamische Ticket-Zoomansicht, eine komfortable <strong>und</strong> leicht<br />

anpassbare Volltext-Suche, Ticket-Archivierung <strong>und</strong> Barrierefreiheit.<br />

Die OTRS Produkt-Suite umfasst das OTRS Helpdesk-System,<br />

die ITIL-V3-konforme IT-Service-Management-Lösung ITSM,<br />

eine iPhone App <strong>und</strong> die zugr<strong>und</strong>e liegende Technologie-Plattform.<br />

OTRS ist als freie Software <strong>unter</strong> der GNU Affero General<br />

Public License (AGPL) erhältlich. Darüber hinaus bietet der<br />

Hersteller verschiedene kostenpflichtige Support-Varianten <strong>und</strong><br />

eine gehostete Version namens OTRS on Demand.<br />

Die neueste Version 3.0.4, die im Dezember erschienen ist,<br />

behebt eine Reihe von Bugs im ursprünglichen Release <strong>und</strong><br />

steuert neue Übersetzungen zum Paket bei. Es steht auf der<br />

OTRS-Seite für Suse, Red Hat / Fedora / Cent OS, Windows <strong>und</strong><br />

im Quellcode zum Download bereit. Die Dokumentation für die<br />

neue Version findet sich <strong>unter</strong> [http://​doc.​otrs.​org/​3.​0/​en/​html/], mit<br />

einer Upgrade-Anleitung für ältere OTRS-Installationen. Eine<br />

passende Version von ITSM für OTRS 3.0 soll im Frühjahr 2011<br />

erscheinen.<br />

Eine frei zugängliche Online-Demo mit Ansichten für K<strong>und</strong>en<br />

<strong>und</strong> Ticket-Bearbeiter ist <strong>unter</strong> der Web-Adresse [http://​otrs.​org/<br />

demo]​verfügbar.<br />

Telefonie einfach <strong>und</strong> sicher ...<br />

VigorIPPBX 2820<br />

VigorPhone 350<br />

Softphone<br />

IP PBX<br />

Kontakt:<br />

(D) 0621/7176670<br />

(A) 0720/734941<br />

info@draytek.de<br />

VoIP<br />

ISDN<br />

+<br />

ADSL2+<br />

VoIP<br />

ISDN<br />

- für ISDN / PSTN / VoIP<br />

- bis zu 50 IP-Nebenstellen<br />

- ISDN-Qualität mit G.711<br />

- benutzerdefinierte Ansagen<br />

- ZRTP-Verschlüsselung<br />

- Komfortmerkmale<br />

- ADSL2/2+-Modem<br />

- Ethernet-WAN-Port<br />

- 32 VPN-Tunnel<br />

- SPI-Firewall<br />

- IPPBX-Auto-Provisionierung<br />

- bis zu 10 SIP-Konten<br />

- ISDN-Qualität mit G.711<br />

- Busy-Lamp-Field (16 Tasten)<br />

- RJ9-Headset-Anschluss<br />

- PoE-Versorgung / Netzteil<br />

- Komfortables Webinterface<br />

Firewall<br />

www.draytek.de<br />

Analogtelefonie<br />

- keineLizenzkosten<br />

- lokale oder mobile Nutzung<br />

- ISDN-Qualität mit G.711<br />

- Komfortmerkmale<br />

- Busy-Lamp-Field<br />

- ZRTP-Verschlüsselung<br />

USB


Login<br />

news<br />

+++ neueste Nachrichten immer auf http://www.admin-magazin.de +++++ neueste Nachrichte<br />

Salesforce übernimmt Ruby-Hoster Heroku<br />

Die Firma Salesforce hat bekannt gegeben,<br />

dass sie den Ruby-Hosting-<br />

Provider Heroku [http://​heroku.​com] für<br />

212 Millionen US-Dollar kaufen wird.<br />

Salesforce bietet bisher Software zur<br />

Pflege von K<strong>und</strong>enbeziehungen (Customer<br />

Relationship Management/<br />

CRM) als kostenpflichtigen Webdienst<br />

an. Gerade hat Salesforce auch den<br />

neuen Datenbank-Dienst database.<br />

com <strong>und</strong> eine webbasierte Anwendung<br />

für Echtzeitgeschäftskommunikation<br />

namens Chatter vorgestellt.<br />

Eclipse Community Awards Nominierungen<br />

Die Eclipse Fo<strong>und</strong>ation hat die Nominierungsphase<br />

für die Eclipse Awards<br />

eröffnet, die bis zum 28. Januar 2011<br />

läuft. Insgesamt neun Auszeichnungen<br />

gehen an Einzelpersonen, Projekte<br />

<strong>und</strong> Technologien: Bei den Einzelpersonen<br />

wird nach Committer, Contributor<br />

<strong>und</strong> Newcomer Evangelist<br />

<strong>unter</strong>schieden. Bei den Projekten sind<br />

das „Most Innovative New Feature<br />

or Project“ <strong>und</strong> das offenste Projekt<br />

gesucht, das die Transparenz <strong>und</strong> Diversität<br />

großer Open-Source-Projekte<br />

repräsentiert. In der Technologie-<br />

Kategorie gilt es, die beste Anwendung,<br />

das beste Entwicklertool, das<br />

beste Mobil-Produkt <strong>und</strong> das beste<br />

Shinken-<strong>Monitoring</strong> produktionsreif<br />

Unter dem Namen „Decadent Dragonfly“<br />

haben die Shinken-Entwickler die<br />

Version 0.4 ihres <strong>Monitoring</strong>-Systems<br />

freigegeben. Es handle sich um die<br />

erste Version, die für den produktiven<br />

Einsatz geeignet sei. Shinken will<br />

sich als Alternative zum bekannten<br />

<strong>Monitoring</strong>-Framework Nagios etablieren<br />

<strong>und</strong> kann deshalb direkt die<br />

Konfiguration eines Nagios-Systems<br />

verwenden. Shinken ist in Python geschrieben<br />

<strong>und</strong> soll für größere Rechnerumgebungen<br />

besser skalieren als<br />

Nagios.<br />

Die neue Shinken-Version kann ihre<br />

Daten <strong>unter</strong> anderem in einem<br />

Heroku hat sich auf das Hosting von<br />

Ruby-Anwendungen auf der eigenen<br />

Cloud-Plattform spezialisiert. Eine<br />

ganze Reihe von Bibliotheken [https://​<br />

​github.​com/​heroku] stellte Heroku der<br />

Ruby-Community <strong>unter</strong> einer freien<br />

Lizenz zur Verfügung. Salesforce verbindet<br />

mit dem Kauf von Heroku die<br />

Vision einer „Cloud 2“, wie Salesforce-Manager<br />

Marc Benioff es nennt.<br />

Diese „nächste Ära des Cloud Computing“<br />

sei „mobil, sozial <strong>und</strong> finde in<br />

Echtzeit statt“, meint Benioff.<br />

Modeling-Produkt zu prämieren. Einzelheiten<br />

stehen auf der Awards-Seite<br />

[http://​www.​eclipse.​org/​org/​fo<strong>und</strong>ation/​<br />

​eclipseawards/​index.​php] .<br />

Nach der Nominierungsphase läuft<br />

zwischen dem 31. Januar <strong>und</strong> dem<br />

25. Februar eine Abstimmung, um die<br />

Gewinner <strong>unter</strong> den Einzelpersonen<br />

<strong>und</strong> den Projekte via Community-<br />

Votum zu ermitteln. Die Gewinner<br />

der Technologie-Kategorie hingegen<br />

wählt eine Jury. Alle Gewinner des<br />

Eclipse Community Awards sollen<br />

auf der Eclipse Con 2011 verkündet<br />

werden, die vom 21. bis 24. März<br />

2011 im kalifornischen Santa Clara<br />

stattfindet.<br />

verteilten Storage-System wie Memcache<br />

oder Redis speichern. Service-<br />

Generatoren sollen Anwendern dabei<br />

helfen, für zu überwachende <strong>Dienste</strong><br />

eine neue Konfiguration anzulegen.<br />

Shinken steht <strong>unter</strong> der Affero General<br />

Public License zum Download<br />

von [http://​www.​shinken-monitoring.​org/​<br />

​download] bereit.<br />

Alternativ gibt es für virtualisierte<br />

Installationen auch zwei Images für<br />

die Virtualisierungslösungen VMware<br />

<strong>und</strong> Virtualbox. Als grafische Frontends<br />

für Shinken stehen die Nagios-<br />

Lösungen Thruk, Ninja and NagVis<br />

zur Verfügung.<br />

Attachmate kauft Novell<br />

Der IT-Anbieter Attachmate Corporation hat<br />

mitgeteilt den Linux-Distributor Novell zu übernehmen.<br />

Den Kaufpreis gibt das von einer Investorengruppe<br />

gehaltene Attachmate mit 6,10<br />

US-Dollar pro Aktie an, was einem Kaufvolumen<br />

von r<strong>und</strong> 2,2 Milliarden US-Dollar entspricht.<br />

Die Novell-Aktie hatte vor der Bekanntgabe mit<br />

r<strong>und</strong> 5,9 US-Dollar geschlossen. Im Zuge der<br />

Vereinbarung soll der Novell-Aktionär Elliott<br />

Management Corporation Anteilseigner bei der<br />

Attachmate Corporation werden.<br />

Attachmate sieht sich, vorausgesetzt der Handel<br />

kommt zustande, ein Markenportfolio bestehend<br />

aus Attachmate, Net-IQ, Novell <strong>und</strong> Suse halten.<br />

Attachmate will nach der Übernahme die beiden<br />

Geschäftseinheiten Novell <strong>und</strong> Suse betreiben,<br />

heißt es seitens Novell: Jeff Hawn, Vorstandsvorsitzender<br />

<strong>und</strong> CEO der Attachmate Corporation,<br />

wolle die Novell- <strong>und</strong> Suse-Lösungen ausbauen.<br />

Novells Präsident <strong>und</strong> CEO Ron Hovsepian hebt<br />

die komplementären Produkte <strong>und</strong> die teilweise<br />

gleiche K<strong>und</strong>schaft der beiden Unternehmen<br />

hervor.<br />

Die Übernahme soll im ersten Quartal 2011<br />

abgeschlossen sein, vorausgesetzt die Novell-<br />

Aktionäre <strong>und</strong> die an der Prüfung beteiligten<br />

Behörden geben ihre Zustimmung. Außerdem<br />

ist ein Verkauf des geistigen Eigentums an Technologien<br />

an die CPTN Holdings LLC für das<br />

Zustandekommen des Handels relevant. Die<br />

CPTN ist ein von Microsoft ins Leben gerufenes<br />

Konsortium. In einem an die US-Börsenaufsicht<br />

SEC eingereichten Papier ist die Rede von 882<br />

Patenten, die für 450 Millionen US-Dollar an<br />

CPTN gehen.<br />

Die im Novell-Besitz befindlichen Rechte an<br />

Unix sollen dagegen bei Novell verbleiben. Es<br />

gab in der Open-Source-Szene Befürchtungen,<br />

<strong>unter</strong> den fraglichen Patenten könne sich auch<br />

die von Novell gehaltenen Copyrights an Unix<br />

befinden, die dann indirekt an Microsoft gehen<br />

würden. John Dragoon von Attachmate schließt<br />

dies aus: „Novell will continue to own Novell’s<br />

Unix copyrights following completion of the<br />

merger as a subsidiary of Attachmate.“<br />

Über die Zukunft der Suse-Distribution äußert<br />

sich Jeff Hawns: Opensuse sei ein wichtiger Bestandteil<br />

des Suse-Geschäfts, beteuert der CEO<br />

in seinem Statement. Nach Abschluss der Transaktion<br />

werde Suse als eigener Geschäftsbereich<br />

geführt, wie in der Vereinbarung mit Novell festgeschrieben.<br />

In der Beziehung zwischen Suse<br />

<strong>und</strong> Opensuse werde sich durch die Übernahme<br />

nichts ändern, verspricht Hawn.<br />

14 AusgA be 01-2011 Admin


news<br />

Login<br />

n immer auf http://www.admin-magazin.de +++++ neueste Nachrichten immer auf http://<br />

Mehr Software-Partner für Ubuntu<br />

Canonical, das Unternehmen hinter Ubuntu-Linux, hat seit der<br />

Veröffentlichung von Version 10.10 eine Reihe Software-Partner<br />

gewonnen. Zu den neuen Anbietern von Software innerhalb<br />

des Software-Centers von Ubuntu gehören die Firmen Boxed<br />

Ice, Opsview, Riptano, Unoware, Vladster, Wavemaker <strong>und</strong><br />

Zend. Auch der kalifornische IT-Integrator Centrify hat sich<br />

eingereiht.<br />

Neu an Bord von Ubuntus Partner-Software sind demnach<br />

<strong>unter</strong> anderem die <strong>Monitoring</strong>-Software Opsview, die verteilte<br />

Datenbank Cassandra, die WYSIWYG-Entwicklungsumgebung<br />

Wavemaker <strong>und</strong> Active Directory für Ubuntu. Ob, wann <strong>und</strong><br />

zu welchen Bedingungen die Neuzugänge in Ubuntus Software<br />

Center verfügbar sind, verrät Canonical nicht.<br />

Zu den bisherigen r<strong>und</strong> 100 Software-Partnern von Canonical<br />

gehören <strong>unter</strong> anderem Zarafa, Unison, Zimbra, PGP, Oracle,<br />

Eucalyptus <strong>und</strong> Likewise. Software-Partner von Canonical zu<br />

sein bedeutet, die eigene Software in Kooperation mit den<br />

Canonical-Entwicklern für Ubuntu anzupassen, gegebenenfalls<br />

über das in Ubuntu integrierte Software Center zu vertreiben<br />

<strong>und</strong> über Canonical Dienstleistungen dafür zu verkaufen. Das<br />

Software Center wurde als Ersatz für den Paketmanager Synaptic<br />

mit 9.10 „Karmic Koala“ eingeführt. Mit Ubuntu 10.10 „Maverick<br />

Meerkat“ ist das Angebot angelaufen, über das Software<br />

Center (Version 3.0.4) auch Bezahlprogramme zu erwerben.<br />

Für April 2011 ist übrigens Version 4.0 des Software Centers<br />

geplant, die auch Spenden für nichtkommerzielle Softwareprojekte<br />

ermöglichen soll.<br />

<strong>ADMIN</strong>-Umfrage: Viele verwenden OTRS<br />

Das Ergebnis einer Online Umfrage des <strong>ADMIN</strong>-<strong>Magazin</strong>s zum<br />

Thema „Welche Software setzen Sie für Helpdesk / Trouble<br />

Tickets ein?“ lässt einigen Raum zur Interpretation. Auf dem<br />

ersten Platz landete mit 30<br />

Prozent der Stimmen das<br />

OTRS-Paket. Es lieferte sich<br />

allerdings die längste Zeit<br />

ein Kopf-an-Kopf-Rennen<br />

mit dem Punkt „andere“,<br />

der offen lässt, welches<br />

System die Befragten wirklich<br />

verwenden.<br />

An dritter Stelle folgt<br />

schließlich mit 15 Prozent<br />

die Antwort „gar keins“.<br />

Die restlichen Plätze machen<br />

dann mit zwischen<br />

drei <strong>und</strong> acht Prozent der<br />

Stimmen die Pakete Mantis,<br />

Bugzilla, RT, GLPI <strong>und</strong> OTRS ist der nicht unumstrittene Sieger<br />

Trac <strong>unter</strong>einander aus. der <strong>ADMIN</strong>-Umfrage.<br />

Linux-<strong>Server</strong><br />

NEU<br />

Linux Hochverfügbarkeit<br />

NEU<br />

Red Hat Enterprise Linux 6 fertig<br />

Der Software-Hersteller Red Hat hat Version 6 seines Enterprise<br />

Linux vorgestellt. Generell soll das neue Major Release<br />

der Enterprise-Distribution zuverlässiger arbeiten <strong>und</strong> besser<br />

skalieren. Dafür verwendet es den Linux-Kernel 2.6.32 <strong>und</strong><br />

das Ext4- wie auch das XFS-Dateisystem, das bis zu 100 TByte<br />

<strong>unter</strong>stützt. Beim Netzwerkdateisystem setzt Red Hat nun auf<br />

NFS4 sowie das Cluster-Dateisystem GFS2. Diverse Änderungen<br />

beim Logical Volume Manager LVM <strong>und</strong> bei iSCSI bringen den<br />

Anwendern erweiterte Storage-Features.<br />

Im Zentrum der Virtualisierungslösung steht der Linux-Hypervisor<br />

KVM, der beispielsweise mit KSM (Kernel Samepage<br />

Merging) den Speicherverbrauch senkt, indem er Speicherseiten<br />

<strong>unter</strong>schiedlicher virtuellen Maschinen mehrfach verwendet.<br />

Die Einbindung in Microsoft-Netzwerke wurde durch die<br />

Überarbeitung des Samba-Datei- <strong>und</strong> Printservers sowie das<br />

Openchange-Paket verbessert.<br />

Bei der Software-Ausstattung setzt RHEL 6 auf den Webserver<br />

Apache 2.2, die Java-Version OpenJDK 6, Tomcat 6, die Datenbanken<br />

MySQL 5.1.47 <strong>und</strong> PostgreSQL 8.4. Über die ganze<br />

Support-Dauer von zehn Jahren garantiert Red Hat den Anwendern<br />

stabile API- <strong>und</strong> ABI-Schnittstellen. Die Produktseite<br />

[http://​www.​redhat.​com/​rhel/​server/​details/] liefert eine vollständige<br />

Liste der neuen Features in Red Hat Enterprise Linux.<br />

815 S., 2011, 49,90 €<br />

» www.GalileoComputing.de/2205<br />

454 S., 2011, 49,90 €<br />

» www.GalileoComputing.de/1999<br />

Linux-Know-how<br />

Webserver einrichten<br />

<strong>und</strong> administrieren<br />

NEU<br />

497 S., 2. Auflage 2011, mit CD, 39,90 €<br />

» www.GalileoComputing.de/2529<br />

www.GalileoComputing.de<br />

OpenVPN<br />

296 S., 2. Auflage 2011, 39,90 €<br />

» www.GalileoComputing.de/2466<br />

Wissen, wie’s geht.


netzwerk<br />

iPv6<br />

IPv6/ IPv4-Dual-Stack einrichten<br />

​Hochgestapelt<br />

Anfang dieses Jahres sollen endgültig die iPv4-Adressen ausgehen. was von dieser<br />

these zu halten ist <strong>und</strong> wie man sich auf die iPv6-migration vorbereiten kann, verrät<br />

dieser Artikel. Owen deLong<br />

Die meisten Administratoren haben wohl<br />

schon davon gehört, dass Anfang 2011 die letzten<br />

IPv4-Adressen vergeben werden. Wie es<br />

genau um den Vorrat an Adressen steht, ist<br />

schwer zu sagen. Zumindest gehen der Internet<br />

Assigned Numbers Authority (IANA) jetzt die<br />

IPv4-Adressen aus.<br />

Die ganze Geschichte ist etwas komplizierter.<br />

Die IANA vergibt Adressen nicht an Endk<strong>und</strong>en<br />

oder Firmen, sondern nur an die fünf regionalen<br />

Internet Registries (RIR). Die wiederum vergeben<br />

sie an Firmen, Internetprovider oder weitere<br />

Internet Registries. Wann der IANA die Adressen<br />

ausgehen, lässt sich relativ leicht absehen: Sie<br />

gibt demnächst jeweils einen Teil des letzten<br />

großen Blocks an jede RIR, <strong>und</strong> damit ist der<br />

eigene Adressenpool ausgeschöpft.<br />

Schwieriger ist abzusehen, wann der Vorrat der<br />

RIRs erschöpft ist. Bei der Vergabe spielen viele<br />

Variablen eine Rolle, etwa die stark schwankende<br />

Nachfrage zu <strong>unter</strong>schiedlichen Zeiten.<br />

Es ist anzunehmen, dass den RIRs etwa ein Jahr<br />

später die Adressen ausgehen, nachdem der<br />

letzte Block von der IANA vergeben ist.<br />

Der Nachfolger IPv6 ist schon einige Zeit in Arbeit<br />

<strong>und</strong> viele Router <strong>und</strong> Provider <strong>unter</strong>stützen<br />

das neue Protokoll bereits. Mehr <strong>und</strong> mehr<br />

Netzwerke werden in Zukunft IPv6 beherrschen,<br />

je weniger IPv4-Adressen es gibt. Dieser Artikel<br />

beschreibt im Folgenden, wie Sie selbst IPv6<br />

konfigurieren <strong>und</strong> welche Fallen dabei auf Sie<br />

lauern. Selbst wenn Ihr Provider noch kein IPv6<br />

anbietet, können Sie schon am Internet der Zukunft<br />

teilnehmen.<br />

Viele Adressen<br />

Das heute in Verwendung befindliche IPv4-Protokoll<br />

bietet nur Adressen mit 32 Bits, kann also<br />

maximal etwa drei Milliarden Geräte adressieren.<br />

IPv6 eröffnet mit seinen 128 Bits einen Ad-<br />

Dmitriy Melnikov, 123RF<br />

16<br />

AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


iPv6<br />

n etzwerk<br />

ressraum von 2 128 – eine ziemlich schwer<br />

vorstellbare Zahl mit 39 Stellen.<br />

IPv6 bietet gegenüber dem alten Protokoll<br />

einige Vorteile, dar<strong>unter</strong> die erweiterte<br />

Autokonfiguration <strong>und</strong> Multicasting,<br />

mehr Optionen für Quality of Service <strong>und</strong><br />

mehr Nutzdaten. Neben den Vorteilen<br />

birgt IPv6 natürlich auch einige Risiken<br />

oder Schwierigkeiten, zum Beispiel bei<br />

der Migration.<br />

Die Implementierung von IPv6 beinhaltet<br />

eine Reihe kleiner Schritte. Deren genaue<br />

Reihenfolge hängt von der jeweiligen<br />

Konfiguration ab, eventuell müssen Sie<br />

einige Schritte umstellen. Die im Folgenden<br />

näher beschrieben Schritte sind im<br />

Einzelnen:<br />

n Verbindung zum IPv6-Internet herstellen,<br />

zum Beispiel mit einem Router.<br />

n Für Hosts <strong>und</strong> Router eine IPv6-Security-Policy<br />

aufstellen.<br />

n IPv6 im internen Netz aktivieren.<br />

n IPv6 auf den einzelnen Hosts aktivieren.<br />

n Einzelne <strong>Dienste</strong> mit IPv6-Support<br />

ausstatten <strong>und</strong> starten, zum Beispiel<br />

DNS, IMAP/ POP, SMTP <strong>und</strong> Web.<br />

Auch wenn die Schritte bei Ihnen eventuell<br />

ein bisschen anders aussehen, gibt<br />

dieser Artikel dennoch für jeden einzelnen<br />

eine Hilfe.<br />

Anschluss an IPv6<br />

Der erste Schritt besteht darin, den Router<br />

ans IPv6-Internet anzubinden. Dabei<br />

ist es ratsam, von Anfang an den<br />

Sicherheitsaspekt im Auge zu behalten.<br />

Die meisten Hacker sind nämlich schon<br />

eine Zeit lang fit in IPv6 beziehungsweise<br />

Dual-Stack-Setups, es gibt auch schon<br />

eine Reihe von funktionierenden Angriffen<br />

gegen IPv6.<br />

Am besten ist es natürlich, wenn Ihr<br />

Internetprovider direkt eine Dual-Stack-<br />

Verbindung zur Verfügung stellt, aber<br />

viele bieten das leider noch nicht an. Fragen<br />

kostet aber nichts. Mit etwas Glück<br />

können Sie sich dann den Rest dieses<br />

Abschnitts sparen.<br />

Gibt es keine direkte IPv6-Anbindung,<br />

führt der Weg über eine Tunnel-Verbindung.<br />

Dabei werden die IPv6-Pakete<br />

in IPv4-Paketen getunnelt, um so auch<br />

Strecken ohne IPv6-Support zu durchqueren.<br />

Für IPv6-Tunnels gibt es einige<br />

Provider, dar<strong>unter</strong> den Tunnel Broker von<br />

01 *filter<br />

02 :INPUT ACCEPT [0:0]<br />

03 :FORWARD ACCEPT [0:0]<br />

04 :OUTPUT ACCEPT [0:0]<br />

05 :RH‐Firewall‐1‐INPUT ‐ [0:0]<br />

06 ‐A INPUT ‐j RH‐Firewall‐1‐INPUT<br />

07 ‐A FORWARD ‐j RH‐Firewall‐1‐INPUT<br />

08 # Don't block Loopback<br />

09 ‐A RH‐Firewall‐1‐INPUT ‐i lo ‐j ACCEPT<br />

10 # Permit Syslog<br />

11 ‐A RH‐Firewall‐1‐INPUT ‐d 192.0.2.2/32 ‐m state ‐‐state NEW ‐m udp ‐p<br />

udp ‐‐dport 514 ‐j AC<br />

12 CEPT<br />

13 # Permit BFD (for OSPF)<br />

14 ‐A RH‐Firewall‐1‐INPUT ‐d 192.0.2.2/32 ‐m state ‐‐state NEW ‐m udp ‐p<br />

udp ‐‐dport 3784 ‐j A<br />

15 CCEPT<br />

16 ‐A RH‐Firewall‐1‐INPUT ‐d 192.0.2.2/32 ‐m state ‐‐state NEW ‐m tcp ‐p<br />

tcp ‐‐dport 3784 ‐j A<br />

Listing 1: iPtables<br />

17 CCEPT<br />

18 # Permit ICMP<br />

19 ‐A RH‐Firewall‐1‐INPUT ‐p icmp ‐‐icmp‐type any ‐j ACCEPT<br />

20 # Permit ESP and AH (for IPSEC)<br />

21 ‐A RH‐Firewall‐1‐INPUT ‐p 50 ‐j ACCEPT<br />

22 ‐A RH‐Firewall‐1‐INPUT ‐p 51 ‐j ACCEPT<br />

23 # Permit hosts on local LAN<br />

24 ‐A RH‐Firewall‐1‐INPUT ‐s 192.0.2.0/24 ‐j ACCEPT<br />

25 # Permit established sessions already in state table<br />

26 ‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state ESTABLISHED,RELATED ‐j ACCEPT<br />

27 # Permit SSH<br />

28 ‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m tcp ‐p tcp ‐‐dport 22 ‐j<br />

ACCEPT<br />

29 # Permit DNS<br />

30 ‐A RH‐Firewall‐1‐INPUT ‐s 192.0.2.0/24 ‐m state ‐‐state NEW ‐m udp ‐p<br />

udp ‐‐dport 53 ‐j ACCEPT<br />

31 ‐A RH‐Firewall‐1‐INPUT ‐s 192.0.2.0/24 ‐m state ‐‐state NEW ‐m tcp ‐p<br />

tcp ‐‐dport 53 ‐j ACCEPT<br />

01 *filter<br />

02 :INPUT ACCEPT [0:0]<br />

03 :FORWARD ACCEPT [0:0]<br />

04 :OUTPUT ACCEPT [0:0]<br />

05 :RH‐Firewall‐1‐INPUT ‐ [0:0]<br />

06 ‐A INPUT ‐j RH‐Firewall‐1‐INPUT<br />

07 ‐A FORWARD ‐j RH‐Firewall‐1‐INPUT<br />

08 # Don't block Loopback<br />

09 ‐A RH‐Firewall‐1‐INPUT ‐i lo ‐j ACCEPT<br />

10 # Permit Syslog<br />

11 ‐A RH‐Firewall‐1‐INPUT ‐d 2001:db8:feed:face::2/128 ‐m state ‐‐state NEW<br />

‐m udp ‐p udp ‐‐dport 514 ‐j ACCEPT<br />

12 # Permit BFD (for OSPF)<br />

13 ‐A RH‐Firewall‐1‐INPUT ‐d 2001:db8:feed:face::2/128 ‐m state ‐‐state NEW<br />

‐m udp ‐p udp ‐‐dport 3784 ‐j ACCEPT<br />

14 ‐A RH‐Firewall‐1‐INPUT ‐d 2001:db8:feed:face::2/128 ‐m state ‐‐state NEW<br />

‐m tcp ‐p tcp ‐‐dport 3784 ‐j ACCEPT<br />

Listing 2: iP6tables<br />

15 # Permit ICMP<br />

16 ‐A RH‐Firewall‐1‐INPUT ‐p icmp ‐‐icmp‐type any ‐j ACCEPT<br />

17 # Permit ESP and AH (for IPSEC)<br />

18 ‐A RH‐Firewall‐1‐INPUT ‐p 50 ‐j ACCEPT<br />

19 ‐A RH‐Firewall‐1‐INPUT ‐p 51 ‐j ACCEPT<br />

20 # Permit hosts on local LAN<br />

21 ‐A RH‐Firewall‐1‐INPUT ‐s 2001:db8:feed:face::0/64 ‐j ACCEPT<br />

22 # Permit established sessions already in state table<br />

23 ‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state ESTABLISHED,RELATED ‐j ACCEPT<br />

24 # Permit SSH<br />

25 ‐A RH‐Firewall‐1‐INPUT ‐m state ‐‐state NEW ‐m tcp ‐p tcp ‐‐dport 22 ‐j<br />

ACCEPT<br />

26 # Permit DNS<br />

27 ‐A RH‐Firewall‐1‐INPUT ‐s 2001:db8:feed:face::0/64 ‐m state ‐‐state NEW<br />

‐m udp ‐p udp ‐‐dport 53 ‐j ACCEPT<br />

28 ‐A RH‐Firewall‐1‐INPUT ‐s 2001:db8:feed:face::0/64 ‐m state ‐‐state NEW<br />

‐m tcp ‐p tcp ‐‐dport 53 ‐j ACCEPT<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

17


n etzwerk<br />

iPv6<br />

Hurricane Electric [1]. Wer hinter einer<br />

NAT-Firewall sitzt, findet eventuell eine<br />

Lösung in dem Tunnel Broker <strong>und</strong> der<br />

Adapter-Software von Sixxs [2].<br />

Sich zu registrieren sollte kein großes<br />

Problem darstellen. Damit bekommen<br />

Sie meistens entweder einen /64-Block<br />

(wenn Sie nur ein Netz brauchen) oder<br />

einen /48-Block (für mehrere Netze).<br />

Die Beispiele in diesem Artikel gehen<br />

von einem /48-Netz aus. Wer ein /48-<br />

Netz erhält, bekommt vielleicht sowieso<br />

noch ein zusätzliches /64-Subnetz für<br />

die Tunnelverbindung dazu. Bei der Konfiguration<br />

des Tunnels fragt der Broker<br />

nach der öffentlichen IP-Adresse Ihres<br />

Listing 3: router-konfiguration<br />

01 router> edit<br />

02 [edit]<br />

03 router# set system internet‐options<br />

ipip‐path‐mtu‐discovery<br />

04 router# edit interfaces ip‐0/0/0.0<br />

05 [edit interfaces ip‐0/0/0 unit 0]<br />

06 router# set description "6in4 tunnel to<br />

Hurricane Electric Tunnel Broker"<br />

07 [edit interfaces ip‐0/0/0 unit 0]<br />

08 router# set point‐to‐point<br />

09 [edit interfaces ip‐0/0/0 unit 0]<br />

10 router# set tunnel source 203.0.113.89<br />

11 [edit interfaces ip‐0/0/0 unit 0]<br />

12 router# set tunnel destination 198.51.100.5<br />

13 [edit interfaces ip‐0/0/0 unit 0]<br />

14 router# set tunnel path‐mtu‐discover<br />

15 [edit interfaces ip‐0/0/0 unit 0]<br />

16 router# set family inet6 mtu 1280<br />

17 [edit interfaces ip‐0/0/0 unit 0]<br />

18 router# set family inet6 address<br />

2001:db8:930:7000::2/64<br />

Gateway. Wenn Sie die nicht kennen, hilft<br />

eine Abfrage von [whatismyipaddress.​<br />

​com] weiter.<br />

Juniper-Router<br />

Sind die Adressen für den Tunnel <strong>und</strong> das<br />

lokale Netzwerk konfiguriert, kommt als<br />

Nächstes der Router dran. Zuerst sollten<br />

Sie sicherstellen, dass Sie nicht versehentlich<br />

IPv6-Verbindungen mit Hosts<br />

aufbauen, die keine Security Policy haben.<br />

Das können Sie beispielsweise mit<br />

einer passenden ACL auf dem Router machen<br />

oder indem Sie den IPv6-Support<br />

bei allen Hosts erst mal ausschalten.<br />

19 [edit interfaces ip‐0/0/0 unit 0]<br />

20 router# show<br />

21 description "6in4 tunnel to Hurricane Electric<br />

Tunnel Broker";<br />

22 point‐to‐point;<br />

23 tunnel {<br />

24 source 203.0.113.89;<br />

25 destination 198.51.100.5;<br />

26 path‐mtu‐discovery<br />

27 }<br />

28 family inet6 {<br />

29 mtu 1280;<br />

30 address 2001:db8:930:7000::2/64;<br />

31 }<br />

32 [edit interfaces ip‐0/0/0 unit 0]<br />

33 router# top<br />

34 [edit]<br />

35 router# commit and‐quit<br />

36 commit complete<br />

37 Exiting configuration mode<br />

Der Firewall-Support per IP6tables <strong>unter</strong><br />

Linux funktioniert ganz ähnlich wie<br />

das bekannte IPtables, wenn man sich<br />

erst einmal an die neuen IPv6-Adressen<br />

gewöhnt hat. Listing​1 zeigt einen Ausschnitt<br />

aus einer Firewall-Konfiguration,<br />

Listing​2 das Gegenstück für IPv6.<br />

Wenn Router <strong>und</strong> Hosts abgesichert sind,<br />

können Sie die IPv6-Verbindung auf dem<br />

Router aktivieren. Jeder Tunnel führt je<br />

eine Adresse für die Innen- <strong>und</strong> die Außenseite.<br />

Die Außen-Adresse ist die öffentliche<br />

IPv4-Adresse des Geräts, das<br />

den Tunnelendpunkt bildet. Im Beispiel<br />

besitzt der Tunnel die Adressen 198.<br />

51.100.5 (Provider-Seite des Tunnels) <strong>und</strong><br />

203.0.113.89 (lokales Tunnelende). Die<br />

Innen-Adressen sind 2001:db8:930:7000<br />

::1/64 (Provider) <strong>und</strong> 2001:db8:930:7000<br />

::2/64 (lokal).<br />

Sie testen die Verbindung mit einem Ping<br />

vom lokalen Tunnelendpunkt zum Router<br />

auf der anderen Seite. Unter Linux können<br />

Sie bei Ping mit »-I« die Quelladresse<br />

angeben:<br />

ping ‐I 203.0.113.89 198.51.100.5<br />

Auf einem Juniper-Router beispielsweise<br />

sieht der entsprechende Aufruf so aus:<br />

ping 198.51.100.5 source 203.0.113.89<br />

Funktioniert dies, können Sie mit dem<br />

Code aus Listing​3 auf dem Router den<br />

Tunnel einrichten.<br />

Jetzt sollte ein Ping auch über das IPv6-<br />

Protokoll funktionieren:<br />

ping 2001:db8:930:7000::1 source 2001:db8:U<br />

930:7000::2<br />

Listing 4: iPv6-Adresse für den router<br />

01 router> edit<br />

02 [edit]<br />

03 router# edit interfaces ge‐0/0/0.0<br />

04 [edit interfaces ge‐0/0/0 unit 0]<br />

05 router# edit family inet6<br />

06 [edit interfaces ge‐0/0/0 unit 0 family inet6]<br />

07 router# set mtu 1280<br />

08 [edit interfaces ge‐0/0/0 unit 0 family inet6]<br />

09 router# set address 2001:db8:930:5ffe::1/64<br />

10 [edit interfaces ge‐0/0/0 unit 0 family inet6]<br />

11 router# set address 2001:db8:930:5ffe::/64<br />

eui‐64<br />

12 [edit interfaces ge‐0/0/0 unit 0 family inet6]<br />

13 router# set address 2001:db8:930:5ffe::/64<br />

primary<br />

14 [edit interfaces ge‐0/0/0 unit 0 family inet6]<br />

15 router# up<br />

16 [edit interfaces ge‐0/0/0 unit 0]<br />

17 router# show<br />

18 description "LAN Segment 1"<br />

19 family inet {<br />

20 mtu 1280;<br />

21 address 192.168.0.1/24;<br />

22 }<br />

23 family inet6 {<br />

24 mtu 1280;<br />

25 address 2001:db8:930:5ffe::1/64;<br />

26 address 2001:db8:930:5ffe::/64 {<br />

27 eui‐64;<br />

28 primary;<br />

29 }<br />

30 }<br />

31 [edit interfaces ge‐0/0/0 unit 0]<br />

32 router# commit and‐quit<br />

33 commit complete<br />

34 Exiting configuration mode<br />

Im Erfolgsfall ist Ihr Router nun mit dem<br />

IPv6-Internet verb<strong>und</strong>en. Im nächsten<br />

Schritt aktivieren Sie IPv6 im lokalen<br />

Netz. Die lokale Routeradresse konfigurieren<br />

Sie auf einem Juniper-Gerät wie<br />

in Listing​4.<br />

Automatisch<br />

Wenn Sie das Kommando »show« eingeben,<br />

sehen Sie den Abschnitt »inet« mit<br />

der bestehenden IPv4-Konfiguration. Neu<br />

hinzugekommen ist die IPv6-Konfiguration<br />

im Abschnitt »family inet6«. Die<br />

Hosts bekommen im Netzwerk vom Router<br />

nun eine IPv6-Adresse zugewiesen<br />

(per Stateless Autoconfiguration). Damit<br />

können sich die Rechner <strong>unter</strong>einander<br />

18 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


OPEN SOURCE IT MANAGEMENT<br />

Nagios <strong>Monitoring</strong> Bacula MuleESB Request Tracker Consulting<br />

Konferenzen Reporting OTRS Puppet Managed Services Icinga<br />

Jasper OpenNMS MySQL Schulungen Hosting MySQL Supportverträge<br />

AKTUELLE SCHULUNGEN:<br />

http://www.netways.de/training<br />

NAGIOS Open Source <strong>Monitoring</strong><br />

Basis- sowie vertiefter Einblick in die Open<br />

Source <strong>Monitoring</strong> Software Nagios.<br />

Wir <strong>unter</strong>stützen Unternehmen bei der Überwachung<br />

<strong>und</strong> Verwaltung von komplexen IT Netzwerken mit<br />

Open Source Software. Profitieren Sie von unserer<br />

Erfahrung aus mehr als 200 erfolgreichen Projekten.<br />

http://www.netways.de<br />

PUPPET Configuration Management<br />

Erfahren Sie alles über die Konfiguration<br />

<strong>und</strong> Anwendung von Puppet.<br />

JASPER SLA Reporting<br />

Einführung in das Thema Reporting mit<br />

Jasper Reports.


n etzwerk<br />

iPv6<br />

pingen <strong>und</strong> den Router erreichen. Für<br />

den Internetzugang über IPv6 ist noch<br />

das Routing anzupassen, am einfachsten<br />

mit einer Default-Route wie in Listing​5.<br />

Listing 5: default-route<br />

01 router> edit<br />

02 [edit]<br />

03 router# edit routing‐options rib inet6.0 static<br />

04 [edit routing‐options rib inet6.0 static]<br />

05 router# set route ::/0 next‐hop 2001:db8:930:7000::1<br />

06 [edit routing‐options rib inet6.0 static]<br />

07 router# show<br />

08 route ::/0 next‐hop 2001:db8:930:7000::1;<br />

09 [edit routing‐options rib inet6.0 static]<br />

10 router# commit and‐quit<br />

11 commit complete<br />

12 Exiting configuration mode<br />

13<br />

14 router><br />

Listing 6: »named.conf«<br />

01 options {<br />

02 directory "/var/named";<br />

03 dump‐file "data/cache_dump.db";<br />

04 statistics‐file "data/named_stats.txt";<br />

05 listen‐on { any; };<br />

06 listen‐on‐v6 { any; };<br />

07 };<br />

08<br />

09 logging {<br />

10 channel all {<br />

11 syslog daemon;<br />

12 severity debug;<br />

13 print‐time true;<br />

14 print‐severity true;<br />

15 print‐category true;<br />

Listing 7: »named.conf« für iPv6<br />

01 ...<br />

02 view v6_test {<br />

03 match‐clients {<br />

04 v6_clients;<br />

05 };<br />

06<br />

07 zone example.com {<br />

08 type master;<br />

09 file "named6.example.com";<br />

10 };<br />

11<br />

12 zone 2.0.192.in‐addr.arpa {<br />

13 type master;<br />

14 file "named.192.0.2‐24.rev";<br />

15 };<br />

16 zone<br />

17 0.3.9.0.8.b.d.0.1.0.0.2.in6.arpa {<br />

18 type master;<br />

19 file "named.2001.db8.930‐48.rev";<br />

20 };<br />

21 };<br />

22<br />

Wenn die Default-Route ins IPv6-Internet<br />

eingerichtet ist, kommen schließlich die<br />

einzelnen Rechner dran.<br />

Im Weiteren soll es darum gehen, wie<br />

man auf Linux-<strong>Server</strong>n die verschiedenen<br />

<strong>Dienste</strong> mit IPv6 zum Laufen bekommt.<br />

Zuerst lernen Sie ein paar nützliche Linux-Tools<br />

für Verbindungstests <strong>und</strong> so<br />

weiter kennen. Das klassische Ping-Kommando<br />

für IPv6 heißt »ping6«:<br />

ping6 2001:db8:930:7000::1<br />

Die eigene IPv6-Adresse zeigt der folgende<br />

Befehl:<br />

ip ‐f inet6 addr show<br />

Ein weiterer Aufruf des IP-Tools zeigt die<br />

benachbarten IPv6-fähigen Rechner an,<br />

ähnlich wie bei IPv4 der Arp-Befehl:<br />

16 };<br />

17 };<br />

18<br />

19 include "/etc/rndc.key";<br />

20<br />

21 zone example.com {<br />

22 type master;<br />

23 file "named.example.com";<br />

24 };<br />

25<br />

26 zone 2.0.192.in‐addr.arpa {<br />

27 type master;<br />

28 file "named.192.0.2‐24.rev";<br />

29 };<br />

23 view default {<br />

24<br />

25 match‐clients {<br />

26 any;<br />

27 };<br />

28<br />

29 zone example.com {<br />

30 type master;<br />

31 file "named.example.com";<br />

32 };<br />

33<br />

34 zone 2.0.192.in‐addr.arpa {<br />

35 type master;<br />

36 file "named.192.0.2‐24.rev";<br />

37 };<br />

38 zone<br />

39 0.3.9.0.8.b.d.0.1.0.0.2.in6.arpa {<br />

40 type master;<br />

41 file "named.2001.db8.930‐48.rev";<br />

42 };<br />

43 };<br />

$ ip ‐f inet6 neigh show<br />

2001:db8:930:5ffe::1 dev eth0 U<br />

lladdr 2c:6b:f5:03:0a:20<br />

Die meisten <strong>Dienste</strong> sind nicht sehr<br />

schwierig für IPv6 zu konfigurieren.<br />

Mit DNS, IMAP/ POP, SMTP <strong>und</strong> HTTP<br />

sollte es keine großen Probleme geben,<br />

die treten typischerweise eher mit selbst<br />

geschriebenen Programmen auf oder mit<br />

Management- oder <strong>Monitoring</strong>-Software,<br />

die keine IPv6-Adressen parsen kann.<br />

DNS-Sicht hilft bei der<br />

Migration<br />

Es empfiehlt sich, eine eigene Ansicht<br />

für autorisierte DNS-Clients einzurichten,<br />

damit die IPv6-<strong>Dienste</strong> nicht andere<br />

Clientrechner verwirren. Das ist zwar etwas<br />

schwieriger zu konfigurieren, aber<br />

letztlich besser als der Gebrauch eigener<br />

Namen für IPv6-<strong>Dienste</strong>. Aufwändiger<br />

ist es deshalb, weil der Administrator<br />

die Zone-Dateien doppelt pflegen <strong>und</strong><br />

eine eigene Konfiguration für die Ansicht<br />

erstellen muss, wie auch eine ACL für<br />

autorisierte Clients.<br />

Dafür hat er den Vorteil, leichter <strong>und</strong><br />

mit weniger Änderungen in einer Produktivumgebung<br />

auf IPv6 umschalten<br />

zu können, zum Beispiel ohne Probleme<br />

mit Hostnamen bei X.509-Zertifikaten<br />

von SSL/ TLS-<strong>Dienste</strong>n. Generell ist dieser<br />

Ansatz näher an der Praxis als eigene<br />

Hostnamen für IPv6-<strong>Dienste</strong>.<br />

Die DNS-Beispiele basieren alle auf dem<br />

Bind-<strong>Server</strong>, mit anderen Softwarepakete<br />

funktioniert es aber ähnlich. Es geht mit<br />

einer angepassten Ansicht in »named.<br />

conf« los, die eine Domain »example.<br />

com« konfiguriert (Listing​6).<br />

Als Erstes legen Sie die Rechner fest,<br />

welche die IPv6-Einträge sehen dürfen.<br />

Fügen Sie dazu vor Zeile 21 den folgenden<br />

Abschnitt ein:<br />

acl v6_clients {<br />

192.0.2.147;<br />

192.0.2.159;<br />

192.0.2.223;<br />

};<br />

Als Nächstes legen Sie mehrere Views<br />

der Zone an. Dazu kopieren Sie die Zone-<br />

Datei »named.example.com« in eine neue<br />

Datei namens »named6.example.com«.<br />

Ändern Sie anschließend die Datei »named.conf«<br />

so ab, dass sie die Zeilen aus<br />

Listing​7 enthält.<br />

20 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


iPv6<br />

n etzwerk<br />

Die Views »v6_test« <strong>und</strong> »default« enthalten<br />

beide den vollständigen Satz an<br />

Domains, die für jene Clients sichtbar<br />

sind, die die jeweilige View zugewiesen<br />

bekommen. Deshalb sind beide Reverse-<br />

Zones in beiden Views definiert. Weil sie<br />

dasselbe Master-File verwenden, liefern<br />

sie auch die gleichen Daten aus. Nur die<br />

Zone »example.com« enthält eine andere<br />

Zone-Datei.<br />

Ein AAAA-Record verbindet eine IPv6-<br />

Adresse mit einem Hostnamen. Sie können<br />

nun AAAA-Records in der V6-Version<br />

der Zone-Datei von »example.com« hinzufügen.<br />

Ein solcher Eintrag sieht beispielsweise<br />

so aus:<br />

host IN A 192.0.2.153<br />

IN AAAA 2001:db8:930:5ffe::99<br />

Vergessen Sie nicht die Seriennummer im<br />

SOA-Eintrag zu erhöhen. Die beiden Seriennummer<br />

der jeweiligen Zone-Dateien<br />

für IPv4 <strong>und</strong> IPv6 müssen nicht übereinstimmen.<br />

Tatsächlich markieren manche<br />

Admins damit die Version, die für einen<br />

bestimmten Client gerade gültig ist.<br />

Wenn Sie nun den Nameserver anweisen,<br />

die Konfiguration neu zu laden, können<br />

Sie den Name-Service ausprobieren. Testen<br />

Sie dazu von einem Rechner, der in<br />

der ACL steht, <strong>und</strong> einem, der nur die<br />

IPv4-Konfiguration abrufen darf.<br />

E-Mail<br />

Als Beispiel für die IPv6-Konfiguration<br />

von IMAP <strong>und</strong> POP soll Dovecot dienen,<br />

der sich ohnehin in den letzten Jahren einen<br />

guten Ruf als sicherer <strong>und</strong> zuverlässiger<br />

IMAP-<strong>Server</strong> erworben hat. Listing​<br />

8 zeigt eine minimale Konfigurationsdatei<br />

»/etc/dovecot.conf«, mit der sich<br />

der <strong>Server</strong> an IPv4- <strong>und</strong> IPv6-Adressen<br />

bindet. Alternativ setzen Sie die Listen-<br />

Direktiven auch in den einzelnen IMAP<strong>und</strong><br />

POP3-Abschnitten ein.<br />

Sendmail-Anwender können ihren Mailserver<br />

mit einer einfachen Änderung<br />

IPv6-tauglich machen. Prinzipiell gibt es<br />

dafür zwei Möglichkeiten, wie Listing​9<br />

zeigt. Welche Zeile Sie auskommentieren,<br />

hängt von Ihrer Konfiguration ab.<br />

Bei den meisten Systemen funktioniert<br />

der IPv6-Listener mit IPv6 <strong>und</strong> IPv4. Auf<br />

manchen Systemen, zum Beispiel einigen<br />

BSD-Varianten, muss man beide Listener<br />

aktivieren, damit es funktioniert.<br />

Unter Linux kommentieren Sie die V4-<br />

Zeile aus <strong>und</strong> fügen die V6-Zeile hinzu.<br />

Die Namen »MTA-v4« <strong>und</strong> »MTA« sind<br />

nicht weiter wichtig, sie werden nur verwendet,<br />

um sich an anderer Stelle in der<br />

Konfiguration darauf zu beziehen.<br />

Webserver<br />

Der Apache-<strong>Server</strong> macht es Administratoren<br />

leicht, einen Namen-basierten<br />

virtuellen Host auf IPv6 zu migrieren.<br />

Sie müssen dazu einfach nur an den entsprechenden<br />

Stellen die IPv6-Adressen<br />

hinzufügen, etwa so:<br />

Listen 192.159.10.7:80<br />

Listen [2001:db8::400:7]:80<br />

<br />

<strong>Server</strong>Name www.delong.com<br />

Es genügt also, eine weitere Listen-Zeile<br />

<strong>und</strong> die Adresse in der Virtualhost-Konfiguration<br />

einzutragen. Hier sieht man<br />

auch ein typisches Problem bei der Migration<br />

auf IPv6: Die meisten Administratoren<br />

sind die Notation einer IP-Adresse<br />

mit Doppelpunkt <strong>und</strong> Port gewohnt. Das<br />

führt bei IPv6-Adressen zu Verwirrungen,<br />

weil sie ja selbst den Doppelpunkt<br />

als Trennzeichen verwenden. Deshalb<br />

schließen viele Anwendungen die Adresse<br />

selbst in eckige Klammern ein <strong>und</strong><br />

lassen erst danach einen weiteren Doppelpunkt<br />

<strong>und</strong> die Portnummer folgen.<br />

DNS sichern<br />

Wenn alles läuft, können Sie vom Test- in<br />

den Produktionsmodus übergehen. Dazu<br />

wenden Sie sich noch einmal dem DNS-<br />

Dienst zu, die anderen <strong>Dienste</strong> brauchen<br />

Sie nicht mehr anzufassen. Stellen sie zuerst<br />

sicher, dass sich die IPv4- <strong>und</strong> IPv6-<br />

Zone-Dateien nur in den AAAA-Records<br />

<strong>unter</strong>scheiden:<br />

diff named.example.com named6.example.comU<br />

| grep '^>' | grep ‐v '\s+AAAA\s+'<br />

Sollten dieser Befehl etwas ausgeben,<br />

müssen Sie die Konfiguration noch einmal<br />

überarbeiten. Andernfalls können<br />

Sie die Datei »named.example.com« irgendwo<br />

sichern <strong>und</strong> aus der Nameserver-Konfiguration<br />

löschen. Benennen Sie<br />

dann »named6.example.com« in »named.<br />

example.com« um <strong>und</strong> stellen dabei sicher,<br />

dass die Seriennummer höher ist als<br />

die letzte der alten Zone-Datei. Entfernen<br />

Sie die Testansicht <strong>und</strong> den Zone-Wrapper<br />

aus der Konfiguration.<br />

Fazit<br />

Mit diesen Schritten ist die Migration<br />

eines kleinen Netzwerks nach IPv6 abgeschlossen.<br />

Eine komplexe Umgebung,<br />

zum Beispiel mit <strong>Monitoring</strong>-Systemen,<br />

Log- <strong>und</strong> Installations-<strong>Server</strong>n <strong>und</strong> so<br />

weiter erfordert natürlich mehr Aufwand.<br />

Weil die Wahrscheinlichkeit groß ist,<br />

dass es Ende 2011 wirklich keine neuen<br />

IPv4-Adressen mehr gibt, sollten Sie jetzt<br />

schon damit experimentieren. (ofr) n<br />

Infos<br />

[1] Tunnel Broker: [http://tunnelbroker.net]<br />

[2] Sixxs: [http://www.sixxs.net]<br />

Der Autor<br />

Owen DeLong ist IPv6-Evangelist bei Hurricane<br />

Electric <strong>und</strong> ein Mitglied des ARIN Advisory<br />

Council. Er hat mehr als 20 Jahre Erfahrung als<br />

Netzwerk-Administrator <strong>und</strong> -Experte. Owen hält<br />

häufig Vorträge über IPv6 auf Konferenzen weltweit.<br />

Wenn er nicht <strong>unter</strong>wegs ist, arbeitet er<br />

auch als Pilot <strong>und</strong> als Tauchlehrer.<br />

Listing 8: »dovecot.conf«<br />

01 mail_location = mbox:~:INBOX=/var/mail/%u<br />

02 mbox_dirty_syncs = yes<br />

03 protocol imap {<br />

04 }<br />

05<br />

06 protocol pop3 {<br />

07 }<br />

08 protocol lda {<br />

09 postmaster_address = postmaster@example.com<br />

10 }<br />

11<br />

12 listen = [::]<br />

Listing 9: »sendmail.mc«<br />

01 dnl DAEMON_OPTIONS(`Name=MTA, Family=inet')<br />

02 dnl # The following causes sendmail to<br />

03 dnl # additionally listen on the IPv6<br />

04 dnl # addresses.<br />

05 DAEMON_OPTIONS(`port=smtp, Name=MTA, Family=inet6')<br />

06 dnl #<br />

07 dnl # enable both ipv6 and ipv4<br />

in sendmail:<br />

08 dnl #<br />

09 dnl DAEMON_OPTIONS(`Name=MTA‐v4, Family=inet')<br />

10 dnl #<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

21


connectPlus<br />

connectPlus<br />

Als Schaltzentrale für den VoIP-Dienst in Ihrem<br />

Namen erhalten Sie ein komplexes <strong>und</strong> dennoch<br />

einfach zu bedienendes Webfrontend.<br />

Tarife verwalten<br />

Definieren Sie Minutenpreise <strong>und</strong> Taktungen.<br />

So bestimmen Sie Ihren Gewinn selbst.<br />

K<strong>und</strong>en anlegen<br />

Legen Sie Ihre K<strong>und</strong>en an, weisen Sie ihnen<br />

Tarife zu <strong>und</strong> aktivieren Sie Features, wie Fax-<br />

2Mail, Voicebox, callManager <strong>und</strong> vieles mehr.<br />

Rufnummern bestellen<br />

Teilen Sie Ihren K<strong>und</strong>en neue Rufnummern zu<br />

oder portieren Sie bereits vorhandene. Dabei<br />

stehen Ihnen alle 5204 Vorwahlen aus ganz<br />

Deutschland zur Verfügung.<br />

* Alle Preise inkl. MwSt. - Bei Vertragsabschluss bis 28.02.2011<br />

keine Einrichtungsgebühren <strong>und</strong> keine Gr<strong>und</strong>gebühren für die<br />

ersten drei Monate. Sonderkündigungsrecht innerhalb der 90-tägigen<br />

Testphase. Gilt für alle Neuk<strong>und</strong>en, die in den letzen sechs<br />

Monaten keine K<strong>und</strong>en der outbox AG waren.<br />

90 Tage risikofrei testen!<br />

Aktionscode: AM111<br />

Setupgebühren<br />

3 x Gr<strong>und</strong>gebühren<br />

237 99* €<br />

356 97* €<br />

0,-<br />

0,-<br />

€<br />

€<br />

www.outbox.de/admin


Bereit zur Kontaktaufnahme:<br />

Das Komplettpaket für VoIP - Reseller.<br />

connectPlus ist das Komplettpaket für Ihr<br />

eigenes Telefonie-Business. Starten Sie ohne<br />

Investitionskosten für Hard- <strong>und</strong> Software in<br />

den Wachstumsmarkt Voice-over-IP. Dank<br />

vorkonfigurierter <strong>Server</strong> bringen Sie Ihr<br />

VoIP - Angebot schnell auf den Markt. Einfach<br />

online K<strong>und</strong>en anlegen, Tarife definieren<br />

<strong>und</strong> Rufnummern zuweisen - Fertig!<br />

Fortlaufender Verdienst<br />

durch Telefonminuten <strong>und</strong> Gr<strong>und</strong>gebühren.<br />

Sofort startklar<br />

durch die Nutzung unserer vorkonfigurierten<br />

VoIP-<strong>Server</strong> inkl. Online-Verwaltung.<br />

Flexibel erweiterbar<br />

dank Rufnummern aus über 40 Ländern<br />

weltweit sowie 0800, 0180 <strong>und</strong> 0700<br />

Servicerufnummern.<br />

Auch als API-Version verfügbar<br />

Infos <strong>und</strong> Beratung: 0800 / 688 269 24


NETZWERK<br />

iLiveX<br />

Linux-Remote-Desktop auf dem iPad<br />

Auf dem Tablett<br />

Die Software iLiveX bringt einen Linux-Desktop aufs iPad. Oliver Frommel<br />

sellingpix, Fotolia<br />

Als vor einigen Monaten der Hersteller<br />

Starnet eine iPad-App vorstellte, die einen<br />

Remote-Desktop für Linux-Systeme<br />

versprach, wollte das <strong>ADMIN</strong>-<strong>Magazin</strong><br />

sie gleich testen. Leider war das schwieriger<br />

als gedacht, denn Apple führt für<br />

die USA <strong>und</strong> Europa getrennte App Stores<br />

<strong>und</strong> die Anwendung namens iLiveX war<br />

nur im amerikanischen Store verfügbar.<br />

Das iPad so zu konfigurieren, dass es den<br />

US-Store verwendet, scheiterte letztlich<br />

daran, dass dazu ein Wohnort in den<br />

USA nötig ist, was wiederum mit den<br />

hinterlegten Daten für die Kreditkarte<br />

kollidierte.<br />

Ein paar Wochen später teilte uns die<br />

Firma mit, dass iLiveX nun auch in Europa<br />

zu kaufen sei <strong>und</strong> gab uns auch<br />

einen Gutschein-Code, um den Kauf der<br />

Anwendung zu Rezensionszwecken zu<br />

ersparen. Auch das stellte sich als unmöglich<br />

heraus, da der Gutschein-Code<br />

nur für den amerikanischen Store gültig<br />

war. Schließlich entschieden wir uns dafür<br />

die 12 Euro zu bezahlen <strong>und</strong> installierten<br />

die Software per Knopfdruck auf<br />

dem iPad.<br />

Zusätzlich erfordert iLiveX auf dem Linux-PC<br />

die Installation des Live-<strong>Server</strong>-<br />

Pakets, der auch für die anderen Remote-<br />

Desktop-Produkte von Starnet nötig ist.<br />

Fertige Distributionspakete gibt es für<br />

Red Hat Enterprise Linux 4 <strong>und</strong> 5, Suse,<br />

Ubuntu, aber auch HP-UX, Solaris <strong>und</strong><br />

AIX. Für jedes System existiert ein Paket<br />

im distributionseigenen Format, das<br />

der Administrator systemweit installieren<br />

kann, <strong>und</strong> ein Tar-Paket, das normale Benutzer<br />

einfach in ihrem Home-Verzeichnis<br />

entpacken.<br />

An Systemvoraussetzungen gibt es nicht<br />

viel zu beachten, es muss nur der SSH-<br />

<strong>Server</strong> installiert sein <strong>und</strong> mit »AllowTcp-<br />

Forwarding yes« in seiner Konfigurationsdatei<br />

»sshd_config« TCP-Forwarding erlauben.<br />

Anwender von Suse Linux Enterprise<br />

9 brauchen noch einen Patch, den<br />

Starnet in seinem Installations-Howto für<br />

Linux verlinkt hat.<br />

Einfache Konfiguration<br />

Das <strong>Server</strong>-Paket näher zu konfigurieren<br />

ist überflüssig, denn iLiveX startet den<br />

Remote-Desktop auf dem <strong>Server</strong> einfach<br />

mit einem Remote-Aufruf des Programms<br />

»rxlaunch«. Dazu muss der Anwender auf<br />

der iPad-App nur seine Login-Daten <strong>und</strong><br />

den Hostnamen des <strong>Server</strong>s eingeben,<br />

der Rest geschieht automatisch (Abbildung<br />

1). Im Test gab es hierbei keinerlei<br />

Probleme, prompt erschien der Gnome-<br />

Desktop auf dem iPad (Abbildung 2).<br />

Alternativ kann der Anwender auch eine<br />

KDE- oder reine X11-Sitzung auswählen.<br />

Ein Dreifingerdruck auf den Bildschirm<br />

des Touchpad aktiviert die Tastatur. Leider<br />

verdeckt diese auf dem iPad beinahe<br />

den halben Bildschirm, weshalb der Anwender<br />

zum Beispiel geöffnete Terminalfenster<br />

erst einmal verkleinern muss,<br />

um sie überhaupt benutzen zu können<br />

(Abbildung 2).<br />

iLiveX stellt den Remote-Desktop flüssig<br />

dar, beim Ausklappen der Menüs gibt es<br />

keine Verzögerungen oder sonstige Artefakte.<br />

Leider führt die Einblendung der<br />

Apple-eigenen Menüleiste schon dazu,<br />

dass die Auflösung des Gnome-Desktops<br />

<strong>und</strong> der iLiveX-Anwendung um einige<br />

Pixel voneinander abweicht <strong>und</strong> man den<br />

Remote-Desktop also an den Rändern<br />

immer ein bisschen scrollen muss. Die<br />

größte Schwierigkeit liegt naturgemäß in<br />

der Emulation der <strong>unter</strong> Linux dreitastigen<br />

Maus durch den Touchscreen des<br />

iPad. Einen Rechtsklick erreicht der Anwender<br />

mit einem Zweifingerdruck auf<br />

den Touchscreen.<br />

Bricht die Verbindung ab oder beendet<br />

der Anweder das iPad-Programm, speichert<br />

der <strong>Server</strong> die aktuelle Sitzung. Bei<br />

der nächsten Verbindung kann er dann<br />

an derselben Stelle weitermachen. Will<br />

er die Sitzung explizit beenden, wählt er<br />

im Menü »Terminate«. Mangels So<strong>und</strong>-<br />

Support im uralten X11-Protokoll, auf<br />

dem iLiveX letztlich basiert, muss der<br />

Anwender auch auf jede Audio-Ausgabe<br />

verzichten. Die etwa 20 Euro teure Pro-<br />

Version von iLiveX <strong>unter</strong>stützt zusätzlich<br />

die Ausgabe des Desktops als VGA-Signal<br />

am iPad für externe Monitore oder Projektoren.<br />

Allerdings ist dazu noch der<br />

entsprechende Adapter von Apple nötig.<br />

Fazit<br />

Die App iLiveX bringt wie versprochen<br />

den Linux-Desktop auf Apples iPad. Die<br />

Installation der notwendigen <strong>Server</strong>-Soft-<br />

24 AUSGABE 01-2011 <strong>ADMIN</strong> WWW.<strong>ADMIN</strong>-MAGAZIN.DE


iLiveX<br />

NETZWERK<br />

Abbildung 1: Zum Start des Remotedesktops muss der Anwender nur wenige<br />

Daten eingeben.<br />

Abbildung 2: Die Bildschirmtastatur verdeckt einen großen Teil des Desktops.<br />

ware war einfach, die Darstellung des<br />

Gnome-Desktop funktionierte problemlos.<br />

Bei Programmen, die auf Tastatureingaben<br />

angewiesen sind, verkleinert sich<br />

der zur Verfügung stehende Platz durch<br />

die On-Screen-Tastatur auf die Hälfte. Zudem<br />

ist es nicht so einfach, ein Texttermi-<br />

nal mit der Maus-Emulation des Touchpad<br />

kleiner zu ziehen. Dieser Punkt trübt<br />

das Remote-Desktop-Vergnügen naturgemäß,<br />

ansonsten bekommt der Anwender<br />

für wenig Geld eine funktionierende<br />

Software, mit der sich auch auf dem iPad<br />

Linux/Unix-Rechner bedienen lassen. ■<br />

Infos<br />

[1] Starnet:<br />

[http:// www. starnet. com]<br />

[2] Live-<strong>Server</strong>-Installation:<br />

[http:// www. starnet. com/<br />

xwin32kb/ LIVE<strong>Server</strong>_Installation_Linux]<br />

1. Lernen Sie!<br />

Ja, ã training-on-the-jobÒ , oft praktiziert, aber nicht<br />

Ÿ berzeugend. Denn die Kollegen haben nie Zeit<br />

fŸ r echte ErklŠ rungen, au§ erdem werden ã NeueÒ<br />

sofort von dem vereinnahmt, was im Unternehmen<br />

schon seit Ewigkeiten tradiert wird. Warum gibt's<br />

seit 2000 Jahren Schulen <strong>und</strong> UniversitŠ ten?<br />

ã LERNENÒ ist eine vollwertige TŠ tigkeit, auf die<br />

man sich konzentrieren mu§ , die man nicht 'mal<br />

eben so nebenbei tun kann, <strong>und</strong> die immer auch<br />

eine Prise ã ErneuerungÒ beinhalten sollte!<br />

2. Ineffiziente Arbeit nicht akzeptieren!<br />

Je spezialisierter Sie arbeiten, desto weniger<br />

echte, fachliche Kollegen haben Sie in Ihrem eigenen<br />

Unternehmen. Wir stellen deshalb Gruppen<br />

zusammen, in denen Sie neben hilfsbereiten<br />

Kollegen mit Š hnlichen Kenntnissen an IHREM<br />

Projekt arbeiten. Und stŠ ndig ist ein fachlicher Berater<br />

anwesend.<br />

ã Guided CoworkingÒ nennen wir das, <strong>und</strong> es<br />

kš nnte DIE Lš sung fŸ r so manches Projekt sein,<br />

das in Ihrer Firma ã haktÒ .<br />

3. Hintergr<strong>und</strong><br />

Wer den riesigen OpenSource-Baukasten schnell<br />

beherrschen mu§ , geht zu einer unserer Ÿ ber 100<br />

Schulungen. Wer das bereits kann, aber schneller<br />

mit seinen Projekten vorankommen will, der<br />

kommt mit seiner Arbeit zum Guided Coworking.<br />

Wir sind eine der erfolgreichsten Schulungseinrichtungen<br />

im gesamten Bereich ã OpenSourceÒ<br />

- sowohl fŸ r Admins, als auch fŸ r Entwickler.<br />

Siehe www.linuxhotel.de<br />

WWW.<strong>ADMIN</strong>-MAGAZIN.DE<br />

<strong>ADMIN</strong><br />

AUSGABE 01-2011<br />

25


monitoring<br />

icinga<br />

Dmitri Zakovorotny, 123RF<br />

Icinga als Enterprise-<strong>Monitoring</strong>lösung<br />

Neuland<br />

eine immer größere Community schart sich um den nagios-Fork icinga. dieser Artikel versucht eine bestandsaufnahme<br />

<strong>und</strong> stellt das business-Process-Addon <strong>und</strong> die LdAP-Konfiguration vor. bernd erk<br />

Das als Fork von Nagios entstandene<br />

Projekt Icinga [1] hat sich in gut eineinhalb<br />

Jahren zur Enterprise-Variante<br />

der wohl am weitesten verbreiteten<br />

Open-Source-<strong>Monitoring</strong>lösung weiterentwickelt.<br />

Mit über 35 000 Downloads<br />

[2] <strong>und</strong> einer wachsenden Benutzergemeinde<br />

bietet Icinga heute eine stabile<br />

Version mit allen aus Nagios bekannten<br />

Features <strong>und</strong> darüber hinaus einer Vielzahl<br />

an Verbesserungen. Neben vielen<br />

Optimierungen im Bereich des Icinga-<br />

Core, der neben vereinfachter Installation<br />

auch die zusätzliche Unterstützung<br />

von Oracle <strong>und</strong> PostgreSQL beinhaltet, ist<br />

beim Webinterface etwas von Gr<strong>und</strong> auf<br />

Neues entstanden.<br />

Neben den aus Nagios bekannten CGIs,<br />

die auch in Icinga dabei sind <strong>und</strong> dort<br />

mit vielen Features wie Multiselect <strong>und</strong><br />

einer Export-Schnittstelle erweitert wurden,<br />

bietet das auf PHP basierende Interface<br />

viele lange von der Community<br />

geforderte Funktionen. Dieser Artikel gibt<br />

Einblicke in die bestehende Architektur,<br />

das technische Konzept, die Funktionen<br />

<strong>und</strong> wichtigsten Erweiterungen, die für<br />

Icinga heute verfügbar sind.<br />

Architektur<br />

Wie Abbildung 1 zeigt, bildet die Datenbank<br />

in der aktuellen Architektur das<br />

zentrale Bindeglied zwischen dem eigentlichen<br />

Core-Prozess <strong>und</strong> dem neuen Webinterface.<br />

Alle Daten werden mit der im<br />

Core-Teil integrierten Datenbankschnittstelle<br />

(IDOUtils) in ein zentrales relationales<br />

Schema übertragen. Auf diese Informationen<br />

greift Icinga-Web mit PHP-PDO<br />

zu, um die Daten <strong>unter</strong> Berücksichtigung<br />

von Filtern <strong>und</strong> Berechtigungen an den<br />

Benutzer auszuliefern.<br />

Der Datenbankzugriff wird in künftigen<br />

Versionen von Icinga mit Doctrine [3]<br />

abgebildet, das sich als Object Relational<br />

Mapper um die eigentlichen Abfragen<br />

kümmert <strong>und</strong> so die Datenbankunabhängigkeit<br />

sicherstellt. Das Webinterface<br />

selbst kann auf dem Icinga-Hauptserver<br />

oder einem anderen Webserver installiert<br />

werden. Das Doku-Team von Icinga hat<br />

den Installations- <strong>und</strong> Upgrade-Prozess<br />

ausführlich auf [4] beschrieben.<br />

Zu den wichtigsten Kriterien bei der Entwicklung<br />

des neuen Webinterface gehörten<br />

die Modularität der Komponenten sowie<br />

die Möglichkeit, Erweiterungen von<br />

Frontend-Bausteinen, den so genannten<br />

Cronks, <strong>und</strong> Modulen zu vorzunehmen,<br />

ohne das eigentliche Core-Framework verändern<br />

oder berücksichtigen zu müssen.<br />

Auch die Verwendung einer einheitlichen<br />

Benutzerverwaltung <strong>und</strong> Autorisierung<br />

von Anwendern gegen das Basisframework<br />

war <strong>und</strong> ist selbstverständlich von<br />

großer Bedeutung.<br />

Die Wahl fiel gleich zu Beginn des Projekts<br />

auf Agavi, ein auf Mojavi basierendes<br />

MVC-Framework, das sich um das<br />

Kerngeschäft eines Framework kümmert<br />

<strong>und</strong> dem Entwickler keine Vorschriften<br />

26 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


icinga<br />

m onitoring<br />

Abbildung 1: Im Mittelpunkt der Icinga-Architektur steht die Datenbank. Das<br />

können nun neben MySQL auch PostgreSQL oder Oracle sein.<br />

zum verwendeten Persistenz-Framework<br />

oder Templatesystem macht.<br />

Sinn dieses Model-View-Controller-Konzepts<br />

ist die klare Strukturierung einzelner<br />

Applikationselemente bei gleichzeitiger<br />

Unterstützung eines flexiblen<br />

Entwicklungsprozesses. Ein Listing des<br />

Icinga-Webfolder lässt den entsprechenden<br />

Gr<strong>und</strong>aufbau im Filesystem erkennen.<br />

Die eigentlichen Userviews basieren<br />

auf HTML, CSS <strong>und</strong> dem Javascript-<br />

Framework Sencha Ext JS.<br />

Der Vorteil dieses Javascript-Framework<br />

liegt in der Unterstützung einer Vielzahl<br />

von Browsern <strong>und</strong> der Bereitstellung<br />

der klassischen Gr<strong>und</strong>funktionen, zum<br />

Beispiel Tabellen, Layouts <strong>und</strong> Panelvarianten.<br />

Durch Sencha Touch ist vor<br />

Kurzem auch noch ein leistungsfähiges<br />

Framework für mobile Applikationen<br />

hinzugekommen, das bereits in Icinga<br />

Mobile [5] Verwendung findet.<br />

Addons<br />

Gerade der Vielzahl an vorhandenen Erweiterungen<br />

<strong>und</strong> Plugins ist die Popularität<br />

von Icinga zu verdanken. Neben bestehenden<br />

Addons wie Nconf [6], Nagvis<br />

[7] oder PNP4Nagios [8] sind in den<br />

letzten Monaten einige neue Erweiterungen<br />

hinzugekommen, die gerade in großen<br />

Umgebungen die Arbeit mit Icinga<br />

erleichtern <strong>und</strong> die Möglichkeiten der<br />

Plattform ausnutzen. Auf die aus Sicht<br />

des Autors wichtigsten Addons, nämlich<br />

das Business-Process-Addon sowie auf<br />

Lconf geht der Artikel im Folgenden genauer<br />

ein.<br />

Das Business-Process-Addon für Nagios<br />

<strong>und</strong> Icinga [9] hat dessen Entwickler,<br />

Bernd Strössenreuther,<br />

erstmalig auf der Nagios-Konferenz<br />

2007<br />

vorgestellt. Motivation<br />

war – wie so oft im<br />

Open-Source-Umfeld –<br />

der eigene Bedarf,<br />

komplexe Zusammenhänge<br />

zwischen Systemen<br />

darzustellen <strong>und</strong><br />

entsprechend auszuwerten.<br />

Die Erweiterung ist<br />

mit einer wachsenden<br />

Basis von Icinga- <strong>und</strong><br />

Nagios-Benutzern aus<br />

vielen Umgebungen nicht mehr wegzudenken<br />

<strong>und</strong> wird aufgr<strong>und</strong> steigender<br />

Anforderungen in Bezug auf Service Level<br />

<strong>Monitoring</strong> immer wichtiger. Die<br />

Gr<strong>und</strong>funktion des BP-Addon ist sehr<br />

einfach. Es verknüpft die Einzelzustände<br />

verschiedener Systeme mit UND- oder<br />

ODER-Bedingungen – bei Bedarf auch<br />

über mehrere Ebenen hinweg – <strong>und</strong> erlaubt<br />

so die systemübergreifende Zustandsermittlung.<br />

Klassisches Beispiel ist die Webserver-<br />

Farm mit einigen Frontend-<strong>Server</strong>n. Zwar<br />

ist der Ausfall eines <strong>Server</strong>s für den<br />

Admin durchaus wichtig, auf den Service<br />

<strong>und</strong> dessen Verfügbarkeit hat er aber keinen<br />

tatsächlichen Einfluss <strong>und</strong> ist auf<br />

dieser Ebene somit auch differenziert<br />

darzustellen. Ergänzend zur Verbindung<br />

von Objekten kann die Konfiguration<br />

auch mit Schwellenwerten, in diesem Fall<br />

mit der Mindestanzahl verfügbarer Frontend-<strong>Server</strong>,<br />

umgehen <strong>und</strong> das Ergebnis<br />

entsprechend interpretieren.<br />

Das <strong>Monitoring</strong> von Geschäftsprozessen<br />

erlaubt zugleich einen anderen Blick auf<br />

die vorhandene Systemlandschaft. Obwohl<br />

die Forderung nach einer solchen<br />

Sicht meist beim Management oder dem<br />

eigentlichen Service-K<strong>und</strong>en entsteht,<br />

bietet sie auch für Administratoren einen<br />

sinnvollen Mehrwert. Er entsteht quasi<br />

automatisch durch die Service-orientierte<br />

Betrachtung von Warn- <strong>und</strong> Fehlerzuständen,<br />

die den Blick auf das Wesentliche erleichtert<br />

<strong>und</strong> dem Admin die priorisierte<br />

Abarbeitung nach den Auswirkungen das<br />

Ausfalls ermöglicht.<br />

Erfordert etwa der Ausfall einer red<strong>und</strong>anten<br />

Raid-Disk als Critical-Status zwar<br />

das Eingreifen des Admin, ist er dennoch<br />

im Vergleich zum Komplettausfall einer<br />

wichtigen Datenbank wesentlich niedriger<br />

zu priorisieren. Dieser entscheidende<br />

Vorteil macht den Einsatz eines solchen<br />

Addon unverzichtbar.<br />

Die Schwächen der bestehenden Lösung<br />

sind weniger im vorhandenen Featureset<br />

zu sehen, sondern eher in der Konfiguration<br />

komplexer Prozesse <strong>und</strong> deren<br />

visueller Analyse. Genau hier setzen die<br />

Business Cronks for Icinga [10] an. Sie<br />

werden neben der PNP4Nagios-Integration<br />

im Contrib-Folder von Icinga-Web<br />

mitgeliefert <strong>und</strong> mit Phing, einem PHP-<br />

Buildtool, installiert. Die Cronks setzen<br />

auf einer bereits installierten BP-Addon-<br />

Version auf <strong>und</strong> kommunizieren mittels<br />

HTTP <strong>und</strong> Json, um die entsprechenden<br />

Prozesszustände an das Webinterface zu<br />

übertragen.<br />

Die Icinga-Integration des BP-Addon besteht<br />

aus zwei Komponenten: dem Editor-Cronk<br />

zur Erstellung <strong>und</strong> Bearbeitung<br />

bestehender Konfigurationen <strong>und</strong> dem<br />

Overview-Cronk für die Ansicht der aktuellen<br />

Prozesse <strong>und</strong> deren Status. Beide<br />

Elemente stehen nach der Installation in<br />

der Sek<strong>und</strong>ärnavigation von Icinga zur<br />

Verfügung <strong>und</strong> lassen sich mittels Doppelklick<br />

oder Drag & Drop öffnen.<br />

Erstellen <strong>und</strong> Bearbeiten<br />

von Prozessen<br />

Der Editor teilt sich in drei Bereiche (siehe<br />

Abbildung 3): die Liste aller verfügbaren<br />

Konfigurationen, die verfügbaren Konfigurationselemente<br />

<strong>und</strong> das große Hauptfenster<br />

für die Ansicht der bestehenden<br />

Konfiguration. Durch einen Klick auf<br />

die Konfiguration kann der Anwender<br />

sie sehr einfach in den Editor laden <strong>und</strong><br />

dort bearbeiten.<br />

Als Objekttypen stehen Icinga-Services<br />

<strong>und</strong> bestehende Business-Prozesse zur<br />

Verfügung. Die verschachtelte Zusammenstellung<br />

eines Prozesses aus diversen<br />

Einzelprozessen erlaubt so die Wiederverwendung<br />

von Komponenten, zum<br />

Beispiel eines zentralen Datenbankclusters,<br />

der wiederum an mehreren Prozessen<br />

beteiligt sein kann.<br />

Sobald der Anwender einen neuen Objekttyp<br />

aus der verfügbaren Palette mit<br />

Hilfe von Drag & Drop auf einen bereits<br />

bestehenden Teilprozess zieht, erlaubt<br />

ein Popup-Fenster die Auswahl der ge-<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

27


m onitoring<br />

icinga<br />

wünschten Host-Service-Kombination<br />

<strong>und</strong> stellt den geänderten Prozess anschließend<br />

sofort dar.<br />

Gr<strong>und</strong>sätzlich lassen sich alle Elemente<br />

des Editors wie eine Desktop-Applikation<br />

bedienen, in der Kontextmenüs erweiterte<br />

Befehle aktivieren. Nach Fertigstellung<br />

der gewünschten Konfiguration kann der<br />

Anwender sie validieren <strong>und</strong> speichern.<br />

Ein Neustart von Icinga ist nach der Änderung<br />

von Prozessen nicht erforderlich,<br />

das Ergebnis ist sofort im Overview-Cronk<br />

zu sehen. Lediglich die Generierung von<br />

BP-Dummy-Services, die <strong>unter</strong> anderem<br />

für ein Service-Reporting nötig sind, machen<br />

einen Neustart des Hauptprozesses<br />

erforderlich.<br />

Visualisierung von<br />

Prozessen<br />

Neben der Konfiguration ist vor allem die<br />

Visualisierung der Prozesse ein wichtiger<br />

Bestandteil der Icinga-Erweiterung.<br />

Sie bietet eine hierarchische Sicht der<br />

konfigurierten Services in einer dynamischen<br />

Treegrid-View. Nach Aktivierung<br />

der Schaltfläche »Show groups« zeigt das<br />

Tool die zugr<strong>und</strong>e liegenden Konfigurationsregeln<br />

der einzelnen Prozesse an<br />

<strong>und</strong> veranschaulicht nochmals die oben<br />

erläuterte Funktionsweise.<br />

Der Prozess »DNSCluster« besteht in<br />

Abbildung 2 aus drei dar<strong>unter</strong>liegenden<br />

DNS-<strong>Server</strong>n, von denen mindestens einer<br />

verfügbar sein muss, um die Funktion<br />

des Diensts sicherzustellen. Ein Klick auf<br />

das Buch-Icon stellt im rechten Bereich<br />

des Cronk die historischen Events für<br />

einen bestimmten Service dar. Das erlaubt<br />

eine Event-orientierte Bearbeitung<br />

der eingegangen Meldungen <strong>und</strong> bietet<br />

im Rahmen des Problem-Managements<br />

Möglichkeiten zur längerfristigen Fehleranalyse<br />

<strong>und</strong> -vermeidung.<br />

Praktisch: Gespeicherte<br />

Filter<br />

Wie bei allen anderen Icinga-Cronks ist<br />

auch innerhalb der Business Process<br />

Overviews das Filtern aktiver Elemente<br />

möglich. Die entsprechenden Ergebnisse<br />

speichert das Tool in Bezug auf die Session<br />

dauerhaft <strong>und</strong> lädt sie bei der nächsten<br />

Anmeldung wieder. Als besonders<br />

hilfreich erweist sich die mögliche Aufteilung<br />

bestimmter Prozesse auf <strong>unter</strong>schiedliche<br />

Files.<br />

Der modulare Aufbau ermöglicht die Öffnung<br />

<strong>unter</strong>schiedlicher Overview-Cronks<br />

<strong>und</strong> deren parallele Darstellung im Portal.<br />

Bei der Aktivierung des Tree-Symbols<br />

wird der Status des gewählten Objekts<br />

<strong>und</strong> aller Unterprozesse zusätzlich visualisiert<br />

(Abbildung 3). Die Baumansicht<br />

soll in den nächsten Versionen außerdem<br />

eine zusätzliche Navigationsmöglichkeit<br />

anbieten.<br />

Das Business-Process-Addon bietet im<br />

Zusammenspiel mit der Visualisierung<br />

eine modulare, flexible <strong>und</strong> übersichtliche<br />

Darstellung bestehender Prozesse<br />

<strong>und</strong> erleichtert in erheblichem Maß die<br />

Konfiguration komplexer Zusammenhänge.<br />

Anwender, die bereits jetzt das<br />

Addon mit Icinga <strong>und</strong> Nagios verwenden,<br />

müssen die erstellten Konfigurationen<br />

nicht nochmals bearbeiten oder migrieren,<br />

sondern können sofort loslegen.<br />

Lconf<br />

Eine weitere Erweiterung für Icinga ist<br />

<strong>unter</strong> dem Namen Lconf [11] bekannt.<br />

Mancher Nagios- oder Icinga-Anwender<br />

wird sich fragen, wozu noch ein Addon<br />

zur externen Pflege der Konfiguration gut<br />

sein soll. Schließlich gibt es doch Nconf,<br />

Nagios QL, Lilac <strong>und</strong> Nacoma. Die Antwort<br />

ist genau so einfach wie die Motivation<br />

hinter Lconf: Alle bestehenden<br />

Lösungen genügten eben der einen oder<br />

anderen Anforderung nicht, also musste<br />

etwas Neues her.<br />

Die Gr<strong>und</strong>idee hinter Lconf ist die Verwendung<br />

eines LDAP-<strong>Server</strong>s zum Speichern<br />

der Konfiguration. Hier kommt<br />

Lconf mit einer simplen Schema-Erweiterung<br />

im Gepäck – <strong>und</strong> fertig ist die<br />

Installation. Lconf ordnet alle bekannten<br />

Objektstrukturen wie Hosts, Services,<br />

Timeperiods, Contacts <strong>und</strong> die diversen<br />

Gruppentypen in Baumstrukturen an,<br />

den so genannten Structural Objects, <strong>und</strong><br />

verwendet sie als hierarchische Strukturierungsebenen.<br />

So lassen sich einzelne<br />

Host- <strong>und</strong> Service-Elemente etwa nach<br />

Ort, <strong>Server</strong>typ, <strong>Server</strong>raum oder anderen,<br />

ganz willkürlich gewählten Strukturen<br />

sortieren <strong>und</strong> zuordnen.<br />

Besonders wichtig ist, dass die Definition<br />

der eigentlichen Service-Eigenschaften,<br />

also gewissermaßen der Templates, nicht<br />

innerhalb dieser Ebene erfolgen muss,<br />

sondern in eigenen Konfigurationsbereichen.<br />

Die Konfiguration erfolgt <strong>unter</strong> Verwendung<br />

des My-Linux-Template, das in<br />

dem entsprechenden LDAP-Objektbaum<br />

verlinkt ist.<br />

LDAP-Editoren<br />

Abbildung 2: Mehrere Cluster sind hier im Icinga-Editorfenster dargestellt. Der obere übernimmt mit drei<br />

red<strong>und</strong>anten Knoten den DNS-Service.<br />

Alle Objekte kann der Anwender mit<br />

einem LDAP-Editor seiner Wahl in andere<br />

Teilbereiche verschieben <strong>und</strong> bei<br />

Bedarf in die dortige Vererbungsstruktur<br />

integrieren. Gerade diese Freiheit in der<br />

Konfigurationsbearbeitung macht Lconf<br />

äußert flexibel <strong>und</strong> gibt dem Anwender<br />

– entkoppelt von jeder statischen Struktur<br />

– die Möglichkeit, die Elemente nach<br />

seinem Geschmack aufzubauen <strong>und</strong> bei<br />

28 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


icinga<br />

m onitoring<br />

Bedarf zu restrukturieren. Neben der<br />

Schema-Erweiterung bringt Lconf noch<br />

vier Perl-Programme mit, die die Gr<strong>und</strong>funktionalität<br />

von Lconf bilden:<br />

n »LConfImport.pl« ermöglicht den Import<br />

einer bestehenden Konfiguration<br />

durch Parsen der »Status.dat«.<br />

n »LConfExport.pl« generiert die entsprechende<br />

Icinga/ Nagios-Konfiguration<br />

aus dem LDAP-Baum in das<br />

Filesystem.<br />

n »LConfSlaveExport.pl« generiert die<br />

entsprechende Teilkonfiguration für<br />

einen <strong>Monitoring</strong>-Slave.<br />

n »LConfSlaveSync.pl« synchronisiert<br />

Daten <strong>und</strong> Konfiguration zwischen<br />

einem oder mehreren Slaves <strong>und</strong> dem<br />

Master.<br />

Während Lconf von Nagios- <strong>und</strong> Icinga-<br />

Benutzern verwendet werden kann,<br />

steht mit Lconf for Icinga eine integrierte<br />

Konfigurationsverwaltung nur für Icinga<br />

zur Verfügung. Lconf ist im Vergleich<br />

zur Business-Process-Erweiterung keine<br />

Sammlung von Cronks, sondern ein eigenes<br />

Icinga-Modul. Das ist an der Integration<br />

in die Primärnavigation zu erkennen,<br />

welche die Pflege der Verbindungen<br />

<strong>und</strong> den entsprechenden LDAP-Editor<br />

zugänglich macht.<br />

Struktur per User <strong>und</strong><br />

Gruppen<br />

Der Lconf Connection Manager ermöglicht<br />

die granulare Berechtigung bestimmter<br />

Benutzer <strong>und</strong> Benutzergruppen<br />

für einzelne LDAP-Verbindungen. Auch<br />

mehrere Verbindungen auf einen <strong>Server</strong><br />

mit <strong>unter</strong>schiedlichen Einstiegspunkten<br />

sind so möglich <strong>und</strong> erlauben die Delegation<br />

bestimmter Fachgebiete, zum Beispiel<br />

Windows- oder Oracle-<strong>Server</strong>, an<br />

die zuständigen Fachgruppen.<br />

Der LDAP-Editor selbst bietet alle Funktionen<br />

einer klassischen Desktop-Applikation<br />

<strong>und</strong> erlaubt neben Volltextsuche,<br />

Massenänderungen <strong>und</strong> benutzerdefinierten<br />

Filtern auch das Kopieren von<br />

Elementen über <strong>unter</strong>schiedliche Verbindungen<br />

hinweg. So lassen sich Konfigurationen<br />

aus einer Staging-Umgebung mit<br />

einem Mausklick übernehmen.<br />

Der LDAP-Standard <strong>und</strong> die zur Verfügung<br />

stehenden Kommandos <strong>und</strong> Libraries<br />

erlauben zusätzlich noch viele<br />

Erweiterungsmöglichkeiten außerhalb<br />

Abbildung 3: Die Baumansicht zeigt zu einem<br />

Prozess auch die abhängigen Unterprozesse.<br />

des Webinterface. So können beispielsweise<br />

neue CIs aus einer CMDB in ein<br />

Inbox-Folder geladen <strong>und</strong> dort manuell<br />

durch Verschiebung in einer bestimmten<br />

Gruppe integriert werden.<br />

Wer ergänzend zu Lconf-konfigurierten<br />

Objekten noch eigene Definitionen erstellen<br />

<strong>und</strong> pflegen will, kann dies selbstverständlich<br />

in eigenen Konfigurationsordnern<br />

zusätzlich tun <strong>und</strong> diese mittels<br />

Include in der »icinga.cfg« ebenfalls<br />

laden. Eine komfortable Ergänzung bei<br />

durch Lconf erstellten Objekten ist die<br />

Speicherung des entsprechenden Lconf-<br />

Trees innerhalb des Objekts. So kann<br />

der Admin aus den <strong>Monitoring</strong>-Cronks<br />

wie Host- <strong>und</strong> Service-Status direkt in<br />

die Konfiguration des gewählten Objekts<br />

wechseln.<br />

Auch für Nagios-Anwender lohnt sich<br />

der Einsatz von Lconf <strong>und</strong> dessen Bearbeitung<br />

mit Tools wie zum Beispiel<br />

LDAP-Admin. Icinga bietet mit der Integration<br />

in das Interface einen besonderen<br />

Mehrwert samt zentraler Verwaltung <strong>und</strong><br />

Steuerung in einer Oberfläche.<br />

Die Entwicklung geht weiter<br />

Neben den genannten Erweiterungen<br />

gibt es bereits eine Vielzahl weiterer Module<br />

<strong>und</strong> Cronks für Icinga. Neben einer<br />

PNP 4Nagios-Integration, die seit Version<br />

1.2 ebenfalls im Contrib-Verzeichnis enthalten<br />

ist, stehen das Modul Heatmap<br />

[12] für die Visualisierung von Temperaturen<br />

in Rechenzentrumsumgebungen<br />

<strong>und</strong> auch die Event-DB for Icinga zur<br />

Verfügung. Michael Lübben, Entwickler<br />

von Nagtrap <strong>und</strong> früherer Maintainer von<br />

Nagvis hat bereits die Arbeit an seinem<br />

Nagtrap-Modul [13] für Icinga aufgenommen.<br />

Im Wiki des Icinga-Projekts [14]<br />

finden sich einige Howtos, die interessierte<br />

Entwickler bei der Umsetzung von<br />

Modulen <strong>und</strong> Cronks <strong>unter</strong>stützen <strong>und</strong><br />

den Einstieg erleichtern.<br />

Icinga hat sich aufgr<strong>und</strong> der großen aktiven<br />

Entwicklergemeinde <strong>und</strong> vor allem<br />

der Ideen <strong>und</strong> Erweiterungen aus der<br />

Community zur mindestens gleichwertigen<br />

Alternative zu Nagios entwickelt.<br />

Die Installation der Module ist durch den<br />

Install-Prozess standardisiert <strong>und</strong> bietet<br />

gerade in großen Umgebungen mit einheitlicher<br />

Benutzerverwaltung <strong>und</strong> einem<br />

modernen Architekturkonzept viele Vorteile.<br />

Wer seine bestehende Umgebung<br />

in Icinga-Web betrachten will, kann dies<br />

mit Hilfe weniger Schritte tun <strong>und</strong> sich<br />

von dem aktuellen Funktionsumfang des<br />

<strong>Monitoring</strong>-Framework überzeugen. Einfach<br />

die Einstellungen der »nagios.cfg« in<br />

die »icinga.cfg« übernehmen, Konfiguration<br />

an die richtige Stelle kopieren <strong>und</strong><br />

los geht’s. (ofr)<br />

n<br />

Infos<br />

[1] Icinga: [http:// www. icinga. org]<br />

[2] Downloads: [http:// sourceforge. net/<br />

projects/ icinga/ files/]<br />

[3] Doctrine:<br />

[http:// www. doctrine‐project. org]<br />

[4] Installation des Webfrontend:<br />

[http:// docs. icinga. org/ latest/ de/<br />

icinga‐web‐scratch. html]<br />

[5] Icinga Mobile: [http:// www. icinga. org/<br />

about/ icinga‐mobile/]<br />

[6] Nconf: [http:// www. nconf. org]<br />

[7] Nagvis: [http:// www. nagvis. org]<br />

[8] PNP4Nagios:<br />

[http:// www. pnp4nagios. org]<br />

[9] Business‐Process‐Addon: [http://<br />

bp‐addon. monitoringexchange. org]<br />

[10] Icinga‐Cronk für BP: [https:// www.<br />

netways. org/ projects/ bp‐icinga‐cronk]<br />

[11] Lconf: [https:// www. netways. org/<br />

projects/ lconf]<br />

[12] Heatmap: [https:// www. netways. org/<br />

projects/ heatmap‐for‐icinga]<br />

[13] Nagtrap: [http:// www. nagtrap. org]<br />

[14] Entwicklungs‐Wiki:<br />

[https:// dev. icinga. org/ projects/<br />

icinga‐development/ wiki]<br />

Der Autor<br />

Bernd Erk ist Technischer Leiter der Netways<br />

GmbH [www.netways.de], die seit über zehn Jahren<br />

im Bereich Open Source Systems Management<br />

<strong>und</strong> Datacenter‐Solutions tätig ist. Er hat<br />

langjährige Erfahrung in dem Bereich verteilter<br />

Architekturen sowie beim <strong>Server</strong>‐ <strong>und</strong> Datenbank‐<br />

Tuning.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

29


monitoring<br />

iPmi-nagios<br />

beerkoff, Fotolia<br />

<strong>Server</strong>hardware mit dem IPMI-Plugin für Nagios überwachen<br />

Lebenszeichen<br />

nagios <strong>und</strong> icinga können nicht nur serverdienste überwachen, sondern mit den richtigen Helfern auch die dar<strong>unter</strong>liegende<br />

serverhardware. der Autor des dafür maßgeschneiderten iPmi-Plugin gibt einen Überblick über<br />

seine software. werner Fischer<br />

Systeme wie Nagios oder Icinga haben<br />

sich in den letzten Jahren beim <strong>Monitoring</strong><br />

von Softwarediensten bewährt. Die<br />

Überwachung von <strong>Server</strong>hardware war<br />

aber bisher nur aufwändig mit Herstellerspezifischen<br />

Plugins möglich. Das neue<br />

IPMI-Plugin (Version 2) erlaubt die einfache<br />

Überwachung selbst heterogener<br />

<strong>Server</strong>landschaften. Es überwacht alle<br />

IPMI-Hardwaresensoren, etwa Temperaturen,<br />

Lüfter-Drehzahlen, Netzteil-Status<br />

<strong>und</strong> viele andere mehr.<br />

IPMI (Intelligent Platform Management<br />

Interface) wurde bereits 1998 als Hersteller-übergreifender<br />

Standard fürs <strong>Server</strong>management<br />

von Intel, HP, NEC <strong>und</strong><br />

Dell verabschiedet. Die aktuelle Ausgabe<br />

IPMI 2.0 stammt aus dem Jahr 2004.<br />

Sie wird praktisch von allen modernen<br />

<strong>Server</strong>systemen <strong>unter</strong>stützt. Einstiegsserver<br />

<strong>unter</strong>stützen IPMI oft optional, etwa<br />

über Erweiterungskarten oder spezielle<br />

Mainboard-Varianten. Bei den restlichen<br />

<strong>Server</strong>n gehört IPMI aber meist zur Serienausstattung<br />

([1], [2], [3]).<br />

Das Kernstück von IPMI bildet der so<br />

genannte Baseboard Management Controller<br />

(BMC). Er kommuniziert einerseits<br />

über das Netzwerk oder einen lokalen<br />

Systembus mit Userland-Programmen,<br />

andererseits ist er mit zahlreichen Hardwaresensoren<br />

im <strong>Server</strong> verb<strong>und</strong>en. Für<br />

die Kommunikation übers Netzwerk bekommt<br />

der BMC eine eigene IP-Adresse.<br />

Sobald der <strong>Server</strong> an das Stromnetz angeschlossen<br />

ist, bootet der BMC automatisch<br />

– unabhängig davon, ob der <strong>Server</strong><br />

selbst läuft.<br />

Die breite IPMI-Unterstützung im <strong>Server</strong>umfeld<br />

ist die ideale Voraussetzung für<br />

ein Nagios/ Icinga-Plugin zur einfachen<br />

<strong>und</strong> einheitlichen Überwachung von<br />

<strong>Server</strong>hardware. Das IPMI-Sensor-<strong>Monitoring</strong>-Plugin<br />

des Autors ist im Oktober<br />

2009 in einer ersten Version erschienen.<br />

Im Hintergr<strong>und</strong> nutzt es Ipmitool zur<br />

Abfrage der IPMI-Sensoren. Seit Kurzem<br />

gibt es das Plugin in der Version 2.0. Im<br />

Hintergr<strong>und</strong> läuft nun »ipmimonitoring«<br />

von Free IPMI. Die Umstellung von Ipmitool<br />

auf Free IPMI war notwendig, um<br />

neben den analogen Sensoren (Threshold<br />

Sensors) auch digitale Sensoren (Discrete<br />

Sensors) zuverlässig zu überwachen. Free<br />

IPMI wird mittlerweile von immer mehr<br />

Linux-Distributionen direkt bereitgestellt,<br />

etwa von RHEL <strong>und</strong> Centos ab Version<br />

5.2, Ubuntu ab Version 10.04 oder Debian<br />

Squeeze [4].<br />

Die Sensor-Klassen<br />

Threshold <strong>und</strong> Discrete<br />

Die Unterscheidung in die zwei Sensor-<br />

Klassen Threshold <strong>und</strong> Discrete ist in der<br />

IPMI-Spezifikation standardisiert. Abbildung<br />

1 zeigt einen Threshold Sensor (Fan<br />

1). Ein solcher Sensor liefert einen analogen<br />

Messwert (in diesem Beispiel 5719<br />

U/ min). Zusätzlich stellt er auch eine<br />

Zustandsinformation bereit (hier »ok«).<br />

Die generiert der Sensor durch den Vergleich<br />

des analogen Messwerts mit den<br />

vordefinierten Grenzwerten. Bei diesem<br />

Lüfter sind keine Obergrenzen definiert,<br />

30 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


iPmi-nagios<br />

m onitoring<br />

Abbildung 1: Daten eines Threshold-Sensors, der<br />

analoge Messwerte liefert.<br />

Das folgende Beispiel zeigt die IPMI-<br />

Überwachung eines <strong>Server</strong>s übers Netzwerk.<br />

Auf dem <strong>Server</strong> ist dazu ein IPMI-<br />

Benutzer mit User-Rechten eingerichtet.<br />

Nun geht es darum, das IPMI-Plugin in<br />

Icinga einzubinden. Die Konfiguration<br />

ist bei einem Nagios-System übrigens<br />

identisch. Als Voraussetzungen erfordert<br />

das Plugin die Bash-Shell, das Free-IPMI-<br />

Paket <strong>und</strong> Awk.<br />

Das Plugin gibt es auf den Webseiten<br />

von Thomas Krenn zum Download [5].<br />

Es wird nach dem Download einfach im<br />

Standard-Plugin-Ordner abgelegt. Eine<br />

Definition des Kommandos in der »commands.cfg«<br />

macht das IPMI-Plugin danach<br />

für die einzelnen Host- <strong>und</strong> Service-<br />

Definitionen nutzbar (Listing 2). Mit der<br />

Custom-Object-Variablen »_ipmi_ip« wird<br />

danach die jeweilige IP-Adresse des IPMIsondern<br />

nur zwei Untergrenzen LNC<br />

(Lower non critical) <strong>und</strong> LCR (Lower<br />

critical) bei 1978 <strong>und</strong> 1720 U/ min. Hier<br />

offenbart sich ein weiterer Vorteil von<br />

IPMI: Die Grenzwerte sind bereits vom<br />

<strong>Server</strong>hersteller definiert. Das erspart die<br />

manuelle Konfiguration von Grenzwerten<br />

in Nagios oder Icinga.<br />

Abbildung 2 zeigt einen Discrete Sensor<br />

(PS1 Status). Dieser Sensor stellt Statusinformationen<br />

des ersten Netzteils bereit.<br />

Er liefert dabei aber keinen analogen<br />

Messwert. Stattdessen zeigt er, welcher<br />

seiner vier möglichen Zustände eingetreten<br />

ist. Es können dabei auch mehrere<br />

Zustände gleichzeitig aktiv sein. Das ist<br />

auch hier der Fall. Die beiden Zustände<br />

»Presence detected« <strong>und</strong> »Power Supply<br />

AC lost« sind aktiv. Ipmitool generiert<br />

hier aber leider bei einer Abfrage »ipmitool<br />

sdr elist all« keine Warnung.<br />

Im Gegensatz dazu verfügt »ipmimonitoring«<br />

von Free IPMI über eine genaue<br />

Zuordnung, welche diskreten Zustände<br />

als Okay (Nominal), Warning oder Critical<br />

interpretiert werden sollen. Diese<br />

Abstufung entspricht den gleichnamigen<br />

Zuständen bei Nagios/ Icinga. Die Standardzuordnung<br />

von »ipmimonitoring«<br />

lässt sich über die Konfigurationsdatei<br />

»/etc/ipmi_monitoring_sensors.conf« anpassen<br />

(Listing 1).<br />

Sensoren abfragen<br />

Die Abfrage der Hardwaresensoren ist<br />

gr<strong>und</strong>sätzlich lokal oder übers Netzwerk<br />

möglich. Der lokale Zugriff auf den <strong>Server</strong><br />

über ein IPMI-System-Interface erfordert<br />

Root-Rechte, eine einfache Freigabe<br />

des »ipmimonitoring«-Tools per »sudo«<br />

genügt aber. Diese Abfrageart ist für den<br />

<strong>Monitoring</strong>server selbst beziehungsweise<br />

für Hosts sinnvoll, die bereits über NRPE<br />

abgefragt werden.<br />

Der Remote-Zugang erfordert eine<br />

IP-Adresse für den IPMI-BMC, einen<br />

IPMI-Benutzernamen <strong>und</strong> ein Passwort.<br />

Der verwendete IPMI-Benutzer sollte<br />

dem IPMI-Channel-Privilege-Level »User«<br />

zugeordnet sein. Wenn ein Angreifer die<br />

Zugangsdaten mitschneidet, kann er den<br />

<strong>Server</strong> mit diesen Rechten per IPMI weder<br />

neu starten noch ausschalten. Mit<br />

dem IPMI-Channel-Privilege-Level »Administrator«<br />

besteht diese Gefahr.<br />

Der große Vorteil der Abfrage übers Netzwerk<br />

liegt in der Unabhängigkeit vom<br />

eingesetzten Betriebssystem am <strong>Server</strong>.<br />

Egal ob auf dem <strong>Server</strong> Linux, Windows<br />

oder VMware läuft, dank der Abfrage<br />

übers Netzwerk muss kein Agent im Betriebssystem<br />

installiert sein.<br />

Einbindung in Icinga<br />

Abbildung 2: Daten eines Discrete-Sensors, der<br />

einzelne Zustände annehmen kann.<br />

BMC in den bestehenden Hostdefinitionen<br />

der <strong>Server</strong> ergänzt (Listing 3). Die<br />

abschließende Servicedefinition erfordert<br />

als Parameter nur mehr den Pfad zur<br />

Free-IPMI-Konfigurationsdatei, die IPMI-<br />

Benutzernamen, -Passwort <strong>und</strong> Channel-<br />

Privilege-Level enthält (Listing 4 <strong>und</strong> 5).<br />

Dank dieser Konfigurationsdatei müssen<br />

keine IPMI-Passwörter in der Icinga-Konfiguration<br />

abgelegt werden.<br />

Da kein Passwort als Parameter an »ipmimonitoring«<br />

übergeben wird, tauchen<br />

keine Zugangsdaten in der Prozessliste<br />

auf. Zudem erlaubt diese Vorgehensweise<br />

die einfache Konfiguration weiterer Parameter<br />

von »ipmimonitoring« ohne Anpassungen<br />

am Plugin. Die Konfigurationsdatei<br />

sollte aber aus Sicherheitsgründen nur<br />

für den User »icinga« lesbar sein.<br />

Icinga überwacht nun mit dem Plugin alle<br />

IPMI-Sensoren des jeweiligen <strong>Server</strong>s. Bei<br />

Listing 1: »ipmi_monitoring_sensors.conf«<br />

01 # IPMI_Power_Supply<br />

02 # IPMI_Power_Supply_Presence_Detected<br />

Nominal<br />

03 # IPMI_Power_Supply_Power_Supply_Failure_Detected<br />

Critical<br />

04 # IPMI_Power_Supply_Predictive_Failure<br />

Critical<br />

05 # IPMI_Power_Supply_Power_Supply_Input_Lost_AC_DC<br />

Critical<br />

Listing 2: Kommando-definition<br />

01 define command {<br />

02 command_name check_ipmi_sensor<br />

03 command_line $USER1$/check_ipmi_sensor ‐H $_<br />

HOSTIPMI_IP$ ‐f $ARG1$<br />

04 }<br />

Listing 3: Host-definition<br />

01 define host{<br />

02 use linux‐server<br />

03 host_name centos4<br />

04 alias centos4<br />

05 address 192.168.1.151<br />

06 _ipmi_ip 192.168.1.211<br />

07 }<br />

Listing 4: service-definition<br />

01 define service{<br />

02 use generic‐service<br />

03 host_name centos4<br />

04 service_description IPMI<br />

05 check_command check_ipmi_sensor!/etc/<br />

ipmi‐config/ipmi.cfg<br />

06 }<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

31


monitoring<br />

iPmi-nagios<br />

Fehlern schlägt Icinga sofort Alarm: Probleme<br />

mit der Stromversorgung führen<br />

umgehend zum Status Critical (Abbildung<br />

3). Der Output »IPMI Status: Critical<br />

[Power Red<strong>und</strong>ancy = Critical, PS1<br />

Status = Critical]« deutet dabei auf ein<br />

Problem beim ersten Netzteil hin.<br />

Wie es in den Nagios Plugin Development<br />

Guidelines vorgeschrieben ist,<br />

<strong>unter</strong>stützt das Plugin drei zusätzliche<br />

Verbosity-Level. Der erste Level sorgt für<br />

eine ausführlichere Ausgabe – in diesem<br />

Fall wäre dies: »IPMI Status: Critical<br />

[Power Red<strong>und</strong>ancy = Critical ('Red<strong>und</strong>ancy<br />

Lost' 'Non-red<strong>und</strong>ant:Sufficient<br />

Resources from Red<strong>und</strong>ant'), PS1 Status<br />

= Critical ('Presence detected' 'Power<br />

Supply input lost (AC/DC)')]«.<br />

Ausführliche Infos<br />

Mit diesen Details ist sofort ersichtlich,<br />

dass die Stromzufuhr zum ersten Netzteil<br />

<strong>unter</strong>brochen ist, das Netzteil selbst<br />

aber keinen Fehler meldet. Aufgr<strong>und</strong> der<br />

höheren Zeichenanzahl kann aber eine<br />

solche Meldung bei SMS-Benachrichtigungen<br />

<strong>unter</strong> Umständen abgeschnitten<br />

werden. Der Verbosity-Level 2 liefert darüber<br />

hinaus eine mehrzeilige Ausgabe.<br />

Listing 5: iPmi-benutzerdaten<br />

01 username monitor<br />

02 password ao5$snNc!<br />

03 privilege‐level user<br />

Abbildung 3: Icinga zeigt den kritischen Status des IPMI-Service rot an.<br />

Level 3 enthält schließlich ausführliche<br />

Debugging-Informationen, die im Fehlerfall<br />

wertvolle Hinweise zu möglichen<br />

Konfigurationsproblemen liefern.<br />

Das IPMI-Plugin stellt für alle numerischen<br />

Messwerte auch Performancedaten<br />

bereit. Sie lassen sich über die<br />

bekannten Visualisierungs-Tools, etwa<br />

mit PNP4Nagios, in Graphen darstellen.<br />

Abbildung 4 zeigt beispielsweise den Anstieg<br />

der Stromaufnahme des Netzteils<br />

2 von 0,5 Ampere auf knapp 1 Ampere<br />

nach dem Ausfall der Stromzufuhr von<br />

Netzteil 1 kurz vor 17:00 Uhr. Auch für<br />

alle anderen numerischen Messwerte wie<br />

Lüfterdrehzahlen, Temperaturen oder<br />

Spannungen erstellt PNP4Nagios Performancegraphen.<br />

Für das Jahr 2011 plant das Icinga-Team<br />

die Einbindung der neuen Version 2 des<br />

Netways-Grapher. Damit lassen sich die<br />

erhobenen Performancedaten als dynamische<br />

Graphen darstellen.<br />

Fazit<br />

Die neue Version 2<br />

des IPMI-Plugin überwacht<br />

zuverlässig<br />

alle IPMI-Sensoren,<br />

egal ob Thresholdoder<br />

Discrete-Sensoren.<br />

Bei Problemen<br />

mit der Hardware<br />

senden Icinga oder<br />

Nagios sofort Benachrichtigungen an<br />

die zuständigen Administratoren. Blieben<br />

früher einzelne Ausfälle von Lüftern<br />

oder Netzteilen so lange unerkannt, bis<br />

schließlich der ganze <strong>Server</strong> ausfiel, erlaubt<br />

die IPMI-Überwachung nun eine<br />

rasche Fehlerbehebung.<br />

Die bereitgestellten Performancedaten<br />

bieten einen weiteren Mehrwert: War in<br />

der Vergangenheit etwa nur die Überwachung<br />

eines Temperatursensors pro Rack<br />

üblich, liefert das IPMI-Plugin nun Temperaturen<br />

jedes einzelnen <strong>Server</strong>s. Damit<br />

lassen sich selbst nur lokal auftretende<br />

Kühlprobleme rasch ausfindig machen<br />

<strong>und</strong> beheben.<br />

Mit der Nutzung des IPMI-Plugin lässt<br />

sich also die Verfügbarkeit einer ganzen<br />

<strong>Server</strong>landschaft drastisch erhöhen. Einem<br />

Einsatz steht nichts im Wege – das<br />

IPMI-Plugin ist als Open-Source-Software<br />

<strong>unter</strong> der GPLv3 lizenziert. (ofr) ■<br />

Infos<br />

[1] Alles über IPMI: [http:// www.<br />

linuxtechnicalreview. de/ <strong>Vorschau</strong>/ (show)/<br />

Themen/ <strong>Monitoring</strong>/ Alles-ueber-IPMI]<br />

[2] Justin Penney, „<strong>Server</strong> überwachen <strong>und</strong><br />

managen mit IPMI“: <strong>ADMIN</strong> 03/ 2010, S. 67<br />

[3] IPMI-Gr<strong>und</strong>lagen:<br />

[http:// www. thomas-krenn. com/ de/ wiki/<br />

IPMI_Gr<strong>und</strong>lagen]<br />

[4] Versionsinformationen zu Free IPMI:<br />

[http:// www. thomas-krenn. com/ de/ wiki/<br />

FreeIPMI]<br />

[5] IPMI-Sensor-<strong>Monitoring</strong>-Plugin: [http://<br />

www. thomas-krenn. com/ ipmi-plugin]<br />

Der Autor<br />

Werner Fischer ist seit 2005 Technology Specialist<br />

bei der Thomas-Krenn AG <strong>und</strong> Chefredakteur<br />

des Thomas-Krenn-Wiki. Seine Arbeitsschwerpunkte<br />

liegen in den Bereichen Hardwaremonitoring,<br />

Virtualisierung, I/ O-Performance <strong>und</strong><br />

Hochverfügbarkeit.<br />

Abbildung 4: Um 17:00 Uhr steigt plötzlich die Stromaufnahme des <strong>Server</strong>s auf<br />

beinahe 1 Ampere an.<br />

32 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


MADE<br />

IN<br />

GERMANY<br />

VIRTUAL-CORE –<br />

alles, nicht nur Cloud!<br />

Innovative <strong>Dienste</strong> vom v<strong>Server</strong> bis zum kompletten virtuellen DataCenter für Ihr<br />

Business. v<strong>Server</strong> mit garantierten Ressourcen, <strong>unter</strong>stützt alle x86 Betriebs systeme<br />

in 32 <strong>und</strong> 64 Bit, nutzen Sie Ihre eigenen Betriebssysteme, mehr Sicherheit durch<br />

VLANs <strong>und</strong> umfangreichen Backup-/Recovery-Features. Einfach kostenlos testen<br />

<strong>und</strong> selber überzeugen! Virtual-Core® einfach mehr als Cloud!<br />

T: 0208.89 402-35 | www.virtual-core.de<br />

Virtual-Core® ist ein Produkt von<br />

NEU


monitoring<br />

Cucumber-nagios<br />

Mariya Herasymenko, 123RF<br />

Ein Einstieg ins <strong>Monitoring</strong> per Behavioral Driven Infrastructure<br />

Feine Gürkchen<br />

in der software-entwicklung sind agile methoden mittlerweile hinreichend bekannt. in der systemadministration<br />

sucht man danach jedoch oft noch vergeblich. das ruby-basierte nagios-Plugin Cucumber-nagios könnte das in<br />

zukunft ändern. mike Adolphs<br />

Jeder Systemadministrator kennt das:<br />

Die Systeme werden ausgiebig überwacht,<br />

alle <strong>Dienste</strong> scheinen zu funktionieren<br />

<strong>und</strong> trotzdem weist der Graph<br />

für Payment-Transaktionen Anomalien<br />

auf. Die Zugriffszeiten auf die Bezahlsysteme<br />

sind um den Faktor 10 in die<br />

Höhe geschnellt. Manuelle Tests der entsprechenden<br />

Komponenten zeigen keine<br />

Probleme <strong>und</strong> auch der Dienst, der die<br />

Metrik der Payment-Schnittstelle des externen<br />

Dienstleisters prüft, meldet keine<br />

Fehler.<br />

Nach intensiver Recherche ist dann endlich<br />

der Übeltäter entdeckt: Ein Bug in<br />

der nächtlich aktualisierten Middleware<br />

verzögert den reibungslosen Zahlungsablauf.<br />

Die Administratoren rollen die<br />

Release zurück – <strong>und</strong> die Performance-<br />

probleme beim Zahlungsverkehr gehören<br />

der Vergangenheit an.<br />

Agile Methoden<br />

Damit solche Abläufe nicht zur Gewohnheit<br />

werden, arbeiten Software-Entwickler<br />

oft mit agilen Methoden, die den Entwicklungsprozess<br />

maßgeblich beeinflussen.<br />

So stehen nicht mehr ausschließlich<br />

Programmiertätigkeiten im Vordergr<strong>und</strong>,<br />

sondern auch umfangreiches Testen der<br />

Software sowie die enge Zusammenarbeit<br />

mit allen Projektbeteiligten. Diese Prinzipien<br />

bilden die Basis des „Test Driven Development“<br />

<strong>und</strong> des „Behavioral Driven<br />

Development“.<br />

Der wesentliche Gedanke beim Test Driven<br />

Developments ist es sicherzustellen,<br />

dass Software nicht nur einfach funktioniert,<br />

sondern sich auch exakt so verhält,<br />

wie der Benutzer es erwartet. Um<br />

dies zu erreichen, werden automatisierte<br />

Testsysteme, zum Beispiel Hudson [1]<br />

oder Cruisecontrol [2] eingesetzt, die<br />

bestimmte Funktionen der Applikation<br />

regelmäßig testen.<br />

Behavioral Driven Development erweitert<br />

die Prinzipien des Test Driven Developments<br />

dahingehend, dass auch Nicht-<br />

Entwickler an dem Prozess der Software-<br />

Entwicklung teilhaben sollen. Hier steht<br />

das Einbeziehen aller an einem Projekt<br />

beteiligten Personen im Vordergr<strong>und</strong>. Um<br />

den Projektbeteiligten größtmögliche Einsicht<br />

in die Funktionsweise der Applikation<br />

zu ermöglichen, sollen diese <strong>unter</strong><br />

anderem in die Lage versetzt werden,<br />

34 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


Cucumber-nagios<br />

m onitoring<br />

eigene Szenarien für das automatisierte<br />

Testen beizusteuern. Dies erleichtert oder<br />

ermöglicht überhaupt erst der Einsatz<br />

einer Domänen-spezifischen Sprache<br />

(Domain-specific Language, DSL), die<br />

sich am herkömmlichen Sprachgebrauch<br />

orientiert <strong>und</strong> nicht als Programmiersprache<br />

anzusehen ist.<br />

Solche Überlegungen beherzigt Cucumber-Nagios<br />

[3] <strong>und</strong> ermöglicht so die<br />

Anwendung der beiden oben genannten<br />

Prinzipien auf den Infrastrukturbereich.<br />

Nicht mehr nur die bloße Funktion (die<br />

Applikation läuft) wird überwacht, sondern<br />

der Prozess, der zum gewünschten<br />

Ergebnis führen soll (die Applikation verhält<br />

sich wie beabsichtigt). Zudem haben<br />

alle Mitarbeiter die Möglichkeit, eigene<br />

Checks für das <strong>Monitoring</strong>system beizusteuern,<br />

ohne dass der Administrator Zeit<br />

für das Schreiben spezieller Funktionen<br />

aufwenden muss. Auch dafür gibt es bereits<br />

ein Buzzword: Behavioral Driven<br />

Infrastructure.<br />

Bestandsaufnahme<br />

Cucumber-Nagios wird ganz klassisch<br />

als Plugin in ein beliebiges Open-Source-<br />

<strong>Monitoring</strong>ssystem eingeb<strong>und</strong>en, das die<br />

Rückgabewerte von Nagios-Plugins interpretieren<br />

kann. Cucumber-Nagios basiert<br />

auf Cucumber [4], einer weitverbreiteten<br />

Software zum automatisierten Testen von<br />

Ruby, Java, Dotnet, Flex sowie jeglicher<br />

Webanwendungen <strong>und</strong> nutzt dessen DSL<br />

Gherkin [5].<br />

Im Maschinenraum arbeitet außerdem<br />

Webrat, ein Ressourcen-schonender<br />

Brow ser-Simulator, der für Testszenarien<br />

via HTTP zum Einsatz kommt. Zusätzlich<br />

ist die Mechanize-Bibliothek [6] eingeb<strong>und</strong>en,<br />

die Funktionen für automatisierte<br />

Interaktionen auf einer Website<br />

beisteuert. Dank der Ruby-Implementation<br />

Net::SSH [7] des SSH2-Client-Protokolls<br />

ist außerdem SSH-Unterstützung<br />

mit an Bord.<br />

Terminologie<br />

Die Cucumber-Nagios-Terminologie ist<br />

vergleichsweise einfach <strong>und</strong> behandelt<br />

so genannte Projekte, Features <strong>und</strong> Steps.<br />

Ein Projekt umfasst die gesamte Struktur,<br />

die zum Schreiben <strong>und</strong> Ausführen von<br />

Testszenarien notwendig ist. So ist es<br />

beispielsweise möglich, ein Projekt für<br />

HTTP-Checks auf einer Website zu erstellen<br />

<strong>und</strong> DNS-Checks in ein anderes,<br />

separates Projekt auszulagern. Denkbar<br />

ist allerdings auch, alle zu überprüfenden<br />

<strong>Dienste</strong> in einem einzigen Projekt<br />

<strong>unter</strong>zubringen.<br />

Ein Projekt besteht aus Features <strong>und</strong><br />

Steps. Features beinhalten die in der<br />

DSL Gherkin geschriebenen Testszenarios.<br />

Steps hingegen sind kurze, in Ruby<br />

geschriebene Codeblöcke, die die Applikationslogik<br />

für das Login in einem<br />

Webinterface oder die Verbindung zum<br />

externen <strong>Server</strong> bereitstellen.<br />

Der Einfachheit halber ist eine Vielzahl<br />

von Steps bereits Teil von Cucumber-<br />

Nagios, damit sich der interessierte Administrator<br />

ohne viel Umschweife direkt<br />

den zu überwachenden <strong>Dienste</strong>n widmen<br />

kann. Dazu zählen Steps für die gängige<br />

Überprüfung von <strong>und</strong> via DNS, HTTP,<br />

ICMP sowie SSH. Aber auch Steps für<br />

einfache Datei-Operationen, das Ausführen<br />

von Kommandos auf externen Hosts<br />

<strong>und</strong> zur Überwachung von AMQP-Protokoll-basierten<br />

Applikationen sind ab<br />

Werk mit an Bord.<br />

Selbstverständlich lassen sich für jedes<br />

definierte Feature weitere spezielle<br />

Steps hinzufügen, wenn dies aufgr<strong>und</strong><br />

der Komplexität der eigenen Umgebung<br />

notwendig ist.<br />

Das erste Projekt<br />

Um Cucumber-Nagios installieren zu<br />

können, sind ein bereits installiertes<br />

Ruby 1.8.7 sowie die Ruby-eigene Paketverwaltung<br />

Rubygems (1.3.5 oder höher)<br />

zwingende Voraussetzungen. Sind Ruby<br />

<strong>und</strong> Rubygems einsatzbereit, lässt sich<br />

Cucumber-Nagios mit Hilfe von »gem<br />

install cucumber-nagios« als User Root<br />

inklusive aller Abhängigkeiten unproblematisch<br />

installieren.<br />

Cucumber-Nagios bringt – wie viele andere<br />

in Ruby geschriebenen Anwendungen<br />

auch – einen eigenen Generator für<br />

die gängigsten Funktionen gleich mit.<br />

Das erste eigene Projekt lässt sich mittels<br />

»cucumber-nagios-gen project checks«<br />

erstellen. Abschließend führt der Administrator<br />

im Projektverzeichnis noch<br />

»gem b<strong>und</strong>le« aus. Damit ist es möglich,<br />

den ganzen Projektordner anschließend<br />

auf beliebige <strong>Server</strong> zu kopieren, ohne<br />

Cucumber-Nagios <strong>und</strong> dessen Abhängigkeiten<br />

lokal installieren zu müssen.<br />

Features definieren<br />

Wie bereits für das Projekt geschehen,<br />

dient der Cucumber-Nagios-eigene Generator<br />

auch dazu, das Gr<strong>und</strong>gerüst für ein<br />

neues Features zu erschaffen. Dies geschieht<br />

im Projektverzeichnis mittels<br />

»cucumber-nagios-gen feature www.xing.<br />

com startpage« <strong>und</strong> hat zur Folge, dass<br />

zwei neue Dateien generiert werden<br />

(siehe Listing 1): Die Datei »features/<br />

www.xing.com/startpage.feature« beinhaltet<br />

das Testszenario. In der Datei<br />

»fe atures/www.xing.com/steps/startpage<br />

_steps.rb« lassen sich bei Bedarf eigene<br />

Steps hinzufügen.<br />

Die »startpage.features« umfasst bereits<br />

ein rudimentäres Beispiel, das nach<br />

Belieben abgeändert werden kann. Der<br />

Admin sieht hier bereits, dass die Syntax<br />

sich an den normalen Sprachgebrauch<br />

anlehnt <strong>und</strong> auch ohne Kenntnisse einer<br />

Programmiersprache zu beherrschen ist.<br />

Die eigentliche Programmlogik ist vorerst<br />

unsichtbar in den entsprechenden Steps<br />

hinterlegt. Allen Features gemein sind die<br />

ersten drei Zeilen.<br />

Die ersten beiden geben dem Feature einen<br />

Namen sowie eine kurze, prägnante<br />

Beschreibung des zu erwartenden Zustands.<br />

Die Beschreibung darf dabei auch<br />

mehrere Zeilen umfassen. Im Falle von<br />

Listing 2 beschreibt das Feature, dass die<br />

Website [www.xing.com] erreichbar sein<br />

soll. Die dritte Zeile leitet dann mittels<br />

»Scenario:« das zu testende Szenario ein.<br />

Alle weiteren Zeilen enthalten Anweisungen<br />

für die entsprechenden Aktionen, die<br />

Listing 1: neue Features mit integriertem generator<br />

01 cucumber‐nagios‐gen feature www.xing.com startpage<br />

02 Generating with feature generator:<br />

03 [ADDED] features/www.xing.com/startpage.feature.<br />

feature<br />

04 [ADDED] features/www.xing.com/steps/startpage.<br />

feature_steps.rb<br />

Listing 2: erreichbarkeit von www.xing.com<br />

01 Feature: www.xing.com<br />

02 It should be reachable<br />

03<br />

04 Scenario: Visiting the website<br />

05 When I go to http://www.xing.com/<br />

06 Then the request should succeed<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

35


m onitoring<br />

Cucumber-nagios<br />

der Service-Check dann auszuführen <strong>und</strong><br />

zu evaluieren hat.<br />

Gr<strong>und</strong>sätzlich finden hier zwei Aktionen<br />

statt. »When I go to http://www.xing.<br />

com/« bestimmt die initiale Aktion. Das<br />

zu erwartende Ergebnis dagegen legt der<br />

Term »Then the request should succeed«<br />

fest. Diese beiden Informationen reichen<br />

aus, um einen funktionsfähigen, erfolgreichen<br />

Check für Nagios zu generieren –<br />

Erreichbarkeit der Website [http://www.<br />

xing.com] vorausgesetzt.<br />

Mit dem Wort »And« zu Beginn einer<br />

neuen Zeile lassen sich weitere Bedingungen<br />

für einen erfolgreichen Check<br />

definieren. »But« dagegen wird benutzt,<br />

wenn es Ausschlusskriterien zu definieren<br />

gilt. Sinnvoll ist dies, wenn es darum<br />

geht, den Inhalt einer Seite zu verifizieren.<br />

Im Kontext von Listing 2 wären also<br />

die folgenden zwei Bedingungen sinnvoll,<br />

um zu verifizieren, dass man sich auch<br />

wirklich auf der Xing-Startseite befindet:<br />

»And I should see "Join XING for free"«<br />

sowie »But I should not see "Welcome to<br />

Facebook"«.<br />

Mit den Methoden »Given«, »When«,<br />

»Then«, »And« sowie »But« ist die Liste<br />

der möglichen Anweisungen komplettiert.<br />

Zu beachten ist, dass Cucumber<br />

Listing 3: Login-Prüfung<br />

01 ./features/www.xing.com/login.feature<br />

02 Feature: www.xing.com<br />

03 I should be able to login on http://www.xing.com/<br />

04<br />

05 Scenario: Logging in<br />

06 Given I am on http://www.xing.com/<br />

07 When I fill in "username‐field" with "username"<br />

08 And I fill in "password‐field" with "password"<br />

09 And I press "login‐button"<br />

10 Then I should see "What's new in your network"<br />

11 But I should not see "Join XING for free"<br />

Listing 4: »features/steps/ping_steps.rb«<br />

01 When /^I ping (.*)$/ do |host|<br />

02 @result = system("ping ‐c1 #{host} > /dev/null<br />

2>&1")<br />

03 end<br />

04<br />

05 Then /^it should respond$/ do<br />

06 @result.should be_true<br />

07 end<br />

08<br />

09 Then /^it should not respond$/ do<br />

10 @result.should be_false<br />

11 end<br />

in technischer Hinsicht zwar nicht zwischen<br />

den Anweisungen <strong>unter</strong>scheidet.<br />

Es ist aber von Vorteil, die bestehenden<br />

Konventionen zu übernehmen.<br />

»Given« kommt immer dann zum Einsatz,<br />

wenn ein definierter Status vorausgesetzt<br />

werden soll, beispielsweise »Given I am<br />

on http://www.xing.com/«. »When« dagegen<br />

beschreibt typischerweise die Aktion,<br />

die auszuführen ist. Hierzu zählen<br />

Interaktionen auf einer Website genauso<br />

wie etwa das Prüfen auf das Vorhandensein<br />

einer bestimmten Datei. Im Kontext<br />

des vorigen Beispiels wäre hier Folgendes<br />

denkbar: » When I fill in "username-field"<br />

with "username"«.<br />

»And« ist als Ersatz für weitere »Given«-,<br />

»When«- oder »Then«-Anweisungen gedacht,<br />

damit das Szenario verständlicher<br />

zu lesen ist. Das Beispiel wird um folgende<br />

Anweisungen erweitert: »And I fill<br />

in "password-field" with "password"«<br />

<strong>und</strong> »And I press "login-button"«. »Then«<br />

wiederum obliegt die Überwachung des<br />

Ergebnisses. Im konkreten Falle ist es<br />

interessant, ob das Login geklappt hat:<br />

»Then I should see "What's new in your<br />

network"«.<br />

»But« ist »And« sehr ähnlich, definiert<br />

aber Ausschlusskriterien. Mit »But I<br />

should not see "Join XING for free"« ist<br />

das Beispiel komplett. Das Feature für<br />

das Prüfen eines Login auf [http://www.<br />

xing.com/] sieht demnach aus wie in<br />

Listing 3.<br />

In vielen Szenarien kommt es nicht nur<br />

auf die reine Funktion an, sondern auch<br />

auf die Verarbeitungszeit eines Request.<br />

Von Websites wird in der Regel höchstmögliche<br />

Performance verlangt, um des<br />

Benutzers Zeit nicht zu strapazieren. Das<br />

Performance-<strong>Monitoring</strong> via Cucumber-<br />

Nagios ist mit Hilfe der vordefinierten<br />

Methode »Given I am benchmarking«<br />

möglich. Ein Beispiel könnte also wie<br />

folgt aussehen:<br />

Scenario: Benchmarking home page<br />

Given I am benchmarking<br />

When I go to http://www.xing.com/<br />

Then the request should succeed<br />

And the elapsed time should be lessU<br />

than 1 seconds<br />

Hier werden gleich zwei Elemente geprüft:<br />

Ob der HTTP-Statuscode positiv<br />

ist <strong>und</strong> ob die Laufzeit des Request <strong>unter</strong><br />

einer Sek<strong>und</strong>e liegt. Ist eine dieser<br />

Bedingungen nicht erfüllt, wird je nach<br />

Konfiguration des <strong>Monitoring</strong>systems der<br />

Dienst als kritisch eingestuft <strong>und</strong> gegebenenfalls<br />

gewarnt.<br />

Steps im Detail<br />

Die eigentliche Arbeit verrichten die bereits<br />

angesprochenen Steps im Hintergr<strong>und</strong>.<br />

Dabei handelt es sich um kurze,<br />

in Ruby geschriebene Codeblöcke, die die<br />

Funktionalität des jeweiligen Checks erst<br />

bereitstellen.<br />

Mi einem rekursiven Grep aus dem Projektverzeichnis<br />

heraus lässt sich eine nach<br />

Methoden geordnete Übersicht erstellen,<br />

welche die bereits von Cucumber-Nagios<br />

mitgelieferten Funktionen ausgibt. Diese<br />

vordefinierten Steps bieten eine solide<br />

Gr<strong>und</strong>lage, um bei Bedarf eigene Steps<br />

zu definieren:<br />

grep ‐R '[WT]hen\|Given' features/steps/U<br />

|awk ‐F \: '{print $2}'|sort ‐d<br />

Für einen einfachen Ping-Test ist der Step<br />

»features/steps/ping_steps.rb« (Listing<br />

4) zuständig. Das entsprechende Feature,<br />

um [www.xing.com] via ICMP zu pingen,<br />

sieht wie folgt aus:<br />

Feature: www.xing.com<br />

It should respond<br />

Scenario: Ping test<br />

When I ping www.xing.com<br />

Then it should respond<br />

Eingeleitet wird jeder Step mit den Methoden<br />

»Given«, »When«, »Then«, »And«<br />

oder »But«. Darauf folgt ein regulärer<br />

Ausdruck, der die in den Features verwendete<br />

Anweisung erst möglich macht.<br />

»do« leitet die eigentliche Logik ein,<br />

»|host|« ist die Variable, die das Feature<br />

für den getesteten Host definiert.<br />

Wichtig hierbei ist, dass die Methoden<br />

letztlich nicht Teil des regulären Ausdrucks<br />

sind. Ob in einem Test »When<br />

I ping ...« als Anweisung oder mittels<br />

»Given I ping« als Vorbedingung definiert<br />

ist, bleibt demnach <strong>unter</strong> Beachtung der<br />

Given-When-Then-Konventionen von<br />

Cucumber [8] variabel.<br />

Zeile 2 des Beispiels in Listing 4 verrichtet<br />

letztlich die eigentliche Arbeit. Sie<br />

initialisiert die Instanzvariable »@result«,<br />

welche die Ausgabe des Ping-Kommandos<br />

empfängt. Diese wird wiederum in<br />

den ab Zeile 5 folgenden Steps evaluiert,<br />

woraufhin der Rückgabewert entweder<br />

36 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Cucumber-nagios<br />

m onitoring<br />

auf »true« (Host erreichbar) oder »false«<br />

(Host nicht erreichbar) gesetzt wird.<br />

Wer das Beispiel jetzt erweitern <strong>und</strong> den<br />

Autor des Testszenarios in die Lage versetzen<br />

will, die Anzahl der zu sendenden<br />

Pings zu definieren, passt den regulären<br />

Ausdruck an <strong>und</strong> fügt die entsprechende<br />

Variable hinzu:<br />

When /^I ping (.*) (.*) times$/ do |host,U<br />

count|<br />

@result = system("ping ‐c #{count} #{host} > U<br />

/dev/null 2>&1")<br />

end<br />

Nun lässt sich in dem zugehörigen Feature<br />

mit<br />

When I ping www.xing.com 3 times<br />

Then it should respond<br />

die Anzahl der zu sendenden Pakete definieren.<br />

Nagios-Integration<br />

Die Integration in das eigene <strong>Monitoring</strong>system<br />

ist schnell erledigt. Als Beispiel<br />

dient hier der Platzhirsch <strong>unter</strong><br />

den Open-Source-<strong>Monitoring</strong>systemen:<br />

Nagios. Die Voraussetzung zum Ausführen<br />

des Cucumber-Nagios-Plugin ist, wie<br />

bereits beschrieben, eine funktionierende<br />

Ruby-Installation.<br />

Wer Cucumber-Nagios auf einem anderen<br />

als dem Nagios-<strong>Server</strong> evaluiert hat,<br />

muss das Projektverzeichnis rekursiv auf<br />

den Nagios-<strong>Server</strong> kopieren. An welcher<br />

Stelle das Verzeichnis liegen sollte, ist abhängig<br />

von der eigenen Distribution <strong>und</strong><br />

der Art, wie Nagios konfiguriert wurde.<br />

Debian, Red Hat sowie Suse Linux installieren<br />

die Nagios-Plugins mittlerweile<br />

alle <strong>unter</strong> »/usr/lib/nagios/plugins«. Hat<br />

man Nagios selbst kompiliert, ist dagegen<br />

»/usr/local/nagios/libexec« die Voreinstellung.<br />

Eine gute Wahl ist, im Plugin-<br />

Verzeichnis ein Unterverzeichnis namens<br />

»cucumber-nagios« zu erstellen <strong>und</strong> dort<br />

das Projekt abzulegen. Auch die Datei<strong>und</strong><br />

Verzeichnisrechte in dem System<br />

müssen stimmen, damit der Nagios-User<br />

auf die Dateien zuzugreifen darf.<br />

Oftmals ist eine eigene Variable für das<br />

Plugin-Verzeichnis in der »resource.cfg«<br />

gesetzt, beispielsweise »$USER1$=/usr/<br />

lib/nagios/plugins«. Um den Konfigurationsaufwand<br />

möglichst gering zu halten<br />

<strong>und</strong> die Übersichtlichkeit zu wahren,<br />

empfiehlt sich eine eigene Variable für<br />

den Pfad zum Cucumber-Nagios-Projekt,<br />

etwa »$USER2$=/usr/lib/nagios/plugins/cucumber-nagios«.<br />

Dann fehlt in der<br />

Datei »commands.cfg« noch das Kommando<br />

zum Überprüfen des <strong>Dienste</strong>s:<br />

define command{<br />

command_name check_cn<br />

command_line $USER2$/checks/bin/cucumber‐U<br />

nagios $ARG1$<br />

}<br />

Der »command_name« ist frei wählbar.<br />

Bei der »command_line« ist dagegen zu<br />

beachten, dass sowohl die Pfadvariable<br />

korrekt ist, als auch, dass »$ARG1$« an<br />

das eigentliche Kommando angehängt<br />

wird. Denn Cucumber-Nagios bekommt<br />

beim Aufruf genau ein Argument mitgeliefert.<br />

Welches das ist, legt die entsprechende<br />

Servicedefinition in »services.cfg«<br />

fest (Listing 5).<br />

Bevor der Admin den Nagios-Daemon<br />

nun die Konfiguration neu einlesen lässt,<br />

sollte er die definierten Checks zuerst<br />

einmal auf der Kommandozeile testen.<br />

Hierzu führt er das Plugin am besten im<br />

Kontext des Nagios-Users aus:<br />

su nagios ‐c "/usr/lib/nagios/plugins/U<br />

cucumber‐nagios/checks/bin/cucumber‐nagiosU<br />

/usr/lib/nagios/plugins/cucumber‐nagios/U<br />

checks/features/www.xing.com/startpage.<br />

feature"<br />

~ $ echo $?<br />

01 ~ $ [sudo] su nagios ‐c "/usr/lib/nagios/<br />

plugins/cucumber‐nagios/checks/bin/<br />

cucumber‐nagios /usr/lib/nagios/plugins/<br />

cucumber‐nagios/checks/features/www.xing.com/<br />

startpage.feature ‐‐pretty";<br />

02 Feature: www.xing.com<br />

03 It should be up<br />

04<br />

05 Scenario: Visiting home page<br />

# /usr/lib/nagios/plugins/cucumber‐nagios/<br />

checks/features/www.xing.com/startpage.<br />

feature:4<br />

06 When I go to http://www.xing.com/<br />

# steps/webrat_steps.rb:1<br />

07 Permission denied ‐ webrat.log<br />

(Errno::EACCES)<br />

08 /usr/lib64/ruby/1.8/logger.rb:518:in<br />

`initialize'<br />

09 /usr/lib64/ruby/1.8/logger.rb:518:in<br />

`open'<br />

10 /usr/lib64/ruby/1.8/logger.rb:518:in<br />

`open_logfile'<br />

11 /usr/lib64/ruby/1.8/logger.rb:487:in<br />

`initialize'<br />

12 /usr/lib64/ruby/1.8/logger.rb:263:in `new'<br />

Sollte dies wider Erwarten mit Rückgabewert<br />

»2« fehlschlagen, ist er über einen<br />

der leider noch vorhandenen, aber<br />

einfach zu behebenden Bugs gestolpert.<br />

Über die Option »--pretty« gibt das Tool<br />

den Backtrace aus, der bei der Fehlersuche<br />

hilft.<br />

Wie Zeile 8 des Backtrace in Listing 6<br />

verrät, liegt ein Problem mit den Dateirechten<br />

vor: Der Nagios-User möchte die<br />

Datei »webrat.log« schreiben, besitzt dazu<br />

aber nicht die nötigen Rechte. Die vordergründige<br />

Ursache ist der Aufruf. Hätte er<br />

»su« mit der Option »-l« aufgerufen, wäre<br />

die Umgebungsvariable »$HOME« für<br />

den Nagios-User gesetzt gewesen. So allerdings<br />

versucht der Nagios-User in das<br />

Verzeichnis des »su« ausführenden Users<br />

zu schreiben. Besonders problematisch<br />

wird dieser Umstand, wenn man Checks<br />

mit SSH ausführt, da SSH von Haus aus<br />

keine Login-Shell startet.<br />

Listing 5: »services.cfg«<br />

01 define service{<br />

02 use local‐service<br />

03 host_name localhost<br />

04 service_description CN ‐ www.xing.<br />

com ‐ startpage<br />

05 check_command check_cn!$USER2$/checks/<br />

features/www.xing.com/startpage.feature<br />

06 }<br />

Listing 6: Fehlersuche mit backtrace<br />

13 /usr/lib64/ruby/1.8/logger.rb:263:in<br />

`initialize'<br />

14 /usr/lib/nagios/plugins/cucumber‐nagios/<br />

checks/features/steps/webrat_steps.rb:2:in `/^I<br />

go to (.*)$/'<br />

15 /usr/lib/nagios/plugins/cucumber‐nagios/<br />

checks/features/www.xing.com/startpage.<br />

feature:5:in `When I go to http://www.xing.<br />

com/'<br />

16 Then the request should succeed<br />

# steps/result_steps.rb:13<br />

17 And I should see "Join XING for free"<br />

# steps/result_steps.rb:1<br />

18 And I should not see "Welcome to Facebook" #<br />

steps/result_steps.rb:5<br />

19<br />

20 Failing Scenarios:<br />

21 cucumber /usr/lib/nagios/plugins/<br />

cucumber‐nagios/checks/features/www.xing.com/<br />

startpage.feature:4 # Scenario: Visiting home<br />

page<br />

22<br />

23 1 scenario (1 failed)<br />

24 4 steps (1 failed, 3 skipped)<br />

25 0m0.008s<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

37


m onitoring<br />

Cucumber-nagios<br />

Abbildung 1: Sind alle Cucumber-Tests geschrieben, tauchen die Überwachungsergebnisse in Nagios auf.<br />

Es erfordert lediglich eine kleine Änderung<br />

am Code des als Abhängigkeit in<br />

Cucumber-Nagios integrierten Webrat,<br />

um dieses Problem aus der Welt zu schaffen.<br />

Hierzu öffnet der Admin aus dem<br />

Projektverzeichnis heraus die Datei »vendor/gems/ruby/1.8/gems/webrat-0.7.0/<br />

lib/webrat/core/logging.rb« <strong>und</strong> gibt in<br />

Zeile 18 den vollen Pfad für das zu schreibende<br />

Logfile an. Je nach Homeverzeichnis<br />

des Nagios-Users könnte die Zeile wie<br />

folgt aussehen:<br />

@logger ||= ::Logger.new("/var/nagios/U<br />

webrat.log")<br />

Abschließend sollte er den obigen Aufruf<br />

für das Plugin manuell testen. Das Ergebnis<br />

sieht dann deutlich positiver aus:<br />

CUCUMBER OK ‐ Critical: 0, Warning: 0, 4 okayU<br />

| passed=4; failed=0; nosteps=0; total=4<br />

Der Autor<br />

Mike Adolphs arbeitet als Systemadministrator<br />

bei der XING AG <strong>und</strong> sorgt dort <strong>unter</strong> anderem<br />

für einen reibungslosen Betrieb der Ruby-on-<br />

Rails-Applikationen. In seiner Freizeit erk<strong>und</strong>et<br />

er seine Wahlheimat Schleswig-Holstein mit dem<br />

Motorrad <strong>und</strong> sucht Perl- sowie Ruby-Entwickler<br />

für XING.<br />

Nun sollte dem Überwachen von Funktionen<br />

mittels Cucumber-Nagios nichts<br />

mehr im Wege stehen. Nach einem Reload<br />

des Daemon überwacht Nagios den<br />

entsprechend definierten Check. Die Integration<br />

im <strong>Monitoring</strong>system ist somit<br />

abgeschlossen. Abbildung 1 zeigt das Ergebnis<br />

in einem Nagios-Interface<br />

Fazit<br />

Cucumber-Nagios ist ohne Zweifel ein<br />

mächtiges Werkzeug. Allerdings setzt es<br />

einiges an Erfahrung voraus, um brauchbare<br />

Ergebnisse zu erzielen. Eine Integration<br />

in bestehende Systeme wird in der<br />

Regel nur über einen längeren Zeitraum<br />

möglich sein. Mitarbeiter wollen in die<br />

Systematik von Cucumber <strong>und</strong> Gherkin<br />

behutsam eingeführt werden. Das Erstellen<br />

spezifischer Steps für die eigene Plattform<br />

ist zudem ohne Ruby-Kenntnisse<br />

kaum zu bewerkstelligen.<br />

Umgebungen, in denen Entwicklungs<strong>und</strong><br />

Betriebs-Teams eng zusammenarbeiten,<br />

machen sich hier bezahlt. Entwickler<br />

steuern die Applikationslogik bei,<br />

QA-Mitarbeiter definieren Testszenarios,<br />

<strong>und</strong> die Administratoren können sich auf<br />

den operativen Betrieb ihrer <strong>Monitoring</strong>systeme<br />

konzentrieren. Dieses Zusammenwirken<br />

erfordert jedoch eine gute<br />

Abstimmung zwischen den Teams.<br />

Neben kleineren Bugs <strong>und</strong> vielen Wünschen<br />

[9] zur Erweiterung von Cucumber-Nagios,<br />

könnte das Projekt zudem<br />

noch einige weitere vordefinierte Steps<br />

mitbringen. Hier ist die Open-Source-Gemeinde<br />

aufgefordert sich zu beteiligen.<br />

Dann hat Cucumber-Nagios durchaus<br />

das Potenzial für eine weite Verbreitung<br />

<strong>und</strong> könnte den Weg für „Behavioral Driven<br />

Infrastructure“ ebnen. (ofr) n<br />

Infos<br />

[1] Hudson: [https://hudson.dev.java.net]<br />

[2] Cruisecontrol: [http://cruisecontrol.<br />

sourceforge. net]<br />

[3] Cucumber-Nagios: [http://auxesis.github.<br />

com/cucumber-nagios/]<br />

[4] Cucumber: [http://cukes.info/]<br />

[5] Gherkin: [https://github.com/<br />

aslakhellesoy/ gherkin]<br />

[6] Mechanize: [http://mechanize.rubyforge.<br />

org/mechanize/ Mechanize.html]<br />

[7] Net::SSH: [http://net-ssh.rubyforge.org/]<br />

[8] „Given-When-Then“-Konvention von Cucumber:<br />

[https:// github. com/ aslakhellesoy/<br />

cucumber/ wiki/ Given-When-Then]<br />

[9] Cucumber-Nagios-Issues: [https://github.<br />

com/auxesis/ cucumber-nagios/issues]<br />

38 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


STRATO Pro<br />

<strong>Server</strong>-Technik, die begeistert!<br />

NEU!<br />

Jetzt <strong>Server</strong> mit echten<br />

Hexa-Core Prozessoren für:<br />

Leistungsstarke<br />

Dedicated <strong>Server</strong><br />

Vorkonfigurierte<br />

Managed <strong>Server</strong><br />

Auf alle Hexa-Core <strong>Server</strong><br />

50% Rabatt<br />

für die ersten 3 Monate!<br />

Telefon: 0 18 05 - 00 76 77<br />

(0,14 €/Min. aus dem dt. Festnetz, Mobilfunk max. 0,42 €/Min.)<br />

strato-pro.de


m onitoR ing<br />

splunk<br />

Sergej Khackimullin, 123RF<br />

Business Process <strong>Monitoring</strong> mit Splunk<br />

Kartografie<br />

splunk verspricht einheitliches monitoring für heterogene umgebungen. erfahren sie, welche Features es dafür<br />

bietet <strong>und</strong> wie sie es für die Überwachung von security-events auf dem eigenen server einsetzen. Russ mcRee<br />

Systemverwalter, Security-Beauftragte<br />

<strong>und</strong> Consultants sehen sich in einer typischen<br />

Firmenumgebung vor eine gemeinsame<br />

Herausforderung gestellt. Selten<br />

gibt es ein Netzwerk mit nur einem Betriebssystem<br />

oder wenigstens nur einer<br />

Version eines Betriebssystems. In heterogenen<br />

Netzwerken alle wichtigen Ereignisse<br />

<strong>und</strong> Security-Aspekte überwachen<br />

ist aber keine leichte Aufgabe.<br />

Der Artikel beschäftigt sich insbesondere<br />

damit, alle <strong>unter</strong>schiedlichen Events, zum<br />

Beispiel auch von Windows-Maschinen,<br />

über Agenten mit Syslog zu sammeln.<br />

Im Zentrum steht also eine Unix-Umgebung,<br />

in der Syslog noch immer eine<br />

wesentliche Rolle spielt. Auch wenn es<br />

hier vor allem um Security-Events geht,<br />

sind die vorgestellten Methoden auch für<br />

System-<strong>Monitoring</strong> <strong>und</strong> Performance-Optimierung<br />

verwendbar.<br />

Als <strong>Monitoring</strong>-Software dient hier Splunk<br />

[1], das nach eigener Beschreibung eine<br />

„einzigartige einheitliche Darstellung der<br />

kompletten IT-Infrastruktur in Echtzeit“<br />

bietet. Es soll Anwender in die Lage versetzen,<br />

von jeder Quelle Daten zu sammeln,<br />

sie zu überwachen, zu durchsuchen<br />

<strong>und</strong> Reports zu erstellen. Außerdem<br />

kommen OSSEC [2], ein Host-basiertes<br />

Intrusion-Detection-System, <strong>und</strong> Snare<br />

(Auditing <strong>und</strong> Eventlog-Manage ment,<br />

[3]) zum Einsatz.<br />

Wer in einer hybriden Umgebung heterogene<br />

Events zusammenführen will, muss<br />

einige Entscheidungen treffen. Zum Beispiel<br />

wird vermutlich ein Betriebssystem<br />

die Systemlandschaft dominieren <strong>und</strong><br />

entsprechend die verwendete Software<br />

beeinflussen. Splunk kann aber mit beinahe<br />

jeder Situation gut umgehen. Mit<br />

den anderen beiden Softwarepaketen ergeben<br />

sich folgende Lösungsansätze:<br />

n Windows- wie auch Unix-Hosts können<br />

Splunk als leichtgewichtigen Forwarding-Agenten<br />

betreiben.<br />

n Beide Betriebssystem-Spielarten lassen<br />

sich auch mit Snare-Agenten überwachen.<br />

n Einsatz von OSSEC-Agenten auf allen<br />

Betriebssystemen.<br />

n Netzwerkgeräte senden die Syslog-<br />

Ausgabe direkt an Splunk.<br />

Sie können sich für eine Variante entscheiden<br />

oder die Ansätze mischen. Bewährt<br />

hat sich beispielsweise der Einsatz<br />

der leichtgewichtigen Splunk-Forwarder<br />

gemeinsam mit den OSSEC-Agenten <strong>und</strong><br />

dem Syslog-Weg für Netzwerk-Devices.<br />

Code<br />

Per Default ist Splunk in »/opt/splunk«<br />

installiert. Setzen Sie am besten die Umgebungsvariable<br />

»SPLUNK_HOME«:<br />

export SPLUNK_HOME=/opt/splunk<br />

Fügen Sie »$SPLUNK_HOME/bin« noch<br />

zum Pfad der ausführbaren Dateien<br />

40 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


splunk<br />

m onitoR ing<br />

Abbildung 1: Erfolgreiche Logins auf einem per Splunk überwachten Unix-System.<br />

»PATH« hinzu, können Sie die Splunk-<br />

Kommandos einfacher ausführen. Im<br />

Lauf der Konfiguration müssen Sie Splunk<br />

mehrmals neu starten. Das machen<br />

Sie über den Aufruf<br />

splunk restart<br />

oder über das Webfrontend. Auf Windows-Systemen<br />

lässt sich Splunk per<br />

Mausklick installieren, bei Linux-Systemen<br />

können Sie normalerweise den<br />

Paketmanager verwenden. Auf Debian<strong>und</strong><br />

Ubuntu-Systemen übernimmt das<br />

beispielsweise der folgende Aufruf:<br />

dpkg ‐i splunk‐4.Version.deb<br />

Außer für Linux <strong>und</strong> Windows gibt es<br />

Splunk auch für Solaris, HP-UX, Mac OS<br />

X, Free BSD <strong>und</strong> AIX. Ist die Installation<br />

abgeschlossen, starten Sie die Software<br />

mit:<br />

/opt/splunk/bin/splunk start<br />

Unter »http://<strong>Server</strong>name:8000« finden<br />

Sie das Webfrontend für Splunk. Zuerst<br />

ändern Sie am besten das Admin-Passwort<br />

<strong>unter</strong> »Manager« <strong>und</strong> »User options«.<br />

Unter »splunk | Manager | System<br />

settings | General settings« stellen Sie die<br />

Verbindung auf das verschlüsselte HTTPS<br />

um. Dort ist es auch möglich, den Port<br />

zu ändern.<br />

Damit der zentrale Splunk-<strong>Server</strong> <strong>Monitoring</strong>-Events<br />

empfängt, müssen Sie ihn<br />

als Receiver konfigurieren. Mit »splunk<br />

| Manager | Forwarding and receiving<br />

| Forward data | Add New« richten Sie<br />

Splunk so ein, dass es auf einem Port die<br />

Daten eines Forwarders empfängt.<br />

Damit der <strong>Server</strong> auch Syslog-Daten<br />

annimmt, ist ein weiterer Schritt nötig.<br />

Navigieren Sie dafür zu »splunk | Manager<br />

| Data inputs«. Weil Syslog das<br />

UDP-Protokoll auf Port 514 verwendet,<br />

stellen Sie dort UDP ein, fügen dann einen<br />

Input für Port 514 hinzu <strong>und</strong> wählen<br />

»IP« aus, was dazu führt, dass Splunk<br />

im Input-Prozessor die IP-Adresse des<br />

Logging-Hosts einsetzt.<br />

Zusätze<br />

Navigieren sie dann zurück zu »splunk<br />

| Launcher«, wo Sie den Reiter »Browse<br />

more Apps« anklicken. Hier finden Sie<br />

zum Beispiel Splunk für Windows, für<br />

Unix <strong>und</strong> Linux sowie für OSSEC, für<br />

die Visualisierung außerdem das Modul<br />

Afterglow-Graphing.<br />

Darüber hinaus gibt es Datensammler für<br />

Geräte von Cisco, F5, Blue Coat <strong>und</strong> anderen.<br />

Hier finden Sie auch die UI Examples<br />

[4], eine Sammlung von XML-basierten<br />

Ansichten <strong>und</strong> Menüs. Enthalten sind<br />

Beispielansichten, die <strong>unter</strong> anderem Table<br />

<strong>und</strong> Chart Drilldown umfassen, sowie<br />

Echtzeit-Dashboards <strong>und</strong> so weiter. Dazu<br />

aber später mehr.<br />

Um den Port festzulegen,<br />

auf dem Splunk<br />

geforwardete Daten<br />

annimmt, klicken Sie<br />

auf »Manager« <strong>und</strong><br />

»Forwarding and receiving«,<br />

anschließend<br />

<strong>unter</strong> »Receive<br />

data« auf »Add New«,<br />

wo Sie dann den Port<br />

festlegen.<br />

Auf den Splunk-Client s<br />

können Sie die Software<br />

so einstellen,<br />

dass sie keine lokale Kopie der Daten<br />

speichert, sondern sie nur an den zentralen<br />

Splunk-<strong>Server</strong> schickt. Wenn Sie<br />

gerne mit dem GUI arbeiten <strong>und</strong> das<br />

Light Forwarding vor dem allgemeinen<br />

Forwarding aktivieren, sind sie anschließend<br />

auf die Kommandozeile festgelegt.<br />

Im Einzelnen sind diese Schritte nötig:<br />

n Aktivieren Sie die passende Anwendung<br />

(Windows oder Linux/ Unix) im<br />

Applikationsmanager.<br />

n Konfigurieren Sie die Eingaben für<br />

die Unix-Applikation <strong>unter</strong> »splunk |<br />

Manager unix«, bei Windows <strong>unter</strong><br />

»splunk | Manager | windows«. Beim<br />

Fokus auf Security brauchen Sie nicht<br />

alle Inputs zu aktivieren. Sie können<br />

natürlich aber auch andere Events einbeziehen.<br />

n Wählen Sie <strong>unter</strong> »splunk | Manager |<br />

Forwarding and receiving | Forwarding<br />

defaults« den Wert »No«, um lokales<br />

Speichern auszuschalten. Verwenden<br />

Sie »splunk | Manager | All configurations«,<br />

um nach Belieben Objekte aus-<br />

Abbildung 2: Das OSSEC-Dashboard zeigt die per OSSEC gesammelten IDS-Events übersichtlich an.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

41


m onitoR ing<br />

splunk<br />

die Logdaten an Syslog <strong>und</strong> ist auch für<br />

64-Bit-Varianten von Windows verfügbar.<br />

Snare für Vista bietet gr<strong>und</strong>sätzlich<br />

die gleichen <strong>Dienste</strong> für Windows 2008,<br />

Vista <strong>und</strong> Windows 7. Allerdings hat sich<br />

das Eventlog-Subsystem in diesen Windows-Versionen<br />

gr<strong>und</strong>legend geändert.<br />

Achten Sie deshalb darauf, die richtige<br />

Snare-Version zu verwenden.<br />

Der Snare-Agent verwaltet die Security-,<br />

Application- <strong>und</strong> System-Logs, darüber<br />

hinaus auch die neuen DNS-, File-Replication-<br />

<strong>und</strong> Active-Directory-Logs. Wer<br />

die kostenpflichtige Snare-Anwendung<br />

mit Support wählt, darf damit beliebige<br />

Windows-Eventlogs verarbeiten.<br />

OSSEC<br />

Abbildung 3: Die Ergebnisse einer OSSEC-Suche lassen sich über das Menü exportieren.<br />

<strong>und</strong> einzuschalten, von denen es in<br />

der Unix-Variante etwa 250 gibt. Aus<br />

Security-Perspektive sind beispielsweise<br />

Firewall, Audit, Escalated User<br />

Privilege, Netzwerkverbindungen <strong>und</strong><br />

offene Ports interessant.<br />

n Tragen Sie <strong>unter</strong> »splunk | Manager |<br />

Forwarding and receiving | Forward<br />

data | Add New« die Host-Port-Kombination<br />

des Splunk-<strong>Server</strong>s ein <strong>und</strong><br />

starten Sie Splunk auf dem System<br />

neu.<br />

Aus Sicherheitsgründen empfiehlt es<br />

sich, Light Forwarding zu aktivieren, das<br />

den Webserver auf dem Rechner abschaltet.<br />

Sie müssen dann die Kommandozeile<br />

verwenden, um die betreffende Splunk-<br />

Instanz zu verwalten.<br />

Der Snare-Agent für Windows [5] ist<br />

ein Programm der Intersect Alliance, das<br />

sich für heterogene Umgebungen eignet.<br />

Snare konvertiert Windows-Events ins<br />

Syslog-Format, um sie auf entsprechenden<br />

Unix-<strong>Server</strong>n zentral zu sammeln.<br />

Mehr Informationen dazu gibt die Intersect-Alliance-Website.<br />

Es gibt für Windows zwei Versionen des<br />

Snare-Agenten. Die Unterscheidung ist<br />

wichtig <strong>und</strong> hat mit der verwendeten<br />

Windows-Version zu tun. Das für Windows<br />

XP oder Windows 2003 gedachte<br />

Snare interagiert mit dem dar<strong>unter</strong>liegenden<br />

Windows-Eventlog, überträgt<br />

Bei OSSEC handelt es sich um ein Hostbasiertes<br />

Intrusion-Detection-System, das<br />

Logdaten analysiert, Datei-Änderungen<br />

sowie die Einhaltung von Policies überwacht,<br />

Rootkits sucht, den Administrator<br />

in Echtzeit alarmiert <strong>und</strong> Gegenmaßnahmen<br />

einleitet. OSSEC läuft auf den<br />

meisten Betriebssystemen einschließlich<br />

Linux, Mac OS X, Solaris, HP-UX, AIX<br />

<strong>und</strong> Windows.<br />

Auf den zu überwachenden Systemen<br />

laufen Agenten, die ihre Daten an einen<br />

OSSEC-<strong>Server</strong> schicken, der wiederum<br />

an einen Splunk-<strong>Server</strong> berichtet. Splunk<br />

macht es Administratoren leicht, OSSEC-<br />

Events zu verwalten. Am einfachsten ist<br />

es, die Splunk- <strong>und</strong> OSSEC-<strong>Server</strong> auf<br />

dem gleichen Rechner zu betreiben.<br />

Entlastung<br />

Die Zahl der zur Überwachung konfigurierten<br />

Events <strong>und</strong> die Frequenz, in<br />

der sie abgefragt werden, tragen zur Last<br />

auf dem zentralen Splunk-System bei.<br />

Wählen Sie nur die Events aus, die Sie<br />

auch wirklich brauchen, <strong>und</strong> fangen Sie<br />

lieber mit weniger an als mit zu viel.<br />

Wählen Sie als Beispiel einmal »Users |<br />

Successful User Logins« (Abbildung 1).<br />

Das ist auch eine gute Audit-Übung, denn<br />

ein Angreifer kann durchaus mal einen<br />

existierenden Account verwenden, was<br />

in diesem Fall bei der Überwachung hoffentlich<br />

auffiele.<br />

Abbildung 4: Eine Suche nach gescheiterten Windows-Logins liefert dieses Ergebnis.<br />

42 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


splunk<br />

m onitoR ing<br />

Zur Installation von OSSEC laden Sie das<br />

Paket her<strong>unter</strong>, entpacken es <strong>und</strong> führen<br />

mit Root-Rechten »./install.sh« aus. Wenn<br />

Sie es auf dem Splunk-<strong>Server</strong> installieren,<br />

wählen Sie die Installationsoption »server«.<br />

Schalten Sie auf etwaigen Firewalls<br />

UDP-Port 1514 frei, damit sich Agenten<br />

verbinden können. Führen Sie schließlich<br />

»/var/ossec/bin/ossec-control start« aus,<br />

um das IDS zu starten.<br />

Client-Agenten installieren Sie auf Unix-<br />

Systemen genauso, wählen aber im zweiten<br />

Schritt »agent« aus. Auf Windows-<br />

Rechnern geschieht die Installation einfach<br />

per Mausklick. Um einen Windows-<br />

Agenten mit dem <strong>Server</strong> zu verbinden,<br />

absolvieren Sie auf dem <strong>Server</strong> die folgenden<br />

Schritte:<br />

n Führen Sie »/var/ossec/bin/manage_<br />

agents« aus.<br />

n Wählen Sie »A« zum Hinzufügen eines<br />

Agenten, geben Sie für ihn einen Namen,<br />

die IP-Adresse <strong>und</strong> eine ID ein.<br />

n Kehren Sie ins Menü zurück <strong>und</strong> wählen<br />

»E«, um einen Schlüssel zu erzeugen.<br />

Speichern Sie den Schlüssel in<br />

einer Datei oder der Zwischenablage.<br />

n Geben Sie auf dem Windows-Rechner<br />

die IP-Adresse des <strong>Server</strong>s <strong>und</strong> den<br />

vorher gespeicherten Schlüssel ein<br />

<strong>und</strong> starten den Agenten.<br />

n Auf dem <strong>Server</strong> können Sie nun im<br />

Menü von »manage_agents« überprüfen,<br />

ob der Agent läuft. Mit »L« listen<br />

Sie dort alle Agenten auf.<br />

Mit dem Schlüssel verfahren Sie bei Unix-<br />

Agenten genauso, nur eben auf der Kommandozeile.<br />

Handarbeit<br />

Die Splunk-für-OSSEC-Anwendung installieren<br />

Sie von Hand am besten, indem<br />

Sie Ray Nuttings Anleitung folgen [6]:<br />

n Wählen Sie <strong>unter</strong> »splunk | Manager |<br />

Apps« den Punkt »Create app«.<br />

n Der Name <strong>und</strong> das Label sollten<br />

»OSSEC« lauten.<br />

n Wählen Sie beim Radio-Button »Yes«,<br />

damit die Anwendung sichtbar ist, <strong>und</strong><br />

beschreiben sie mit »OSSEC Security<br />

Events« oder ähnlich.<br />

n Das leere Template genügt zunächst.<br />

n Speichern Sie die Anwendung.<br />

n Entpacken Sie auf dem Splunk-<strong>Server</strong><br />

im Verzeichnis »apps« die Datei<br />

»ossec.tgz«.<br />

Abbildung 5: Änderung eines Dashboard über den<br />

entsprechenden Dialog.<br />

n Kopieren Sie dann einige Daten mit »cp<br />

-rf $HOME/ossec/* $SPLUNK_HOME/<br />

etc/apps/OSSEC«. (Dieser Befehl geht<br />

davon aus, dass Sie die Anwendung<br />

»OSSEC« genannt haben.)<br />

n Setzen Sie in »$SPLUNK_HOME/etc/<br />

apps/ossec/defaults/inputs.conf« <strong>unter</strong><br />

»Local <strong>Server</strong>« den Wert »disabled<br />

= false«.<br />

Sie können auch OSSEC-Syslog-Forwarding<br />

einschalten, womit OSSEC seine<br />

Daten an den Splunk-<strong>Server</strong> schickt,<br />

wenn Sie Data Input mit »udp:10002« <strong>und</strong><br />

»sourcetype:ossec« konfigurieren (siehe<br />

auch [7].<br />

Wenn alle OSSEC-Agenten ihre Reports<br />

an den OSSEC-<strong>Server</strong> schicken, der von<br />

Splunk als lokale Ressource überwacht<br />

wird, entfällt die Notwendigkeit eines<br />

weiteren Syslog-Inputs. Splunk liest dann<br />

direkt die Daten aus »/var/ossec/logs/<br />

alerts« auf dem gleichen <strong>Server</strong>.<br />

Navigieren Sie im Splunk-Webinterface<br />

zu »Dashboards« <strong>und</strong> wählen Sie das<br />

»OSSEC Dashboard« (Abbildung 2). Ein<br />

Event-Typ in dieser Abbildung zeigt die<br />

Installation eines neuen Softwarepakets.<br />

Wenn Sie als Beispiel <strong>unter</strong> »Search«<br />

aus dem OSSEC-Splunk-Menü nach<br />

»New dpkg (Debian Package) installed«<br />

suchen, dann liefert Splunk die in Abbildung<br />

3 sichtbare Ergebnisseite, die<br />

sich über »Actions« <strong>und</strong> »Export results«<br />

auch exportieren lässt. Wer komplexere<br />

OSSEC-Workflows in Splunk aufbauen<br />

möchte, sollte einen Blick in das Tutorial<br />

[8] werfen.<br />

Die interaktive Suche bildet den Ausgangspunkt<br />

für den Aufbau von nützlichen<br />

Dashboards, Ansichten <strong>und</strong> Reports.<br />

Sogar die Erstellung von Alarm-<br />

meldungen beginnt mit einem relevanten<br />

Suchbegriff. Lesen Sie sich zum Start das<br />

Dokument [9] durch <strong>und</strong> probieren Sie<br />

die gewonnenen Erkenntnisse an den gesammelten<br />

Events aus.<br />

Im letzten Teil dieses Artikels soll ein beispielhaftes<br />

Dashboard mit interessanten<br />

Events entstehen.<br />

Suchmuster<br />

Angenommen Sie überwachen einige<br />

Firewall-Appliances per Syslog <strong>und</strong><br />

möchten nur erfahren, welche Pakete<br />

abgelehnt wurden, aber ohne internen<br />

Traffic. Dabei sollen immer nur die zehn<br />

neuesten Ereignisse erscheinen. Das passende<br />

Suchmuster dafür sieht so aus:<br />

sourcetype=syslog netscreen action=deny NOT U<br />

dst=192.168.0.0/16 NOT dst=10.0.0.0/8 | headU<br />

10<br />

Wie Sie sehen, ist ein solcher Ausdruck<br />

intuitiv zu verstehen. Wer beispielsweise<br />

die gescheiterten Login-Versuche auf einem<br />

Windows-Rechner finden möchte,<br />

verwendet Folgendes:<br />

host="MYLOGSERVER01" Type="Failure Audit"<br />

Diese Anfrage liefert alle Events zurück,<br />

die vom Rechner »MYLOGSERVER01«<br />

stammen <strong>und</strong> vom Event-Typ »Failure<br />

Audit« sind (Abbildung 4).<br />

Bei der Suche gef<strong>und</strong>ene Elemente lassen<br />

sich per Pipe in weitere Verarbeitungsschritte<br />

leiten. Sie können auch weitere<br />

C13<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

43


m onitoR ing<br />

splunk<br />

Listing 1: XmL fürs dashboard<br />

01 <br />

02 sourcetype="ossec_alerts" | head 5<br />

03 Last 5 OSSEC events<br />

04 ‐25h<br />

05 now<br />

06 <br />

Logdatei-Werte einbeziehen. Nützlich<br />

sind solche Suchen beispielsweise, wenn<br />

Sie Chart Panels für Dashboards einrichten<br />

möchten:<br />

index=_internal source="*metrics.log" group=U<br />

per_sourcetype_thruput | timechart sum(kb) U<br />

by series<br />

Die Suchanwendung bietet auch einen<br />

Suchassistenten. Sie finden ihn <strong>unter</strong>halb<br />

des Suchformulars, wo er sich hinter<br />

einem weißen Pfeil verbirgt, der nach<br />

unten zeigt. Öffnen Sie den Assistenten,<br />

gibt er Ihnen Tipps, während Sie den<br />

Suchausdruck schreiben.<br />

Dashboards<br />

Wenn die Datensammlung läuft <strong>und</strong><br />

Sie die gr<strong>und</strong>legenden Suchtechniken<br />

beherrschen, können Sie verschiedene<br />

Events in einer einzigen klickbaren Ansicht<br />

aufbereiten. Eine Basis dafür sind<br />

die schon erwähnten UI Examples. Dashboards<br />

finden sich üblicherweise in »$SP-<br />

LUNK_HOME/etc/apps/Ihre Applikation/<br />

Abbildung 6: Beim Ausführen einer gespeicherten Suche lassen<br />

sich das Intervall <strong>und</strong> die stattfindenden Aktionen genau<br />

konfigurieren.<br />

default/data/ui/views/«. Editieren Sie die<br />

XML-Dateien entweder direkt oder im<br />

Splunk-Manager.<br />

Die Datei »dashboard4.xml« der UI Examples<br />

ist ein guter Ausgangspunkt<br />

für eigene Entwicklungen. Mit der im<br />

Abschnitt über OSSEC beschriebenen<br />

Vorgehensweise legen Sie eine neue<br />

Anwendung namens »HolisticInfoSec«<br />

an, kopieren »dashboard4.xml« ins Verzeichnis<br />

»$SPLUNK_HOME/etc/apps/<br />

HolisticInfoSec/default/data/ui/views/«<br />

<strong>und</strong> benennen sie in »dashboardHolistic-<br />

Infosec.xml« um.<br />

Im Allgemeinen sind Drill-Down-Dashboards<br />

sehr praktisch, deshalb empfiehlt<br />

es sich, die Drill-Down-Option zu verwenden,<br />

wann immer möglich. Um ein<br />

Dashboard zu editieren, navigieren Sie<br />

zu der entsprechenden Anwendung, öffnen<br />

das »Actions«-Menü <strong>und</strong> wählen dort<br />

»Edit Dashboard« (Abbildung 5).<br />

Wie schon im Abschnitt über die Suche<br />

erwähnt, werden Dashboards mit Hilfe<br />

von Suchausdrücken aufgebaut. Wer<br />

lieber direkt XML-Dateien editiert, muss<br />

den Suchausdruck in XML übersetzen. So<br />

wird aus dem Ausdruck<br />

sourcetype="ossec_alerts" | head 5<br />

der XML-Code in Listing 1. Zusätzliche<br />

Dashboards können Sie ganz nach den<br />

eigenen Wünschen <strong>und</strong> Vorlieben hinzufügen<br />

<strong>und</strong> konfigurieren. Auch wenn<br />

schon eine ganze Reihe von Beispielen<br />

mitgeliefert wird, sind die Optionen<br />

für die Anpassung von<br />

Dashboards auf die eigenen<br />

Bedürfnisse gewissermaßen<br />

grenzenlos.<br />

Alarm<br />

Natürlich kann Splunk nicht<br />

nur Daten sammeln <strong>und</strong><br />

grafisch aufbereiten, sondern<br />

auch im Fall des Falles<br />

selbst Alarmmeldungen verschicken.<br />

Wer zum Beispiel<br />

klare Richtlinien fürs eigene<br />

Netzwerk hat, kann dabei<br />

festlegen, dass kein Rechner<br />

auf Port 6667 Pakete entgegennimmt.<br />

Ein IRC-Bot, der<br />

als Backdoor eingeschleust<br />

wurde, könnte so etwas aber<br />

versuchen. Die Splunk-Unix-<br />

Anwendung kann offene Ports überwachen<br />

<strong>und</strong> mit folgender Abfrage einen<br />

solchen Bot finden:<br />

sourcetype="openPorts" 6667<br />

Klicken Sie auf »Save search«, dann auf<br />

»Schedule search«. Wählen Sie ein Intervall,<br />

das von einer Minute bis zu einer<br />

Woche dauern kann. Wenn Sie die<br />

Aktion konfigurieren, die beim Eintreten<br />

des Ereignisses ablaufen soll, können Sie<br />

beispielsweise wählen, dass Splunk jedes<br />

Mal eine Mail verschickt, wenn das<br />

Ereignis eintritt, oder kompliziertere Regeln<br />

aufstellen (Abbildung 6). Die verschickten<br />

Mails enthalten den Gr<strong>und</strong> der<br />

Benachrichtigung <strong>und</strong> noch zusätzliche<br />

Details zum eingetretenen Event, wenn<br />

der Administrator dies konfiguriert hat<br />

(Abbildung 7).<br />

Zusätzliche Aktionen wie Shellskript-<br />

Trigger, die Erzeugung eines RSS-Feed<br />

oder Zusammenfassungen kann der Splunk-Admin<br />

leicht einrichten.<br />

Fehlersuche<br />

Wenn irgendetwas nicht funktioniert wie<br />

geplant, empfiehlt sich die alte Windows-<br />

Maxime: neu starten. Allerdings nicht<br />

den Rechner, sondern nur die Splunk-<br />

Software. Bedenken Sie außerdem, dass<br />

nicht alle Splunk-Applikationen die gleiche<br />

Qualitätskontrolle erfahren. Fehlende<br />

Infos<br />

[1] Splunk: [http://www.splunk.com]<br />

[2] OSSEC: [http://www.ossec.net]<br />

[3] Snare: [http:// sourceforge.net/projects/<br />

snare/]<br />

[4] UI Examples: [http://www.splunkbase.com/<br />

apps/All/4. x/ app:UI+Examples+for+4.1]<br />

[5] Snare für Windows: [http://www.<br />

intersectalliance. com/projects/<br />

SnareWindows/ index.html]<br />

[6] Splunk für OSSEC: [http://securityisfutile.<br />

blogspot. com/ 2010/03/splunk‐for‐ossec<br />

‐theres‐app‐for‐that.html]<br />

[7] Splunk <strong>und</strong> OSSEC integriert: [http://www.<br />

ossec.net/ main/ splunk‐ossec‐integration]<br />

[8] Splitting OSSEC Events in Splunk: [http://<br />

blog.rootshell. be/ 2010/04/26/splitting<br />

‐ossec‐events‐in‐splunk/]<br />

[9] Interaktive Suche in Splunk: [http://www.<br />

splunk.com/ base/ Documentation/4.1.2/<br />

User/InteractiveSearch]<br />

44 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


splunk<br />

m onitoR ing<br />

Abbildung 7: Die per E-Mail verschickten Alarmmeldungen enthalten je nach Konfiguration eine Menge Details.<br />

Konfigurationsdateien oder fehlerhafte<br />

Anpassung an die neueste Splunk-Version<br />

können den Anwender durchaus zur<br />

Verzweiflung bringen.<br />

Vergessen Sie auch nicht die Firewall-<br />

Einstellungen. Es passiert immer wieder,<br />

dass die Anwendungen selbst richtig<br />

konfiguriert sind, aber die Daten nicht<br />

durchkommen, weil beispielsweise<br />

eine explizite Allow-Anweisung in der<br />

Firewall-Konfiguration fehlt.<br />

Um das Datenaufkommen auf ein Minimum<br />

zu reduzieren, überlegen Sie sich<br />

gut, was Sie überwachen wollen, <strong>und</strong> verzichten<br />

Sie auf alle überflüssigen Events.<br />

Vielleicht kommen Sie dann sogar mit<br />

der freien Version von Splunk aus, die auf<br />

500 MByte Daten pro Tag beschränkt ist.<br />

Möglicherweise ist es auch eine Option,<br />

einen zentralen Syslog-<strong>Server</strong> zu installieren,<br />

auf dem Sie die Log-Meldungen<br />

mit Hilfe von Regular Expressions vor-<br />

rz lam-0018 Anzeige_210x148:la1 lam-0010 Anzeige_210x148 18.08.2010 15:26 Uhr Seite 1<br />

sortieren, bevor Sie sie an<br />

Splunk weiterreichen.<br />

Fazit<br />

Die viele Optionen, die Splunk<br />

zur Überwachung von<br />

<strong>Server</strong>n <strong>und</strong> Netzwerken<br />

bietet, könnten ein Buch<br />

füllen. Dieser Artikel konzentriert<br />

sich auf sicherheitsspezifische<br />

Aspekte<br />

beim <strong>Monitoring</strong>, aber im<br />

Prinzip können Admins mit<br />

Splunk praktisch alles überwachen, was<br />

ihnen in den Sinn kommt.<br />

In größeren Netzwerken stößt man mit<br />

der freien Splunk-Lizenz schnell an Grenzen,<br />

aber dann ist die Enterprise-Lizenz<br />

von Splunk sicherlich eine Option, zumal<br />

sie noch mehr Features beherrscht.<br />

Egal was Sie überwachen möchten, für<br />

vereinheitlichtes <strong>Monitoring</strong> in einer gemischten<br />

Umgebung stellt Splunk eine<br />

gute Lösung dar. (ofr)<br />

n<br />

„Es gibt drei Möglichkeiten, eine Firma zu ruinieren:<br />

mit Frauen, das ist das Angenehmste;<br />

mit Spielen, das ist das Schnellste;<br />

mit Computern, das ist das Sicherste.“<br />

Oswald Dreyer-Eimbcke, deutscher Unternehmer<br />

Es gibt allerdings auch eine ganze Reihe von Möglichkeiten, mit IT zum Unternehmenserfolg beizutragen.<br />

Und genau damit beschäftigen wir uns seit dem Jahr 1989. In weit über 100.000 St<strong>und</strong>en IT-Training,<br />

technischem Consulting <strong>und</strong> Software-Entwicklung haben wir eine ganze Menge Know-how entwickelt.<br />

Dieses umfassende Wissen kommt Ihnen heute zugute, wenn wir Sie in allen IT-Fragen <strong>unter</strong>stützen.<br />

Wie Sie von unserem Know-how profitieren, erfahren Sie <strong>unter</strong> www.lamarc.com.<br />

Rufen Sie uns an +49 611 26 00 23 oder schicken eine E-Mail an info@lamarc.com<br />

Seminare OnSite Coaching Netzwerk Consulting System Consulting Developer Support Software-Entwicklung


seCurity<br />

ssH guard<br />

Andrii IURLOV, 123RF<br />

Brute-Force-Angriffe gezielt abblocken mit SSH Guard<br />

Torwart<br />

Versucht ein Angreifer in einen server einzudringen, sollte der Admin ihn nicht nur davon abhalten, sondern<br />

künftige Versuche verhindern. diese Aufgabe übernimmt das schlanke werkzeug ssH guard. es überwacht im<br />

Hintergr<strong>und</strong> jeden Login-Versuch <strong>und</strong> setzt ertappte bösewichte auf die schwarze Liste. tim schürmann<br />

Die Arbeitsweise von »sshguard« ist<br />

einfach, effektiv <strong>und</strong> ähnelt dem eines<br />

Intrusion‐Detection‐Systems: Das kleine<br />

Programm beobachtet ständig die Logfiles<br />

ausgewählter <strong>Dienste</strong>. Sollte es dabei<br />

fragwürdige Netzwerkzugriffe entdecken,<br />

blockiert es den mutmaßlichen Angriff<br />

vorübergehend mit einer entsprechenden<br />

Firewallregel (Abbildung 1). Hört der Angreifer<br />

trotzdem nicht auf, sperrt ihn »sshguard«<br />

immer längere Zeitspannen aus.<br />

Diese trickreiche Strategie hat den Vorteil,<br />

dass der Admin nicht versehentlich<br />

einen vergesslichen Benutzer aussperrt,<br />

dem automatisierten Passwort‐Raten aber<br />

einen wirksamen Riegel vorschiebt.<br />

Pappenheimer<br />

Wie sein Name andeutet, überwachte<br />

»sshguard« ursprünglich nur fehlgeschlagene<br />

SSH‐Logins. Mittlerweile kennt es<br />

sämtliche im Kasten „Unterstützte<br />

<strong>Dienste</strong>“ aufgeführten Services. Angriffsmuster<br />

für weitere <strong>Dienste</strong> kann man<br />

über ein spezielles Kontaktformular an<br />

die Entwickler senden, die es dann in<br />

eine der kommenden Versionen einbauen<br />

[2]. SSH Guard versteht sich selbstverständlich<br />

auch auf IPv6, steht <strong>unter</strong> der<br />

BSD‐Lizenz, ist schnell eingerichtet <strong>und</strong><br />

verzichtet sogar komplett auf eine Konfigurationsdatei.<br />

SSH Guard kommt als kleines, schlankes<br />

C‐Programm <strong>und</strong> läuft neben Linux<br />

auch <strong>unter</strong> weiteren Betriebssystemen<br />

mit Unix‐Unterbau, dar<strong>unter</strong> Mac OS X,<br />

verschiedene BSD‐Varianten, Solaris <strong>und</strong><br />

AIX. Einige große Linux‐Distributionen<br />

halten es sogar in ihren Repositories vor.<br />

Während dort jedoch durchweg die über<br />

ein Jahr alte Version 1.4 schlummert,<br />

steht auf der SSH‐Guard‐Homepage bereits<br />

der verbesserte Nachfolger 1.5 in<br />

den Startlöchern. Bei Redaktionsschluss<br />

war noch der letzte Release Candidate<br />

aktuell, mit dem Erscheinen dieses Heftes<br />

sollte die finale Fassung vorliegen.<br />

Da die Version 1.5 die Konfiguration<br />

weiter vereinfacht <strong>und</strong> die SSH‐Guard‐<br />

Homepage den Release Candidate bereits<br />

allen Anwendern empfiehlt, soll sie auch<br />

im Folgenden im Mittelpunkt stehen. Als<br />

bevorzugtes Betriebssystem kommt dabei<br />

Linux in den Geschmackrichtungen<br />

Debian 5.0.7, Ubuntu 10.10 <strong>und</strong> Open<br />

Suse 11.3 zum Einsatz, auf Linux‐fremde<br />

Kollegen geht kurz der Kasten „Weitere<br />

Betriebssysteme“ ein.<br />

Um die aktuelle Version von »sshguard«<br />

zu über‐ <strong>und</strong> anschließend einzusetzen,<br />

installiert der Admin zuerst den GNU C‐<br />

<strong>unter</strong>stützte dienste<br />

SSH Guard kennt derzeit folgende <strong>Dienste</strong>:<br />

n SSH<br />

n Sendmail<br />

n Exim<br />

n Dovecot<br />

n Cucipop<br />

n UW-Imap (IMAP, POP)<br />

n WS-FTPD<br />

n Pro-FTPD<br />

n Pure-FTPD<br />

n Free-BSD-FTPD<br />

46 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


ssH guard<br />

s eC urity<br />

Compiler (in der Regel im Paket »gcc«),<br />

GNU Make (Paket »make«) <strong>und</strong> Autoconf.<br />

Anschließend angelt er sich von<br />

der SSH‐Guard‐Homepage im Download‐<br />

Bereich <strong>unter</strong> »FROM SOURCES« die »latest<br />

release« [1]. Nach dem Entpacken<br />

des Archivs startet das »configure«‐Skript<br />

die Konfiguration, <strong>unter</strong> Linux mit dem<br />

folgenden Parameter:<br />

./configure ‐‐with‐firewall=iptables<br />

Dabei sollte der Admin gut die Ausgaben<br />

beobachten. Moniert »configure«<br />

ein nicht gef<strong>und</strong>enes »iptables«, gibt er<br />

ihm noch den Pfad zum gleichnamigen<br />

Werkzeug auf den Weg. Meist liegt es in<br />

»/usr/sbin«:<br />

./configure ‐‐with‐firewall=iptables U<br />

‐‐with‐iptables=/usr/sbin<br />

Unter Open Suse 11.3 <strong>und</strong> Debian ist<br />

der Befehl »iptables« ausschließlich dem<br />

Benutzer »root« zugänglich. Deshalb ist<br />

dort die Übersetzung <strong>und</strong> die komplette<br />

nachfolgende Einrichtung explizit als<br />

Administrator durchzuführen. Ein den<br />

Befehlen vorangestelltes »sudo« reicht<br />

hier nicht aus.<br />

Im Fall von Open Suse 11.3 sorgt der<br />

»configure«‐Parameter »‐‐prefix=/usr«<br />

schließlich noch dafür, dass der fertige<br />

»sshguard« im Suchpfad von »root«<br />

liegt:<br />

./configure ‐‐with‐firewall=iptablesU<br />

‐‐prefix=/usr<br />

Meldet »configure« keine Probleme, übersetzt<br />

<strong>und</strong> installiert man SSH Guard via:<br />

make<br />

sudo make install<br />

Bevor SSH Guard in Betrieb gehen kann,<br />

muss der Administrator <strong>unter</strong> Linux noch<br />

die Firewall vorbereiten. Dazu erstellt er<br />

zunächst eine neue IPtables‐Kette mit<br />

dem Namen »sshguard«, in die SSH Guar d<br />

später seine eigenen<br />

Regeln anhängt:<br />

sudo iptables ‐N U<br />

sshguard<br />

sudo ip6tables ‐N U<br />

sshguard<br />

Der zweite Befehl<br />

deckt IPv6‐Pakete ab.<br />

Als Nächstes erweitert<br />

der Admin die Input‐<br />

Kette so, dass sie die<br />

Pakete durch die SSH‐<br />

Guard‐Kette schickt<br />

(Abbildung 2):<br />

sudo iptables ‐A INPUT U<br />

‐j sshguard<br />

sudo ip6tables ‐A INPUT ‐j sshguard<br />

Wer mit SSH Guard nur bestimmte Ports<br />

schützen möchte, hängt diese noch per<br />

»‐‐destination‐ports«‐Parameter an. So<br />

würde etwa<br />

sudo iptables ‐A INPUT ‐m multiport ‐p U<br />

tcp ‐‐destination‐ports 21,22 ‐j sshguard<br />

später nur die <strong>Dienste</strong> an den Ports 21<br />

<strong>und</strong> 22 (standardmäßig FTP <strong>und</strong> SSH)<br />

blockieren.<br />

Wer selbst Firewallregeln erstellt oder<br />

eine andere Distribution nutzt, muss abschließend<br />

noch sicherstellen, dass keine<br />

»default allow«‐Regel die Pakete weiter<br />

hinten in der Kette doch noch durchwinkt<br />

<strong>und</strong> keine »default deny«‐Regel alle<br />

Pakete verwirft.<br />

Eigensinniges Chamäleon<br />

Im Fall eines frisch installierten Debian<br />

oder Ubuntu war dies bereits alles. Open<br />

Suse 11.3 kocht mit seiner Suse‐Firewall2<br />

wieder einmal ein eigenes Süppchen.<br />

Dort muss der Administrator die obigen<br />

Befehle in die Konfigurationsdateien<br />

einarbeiten. Dazu öffnet er als Erstes<br />

Tabelle 1: Configure-befehle je nach Os<br />

Betriebssystem Firewall Befehl<br />

AIX AIX-Firewall ./ configure --with-firewall=aix<br />

Linux Netfilter/ IPtables ./ configure --with-firewall=iptables<br />

Mac OS X, Free BSD Free BSD IP-Firewall ./ configure --with-firewall=ipfw<br />

Verschiedene BSD Open BSD Packet Filter ./ configure --with-firewall=pf<br />

Andere TCP-Wrapper ./ configure --with-firewall=hosts<br />

Abbildung 1: Die Anfragen des Clients (1) protokolliert der SSH-Daemon in<br />

der »auth.log«-Datei (2). SSH Guard überwacht sie (3) <strong>und</strong> erstellt bei zu<br />

vielen Login-Versuchen eine Firewallregel (4), die den Client abblockt (5).<br />

die Datei »/etc/sysconfig/scripts/SuSEfirewall2‐custom«<br />

mit einem Texteditor.<br />

Vor dem »true« in der »fw_custom_before_port_handling«‐Sektion<br />

fügt er die<br />

Zeile<br />

iptables ‐N sshguard<br />

hinzu, in die Sektion »fw_custom_before_denyall«<br />

setzt er vor das »true« die<br />

Zeile:<br />

iptables ‐A INPUT ‐j sshguard<br />

Als Nächstes entfernt der Admin in der<br />

Datei »/etc/sysconfig/SuSEfirewall2« die<br />

Raute »#« vor der Zeile<br />

weitere betriebssysteme<br />

Wer nicht Linux verwendet, muss zunächst<br />

herausfinden, welche Firewall auf seinem<br />

Betriebssystem läuft. Davon abhängig nutzt<br />

er bei der Übersetzung den passenden<br />

»configure«-Befehl aus Tabelle 1. Im Zweifelsfall<br />

wählt er den Parameter »hosts«, bei<br />

dem »sshguard« den Angreifer nicht über eine<br />

Firewallregel, sondern einen Eintrag in der<br />

Datei »/etc/hosts.allow« blockiert.<br />

Die anschließend erforderliche Einrichtung<br />

der Firewall hängt wieder vom Betriebssystem<br />

ab. Unter Mac OS X <strong>und</strong> Free BSD mit<br />

der IP-Firewall nutzt »sshguard« beispielsweise<br />

Regeln mit IDs von 55000 bis 55050.<br />

Dort muss der Anwender gegebenenfalls<br />

mit dem »ipfw«-Kommando sicherstellen,<br />

dass nicht andere Regeln »sshguard« in die<br />

Quere kommen. Alternativ lassen sich auch<br />

über den zusätzlichen Configure-Parameter<br />

»--with-ipfw-rules-range=55000-55050« SSH<br />

Guard andere IDs zuweisen.<br />

Weitere Konfigurationshinweise für andere<br />

Betriebssysteme hält die Homepage von SSH<br />

Guard <strong>unter</strong> [3] im Bereich »BLOCKING BACK-<br />

ENDS« bereit.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

47


seCurity<br />

ssH guard<br />

Abbildung 2: Unter Ubuntu fügen diese Befehle eine neue Kette hinzu, in die<br />

SSH Guard später seine Regeln injiziert.<br />

Abbildung 3: Unter Open Suse muss der Administrator zunächst in Yast <strong>unter</strong><br />

dem Punkt »Konfiguration der Firewall: Erlaubte <strong>Dienste</strong>« den Zugriff auf den<br />

SSH-Dienst freischalten.<br />

FW_CUSTOMRULES="/etc/sysconfig/scripts/U<br />

SuSEfirewall2‐custom"<br />

<strong>und</strong> setzt sie vor die Zeile:<br />

FW_CUSTOMRULES=""<br />

Abschließend startet er die Firewall neu:<br />

/etc/init.d/SuSEfirewall2_init restart<br />

Die Änderungen per »iptables«‐Kommando<br />

gelten nur bis zum nächsten Neustart.<br />

Wie man sie speichert, hängt von<br />

der eingesetzten Linux‐Distribution ab.<br />

Unter Ubuntu <strong>und</strong> Debian dienen dazu<br />

beispielsweise die Befehle »iptables‐save«<br />

<strong>und</strong> »iptables‐restore« (eine ausführliche<br />

Anleitung liegt <strong>unter</strong> [4] beziehungsweise<br />

[5]). Bei Open Suse ist mit den<br />

Einträgen in die Konfigurationsdateien<br />

dieser Punkt bereits abgehakt.<br />

Mit Version 1.5 hält der so genannte Log<br />

Sucker Einzug. Dieser intelligente Programmteil<br />

beobachtet die ihm übertrage‐<br />

nen Logs <strong>und</strong> liest automatisch jede neu<br />

hinzugekommene Zeile ein. Die Logdaten<br />

können dabei entweder als Datei vorliegen<br />

oder SSH Guard per Fifo beziehungsweise<br />

über eine Pipe erreichen. Der Log<br />

Sucker liest <strong>und</strong> erkennt die Logdatei‐<br />

Formate Syslog, Syslog NG, Metalog,<br />

Multilog <strong>und</strong> direkt von den <strong>unter</strong>stützten<br />

<strong>Dienste</strong>n geschriebene Dateien (Raw‐<br />

Format). Er behält auf Wunsch mehrere<br />

Logdateien gleichzeitig im Auge <strong>und</strong><br />

kann mit rotierenden sowie temporären<br />

Logdateien umgehen.<br />

Einfache Log-Beobachtung<br />

Dank Log Sucker entfällt die umständliche<br />

Konfiguration, wie sie in früheren<br />

SSH‐Guard‐Versionen notwendig war.<br />

Dort waren Syslog & Co. so einzurichten,<br />

dass sie SSH Guard ihre Logs zuspielten.<br />

Stattdessen muss der Administrator nun<br />

nur noch herausfinden, in welcher Datei<br />

die Logdaten der <strong>unter</strong>stützten <strong>Dienste</strong><br />

liegen. Unter Debian <strong>und</strong> Ubuntu landen<br />

beispielsweise alle Meldungen über<br />

fehlgeschlagene SSH‐Logins in »/var/log/<br />

auth.log«, während Open Suse 11.3 sie<br />

<strong>unter</strong> »/var/log/messages« sammelt. Den<br />

gesamten Pfad zur Logdatei übergibt man<br />

mit dem Parameter »‐l«:<br />

sudo sshguard ‐l /var/log/auth.log<br />

Dieser beobachtet jetzt beständig die<br />

»auth.log« <strong>und</strong> entdeckt dabei zwangsläufig<br />

auch fehlgeschlagene SSH‐Logins.<br />

Sollten diese überhand nehmen, setzt<br />

SSH Guard eine entsprechende Firewallregel<br />

ab. Sofern die anderen <strong>Dienste</strong><br />

ebenfalls ihre Logdaten in »auth.log« ablegen,<br />

berücksichtigt SSH Guard auch sie.<br />

Eine explizite Konfiguration von FTP &<br />

Co. ist somit nicht notwendig.<br />

Soll SSH Guard mehrere Logdateien im<br />

Auge behalten, erfährt es die Pfade einfach<br />

über weitere »‐l«‐Parameter. In<br />

eingriff<br />

Ähnlich wie bei der Verkehrssünderkartei in<br />

Flensburg belegt auch SSH Guard jeden Angriffsversuch<br />

mit einem bestimmten Punktewert, der<br />

Dangerousness. Welche Aktion wie viele Punkte<br />

bringt, verrät die SSH-Guard-Homepage [6].<br />

Dort steht auch, welche Log-Einträge SSH Guard<br />

als konkreten Angriffsversuch wertet. Die meisten<br />

Angriffe bringen zehn Punkte, ab 40 Punkten<br />

greift SSH Guard ein. Soll diese Schmerzgrenze<br />

höher liegen, erfährt das Werkzeug dies über<br />

den Parameter »-a«. Ein<br />

sshguard ‐l /var/log/auth.log ‐a 60<br />

schraubt die Dangerousness auf 60 Punkte<br />

hoch. Der Parameter »-p« bestimmt, wie viele<br />

Sek<strong>und</strong>en der Angreifer nach der ersten Blockade<br />

mindestens warten muss, bis er wieder<br />

Zugriff erhält. So würde<br />

sshguard ‐l /var/log/auth.log ‐p 15<br />

den Angreifer mindestens 15 Sek<strong>und</strong>en aussperren.<br />

Die tatsächliche Wartezeit bestimmt SSH<br />

Guard, sie liegt bei mindestens 15, höchstens<br />

bei 3/ 2 * 15 Sek<strong>und</strong>en. Zuletzt regelt »-s«, nach<br />

wie vielen Sek<strong>und</strong>en SSH Guard die IP-Adresse<br />

des Angreifers wieder vergisst. Wenn bei<br />

sshguard ‐l /var/log/auth.log ‐s 20<br />

der Angreifer nach jedem Versuch 20 Sek<strong>und</strong>en<br />

wartet, würde ihn SSH Guard niemals blocken.<br />

All diese Parameter darf der Administrator nach<br />

eigenem Bedarf beliebig kombinieren.<br />

sudo sshguard ‐l /var/log/auth.log ‐l ‐<br />

dient das »‐«‐Zeichen dazu, es über die<br />

Standardeingabe mit Daten zu füttern.<br />

Drum prüfe, wer sich bindet<br />

Nun sollte der Admin prüfen, ob die Blockade<br />

reibungslos funktioniert. Im Folgenden<br />

geschieht dies am Beispiel von<br />

SSH, die anderen von SSH Guard beobachteten<br />

<strong>Dienste</strong> prüft er nach dem gleichen<br />

Prinzip. Da auf Debian <strong>und</strong> Ubuntu<br />

standardmäßig kein SSH‐Daemon läuft,<br />

ist dort gegebenenfalls noch das Paket<br />

»openssh‐server« zu installieren. Open<br />

Suse installiert zwar den »sshd«, sperrt<br />

48 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


ssH guard<br />

seCurity<br />

Abbildung 4: SSH Guard hat einen Angriff entdeckt <strong>und</strong> den Client für einige<br />

Minuten blockiert. Das protokolliert der Daemon selbst in der Logdatei<br />

»auth.log« (hell hervorgehoben).<br />

Abbildung 5: Wie »iptables -L« in diesem Beispiel verrät, blockiert SSH Guard<br />

gerade einen Client (hell hervorgehoben). Den Gr<strong>und</strong> muss der Admin der<br />

entsprechenden Logdatei entnehmen.<br />

Nach fünf Login‐Versuchen blockt SSH<br />

Guard den Client für ein paar Sek<strong>und</strong>en.<br />

Diesen Vorgang protokolliert das Werkzeug<br />

in der zugehörigen Logdatei, <strong>unter</strong><br />

Debian <strong>und</strong> Ubuntu also in »/var/log/<br />

auth.log«, bei Open Suse in »/var/log/<br />

messages« (Abbildung 4). Darüber hinaus<br />

zeigt »sudo ipconfig ‐L« eine neue<br />

Firewallregel an, die den Rechner des<br />

SSH‐Clients aussperrt (Abbildung 5).<br />

Für diesen sieht es wiederum so aus, als<br />

würde der <strong>Server</strong> nicht mehr auf seine<br />

Anfrage reagieren oder als sei die Verbindung<br />

<strong>unter</strong>brochen worden.<br />

Je häufiger sich jemand einzuloggen versucht,<br />

desto länger dauert die Zwangsaber<br />

den Zugriff mit seiner eigenen<br />

Firewall. Um ihn freizuschalten, wählt<br />

der Administrator in Yast im Bereich »Sicherheit<br />

<strong>und</strong> Benutzer« die »Firewall«,<br />

wechselt im Fenster aus Abbildung 3 zu<br />

»Erlaubte <strong>Dienste</strong>«, stellt <strong>unter</strong> »Zu erlaubender<br />

Dienst« den »Secure Shell‐<strong>Server</strong>«<br />

ein <strong>und</strong> klickt auf »Hinzufügen«.<br />

Abschließend startet er noch den SSH‐<br />

Daemon:<br />

sudo /etc/init.d/sshd start<br />

Um nun SSH Guard auf die Probe zu<br />

stellen, loggt der Admin sich von einem<br />

anderen Rechner aus per SSH mehrfach<br />

mit einem bewusst falschen Passwort ein.<br />

pause. Irgendwann ist sie so lang, dass<br />

sich der Angreifer faktisch ausgesperrt<br />

hat. Blacklisting, also eine schwarze Liste<br />

mit gesperrten IP‐Adressen, ist daher<br />

nicht mehr notwendig. Wer dennoch an<br />

den Zeiten schrauben möchte, wirft einen<br />

Blick in den Kasten „Eingriff“.<br />

Bei einem erkannten Angriffsversuch erstellt<br />

SSH Guard eine neue Firewallregel,<br />

welche die IP‐Adresse des Angreifers nur<br />

für den <strong>unter</strong> Beschuss stehenden Dienst<br />

blockiert. Wenn sich also jemand wiederholt<br />

beispielsweise per SSH einzuloggen<br />

versucht, könnte er dies nach der Sperrung<br />

auch weiterhin noch per FTP tun.<br />

Im Extremfall würde ein Angreifer somit<br />

Linux-<strong>Magazin</strong><br />

ACADEMY<br />

Online-Training der Linux-<strong>Magazin</strong> Academy<br />

<strong>Monitoring</strong> mit Nagios<br />

Netzwerk überwachen leicht gemacht (Auszug):<br />

❚ das Webfrontend<br />

❚ Überwachung von Windows/Linux/Unix<br />

❚ Strukturieren der Konfiguration<br />

❚ Überwachen von SNMP-Komponenten<br />

❚ Addons Nagvis, Grapher V2, NDO2DB<br />

20%<br />

Treue-Rabatt für<br />

Abonnenten<br />

Mit vielen<br />

Praxisbeispielen<br />

Information <strong>und</strong> Anmeldung <strong>unter</strong>: academy.linux-magazin.de/nagios


s eC urity<br />

ssH guard<br />

erst nach <strong>und</strong> nach von allen <strong>Dienste</strong>n<br />

<strong>und</strong> Zugriffen ausgesperrt.<br />

Weiße Weste<br />

Einem befugten Nutzer gestattet SSH<br />

Guard mit seiner Arbeitsweise genügend<br />

Versuche, sich an sein Passwort zu erinnern.<br />

Möchte der Administrator jedoch<br />

etwa in einem sicheren LAN gezielt einen<br />

bestimmten Rechner von sämtlichen<br />

Strafmaßnahmen ausnehmen, übergibt<br />

er dessen IP‐Adresse »sshguard« mit dem<br />

Parameter »‐w«:<br />

sudo sshguard ‐l /var/log/auth.log ‐wU<br />

192.168.0.101<br />

In diesem Beispiel landet der Computer<br />

mit der IP‐Adresse 192.168.0.101 auf der<br />

internen Whitelist von SSH Guard <strong>und</strong><br />

hat ab sofort beliebig viele Login‐Versuche<br />

frei. Sollen mehrere Adressen auf die<br />

Whitelist, hängt der Admin sie jeweils<br />

mit einem weiteren »‐w« an:<br />

sudo sshguard ‐l /var/log/auth.log ‐w 192.U<br />

168.0.101 ‐w 192.168.0.102 ‐w 192.168.0.103<br />

Einen Adressenbereich gibt er in CIDR‐<br />

Notation an. Das nachfolgende Beispiel<br />

setzt alle IP‐Adressen von 192.168.0.1 bis<br />

192.168.0.255 auf die Whitelist:<br />

sudo sshguard ‐l /var/log/auth.log ‐w 192.U<br />

168.0/24<br />

Alternativ sind natürlich auch Hostnamen<br />

erlaubt:<br />

sudo sshguard ‐l /var/log/auth.log ‐w U<br />

fre<strong>und</strong>.example.com<br />

Hier landen alle IP‐Adressen auf der<br />

Whitelist, auf die das DNS den Namen<br />

»fre<strong>und</strong>.example.com« auflöst.<br />

Ist ein LAN recht groß, mutiert der SSH‐<br />

Guard‐Aufruf schnell zu einem unübersichtlichen<br />

Bandwurm. Aus diesem Gr<strong>und</strong><br />

kann der Administrator alle Whitelist‐<br />

Listing 1: whitelist-beispiel<br />

01 # Die Rechner von Edith <strong>und</strong> Dieter:<br />

02 192.168.0.101<br />

03 192.168.0.102<br />

04 # Das LAN der Entwicklungsabteilung:<br />

05 192.168.0/24<br />

06 # Unsere Zweigstellen:<br />

07<br />

08 zweigstelle1.example.com<br />

09 zweigstelle2.example.com<br />

Adressen in einer Textdatei speichern. Sie<br />

muss in jeder Zeile eine IP‐Adresse, einen<br />

Adressbereich in CIDR‐Notation oder einen<br />

Domainnamen enthalten. Zeilen mit<br />

einer Raute ignoriert das Tool. Listing 1<br />

zeigt ein Beispiel für eine Whitelist‐Datei.<br />

Heißt die Datei »whitelist.txt«, übergibt<br />

der Administrator sie an SSH Guard einfach<br />

via »‐w«:<br />

sudo sshguard ‐l /var/log/auth.log ‐w /etc/U<br />

whitelist.txt ‐w 192.168.0.103<br />

Wie das Beispiel außerdem zeigt, darf<br />

er noch beliebig viele weitere Adressen<br />

zusätzlich angeben.<br />

Arbeitet SSH Guard wie geplant, kann<br />

der Administrator das Werkzeug in die<br />

Startskripte aufnehmen. Hierbei ist er allerdings<br />

wieder auf sich allein gestellt.<br />

Noch nicht einmal eine Vorlage für das<br />

verbreitete Sys‐V‐Init liegt dem SSH‐Guard‐Archiv<br />

bei. Wie er selbst ein solches<br />

Skript schreibt, verrät ihm <strong>unter</strong> anderem<br />

eine kleine Artikelserie des Schwestermagazins<br />

„LinuxUser“ [8].<br />

Fazit<br />

SSH Guard verhindert effektiv Brute‐<br />

Force‐Angriffe – nicht mehr <strong>und</strong> nicht<br />

weniger. Die Liste der <strong>unter</strong>stützten<br />

<strong>Dienste</strong> ist zudem noch recht kurz. Das<br />

Werkzeug kann folglich kein echtes Intrusion‐Detection‐System<br />

ersetzen, aber<br />

Log Validation<br />

Syslog <strong>und</strong> Syslog NG schreiben vor jeden Log-<br />

Eintrag die Identifikationsnummer (PID) des zugehörigen<br />

Prozesses. Diese Information kann<br />

SSH Guard nutzen, um die Herkunft der Log-<br />

Meldungen zu verifizieren. Ein hinterhältiger<br />

lokaler Nutzer kann dann nicht mehr falsche<br />

Log-Meldungen einschleusen <strong>und</strong> so SSH Guard<br />

absichtlich den Rechner eines Kollegen sperren<br />

lassen. Diese Maßnahme ist aber nur bei<br />

Syslog- <strong>und</strong> Syslog-NG-Dateien notwendig, die<br />

Informationen von verschiedenen <strong>Dienste</strong>n einsammeln.<br />

Generiert ein Daemon seine eigene<br />

Logdatei, genügt es bereits, die Zugriffsrechte<br />

auf den Benutzer Root einzuschränken.<br />

Dummerweise stolpert der mit Version 1.5 eingeführte<br />

Log Sucker über die Log Validation:<br />

Bis der Log Sucker einen neuen Log-Eintrag<br />

bemerkt <strong>und</strong> eingelesen hat, vergeht eine kurze<br />

Zeit. Dies führt in einigen Fällen dazu, dass<br />

SSH Guard fälschlicherweise einen manipulierten<br />

Eintrag annimmt. Das Problem wollen<br />

die Entwickler erst in einer der nächsten SSH-<br />

mit<strong>unter</strong> sinnvoll ergänzen. Dann punktet<br />

es mit einer einfachen <strong>und</strong> schnellen<br />

Installation – vorausgesetzt der Admin<br />

verheddert sich nicht in den Einstellungen<br />

der eigenen Firewall. (ofr) n<br />

Infos<br />

[1] SSH Guard: [http://www.sshguard.net/]<br />

[2] Angriffsmuster einreichen: [http://www.<br />

sshguard. net/ support/attacks/submit/]<br />

[3] Installationshinweise für alle <strong>unter</strong>stützten<br />

Firewalls: [http:// www.sshguard.net/docs/<br />

setup/]<br />

[4] Firewall-Einstellungen speichern <strong>unter</strong><br />

Ubuntu: [https://help.ubuntu.com/<br />

community/ IptablesHowTo]<br />

[5] Firewall-Einstellungen speichern<br />

<strong>unter</strong> Debian: [http://www.<br />

debian-administration.org/articles/445]<br />

[6] Angriffssignaturen: [http://www.sshguard.<br />

net/docs/ reference/attack-signatures/]<br />

[7] Service-Codes:<br />

[http://www. sshguard.net/docs/reference/<br />

service-codes/]<br />

[8] Tim Schürmann, „Der Nächste, bitte! – Sys-<br />

V-Init <strong>und</strong> die Runlevel“: LinuxUser 12/ 2010<br />

Der Autor<br />

Tim Schürmann ist selbstständiger Diplom-Informatiker<br />

<strong>und</strong> derzeit als freier Autor <strong>unter</strong>wegs.<br />

Zu seinen Büchern gesellen sich zahlreiche Artikel,<br />

die in Zeitschriften <strong>und</strong> auf Internetseiten in<br />

mehreren Ländern erscheinen.<br />

Guard-Versionen angehen, bis dahin raten sie<br />

von einem gemeinsamen Einsatz von Log Sucker<br />

<strong>und</strong> Log Validation ab.<br />

Wer die Log Validation unbedingt nutzen möchte,<br />

muss zunächst sein System so einrichten, dass<br />

es SSH Guard über die Standardeingabe mit<br />

Logs füttert. Anschließend schlägt er <strong>unter</strong> [7]<br />

den zu seinem Dienst passenden <strong>Server</strong>code<br />

nach. Der SSH-Daemon besitzt beispielsweise<br />

die Nummer 100.<br />

Anschließend benötigt er noch den Speicherort<br />

seiner PID-Datei. Unter Ubuntu 10.10 wäre dies<br />

»/var/run/ssh.pid«. Diese beiden Informationen<br />

übergibt der Administrator an SSH Guard als<br />

Parameter:<br />

sshguard ‐f 100:/var/run/ssh.pid<br />

Nach dem gleichen Schema hängt er weitere<br />

PIDs an. Wichtig ist der jetzt fehlende Parameter<br />

»-l« (für den Log Sucker), ohne den SSH<br />

Guard die Logs über die Standardeingabe entgegennimmt.<br />

50 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


BONUS<br />

Bis 28. Feb. Netbook GRATIS!<br />

Jetzt anmelden www.hackattack.com<br />

[tag 1]<br />

>Hacking Tools Backtrack 4 & Co Neu!<br />

>rechtliche Situation Hackerparagraph usw.<br />

>System Scan Zielsysteme finden<br />

>Mobile Devices Blackberry, IPhone & Co<br />

>Google Hacking<br />

>Exploits im Einsatz gegen Windows<br />

[tag 2]<br />

>Virtual Machine Angriff auf virtuelle <strong>Server</strong><br />

>DNS-Hacking Phishing advanced<br />

Neu! >VPN-Hacking So (un)sicher ist VPN<br />

>SSL Hacking HTTPS Verbindungen abhören<br />

>Website Hacking (SQL Injection, XSS, Command Exec...)<br />

[tag 3]<br />

>VOIP abhören <strong>und</strong> absichern<br />

>WLAN WEP, WPA <strong>und</strong> WPA2 Neu!<br />

>Passwort Hacking Windows, Websites, Rainbow Tables ...<br />

>Biometrie Fingerabdruck fälschen<br />

>Penetration Testing mit Checkliste<br />

>Capture the flag Contest CTF mit dem gesammelten<br />

Wissen hacken Sie selbstständig ein System<br />

Das Penetration Testing Seminar<br />

[Hacking Advanced]<br />

> 16.-18.03.11 Hamburg<br />

> 29.-31.03.11 München<br />

> 06.-08.04.11 Köln<br />

> 04.-06.05.11 Frankfurt<br />

> 24.-26.05.11 Wien<br />

Preis: € 2.390,-/exkl. USt.<br />

Weitere Termine <strong>und</strong> Feedback zu diesem Seminar online<br />

hackattack.com<br />

[Forensik im Unternehmen]<br />

>Wie erkennen Sie effektiv den Einbruch in Ihr System?<br />

>Wie sichert man Beweise gerichtsverwertbar?<br />

>Welche Tools <strong>unter</strong>stützen Sie bei der Einbruchsdetektion?<br />

>Welche organisatorischen <strong>und</strong> technischen Vorbereitungen sind<br />

jetzt zu treffen? Wie gehen Sie im Ernstfall strukturiert vor?<br />

>Welche Fehler müssen Sie vermeiden?<br />

>Welche straf- <strong>und</strong> zivilrechtlichen Möglichkeiten haben Sie?<br />

>Welche Spuren hinterlassen Täter im System?<br />

Gastredner: Thorsten Kuhles, CERT dt. B<strong>und</strong>eswehr<br />

Stephan Schmidt, Fachanwalt IT Recht<br />

Kompaktwissen für den Ernstfall<br />

[Forensik Advanced]<br />

> 21.-23.03.11 Hamburg<br />

> 11.-13.04.11 Köln<br />

> 30.5.-01.6.11 München<br />

> 06.-09.06.11 Wien<br />

Preis: € 2.390,-/exkl. USt.<br />

>OWASP Top 10 basierend<br />

die OWASP Top 10 stellen die offizielle Hitliste<br />

der kritischsten Web Sicherheitsrisiken dar<br />

>Welchen Gefahren ist mein System ausgesetzt?<br />

>Wie erkennen Sie Sicherheitslücken der eigenen<br />

Applikation?<br />

>Wie können Schwachstellen beseitigt werden?<br />

Anhand eines konkreten Web Community Projekts<br />

lernen Sie die zehn gefährlichsten Schwachstellen kennen die von Angreifern<br />

ausgenutzt werden.<br />

... notwendige Theorie ...<br />

... noch mehr Praxis ...<br />

OWASP TOP 10 Seminar<br />

[Hacking WEB Apps]<br />

> 16.-18.03.11 Hamburg<br />

> 29.-31.03.11 München<br />

> 06.-08.04.11 Köln<br />

> 26.-29.04.11 Wien<br />

Preis: € 2.390,-/exkl. USt.<br />

HACKATTACK® IT SECURITY GmbH<br />

Hohenstaufenring 38-40<br />

50674 Köln<br />

>kostenlose Infoline<br />

0800 20 60 900<br />

hackATTACK<br />

®<br />

we hack to protect you


SECURITY<br />

Yubikey<br />

Two-Factor-Authentication für Wordpress-Blogs<br />

Schlüssel-<br />

B<strong>und</strong><br />

Der Yubikey verspricht Hardware-basierte Two-Factor-Authentication,<br />

wenn die Anwendung oder Bibliothek dies <strong>unter</strong>stützt. Ein Plugin sichert<br />

damit Wordpress-Blogs ab. Oliver Frommel<br />

Seit einiger Zeit bietet das <strong>ADMIN</strong>-<strong>Magazin</strong><br />

als Aboprämie einen Yubikey an, der<br />

Two-Factor-Authentication mit Einmalpasswörtern<br />

(One Time Passwords, OTP)<br />

kombiniert. Für eine Authentifizierung<br />

genügt es also nicht mehr, sein Standard-Passwort<br />

einzugeben, der Anwender<br />

braucht noch ein zweites. In diesem<br />

Fall erzeugt der Yubikey die Einmalpasswörter.<br />

Besonders praktisch ist der Key,<br />

weil er intern eine USB-Tastatur simuliert,<br />

als die er sich beim PC ausgeben<br />

kann. Somit ist für jeden Rechner, der<br />

USB-Tastaturen <strong>unter</strong>stützt, ein spezieller<br />

Treiber überflüssig.<br />

Sind die USB-Ports im Internetcafé<br />

nicht deaktiviert, klappt das Login mit<br />

Yubikey/ OTP sogar dort <strong>und</strong> verschafft<br />

zusätzlichen Schutz, denn selbst das mitgeschnittene<br />

oder -geloggte Einmalpasswort<br />

ist keinem Hacker nützlich, weil es<br />

eben nach einmaliger Nutzung verfällt.<br />

Umgekehrt kann niemand allein aus einem<br />

verlorenen Yubikey Nutzen ziehen,<br />

da immer noch das normale Passwort zur<br />

Authentifizierung nötig ist.<br />

Ein Beispiel für die Anwendung ist die<br />

Absicherung eines Wordpress-Blogs mit<br />

den beschriebenen Mitteln <strong>und</strong> einem<br />

separaten Plugin für den<br />

Yubikey [1]. Wordpress ist<br />

in PHP geschrieben, daher<br />

greift das Plugin auf die<br />

PHP-Bibliothek des Yubikey<br />

zurück, die ebenso wie Bibliotheken<br />

in vielen anderen<br />

Sprachen frei zur Verfügung<br />

steht [2].<br />

Sind die Rechte des Blogs so<br />

angepasst, dass der Webserver<br />

in die entsprechenden<br />

Verzeichnisse schrei ben Abbildung 2: Nach der fertigen<br />

darf, können Sie das Plugin Konfiguration verlangt Word press<br />

direkt über das Admin-Interface<br />

von Wordpress ins-<br />

der Yubikey generiert.<br />

zusätzlich ein Einmalpasswort, das<br />

tallieren. Andernfalls erledigen<br />

Sie die Installation, indem Sie das<br />

Paket per SSH entpacken oder über FTP<br />

hochladen. Abschließend aktivieren Sie<br />

das Plugin im Admin-Interface.<br />

Auf Knopfdruck<br />

eine Client-ID <strong>und</strong> den geheimen Schlüssel<br />

angezeigt. Die Client-ID <strong>und</strong> den<br />

API-Key geben Sie in den Einstellungen<br />

des Wordpress-Plugin <strong>unter</strong> »Settings |<br />

Yubikey« ein. Auf der Seite »Users | Your<br />

Profile« müssen Sie<br />

dann noch die Key-ID<br />

eintragen, das sind die<br />

ersten zwölf Zeichen,<br />

die der Yubikey automatisch<br />

ausgibt, <strong>und</strong><br />

»Yubikey authentication«<br />

auf »Use Yubico<br />

<strong>Server</strong>« schalten.<br />

Ist alles richtig konfiguriert,<br />

verlangt Wordpress<br />

beim Login zusätzlich<br />

zum normalen<br />

Passwort noch ein One<br />

Time Password, das Sie<br />

einfach durch Betätigen<br />

des Yubikey-Schalters<br />

eingeben (siehe Abbildung 2).<br />

Weitere fertige Einbindungen des Yubikey<br />

gibt es beispielsweise für Drupal <strong>und</strong> Mediawiki,<br />

selbst ein Apache-Modul fehlt<br />

nicht. Ein Interface zu Linux-PAM stellt<br />

der <strong>ADMIN</strong>-Artikel [4] vor.<br />

■<br />

Abbildung 1: Schon bei der Registrierung des API-<br />

Key hilft der Yubikey. Er füllt das zweite Feld der<br />

Eingabemaske aus.<br />

Zur Konfiguration des Plugin brauchen<br />

Sie eine Yubico-ID <strong>und</strong> einen API-Key,<br />

den Sie auf der Webseite [3] anfordern.<br />

Sie geben im oberen Feld Ihre E-Mail-Adresse<br />

an, setzen den Cursor in das <strong>unter</strong>e<br />

Feld <strong>und</strong> aktivieren den eingesteckten<br />

Yubikey per Knopfdruck (Abbildung 1).<br />

Er gibt dann im Feld einen Schlüssel aus.<br />

Wenn Sie auf der Webseite den Button<br />

»Get API Key« drücken, bekommen Sie<br />

Infos<br />

[1] Yubikey-Plugin für Wordpress: [http://<br />

henrik. schack. dk/ yubikey-plugin]<br />

[2] PHP-Klasse für Yubikey: [http:// code.<br />

google. com/ p/ php-yubico]<br />

[3] API-Key anfordern: [https:// upgrade.<br />

yubico. com/ getapikey/]<br />

[4] Thorsten Scherf, „Benutzerauthentifizierung<br />

mittels PAM“: <strong>ADMIN</strong> 04/ 2010,S. 42<br />

52 AUSGABE 01-2011 <strong>ADMIN</strong> WWW.<strong>ADMIN</strong>-MAGAZIN.DE


Follow us on Twitter<br />

@infosecurity<br />

Join the Infosecurity<br />

Professionals Group<br />

Join the Infosecurity<br />

Europe Facebook Group


s ecuR ity<br />

ids mit Prelude<br />

Plattformunabhängiges, korreliertes <strong>und</strong> erweiterbares IDS mit Prelude<br />

Alarmzentrale<br />

Maxim Kazmin, 123RF<br />

das hybride security-information-management-system (sim) Prelude empfängt sowohl Host- als auch netzwerkbasierte<br />

ids-meldungen <strong>und</strong> zeigt diese in einem übersichtlichen webinterface an. selbst komplexe, korrelierte<br />

Alarme von <strong>unter</strong>schiedlichen endgeräten mit eigenen Plugins sind da kein Problem. david Rupprechter<br />

Im richtigen Moment schnell zu reagieren<br />

kann manchmal lebenswichtig sein.<br />

Systeme für Intrusion Detection <strong>und</strong><br />

Prevention (IDS/IPS) helfen in modernen<br />

Rechenzentren den Administratoren<br />

dabei, Protokolldateien <strong>und</strong> Meldungen<br />

zahlreicher, meist <strong>unter</strong>schiedlicher Geräte<br />

<strong>und</strong> Betriebssysteme auszuwerten,<br />

Eindringlingen schnell auf die Schliche<br />

zu kommen <strong>und</strong> die richtigen Aktionen<br />

anzuleiern.<br />

Prinzipiell zu <strong>unter</strong>scheiden sind dabei<br />

Host-basierte IDS (HIDS), die in der Regel<br />

nur Dateien auswerten <strong>und</strong> lokale Angriffe<br />

erkennen können, etwa Tripwire,<br />

sowie Netzwerk-basierte IDS (NIDS) wie<br />

Snort, die Spuren von Hackern auch im<br />

Netzwerktraffic suchen.<br />

Prelude ([1], [2]) als hybrides IDS vereint<br />

die Vorteile von HIDS <strong>und</strong> NIDS <strong>und</strong><br />

bringt dabei zahlreiche Funktionen mit,<br />

zum Beispiel eine schicke Weboberfläche<br />

für die Administration <strong>und</strong> zahlreiche<br />

Agenten für Clients.<br />

Die Entwickler haben Prelude in den<br />

letzten Jahren vorangetrieben, es ist aus-<br />

gereift <strong>und</strong> bewährt sich in großen Szenarien.<br />

Mit seiner Plugin-Architektur <strong>und</strong><br />

Features wie der Korrelator-Engine programmieren<br />

findige Admins auch eigene<br />

flexible Addons, die ihnen die tägliche<br />

Arbeit erleichtern.<br />

Das Libprelude-API<br />

Die Prelude-Bibliothek gestattet es darüber<br />

hinaus, vorhandene Programme<br />

an Prelude anzubinden: Die Libprelude<br />

stellt ein API für diverse Programmiersprachen,<br />

<strong>unter</strong> anderem C++, Python,<br />

Perl <strong>und</strong> Ruby, bereit [3]. Eine wichtige<br />

Hilfe ist dabei auch das von der Intrusion<br />

Detection Working Group (IDWG)<br />

entwickelte Intrusion Detection Message<br />

Exchange Format (IDMEF, [4]). Es bietet<br />

ein standardisiertes Format für IDS-<br />

Meldungen, die mit Hilfe von Software<br />

wie den Tools des Libprelude-API in einer<br />

zentralen SQL-Datenbank landen.<br />

Für den Admin entfällt so das Zusammentragen<br />

der Logeinträge des Netzwerks,<br />

weil die zahlreichen verfügbaren<br />

Prelude-Agenten ihre Daten über verschlüsselte<br />

SSL-Verbindungen zum zentralen<br />

Manager schicken. Der hinterlegt<br />

diese in Echtzeit in der Datenbank <strong>und</strong><br />

stellt sie für Anfragen bereit. Heartbeats<br />

zu den Agenten informieren ihn dabei<br />

fortlaufend, ob deren Verbindung noch<br />

intakt ist. Bei Unterbrechungen halten<br />

die Agents nicht übertragene Einträge im<br />

Cache vor, um diese bei bestehender Verbindung<br />

nachzureichen.<br />

Agenten gibt es <strong>unter</strong> anderem für folgenden<br />

Plattformen:<br />

n Für das Netzwerk-basierte IDS-System<br />

Snort ([5], [6]).<br />

n Für das Host-basierte Open Source Security,<br />

Host-based Intrusion Detection<br />

System (OSSEC, [7]).<br />

n Für die Linux System Logs über Prelude-LML<br />

[8].<br />

n Für die PAM-Authentifizierung.<br />

Zudem kann das Security-Information-<br />

Management-System (SIM) alle Logs<br />

der üblichen Hardware-Appliances <strong>und</strong><br />

<strong>Dienste</strong> analysieren, dar<strong>unter</strong> diverse<br />

Cisco-Appliances, Exim, Microsoft SQL,<br />

54 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


ids mit Prelude<br />

s ecuR ity<br />

Clam AV, Nessus, Apache, Tripwire, Netfilter,<br />

IPchains <strong>und</strong> IPfw.<br />

Über OSSEC kommen Features wie<br />

Rootkit-Erkennung, Windows-Registry-<br />

Überwachung <strong>und</strong> Datei-Integritätsüberprüfung<br />

ins Spiel. Das klappt dann weitgehend<br />

plattformunabhängig für Linux,<br />

Windows, VMware ESX, BSD, Solaris,<br />

AIX, HP-UX <strong>und</strong> Mac OS X. Remote-<br />

Syslog bindet Hardware-Appliances wie<br />

Cisco PIX/ ASA, Juniper Netscreen <strong>und</strong><br />

Sonic Wall Firewalls an.<br />

Prelude-Manager<br />

Als Zentrale der vier Prelude-Komponenten<br />

(Manager, Sensoren, Libprelude,<br />

Web interface) nimmt der Manager die<br />

Daten entgegen, die die Sensoren über<br />

die von der Libprelude-Bibliothek verwalteten<br />

Verbindungen übertragen. Der<br />

Prelude-Manager ist <strong>unter</strong> Debian schnell<br />

installiert, einem »aptitude install prelude-manager<br />

libprelude« folgt ein Configure-Dialog<br />

von Dpkg mit der Auswahl<br />

der Datenbank (MySQL oder PostgreSQL)<br />

<strong>und</strong> der Eingabe des SQL-Rootpassworts.<br />

Anschließend generiert das System noch<br />

den SSL-Key.<br />

Ist die DB fertig <strong>und</strong> das Managerprofil<br />

erzeugt, lässt sich die Konfiguration<br />

in der Datei »/etc/prelude-manager/<br />

prelude-manager.conf« anpassen. Hier<br />

sollte der Admin den »listen«-Eintrag auf<br />

seine Bedürfnisse korrigieren, am besten<br />

ersetzt er die Loopback-Adresse 127.0.0.1<br />

durch seine IP, damit der Rechner später<br />

auch Logs von entfernten Agenten empfangen<br />

kann.<br />

Meist hat er hier auch die SQL-Konfiguration<br />

<strong>unter</strong> »[db]« zu ändern:<br />

[db]<br />

type = mysql<br />

host = localhost<br />

port = 3306<br />

name = Datenbankname<br />

user = Benutzername<br />

pass = Passwort<br />

Unter Debian GNU Linux muss er noch<br />

die Variable »RUN« in »/etc/default/prelude-manager«<br />

auf »YES« setzen, dann<br />

startet der Prelude-Manager mit »/etc/<br />

init.d/prelude-manager start«.<br />

Prewikka<br />

Die umfangreichen Informationen der<br />

bisweilen recht vielen Agenten stellt das<br />

Prelude-Webinterface Prewikka übersichtlich<br />

dar (Abbildung 1, [9]). Installiert<br />

ist es <strong>unter</strong> Debian mit »aptitude<br />

install prewikka« <strong>und</strong> ein wenig Konfigurationsarbeit.<br />

Zum Beispiel ist eine<br />

Datenbank nötig, die der Admin mit dem<br />

Skript »/usr/share/prewikka/database/<br />

mysql.sql« einspielt.<br />

Abschließend findet sich die Prewikka-<br />

Konfigurationsdatei in »/etc/prewikka/<br />

prewikka.conf«, hier sind die Variablen<br />

»software«, »place« <strong>und</strong> »title« nach Belieben<br />

zu setzen, zum Beispiel:<br />

software: Prewikka<br />

place: dotlike.net<br />

title: Preludeconsole<br />

Den Datenbankzugriff von Prewikka regelt<br />

der folgenden Abschnitt in der Konfigurationsdatei:<br />

[database]<br />

type: mysql<br />

host: localhost<br />

user: prewikka<br />

pass: Passwort<br />

name: prewikka<br />

In der Regel hat bereits die Debian-Paketkonfiguration<br />

alles ordnungsgemäß<br />

befüllt. Nun kann »prewikka-httpd« das<br />

Webinterface mit dem eingebauten Webserver<br />

auf Port 8000 starten. Anwender,<br />

die lieber eine bestehende Apache-Installation<br />

verwenden, finden im Kasten<br />

„Prewikka als virtueller Host“ eine<br />

kurze Anleitung.<br />

Der Standardbenutzername wie auch<br />

dessen Passwort lauten bei Prewikka<br />

»admin«. Das sollte dieser unbedingt<br />

nach der ersten Anmeldung <strong>unter</strong> dem<br />

Menüpunkt »Settings | My Account« ändern,<br />

wo er auch die Sprache auf Deutsch<br />

setzt. Das Webinterface ist intuitiv gehalten<br />

<strong>und</strong> stellt Alarme übersichtlich dar.<br />

Alle Felder bieten Filtermöglichkeiten wie<br />

Quelle, Ziel, Analyzer oder Klassifikation.<br />

Das Menü rechts unten setzt den<br />

Prewikka als virtueller Host<br />

Wer Prewikkas Webinterface mit Apache<br />

betreiben will, hinterlegt <strong>unter</strong> Debian eine<br />

Datei mit folgenden Zeilen in »/etc/apache2/<br />

site‐available/«:<br />

<br />

<strong>Server</strong>Name preludehost<br />

ErrorLog /var/log/apache2/error_log<br />

CustomLog /var/log/apache2/access_logU<br />

combined<br />

<br />

AllowOverride None<br />

Options ExecCGI<br />

<br />

AddHandler cgi‐script .cgi<br />

<br />

Order allow,deny<br />

Allow from all<br />

<br />

Alias /prewikka/ /usr/share/prewikka/U<br />

htdocs/<br />

ScriptAlias / /usr/share/prewikka/U<br />

cgi‐bin/prewikka.cgi<br />

<br />

Abbildung 1: Das Webinterface von Prelude hört auf den Namen Prewikka. In einer tabellarischen Übersicht<br />

zeigt es alle Ereignisse an, die die verschiedenen Agenten gemeldet haben.<br />

Um den Vhost zu aktivieren, bedarf es noch<br />

des Kommandos »a2ensite Vhost‐Datei«.<br />

Auch die Auslagerung in eine separate Datei<br />

<strong>und</strong> das Einbinden über »Include«‐Direktiven<br />

in »00_default_vhost.conf« ist eine geeignete<br />

Option.<br />

Anschließend startet »/etc/init.d/apache restart«<br />

den Webserver neu. Der Prelude‐<strong>Server</strong><br />

braucht natürlich einen im DNS auflösbaren<br />

Namenseintrag. Je nach Netzwerkinfrastruktur<br />

ist hier ein A‐Record für »preludehost« auf<br />

dem DNS‐<strong>Server</strong> nötig.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

55


s ecuR ity<br />

ids mit Prelude<br />

Abbildung 3: Das Skript »manage_agents« stellt ein<br />

einfaches Menü zur Verfügung, mit dem Admins die<br />

Client-Agenten auf dem <strong>Server</strong> registrieren.<br />

Abbildung 2: Das Installations- <strong>und</strong> Konfigurationstool von Ossec übernimmt auch fortgeschrittene<br />

Einstellungen, zum Beispiel die Kombination mit Firewalls <strong>und</strong> Active Response.<br />

Zeitraum <strong>und</strong> die Anzahl der Ereignisse<br />

pro Seite.<br />

Einer der für Linux-Admins wichtigsten<br />

Prelude-Sensoren ist Prelude Log <strong>Monitoring</strong><br />

Lackey (LML, [8]). Er arbeitet als<br />

Host-basiertes IDS <strong>und</strong> beobachtet definierte<br />

Logdateien <strong>und</strong> sendet Ereignisse<br />

an den Prelude-Manager. Die Installation<br />

erfolgt <strong>unter</strong> Debian mit »aptitude install<br />

prelude-lml«.<br />

Danach registriert der Admin jeden Sensor<br />

am Prelude-Manager über eine verschlüsselte<br />

Verbindung, bei Prelude-LML<br />

zum Beispiel mit:<br />

prelude‐admin register prelude‐lml U<br />

"idmef:w admin:r" Listen_IP_des_U<br />

Prelude‐Managers ‐uid 0 ‐gid 0<br />

Nach einer kurzen Wartezeit fordert<br />

Prelude den Admin auf, den Befehl<br />

»prelude-admin registration-server prelude-manager«<br />

in einer zweiten Shell<br />

auszuführen. Der stellt ein Einmal-Passwort<br />

(One-Shot-Passwort) bereit, mit<br />

dem sich der Sensor in der vorherigen<br />

Konsolensitzung authentifiziert. Danach<br />

erhält der Admin in der Konsole, in der<br />

dieser Befehl läuft, die mit [Y] zu bestätigende<br />

Ausgabe:<br />

Approve registration? [y/n]: y<br />

Das Ändern der <strong>Server</strong>adresse in der Konfigurationsdatei<br />

»/etc/prelude/default/<br />

client.conf« (in der Zeile »server-addr =<br />

IP«) sorgt dafür, dass die lokalen Agenten<br />

künftig ihre Daten an den angegebenen<br />

<strong>Server</strong> senden.<br />

Snort<br />

Wer die etablierte Network-Intrusion-Detection-Software<br />

Snort an Prelude anbindet,<br />

kann die Netzwerkangriff-Erkennung<br />

per Signatur aktivieren. Da die Entwickler<br />

dessen Regelwerk stetig erweitern, sollte<br />

der Admin seine Angriffsignaturen immer<br />

auf dem aktuellen Stand halten. Über<br />

eine kostenlose Registrierung auf der<br />

F Abbildung 4: Bei<br />

der Installation des<br />

Windows-Agenten<br />

für OSSEC sollte der<br />

Admin alles außer dem<br />

Quellcode auswählen.<br />

Webseite von Snort [5] erhält er einen<br />

Code für automatische Signatur-Updates,<br />

die für 30 Tage nach der offiziellen Veröffentlichung<br />

verfügbar sind. Drittsoftware<br />

wie Oinkmaster [10] oder Pulled Pork<br />

erlauben es, diese Signaturen mit einem<br />

Cronjob automatisiert zu beziehen.<br />

Eine Alternative zu den offiziellen Snort-<br />

Regeln, die in ähnlicher Form auch die<br />

kommerziellen Sourcefire-Appliances<br />

[11] verwenden, bietet Bleeding Snort<br />

[12]. Die Webseite des Projekts veröffentlicht<br />

kontinuierlich Snort-Regeln von<br />

Netzwerk- <strong>und</strong> Sicherheitsspezialisten.<br />

Auch einer Kombination der Regelsätze<br />

steht nichts im Wege.<br />

Die Installation von Snort klappt mit einer<br />

MySQL-Datenbank im Hintergr<strong>und</strong><br />

mit »aptitude install snort-mysql«, als<br />

Startmethode empfiehlt sich »Systemstart«,<br />

der »Promiscuous Mode« sollte<br />

angeschaltet bleiben. In diesem Modus<br />

überprüft Snort alle Pakete, auch wenn<br />

sie nicht direkt an die IP-Adresse des<br />

Netzwerkinterface gerichtet sind. Die E-<br />

Mail-Protokollierung bleibt optional <strong>und</strong><br />

als Protokoll-Datenbank soll jetzt Prelude<br />

dienen.<br />

In der Konfigurationsdatei »/etc/snort/<br />

snort.conf« muss der Admin jetzt einige<br />

Änderungen durchführen: Um Snort aufzufordern,<br />

seine Daten an Prelude zu<br />

E Abbildung 5: Im<br />

Gegensatz zur Syslog-<br />

Anbindung überträgt<br />

der Windows-Agent<br />

seine Informationen<br />

bereits in der Default-<br />

Einstellung sicher<br />

verschlüsselt.<br />

56 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


ids mit Prelude<br />

s ecuR ity<br />

senden, bedarf es dort noch des folgenden<br />

Abschnitts:<br />

output alert_prelude: profile=snort<br />

Das zu überwachende Netzwerk definieren<br />

folgende Einstellungen:<br />

# für IPv4:<br />

var HOME_NET 192.168.0.0/24<br />

# mit IPv6 USE flag:<br />

ipvar HOME_NET 192.168.69.0/24<br />

# Das externe Netz kann auf any bleiben<br />

var EXTERNAL_NET any<br />

Viele Präprozessoren sind für die Funktionsweise<br />

von Snort verantwortlich, etwa<br />

für die Erkennung von Portscans. Sie lassen<br />

sich mit detaillierten Feineinstellungen<br />

optimieren. Es ist durchaus sinnvoll,<br />

dazu die Konfigurationsdatei einmal in<br />

voller Länge durchzugehen.<br />

Auch Snort braucht jetzt ein Prelude-<br />

Profil:<br />

prelude‐admin register snort "idmef:wU<br />

admin:r" Listen_IP_des‐Prelude‐ManagersU<br />

‐uid 0 ‐gid 0<br />

Und schon klappt die Zusammenarbeit<br />

zwischen Snort <strong>und</strong> Prelude.<br />

OSSEC<br />

Wer Wert auf Plattformunabhängigkeit<br />

legt, verwendet das Host-basierte IDS<br />

OSSEC. Dessen aktuelle Version findet<br />

sich auf [7], »aptitude install libprelude-dev«<br />

installiert die fürs Kompilieren<br />

notwendigen Entwicklerbibliotheken von<br />

Prelude. Nach dem Entpacken des Tarballs<br />

ins Unterverzeichnis »src« aktiviert dort<br />

»make setprelude« die Prelude-Unterstützung,<br />

»install.sh« startet die Installation.<br />

Die angebotene lokale Installation reicht<br />

für Anwender aus, die keine Anbindung<br />

von Hardware-Endgeräten oder anderen<br />

Clients planen. In der Regel sollte der<br />

Admin hier jedoch »server« wählen <strong>und</strong><br />

den Integrity Check Daemon sowie die<br />

Rootkit Detection Engine aktivieren. Gegen<br />

Brute-Force-Attacken hilft es, durch<br />

Active Response <strong>und</strong> Firewall-Drop die<br />

attackierenden Hosts automatisch zu<br />

blockieren, je nach System via IPtables,<br />

IPchains oder IPfw (Abbildung 2).<br />

Damit False Positives nicht zu Problemen<br />

im Netzwerk führen, hilft eine Whitelist<br />

mit IP-Adressen. Im darauf folgenden<br />

Schritt kann der Admin den Empfang von<br />

Syslog-Nachrichten aktivieren, wenn er<br />

zum Beispiel plant Hardware-Appliances<br />

per Syslog anzubinden.<br />

Jetzt korrigiert er noch die Datei »/var/<br />

ossec/etc/ossec.conf«, damit OSSEC die<br />

Informationen an Prelude übergibt:<br />

<br />

<br />

no<br />

yes<br />

<br />

Zu guter Letzt muss der Admin auch<br />

OSSEC in Prelude registrieren:<br />

prelude‐admin register OSSEC "idmef:wU<br />

admin:r" Listen‐IP_des_Prelude‐ManagersU<br />

‐uid ossec ‐gid ossec<br />

Hier muss er bei UID <strong>und</strong> GID »ossec«<br />

verwenden, da der Analysedienst <strong>unter</strong><br />

diesem Benutzeraccount läuft. Nach der<br />

Installation startet das HIDS-System mit<br />

»/var/ossec/bin/ossec-control start«.<br />

Bevor sich ein Agent an OSSEC anbinden<br />

lässt, muss der Admin ihn auf dem <strong>Server</strong><br />

registrieren. Das erledigt der Befehl<br />

»/var/ossec/bin/manage_agents« mit einem<br />

tastaturgesteuerten Konsolenmenü<br />

(siehe Abbildung 3).<br />

Nach der Angabe des Namens gibt der<br />

Admin hier die IP-Adresse ein. Ist die<br />

dynamisch vergeben, gibt er das Klasse-<br />

C-Netzwerk an, in dem sich der Agent befindet<br />

(zum Beispiel 10.21.81.0/ 24). Dann<br />

wählt er eine ID für den Agenten, wobei<br />

er den Standardvorschlag für den ersten<br />

Agenten »001« ohne Weiteres beibehalten<br />

kann. Um ihn am Endgerät anzubinden,<br />

ist noch ein Authentifikationsschlüssel<br />

notwendig. Den gibt es mit »/var/ossec/<br />

bin/manage_agents -e 001«.<br />

Um einen Windows-Client an OSSEC <strong>und</strong><br />

Prelude anzubinden, bedarf es auf dem<br />

System der Libprelude [13]. Deren Installation<br />

ist mit wenigen Klicks beendet,<br />

wobei der Admin außer »Source Code«<br />

alle Komponenten der Software auswählt<br />

(Abbildung 4). Im Anschluss führt der<br />

Windows-Administrator den Eintrag »Manage<br />

Agent« (im Startmenü im Ordner<br />

»OSSEC«) aus. Nach Eingabe der »OSSEC<br />

<strong>Server</strong> IP« <strong>und</strong> des Schlüssels kann der<br />

Windows-Rechner eine Verbindung mit<br />

dem IDS-System herstellen.<br />

Ein Klick auf »Save« speichert die angegeben<br />

Daten, das Feintuning der Konfiguration<br />

findet sich <strong>unter</strong> »View | Config«<br />

(Abbildung 5). Nach dem nächsten Neustart<br />

stellt OSSEC die Anbindung über<br />

einen Windows-Dienst her.<br />

Listing 1: »setup.py«<br />

Abbildung 6: Korrelationsalarme erfassen Angriffe auch dann, wenn der Hacker zum Beispiel versucht<br />

mehrere <strong>unter</strong>schiedliche Geräte anzugreifen, hier am Beispiel eines Portscan.<br />

01 From setuptools import setup, find_packages<br />

02 setup(<br />

03 name='PortscanGeoinfoPlugin',<br />

04 version='1.0',<br />

05 description="Geographical information for<br />

portscanning hosts",<br />

06 author="David Rupprechter",<br />

07 packages=find_packages(),<br />

08 entry_points='''<br />

09 [PreludeCorrelator.plugins]<br />

10 PortscanGeoinfoPlugin = portscangeoinfoplugin:Ports<br />

canGeoinfoPlugin<br />

11 '''<br />

12 )<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

57


s ecuR ity<br />

ids mit Prelude<br />

Für Hardware-Appliances wie Ciscos PIX-<br />

Firewalls eignet sich die Syslog-Funktionalität<br />

von OSSEC. Zwar ist sie bei der<br />

oben beschriebenen Installation aktiviert,<br />

doch standardmäßig empfängt der <strong>Server</strong><br />

keine Syslog-Nachrichten. Vorher müssen<br />

die IP-Adressen, von denen ein Empfang<br />

dieser Nachrichten erlaubt ist, noch in<br />

der Konfigurationsdatei »/var/ossec/etc/<br />

ossec.conf« landen:<br />

<br />

syslog<br />

10.21.81.4<br />

10.21.81.9<br />

5140<br />

<br />

In dieser Konfiguration verarbeitet OSSEC<br />

die Syslog-Nachrichten der beiden Rech-<br />

Listing 2: »main.py«<br />

ner mit den Adressen 10.21.81.4 <strong>und</strong><br />

10.21.81.9.<br />

Besonders hilfreich beim Aufspüren von<br />

Angreifern ist die Korrelator-Engine von<br />

Prelude [14]. Sie bietet die Möglichkeit,<br />

IDMEF-Ereignisse miteinander in Verbindung<br />

zu setzen <strong>und</strong> so einen Korrelations-<br />

Alarm zu erzeugen, der alle betreffenden<br />

Einzelalarme enthält (Abbildung 6). Die<br />

Installation des Prelude-Correlator erfolgt<br />

<strong>unter</strong> Debian mit »aptitude install<br />

prelude-correlator«, registrieren lässt sich<br />

der Agent mit:<br />

prelude‐admin register prelude‐correlatorU<br />

"idmef:rw" Listen‐IP_des_Prelude‐ManagersU<br />

‐uid 0 ‐gid 0<br />

Der Prelude-Correlator liefert bereits einige<br />

eigene Plugins mit, sie sind <strong>unter</strong><br />

Debian im Ordner »/usr/share/pyshared/<br />

PreludeCorrelator/plugins/« zu finden<br />

<strong>und</strong> lassen sich über einen Eintrag in<br />

»/etc/prelude-correlator/prelude-correlator.conf«<br />

aktivieren. Die Zeilen<br />

[BruteForcePlugin]<br />

disable = false<br />

aktivieren beispielsweise das Bruteforce-<br />

Plugin. Anschießend startet »/etc/init.d/<br />

prelude-correlator start« den Correlator.<br />

Eigene Plugins<br />

Wer selbst Plugins erstellen möchte,<br />

braucht Python-Gr<strong>und</strong>kenntnisse <strong>und</strong><br />

sollte das Kapitel 4.2 des IDMEF-RFC ein-<br />

01 # Please download http://geolite.maxmind.com/download/geoip/database/<br />

GeoLiteCity.dat.gz and place the content of the archive in /usr/<br />

share/GeoIP/ to get more detailled geographical information<br />

02<br />

03 # Please report bugs to rupprechter at dotlike dot net<br />

04 # for more information please visit www.dotlike.net/portscangeoinfo.php<br />

05<br />

06 import os<br />

07 import re<br />

08 import shlex, subprocess<br />

09 import sys<br />

10<br />

11 from PreludeCorrelator.context import Context<br />

12 from PreludeCorrelator.pluginmanager import Plugin<br />

13 from PreludeCorrelator.idmef import IDMEF<br />

14<br />

15 strout = None<br />

16<br />

17 class PortscanGeoinfoPlugin(Plugin):<br />

18 def run(self, idmef):<br />

19 classification = idmef.Get("alert.classification.text")<br />

20<br />

21 NMAPFSCAN = "PSNG_TCP_FILTERED_PORTSCAN"<br />

22 NMAPSCANUDP = "PSNG_UDP_FILTERED_PORTSCAN"<br />

23 NMAPPSNG = "ICMP PING NMAP"<br />

24 TCPPSCAN = "(portscan) TCP Portscan"<br />

25 NMAPSCAN = "PSNG_TCP_PORTSCAN"<br />

26 SSHSCAN = "SSH insecure connection attempt (scan)."<br />

27 SSHSCAN2 = "Possible attack on the ssh server (or version gathering)."<br />

28 if classification != NMAPPSNG and classification != NMAPFSCAN<br />

and classification != TCPPSCAN and classification != NMAPSCAN<br />

and classification != SSHSCAN and classification != SSHSCAN2 and<br />

classification != NMAPSCANUDP:<br />

29 return<br />

30 source = idmef.Get("alert.source(*).node.address(*).address")<br />

31 for saddr in source:<br />

32 ctx = Context(("NETWORK_INFO_PORTSCAN_ATTACKER", saddr), { "expire":<br />

600, "alert_on_expire": True }, update = True, idmef=idmef)<br />

33 if ctx.getUpdateCount() == 0:<br />

34 ctx.Set("alert.correlation_alert.name", "Network scan of host(s)<br />

detected" )<br />

35 ctx.Set("alert.classification.text", "Network information for<br />

scanning host")<br />

36 ctx.Set("alert.assessment.impact.severity", "high")<br />

37 # only create one alert per source<br />

38 # GeoIP<br />

39 # only do GeoIP lookup if IP address is not private<br />

40 if saddr.find("10.", 0, 4) != ‐1 or saddr.find("172.", 0, 4) != ‐1<br />

or saddr.find("192.", 0, 4) == ‐1:<br />

41 # if GeoIP City Database exists<br />

42 if os.path.exists("/usr/Share/GeoIP/GeoLiteCity.dat") == True:<br />

43 import GeoIP<br />

44 gi = GeoIP.open("/usr/share/GeoIP/GeoLiteCity.dat",<br />

GeoIP.GEOIP_STANDARD)<br />

45 geoinfo = gi.record_by_addr(saddr)<br />

46 geo = re.sub(r'\'', r'', re.sub(r': ', r':', str(geoinfo)) )<br />

47 idmef = IDMEF()<br />

48 idmef.Set("alert.classification.text", "Geographical Information<br />

for portscanning host")<br />

49 idmef.Set("alert.correlation_alert.name", geo )<br />

50 idmef.Set("alert.assessment.impact.severity", "high")<br />

51 idmef.Set("alert.assessment.impact.description", "Geographical<br />

information for portscanning host " + saddr)<br />

52 idmef.alert()<br />

53 ctx.update(idmef=idmef)<br />

54 # else if only GeoIP Country Database exists<br />

55 elif os.path.exists("/usr/share/GeoIP/GeoIP.dat") == True:<br />

56 import GeoIP<br />

57 gi = GeoIP.new(GeoIP.GEOIP_MEMORY_CACHE)<br />

58 idmef = IDMEF()<br />

59 idmef.Set("alert.classification.text", "Geographical Information<br />

for portscanning host")<br />

60 idmef.Set("alert.correlation_alert.name",<br />

str(gi.country_code_by_addr(saddr)) )<br />

61 idmef.Set("alert.assessment.impact.severity", "high")<br />

62 idmef.Set("alert.assessment.impact.description", "Geographical<br />

information for portscanning host " + saddr)<br />

63 idmef.alert()<br />

64 ctx.update(idmef=idmef)a<br />

58 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


ids mit Prelude<br />

s ecuR ity<br />

Mit Hilfe der beschriebenen Kombination<br />

von NIDS <strong>und</strong> HIDS als Sensoren von<br />

Prelude lassen sich alle Informationen<br />

des Netzwerks, dar<strong>unter</strong> auch die von<br />

Syslog-fähigen Endgeräten, über ein zengehend<br />

studieren [1]. Dieser Abschnitt<br />

des RFC behandelt die Nachrichtenklassen,<br />

die Plugin-Programmierer verwenden<br />

dürfen.<br />

Das von dem Autor dieses Artikels extra<br />

geschriebene Beispiel-Plugin Portscangeoinfo<br />

(Listing 2) steht <strong>unter</strong> [15] zum<br />

Download. Es reagiert auf Portscans, die<br />

Snort <strong>und</strong> OSSEC erkannt haben, <strong>und</strong><br />

macht es möglich, über einen Korrelationsalarm<br />

geografische Informationen<br />

des Angreifers auszugeben. Damit Snort<br />

die Portscans auch erkennt, muss der<br />

Portscan-Präprozessor in der »snort.conf«<br />

aktiviert sein.<br />

Der Korrelationsalarm »Network Information<br />

for scanning host« enthält sowohl<br />

die Geo-IP-Informationen als auch die<br />

zugehörigen Alarme der Snort-OSSEC-<br />

Sensoren. Das Plugin wartet 5 Minuten,<br />

sammelt alle Portscan-Ereignisse innerhalb<br />

dieses Zeitraums <strong>und</strong> packt sie gesammelt<br />

in einen Korrelationsalarm. Damit<br />

das klappt, muss der Admin vorher<br />

mit »aptitude install geoip-python libgeoip1«<br />

Geo-IP für Python installieren. Wer<br />

sich mit den Länderinformationen nicht<br />

zufriedengibt, dem hilft die Geo-IP-City-<br />

Lite-Datenbank von [16] weiter.<br />

Der Aufbau eines Plugin<br />

Jedes Korrelations-Plugin enthält eine<br />

Datei namens »setup.py«, die für die Installation<br />

des Plugin verantwortlich ist. Listing<br />

1 zeigt den Inhalt der Datei. Um ein<br />

eigenes Plugin zu erstellen, braucht der<br />

Admin lediglich die Namen »Portscan-<br />

GeoinfoPlugin« <strong>und</strong> »portscangeoinfoplu-<br />

gin« anzupassen, optional korrigiert er<br />

auch die Felder »description«, »author«<br />

<strong>und</strong> »version«. Im Beispiel liegt der Code<br />

des Plugin im Ordner »portscangeoinfoplugin«.<br />

Hier akzeptiert das Skript auch<br />

Platzhalter: Wer in das Setupskript die<br />

Zeile<br />

Pluginname = Directory:My_plugin<br />

einfügt, verweist auf das Plugin »My_plugin«<br />

im Verzeichnis »Directory«, »python<br />

setup.py build« <strong>und</strong> »python setup.py install«<br />

installieren es schließlich.<br />

Jetzt sind noch folgende Zeilen in die Datei<br />

»/etc/prelude-correlator/prelude-correlator.conf«<br />

einzufügen, um das Plugin<br />

beim Start des Korrelators zu aktivieren:<br />

[PortscanGeoinfoPlugin]<br />

disable = False<br />

Im so gewählten Plugin-Ordner liegen die<br />

Dateien »init.py« <strong>und</strong> »main.py« (Listing<br />

2). Die Datei »init.py« enthält nur eine<br />

Zeile mit dem Namen des Plugin:<br />

from main import PortscanGeoinfoPlugin<br />

Das Plugin Portscangeoinfo zeigt die großen<br />

Möglichkeiten, die die Korrelator-<br />

Engine von Prelude bietet: Die Popen-<br />

Funktion bindet Konsolenprogramme<br />

<strong>und</strong> deren Ausgaben ein.<br />

Volle Netzwerkkontrolle<br />

trales Webinterface analysieren. Egal ob<br />

Windows-Rechner, Cisc-Router oder der<br />

Linux-<strong>Server</strong>, alle Maschinen im Rechenzentrum<br />

lassen sich damit in die zentrale<br />

Überwachung integrieren.<br />

Wer dann noch mit individuellen Plugins<br />

die Informationen gesammelt in<br />

übersichtlichen Korrelationsalarmen in<br />

Prewikka darstellen lässt, macht es jedem<br />

Angreifer schwer, lange unbemerkt<br />

zu bleiben. (mfe/ofr)<br />

n<br />

Infos<br />

[1] Prelude:<br />

[http://www. prelude‐technologies.com/<br />

en/solutions/ universal‐sim/index.html]<br />

[2] Ralf Spenneberg, „Großer Auftakt“:<br />

Linux‐<strong>Magazin</strong> 08/ 04, S. 74<br />

[3] Libprelude:<br />

[https://dev. prelude‐technologies.com/<br />

wiki/prelude/ ManualDevel]<br />

[4] IDMEF:<br />

[http://www. ietf. org/rfc/rfc4765.txt]<br />

[5] Snort: [http://www.snort.org]<br />

[6] Ralf Spenneberg, „Super‐Schnüffler“:<br />

Linux‐<strong>Magazin</strong> 06/ 03, S. 70<br />

[7] OSSEC: [http://www.ossec.net]<br />

[8] Prelude‐LML:<br />

[https://dev. prelude‐technologies.com/<br />

wiki/1/PreludeLml]<br />

[9] Prewikka:<br />

[https://dev. prelude‐technologies.com/<br />

wiki/1/Prewikka]<br />

[10] Oinkmaster:<br />

[http://oinkmaster. sourceforge.net]<br />

[11] Sourcefire: [http://www.sourcefire.com]<br />

[12] Bleeding Snort:<br />

[http://www. bleedingsnort.com]<br />

[13] Libprelude‐Windows‐Agent: [http://www.<br />

prelude‐technologies.com/download/<br />

releases/libprelude/libprelude‐1.0.0.exe]<br />

[14] Korrelator‐Engine: [http://www.<br />

prelude‐technologies.com/en/solutions/<br />

correlation‐engine/ index.html]<br />

[15] Portscangeoinfo: [http://www.dotlike.net/<br />

portscangeoinfo. php]<br />

[16] Geo‐IP‐City‐Datenbank:<br />

[http://geolite. maxmind.com/download/<br />

geoip/database/ GeoLiteCity.dat.gz]<br />

Abbildung 7: Erkennt das System einen Portscan von Snort oder OSSEC, dann erhält der Admin wenig später in<br />

der Liste der Alarme den Eintrag »Geographical Information for portscanning host«.<br />

Der Autor<br />

David Rupprechter ist IT‐Techniker beim führenden<br />

österreichischen Systemintegrator <strong>und</strong><br />

befasst sich auf [http://www.dotlike.net] mit IT‐<br />

Sicherheit, Netzwerktechnik, Programmierung<br />

<strong>und</strong> Linux.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

59


Helpdesk<br />

Ticket-systeme<br />

Service Management nach Plan<br />

Zu <strong>Dienste</strong>n<br />

Steve Cukrov, 123RF<br />

iT-dienstleistungen fachgerecht anzubieten umfasst mehr als einfache Trouble-Ticket-systeme. dieser artikel<br />

verrät, wie iTil-praktiken dabei helfen können <strong>und</strong> welche Helpdesk-system dafür brauchbar sind. James mohr<br />

In den letzten Jahren hat sich der Blick<br />

auf die die Rolle der IT innerhalb einer<br />

Firma etwas gewandelt. IT wird nun eher<br />

als Dienstleistung wahrgenommen, die<br />

eine Abteilung einer anderen Abteilung<br />

oder Firma bietet. Diese Veränderung<br />

hat ihre Spuren auch bei Helpdesk- oder<br />

Trouble-Ticket-Software hinterlassen, die<br />

sich ebenfalls mehr in Richtung Service<br />

bewegt.<br />

Um den komplexen Anforderungen gerecht<br />

zu werden, orientieren sich viele<br />

Firmen dazu an einer Sammlung von<br />

Best Practices: der Information Technology<br />

Infrastructure Library (ITIL) [1]. Sie<br />

deckt eine ganze Reihe von Themen ab<br />

<strong>und</strong> ihre vollständige Implementierung<br />

kann für große Unternehmen einige Jahre<br />

in Anspruch nehmen.<br />

Glücklicherweise ist das nicht für jede<br />

Anwendung nötig. Für einen Systemadministrator,<br />

der beispielsweise nur Supportanfragen<br />

besser verwalten will, ist<br />

ein ausgewachsenes ITIL-System völlig<br />

übertrieben. Wer nur bestimmte Aspekte<br />

implementiert, die wirklich gebraucht<br />

werden oder Nutzen versprechen, kann<br />

dennoch von ITIL profitieren.<br />

Um zu wissen, welche ITIL-Aspekte man<br />

implementieren könnte, muss man sich<br />

erst einmal mit den Gr<strong>und</strong>lagen der verschiedenen<br />

Teile vertraut machen. Einen<br />

guten Ausgangspunkt stellt „The Introduction<br />

to the ITIL Service Lifecycle“ dar,<br />

das es als knapp 200-seitiges Buch zu<br />

kaufen gibt.<br />

Phasenweise<br />

ITIL handelt nicht nur von Diesnten,<br />

deshalb beziehen sich die meisten auf<br />

diesen Aspekt mit der Bezeichnung IT<br />

Service Management (ITSM). Die aktuelle<br />

ITIL-Version 3 <strong>unter</strong>scheidet hierbei<br />

fünf Phasen:<br />

n Service-Strategie<br />

n Service-Design<br />

n Service-Transition<br />

n Service-Operation<br />

n Continual Service Improvement<br />

In der ersten Phase definieren die Verantwortlichen<br />

die Strategie, das heißt welche<br />

<strong>Dienste</strong> es geben soll, wie <strong>und</strong> wann sie<br />

verfügbar sind <strong>und</strong> wem welcher Dienst<br />

zusteht. Wie viel, wie schnell <strong>und</strong> für<br />

wen stellen die charakteristischen Merkmale<br />

eines <strong>Dienste</strong>s dar, auf die sich die<br />

Beteiligten einigen <strong>und</strong> die so zur Gr<strong>und</strong>lage<br />

der Service-Vereinbarung werden.<br />

In der Design-Phase werden die Details<br />

der Services ausgearbeitet. Zum Beispiel<br />

geht es dann konkret darum, welche<br />

<strong>Dienste</strong> die Datenbank-<strong>Server</strong> der Marketing-Abteilung<br />

bieten sollen, einschließlich<br />

der Dimensionierung der <strong>Server</strong> <strong>und</strong><br />

so weiter. In der Transition-Phase wird<br />

aus den Plänen dann Realität, allerdings<br />

in einer möglichst geordneten Weise.<br />

Hierbei kommt Change-Management ins<br />

Spiel, das alle Veränderungen mit Hilfe<br />

genau spezifizierter Prozesse definiert.<br />

Häufig sind sich Administratoren nur<br />

der folgenden Service-Operation-Phase<br />

bewusst, in der die <strong>Dienste</strong> erbracht werden.<br />

Natürlich spielt Service-Transition<br />

aber eine genauso wichtige Rolle, weil es<br />

Konfigurations-, Change- <strong>und</strong> Wissensmanagement<br />

mit einschließt.<br />

Das Service-Management ist nicht abgeschlossen,<br />

wenn die <strong>Dienste</strong> einmal<br />

implementiert sind, deshalb gibt es noch<br />

die Phase des Continual Service Improvement.<br />

Wichtig hierbei ist die kontinuierliche<br />

Analyse <strong>und</strong> regelmäßige Evaluierung<br />

60 ausgabe 01-2011 admin www.admin-magazin.de


OSDC.de<br />

OPEN SOURCE DATA<br />

CENTER CONFERENCE<br />

der erbrachten <strong>Dienste</strong>. Die dabei gesammelten Informationen<br />

fließen dann wieder in künftige Änderungen <strong>und</strong> Verbesserungen<br />

ein <strong>und</strong> komplettieren somit den Service-Zyklus.<br />

Alles Gold?<br />

Natürlich gibt es an ITIL auch etwas auszusetzen. So wird oft<br />

kritisiert, dass die offiziellen Dokumente der britischen Regierung<br />

sehr teuer sind <strong>und</strong> kleine Firmen sie sich nicht leisten können.<br />

Ein anderer Kritikpunkt trifft die ITIL-Evangelisten. Viele sehen<br />

ITIL jetzt als das A <strong>und</strong> O einer IT-Infrastruktur, das man bis aufs<br />

letzte Komma befolgen muss. Wie auch in anderen Bereichen<br />

ignorieren die ITIL-Anhänger praktische Beschränkungen <strong>und</strong><br />

wollen jeden Ablauf „ITIL-konform“ machen. Das ist aber nicht<br />

immer realistisch <strong>und</strong> die Kosten dafür verbieten so etwas in<br />

vielen Fällen von vornherein. Gleichzeitig deckt ITIL auch nicht<br />

die Anforderungen jeder Firma ab, was aber auch nicht der Anspruch<br />

ist.<br />

CALL FOR PAPERS<br />

www.netways.de/osdc<br />

Tickets<br />

Die Schnittstelle zwischen K<strong>und</strong>en/ Mitarbeitern <strong>und</strong> „der IT“<br />

ist häufig ein Trouble-Ticket- oder Helpdesk-System. Die meisten<br />

Produkte gehen mittlerweile über ein reines Ticket-System<br />

hinaus. Viele bieten Statistiken, zum Beispiel über die Art von<br />

Tickets <strong>und</strong> die Zeit bis zur Behebung eines Problems sowie<br />

andere Faktoren, die die Service-Qualität beeinflussen. Andere<br />

<strong>unter</strong>stützen zusätzlich noch Change-, Konfigurations- <strong>und</strong> sogar<br />

Wissensmanagement.<br />

Sich die passende Software auszusuchen, ist schwieriger als mancher<br />

denkt. Was für eine Firma gut ist, muss für die andere noch<br />

lange nicht passen. Auch wenn mehrere Produkte alle Aspekte<br />

des Service-Managements abdecken, wird sich deren Implementierung<br />

sicher <strong>unter</strong>scheiden, obwohl sie alle ITIL-konform sind.<br />

Man sollte bei der Auswahl vorsichtig sein, wenn ein Paket von<br />

sich behauptet ITIL-zertifiziert zu sein, denn der Begriff „zertifziert“<br />

bezieht sich nur auf Personen, die entsprechende ITIL-Prüfungen<br />

abgelegt haben. Bestenfalls ist eine Ticket-Software „ITILprozesskonform“<br />

(process compliant), was bedeutet, dass es die<br />

ITIL-Service-Management-Prozesse korrekt implementiert. Auch<br />

ein Produkt, das nur Teile des ITSM-Lebenszyklus implementiert,<br />

kann konform sein, wenn auch nur in diesen Teilbereichen.<br />

Pink Elephant ist eine Firma, die Software-Produkte mit ihrem<br />

Pinkverify-Programm daraufhin überprüft, ob sie ITIL-konform<br />

sind [2]. Als eines der strengsten Testprogramme prüft Pinkverify<br />

bis zu 15 ITSM-Prozesse. Einige der in diesem Artikel besprochenen<br />

Paket sind von Pinkverify verifiziert.<br />

In den letzten Jahren gab es bei Ticket-Systemen eine Entwicklung<br />

weg von speziellen Clients hin zu webbasierten Frontends. Die<br />

bessere Systeme erlauben den Zugriff im Browser gleichermaßen<br />

für K<strong>und</strong>en <strong>und</strong> Support-Angestellte. Die meisten bieten gleichzeitig<br />

noch ein E-Mail-Interface, das der Kommunikation dient.<br />

Am <strong>unter</strong>en Ende der Skala, was die Funktionalität betrifft, befindet<br />

sich der Web Horde User Problem Solver (WHUPS), der <strong>unter</strong><br />

einer Open-Source-Lizenz steht. Es handelt sich um ein Add-On<br />

für das Horde-Web-Framework [3], das sonst noch Webmail, Wiki<br />

<strong>und</strong> Groupware-Features umfasst. Es beschränkt sich auf Ticket-<br />

06. - 07. APRIL 2011 | NÜRNBERG<br />

KONFERENZSCHWERPUNKT 2011:<br />

Automatisiertes Systems Management<br />

Die Konferenz <strong>unter</strong> dem Motto<br />

“Open Source thinking large”<br />

• Internationale OS-Spezialisten<br />

• Trends <strong>und</strong> Möglichkeiten im Bereich OS Data<br />

Center Solutions<br />

• Best Practices<br />

• Themenfelder: High Availability, Clusterlösungen,<br />

Load Balancing, Firewalling, Large Scale Databases<br />

presented by:<br />

sponsored by:<br />

NETWAYS ®<br />

www.admin-magazin.de<br />

MAGAZIN


Helpdesk<br />

Ticket-systeme<br />

gibt es eine Demo der Software, außerdem<br />

bietet OTRS seit kurzem auch eine<br />

gehostete Version namens OTRS on Demand<br />

kommerziell an.<br />

Request Tracker<br />

Abbildung 1: Anlegen eines neuen Tickets im WHUPS-Interface.<br />

Funktionen, der einzige ITSM-Prozess,<br />

den es <strong>unter</strong>stützt, ist Incident Management<br />

(Abbildung 1). Darin besteht auch<br />

der große Vorteil von WHUPS: Wer noch<br />

keine Webmail oder Groupware hat, kann<br />

Horde installieren <strong>und</strong> darin das Helpdesk-System<br />

integrieren. Das Horde-Modul<br />

Nag bietet zusätzlich noch einfache<br />

Projektmanagement-Fähigkeiten.<br />

genauso installiert werden wie mit dem<br />

Internet Information <strong>Server</strong> <strong>unter</strong> Windows.<br />

An Datenbanken <strong>unter</strong>stützt es<br />

MySQL, PostgreSQL, Oracle, DB2 <strong>und</strong><br />

Microsoft SQL-<strong>Server</strong>. Auf der OTRS-Site<br />

Was die <strong>unter</strong>stützten ITSM-Prozesse betrifft,<br />

ist der Request Tracker (RT) eher<br />

am <strong>unter</strong>en Ende der Skala anzusiedeln,<br />

dafür bringt er ein übersichtliches Web-<br />

Interface mit (Abbildung 3). Request<br />

Tracker ist modular aufgebaut <strong>und</strong> lässt<br />

sich somit sehr gut auf die eigenen Anforderungen<br />

abstimmen. Die gut dokumentierte<br />

API macht es leicht, eigene Plugins<br />

zu schreiben <strong>und</strong> RT mit anderen Anwendungen<br />

zu verbinden. Auch im Perl-Archiv<br />

CPAN gibt es eine ganze Reihe von<br />

Erweiterungen für RT. Über so genannte<br />

Scrips lässt sich der Workflow für Tickets<br />

im einzelnen steuern. Mehr dazu verrät<br />

der Artikel zu RT ab Seite 65.<br />

OTRS<br />

Das Open Source Ticket Request System<br />

(OTRS) ist schon seit Jahren eins der<br />

beliebtesten Helpdesk-Systeme [4]. Bis<br />

vor kurzem war seine GUI ein bisschen in<br />

die Jahre gekommen, aber mit der im November<br />

erschienenen Version 3.0 wurde<br />

sie ein bisschen aufpoliert (Abbildung<br />

2). Das OTRS-ITSM-Modul <strong>unter</strong>stützt<br />

die meisten ITIL-Prozesse: Incident-,<br />

Problem-, Change- <strong>und</strong> Konfigurationsmanagement.<br />

Letzteres führt nicht nur<br />

genau über alle Software- <strong>und</strong> Hardware-<br />

Komponenten Buch, es ist auch vollständig<br />

mit den anderen Modulen integriert.<br />

So hat man jederzeit einen genauen<br />

Überblick über den Status der eigenen<br />

IT-Infrastruktur.<br />

Auch wenn einige ITSM-Prozesse fehlen,<br />

deckt OTRS doch die wichtigsten Anforderungen<br />

der meisten Administratoren<br />

ab. Außerdem wurden sechs Prozesse<br />

von OTRS-ITSM mit Pinkverify verifiziert.<br />

OTRS-ITSM gibt es derzeit nur für OTRS<br />

2, die Portierung für Version 3 soll im<br />

Frühjahr 2011 folgen.<br />

OTRS basiert auf der Skriptsprache Perl<br />

<strong>und</strong> kann mit dem Apache-Webserver<br />

Abbildung 2: In OTRS 3.0 haben die Entwickler die grafische Oberfläche gründlich überarbeitet.<br />

Abbildung 3: Der Request Tracker (RT): Tickets im Überblick.<br />

62 ausgabe 01-2011 a dmin www.admin-magazin.de


RT basiert auf objektorientiertem Perl sowie Apache <strong>und</strong> speichert<br />

seine Daten in MySQL, PostgreSQL, Oracle oder Sqlite. RT<br />

ist ziemlich leicht zu installieren, aber es gibt auch gehostete<br />

Angebote, die bei etwa 100 Euro für 500 Tickets starten <strong>und</strong> bis<br />

zu 3000 Euro pro Monat für eine unbegrenzte Zahl von Tickets<br />

reichen.<br />

Bei H2desk [6] handelt es sich um den typischer Vertreter gehosteter<br />

Lösungen, die also auf dem <strong>Server</strong> des Anbieters laufen.<br />

Was die ITSM-Prozesse betrifft, hat H2desk eher wenig zu bieten,<br />

es umfasst nur Incident <strong>und</strong> Problem Management, ist also eher<br />

ein einfaches Ticket-System. Zusätzlich gibt es eine eingebaute<br />

Wissensdatenbank <strong>und</strong> rudimentäres Reporting.<br />

Für alle Pakete bietet die Firma hinter H2desk eine 30 Tage lang<br />

funktionale Testversion. Wenn der Schwerpunkt auch auf dem<br />

Service-Angebot liegt, bietet H2desk auch ein so genanntes Self-<br />

Hosting-Paket, das Anwender auf dem eigenen <strong>Server</strong> installieren<br />

können. Der dabei mitgelieferte PHP-Code ist allerdings mit dem<br />

Ioncube-Encoder gegen Einblicke geschützt.<br />

Preislich bietet H2desk ein breites Spektrum, das bei 10 US-Dollar<br />

pro Monat für einen Bearbeiter <strong>und</strong> unbegrenzte Tickets beginnt.<br />

Für drei Bearbeiter sind es 20 US-Dollar, 10 Bearbeiter schlagen<br />

mit 40 US-Dollar im Monat zu Buche. Am oberen Ende rangiert<br />

das Paket mit einer unbegrenzten Zahl von Tickets wie auch Bearbeitern<br />

mit 70 US-Dollar pro Monat. Die Self-Hosted-Varianten<br />

starten bei Einmalzahlungen von 100 bis hin zu 700 US-Dollar.<br />

Für 1500 US-Dollar lüftet der Hersteller gar sein Code-Mäntelchen<br />

<strong>und</strong> macht aus dem Paket eine „Open Source Edition.“<br />

Ähnlich ist auch das Angebot von Kayako strukturiert [7]. Sein<br />

Produkt Resolve (Abbildung 4) gibt es ebenfalls gehostet oder<br />

zur Installation auf dem eigenen <strong>Server</strong>, allerdings ist der Funktionsumfang<br />

größer als bei H2desk. Auch wenn Kayako selbst<br />

ITIL nicht erwähnt, deckt es auch Service-Level-Management<br />

ab. Dazu dient <strong>unter</strong> anderem Engage, ein Live-Chat-System, das<br />

sich in jede Website integrieren lässt. Die On-Demand-Versionen<br />

von Resolve <strong>und</strong> Engage beginnen bei jeweils 59 US-Dollar im<br />

Monat für je drei Bearbeiter. Jeder weitere Bearbeiter kostet zusätzlich<br />

49 US-Dollar im Monat.<br />

Die gehosteten Versionen starten bei 999 US-Dollar für 10 Bearbeiter<br />

<strong>und</strong> sind ebenfalls preislich gestaffelt. Für die unbegrenzte<br />

Version von Resolve <strong>und</strong> Engange verlangt Kayako saftige 18 000<br />

US-Dollar. Beide Produkte zusammen verkauft Kayako im B<strong>und</strong>le<br />

<strong>unter</strong> dem Namen Fusion etwa 13 Prozent billiger. Zusätzlich gibt<br />

es einige Third-Party-Erweiterungen wie eine Anwendung für<br />

Blackberry-Telefone oder eine Kayako-Joomla-Bridge, die Login-<br />

Informationen zwischen den beiden Systemen austauscht.<br />

Topdesk<br />

Topdesk (Abbildung 5) preist sich selbst als ITIL-konform an<br />

[8]. Auch wenn es nicht bei jedem Aspekt von ITSM ins letzte<br />

Detail geht, deckt es doch den ganzen Lebenszyklus ab. Unter<br />

den selbst gehosteten Systemen ist Topdesk eines der besten. Es<br />

lässt sich zwar nicht wie andere Systeme in allen Einzelheiten<br />

konfigurieren, aber es ist leicht zu implementieren <strong>und</strong> erfordert<br />

nicht wie andere Helpdesks ausufernde Support-Verträge.<br />

Von Topdesk gibt es vier Varianten: Lite, Professional, Enterprise<br />

<strong>und</strong> Topdesk as a Service. Die Lite-Version ist für internen<br />

www.admin-magazin.de<br />

SELBST IST DER<br />

<strong>ADMIN</strong>!<br />

Mit der MobyDick Telefonanlage haben Sie<br />

alle Fäden selbst in der Hand. Außerdem<br />

verbinden Sie die Features modernster<br />

Telefonie mit den Vorteilen von Voice over IP.<br />

NEU<br />

Kostenlose<br />

Community<br />

Version<br />

erhältlich<br />

Asterisk-basierende SoftPBX<br />

Konfiguration über Weboberfläche MobyDick Commander<br />

Intuitive Bedienung<br />

Kann dank modularem Aufbau individuell angepasst werden<br />

Für 1-1000 Usern an beliebig vielen Standorten einsetzbar<br />

Virtuell einsetzbar<br />

Umfangreiche Überwachungs- & Auswertungsmöglichkeiten<br />

Transparente Einbindung von Niederlassungen, Home-<br />

Offices & Mobiltelefonen<br />

Autoprovisionierung von snom, Aastra & Yealink IP Telefonen<br />

Autoprovisionierung von ISDN-Karten <strong>und</strong> Gateways möglich<br />

Innovative Features:<br />

Mehr Informationen finden Sie <strong>unter</strong>:<br />

http://www.pascom.net<br />

http://community.pascom.net<br />

Integrierter Faxserver<br />

Voicemailsystem<br />

Interactive Voice Response<br />

Roaming User (Teilnehmerumzug)<br />

LDAP Connector<br />

Java User Client<br />

pascom<br />

Netzwerktechnik GmbH & Co. KG<br />

Berger Straße 42<br />

94469 Deggendorf<br />

Tel.: +49 991 27006 - 0


Helpdesk<br />

Ticket-systeme<br />

Abbildung 4: Übersichtlich: Die Ticket-Ansicht von Kayako Resolve.<br />

ist <strong>und</strong> wie stark sich solche Pakete zum<br />

Teil voneinander <strong>unter</strong>scheiden. Für eine<br />

objektive Bewertung <strong>unter</strong>scheiden sich<br />

die Anforderungen zu sehr. Zum Beispiel<br />

deckt der HP Service Manager zwar alle<br />

Phasen des ITSM ab, aber er wäre in<br />

einer Firma mit fünf Mitarbeitern definitiv<br />

fehl am Platz. Umgekehrt ist WHUPS<br />

sicher nicht das richtige für ein multinationales<br />

Unternehmen mit tausenden<br />

von Angestellten. Im Mittelfeld gibt es<br />

Pakete wie OTRS <strong>und</strong> Request Tracker,<br />

die für kleine wie auch große Installationen<br />

skalieren.<br />

Support gedacht <strong>und</strong> wenig mehr als ein<br />

klassisches Ticket-System, das Incident<strong>und</strong><br />

Konfigurationsmanagement bietet.<br />

Die Professional- <strong>und</strong> die Enterprise-Version<br />

decken den ganzen ITSM-Zyklus ab,<br />

wobei die Enterprise-Version nur wenige<br />

zusätzliche Features bietet. Topdesk arbeitet<br />

webbasiert <strong>und</strong> läuft auf verschiedenen<br />

Unix-Systemen wie auch Windows<br />

<strong>und</strong> setzt MS-SQL oder Oracle voraus.<br />

Die Kosten der Lizenzen hängt von der<br />

Anzahl von Support-K<strong>und</strong>en ab, während<br />

die Zahl der Bearbeiter unbegrenzt ist.<br />

Die Basic-Lizenz der Professional-Variante<br />

erlaubt 250 Endbenutzer. Sie lässt<br />

sich stufenweise auf 500, 1000, 1500 <strong>und</strong><br />

so weiter ausbauen.<br />

Professionell<br />

Der HP Service Manager (HPSM) [9]<br />

ist eins der umfangreichsten Produkte<br />

des Felds, das den kompletten Service-<br />

Management-Lebenszyklus abdeckt. Wer<br />

sich das Training <strong>und</strong> den Support leisten<br />

kann <strong>und</strong> unbedingt ein Highend-Produkt<br />

einsetzen will, wird bei HPSM fündig. Es<br />

ist auch das erste Produkt, das nach ITIL<br />

v3 verifiziert wurde. Im April 2010 hat<br />

Pink Elephant es in elf ITSM-Prozessen<br />

getestet.<br />

Die Basis bildet der Service Manager<br />

mit der Funktionalität von Konfigurationsmanagement,<br />

Web- <strong>und</strong> Windows-<br />

Clients sowie einigen Basis-Reports.<br />

Dazu kommt das Helpdesk-Modul, das<br />

gr<strong>und</strong>legende Ticket-Funktionen wie Incident-<br />

<strong>und</strong> Problem-Management umfasst,<br />

einschließlich eines Frontends für<br />

Support-K<strong>und</strong>en.<br />

Für kleinere Firmen bietet HP die SM<br />

Starter Suite. Sie enthält Help Desk,<br />

Change Management <strong>und</strong> Service Level<br />

Management für 25 User. Zusätzliche<br />

Module können K<strong>und</strong>en einzeln dazukaufen.<br />

Auch HPSM gibt es als gehostete<br />

Versionen in einer Basic-, Advanced- <strong>und</strong><br />

Premium-Variante. Die meisten Module<br />

sind schon im Basic-Paket enthalten, in<br />

den anderen kommen nur wenige weitere<br />

Module hinzu. Knowledge Management<br />

fehlt aber in der Basic-Variante.<br />

Eine interessante Funktion ist die HP Universal<br />

CMDB Software, die einen zentralen<br />

Zugangspunkt für mehrere Quellen<br />

an Konfigurationsdaten darstellt. Auf<br />

diese Ressourcen greift die Software dynamisch<br />

zu, sodass sich automatisch alle<br />

Komponenten von HPSM auf dem laufenden<br />

Stand befinden. Außerdem bietet HP<br />

CMDB eine API, über die andere Anwendungen<br />

auf die Konfigurationsdaten Zugriff<br />

bekommen. HPSM basiert auf Java<br />

<strong>und</strong> läuft auf Windows, HP/ UX, Solaris,<br />

einigen Linux-Distributionen <strong>und</strong> sogar<br />

Novell Open Enterprise <strong>Server</strong>. Je nach<br />

Betriebssystem <strong>unter</strong>stützt es als Datenbank<br />

Oracle, DB2 oder MS-SQL.<br />

Die im Artikel beschriebene Auswahl an<br />

Helpdesk-Software soll in erster Linie eine<br />

Orientierung darüber geben, was möglich<br />

Abbildung 5: Die Ticket-Übersichtsseite in Topdesk.<br />

ITIL nach Bedarf<br />

Vor einer Entscheidung ist es sicher empfehlenswert,<br />

sich eine Zeit lang mit einer<br />

Demo-Version von aussichtsreichen<br />

Kandidaten zu beschäftigen, denn etwas<br />

Erfahrung mit einer Software ist als Entscheidungsgr<strong>und</strong>lage<br />

sicher vonnöten.<br />

Spielen Sie am besten <strong>unter</strong>schiedliche<br />

Einsatzszenarios durch, die in Ihrer Firma<br />

wirklich auftauchen. Und vergessen Sie<br />

dabei nicht, dass möglicherweise auch<br />

leichte Abweichungen von ITIL genau Ihr<br />

Problem am besten lösen. (ofr) n<br />

Infos<br />

[1] ITIL-Website:<br />

[http:// www. itil-officialsite. com]<br />

[2] ITSM software verification:<br />

[http:// www. pinkelephant. com]<br />

[3] Horde: [http:// www. horde. org]<br />

[4] OTRS: [http:// otrs. org]<br />

[5] Request Tracker:<br />

[http:// www. bestpractical. com/ rt]<br />

[6] H2desk: [http:// www. h2desk. com]<br />

[7] Kayako: [http:// www. kayako. com]<br />

[8] Topdesk: [http:// www. topdesk. com]<br />

[9] HP Service Manager: [http:// www. hp. com]<br />

64 ausgabe 01-2011 a dmin www.admin-magazin.de


RT<br />

HELPDESK<br />

Das Open-Source-Ticketsystem RT<br />

Nummern<br />

ziehen<br />

Richard Côté, 123RF<br />

Das Helpdesk-System Request Tracker (RT) ist vielen Administratoren<br />

unbekannt. Dabei ist es eine leistungsfähige Software, die<br />

sich in allen Facetten auf die eigenen Bedürfnisse zuschneiden<br />

lässt. Julian Hein<br />

Auch wenn ITIL schon in den 80er Jahren<br />

entwickelt wurde, hat es sich doch<br />

gerade in den letzten Jahren als De-facto-<br />

Standard für IT Service Management<br />

(ITSM) etabliert. Eine der wichtigsten<br />

Funktionen innerhalb des ITIL-Framework<br />

ist der Service Desk, die zentrale<br />

Anlaufstelle <strong>und</strong> Single Point of Contact<br />

für alle Anwender.<br />

Neben einigen großen kommerziellen<br />

ITIL-Softwaresuites gibt es auch im Open-<br />

Source-Lager mit den Programmen OTRS<br />

<strong>und</strong> Request Tracker (RT) zwei flexible<br />

Lösungen zur Abbildung <strong>und</strong> Unterstützung<br />

eigener Supportprozesse. Während<br />

OTRS von einer deutschen Firma entwickelt<br />

<strong>und</strong> auch sehr aktiv vermarktet<br />

wird, stammt Request Tracker von der<br />

amerikanischen Firma Best Practical <strong>und</strong><br />

steht hierzulande eher im Schatten. Zu<br />

Unrecht, wie der Artikel zeigt.<br />

Request Tracker bietet out of the Box alle<br />

notwendigen Funktionen zum Betrieb<br />

eines Issue-Tracking-Systems <strong>und</strong> lässt<br />

kaum Funktionen vermissen: von der<br />

Annahme <strong>und</strong> Identifikation von E-Mails<br />

oder anderer Anfragen, der Vergabe von<br />

Prioritäten, Zuweisung der Tickets an Bearbeiter<br />

bis hin zur Benachrichtigung des<br />

ursprünglichen Anforderers sowie dem finalen<br />

Schließen der Anfrage am Ende der<br />

Bearbeitungskette. Während die meisten<br />

K<strong>und</strong>en <strong>und</strong> End-User nur per E-Mail mit<br />

der Anwendung kommunizieren, steht<br />

für die Mitarbeiter im Helpdesk ein übersichtliches<br />

Webinterface – in mehr als<br />

30 Sprachen lokalisiert – zur Verfügung<br />

(Abbildung 1).<br />

Die Software in der aktuellen Version<br />

3.8.8 gibt es auf der Website der Herstellerfirma<br />

<strong>unter</strong> der GNU GPL zum Download<br />

im Quellcode [1]. Die manuelle Installation<br />

ist allerdings nicht ganz trivial,<br />

da sie neben einem Webserver <strong>und</strong> einer<br />

Datenbank auch eine große Anzahl <strong>unter</strong>schiedlicher<br />

Perl-Module voraussetzt,<br />

von denen manche noch manuell installiert<br />

werden müssen.<br />

In vielen Distributionen steht Request<br />

Tracker zur Installation über die Paketverwaltung<br />

zur Verfügung, bei Ubuntu sogar<br />

in der ganz aktuellen Version 3.8.8. Als<br />

Datenbank <strong>unter</strong>stützt Request Tracker<br />

neben dem Klassiker MySQL auch PostgreSQL<br />

<strong>und</strong> inzwischen sogar Oracle.<br />

Arbeit in der Queue<br />

Nach der Installation <strong>und</strong> der Basiskonfiguration<br />

in der RT-Konfigurationsdatei<br />

kann der Administrator das Tool fast<br />

komplett im Webinterface weiter einrichten,<br />

wo er zum Beispiel die so genannten<br />

Queues anlegt. Das sind Warteschlangen<br />

oder allgemein Bereiche, in denen dann<br />

die einzelnen Tickets bearbeitet werden.<br />

Beispielsweise für das Incident-Management<br />

oder den Problem-Management-<br />

Prozess. Viele weitere Einstellungen wie<br />

Benutzerrechte, E-Mail-Templates oder<br />

Zusatzfelder werden dann in der Regel<br />

spezifisch für jede dieser Queues konfiguriert,<br />

lassen sich aber auch global für<br />

das System anlegen.<br />

Lediglich zur Anbindung an den Mailserver<br />

muss der Administrator sich noch<br />

einmal kurz auf die Konsole begeben,<br />

denn die eingehenden E-Mails werden<br />

von dem lokalen Programm »rt-mailgate«<br />

entgegengenommen <strong>und</strong> an den Request<br />

Tracker weitergeleitet. Dieses Programm<br />

konfiguriert der Admin, zusammen mit<br />

einigen notwendigen Parametern, als<br />

Empfänger im lokalen E-Mail-<strong>Server</strong>.<br />

Per E-Mail oder Web<br />

Danach können die End-User bereits erste<br />

Anfragen <strong>und</strong> Fehlermeldungen per E-Mail<br />

an das Ticketsystem senden. Von dort erhalten<br />

sie, wenn es entsprechend konfiguriert<br />

ist, eine automatische Antwort<br />

mit der zugeordneten Ticketnummer <strong>und</strong><br />

einer Erläuterung zur weiteren Vorgehensweise.<br />

Aus den eingegangenen E-Mails<br />

erstellt Request Tracker jeweils einzelne<br />

Tickets, die es im Webinterface im Bereich<br />

»unowned tickets« anzeigt.<br />

Je nach gewünschtem Workflow ziehen<br />

sich die Mitarbeiter des Helpdesk ihre<br />

Tickets selbst oder sie werden von einem<br />

Dispatcher anhand von Thema <strong>und</strong><br />

aktueller Workload an die einzelnen<br />

Bearbeiter verteilt. Der Bearbeiter kann<br />

dann direkt über das Tool Rückfragen<br />

stellen oder Hinweise zur Fehlerbeseitigung<br />

geben. Dabei protokolliert RT alle<br />

Bearbeitungsschritte <strong>und</strong> legt sie – mit<br />

einem Zeitstempel versehen – in der Be-<br />

www.ADmin-mAgA zin.DE<br />

A D min<br />

AuS gABE 01-2011<br />

65


H ELPD ESK<br />

RT<br />

Abbildung 1: Die Startseite des Webinterface gibt einen guten Überblick der aktuellen Tickets.<br />

arbeitungshistorie ab. So lässt sich später,<br />

beispielsweise bei Krankheit oder einer<br />

Übergabe an einen anderen Mitarbeiter,<br />

sofort nachvollziehen, was bisher erledigt<br />

oder besprochen wurde.<br />

Ticket-Handling<br />

Tickets haben eine Vielzahl von Eigenschaften<br />

<strong>und</strong> Felder, die ihrerseits wieder<br />

in verschiedene Bereiche <strong>unter</strong>gliedert<br />

sind <strong>und</strong> im Kopfbereich eines Tickets<br />

angezeigt werden. Die einzelnen Kategorien<br />

sind ein- <strong>und</strong> ausblendbar <strong>und</strong> zur<br />

leichteren Auffindbarkeit farblich kodiert<br />

(Abbildung 2).<br />

Im Reiter »Basics« finden sich die gr<strong>und</strong>legenden<br />

Eigenschaften der Tickets, etwa<br />

die Ticketnummer, der aktuelle Status,<br />

die Anfangs- <strong>und</strong> Endpriorität <strong>und</strong> die<br />

Queue, in die das Ticket einsortiert<br />

wurde. Im Bereich »People« stehen die<br />

Angaben zu den einzelnen Personen, die<br />

mit dem Ticket assoziiert sind. Das sind<br />

zum einen der Requester, also die Person<br />

oder E-Mail-Adresse, die das Ticket ursprünglich<br />

erstellt hat, sowie der aktuelle<br />

Ticket Owner, also die Person, die für die<br />

Bearbeitung <strong>und</strong> vor allem Erledigung<br />

des Tickets verantwortlich ist.<br />

Daneben gibt es noch die so genannten<br />

Watcher, die entweder als »CC« oder als<br />

»AdminCC« zu einem Ticket hinzugefügt<br />

werden können. Ähnlich zu den CC-<br />

Empfängern (Carbon Copy) einer E-Mail<br />

erhalten diese Personen Kopien der Ticketkorrespondenz,<br />

allerdings in <strong>unter</strong>schiedlichen<br />

Detailebenen. In der Regel wird<br />

der Administrator das System so konfigurieren,<br />

dass man externe Personen als<br />

CC einsetzt <strong>und</strong> analog zum Requester<br />

behandelt, während interne Personen als<br />

Admin-CC bei einem Ticket aufgenommen<br />

Abbildung 2: Kopfbereich eines Tickets inklusive aller Metadaten.<br />

werden. Der große Unterschied liegt in<br />

der späteren Konfiguration des Workflow.<br />

CCs erhalten nur normale Korrespondenz,<br />

während Admin-CCs auch interne Kommentare<br />

weitergeleitet bekommen. So<br />

kann man innerhalb eines Tickets sowohl<br />

mit seinen K<strong>und</strong>en als auch mit seinen<br />

Kollegen korrespondieren, ohne dass die<br />

K<strong>und</strong>en interne <strong>und</strong> vielleicht vertrauliche<br />

Kommentare erhalten.<br />

Unter »Dates« befinden sich die verschiedenen<br />

Datumsfelder. Während »Created«,<br />

»Closed« oder »Updated« automatisch gesetzt<br />

werden, kann man »Starts«, »Started«,<br />

»Last Contact« <strong>und</strong> »Due« auch<br />

manuell einstellen. Die Datumsfelder<br />

dienen vor allem dazu, entsprechende<br />

Fristen wie »Created 4 weeks ago« oder<br />

im Rahmen des Reporting Daten zu den<br />

Reaktionszeiten zu berechnen. Mit diesen<br />

Daten lässt sich ebenfalls eine genaue<br />

Überwachung <strong>und</strong> Auswertung von<br />

Service-Levels implementieren<br />

Eine weitere Ordnungsfunktion innerhalb<br />

des Request Trackers sind Links<br />

zwischen verschiedenen Tickets. Dieses<br />

Feature eignet sich dazu, Abhängigkeiten<br />

zwischen verschiedenen Aufgaben<br />

zu modellieren. Dafür gibt es die Beziehungstypen<br />

»Depends on«, »Parent/<br />

66 AuS gABE 01-2011 A D min www.ADmin-mAgA zin.DE


RT<br />

HELPDESK<br />

Abbildung 3: Grafische Darstellung der Abhängigkeiten zwischen mehreren Tickets.<br />

Child« <strong>und</strong> »Refers to«. Setzt man eine<br />

Beziehung in eine Richtung, zum Beispiel<br />

„Ticket 9 ist Parent von Ticket 3“, wird<br />

automatisch auch eine Beziehung in der<br />

Gegenrichtung erstellt, also „Ticket 3 ist<br />

Child von Ticket 9“.<br />

Auf Basis dieser Beziehungen lassen sich<br />

auch logische Regeln in das Ticketsystem<br />

einbauen. So kann ein Ticket, das noch<br />

von anderen Tickets abhängig ist, nicht<br />

gelöst werden, bevor die anderen Tickets<br />

endgültig erledigt wurden. Dadurch lassen<br />

sich beispielsweise mehrere Incidents<br />

einem Problem zuordnen, das dann wiederum<br />

zu einem Change führt.<br />

Request Tracker kann diese Abhängigkeiten<br />

über mehrere Ebenen sogar visuell<br />

darstellen <strong>und</strong> einen Abhängigkeitsgrafen<br />

aus den Ticketdaten erstellen (Abbildung<br />

3). Um sich oder andere Benutzer des<br />

Systems an wichtige Termine zu erinnern,<br />

lassen sich zu Tickets so genannte<br />

Reminder erstellen, die später auf der<br />

Startseite eingeblendet oder per E-Mail<br />

versendet werden.<br />

Protokolliert<br />

Neben den Basisdaten zeichnet Request<br />

Tracker eine komplette Bearbeitungshistorie<br />

inklusive Timestamps <strong>und</strong> der veränderter<br />

Felder auf. Diese History wird<br />

nach den Metadaten bei jedem Ticket<br />

angezeigt (Abbildung 4). Um die Revisionssicherheit<br />

des Systems zu erhalten,<br />

gibt es keine Möglichkeit, im Webinterface<br />

Transaktionen zu löschen. Natürlich<br />

kann der Anwender fast alle Werte eines<br />

Tickets verändern, dabei legt RT aber<br />

eine Transaktion an, die registriert, wer<br />

wann welche Daten verändert hat.<br />

Zur Bearbeitung von Tickets dienen die<br />

verschiedenen Queues, die normalerweise<br />

nach Themen, Abteilungen oder<br />

Prozessen strukturiert sind. Queues<br />

können eigene E-Mail-Adressen, Prioritäten<br />

<strong>und</strong> Deadlines besitzen. Auch alle<br />

Berechtigungen sind Queue-spezifisch<br />

konfiguriert. So lässt sich genau festlegen,<br />

welche Abteilungen Zugriff auf eine<br />

Queue haben <strong>und</strong> wer Tickets ansehen,<br />

bearbeiten oder sogar löschen darf. Diese<br />

Einstellungen lassen sich für User, Usergruppen<br />

<strong>und</strong> Rollen festlegen.<br />

Für jede Queue kann der Admin einzelne<br />

Watcher konfigurieren, die automatisch<br />

als CC-Benutzer Kopien der Korrespondenz<br />

erhalten, ohne dass er sie für jedes<br />

Ticket einzeln einrichten muss. So lässt<br />

sich beispielsweise ein Teamleiter über<br />

alle Vorgänge innerhalb seiner Abteilung<br />

informieren. Auch die nachfolgend<br />

beschriebenen Workflows <strong>und</strong> Custom-<br />

Felder werden immer Queue-spezifisch<br />

konfiguriert.<br />

Sämtliche automatisierten Aktionen innerhalb<br />

von Request Tracker werden über<br />

eine eingebaute Skripting Engine gesteuert.<br />

Die entsprechenden Regeln nennen<br />

sich Scrips, ein Wortspiel zusammengesetzt<br />

aus Script <strong>und</strong> Subscription [2].<br />

Eine solche Regel besteht immer aus den<br />

drei Teilen: Condition, Action <strong>und</strong> Template.<br />

Zuerst gibt man als Condition an, bei<br />

welchem Ereignis eine Aktion ablaufen<br />

soll. Beispiele für solche Ereignisse sind<br />

»On Create«, »On Resolve«, »On Owner<br />

Change«, »On Priority Change«, »On Status<br />

Change«, »On Comment« <strong>und</strong> viele<br />

weitere.<br />

Die zweite Einstellung »Action« gibt an,<br />

welche Aktion bei Eintritt des Ereignisses<br />

abläuft. Beispiele dafür sind E-Mail-<br />

Benachrichtigungen wie »Autoreply to<br />

Requestor«, »Notify Owner«, »Notify AdminCs<br />

as Comment« oder verschiedene<br />

Ticket-Aktionen wie »Open Ticket«, »Resolve<br />

Ticket« oder »Create Ticket«.<br />

Die dritte Einstellung »Template« legt<br />

dann fest, welches Template beim Ausführen<br />

der Aktion zur Verwendung<br />

kommt. Das Template kann ein E-Mail-<br />

Template, aber auch ein Template für<br />

ein neues Ticket sein. Innerhalb dieser<br />

Templates lassen sich alle Eigenschaften<br />

der Tickets als Variablen verwenden. Request<br />

Tracker ersetzt diese dann später<br />

bei der Ausführung des Scrip durch die<br />

echten Daten des jeweiligen Tickets, wie<br />

in Listing 1 zu sehen ist.<br />

Wie beschrieben sollte ein Anwender auf<br />

eine E-Mail-Anfrage an den Helpdesk eine<br />

automatische Antwort bekommen. Diese<br />

Autoreply hat mehrere Funktionen. Zum<br />

einen informiert sie den User, dass seine<br />

Anfrage eingegangen ist, zum anderen<br />

erhält er damit alle wichtigen Informationen<br />

zum neu erstellten Ticket <strong>und</strong> gegebenenfalls<br />

zu den weiteren Bearbeitungsschritten.<br />

Dieses Verhalten lässt sich über<br />

das folgende Scrip konfigurieren:<br />

Condition: On Create<br />

Action: Autoreply to Requestor<br />

Template: Autoreply Template<br />

Der Scrip-Mechanismus erlaubt es, den<br />

Request Tracker <strong>und</strong> vor allem die darin<br />

abgebildeten Prozesse sehr individuell zu<br />

Listing 1: Beispiel für ein RT-Template<br />

01 Subject: [{$rtname} #{$Ticket‐>id()}] Ticket<br />

geschlossen!<br />

02<br />

03 Das folgende Ticket wurde von uns erledigt <strong>und</strong><br />

geschlossen:<br />

04<br />

05 Ticket: [{$rtname} #{$Ticket‐>id()}]<br />

06 Queue: {$Ticket‐>QueueObj‐>Name}<br />

07 Betreff: {$Ticket‐>Subject || "(No subject<br />

given)"}<br />

08 Owner: {$Ticket‐>OwnerObj‐>Name}<br />

09 Requestor: {$Ticket‐>Requestors‐>EmailsAsString()}<br />

10 Ticket URL: {$RT::WebURL}Ticket/Display.<br />

html?id={$Ticket‐>id}<br />

11<br />

12 Bitte prüfen Sie denn Sachverhalt. Sollte alles zu<br />

Ihrer Zufriedenheit funktionieren, ist keine weitere<br />

Aktion notwendig. Sollte das Problem weiter bestehen,<br />

antworten Sie uns bitte auf diese E‐Mail, das Ticket<br />

wird dann automatisch wieder geöffnet. Vielen Dank.<br />

www.ADmin-mAgA zin.DE<br />

A D min<br />

AuS gABE 01-2011<br />

67


H ELPD ESK<br />

RT<br />

konfigurieren <strong>und</strong> zu automatisieren. So<br />

lässt sich damit die komplette Korrespondenzlogik<br />

feinjustieren, beispielsweise<br />

was bei eingehenden E-Mails genau passiert,<br />

wie die ausgehenden E-Mails aussehen<br />

<strong>und</strong> welche Aktionen überhaupt<br />

durch E-Mail getriggert werden. Außerdem<br />

können Scrips auch das Verhalten<br />

innerhalb von RT steuern. So kann beispielsweise<br />

beim Schließen eines Tickets<br />

in einer Queue automatisch ein Ticket<br />

in einer anderen Queue erzeugt werden,<br />

etwa um nach Abschluss eines Projekts<br />

ein neues Ticket für die Qualitätssicherung<br />

zu erstellen.<br />

Neben den vordefinierten Events <strong>und</strong> Aktionen<br />

lassen sich auch komplett benutzerdefinierte<br />

erstellen. Damit ist es möglich,<br />

auch sehr spezielle Anforderungen<br />

mit Request Tracker abzubilden. Da Request<br />

Tracker in Perl programmiert ist,<br />

werden auch diese selbst definierten<br />

Scrips in Perl-Syntax erstellt. Das Beispiel<br />

in Listing 2 zeigt eine benutzerdefinierte<br />

Action, die immer beim Erstellen neuer<br />

Tickets abläuft. Das Scrip prüft dabei die<br />

Absenderadresse auf das Pattern »@<br />

kun de.de«. Kommt dieser Domainname<br />

in der Adresse vor, wird eine zusätzliche<br />

E-Mail-Adresse »helpdesk@kun de.de« als<br />

Abbildung 4: Ansicht der Bearbeitungshistorie eines Tickets.<br />

CC-Empfänger dem Ticket hinzugefügt.<br />

So bekommt der Helpdesk des K<strong>und</strong>en<br />

immer eine Kopie aller E-Mails. Gerade<br />

diese Funktionen erlauben es, viele manuelle<br />

Aufgaben innerhalb des Ticketsystems<br />

zu automatisieren.<br />

Custom Fields<br />

Eine weitere, sehr mächtige Funktion in<br />

Request Tracker sind die so genannten<br />

Custom Fields, die der Administrator<br />

über einen eigenen Menüpunkt innerhalb<br />

des Konfigurationsmenüs verwaltet.<br />

Neben Tickets lassen sich Custom Fields<br />

auch für Queues, Benutzergruppen, User<br />

oder sogar Tickettransaktionen anlegen.<br />

Request Tracker <strong>unter</strong>stützt <strong>unter</strong>schiedliche<br />

Typen von Custom Fields, also<br />

beispielsweise Dropdown-Auswahllisten<br />

mit Einfach- <strong>und</strong> Mehrfachauswahl,<br />

einfache Textfelder <strong>und</strong> komplexe mit<br />

Wiki-Syntax, aber auch Uploadfelder für<br />

Attachments. Dabei lassen sich die Felder<br />

mit vordefinierten Auswahloptionen,<br />

mit Gültigkeitsprüfungen oder zur völlig<br />

freien Eingabe definieren.<br />

Nach dem zentralen Anlegen eines neuen<br />

Custom Field kann der Anwender es zu<br />

einer oder mehreren Queues hinzufügen.<br />

Das Feld existiert dann nur bei Tickets,<br />

die sich auch in diesen Queues befinden.<br />

Beispielsweise ist die Angabe eines Druckernamens<br />

nur dann sinnvoll, wenn das<br />

entsprechende Ticket sich auch in einer<br />

Queue für Druckerprobleme befindet. Für<br />

die einzelnen Custom Fields lassen sich<br />

auch Benutzerrechte vergeben. Dadurch<br />

legt der Administrator genau fest, welche<br />

User beziehungsweise Gruppen einzelne<br />

Custom Fields einsehen, abändern oder<br />

sogar deren Ausprägungen administrieren<br />

dürfen.<br />

Durch diese Funktionen ist es möglich,<br />

die Custom Fields ebenfalls im Rahmen<br />

von Workflows einzusetzen. So kann beispielsweise<br />

die Freigabe einer Release nur<br />

durch einen Release Manager erfolgen.<br />

Andere User können das entsprechende<br />

Feld zwar sehen, haben aber keine Rechte,<br />

sie zu verändern. Wenn der Release Manager<br />

das Statusfeld ändert, wird über die<br />

Workflow Engine automatisch ein entsprechender<br />

Change freigegeben.<br />

Reporting<br />

Ein integriertes Reporting-System erstellt<br />

verschiedene Auswertungen <strong>und</strong> stellt<br />

sie sogar grafisch dar. Um beispielsweise<br />

einen Monatsreport zu erhalten,<br />

definiert der Anwender zuerst die passenden<br />

Suchkriterien für die gewünschte<br />

Auswertung, also etwa „alle bearbeiteten<br />

Tickets in der Queue Request Fulfillment,<br />

die innerhalb des letzten Monats erstellt<br />

wurden“. Diese Suchkriterien lassen sich<br />

auch abspeichern, sodass man sie im<br />

nächsten Monat nicht wieder manuell<br />

erstellen muss.<br />

Anschließend kann der Anwender sich<br />

das Ergebnis als Ticketliste anzeigen <strong>und</strong><br />

auswerten lassen, um beispielsweise zu<br />

erfahren, welche User wie viele dieser<br />

Tickets erstellt oder bearbeitet haben.<br />

Selbst die Custom Fields lassen sich dabei<br />

nutzen. Gibt es beispielsweise ein solches<br />

Feld für Lizenzen, kann ein Report die<br />

Gesamtzahl aller betroffenen Softwarelizenzen<br />

ermitteln (Abbildung 5).<br />

Wie beschrieben lässt sich Request Tracker<br />

sehr gut auf die individuellen Bedürfnisse<br />

der Organisation, aber auch<br />

einzelner User oder Rollen anpassen. In<br />

der Regel geschieht dies über die Konfiguration<br />

von Queues, Workflows <strong>und</strong> Custom<br />

Fields. Aber auch das Webinterface<br />

68 AuS gABE 01-2011 A D min www.ADmin-mAgA zin.DE


RT<br />

HELPDESK<br />

Listing 2: Spezielle Adresse für alle Tickets<br />

01 if ($self‐>TicketObj‐>RequestorAddresses =~ m/lc\@<br />

k<strong>und</strong>e\.de/) {<br />

02 $RT::Logger‐>error("Helpdesk Adresse hinzufuegen");<br />

03 $self‐>TicketObj‐>AddWatcher(Type => 'Cc', Email =><br />

'helpdesk@k<strong>und</strong>e.de');<br />

04 }<br />

sowie verschiedene Pakete für Statistiken<br />

<strong>und</strong> Reports oder zur Abbildung <strong>und</strong> Verwaltung<br />

von Service Level Agreements.<br />

Mit etwas Perl-Know-how können Administratoren<br />

auch eigene Module schreiben.<br />

Diese lassen sich sauber vom normalen<br />

Programmcode trennen <strong>und</strong> auch<br />

bei einem Update einfach weiterhin verwenden,<br />

ohne den Quellcode jedes Mal<br />

neu anpassen zu müssen.<br />

Lohnt sich<br />

Abbildung 5: Report der bei verschiedenen Tickets verwendeten Lizenzen.<br />

ist in vielen Bereichen individuell anpassbar.<br />

Beispielsweise können Anwender<br />

zusätzlich zum Dashboard der Startseite<br />

weitere, individuelle Dashboards für spezielle<br />

Aufgaben erstellen.<br />

So benötigt ein Mitarbeiter für seine Rolle<br />

als Change Manager eine ganz andere<br />

Sicht auf seine Tickets als ein normaler<br />

Mitarbeiter im Helpdesk. In seinem<br />

Change Management Dashboard kann<br />

er alle Tickets aus anderen Bereichen<br />

ausblenden. Zusätzlich erfolgt die Ansicht<br />

<strong>und</strong> Strukturierung seiner Change-<br />

Tickets nicht nach Queues, sondern nach<br />

Prozessstatus. So gibt es einen Bereich<br />

mit Changes, die noch genehmigt werden<br />

müssen, einen Bereich mit Changes, die<br />

auf Umsetzung warten <strong>und</strong> einen weiteren<br />

Bereich mit Changes, die schon umgesetzt<br />

wurden, aber noch abgenommen<br />

werden müssen.<br />

Neben diesen Konfigurationsmöglichkeiten<br />

bietet Request Tracker noch viele<br />

weitere Tools <strong>und</strong> Einstellungen, die den<br />

Administratoren das Leben erleichtern.<br />

Beispielsweise lassen sich Suchabfragen<br />

oder ganze Queues als RSS-Feed veröffentlichen.<br />

Kollegen können diese Feeds<br />

abonnieren <strong>und</strong> sich so über wichtige<br />

Änderungen informieren lassen, ohne<br />

alle E-Mails zu diesen Tickets empfangen<br />

zu müssen.<br />

RSS-Feeds eignen sich darüber hinaus<br />

dafür, Informationen aus dem Ticketsystem<br />

in anderen Medien zu integrieren,<br />

etwa einem Wiki oder in die Website.<br />

Durch das I-Cal-Format lassen sich<br />

Ticket informationen auch in Kalender<br />

integrieren. Über so genannte Bulk-Operationen<br />

können Anwender eine Vielzahl<br />

von ähnlichen Tickets gleichzeitig bearbeiten,<br />

um beispielsweise bei Krankheit<br />

eines Admin alle seine hochpriorisierten<br />

Tickets auf einen anderen Kollegen zu<br />

übertragen. Selbst offline können Änderungen<br />

vorgenommen werden, indem<br />

man die Ticketdaten in einer Textdatei<br />

abspeichert <strong>und</strong> sie später wieder in den<br />

RT importiert. Zur besseren Bearbeitung<br />

auf Handys <strong>und</strong> Smartphones existiert<br />

sogar ein mobiles Interface<br />

Über den normalen Funktionsumfang hinausgehende<br />

Features lassen sich als RT<br />

Extensions nachrüsten. Auf der langen<br />

Liste im Wiki [3] finden sich beispielsweise<br />

ein grafischer Workflow Builder<br />

Request Tracker ist ein sehr gut umgesetztes<br />

<strong>und</strong> leistungsfähiges Open-Source-Issue-Tracking-System,<br />

das sich jeder Administrator<br />

einmal näher ansehen sollte,<br />

der ein solches System einsetzen möchte.<br />

Die Software wird seit Jahren aktiv gepflegt<br />

<strong>und</strong> weiterentwickelt <strong>und</strong> die Mailinglisten<br />

bieten einen hervorragenden<br />

Support. Aufgr<strong>und</strong> der vielen Features,<br />

der offenen Architektur <strong>und</strong> der Möglichkeiten,<br />

RT an individuelle Bedürfnisse<br />

anzupassen, erfordert die Software zwar<br />

etwas Zeit bei der Einarbeitung, belohnt<br />

den Nutzer anschließend aber durch<br />

seine fast unbegrenzten Einsatzmöglichkeiten.<br />

(ofr)<br />

n<br />

Infos<br />

[1] Request Tracker:<br />

[http://www. bestpractical.com/rt/]<br />

[2] Scrips: [http://requesttracker.wikia.com/<br />

wiki/Scrip]<br />

[3] RT Extensions:<br />

[http://requesttracker.wikia.com/wiki/<br />

Extensions]<br />

Der Autor<br />

Julian Hein ist Gründer <strong>und</strong> geschäftsführender<br />

Gesellschafter der Netways GmbH, die sich auf<br />

Open Source für Systems Management <strong>und</strong> Rechenzentren<br />

spezialisiert hat. Netways veranstaltet<br />

seit mehreren Jahren die Open Source<br />

<strong>Monitoring</strong> (OSMC) <strong>und</strong> die Open Source Datacenter<br />

Conference (OSDC) <strong>und</strong> arbeitet aktiv beim<br />

Nagios-Fork Icinga mit.<br />

www.ADmin-mAgA zin.DE<br />

A D min<br />

AuS gABE 01-2011<br />

69


Asics<br />

XP-modus von windows 7<br />

Galyna Andrushko, 123RF<br />

XP-Modus von Windows 7<br />

Bewährtes erhalten<br />

bei den meisten windows-Releases der letzten Jahrzehnte wurde den entwicklern vorgehalten, längst überfällige<br />

innovationen dem gebot der Abwärtskompatibilität zu opfern. dank des auf Virtualisierung basierenden<br />

XP-modus können nutzer von windows 7 trotzdem XP-Anwendungen ausführen. Thomas drilling<br />

Dass das Abschneiden alter Zöpfe zwar<br />

Mut erfordert, aber oft die beste Lösung<br />

ist, um neue Technologien in ein gewachsenes<br />

Produkt zu integrieren, hat<br />

Microsofts Konkurrent Apple schon häufig<br />

<strong>unter</strong> Beweis gestellt. Man erinnere<br />

sich nur an die mutige Abkehr von den<br />

Motorola- <strong>und</strong> PowerPC-Prozessoren,<br />

den Austausch des Kernels gegen ein<br />

BSD-System oder die Abkehr vom Bios<br />

zugunsten der Firmware-Betriebssystem-<br />

Schnittstelle EFI (Extensible Firmware<br />

Interface). Auch wenn Nutzer älterer<br />

Systeme dabei auf der Strecke bleiben,<br />

gewinnt der Hersteller in der Regel mit<br />

neuen Technologien überproportional<br />

mehr zufriedene K<strong>und</strong>en.<br />

Windows 7 hat sich im ersten Jahr seiner<br />

Existenz über alle Maßen bewährt <strong>und</strong><br />

lässt den glücklosen Vorgänger Vista im<br />

Bewusstsein der Nutzer sicher schnell in<br />

Vergessenheit geraten. Windows 7 hat<br />

mit seiner Stabilität <strong>und</strong> Performance<br />

auch Skeptiker überzeugt. Selbst Open-<br />

Source-Anbeter <strong>und</strong> Linux-Nutzer attestieren<br />

dem jüngsten Redmonder Desktop-Arbeitsgerät<br />

einen hohen Reifegrad,<br />

was auch darauf zurückzuführen<br />

ist, dass Microsoft<br />

nicht nur technologisch<br />

alte Zöpfe abgeschnitten,<br />

sondern auch die Entwicklungsstrukturen<br />

<strong>und</strong> sein<br />

Projektmanagement neu<br />

ausgerichtet hat.<br />

Lohn der Mühe ist ein zeitgemäßes,<br />

schnelles <strong>und</strong> sicheres<br />

Desktop-Betriebssystem,<br />

<strong>unter</strong> dem allerdings<br />

klassische XP- beziehungsweise<br />

9x-Anwendungen<br />

nicht mehr ohne Weiteres<br />

funktionieren, denn die Software-Entwickler<br />

müssen<br />

jetzt explizit Windows-7-Code schrei ben.<br />

Gründe für das Ausführen von Museums-<br />

Software gibt es jedoch auch heute noch<br />

genug: Wer hat nicht noch Programme<br />

im Schrank, die <strong>unter</strong> Windows 7 nicht<br />

Abbildung 1: Beim Einrichten der virtuellen XP-Maschine hilft dem<br />

Administrator ein Assistent.<br />

70 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


XP-modus von windows 7<br />

bAsics<br />

laufen? Auch Hardware-Schätzchen mit<br />

Parallel- oder Seriell-Anschluss, für die es<br />

keinen Windows-7-Treiber gibt, können<br />

einen legitimem Gr<strong>und</strong> zum Ausführen<br />

von XP-Software liefern.<br />

Virtual XP<br />

Um XP-Code <strong>unter</strong> Windows 7 ausführen<br />

zu können, ohne veraltete Bibliotheken<br />

<strong>und</strong> Schnittstellen implementieren zu<br />

müssen, setzen die Microsoft-Entwickler,<br />

wen w<strong>und</strong>ert’s, auf Virtualisierung. Windows<br />

7 bietet dazu optional einen XP-<br />

Modus, der auf Microsofts neuester Version<br />

des Virtual PC basiert. Der Modus<br />

stellt einen kompletten virtuellen Computer<br />

mit Windows XP zur Verfügung,<br />

mit dem sich beliebige XP-Anwendungen<br />

ausführen lassen.<br />

Der XP-Modus auf Basis von Virtual PC<br />

integriert sich nahtlos in die Host-Umgebung<br />

<strong>und</strong> ist zudem kostenlos (Abbildung<br />

2). So lassen sich XP-Anwendungen<br />

nicht nur auf dem virtuellem XP-<br />

Desktop ausführen <strong>und</strong> nutzen, der Start<br />

des jeweiligen Programms ist auch über<br />

Programmverknüpfungen im Windows-<br />

7-Startmenü möglich. XP-Anwendungen<br />

laufen wahlweise auch isoliert in einem<br />

Fenster auf dem Windows-7-Desktop, sodass<br />

der Anwender keinen Unterschied<br />

zwischen virtuellen <strong>und</strong> nativen Anwendungen<br />

bemerkt.<br />

Integration<br />

Selbstverständlich kann der Nutzer aus<br />

XP-Anwendungen Daten im Host-Dateisystem<br />

sehen <strong>und</strong> speichern, die dann<br />

auch im Rahmen einer etwaigen Datensicherung<br />

berücksichtigt werden. Zudem<br />

ist es möglich, USB-Festplatten, Sticks<br />

oder andere externe Geräte des Hostsystems<br />

mit dem USB-Menü in der virtuellen<br />

Maschine verfügbar zu machen (USB-<br />

Passthrough). Der Nutzer arbeitet wahlweise<br />

mit der isolierten XP-Anwendung<br />

oder dem vollständigen XP-Desktop. Beides<br />

gleichzeitig geht nicht.<br />

Die Installation von XP-Programmen erfolgt<br />

über die zugehörige Setup-Routine<br />

auf dem virtuellen XP-Desktop. Dabei<br />

sorgt der Nutzer mit Hilfe der Funktion<br />

»Integrationsfeature« dafür, dass<br />

XP-Applikationen auch im Windows-7-<br />

Startmenü auftauchen, von wo aus sie<br />

Abbildung 2: Das Integrationsfeature sorgt <strong>unter</strong> anderem dafür, dass die Laufwerke <strong>und</strong> Ordner des<br />

Hostsystems auch im Gastkontext verfügbar sind.<br />

sich wahlweise auch im Fenster-Modus<br />

nutzen lassen. Im Übrigen handelt es sich<br />

bei der XP-Version des XP-Modus konkret<br />

um die Release »XP Professional SP3«.<br />

Damit ist es allerdings nicht möglich, die<br />

virtuelle XP-Maschine in eine bestehende<br />

Domäne aufzunehmen.<br />

XP-Mode installieren<br />

Der XP-Modus ist – auch wenn die angegebene<br />

Website zunächst etwas anderes<br />

suggeriert – ausschließlich für<br />

die Windows-7-Versionen Professional,<br />

Enterprise <strong>und</strong> Ultimate in 32 oder 64<br />

Bit verfügbar <strong>und</strong> setzt wie beschrieben<br />

auf Microsofts Virtual PC in der jüngsten<br />

Version auf. Zwar zeigt die Website bei<br />

Schritt 2 alle auf dem Markt befindlichen<br />

Windows-Versionen an, die Sprachauswahl<br />

ist aber nur für die genannten Versionen<br />

möglich.<br />

Das Hostsystem sollte zum Installieren<br />

von Virtual PC über mindestens 2 GByte<br />

(32-Bit-System) oder 4 GByte (64-Bit-System)<br />

Arbeitsspeicher verfügen <strong>und</strong> wenigstens<br />

20 GByte freien Festplattenplatz<br />

übrig haben. Die Obergrenze hängt von<br />

den zu installierenden XP-Anwendungen<br />

ab. Der resultierende virtuelle Windows-<br />

XP-PC ist allerdings in jedem Fall eine<br />

32-Bit-Maschine. Microsoft Virtual PC<br />

ist per Default nicht in den genannten<br />

Windows-Versionen enthalten <strong>und</strong> muss<br />

daher vom Nutzer zunächst von der Virtual-PC-Website<br />

<strong>unter</strong> [1] her<strong>unter</strong>geladen<br />

<strong>und</strong> installiert werden.<br />

Außerdem muss das Hostsystem die CPU-<br />

Hardwarevirtualisierung von Intel oder<br />

AMD <strong>unter</strong>stützen, die gegebenenfalls<br />

zuvor im Bios zu aktivieren ist. Ob die<br />

eigene CPU VT-Unterstützung bietet, lässt<br />

sich <strong>unter</strong> anderem mit Microsofts HAV<br />

Detection Tool von [2] erk<strong>und</strong>en. Sind alle<br />

Voraussetzungen erfüllt, kann der Nutzer<br />

von [1] Virtual PC in Form des Windows-<br />

Update »Windows6.1-KB958559-x64.<br />

msu« als MSU-Datei her<strong>unter</strong>laden <strong>und</strong><br />

installieren <strong>und</strong> danach den eigentlichen<br />

XP-Mode als gewöhnliche Exe-Datei<br />

»WindowsXPMode_de-de.exe«.<br />

Letztere ist knapp 470 MByte groß, weil<br />

sie im Prinzip ein vollständiges XP-Image<br />

enthält; das Installieren kann also eine<br />

Weile dauern. Möglicherweise muss<br />

der Admin im Zuge des Vorgangs auch<br />

»Windows Activation.exe« installieren,<br />

sofern noch nicht geschehen, damit Windows<br />

eine Gültigkeitsprüfung durchführen<br />

kann.<br />

Leider funktioniert der XP-Mode nur mit<br />

Windows-7-Versionen von Professional<br />

aufwärts. Zwar lässt sich Virtual PC in<br />

Windows 7 Home Edition installieren,<br />

aber nicht aktivieren. Windows-7-Home-<br />

Nutzer müssen also auf den XP-Mode<br />

verzichten.<br />

Abbildung 3: Dank USB-Passthrough stehen auch<br />

am Hostsystem zur Laufzeit angeschlossene USB-<br />

Laufwerke im XP-Kontext zur Verfügung.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

71


Asics<br />

XP-modus von windows 7<br />

Nach dem Installieren von Microsoft Virtual<br />

PC stehen im Windows-7-Startmenü<br />

»Windows Virtual PC« die beiden Einträge<br />

»Windows Virtual PC« <strong>und</strong> »Windows<br />

XP Mode« zur Verfügung. Während<br />

ersterer zum Einrichten beliebiger virtueller<br />

Windows-PCs dient, öffnet ein Klick<br />

auf den zweiten den Setup-Assistenten<br />

zum Einrichten des XP-Mode. Nach dem<br />

Installieren des XP-Mode-Image startet<br />

der XP-Mode-Installations-Assistent <strong>und</strong><br />

fragt nach dem Bestätigen der Lizenzbedingungen<br />

zunächst nach einem Benutzernamen<br />

nebst Passwort für den virtuellen<br />

XP-PC (Abbildung 1).<br />

Ist das erledigt, startet der XP-Modus<br />

nach wenigen Minuten im Vollbildmodus<br />

mit automatischer Benutzeranmeldung,<br />

was sich in den Einstellungen des<br />

XP-Modus später auch ändern lässt. Wer<br />

statt der virtuellen Festplatten-Imagedatei<br />

des XP-Modus eine eigene Festplattendatei<br />

erstellen <strong>und</strong> nutzen möchte, muss<br />

über eine gültige XP-Lizenz verfügen. Die<br />

Installation ist damit erledigt.<br />

Abbildung 4: Das Integrationsfeature <strong>und</strong> andere den XP-Mode betreffende Einstellungen lassen sich nur<br />

ändern, wenn der XP-Mode her<strong>unter</strong>gefahren ist.<br />

Fehlt dagegen die CPU-seitige VT-Unterstützung,<br />

kann der Nutzer von [1]<br />

optional auch das Windows-Update<br />

»Windows6.1-KB977206_x64.msu« her<strong>unter</strong>laden<br />

<strong>und</strong> installieren, das die von<br />

VT abhängigen Komponenten aus einem<br />

bereits installierten Windows Virtual<br />

PC entfernt. Das klappt aber nur, wenn<br />

Virtual PC <strong>und</strong> XP-Mode erfolgreich installiert<br />

wurden. In Sachen Performance<br />

läuft der XP-Mode dann allerdings nur<br />

als gewöhnliche Emulation.<br />

Strukturelles<br />

Wie erwähnt lässt sich das virtuelle Windows<br />

XP in zwei <strong>unter</strong>schiedlichen Modi<br />

nutzen, nämlich als kompletter virtueller<br />

Windows-XP-PC, der vollständig in einem<br />

Windows-7-Fenster läuft, oder als<br />

virtuelle Windows-XP-Anwendung, bei<br />

der das XP-F<strong>und</strong>ament im Hintergr<strong>und</strong><br />

Troubleshooting<br />

Hin <strong>und</strong> wieder kann es beim Inbetriebnehmen<br />

des XP-Modus zu Problemen kommen. So<br />

ließ sich beispielsweise auf einem Media-PC<br />

mit Atom-Prozessor das Update von Windows<br />

Virtual PC zum Deaktivieren der VT-Unterstützung<br />

nicht installieren. Das lag daran, dass<br />

Windows 7 Virtual PC als Windows-Update<br />

installierte <strong>und</strong> es anschließend im Dialog<br />

»Windows-Funktionen« verfügbar machte, es<br />

aber nicht als aktiv markierte. Demzufolge<br />

war die Windows-Funktion »Windows Virtual<br />

PC« deaktiviert <strong>und</strong> Updates zum Installieren<br />

des XP-Mode oder zum Deaktivieren der VT-<br />

Unterstützung schlugen fehl.<br />

Abhilfe schaffte schlicht <strong>und</strong> einfach das Aktiveren<br />

der Windows-Funktion »Windows Virtual<br />

PC« durch den korrespondierenden Eintrag<br />

im Dialogfeld »Windows-Funktionen«, das sich<br />

am einfachsten durch das Eingeben von »Features«<br />

im Suchfeld des Startmenüs aktivieren<br />

lässt (Abbildung 5).<br />

Abbildung 5: Der Virtual PC ist ein Windows-7-Feature, das nicht nur her<strong>unter</strong>geladen <strong>und</strong> installiert, sondern<br />

im Dialog »Windows-Funktionen aktivieren« auch explizit markiert sein muss.<br />

72 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


XP-modus von windows 7<br />

bAsics<br />

bleibt <strong>und</strong> lediglich das Fenster der Anwendung<br />

auf dem Windows-7-Desktop<br />

agiert. Die beiden Modi lassen sich nicht<br />

gleichzeitig nutzen.<br />

Die Steuerung ist einfach <strong>und</strong> intuitiv.<br />

Klickt der Nutzer mit der Maus in das virtuelle<br />

Windows XP, lässt sich die Tastatur<br />

wie gewohnt benutzen <strong>und</strong> der Anwender<br />

arbeitet genauso wie <strong>unter</strong> Windows<br />

7, die Maus wird also nicht gefangen.<br />

Wer möchte, kann in der virtuellen XP-<br />

Maschine den Vollbildmodus von Windows<br />

XP nutzen, sodass von Windows 7<br />

nichts mehr zu sehen ist.<br />

Selbstverständlich ist es auch möglich,<br />

<strong>unter</strong> Virtual PC weitere Betriebssysteme,<br />

etwa Vista oder Windows 7, zu installieren,<br />

deren Containerdateien entweder<br />

im Host-Kontext <strong>unter</strong> » Anwendungen<br />

| Computer | $Laufwerk | $Benutzer |<br />

$Benutzername | Virtuelle Computer«<br />

im Explorer erreichbar sind oder durch<br />

Anklicken der zugehörigen Verknüpfung<br />

»Virtual PC« im Startmenü.<br />

Das Durchhangeln mit dem Explorer offenbart<br />

anschaulich, wie Microsoft Virtual<br />

PC in die Windows-7-Oberfläche integriert<br />

ist, indem nämlich der Explorer<br />

um einige wenige Einträge zum Erstellen<br />

<strong>und</strong> Verwalten von virtuellen Maschinen<br />

ergänzt wurde, die ihrerseits so genannte<br />

VHD-Container sind.<br />

Computer auf Knopfdruck<br />

Mit »Virtuellen Computer erstellen« lassen<br />

sich an dieser Stelle weitere virtuelle<br />

PCs mit beliebigen Windows-Betriebssystemen<br />

erstellen, die dann jeweils die<br />

passende OS-Lizenz nebst Installationsmedium<br />

erfordern.<br />

Der beschriebene Pfad zu den VHD-<br />

Containerdateien ist übrigens auch im<br />

Gast-Kontext verfügbar, sofern der Admin<br />

beim Einrichten des XP-Modus die gemeinsame<br />

Nutzung von Ordnern <strong>und</strong><br />

Dateien konfiguriert hat. Das Laufwerk<br />

»C:« des Host-Kontextes taucht dann im<br />

Explorer des Gast-Systems <strong>unter</strong> »C auf<br />

$Hostname« auf.<br />

Die virtuellen XP-Anwendungen selbst<br />

lassen sich nur aus dem virtuellen Computer<br />

heraus installieren, nicht etwa aus<br />

dem Windows-7-Kontext heraus. Daher<br />

empfiehlt es sich, die gewünschten<br />

XP-Anwendungen auch direkt aus dem<br />

Kontext des virtuellen Computers her<strong>unter</strong>zuladen.<br />

Verfügt das Hostsystem über<br />

eine Internetverbindung, steht diese auch<br />

im virtuellen Kontext zur Verfügung. Für<br />

die nahtlose Integration der XP-Tools<br />

in das Windows-7-Startmenü muss der<br />

Admin das jeweilige Programm für alle<br />

Benutzer installieren, wenn der zugehörige<br />

Installer diese Option bietet.<br />

XP-Programme verhalten sich im Fenster-<br />

Modus exakt so, als handele es sich um<br />

gewöhnliche Windows-7-Anwendungen.<br />

Dabei können XP-Programme in Windows-7-Fenstern<br />

problemlos Daten auf<br />

den Laufwerken des Hostsystems speichern.<br />

USB-Laufwerke <strong>und</strong> andere ex-<br />

<strong>ADMIN</strong><br />

Netzwerk & Security<br />

www.admin-magazin.de<br />

<strong>ADMIN</strong>-<strong>Magazin</strong> – für alle IT-Administratoren<br />

Bei uns wird SICHERHEIT groß geschrieben<br />

HOME DAS HEFT MEDIADATEN KONTAKT NEWSLETTER ABO<br />

Linux I Windows I Security I <strong>Monitoring</strong> I Storage I Datenbanken I Mailserver I Virtualisierung<br />

SECURITY<br />

<strong>Server</strong>-Systeme richtig abzusichern<br />

gehört zu den Hauptaufgaben jedes<br />

Administrators. Sei es durch Firewalls,<br />

Intrusion-Detection-Systeme oder Mandatory<br />

Access Control mit SELinux.<br />

Besonderes Augenmerk richtet <strong>ADMIN</strong><br />

auf die Absicherung von Webservern,<br />

die heute mit SQL-Injection, Cross Site<br />

Scripting <strong>und</strong> Request Forgery bis zu<br />

90% der Sicherheitslücken ausmachen.<br />

Suchen<br />

Diese Website durchsuchen:<br />

Security<br />

➔ über 100 Ergebnisse!<br />

Themen<br />

Suchen<br />

Windows Verschlüsselung Datenbank<br />

IDS Dateisysteme Linux <strong>Monitoring</strong><br />

Storage Webserver Virtualisierung<br />

Nobilior, Fotolia


Asics<br />

XP-modus von windows 7<br />

terne USB-Geräte lassen sich vom Hostsystem<br />

durchreichen, wozu im virtuellen<br />

Computer das Menü »USB« zur Verfügung<br />

steht (Abbildung 3).<br />

Weitere Konfiguration<br />

Je nach Leistungsfähigkeit des Hostsystems<br />

kann es erforderlich sein, den virtuellen<br />

XP-Computer in seinem Ressourcenanspruch<br />

etwas zu beschneiden, was am<br />

einfachsten geht, indem man der Oberfläche<br />

einige der überflüssigen Effekte abgewöhnt.<br />

Wer sich hierbei nicht in Details<br />

verstricken möchte, klickt einfach in der<br />

Systemsteuerung des virtuellen XP-PC<br />

auf » System | Erweitert | Systemleistung<br />

| Einstellungen« <strong>und</strong> entscheidet sich für<br />

»für optimale Leistung anpassen«, womit<br />

die meisten Oberflächeneffekte auf einen<br />

Schlag verschwinden.<br />

Ansonsten kann <strong>und</strong> sollte jeder seinen<br />

virtuellen XP-Computer so konfigurieren,<br />

wie er es gewohnt ist. Es gibt allerdings<br />

auch eine Reihe von Einstellungen, die<br />

den XP-Mode an sich betreffen. Diese<br />

lassen sich nicht im laufenden Betrieb<br />

ändern, auch nicht, wenn der Nutzer den<br />

virtuellen PC vermeintlich her<strong>unter</strong>fährt,<br />

indem er das XP-Mode-Fenster schließt,<br />

denn dann wechselt die virtuelle Ma-<br />

Kompatibilitätsmodus<br />

Ist der Windows-XP-Modus installiert, lassen<br />

sich viele Probleme im Zusammenhang mit<br />

störrischen Windows-7-Anwendungen durch<br />

Einschalten des XP-Kompatibilitätsmodus<br />

lösen. Windows 7 ist im Gegensatz zu allen<br />

Vorgängerversionen ein wirklich neues Betriebssystem<br />

mit einer Reihe von Konsequenzen<br />

für ältere Anwendungen. Funktioniert<br />

ein altbewährtes Programm <strong>unter</strong> Windows 7<br />

nicht mehr, liegt das in der Regel an mangelnder<br />

Kompatibilität beim Aufruf von Betriebssystemfunktionen.<br />

Windows 7 bietet für einen solchen Fall die<br />

Möglichkeit, die gewünschte Anwendung mit<br />

Hilfe des Kontextmenü-Eintrags »Eigenschaften«<br />

im Register-Reiter »Kompatibilität« im<br />

»Windows XP Modus« zu starten. Hier ist das<br />

Optionskästchen »Programm im Kompatibilitätsmodus<br />

ausführen für:« zu aktivieren.<br />

Windows 7 verhält sich dann bei dieser Anwendung<br />

exakt so wie Windows XP – mit allen Einschränkungen,<br />

die Letzteres mit sich bringt,<br />

denn der XP-Modus übergeht beispielsweise<br />

eine ganze Reihe von Sicherheitseinstellungen<br />

(Abbildung 6).<br />

schine automatisch in den Ruhezustand<br />

<strong>und</strong> schreibt den Inhalt des Arbeitsspeichers<br />

auf die Festplatte, sodass der virtuelle<br />

PC nach dem nächsten Start exakt an<br />

der gleichen Stelle weitermacht.<br />

Das vollständige Her<strong>unter</strong>fahren der virtuelle<br />

Maschine klappt am schnellsten<br />

durch Eingeben von »shutdown -s« in der<br />

Kommandozeile, die auch mit [Alt]+[F4]<br />

erreichbar ist. Das Abmelden über das<br />

Windows-XP-Startmenü führt zunächst<br />

nur zum XP-Anmeldebildschirm, von<br />

wo aus nach einem Klick auf »Optionen«<br />

auch die Schaltfläche »Her<strong>unter</strong>fahren«<br />

sichtbar wird.<br />

Nach dem Her<strong>unter</strong>fahren lässt sich<br />

durch einen Klick auf »Einstellungen« im<br />

Explorer-Menü des VHD-Verzeichnisses<br />

» Anwendungen | Computer | $Laufwerk<br />

| $Benutzer | $Benutzername | Virtuelle<br />

Computer« das Dialogfeld »Windows XP<br />

Mode – Windows Virtual PC-Einstellungen«<br />

endlich so starten, dass sich Einstellungen<br />

darin auch verändern lassen<br />

(Abbildung 4).<br />

Hier lässt sich <strong>unter</strong> anderem die Funktion<br />

»Integrationsfeatures« aktivieren,<br />

falls noch nicht geschehen. Auch die<br />

Default-Einstellung, dass der XP-Mode<br />

bei Schließen automatisch in den Ruhezustand<br />

wechselt, kann der Anwender<br />

hier den eigenen Vorlieben anpassen.<br />

Fazit<br />

Der XP-Modus von Windows 7 ist bisweilen<br />

nützlich, erfordert aber einiges<br />

an Vorarbeit sowie die passende Windows-Version.<br />

Außerdem ist die Funktionsweise<br />

für Nur-Anwender, der primäre<br />

Zielgruppe also, nicht auf den ersten<br />

Blick zu durchschauen, denn im Prinzip<br />

ist der XP-Modus nichts anderes als die<br />

neueste Version von Microsoft Virtual PC<br />

7 in Kombination mit einem kostenlosen<br />

Image von Windows XP Pro SP3.<br />

Wirklich neu <strong>und</strong> einigermaßen pfiffig ist<br />

dabei vor allem das so genannte Integrationsfeature,<br />

das in der virtuellen Maschine<br />

installierte Anwendungen automatisiert<br />

im Startmenü des Hostsystems (Windows<br />

7) verfügbar macht, von wo aus sie sich<br />

problemlos auf dem Windows-7-Desktop<br />

starten lassen. Zudem sorgt das Feature<br />

dafür, dass Laufwerke, Dateien <strong>und</strong> Ordner<br />

des Hostsystems auch in der virtuellen<br />

Maschine zur Verfügung stehen. Von<br />

Abbildung 6: Mit dem Kompatibilitätsmodus laufen<br />

störrische Programme <strong>unter</strong> Windows 7 im XP-<br />

Modus mit eingeschränkten Rechten, dafür aber<br />

möglicherweise fehlerfrei.<br />

der eigentlich in Hintergr<strong>und</strong> werkelnden<br />

virtuellen Maschine bemerkt der Anwender<br />

so gut wie nichts.<br />

Der Modus ist vergleichbar mit dem<br />

„nahtlosen Modus“ bei Virtualbox oder<br />

dem „Coherence-Modus“ bei Parallels.<br />

Die Performance ist hervorragend, wenn<br />

die CPU des Hostsystems über einen<br />

VT-Erweiterungsbefehlssatz verfügt.<br />

Der XP-Modus funktioniert mit Hilfe eines<br />

Updates allerdings auch ohne VT-<br />

Erweiterung, dann aber mit deutlichen<br />

Geschwindigkeitseinbußen.<br />

Microsofts Entscheidung, sich bei Windows<br />

7 von alten Kompatibilitätszwängen<br />

zu befreien, hat sich bewährt. Windows<br />

7 hat sich im ersten Jahr seiner Existenz<br />

einen exzellenten Ruf erworben, etwaige<br />

Anforderungen an die Kompatibilität<br />

können moderne Virtualisierungstechnologien<br />

wie Virtual PC heute zufriedenstellend<br />

abdecken. Die Handhabung samt<br />

vorherigem Her<strong>unter</strong>laden der Virtual-<br />

PC-Updates sollte für Anwender aber<br />

deutlich transparenter werden. (ofr) n<br />

Infos<br />

[1] Microsofts Virtual PC <strong>und</strong> XP-Mode:<br />

[http://www. microsoft.com/windows/<br />

virtual-pc/ download.aspx]<br />

[2] HAV Detection Tool:<br />

[http://www. microsoft.com/downloads/<br />

details.aspx? displaylang=en&FamilyID=<br />

0ee2a17f-8538-4619-8d1c-05d27e11adb2]<br />

74 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


<strong>ADMIN</strong>-MAGAZIN<br />

IM JAHRES-ABO<br />

Jede Ausgabe des Admin-<strong>Magazin</strong>s bietet praktisch anwendbares Wissen<br />

von ausgewiesenen Experten <strong>und</strong> ausführliche Hintergr<strong>und</strong>berichte für alle<br />

Systemverwalter von Linux, Unix <strong>und</strong> Windows. Die Schwerpunkte reichen von<br />

Storage <strong>und</strong> Backup bis hin zu Netzwerk-Themen <strong>und</strong> Security.<br />

Ein Sonderteil hilft Admins heterogener Welten.<br />

Ab jetzt alle<br />

zwei Monate<br />

SICHERN SIE SICH IHREN<br />

GRATIS CRYPTO-KEY!<br />

15 % sparen<br />

Jetz bestellen <strong>unter</strong>:<br />

www.admin-magazin.de/abo<br />

• Telefon 089 / 2095 9127 • Fax 089 / 2002 8115 • E-Mail: abo@admin-magazin.de<br />

Mit dem Jahres-Abo erhalten Sie 6 Ausgaben des Admin-<strong>Magazin</strong>s zum Vorzugspreis<br />

von 49,90 * statt 58,80 * (Lieferung frei Haus).<br />

* Preise gelten für Deutschland. Schweiz: SFr 99,90; Österreich: 54,90; anderes Europa: 59,90<br />

ABOVORTEILE<br />

• Preisvorteil gegenüber Kioskkauf<br />

• kostenlose & sichere Zustellung<br />

• Zustellung vor dem offiziellen<br />

Verkaufstermin


AsiCs<br />

debian-Pakete<br />

Eigene Skripte in Debian-Pakete packen<br />

Eingepackt<br />

damit server automatisch funktionieren <strong>und</strong> als<br />

Knoten in der Cloud skalieren, bedarf es vieler<br />

skripte, die gründlich getestet werden wollen.<br />

wer lokal testet, kann eigene skripte mit debian-<br />

Paketen auf den Cloud-Knoten installieren. dan Frost<br />

bekas007, 123Rf<br />

Wer jetzt schon auf dem Cloud-Computing-Zug<br />

mitfährt, darf sich freuen:<br />

Die Cloud skaliert, die <strong>Dienste</strong> sind<br />

red<strong>und</strong>ant ausgelegt, man ist also für<br />

den großen Besucheransturm <strong>und</strong> gegen<br />

Ausfälle gleichermaßen gewappnet. Nur<br />

haben sich mittlerweile um die 20 Skripte<br />

für eine ganze Reihe <strong>unter</strong>schiedlicher<br />

Aufgaben angesammelt, zum Beispiel<br />

eins fürs Booten, eins für den Fall, dass<br />

sich die IP-Adresse ändert, <strong>und</strong> so weiter.<br />

Und kürzer <strong>und</strong> besser zu warten werden<br />

die Skripte im Lauf der Zeit garantiert<br />

auch nicht. Natürlich können Sie sie in<br />

einem Versionskontrollsystem verwalten<br />

(das hoffentlich Git ist, aber Hauptsache<br />

ein VCS), aber wie installiert man sie<br />

zuverlässig <strong>und</strong> reproduzierbar auf dem<br />

Zielsystem?<br />

Hier kommen die guten alten Debian-<br />

Paket zu Hilfe. Die lassen sich auf allen<br />

Debian-basierten Distributionen wie beispielsweise<br />

auch Ubuntu verwenden. Sie<br />

sind einfach zu erzeugen <strong>und</strong> bieten den<br />

optimalen Weg, die eigenen Skripte zu<br />

paketieren <strong>und</strong> zu verteilen. Dieser Artikel<br />

zeigt im Detail, wie Sie das machen.<br />

Außerdem erfahren Sie, wie Sie damit<br />

zuverlässig Änderungen auf das Live-<br />

System Ihrer Cloud übertragen.<br />

Debian-Pakete lassen sich sehr einfach<br />

installieren. Wer schon einmal Debian<br />

oder Ubuntu verwendet hat, kennt normalerweise<br />

den Ablauf, ein neues Paket<br />

zu installieren:<br />

apt‐get install Paketname<br />

In einem Debian-Paket stecken die Binärdateien,<br />

Skripte <strong>und</strong> andere Dateien, die<br />

zu einem Programm gehören, einschließlich<br />

einer Handvoll Kontrolldateien, die<br />

den Kommandozeilentools mitteilen, wie<br />

sie das Paket installieren sollen. Die interessantesten<br />

Bestandteile eines Debian-<br />

Pakets sind die Kontrolldateien, die in<br />

einem Verzeichnis namens »DEBIAN«<br />

stecken. Die Kontrolldateien teilen dem<br />

Paketmanager mit, welche Dateien das<br />

Paket enthält, wie es heißt, welche Versionsnummer<br />

es hat <strong>und</strong> so weiter.<br />

Paketbau<br />

Um diesen Prozess zu illustrieren, soll im<br />

Folgenden ein einfaches Debian-Beispielpaket<br />

entstehen. Es enthält eine einfache<br />

Webseite, die der Webserver anzeigt, solange<br />

noch keine richtige Anwendung installiert<br />

ist. Wenn Sie zum Beispiel zehn<br />

neue Instanzen eines Cloud-Node starten,<br />

weil Sie in sechs Millionen Tweets<br />

erwähnt werden, sollte erst mal eine statische<br />

Seite erscheinen, bevor es richtig<br />

losgeht.<br />

Legen Sie zum Start ein Verzeichnis »myserver«<br />

an <strong>und</strong> darin weitere Verzeichnisse<br />

<strong>und</strong> die HTML-Datei:<br />

./DEBIAN/<br />

./var/www/index.html<br />

In die Datei »DEBIAN/control« kommt<br />

dann der Code aus Listing 1. Die HTML-<br />

Datei »index.html« sieht etwa so aus wie<br />

Listing 2.<br />

Gleiche Pfade<br />

Der Pfad der HTML-Seite ist identisch<br />

mit dem Speicherort auf dem <strong>Server</strong> – in<br />

Standard-Debian-Installationen legt der<br />

Apache-Webserver seine Dateien <strong>unter</strong>halb<br />

von »/var/www« ab. Wenn Sie also<br />

eine Datei irgendwo auf dem Dateisystem<br />

des <strong>Server</strong>s installieren wollen, bauen Sie<br />

den Pfad im Paketbauverzeichnis nach.<br />

Aus der Verzeichnisstruktur erstellen Sie<br />

mit dem folgenden Befehl ein Paket:<br />

dpkg‐deb ‐‐build myserver<br />

dpkg‐deb: building package `myserver' U<br />

in `myserver.deb'<br />

Klappt alles, finden Sie im Verzeichnis<br />

eine Datei namens »myserver.deb«. Bevor<br />

Sie das Paket installieren, können Sie sich<br />

den Inhalt anzeigen lassen:<br />

76 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Tel. 0 64 32 / 91 39-751<br />

Fax 0 64 32 / 91 39-711<br />

vertrieb@ico.de<br />

www.ico.de/linuxAdmin<br />

SEIT 1982<br />

Innovative Computer • Zuckmayerstr. 15 • 65582 Diez<br />

GmbH<br />

Art.Nr. BTO-246526-24<br />

BALIOS 191 1HE GREEN SERVER<br />

Ultraeffizienter 1HE <strong>Server</strong> mit Intel ® Xenon Prozessor.<br />

• Intel ® Xeon ® L3110 S775 3,0GHz 45W<br />

• 2 x 2 GB DDR3 Arbeitsspeicher<br />

2x WD 1 TB RE3 24x7 Festplatten<br />

• 250W Green Netzteil<br />

• Maße (BxHxT): 426 x 44 x 482 mm<br />

www.ico.de/linuxAdmin<br />

inkl. Mwst<br />

exkl. Mwst<br />

867, 51 729,-<br />

Abbildung 1: Beim Scalr-Service kann der Anwender für Events wie »OnHostUp« eigene Skripte anlegen.<br />

Art.Nr. BTO-246528-24<br />

BALIOS 252 2HE STORAGE SERVER<br />

Speichern Sie den Befehl in der Datei<br />

»on-ip-address-changed.sh« <strong>und</strong> paketiedpkg‐deb<br />

‐‐contents myserver.deb<br />

Die Installation läuft, mit Administrator-<br />

Rechten ausgestattet, ebenso einfach ab:<br />

dpkg‐deb ‐i myproject.deb<br />

Nun müsste sich die Datei »index.html«<br />

im Webserver-Root befinden.<br />

In die Cloud<br />

Der nächste Schritt besteht darin, ein<br />

Gr<strong>und</strong>gerüst von Skripten für einen<br />

Cloud-Provisioning-<strong>Server</strong> wie Scalr<br />

oder Rightscale zu schreiben. Die entsprechenden<br />

Skripte des Autors für diesen<br />

Anwendungsfall sind alle Teil eines<br />

einzigen Debian-Pakets.<br />

Eine einzelne HTML-Datei ist für Cloud-<br />

Anwendungen wenig sinnvoll, deshalb<br />

gibt es nun ein etwas nützlicheres Beispiel.<br />

Die Konfiguration des Webservers<br />

lässt sich ebenso leicht über ein Debian-<br />

Paket verwalten, das beispielsweise die<br />

Datei »/etc/apache/conf.d/our-config.<br />

conf« enthält. Wenn der Webserver bereits<br />

so konfiguriert ist, dass er die Dateien<br />

im Verzeichnis »conf.d« liest, ist<br />

damit die Konfiguration auch gleich abgeschlossen.<br />

Cloud-Hosting wird kompliziert, wenn<br />

die <strong>Server</strong>konfiguration exotisch wird.<br />

Sie sollten sich daher möglichst nah an<br />

Standard-Konfigurationen bewegen, um<br />

unnötige Komplexität zu vermeiden.<br />

Ein weiteres nützliches Skript für Cloud-<br />

<strong>Server</strong> führt bestimmte Tasks zu verschiedenen<br />

Zeitpunkten im Lebenszyklus<br />

einer Instanz aus. Zum Beispiel gibt<br />

es bei einem Service wie Scalr solche<br />

www.A dmin-mAgA zin.de<br />

Events wie »OnHostup«, »OnHostInit«<br />

<strong>und</strong> »OnIPAddressChanged«. Die Skripte,<br />

die solche Events verarbeiten, können Sie<br />

wiederum in Debian-Pakete packen:<br />

./usr/local/myserver/bin/on‐host‐up.sh<br />

./usr/local/myserver/bin/on‐ip‐address‐U<br />

changed.sh<br />

Das erste Skript soll, wenn die Netzwerkverbindung<br />

steht, eine HTML- oder<br />

PHP-Datei etwa von Amazon S3 her<strong>unter</strong>laden<br />

<strong>und</strong> sie im Document-Root des<br />

Webservers ablegen (Listing 3).<br />

Packen Sie dann das Projekt wieder in<br />

ein Deb-File <strong>und</strong> legen es auf einem öffentlich<br />

zugänglichen <strong>Server</strong> ab, von dem<br />

Sie es her<strong>unter</strong>laden können. Beim Scalr-<br />

Service loggen Sie sich dann auf dem<br />

Webinterface ein <strong>und</strong> legen ein neues<br />

Skript an (Abbildung 1).<br />

Speichern Sie das Skript <strong>unter</strong> dem Namen<br />

des Events, bei dem es ablaufen<br />

soll, <strong>und</strong> wechseln dann zur Farm-Konfiguration.<br />

Dort können Sie die erstellten<br />

Skripte in einem GUI verwalten <strong>und</strong> aktivieren<br />

(Abbildung 2).<br />

Dynamisches DNS<br />

Ein weiteres Skript, das jedes Mal abläuft,<br />

wenn sich die IP-Adresse eines<br />

Knotens ändert, kann zum Beispiel den<br />

dynamischen DNS-Eintrag ändern, beispielsweise<br />

so:<br />

curl 'http://www.dnsmadeeasy.com/servlet/U<br />

updateip?username=myuser&password=mypasswordU<br />

&id=99999999&ip=123.231.123.231'<br />

Alle Preise in Euro<br />

Kompakte Intel ® Xeon ® L3426 Storage Lösung mit<br />

skalierbarer Kapazität.<br />

• Intel ® Xeon ® L3426 S1156 1,86GHz, 45W<br />

• 8GB (2x4GB) DDR3 Arbeitsspeicher<br />

• 8 x WD 1 TB RE3 24x7 Festplatten<br />

• Adaptec 5805 RAID-Controller inkl. BBU<br />

• 2x 500W red. Green Netzteil 2U+ 3U, EPS<br />

www.ico.de/linuxAdmin<br />

inkl. Mwst<br />

exkl. Mwst<br />

2914, 31 2449,-<br />

Art.Nr. BTO-246530-24<br />

XANTHOS 357 3HE STORAGE SERVER<br />

Skalierbare 3HE Storage-Lösung mit neuestem<br />

Intel ® Xeon ® Quad-Core Prozessor.<br />

• 2x Intel ® Xeon ® L5630 2,13GHz 5,86GT<br />

12MB Quad-Core 40W TXT<br />

• 24GB (12x2GB) DDR3-1333 Arbeitsspeicher<br />

• 16 x WD 1TB RE3 24x7 Festplatten<br />

• Adaptec 51645 RAID-Controller inkl. BBU<br />

• 760W+380W red. Netzteil 3U<br />

www.ico.de/linuxAdmin<br />

inkl. Mwst<br />

exkl. Mwst<br />

6186, 81 5199,-<br />

ONLINE<br />

FREI<br />

KONFIGURIEREN<br />

Celeron, Celeron Inside, Centrino, Centrino Logo, Core Inside, Intel, Intel Logo, Intel<br />

Core, Intel Inside, Intel Inside Logo, Intel SpeedStep, Intel Viiv, Itanium, Itanium Inside,<br />

Pentium, Pentium Inside, Xeon <strong>und</strong> Xeon Inside sind Marken der Intel Corporation oder<br />

ihrer Tochtergesellschaften in den USA oder anderen Ländern.<br />

wir liefern auch<br />

nach Österreich /<br />

Schweiz • Tel. Ö:<br />

(0) 1 994 9139


AsiCs<br />

debian-Pakete<br />

Listing 1: Kontrolldatei<br />

01 Package: myserver<br />

02 Version: 0.0.1<br />

03 Section: server<br />

04 Priority: optional<br />

05 Architecture: all<br />

06 Essential: no<br />

07 Installed‐Size: 1024<br />

08 Maintainer: Dan Frost [dan@3ev.com]<br />

09 Description: Statische Seite für den Webserver<br />

Listing 2: »index.html«<br />

01 <br />

02 <br />

03 We're getting there...<br />

04 <br />

05 <br />

06 Give us a moment.<br />

07 We're just getting some more machines<br />

plugged in ...<br />

08 <br />

09 <br />

Listing 3: »on-host-up.sh«<br />

01 cd /var/www/<br />

02 wget ‐O tmp.tgz http://mybucket.s3.amazonaws.com/<br />

website.tgz<br />

03 tar xzf tmp.tgz<br />

04 service apache2 restart<br />

ren das Skript in der Deb-Datei, die Sie<br />

danach wieder an den alten Ort laden,<br />

von wo ein Cloud-Knoten sie über Wget<br />

her<strong>unter</strong>lädt.<br />

Produktionsreif<br />

Das mag bisher etwas umständlich anmuten.<br />

So viel Aufwand, nur um ein<br />

kleines Skript auf eine Cloud-Instanz zu<br />

installieren. Wer eine große <strong>Server</strong>farm<br />

betreibt <strong>und</strong> die Skripte auf dem Laufenden<br />

halten will, sieht das aber anders.<br />

Einige Cloud-Services lassen den Anwender<br />

Skripte über ein Webinterface<br />

editieren, was bis zu einem bestimmten<br />

Punkt auch ausreicht. Aber irgendwann<br />

wird sich jeder doch einen richtigen Editor<br />

wünschen. Ein eigenes Debian-Paket<br />

macht es Ihnen auch leicht, ein Skript auf<br />

dem lokalen Rechner zu editieren <strong>und</strong> zu<br />

testen, bevor Sie die endgültige Version<br />

per Paket auf dem Produktsionssystem<br />

installieren.<br />

Nach der Installation ist vor<br />

der Installation<br />

Man könnte sich fragen, was der Sinn des<br />

ganzen Aufwands ist, lassen sich nicht<br />

genauso gut Tar-Pakete für den gleichen<br />

Zweck verwenden? Die Antwort darauf<br />

ist, dass die Debian-Pakete noch zwei<br />

weitere Hooks bieten: »post-install« <strong>und</strong><br />

»pre-uninstall«. Wenn der Paketmanager<br />

die Dateien eines Pakets kopiert hat, führt<br />

er das Post-Installskript »DEBIAN/postinst«<br />

aus. Beim De-Installieren entfernt<br />

der Paketmanager erst die Dateien, bevor<br />

er »DEBIAN/prerm« ausführt. Über diese<br />

Skripte können Sie zum Beispiel Software<br />

installieren, <strong>Dienste</strong> starten oder auch<br />

einem <strong>Monitoring</strong>system neue Anweisungen<br />

geben.<br />

Editieren Sie beispielsweise »DEBIAN/<br />

postinst« <strong>und</strong> tragen eine Zeile wie die<br />

folgende ein:<br />

curl http://my‐monitor.example.com/event=U<br />

installed‐apache&server=$SERVER_NAME<br />

Die Details hängen zwar von dem verwendeten<br />

<strong>Monitoring</strong>system ab, aber so<br />

in dieser Art können Sie es über die Installation<br />

des Pakets informieren.<br />

Eine typische Aufgabe für ein Post-Installskript<br />

ist es, einen symbolischen Link<br />

anzulegen, damit die eigenen Skripte<br />

auch im Standard-Ausführungspfad erscheinen,<br />

zum Beispiel so:<br />

ln ‐s /usr/local/myserver/bin/ U<br />

on‐host‐up.sh/usr/bin/on‐host‐up.sh<br />

Alle Aktionen, die Sie brauchen, um einen<br />

notwendigen Dienst zu starten, sollten<br />

Sie in das Post-Installskript packen,<br />

zum Beispiel:<br />

service apache2 start<br />

service my‐monitor start<br />

In dieser Stufe des Ablaufs sollten Sie<br />

keine eigenen Dateien installieren oder<br />

her<strong>unter</strong>laden.<br />

Migration<br />

Zum Abschluss noch ein Beispiel aus der<br />

echten Welt: Angenommen Sie wollen<br />

als Webproxy von Apache auf HAProxy<br />

umschalten <strong>und</strong> dem Webserver noch<br />

ein bisschen Extra-Code <strong>unter</strong>schieben,<br />

damit er besser skaliert. Statt HAProxy<br />

direkt auf der Webserver-Instanz einzurichten,<br />

schreiben Sie ein Skript, das HA-<br />

Proxy auf dem lokalen Rechner installiert<br />

<strong>und</strong> konfiguriert. Wenn das funktioniert,<br />

packen Sie die Skripte in ein Debian-<br />

Paket <strong>und</strong> installieren es zum Test auf<br />

einigen Cloud-Knoten.<br />

Wenn die Skripte auch dort alle funktionieren,<br />

packen Sie das neue Paket auf<br />

den <strong>Server</strong>, in denen Ihre Debian-Pakete<br />

gespeichert sind, oder in den S3-Storage.<br />

Beenden Sie dann die HAProxy-Instanz<br />

<strong>und</strong> warten darauf, dass eine neue startet<br />

<strong>und</strong> das neue Paket her<strong>unter</strong>lädt <strong>und</strong><br />

installiert.<br />

Extra-Code laden Sie am besten über<br />

Subversion, Git oder Wget her<strong>unter</strong>.<br />

Wenn Sie zum Beispiel ein PDF-Archiv<br />

haben, das sich nie ändert, oder eine<br />

Archiv-Datenbank, können Sie alles auf<br />

eine Instanz her<strong>unter</strong>laden, die dann von<br />

den anderen unabhängig funktioniert.<br />

Portioniert<br />

Abbildung 2: In der Farm-Konfiguration des Scalr-Service lassen sich die Skripte für die einzelnen Phasen<br />

aktivieren <strong>und</strong> konfigurieren.<br />

Alles, was sich auf der Kommandozeile<br />

mit Skripten machen lässt, können Sie<br />

in ein Debian-Paket packen, statt die Dateien<br />

von Hand zu verteilen. Damit stehen<br />

die gründlich getesteten Skripte allen<br />

<strong>Server</strong>knoten zur Verfügung, von denen<br />

sie sich auch genauso einfach wieder<br />

entfernen lassen. (ofr)<br />

n<br />

78 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


7,90€<br />

100 Seiten Linux<br />

+ DVD<br />

Jetzt am Kiosk!<br />

Ja, ich bestelle LinuxUser Spezial 01/2011 zum Preis von 7,90.<br />

Vorname, Name<br />

Straße<br />

Firma<br />

PLZ/Ort<br />

Abteilung<br />

Coupon ausschneiden <strong>und</strong> an<br />

Linux New Media AG, Putzbrunner Str. 71, 81739 München senden<br />

Schneller bestellen per: Tel.: 089 / 99 34 11–0 E-Mail: order@linuxnewmedia.de<br />

Fax: 089 / 99 34 11–99<br />

http://www.linuxuser.de/spezial<br />

E-Mail<br />

Ja, bitte informieren Sie mich über weitere Neuheiten aus dem Bereich Linux<br />

<strong>und</strong> OpenSource<br />

Linux New Media AG, Putzbrunner Str. 71, 81739 München, Vorstand: Brian Osborn, Hermann Plank, Aufsichtsrat: Rudolf Strobl (Vorsitz), Handelsregister: HRB 129161 München


Know-How<br />

Linux-Cluster<br />

Oleksii Glushenkov, 123RF<br />

Cluster mit Open AIS <strong>und</strong> Corosync<br />

Im Gleichtakt<br />

das setup hochverfügbarer Cluster-Ressourcen gehört heute zum standardrepertoire eines Admin. Viele<br />

Hersteller bieten dafür eigene, oftmals proprietäre Produkte. dieser Artikel beschreibt die gr<strong>und</strong>lagen eines Clusters<br />

mit der freien open-Ais-/ Corosync-basierten Cluster suite. Thorsten scherf<br />

Bei Clustern ist gr<strong>und</strong>sätzlich zwischen<br />

verschiedenen Varianten zu <strong>unter</strong>scheiden.<br />

So existieren zum einen die so genannten<br />

Speichercluster, deren Aufgabe<br />

es ist, den Zugriff auf ein einzelnes Dateisystem<br />

von mehreren Systemen aus zu<br />

ermöglichen. Die lästige Synchronisierung<br />

der Daten zwischen den einzelnen<br />

Rechnern entfällt dabei, da der Zugriff<br />

auf einen gemeinsamen Datenspeicher<br />

stattfindet.<br />

Hochverfügbarkeits-Cluster (HA) bündeln<br />

einzelne Ressourcen, etwa Dateisysteme<br />

<strong>und</strong> IP-Adressen, zu einem Clusterservice.<br />

Beim Ausfall einer Ressource<br />

versucht der Cluster diese erneut zu aktivieren.<br />

Sollte der Rechner, auf dem der<br />

Clusterservice läuft, komplett ausfallen,<br />

wird dieser auf einem anderen Rechner<br />

neu gestartet. So ist sichergestellt, dass<br />

der Service, zum Beispiel ein Webserver,<br />

zu jeder Zeit verfügbar ist.<br />

Lastverteilungs-Cluster verstecken mehrere<br />

Systeme hinter einer einzelnen<br />

IP-Adresse <strong>und</strong> verteilen nach einem bestimmten<br />

Algorithmus alle eingehenden<br />

Anfragen auf diese Backend-Systeme.<br />

Fällt eins dieser Systeme aus, erhält es<br />

auch keine Anfragen mehr. Gerade bei<br />

gut besuchten Webservern kommen solche<br />

Cluster zum Einsatz, da ein einzelner<br />

Rechner die Vielzahl von Anfragen oft<br />

nicht alleine bewältigen kann.<br />

Schließlich gibt es noch die so genannten<br />

Hochleistungs-Cluster, bei denen<br />

komplizierte Berechnungen auf die einzelnen<br />

Clusterknoten verteilt werden,<br />

um so eine höhere Rechenkapazität zu<br />

erreichen. Sie kommen oft in der Forschung<br />

oder der Industrie zum Einsatz,<br />

beispielsweise in der Automobilbranche,<br />

um Crashtest-Simulationen durchzuführen.<br />

In diesem Artikel geht es primär um<br />

HA- <strong>und</strong> Speicher-Cluster.<br />

Cluster-Komponenten<br />

Ein Clusterknoten setzt sich immer aus<br />

mehreren Komponenten zusammen. Das<br />

Herzstück bildet dabei der Clustermanager,<br />

der sozusagen das Kommunikationssystem<br />

des Clusters darstellt <strong>und</strong><br />

entscheidet, welche Systeme zu einem<br />

Clusterverb<strong>und</strong> gehören <strong>und</strong> welche<br />

aus dem Cluster zu entfernen sind. Als<br />

Entscheidungsgr<strong>und</strong>lage kommen so genannte<br />

Quorum-Regeln zum Einsatz. Arbeitet<br />

ein System fehlerhaft oder gar nicht<br />

mehr, greift der Clustermanager auf ein<br />

weiteres Subsystem, das Fencing-System,<br />

zurück, um den fehlerhaften Knoten zu<br />

entfernen.<br />

Der Fencing-Daemon kommuniziert dabei<br />

mit Hilfe bestimmter Agenten mit so<br />

genannten Fencing-Geräten. Dabei kann<br />

es sich um Management-Boards, Power-<br />

Switches, aber auch SAN-Switches handeln.<br />

Wichtig ist, dass nach dem Fencing<br />

der Zugriff von einem fehlerhaft arbeitenden<br />

Knoten auf eine bestimmte Cluster-<br />

Ressource nicht mehr möglich ist.<br />

Um den Zugriff auf einen gemeinsamen<br />

Datenspeicher zu ermöglichen, ist ein<br />

Locking-Subsystem nötig. Bei einem<br />

Cluster-Dateisystem wie GFS2 [1] ist eine<br />

Kommunikation zwischen den einzelnen<br />

Knoten wichtig, die sicherstellt, dass zu<br />

einem Zeitpunkt immer nur ein System<br />

eine Änderung an einem Dateisystem-<br />

Block durchführt, erst dann kommt ein<br />

anderer Knoten dran. Auch beim Volume-<br />

80 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


Linux-Cluster<br />

Know-How<br />

Abbildung 1: Beim Failover startet der Ressource-Manager eine Cluster-<br />

Ressource-Gruppe auf einem anderen Host.<br />

Management selbst ist eine Synchronisation<br />

der Knoten <strong>unter</strong>einander notwendig.<br />

Beide Funktionen übernimmt der<br />

Lock-Manager.<br />

Schließlich gibt es bei HA-Clustern noch<br />

den Ressourcen-Manager. Dieser kümmert<br />

sich um die Überwachung <strong>und</strong> das<br />

Management der konfigurierten Cluster-<br />

Ressourcen <strong>und</strong> Services. Im Fehlerfall<br />

eines Knotens kann der Ressourcen-Manager<br />

die Clusterservices auf einem anderen<br />

Knoten neu starten. Für den Benutzer<br />

ist dieser Service-Neustart nahezu transparent,<br />

er merkt von dem Ausfall eines<br />

Systems nichts (Abbildung 1).<br />

Clustermanager<br />

Red Hat Enterprise Linux (RHEL) <strong>und</strong><br />

Fedora enthalten beide die Red Hat Cluster<br />

Suite (RHCS). Als Clustermanager<br />

kommt CMAN zum Einsatz. Je nach<br />

eingesetzter Version sieht dessen Implementierung<br />

jedoch komplett anders aus.<br />

So war in der initialen Variante (Version<br />

1.0), die beispielsweise in RHEL 4 oder<br />

sehr alten Fedora-Versionen enthalten<br />

war, CMAN komplett im Kernelspace implementiert.<br />

Ein Zugriff von Applikationen aus dem<br />

Userspace fand über das Libcman-API<br />

statt. Im Netzwerkbereich kam UDP-<br />

Broadcast/ Unicast zum Einsatz. Der alte<br />

CMAN-Code wurde ausschließlich von<br />

Red Hat entwickelt <strong>und</strong> betreut.<br />

In neueren Versionen (2.0), beispielsweise<br />

in RHEL 5 <strong>und</strong> ab Fedora Core 6, wurde<br />

die überholte CMAN-Implementierung<br />

durch eine offene Implementierung auf<br />

Basis der Application Interface Specifi-<br />

cation (AIS) abgelöst.<br />

Das Open-AIS-Framework<br />

[3] ist modular<br />

aufgebaut <strong>und</strong> bietet<br />

mit »aisexec« einen<br />

Daemon im Userspace,<br />

der über verschiedene<br />

Module auf<br />

weitere Subsysteme<br />

zurückgreifen kann.<br />

So existiert beispielsweise<br />

ein Subsystem<br />

»totem«, welches das<br />

Messaging-System für<br />

den Clustermanager<br />

bildet.<br />

Der CMAN-Code von<br />

Red Hat wurde nun so abgeändert, dass<br />

CMAN lediglich ein weiteres Modul für<br />

das Open-AIS-System darstellt. Aufgabe<br />

dieses CMAN-Moduls ist es eigentlich<br />

nur noch, ein einheitliches API für bestehende<br />

Applikationen bereitzustellen,<br />

sollten diese Informationen vom eigentlichen<br />

Clustermanager benötigen.<br />

Daneben ist das Modul noch für die Kommunikation<br />

mit dem Quorum-Daemon<br />

zuständig. Dieser kommt optional zum<br />

Einsatz, wenn es um die Berechnung des<br />

Quorums für einen Cluster geht. Dazu<br />

dient ein bestimmter Algorithmus, wobei<br />

der Quorum-Daemon ein optionaler Teil<br />

davon sein kann.<br />

Netzwerk-seitig kommt bei Open-AIS<br />

UDP-Multicast/ Unicast zum Einsatz.<br />

Sollte in der Konfiguration für den Clustermanager<br />

keine Multicast-Adresse<br />

angegeben sein, wird diese dynamisch<br />

generiert. Sie beginnt dann mit 239.192,<br />

wobei die letzten beiden Oktetts auf Basis<br />

der Cluster-ID erzeugt werden.<br />

In der Cluster-Suite-Version 3.0 von<br />

RHEL 6 <strong>und</strong> Fedora 10 wurde nun Open<br />

AIS durch Corosync [2] ausgetauscht.<br />

Von außen betrachtet hat sich zwischen<br />

den beiden Clustermanagern nicht viel<br />

verändert, der Code <strong>unter</strong>scheidet sich<br />

zum Teil aber wesentlich. Die alten Open-<br />

AIS-Module stehen teilweise immer noch<br />

zur Verfügung, es sind jedoch auch neue<br />

Module hinzugekommen. Diese werden<br />

nun nicht mehr durch »aisexec«, sondern<br />

durch Corosync aufgerufen.<br />

Kommen Open AIS oder Corosync zusammen<br />

mit dem CMAN-Modul in der<br />

Red Hat Cluster Suite zum Einsatz, findet<br />

die Konfiguration des Clustermanagers<br />

nicht wie üblich über die Konfigurationsdateien<br />

»/etc/ais/openais.conf« beziehungsweise<br />

»/etc/corosync/corosync.<br />

conf« statt, sondern über die XML-Datei<br />

»/etc/cluster/cluster.conf«.<br />

Ab der Cluster-Suite-Version 3.0 lässt<br />

sich als Konfigurations-Repository auch<br />

ein LDAP-<strong>Server</strong> einsetzen. Die Datei »/<br />

etc/sysconfig/cman« enthält dabei einen<br />

Konfiguratiosparameter »CONFIG_LOA-<br />

DER«, der als Wert entweder »xmlconfig«<br />

oder »ldapconfig« enthalten kann.<br />

Beim Starten von CMAN mittels »/etc/<br />

init.d/cman start« lädt das entsprechende<br />

CMAN-Modul dann entweder die Konfigurationsoptionen<br />

aus der XML-Datei<br />

oder vom LDAP-<strong>Server</strong> in die Corosync-<br />

Objektdatenbank. Eine minimale XML-<br />

Konfigurationsdatei zeigt Listing 1.<br />

XML aufgeteilt<br />

Die Konfigurationsdatei besteht aus einzelnen<br />

Abschnitten. Globale Parameter<br />

wie beispielsweise der Clustername gehören<br />

in den Abschnitt »cluster«. Anweisungen<br />

für das CMAN-Plugin kommen in<br />

den Abschnitt »cman«. In Listing 1 stehen<br />

hier die beiden Anweisungen »two_node«<br />

<strong>und</strong> »expected_votes«. Die erste Anweisung<br />

teilt dem Clustermanager mit, dass<br />

der aktuelle Cluster lediglich aus zwei<br />

Knoten besteht <strong>und</strong> zur Berechnung des<br />

Quorums nur eine einzige Stimme notwendig<br />

ist.<br />

Bestehen Cluster aus mehr als zwei Knoten,<br />

sind zum Erlangen des Quorums<br />

mindestens die Stimmen der Hälfte der<br />

verfügbaren Clusterknoten plus eins<br />

(n/ 2+1) notwendig. Ein 2-Knoten-<br />

Cluster stellt somit eine Ausnahme dar,<br />

Listing 1: XmL-Config für den Clustermanager<br />

01 # cat /etc/cluster/cluster.conf<br />

02 <br />

03 <br />

04 <br />

05 <br />

06 <br />

07 <br />

08 <br />

09 <br />

10 <br />

11 <br />

12 <br />

13 <br />

14 <br />

15 <br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

81


Know-How<br />

Linux-Cluster<br />

dies verdeutlicht der Parameter »expected_votes«<br />

noch einmal. Üblicherweise<br />

ist der hier angegebene Wert identisch<br />

mit der Anzahl der Clusterknoten, in<br />

einem 2-Knoten-Cluster ist dies jedoch<br />

nicht so.<br />

Zusätzlich zu den bereits genannten Parametern<br />

können Sie hier eine Multicast-<br />

Adresse, einen alternativen UDP-Port<br />

(Default: 5405) für den CMAN-Empfangs-<br />

Socket oder die Cluster-ID festlegen. Ist<br />

keine Cluster-ID definiert, generiert der<br />

Cluster selbst eine. Dies kann <strong>unter</strong> Umständern<br />

zu Problemen führen, wenn<br />

mehrere Cluster im gleichen Netzwerk<br />

vorhanden sind <strong>und</strong> zufällig die gleiche<br />

ID generiert wurde.<br />

Zur Verschlüsselung des Datenverkehrs<br />

generiert CMAN einen Schlüssel auf Basis<br />

des Clusternamens. Wollen Sie stattdessen<br />

lieber einen anderen Schlüssel<br />

verwenden, können Sie ihn mit Hilfe der<br />

Anweisung »keyfile« ebenfalls in diesem<br />

Abschnitt angeben. Da CMAN jedoch nur<br />

ein Modul von vielen innerhalb des Corosync-Framework<br />

ist, können Sie natürlich<br />

auch Anweisungen für die weiteren Module<br />

in der Konfigurationsdatei »cluster.<br />

conf« angeben.<br />

Beispielsweise bietet das Totem-Protokoll<br />

die Möglichkeit, einen Timeout für das<br />

Totem-Token festzulegen (»«).<br />

Das Token wandert<br />

zwischen den einzelnen Clusterknoten<br />

hin <strong>und</strong> her. Verstreicht der mittels »time-<br />

Listing 2: detailliertes Logging<br />

out« angegebene Zeitraum beim Versenden<br />

des Token, wird der Knoten als<br />

defekt angesehen <strong>und</strong> aus dem Cluster<br />

entfernt.<br />

Ebenfalls sehr hilfreich ist die Logging-<br />

Anweisung. Hiermit können Sie die Logs<br />

aller am Cluster beteiligten Subsysteme<br />

entweder in eine Logdatei schreiben, an<br />

Syslog senden oder auf dem Bildschirm<br />

ausgeben. Jedes Subsystem kann dabei<br />

seine eigene Logdatei bekommen. Listing<br />

2 zeigt ein Beispiel. Weitere Corosyncspezifische<br />

Parameter entnehmen Sie der<br />

Hilfe-Seite von »corosync.conf«.<br />

Clusterknoten<br />

Die nächste Sektion »clusternodes« beschreibt<br />

die einzelnen Knoten des Clusters<br />

<strong>und</strong> bestimmt deren Eigenschaften.<br />

So bekommt jeder Clusterknoten einen<br />

Namen, eine Voting-Stimme <strong>und</strong> eine<br />

ID zugewiesen. Die Kommunikation der<br />

Clusterknoten <strong>unter</strong>einander findet über<br />

das Netzwerk statt, über das die hier<br />

angegebenen Knoten-Namen aufgelöst<br />

werden können. Wenn Sie also Ihren Datenverkehr<br />

vom Clusterverkehr trennen<br />

möchten, achten Sie darauf, die passenden<br />

DNS-Namen anzugeben.<br />

Bekommt ein Clusterknoten mehr als<br />

eine Stimme, gilt die oben erwähnte<br />

Quorum-Regel nicht mehr, da die Anzahl<br />

der verfügbaren Stimmen <strong>und</strong> nicht die<br />

Anzahl der Clusterknoten als Gr<strong>und</strong>lage<br />

der Quorum-Berechnung dient. Existiert<br />

beispielsweise ein Cluster mit drei Knoten,<br />

müssen zum Erreichen des Quorums<br />

mindestens zwei Rechner online<br />

sein (3/ 2+1=2), sonst ist der Cluster<br />

nicht »quorate« <strong>und</strong> kann keinen HA-<br />

Service verwalten. Bekommt ein Knoten<br />

aber zwei Stimmen statt nur einer, reicht<br />

es aus, wenn dieser Rechner alleine online<br />

ist, damit der Cluster noch über das<br />

Quorum verfügt, selbst dann, wenn beide<br />

anderen Rechner offline sind.<br />

Als weitere Eigenschaft können Sie jedem<br />

Knoten mindestens eine Referenz auf ein<br />

Fencing-Gerät zuordnen. Das Gerät selbst<br />

ist dann im Abschnitt »fence« näher zu<br />

beschreiben. Die Konfiguration dafür ist<br />

in Listing 3 dargestellt.<br />

Die Konfiguration des Fencing-Subsystems<br />

ist von größter Wichtigkeit. Sollte<br />

der Clustermanager nicht in der Lage<br />

sein, einen ausgefallen Rechner aus dem<br />

Cluster zu lösen, also auf ein Fencing-<br />

Event eine positive Rückmeldung des<br />

Fencing-Daemon zu bekommen, dann<br />

wird der Ressourcen-Manager den HA-<br />

Service, der eventuell auf diesem Knoten<br />

läuft, nicht auf einem anderen Knoten<br />

neu starten.<br />

Dies geschieht aus gutem Gr<strong>und</strong>, da es<br />

ja durchaus möglich sein kann, dass ein<br />

Rechner nur temporär hängt <strong>und</strong> nach<br />

einer gewissen Zeit wieder zum Leben<br />

erwacht <strong>und</strong> auf seine Ressourcen genau<br />

dann zugreift, wenn ein zweiter Rechner<br />

01 <br />

03 <br />

05 <br />

07 <br />

09 <br />

11 <br />

13 <br />

15 <br />

16 @KE<br />

Listing 3: mindestens ein Fencing-gerät pro Knoten<br />

01 <br />

02 <br />

03 <br />

04 <br />

05 <br />

06 <br />

07 <br />

08 <br />

09 <br />

10 <br />

11 <br />

12 <br />

13 <br />

14 <br />

15 <br />

16 <br />

17 <br />

18 <br />

19 @KE<br />

82 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Linux-Cluster<br />

Know-How<br />

dasselbe macht. Eine Beschädigung der<br />

Daten kann in einem solchen Fall die<br />

Folge sein.<br />

Wenn Sie die Datei »cluster.conf« auf einen<br />

anderen Clusterknoten kopieren <strong>und</strong><br />

dort mittels »/etc/init.d/cman start« den<br />

Clustermanager starten, sollten Sie beim<br />

Aufruf von »cman_tool status« eine Ausgabe<br />

wie in Listing 4 sehen.<br />

Beachten Sie, dass die aktuelle Cluster-<br />

Suite-Version 3.0 kein Cluster-Konfigurationssystem<br />

mehr enthält. Somit besteht<br />

auch nicht mehr die Möglichkeit,<br />

bei einem laufenden Clustermanager<br />

Änderungen an der Konfigurationsdatei<br />

mittels »ccs_tool update« zu übertragen.<br />

Sie können stattdessen jedoch eine neue<br />

Version der Cluster-Konfiguration mittels<br />

»cman_tool version -r Versionsnummer«<br />

dem Cluster bekannt machen <strong>und</strong> auf die<br />

anderen Knoten übertragen.<br />

Die gr<strong>und</strong>legenden Konfigurationsschritte<br />

für den Clustermanager sind somit erledigt.<br />

Dass nun die Corosync-Datenbank<br />

die einzelnen Parameter kennt, bestätigt<br />

das Tool »corosync-objctl«:<br />

# corosync‐objctl | grep cluster.name<br />

cluster.name=iscsicluster<br />

Möchten Sie die Konfiguration lieber auf<br />

einem LDAP-Sever vornehmen, lässt sich<br />

eine bestehende XML-Config leicht ins<br />

LDIF-Format verwandeln (Listing 5).<br />

Mittels »ldapadd« können Sie die so erzeugte<br />

LDIF-Datei dann in Ihren LDAP-<br />

<strong>Server</strong> importieren. Beachten Sie, dass<br />

Sie hierfür erst die passende LDAP-Schemadatei<br />

aus dem Ordner »/usr/share/<br />

doc/cman-version/« dem LDAP-<strong>Server</strong><br />

bekanntgeben müssen, sonst kennt er<br />

die verwendeten Objektklassen <strong>und</strong> Attribute<br />

nicht <strong>und</strong> der Import der LDIF-Datei<br />

schlägt fehl.<br />

Konfiguration aus LDAP<br />

Damit jeder Clusterknoten auf die Konfiguration<br />

zugreifen kann, müssen Sie<br />

in der bereits angesprochenen Konfigurationsdatei<br />

»/etc/sysconfig/cman« noch<br />

den LDAP-<strong>Server</strong> <strong>und</strong> den »BaseDN« angeben:<br />

# grep ‐i ldap /etc/sysconfig/cman<br />

CONFIG_LOADER=ldapconfig<br />

COROSYNC_LDAP_URL=ldap://ldap.tuxgeek.de<br />

Nach einem Neustart von CMAN sollte<br />

dieser nun in der Lage sein, die Corosync-<br />

Objektdatenbank mit den Einträgen aus<br />

dem LDAP-<strong>Server</strong> zu füllen. Möchten Sie<br />

neue Objekte, beispielsweise Fencing-<br />

Devices oder Cluster-Ressourcen, zur<br />

LDAP-Datenbank hinzufügen, bietet es<br />

sich an, diese zuerst in einer Art Dummy-<br />

XML-Datei zu hinterlegen, um aus ihr<br />

dann wieder die passende LDIF-Datei zu<br />

Listing 4: »cman_tool status«<br />

01 # cman_tool status<br />

02 Version: 6.2.0<br />

03 Config Version: 5<br />

04 Cluster Name: iscsicluster<br />

05 Cluster Id: 46516<br />

06 Cluster Member: Yes<br />

07 Cluster Generation: 748<br />

08 Membership state: Cluster‐Member<br />

09 Nodes: 2<br />

10 Expected votes: 1<br />

11 Total votes: 2<br />

12 Node votes: 1<br />

13 Quorum: 1<br />

14 Active subsystems: 8<br />

15 Flags: 2node<br />

16 Ports Bo<strong>und</strong>: 0<br />

17 Node name: iscsi1<br />

18 Node ID: 1<br />

19 Multicast addresses: 239.192.181.106<br />

20 Node addresses: 192.168.122.171<br />

generieren. Das Verwalten der Cluster-<br />

Konfiguration in einem LDAP-Baum ist<br />

derzeit noch experimentell <strong>und</strong> sollte in<br />

produktiven Umgebungen nicht eingesetzt<br />

werden.<br />

Wie bereits angesprochen wurde, ist der<br />

Ressourcen-Manager in einem HA-Cluster<br />

dafür zuständig, Clusterservices – auch<br />

<strong>unter</strong> dem Namen Ressource-Gruppen<br />

bekannt – bereitzustellen <strong>und</strong> zu managen.<br />

Dazu gehören das manuelle <strong>und</strong><br />

automatische Starten <strong>und</strong> Stoppen der<br />

01 # confdb2ldif dc=tuxgeek,dc=de > cluster.ldif<br />

02 # This file was generated by confdb2ldif,<br />

from an existing cluster<br />

03 # configuration<br />

04 #<br />

05<br />

06 dn: name=cluster,dc=tuxgeek,dc=de<br />

07 name: iscsicluster<br />

08 rhcsConfig‐version: 5<br />

09 objectclass: rhcsCluster<br />

10<br />

11 dn: cn=cman,name=cluster,dc=tuxgeek,dc=de<br />

12 rhcsTwo‐node: 1<br />

13 rhcsExpected‐votes: 1<br />

14 rhcsNodename: iscsi1<br />

15 rhcsCluster‐id: 46516<br />

16 cn: cman<br />

17 objectclass: rhcsCman<br />

18<br />

19 dn: cn=clusternodes,name=cluster,dc=tuxgeek<br />

,dc=de<br />

20 cn: clusternodes<br />

21 objectclass: nsContainer<br />

22<br />

23 dn: cn=clusternode,cn=clusternodes,name=clust<br />

er,dc=tuxgeek,dc=de<br />

24 cn: clusternode<br />

25 objectclass: nsContainer<br />

26<br />

27 dn:<br />

28 name=iscsi1,cn=clusternode,cn=clusternodes,na<br />

me=cluster,dc=tuxgeek,dc=de<br />

29 name: iscsi1<br />

30 rhcsVotes: 1<br />

31 rhcsNodeid: 1<br />

32 objectclass: rhcsClusternode<br />

33<br />

34 dn:<br />

35 cn=fence,name=iscsi1,cn=clusternode,cn=cluste<br />

rnodes,name=cluster,dc=tuxgeek,dc=de<br />

36 cn: fence<br />

37 objectclass: nsContainer<br />

38<br />

39 dn: cn=clusternode,cn=clusternodes,name=clust<br />

er,dc=tuxgeek,dc=de<br />

40 cn: clusternode<br />

41 objectclass: nsContainer<br />

42<br />

Listing 5: Cluster-XmL-Config in LdiF umwandeln<br />

43 dn:<br />

44 name=iscsi2,cn=clusternode,cn=clusternodes,na<br />

me=cluster,dc=tuxgeek,dc=de<br />

45 name: iscsi2<br />

46 rhcsVotes: 1<br />

47 rhcsNodeid: 2<br />

48 objectclass: rhcsClusternode<br />

49<br />

50 dn:<br />

51 cn=fence,name=iscsi2,cn=clusternode,cn=cluste<br />

rnodes,name=cluster,dc=tuxgeek,dc=de<br />

52 cn: fence<br />

53 objectclass: nsContainer<br />

54<br />

55 dn: cn=fencedevices,name=cluster,dc=tuxgeek<br />

,dc=de<br />

56 cn: fencedevices<br />

57 objectclass: nsContainer<br />

58<br />

59 dn: cn=rm,name=cluster,dc=tuxgeek,dc=de<br />

60 cn: rm<br />

61 objectclass: nsContainer<br />

62 @KE<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

83


Know-How<br />

Linux-Cluster<br />

Services sowie das Umschalten auf einen<br />

anderen Clusterknoten, sollte der gerade<br />

aktive Knoten ausfallen.<br />

In den Versionen 1.0 <strong>und</strong> 2.0 war »rgmanager«<br />

der alleinige Herrscher in einem<br />

Red-Hat-Cluster, ab der Cluster-Suite-<br />

Version 3.0 ist nun auch »pacemaker«<br />

in RHEL 6 <strong>und</strong> ab Fedora 12 enthalten.<br />

Die Konfiguration findet bei »rgmanager«<br />

ebenfalls über die XML-Datei »cluster.<br />

conf« oder über LDAP statt, »pacemaker«<br />

hat seine eigene XML-basierte Konfigurationsdatei<br />

– auch als Cluster Information<br />

Base (CIB) bekannt. Manuelles Editieren<br />

dieser Datei ist allerdings nicht anzuraten,<br />

stattdessen greifen Sie besser auf<br />

das Tool »crm« zurück. Im folgenden Abschnitt<br />

geht es um den alteingesessenen<br />

»rgmanager«.<br />

In der XML-Datei »cluster.conf« erfolgen<br />

alle Konfigurationsanweisungen für<br />

den »rgmanager« im Abschnitt »rm«.<br />

Als Erstes bietet es sich an, für die<br />

hochverfügbaren Clusterservices eine<br />

Failover-Domäne einzurichten. Hiermit<br />

beschränken Sie die Clusternodes, auf<br />

Listing 6: Failover-domänen<br />

01 <br />

02 <br />

03 <br />

04 <br />

05 <br />

06 <br />

07 <br />

08 <br />

09 <br />

10 @KE<br />

Listing 7: Cluster-services per »rgmanager«<br />

01 <br />

02 <br />

03 <br />

04 <br />

05 <br />

06 <br />

07 <br />

08 <br />

09 <br />

10 <br />

11 <br />

denen ein Service laufen kann. Das ist<br />

recht praktisch, wenn Sie beispielsweise<br />

schwergewichtige Oracle-Datenbanken<br />

nur auf entsprechend leistungsstarken<br />

Maschinen im Cluster betreiben wollen.<br />

Die Konfiguration für eine solche Failover-Domäne<br />

zeigt Listing 6.<br />

Mit den Anweisungen »ordered«, »restricted«<br />

<strong>und</strong> »nofailback« legen Sie fest, ob<br />

bestimmte Knoten innerhalb einer Domäne<br />

bevorzugt behandelt werden, ob<br />

der Service auch auf anderen Knoten außerhalb<br />

der Failover-Domäne laufen darf<br />

<strong>und</strong> ob ein Failover auf einem bevorzugten<br />

Knoten stattfinden soll, sollte dieser<br />

wieder innerhalb einer Failover-Domäne<br />

verfügbar werden, beispielsweise nach<br />

einem Fence-Event.<br />

Eine Ressource-Gruppe setzt sich aus einzelnen<br />

Cluster-Ressourcen zusammen.<br />

Diese können Sie entweder getrennt in<br />

einem »resources«-Block aufführen oder<br />

unmittelbar bei der Definition eines Service<br />

angeben. Die erste Variante hat den<br />

Vorteil, dass Sie die Ressourcen mehrfach<br />

verwenden können, indem Sie darauf referenzieren.<br />

Die Ressource-Gruppe selbst<br />

definieren Sie innerhalb eines »service«-<br />

Blocks <strong>und</strong> verweisen dort auf die eben<br />

angesprochenen Ressourcen.<br />

Um den Service an eine zuvor eingerichtete<br />

Failover-Domäne zu binden, geben<br />

Sie diese einfach mit dem Parameter<br />

»domain« an. Als Default-Service-Policy<br />

kommt »restart« zum Einsatz, das heißt,<br />

sollte der Service einmal ausfallen, versucht<br />

»rgmanager« ihn auf dem gleichen<br />

Knoten neu zu starten. Schlägt dies fehl,<br />

startet der Ressource-Manager den Service<br />

auf einem anderen Knoten der angegebenen<br />

Failover-Domäne. Listing 7<br />

zeigt die Konfiguration eines hochverfügbaren<br />

Webservers.<br />

Die einzelnen Cluster-Ressourcen überwacht<br />

»rgmanager« mit so genannten<br />

Ressource-Skripten. Es handelt sich um<br />

OCF- <strong>und</strong> LSB-kompatible ([4], [5]),<br />

Skripte im Verzeichnis »/ usr/share/cluster/«.<br />

Die Startreihenfolge der Ressourcen<br />

ist in der Datei »service.sh« definiert, allerdings<br />

lässt sich eine Abhängigkeit zwischen<br />

einzelnen Ressourcen auch einfach<br />

durch Einrücken erreichen (Listing 7).<br />

Die Timeouts zum Starten <strong>und</strong> Stoppen<br />

<strong>und</strong> das Intervall zum Überprüfen der<br />

Ressourcen befinden sich in den jeweiligen<br />

Ressource-Skripten selbst.<br />

Nach der Konfiguration des Cluster- <strong>und</strong><br />

Ressourcen-Managers können Sie die eingerichteten<br />

Clusterservices starten. Hierfür<br />

bietet sich das Tool »clusvcadm« an:<br />

clusvcadm ‐e service:www<br />

Fazit<br />

Im Laufe der Jahre hat sich hinter den<br />

Kulissen der Red Hat Cluster Suite einiges<br />

getan. Von einer selbst entwickelten<br />

Applikation mit einem Kernel-basierten<br />

Clustermanager hat sich das Framework<br />

zu einem komplett offenen Clustermanager<br />

auf Basis von Corosync entwickelt.<br />

Der alte CMAN spielt nur noch eine relativ<br />

geringe Rolle <strong>und</strong> bietet hauptsächlich<br />

Legacy-Funktionen. An der Konfiguration<br />

selbst hat sich relativ wenig geändert hat,<br />

sie findet nach wie vor über die XML-<br />

Datei »cluster.conf« statt.<br />

Für die Cluster-Ressourcen selbst kommt<br />

weiterhin »rgmanager« zum Einsatz, mit<br />

Pacemaker gibt es aber eine Alternative<br />

aus dem bekannten Heartbeat-Projekt.<br />

Auch wenn die komplette Integration<br />

noch dauern wird, einen ersten Eindruck<br />

vermitteln das aktuelle Fedora 14 oder<br />

auch RHEL 6, wo Pacemaker bereits als<br />

Tech-Preview enthalten ist. Aktuelle Informationen<br />

zu Entwicklungen im Cluster-Umfeld<br />

finden sich auf den Cluster-<br />

Seiten von Red Hat [4]. (ofr)<br />

n<br />

Infos<br />

[1] GFS2:<br />

[http://sources. redhat.com/cluster/gfs/]<br />

[2] Corosync:<br />

[http://www. corosync.org/doku.php]<br />

[3] Open AIS:<br />

[http://www. openais.org/doku. php]<br />

[4] Open Cluster Framework:<br />

[http://opencf. org/]<br />

[5] Linux Standard Base: [http://www.<br />

linuxfo<strong>und</strong>ation. org/collaborate/<br />

workgroups/ lsb]<br />

[6] Cluster-Seiten von Red Hat: [http://www.<br />

sourceware. org/ cluster/wiki/]<br />

Der Autor<br />

Thorsten Scherf arbeitet als Senior Consultant<br />

für Red Hat EMEA. Er ist oft als Vortragender auf<br />

Konferenzen anzutreffen. Wenn ihm neben Arbeit<br />

<strong>und</strong> Familie noch Zeit bleibt, nimmt er gerne an<br />

Marathonläufen teil.<br />

84 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Linux-<strong>Magazin</strong><br />

ACADEMY<br />

Online-Training der<br />

Linux-<strong>Magazin</strong> Academy<br />

IT-Sicherheit<br />

Gr<strong>und</strong>lagen<br />

Themen (Auszug):<br />

❚ physikalische<br />

Sicherheit<br />

❚ logische Sicherheit<br />

• Betriebssystem<br />

• Netzwerk<br />

❚ Sicherheitskonzepte<br />

❚ Sicherheitsprüfung<br />

20%<br />

Treue-Rabatt für<br />

Abonnenten<br />

@Kirsty Pargeter, 123RF<br />

Deckt in Teilbereichen auch das Prüfungswissen für LPIC-303-Inhalte ab.<br />

Inklusive Benutzer- <strong>und</strong> Rechteverwaltung, Authentifizierung, ACLs<br />

sowie wichtige Netzwerkprotokolle <strong>und</strong> mehr!<br />

Das Gr<strong>und</strong>lagentraining für IT-Sicherheit richtet sich an Systemadministratoren<br />

<strong>und</strong> solche, die es werden wollen ebenso wie an ambitionierte<br />

Heimanwender.<br />

Nur 299 inkl. 19 % MwSt.<br />

Informationen <strong>und</strong> Anmeldung <strong>unter</strong>:<br />

academy.linux-magazin.de/sicherheit


Know-How<br />

Powershell<br />

Antonio Munoz Palomares, 123RF<br />

Powershell für Exchange <strong>und</strong> Sharepoint<br />

Kraftpaket<br />

microsoft bietet für exchange <strong>und</strong> sharepoint server auch Powershell-erweiterungen an, mit denen sich diese<br />

serverprodukte auf der Kommandozeile verwalten lassen. einige einstellungen sind sogar nur in der Powershellerweiterung<br />

umzusetzen. Thomas Joos<br />

Generell ist der Umgang mit der Powershell<br />

nicht sehr kompliziert. Geben Sie<br />

»get‐command« ein, zeigt die Shell alle<br />

verfügbaren Befehle. Die wenigsten Admins<br />

kennen alle Commandlets <strong>und</strong> Optionen,<br />

die Exchange <strong>Server</strong> 2010 bereitstellt.<br />

Dafür bietet die Verwaltungsshell<br />

eine ausführliche Hilfe an.<br />

Wer sich nur an einen Teil eines Befehls<br />

erinnert, kann mit dem Platzhalter »*« arbeiten.<br />

Der Befehl »get‐command *mailbox«<br />

zeigt zum Beispiel alle Commandlets<br />

an, deren Name mit „mailbox“ endet. Ist<br />

der gesuchte Befehl nicht dabei, können<br />

Sie auch mehrere Platzhalter verwenden,<br />

zum Beispiel den Befehl »get‐command<br />

*mailbox*«. Dieser Befehl zeigt alle Befehle<br />

an, in denen das Wort „mailbox“<br />

irgendwo vorkommt.<br />

Haben Sie das gewünschte Commandlet<br />

gef<strong>und</strong>en, <strong>unter</strong>stützt die Powershell<br />

Sie mit weiteren Möglichkeiten. Für nahezu<br />

alle Commandlets gilt die Regel,<br />

dass diese in vier Arten vorliegen: Es gibt<br />

Commandlets mit dem Präfix »new‐«,<br />

um etwas zu erstellen, zum Beispiel<br />

»new‐mailbox«. Das gleiche Commandlet<br />

gibt es dann als Löschaktion mit »remove‐«,<br />

zum Beispiel »remove‐mailbox«.<br />

Um ein Objekt anzupassen, dient das<br />

Präfix »set‐«, zum Beispiel »set‐mailbox«.<br />

Schließlich gibt es noch das Commandlet<br />

»get‐«, zum Beispiel »get‐mailbox«, das<br />

einen Wert ausliest.<br />

Neben diesen Commandlets gibt es noch<br />

viele andere, zum Beispiel Start‐ <strong>und</strong><br />

Stop‐Commandlets oder für Export <strong>und</strong><br />

Import. Geben Sie nur den Commandlet‐<br />

Befehl ein, passiert entweder überhaupt<br />

nichts oder es zeigt alle Objekte der Organisation<br />

an oder Sie werden nach der<br />

Identität des Objekts gefragt. So zeigt das<br />

Commandlet »get‐mailbox« alle Postfächer<br />

der Organisation an. Mit dem Befehl<br />

»help Commandlet« erhalten Sie eine<br />

Hilfe zum entsprechenden Commandlet.<br />

Für viele Commandlets gibt es noch die<br />

Option »help Commandlet ‐detailed«, die<br />

mehr Informationen liefert. Die Kombination<br />

»help Commandlet ‐examples« listet<br />

Beispiele für einen Befehl auf. Auch<br />

das funktioniert für alle Befehle in der<br />

Verwaltungsshell. Mit »get‐Commandlet«<br />

lassen Sie sich Informationen zu Objekten<br />

anzeigen. Die Option »|fl« formatiert<br />

die Ausgabe. Wollen Sie aber nicht alle<br />

Informationen, sondern nur einzelne Parameter<br />

anzeigen, können Sie diese nach<br />

der Option »|fl« anordnen.<br />

Wollen Sie etwa für das Postfach »user@<br />

contoso.com« nur den Displaynamen, die<br />

Datenbank, das Alias <strong>und</strong> die OU anzeigen,<br />

verwenden Sie den Befehl:<br />

get‐mailbox user@contoso.com |fl displayU<br />

name, database, alias, organizationalunit<br />

Groß‐ <strong>und</strong> Kleinschreibung spielen für<br />

die Commandlets keine Rolle. Führen<br />

Sie einen Assistenten in der Exchange‐<br />

86 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Powershell<br />

Know-How<br />

Verwaltungskonsole aus, zeigt dieser am<br />

Ende immer den zugehörigen Befehl für<br />

die Powershell an, den Sie kopieren <strong>und</strong><br />

für weitere Aktionen nutzen können (Abbildung<br />

1). Anhand dieser Befehle sehen<br />

Sie auch die Syntax, um zukünftig die<br />

eine oder andere Aufgabe in der Powershell<br />

anstatt in der grafischen Oberfläche<br />

durchzuführen.<br />

Nehmen Sie Änderungen in der Exchange‐Verwaltungskonsole<br />

vor, aktiviert<br />

sich bei jedem Fenster unten links das<br />

Symbol für die Exchange‐Verwaltungsshell<br />

(Abbildung 2). Auch hier sehen Sie<br />

den zugehörigen Befehl. Diese Funktion<br />

ist neu in Exchange <strong>Server</strong> 2010.<br />

Mitgeschnitten<br />

Verwaltungskonsole auf [F5] klicken,<br />

damit der Status der Datenbank<br />

wieder als bereitgestellt<br />

angezeigt wird.<br />

Eine weitere Funktion der Exchange‐Verwaltungsshell<br />

ist das<br />

Auslesen der Postfächer innerhalb<br />

einer Postfachspeicher‐Datenbank.<br />

Geben Sie den Befehl<br />

»get‐mailbox« ein, erhalten Sie<br />

eine Liste aller Postfächer der Organisation.<br />

Sie sehen hier auch,<br />

auf welchem <strong>Server</strong> die einzelnen<br />

Postfächer liegen <strong>und</strong> ob ein<br />

Grenzwert eingetragen ist, der<br />

das Senden verbietet. Über<br />

get‐mailbox | format‐table U<br />

displayname, database<br />

Abbildung 2: Anzeigen der Befehle für die Verwaltungsshell in<br />

der Exchange-Verwaltungskonsole.<br />

Klicken Sie in der Exchange‐Verwaltungskonsole<br />

auf den Menüpunkt »Ansicht«<br />

<strong>und</strong> wählen »Befehlsprotokoll der Exchange‐Verwaltungsshell<br />

anzeigen«, können<br />

Sie im neuen Fenster über »Aktion |<br />

Befehlsprotokollierung starten« ein Protokoll<br />

aktivieren. Nehmen Sie Änderungen<br />

in der Exchange‐Verwaltungskonsole vor,<br />

speichert die Konsole die zugehörigen<br />

Befehle für die Verwaltungsshell.<br />

Sie können in der Powershell auch alle<br />

Exchange‐Datenbanken ausgeben, die<br />

auf den <strong>Server</strong>n Ihrer Organisation angelegt<br />

sind. Geben Sie dazu in der Exchange‐Verwaltungsshell<br />

den Befehl<br />

»get‐mailboxdatabase« ein. Sie erhalten<br />

eine formatierte Liste aller Postfachdatenbanken.<br />

Über den Befehl »dismount‐database«<br />

heben Sie<br />

die Bereitstellung<br />

einer Datenbank<br />

in der Befehlszeile<br />

auf. Sie geben<br />

dazu nur den Namen<br />

der Datenbank<br />

an.<br />

Ändern Sie den<br />

Befehl »dismount<br />

‐database« in<br />

»mount‐database«<br />

ab, damit die Datenbank<br />

wieder<br />

bereitgestellt wird.<br />

Sie erhalten bei<br />

der Bereitstellung<br />

keine weitere Meldung,<br />

können aber<br />

in der Exchange‐<br />

können Sie sich die Postfächer sortiert<br />

nach Postfachdatenbank <strong>und</strong> Anzeigenamen<br />

anzeigen lassen.<br />

Über den Befehl »move‐mailbox« konnte<br />

man <strong>unter</strong> Exchange <strong>Server</strong> 2007 Postfächer<br />

auch in der Exchange‐Verwaltungsshell<br />

zwischen Postfachspeicher‐Datenbanken<br />

verschieben. In Exchange <strong>Server</strong><br />

2010 gibt es hierfür jetzt die Commandlets<br />

»New‐Move Request«, »Get‐Move‐<br />

Request«, »Remove‐Move Request«.<br />

Administratoren können außerdem den<br />

Befehl<br />

get‐mailbox ‐database Mailbox | move‐mailbox U<br />

‐targetdatabase Mailbox Database<br />

verwenden, um Postfächer aus der Postfachdatenbank<br />

»Mailbox« in die Post‐<br />

Abbildung 1: In der Exchange-Verwaltungskonsole sehen Sie am Ende des<br />

Assistenten immer den zugehörigen Befehl für die Exchange-Verwaltungsshell.<br />

fachdatenbank »Mailbox Database« zu<br />

verschieben. Sie müssen das Verschieben<br />

noch bestätigen, danach beginnt der<br />

Exchange‐<strong>Server</strong> mit dem Vorgang. Mit<br />

dem Befehl<br />

get‐mailbox ‐database Mailbox | move‐U<br />

mailbox ‐targetdatabase Mailbox Database U<br />

‐validateonly<br />

verschiebt Exchange keine Postfächer,<br />

sondern überprüft nur, ob ein Verschieben<br />

möglich ist, <strong>und</strong> gibt ausführliche<br />

Informationen aus, welche Optionen<br />

durchgeführt würden, käme die Option<br />

»‐validateonly« nicht zum Zuge.<br />

Eine weitere Option in diesem Zusammenhang<br />

ist »‐whatif«, die ähnlich funktioniert<br />

wie »‐validateonly«, aber weniger<br />

Informationen ausgibt. Unabhängig<br />

davon, welche Optionen Sie verwenden,<br />

erhalten Sie ausführliche Informationen,<br />

was Exchange durchführen würde oder<br />

getan hat. Sie haben also die Möglichkeit,<br />

jene Daten, die Get‐Commandlets auslesen,<br />

direkt an verarbeitende Commandlets<br />

umzuleiten.<br />

Über die Exchange‐Verwaltungsshell können<br />

Sie nicht nur auf Attribute innerhalb<br />

von Exchange zugreifen, sondern auch<br />

direkt auf das Active Directory. Sie erstellen<br />

Gruppen, konfigurieren Gruppenmitgliedschaften<br />

<strong>und</strong> so weiter. In der<br />

Exchange‐Verwaltungsshell lassen sich<br />

auch Statistiken über die Postfächer in<br />

Ihrer Organisation abrufen. Geben Sie<br />

beispielsweise den Befehl »get‐mailboxstatistics«<br />

ein, erhalten Sie ausführliche<br />

Informationen über die einzelnen Post‐<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

87


Know-How<br />

Powershell<br />

Sie können die XML‐Datei an einen beliebigen<br />

Ort kopieren <strong>und</strong> an Ihre Bedürfnisse<br />

anpassen. Microsoft empfiehlt<br />

für die Bearbeitung der XML‐Dateien die<br />

Verwendung des Editors.<br />

Wollen Sie zum Beispiel den Produktschlüssel<br />

in die XML‐Datei integrieren,<br />

setzen Sie noch den Pfad » .\SP2010cmdlets.txt<br />

Die oben beschriebenen Möglichkeiten<br />

zum Anzeigen der Hilfe <strong>und</strong> der Syntax<br />

sind auch in der Sharepoint‐Verwaltungsshell<br />

gültig. Die Lösungen der Farm zeigen<br />

Sie mit »Get‐SPSolution« an, neue<br />

installieren Sie mit »Add‐SPSolution<br />

WSP‐Datei«. Features zeigt die Shell mit<br />

»Get‐SPFeature« an.<br />

Statt der herkömmlichen Installation<br />

von Sharepoint <strong>Server</strong> 2010 können Sie<br />

die Installation auch vollständig in der<br />

Power shell durchführen. Dazu benötigen<br />

Sie die Powershell‐Erweiterung aus dem<br />

Archiv »SPModule.zip«. Hierbei handelt<br />

es sich um eine Erweiterung mit zusätz‐<br />

lichen Befehlen für Sharepoint. Dieses<br />

Paket stellen die Sharepoint‐Entwickler<br />

auf der Seite [1] zur Verfügung. Laden<br />

Sie sich die Zip‐Datei her<strong>unter</strong> <strong>und</strong> entpacken<br />

Sie das Archiv. Anschließend finden<br />

Sie innerhalb des Ordners die beiden Unterordner<br />

»SPModule.misc« <strong>und</strong> »SPModule.setup«.<br />

In diesen Ordnern befinden<br />

sich die notwendigen Skripte für die Installation<br />

über die Powershell.<br />

Im nächsten Schritt konfigurieren Sie die<br />

Power shell so, dass sie die Skripte von<br />

Sharepoint verwenden kann. Dazu fügen<br />

Sie den Ordner, in dem sich die beiden<br />

Verzeichnisse »SPModule.misc« <strong>und</strong> »SP‐<br />

Module.setup« befinden, zum Eingabepfad<br />

der Powershell hinzu. Machen Sie<br />

das nicht, müssen Sie jeden Befehl aus<br />

den beiden Verzeichnissen inklusive des<br />

Pfads in der Powershell eingeben.<br />

Die aktuellen Pfade, aus denen die Powershell<br />

Befehle entgegennimmt, können Sie<br />

sich mit den Befehl »$env:PSModulePath«<br />

anzeigen lassen. Mit dem folgenden Befehl<br />

erweitern Sie den Pfad:<br />

$env:PSModulePath = $env:PSModulePath + U<br />

Neuer‐Pfad<br />

Die einfachste Lösung ist es aber, die<br />

beiden Ordner »SPModule.misc« <strong>und</strong> »SP‐<br />

Module.setup« direkt ins Verzeichnis<br />

»C:\Windows\System32\WindowsPowershell\v1.0\Modules«<br />

zu kopieren. In diesem<br />

Pfad liegen auch die anderen Module<br />

der Powershell. Sollen die Sharepoint‐<br />

Befehle nur für den aktuellen Benutzer<br />

verwendbar sein, kopieren Sie die Ordner<br />

in das Verzeichnis C»:\Users\\Documents\Windows‐Powershell<br />

\Modules«.<br />

Nachdem Sie die Module zum Pfad hinzugefügt<br />

oder reinkopiert haben, müssen<br />

Sie noch die Befehle zur Powershell hinzufügen.<br />

Die Skripte für Sharepoint sind<br />

allerdings nicht signiert, sodass die Shell<br />

eine Fehlermeldung ausgibt, wenn Sie die<br />

Befehle laden wollen.<br />

Standardmäßig blockiert die Windows‐<br />

Powershell nicht signierte Skripte über<br />

die Ausführungsrichtlinie. Sie können<br />

Abbildung 3: Konfigurieren der Powershell für die Unterstützung von Sharepoint <strong>Server</strong> 2010.<br />

die Ausführungsrichtlinie mit dem Commandlet<br />

»Set‐ExecutionPolicy« ändern<br />

<strong>und</strong> mit »get‐executionpolicy« anzeigen.<br />

Die Ausführungsrichtlinie speichert ihre<br />

Daten in der Windows‐Registrierung. Folgende<br />

Einstellungen sind möglich:<br />

n »Restricted«: Die Standardeinstellung,<br />

Skripte sind nicht erlaubt, Sharepoint‐<br />

Skripte funktionieren nicht.<br />

n »AllSigned«: Nur signierte Skripte erlaubt.<br />

Auch hier funktionieren keine<br />

Sharepoint‐Skripte, da diese nicht signiert<br />

sind.<br />

n »RemoteSigned«: Bei dieser Einstellung<br />

müssen Sie Skripte über eine<br />

Zertifizierungsstelle signieren.<br />

n »Unrestricted«: Mit dieser Einstellung<br />

funktionieren auch die Sharepoint‐<br />

Skripte.<br />

Nach der Eingabe von »Set‐Execution‐<br />

Policy unrestricted« müssen Sie die Ausführung<br />

noch bestätigen. Danach laden<br />

Sie mit »Import‐Module SPModule.misc«<br />

die erste Erweiterung in die Powershell<br />

(Abbildung 3).<br />

Als Nächstes laden Sie noch die notwendigen<br />

Befehle für die Installation<br />

mit »Import‐Module SPModule.setup«.<br />

Wollen Sie Sharepoint <strong>Server</strong> 2010 remote<br />

über die Powershell installieren,<br />

hilft der Artikel [2] weiter, der zahlreiche<br />

Informationen zu diesem Thema enthält.<br />

Wichtige Befehle während der Installation<br />

von Sharepoint <strong>Server</strong> 2010 über die<br />

Powershell sind die drei Commandlets<br />

»install‐sharepoint«, »new‐sharepointfarm«<br />

<strong>und</strong> »join‐shrepointfarm«.<br />

Damit Sie die Installation über die Powershell<br />

durchführen können, benötigen Sie<br />

entsprechende XML‐Antwortdateien.<br />

Diese befinden sich auf der Sharepoint‐<br />

<strong>Server</strong>‐2010‐DVD im Verzeichnis »\Files«.<br />

Über diese Antwortdateien können Sie<br />

Sharepoint automatisiert installieren <strong>und</strong><br />

konfigurieren. Die Installation starten Sie<br />

dann mit:<br />

Install‐SharePoint ‐SetupExePath Setup.U<br />

exe ‐ConfigXmlPath XML‐Datei<br />

88 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Powershell<br />

Know-How<br />

Abbildung 4: Verwenden der Sharepoint 2010 Powershell Scripts & Utilities.<br />

KEY Value="Produktschlüssel" />« in<br />

die Datei ein. Wollen Sie die Installation<br />

ohne eine XML‐Datei über die Powershell<br />

durchführen, können Sie die Option des<br />

<strong>Server</strong>s auch direkt mit dem Commandlet<br />

»Install‐SharePoint« steuern.<br />

Für einen eigenständigen <strong>Server</strong> lautet<br />

der Aufruf:<br />

Install‐SharePoint ‐SetupExePath Setup.exe U<br />

‐PIDKey "Produktschlüssel" ‐<strong>Server</strong>Role U<br />

"SINGLESERVER"<br />

Für einen Farm‐<strong>Server</strong> sieht der Befehl<br />

folgendermaßen aus:<br />

Install‐SharePoint ‐SetupExePath Setup.exe<br />

‐PIDKey "Produktschlüssel"<br />

Die Option »‐PIDKey« funktioniert mit<br />

den Möglichkeiten der XML‐Dateien<br />

oder durch direkte Eingabe des <strong>Server</strong>typs.<br />

Von [3] lassen sich die kostenlosen<br />

Sharepoint 2010 Powershell Scripts<br />

& Utilities her<strong>unter</strong>laden (Abbildung<br />

4). Diese können Sie als Modul in die<br />

Power shell laden <strong>und</strong> Installationspakete<br />

erzeugen beziehungsweise die Voraussetzungen<br />

von Sharepoint 2010 installieren.<br />

Die Tools erweitert die Powershell um<br />

zusätzliche Commandlets.<br />

Mit »Get‐SPPrerequisites« ist es möglich,<br />

die Voraussetzungen in der Powershell<br />

installieren zu lassen. Dazu muss der<br />

<strong>Server</strong> Verbindung mit dem Internet<br />

haben. »New‐SPInstallPackage« kann<br />

Installationspakete <strong>und</strong> Antwortdateien<br />

erstellen sowie Batchdateien, mit denen<br />

Sie Sharepoint 2010 automatisiert installieren.<br />

»Install‐SPIFilter« installiert I‐Filter<br />

von Drittherstellern <strong>und</strong> konfiguriert die<br />

Suche entsprechend. Sie finden auf der<br />

Seite auch entsprechende Anleitungen zu<br />

den Tools.<br />

Kopieren Sie zur Installation zunächst<br />

die Moduldatei »SPInstallUtils« in ein<br />

Verzeichnis auf dem <strong>Server</strong>. Um die Befehle<br />

zu nutzen, müssen Sie das Modul<br />

zunächst mit »import‐module Pfad« in<br />

die Powershell laden. Für alle Tools gibt<br />

es auch eine Hilfe.<br />

Neben der Möglichkeit, notwendige<br />

<strong>Server</strong>rollen über die Powershell zu installieren<br />

<strong>und</strong> Sharepoint <strong>Server</strong> 2010<br />

ebenfalls über Powershell‐Erweiterungen<br />

auf <strong>Server</strong>n bereitzustellen, haben Sie<br />

auch die Möglichkeit, den Konfigurationsassistenten<br />

für Sharepoint‐Produkte<br />

über die Powershell auszuführen. Wollen<br />

Sie eine neue <strong>Server</strong>farm erstellen,<br />

verwenden Sie dazu das Commandlet<br />

»New‐SharePointFarm«. Lassen Sie die<br />

Option »‐FarmName« weg, erstellen Sie<br />

eine eigenständige Installation. Mit dem<br />

Commandlet »Join‐SharePointFarm« treten<br />

Sie einer <strong>Server</strong>farm bei.<br />

Mit dem Commandlet »New‐SPWebApplication«<br />

erstellen Sie neue Webanwendungen<br />

in der Powershell. Die Syntax für die<br />

Befehle listet Tabelle 1 auf. Neue Website‐Sammlungen<br />

erstellen Sie mit dem<br />

Commandlet »New‐SPSite«, die Syntax<br />

für den Befehl ist »New‐SPSite«.<br />

Die Standarddienste für Sharepoint installieren<br />

Sie mit dem Commandlet<br />

»Install‐SPService«. Wollen Sie alle verfügbaren<br />

Sharepoint‐Features installieren,<br />

verwenden Sie das Commandlet<br />

»Install‐SPFeature ‐AllExistingFeatures«.<br />

Der Befehl »Get‐SPFarm | select <strong>Server</strong>s«<br />

zeigt alle <strong>Server</strong> in der Farm an.<br />

Fazit<br />

Mit den vorgestellten Erweiterungen für<br />

Exchange <strong>und</strong> den Small Business <strong>Server</strong><br />

können Windows‐Administratoren<br />

maximalen Nutzen aus den Fähigkeiten<br />

der Powershell ziehen. So wird aus dem<br />

oft verschmähten <strong>Server</strong> mit Klickibunti‐<br />

Interface ein Werkzeug, das den Vergleich<br />

mit der Unix‐Commandline nicht<br />

zu scheuen braucht. (ofr)<br />

n<br />

Infos<br />

[1] Sharepoint-Deployment-Modul: [http://<br />

go. microsoft. com/ fwlink/ ? linkid=187924&<br />

clcid=0x407]<br />

[2] Anleitung zur Remote-Installation von<br />

Sharepoint: [http:// go. microsoft. com/<br />

fwlink/ ? LinkId=187923]<br />

[3] Sharepoint 2010 Powershell Scripts & Utilities:<br />

[http:// pssp2010utils. codeplex. com]<br />

Tabelle 1: installationsoptionen<br />

Funktion<br />

Aufruf<br />

<strong>Server</strong>farm<br />

»New-SharePointFarm -Database<strong>Server</strong> DB-<strong>Server</strong> -DatabaseAccessAccount Benutzername -FarmName Name der<br />

Farm«<br />

<strong>Server</strong>farm mit Get-Credentials »New-SharePointFarm -DatabaseAccessAccount (Get-Credential Domäne\Benutzername) -Database<strong>Server</strong> Name<br />

-FarmName Name der Farm«<br />

Eigenständige Installation »New-SharePointFarm -Database<strong>Server</strong> DB-<strong>Server</strong> -DatabaseAccessAccount Benutzername«<br />

Einer Farm beitreten<br />

»Join-SharePointFarm -Database<strong>Server</strong> DB-<strong>Server</strong> -DatabaseName Datenbank -Passphrase Passphrase der Farm«<br />

Neue Webanwendung<br />

»New-SPWebApplication -Name Name -ApplicationPoolAccount (Get-SPManagedAccount Domäne\Benutzername«<br />

Neue Website-Sammlung »New-SPSite URL -OwnerAlias Domäne\Benutzername«<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

89


LINUX-MAGAZIN –<br />

das <strong>Magazin</strong> für den<br />

MAGAZIN<br />

• die Fachzeitschrift für Profis aus der IT-Branche<br />

• Know-How für Programmierer, Netzwerker <strong>und</strong><br />

Manager sowie Systemintegratoren <strong>und</strong> Consultants<br />

• Hintergr<strong>und</strong>wissen zu Software, Hardware, Netzwerk,<br />

Administration <strong>und</strong> Entwicklung<br />

JETZT<br />

MIT DVD!<br />

Linux-<strong>Magazin</strong> MINI-ABO<br />

Lernen Sie das Linux-<strong>Magazin</strong> kennen!<br />

Lesen Sie 3 Ausgaben für nur 3 Euro!<br />

Jetzt MINI-ABO bestellen:<br />

www.linux-magazin.de/miniabo<br />

SONDERAKTION<br />

Testen Sie jetzt<br />

3 Ausgaben<br />

für 3 Euro!<br />

Linux-<strong>Magazin</strong> Studenten-Abo<br />

Profiwissen fürs Studium mit 20% Rabatt<br />

www.linux-magazin.de/studentenabo


professionellen Einsatz<br />

MAGAZIN<br />

ONLINE<br />

www.linux-magazin.de<br />

• ist das Internetportal<br />

von Europas renommiertester<br />

Linux-<br />

Zeitschrift.<br />

• informiert über<br />

Business-Aspekte<br />

r<strong>und</strong> um OpenSource<br />

• Profiwissen kompetent<br />

<strong>und</strong> wegweisend<br />

Linux-<strong>Magazin</strong> Newsletter<br />

Lesen Sie täglich Hintergr<strong>und</strong>wissen von <strong>und</strong> für<br />

professionelle Linux Anwender!<br />

Abonnieren Sie hier: www.linux-magazin.de/newsletter<br />

So können Sie das Linux-<strong>Magazin</strong> bestellen:<br />

• Telefon 089 / 2095 9127<br />

• Fax 089 / 2002 8115<br />

• E-Mail: abo@linux-magazin.de<br />

• Web: http://www.linux-magazin.de/abo<br />

• Shop: Shop.LinuxNewMedia.de<br />

Miniabo-Gewinnspiel: Outdoor IP-Kamera<br />

Infos <strong>unter</strong>: www.linux-magazin.de/miniabo<br />

ABOVORTEILE<br />

• Preisvorteil gegenüber Kioskkauf<br />

• kostenlose & sichere Zustellung<br />

• Zustellung vor dem offiziellen<br />

Verkaufstermin


KnoW-HoW<br />

MySQL Workbench<br />

Datenbanken mit MySQL Workbench planen<br />

Tabellendschungel<br />

lichten<br />

Iakov Kalinin, 123RF<br />

Kleine datenbanken planen Sie leicht auf Papier. Sobald die Strukturen aber komplexer ausfallen, hilft MySQL<br />

Workbench dabei, die Übersicht zu behalten. Falko benthin<br />

In Zeiten des Web 2.0 kommen nur noch<br />

wenige Anwendungen ohne Datenbank<br />

aus. Je komplexer die Projekte, desto aufwändiger,<br />

zeitraubender, unübersichtlicher<br />

<strong>und</strong> fehleranfälliger fallen die Strukturen<br />

der dazu passenden Datenbanken<br />

aus. Das wissen auch die Softwarehersteller<br />

– <strong>und</strong> so tummeln sich auf dem<br />

Markt viele Werkzeuge, um eine Datenbank<br />

visuell zu planen <strong>und</strong> anschließend<br />

zu generieren.<br />

Unter Linux fällt das Angebot derartiger<br />

Anwendungen sehr übersichtlich aus.<br />

Hier haben Entwickler die Wahl zwischen<br />

kommerziellen oder kostenlosen Applikationen,<br />

wobei letztere meist von den<br />

Herstellern der Datenbanken stammen.<br />

Während die kommerziellen Tools in der<br />

Regel mehrere Datenbanken <strong>unter</strong>stützen,<br />

beschränken sich die Anwendungen<br />

der jeweiligen Datenbankanbieter oft auf<br />

ihr Produkt. MySQL Workbench [1] gehört<br />

zu diesen Werkzeugen.<br />

Da MySQL zu den am häufigsten eingesetzten<br />

Datenbankmanagementsystemen<br />

(DBMS) zählt, kam im Test die<br />

stabile Version 5.1 des Werkzeugs auf<br />

den Prüfstand. Die Software steht für<br />

viele Betriebssysteme bereit, basiert auf<br />

Erfahrungen <strong>und</strong> Feedback zum Datenmodellierer<br />

DBDesigner 4 [2] <strong>und</strong> steht<br />

<strong>unter</strong> der GPLv2.<br />

Community oder Kosten<br />

MySQL Workbench gibt es in einer<br />

Community- <strong>und</strong> einer Standardversion.<br />

Letztere <strong>unter</strong>scheidet sich von der<br />

Community-Variante dadurch, dass sie<br />

79 Euro jährlich kostet, das Prüfen von<br />

Datenbankschema <strong>und</strong> Datenbankmodell<br />

übernimmt <strong>und</strong> die Dokumentation der<br />

Datenbank anbietet.<br />

Die Community-Version bringt bereits<br />

einen reichen Funktionsumfang mit. Mit<br />

installation<br />

Für Ubuntu <strong>und</strong> Fedora stehen Binärpakete von<br />

MySQL Workbench bereit [5]. Mit etwas Glück<br />

finden Sie die Software auch im Repository von<br />

anderen Distribution oder bei Drittanbietern.<br />

Für Debian hat beispielsweise Norbert Tretkowski<br />

ein Workbench‐Paket [6] geschnürt.<br />

Falls Sie bestimmte Modifikationen dringend<br />

brauchen, dann holen Sie den Quellcode des<br />

Tools, entpacken das gezippte Tar‐Archiv, wechseln<br />

in das neu entstandene Verzeichnis <strong>und</strong><br />

werfen am besten erst einmal einen Blick in die<br />

ihr können Administratoren <strong>und</strong> Entwickler<br />

Tabellen, Views, Indexe, Stored<br />

Procedures <strong>und</strong> Trigger planen, die Schemas<br />

vorhandener Datenbanken einlesen<br />

<strong>und</strong> so visualisieren („Reverse Engineering“),<br />

Schema-Synchronisierungen an<br />

bestehenden Datenbanken vornehmen<br />

(„Change Management“) sowie Modelldiagramme<br />

exportieren <strong>und</strong> ausdrucken.<br />

Bei MySQL Workbench handelt es sich<br />

um eine reine Datenbank-Design-Software,<br />

die sich nicht zum Abfragen oder<br />

Ändern von Datensätzen eignet. Dafür<br />

bietet Sun den MySQL Query Browser.<br />

Haben Sie MySQL Workbench installiert<br />

(siehe Kasten „Installation“), starten<br />

Datei »README«. Dort finden Sie Informationen<br />

zu den Abhängigkeiten der Software. Anschließend<br />

übersetzen Sie die Software mit »./autogen.sh<br />

‐‐prefix=Pfad« <strong>und</strong> »make ‐j3 install« in<br />

einem Terminal.<br />

Den »Pfad« ersetzen Sie durch den Namen desjenigen<br />

Verzeichnisses, in dem Sie die Software<br />

installieren möchten. Das eigentliche Übersetzen<br />

dauerte im Test zwar relativ lange, lief aber<br />

dank korrekter Voraussetzungen letztendlich<br />

problemlos durch.<br />

92 AuSgAbe 01-2011 AdMin WWW.AdMin-MAgAzin.de


MySQL Workbench<br />

KnoW-HoW<br />

Abbildung 1: Nach dem Start präsentiert MySQL Workbench einen aufgeräumten Arbeitsbereich.<br />

Sie die Applikation mittels »mysql-workbench«<br />

auf der Kommandozeile (Abbildung<br />

1). In der Übersicht erstellen Sie<br />

neue Datenbankmodelle entweder visuell<br />

über EER-Diagramme (Erweitertes Entitäten-Relationen-Diagramm)<br />

oder über die<br />

Eingabe eines Schemas. Die visuelle Methode<br />

fällt vielen Anwendern leichter, daher<br />

kam sie auch im Test zum Einsatz.<br />

Aufgr<strong>und</strong> des intuitiven Bedienkonzepts<br />

bedarf es keiner großen Einarbeitungszeit.<br />

Die Arbeitsfläche hat klar umrissene<br />

Bereiche: Links befindet sich eine<br />

Werkzeugleiste für die am häufigsten<br />

gebrauchten Arbeitsschritte, rechts liegen<br />

der Navigator (der sich bei großen<br />

Datenbanken als hilfreich erweist), der<br />

Katalog (über den Sie Tabellen, Views<br />

<strong>und</strong> Prozeduren gezielt ansteuern) sowie<br />

eine Infobox. Im <strong>unter</strong>en Bereich der Applikation<br />

finden Sie, sobald Sie Objekte<br />

erstellt oder geöffnet haben, die jeweiligen<br />

Objekt-Editoren. Mit diesen bearbeiten<br />

Sie die Eigenschaften der Objekte. Als<br />

Beispiel richten wir im Folgenden eine<br />

einfache Kontaktdatenbank mit Verleihübersicht<br />

ein.<br />

Als erstes erstellen Sie dazu die Tabelle<br />

»Personen«, die neben Vor- <strong>und</strong> Nachnamen<br />

auch eine Spalte (Attribut) mit<br />

Integer-Werten enthält, die den so genannten<br />

Primärschlüssel aufnimmt. Um<br />

die Tabelle zu erstellen, nutzen Sie das<br />

entsprechende Icon im rechten Fenster-<br />

bereich oder drücken [T]. Sobald Sie die<br />

Tabelle platziert haben, legen Sie über die<br />

Reiter im Tabelleneditor den Namen der<br />

Tabelle, die Spaltennamen <strong>und</strong> -typen,<br />

alle Fremdschlüssel, Trigger sowie die<br />

Aufteilung (Partitionen) fest.<br />

Unter jedem Punkt öffnen sich weitere<br />

Dialoge, etwa um Datentypen, Bedingungen,<br />

Primärschlüssel oder die Optionen<br />

beim Einsatz von Fremdschlüsseln festzulegen.<br />

Auf dem Arbeitsblatt zeigt die<br />

Software dann die Attribute <strong>unter</strong>halb<br />

des Tabellennamens als Liste an. Vor<br />

jedem Attribut finden Sie ein farbiges<br />

Symbol, anhand dessen Sie auf einen<br />

Blick sehen, um was für ein Attribut es<br />

sich handelt. Ein Schlüsselsymbol zeigt<br />

beispielsweise einen Primärschlüssel an.<br />

Im Test aktualisierten sich die Markierungen<br />

beim nachträglichen Ändern der<br />

Spalten allerdings immer erst recht spät,<br />

sodass Sie im Zweifelsfall einen Blick in<br />

den Tabelleneditor werfen sollten.<br />

Fremdschlüssel <strong>und</strong> Layer<br />

Nachdem Sie die erste Tabelle erstellt<br />

haben, legen Sie weitere Tabellen an<br />

<strong>und</strong> beginnen damit, Fremdschlüsselbeziehungen<br />

zu definieren. Diese zeigen<br />

Beziehungen zwischen den Feldern verschiedener<br />

Tabellen an. Sie erstellen sie<br />

entweder über die Werkzeugleiste oder<br />

den Tabelleneditor. Da das Programm<br />

beim Erstellen von Fremdschlüsseln<br />

über die Werkzeugleiste im Test recht<br />

eigenwillig agierte, empfiehlt es sich, den<br />

Editor zu verwenden. Dazu wechseln Sie<br />

zum Reiter »Foreign Keys« <strong>und</strong> generieren<br />

einen neuen Fremdschlüssel, der auf die<br />

erste Tabelle zeigt.<br />

Um das zu bewerkstelligen, reicht ein<br />

Mausklick in das entsprechende Feld:<br />

MySQL Workbench schlägt einen Namen<br />

für den Fremdschlüssel vor <strong>und</strong> zeigt eine<br />

Abbildung 2: Fremdschlüssel lassen sich am einfachsten über den Tabelleneditor definieren.<br />

WWW.AdMin-MAgAzin.de<br />

AdMin<br />

AuSgAbe 01-2011<br />

93


KnoW-HoW<br />

MySQL Workbench<br />

Abbildung 3: Layer helfen dabei, in umfangreichen Projekten die Übersicht zu bewahren.<br />

Auswahlliste mit allen Tabellen in der<br />

Datenbank an. Im Bereich neben den Namen<br />

der Fremdschlüssel <strong>und</strong> referenzierten<br />

Tabellen blendet die Software mögliche<br />

Kandidaten ein. Dabei berücksichtigt<br />

das Programm nur Felder mit plausiblen<br />

Datentypen (Abbildung 2). Rechts im<br />

Dialog legen Sie fest, wie die Datenbank<br />

im Falle eines Updates auf die Daten oder<br />

beim Löschen von betroffenen Einträgen<br />

verfährt.<br />

Relationstypen<br />

In der Regel legt Workbench nur Beziehungen<br />

an (so genannte Relationen), die<br />

zu den Datentypen passen. So könnte<br />

beispielsweise ein Personendatensatz<br />

auf mehrere Adressdatensätze <strong>und</strong> viele<br />

Telefonnummern zeigen. In diesem Fall<br />

handelt es sich um eine One-to-many-<br />

Relation, bei der ein Datensatz auf mehrere<br />

zeigt. Stimmt die Art der Relation<br />

einmal nicht, hilft ein Rechtsklick auf<br />

die Beziehung, um den Relationeneditor<br />

aufzurufen <strong>und</strong> dort Änderungen vorzunehmen.<br />

Enthält eine Tabelle mehrere<br />

Fremdschlüssel, markiert die Software<br />

diese in <strong>unter</strong>schiedlichen Farben, sobald<br />

Sie den Mauszeiger darüber bewegen.<br />

Um bei umfangreichen Datenbanken zusammenhängende<br />

Bereiche im Blick zu<br />

behalten, bietet MySQL Workbench Ebenen<br />

(„Layer“) als Hilfsmittel an. Diese<br />

erlauben es, mehrere Tabellen farblich<br />

zu hinterlegen <strong>und</strong> so optisch zu einer<br />

Einheit zusammenzufassen. Um Ebenen<br />

zu nutzen, gehen Sie entweder über die<br />

Toolbar oder drücken [L] <strong>und</strong> ziehen<br />

den Mauszeiger über alle Objekte, die<br />

in der Ebene enthalten sein sollen (Abbildung<br />

3).<br />

Auch Ansichten, die bereits erwähnten<br />

Views, legen Sie bei Bedarf ähnlich wie<br />

Tabellen im EER-Diagramm an. Dagegen<br />

konstruieren Sie Prozeduren <strong>und</strong> Funktionen<br />

(Stored Procedures <strong>und</strong> Functions)<br />

nicht im Diagramm, sondern im physischen<br />

Schema. In MySQL Workbench<br />

heißen gespeicherte Prozeduren <strong>und</strong><br />

Funktionen auch Routinen. Im vorliegenden<br />

Beispiel kommt eine kleine Prozedur<br />

zum Einsatz, die ermittelt, wie viele Gegenstände<br />

derzeit verliehen sind.<br />

Dazu wechseln Sie vom EER-Diagramm<br />

zum MySQL-Modell <strong>und</strong> klicken hier auf<br />

»Add Routine« im Bereich »Routines«. Im<br />

<strong>unter</strong>en Fensterbereich öffnet sich der<br />

Editor für Routinen, mit dem Sie Ihre<br />

Prozedur schreiben (Abbildung 4). Das<br />

EER-Diagramm zeigt lediglich Gruppen<br />

von Routinen an. Dazu erstellen Sie ähnlich<br />

der Routine eine Gruppe, <strong>und</strong> ziehen<br />

hinterher die gewünschten Routinen<br />

per Drag-and-Drop in den Routine Group<br />

Editor.<br />

Reverse Engineering<br />

Haben Sie das Modell fertig geplant,<br />

übertragen Sie es entweder direkt an einen<br />

Datenbank-<strong>Server</strong> oder in eine Datei<br />

(„Forward Engineering“). Um das zu tun,<br />

verwenden Sie den Menüpunkt »File |<br />

Export | Forward Engineer | Create SQL<br />

Script« ([Umschalt]+[Strg]+[G]), geben<br />

einen Dateinamen an (ohne Dateinamen<br />

zeigt die Applikation das Skript nur an,<br />

speichert es aber nicht) <strong>und</strong> markieren<br />

gegebenenfalls die gewünschten Optionen.<br />

Im zweiten Schritt fragt die Software<br />

ab, welche Objekte Sie in den Export<br />

einbeziehen möchten (Abbildung 5),<br />

um letztendlich das ersehnte Skript zu<br />

erzeugen.<br />

Möchten Sie das Modell direkt an einen<br />

Datenbank-<strong>Server</strong> übertragen, geben Sie<br />

vorab <strong>unter</strong> »Database | Manage Connections«<br />

die nötigen Parameter zum Verbin-<br />

Abbildung 4: Für das Schreiben von Prozeduren <strong>und</strong> Funktionen bietet die MySQL Workbench keine visuelle<br />

Unterstützung.<br />

94 AuS gA be 01-2011 AdM in WWW. A d M in-MAgA zin.de


MySQL Workbench<br />

KnoW-HoW<br />

den mit dem <strong>Server</strong> an. Um das frisch<br />

entworfene Schema gleich an den <strong>Server</strong><br />

zu schicken, nutzen Sie nun den Eintrag<br />

»Forward Engineering« <strong>unter</strong> »Database«.<br />

Hier genügt es, sich Schritt für Schritt<br />

durchzuklicken, <strong>und</strong> schon landet die<br />

Datenbank am gewünschten Ort.<br />

Ähnlich geschwind lesen Sie bereits vorhandene<br />

Datenbankmodelle ein („Reverse<br />

Engineering“). Sie importieren das<br />

Modell entweder über ein SQL-Skript<br />

oder von einem laufenden Datenbankserver.<br />

Für letztere Methode existiert ein<br />

Wizard <strong>unter</strong> dem Menüpunkt »Databases«.<br />

Hier fragt das Programm neben den<br />

Verbindungsdaten noch das gewünschte<br />

Schema ab. Enthält ein Schema mehr als<br />

15 Tabellen, gerät die Hauptansicht leicht<br />

unübersichtlich: Die im Test importierten<br />

145 Tabellen eines Krankenhausinformationssystems<br />

überlagerten sich so stark,<br />

dass eine große Aufräumaktion erforderlich<br />

war (Abbildung 6).<br />

Über Forward <strong>und</strong> Reverse Engineering<br />

hinaus lässt sich die Workbench auch<br />

dazu verwenden, die Schemata vorhandener<br />

Datenbanken zu ändern <strong>und</strong> dann<br />

zu synchronisieren (»Database | Synchronize<br />

Model« oder »File | Export | Synchronize<br />

with SQL | Create Script«).<br />

Fazit<br />

MySQL Workbench bietet einige Features,<br />

die beim Planen umfangreicher Datenbanken<br />

helfen. Allerdings erwies sich die<br />

Software als recht ressourcenhungrig <strong>und</strong><br />

lief auf dem etwas betagteren Testrechner<br />

(Pentium 4 2,5 GHz, 1 GByte RAM)<br />

Abbildung 5: Mit wenigen Klicks stellen Sie zusammen, was MySQL Workbench in die Skripte einbezieht.<br />

mit<strong>unter</strong> etwas zäh. Zudem stürzte das<br />

Programm im Test mehr als einmal ab –<br />

hier wäre eine Funktion wünschenswert,<br />

die die Arbeit in vorgegebenen Zeitintervallen<br />

automatisch sichert.<br />

Zum Planen von Datenbanken anderer<br />

DBMS eignet sich MySQL Workbench<br />

nur bedingt. Wer so etwas braucht,<br />

sollte vielleicht doch über ein anderes<br />

Werkzeug nachdenken, wie zum Beispiel<br />

Database Visual Architect [3], Sybase<br />

Powerdesigner [4] oder den nicht<br />

mehr ganz frischen DB Designer 4 [2].<br />

Wer allerdings viel mit dem Design von<br />

MySQL-Datenbanken zu tun hat <strong>und</strong> ein<br />

kostenloses Hilfsmittel sucht, der ist mit<br />

der vorliegenden Software gut bedient.<br />

Sie wartet mit einem reichhaltigen Funktionsumfang<br />

auf, die Datenbankenentwicklern<br />

<strong>und</strong> -administratoren das Leben<br />

erleichtern.<br />

Die eben erschienene Version 5.2 <strong>unter</strong>stützt<br />

über das Planen von Datenbankmodellen<br />

hinaus auch Abfragen an den<br />

<strong>Server</strong> <strong>und</strong> administrative Tätigkeiten.<br />

Dafür haben die Entwickler Teile von<br />

MySQL Query Browser <strong>und</strong> MySQL Administrator<br />

integriert. (agr/ ofr) n<br />

Infos<br />

[1] MySQL Workbench: [http:// www. mysql. de/<br />

products/ workbench/]<br />

[2] DB Designer 4:<br />

[http:// www. fabforce. net/ dbdesigner4/]<br />

[3] Database Visual Architect: [http:// www.<br />

visual‐paradigm. com/ product/ dbva/]<br />

[4] Sybase Powerdesigner:<br />

[http:// www. sybase. com/ products/<br />

modelingdevelopment/ powerdesigner]<br />

[5] MySQL‐Workbench her<strong>unter</strong>laden:<br />

[http:// dev. mysql. com/ downloads/ select.<br />

php? id=8]<br />

[6] MySQL Workbench für Debian „Lenny“:<br />

[http:// tretkowski. de/ blog/ categories/<br />

3‐Debian]<br />

Abbildung 6: Bei vielen importierten Tabellen leidet die Übersicht im EER-Diagramm.<br />

WWW. A d M in-MAgA zin.de<br />

AdM in<br />

AuS gA be 01-2011<br />

95


Know-how<br />

Less-Fs<br />

Amy Walters, 123RF<br />

Das deduplizierende Dateisystem Less-FS<br />

Schrumpfkur<br />

Auf den meisten Festplatten tummeln sich unbemerkt doppelt <strong>und</strong> dreifach gespeicherte daten. diesen überflüssigen<br />

Platzverschwendern geht Less-Fs mit einem ausgefeilten Verfahren an den Kragen. Tim schürmann<br />

Festplatten scheinen im Laufe eines Arbeitslebens<br />

irgendwie zu schrumpfen.<br />

Wo nach dem Kauf noch gähnende Leere<br />

herrschte, liegen plötzlich Abertausende<br />

Dateien. Ironischerweise haben viele sogar<br />

denselben oder zumindest ähnliche<br />

Inhalte. So schluckt jede sicherheitshalber<br />

aufbewahrte Version einer R<strong>und</strong>mail<br />

wertvollen Plattenplatz.<br />

Noch mehr Bytes belegen die regelmäßig<br />

angelegten Backups, ganz zu schweigen<br />

von den drei virtuellen Maschinen mit<br />

den zu Testzwecken aufgesetzten Distributionen.<br />

In diesem Extremfall lungern<br />

auf der Festplatte sogar viermal die<br />

gleichen Systemdateien. Gerade in solchen<br />

Fällen wäre es schön, wenn Linux<br />

identische Daten nur ein einziges Mal<br />

speichern würde.<br />

Das dachte sich Mark Ruijter <strong>und</strong> schuf<br />

das Dateisystem Less-FS. Im Gegensatz<br />

zu herkömmlichen Vertretern wie Ext 4<br />

& Co. schreibt es identische Datenblöcke<br />

nur einmal auf die Festplatte. Nach<br />

außen hin bleibt dabei alles beim Alten:<br />

Kopieren Sie beispielsweise ein Dokument,<br />

sehen Dateimanager wie Dolphin<br />

<strong>und</strong> Nautilus weiterhin zwei Dateien.<br />

Tatsächlich liegt das Original nur einmal<br />

auf der Festplatte.<br />

Platzsparend<br />

Ändern Sie die Kopie, speichert Less-FS<br />

nur die gegenüber dem Original modifizierten<br />

Teile. Da es auf diese Weise Datei-<br />

Duplikate vermeidet, heißt das Vorgehen<br />

auf Englisch Deduplication (Deduplizierung).<br />

Um weiteren Speicherplatz zu<br />

sparen, komprimiert Less-FS schließlich<br />

noch alle tatsächlich gespeicherten Daten.<br />

Das hat den angenehmen Nebeneffekt,<br />

dass Linux große Dateien wesentlich<br />

schneller lädt.<br />

Es gibt aber einen Haken: Tritt ein Festplattendefekt<br />

auf, können Sie beim herkömmlichen<br />

Speichern der Daten eventuell<br />

noch auf eine ältere Kopie des Dokuments<br />

zugreifen. Less-FS fasst diese Dateien<br />

aber zusammen, womit sie folglich<br />

allesamt verloren wären. Regelmäßige<br />

Sicherungen auf einen zweiten Datenträger<br />

bleiben daher unerlässlich.<br />

Um Less-FS auszuprobieren, gehen Sie<br />

im Webbrowser auf die Homepage des<br />

Entwicklers Mark Ruijter [1]. Das Less-<br />

FS-Archiv enthält den Dateisystemtreiber<br />

<strong>und</strong> ein paar Werkzeuge. Um diese zu<br />

übersetzen <strong>und</strong> zu installieren, stellen<br />

Sie zunächst per »uname -r« sicher, dass<br />

Ihr Linux-System auf einem Kernel in<br />

Version 2.6.26 oder höher basiert. Anschließend<br />

nutzen Sie den Paketmanager,<br />

um den C-Compiler GCC, das Dienstprogramm<br />

Make sowie die Entwicklerpakete<br />

zu den vier folgenden Bibliotheken zu<br />

installieren:<br />

n Zlib (meist im Paket »zlib-devel«, <strong>unter</strong><br />

Ubuntu »zlib1g-dev«)<br />

n Bzip2 (häufig in »libbz2-devel« oder<br />

»libbz2-dev«)<br />

n Mhash (»mhash-devel« beziehungsweise<br />

»libmhash-dev«)<br />

n Fuse (»fuse-devel« respektive »libfuse-dev«)<br />

96 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Vom Paketmanager zusätzlich als Abhängigkeiten<br />

vorgeschlagene Pakete bestätigen<br />

Sie einfach.<br />

Grüße aus Japan<br />

Alle wichtigen Informationen über die<br />

vorgenommenen Deduplizierungen<br />

merkt sich Less-FS in einer Datenbank.<br />

Mark Ruijter hat sich dabei für das etwas<br />

exotische Tokyo Cabinet entschieden.<br />

Einige wenige Distributionen führen es<br />

in ihren Repositories, Ubuntu 10.04 beispielsweise<br />

in den Paketen »libtokyocabinet8«<br />

<strong>und</strong> »libtokyocabinet-dev«. Wenn<br />

Ihr Paketmanager sie nicht findet, greifen<br />

Sie zum Quellcode-Archiv <strong>unter</strong> [2] oder<br />

auf der Heft-DVD. Entpacken Sie es <strong>und</strong><br />

installieren Sie die Datenbank dann mit<br />

den drei folgenden Befehlen:<br />

./configure ‐‐enable‐off64<br />

make<br />

sudo make install<br />

Auf 64-Bit-Systemen lassen Sie den Parameter<br />

»--enable-off64« hinter »./configure«<br />

weg. Er sorgt auf 32-Bit-Systemen<br />

dafür, dass die von Tokyo Cabinet verwalteten<br />

Datenbanken über 2 GByte hinaus<br />

wachsen können.<br />

Sind alle Voraussetzungen erfüllt, übersetzen<br />

<strong>und</strong> installieren Sie den entpackten<br />

Less-FS-Quellcode mit dem bekannten<br />

Dreisatz:<br />

./configure<br />

make<br />

sudo make install<br />

Kopieren Sie dann noch die im Quellcode-<br />

Archiv mitgelieferte Konfigurationsdatei<br />

»less.cfg« in das Verzeichnis »/etc«.<br />

Einräumen<br />

Bevor Sie die eigentliche Deduplizierung<br />

anwerfen können, müssen Sie einmal die<br />

Tokyo-Cabinet-Datenbank erzeugen. Dies<br />

übernimmt das Werkzeug »mklessfs«:<br />

sudo /usr/local/sbin/mklessfs ‐fc /etc/U<br />

lessfs.cfg<br />

Gemäß den Vorgaben in der Konfigurationsdatei<br />

erstellt es die Datenbank im<br />

Unterverzeichnis »/data«. Nun starten Sie<br />

die eigentliche Deduplizierung:<br />

sudo lessfs /etc/lessfs.cfg /backup<br />

Dieser Befehl hängt das Verzeichnis<br />

»/backup« ein <strong>und</strong> stellt es gleichzeitig<br />

<strong>unter</strong> die <strong>Kontrolle</strong> von Less-FS. Wie<br />

beim Mounten üblich, muss »/backup«<br />

bereits existieren. Sämtliche Dateien,<br />

die Sie ab sofort in diesen Ordner kopieren,<br />

verschieben oder in ihm erstellen,<br />

sind automatisch dedupliziert <strong>und</strong><br />

komprimiert. Alle übrigen Verzeichnisse<br />

<strong>und</strong> Dateien ignoriert Less-FS. Damit<br />

auch normale Benutzer Dateien <strong>unter</strong><br />

»/backup« ablegen können, müssen Sie<br />

dem Verzeichnis noch die entsprechenden<br />

Rechte zuweisen.<br />

Erstellen Sie jetzt testweise <strong>unter</strong><br />

»/ backup« eine Datei <strong>und</strong> kopieren sie<br />

einmal an Ort <strong>und</strong> Stelle. Was dabei tatsächlich<br />

hinter den Kulissen passiert,<br />

verrät die versteckte Datei ».lessfs/<br />

lessfs_stats«:<br />

sudo more /backup/.lessfs/lessfs_stats<br />

Ihr zufolge nimmt die Kopie kein einziges<br />

Byte in Anspruch (Abbildung 1). Nach<br />

außen hin verschleiert Less-FS seine<br />

Tätigkeiten, wie schon ein einfaches<br />

»ls / backup« beweist.<br />

Bruchstelle<br />

Hängen Sie das Verzeichnis »/backup«<br />

aus, bleibt es erstaunlicherweise komplett<br />

leer, sein Inhalt scheint spurlos<br />

verschw<strong>und</strong>en. Im Gegensatz zu herkömmlichen<br />

Dateisystemen wie Ext 4<br />

schreibt Less-FS die Daten nicht direkt<br />

auf die Festplatte, sondern schiebt sie in<br />

die Tokyo-Cabinet-Datenbank. Sollte sie<br />

einen Kratzer abbekommen, sieht man<br />

nach dem erneuten Mounten per »lessfs«-<br />

Befehl vielleicht noch die dort hinterlassenen<br />

Dateien, ihre Inhalte sind jedoch<br />

samt <strong>und</strong> sonders verloren.<br />

Folglich empfiehlt es sich dringend, die<br />

komplette Datenbank im Verzeichnis<br />

»/data« regelmäßig auf einen externen<br />

Datenträger zu sichern. Das Verzeichnis<br />

»/backup« selbst dagegen schließen Sie<br />

tunlichst von jeglichen Sicherungsmaßnahmen<br />

aus: Da es die von Less-FS wiederhergestellten<br />

Originaldateien enthält,<br />

würden Sie die fetten Duplikate beziehungsweise<br />

das deduplizierte Ergebnis<br />

sichern.<br />

Vereinfacht ausgedrückt mountet Less-<br />

FS den Inhalt der Datenbank <strong>unter</strong><br />

»/ backup«. Sie können aus diesem Gr<strong>und</strong><br />

Web<br />

Hosting<br />

BEST-PRICE JOOMLA<br />

Joomla fix & fertig installiert<br />

Inklusive 2 .de Domains<br />

800 MB Speicherplatz<br />

100 E-Mail Adressen<br />

1 MySQL Datenbank<br />

2 FTP Konten<br />

u.v.m.<br />

Joomla fix & fertig installiert<br />

Inklusive 3 Domains<br />

2000 MB Speicherplatz<br />

500 E-Mail Adressen<br />

3 MySQL Datenbanken<br />

20 Subdomains<br />

10 FTP Konten<br />

1 Joomla Buch<br />

u.v.m.<br />

95<br />

3, €<br />

JOOMLA STANDARD<br />

95<br />

UNSER SERVICE<br />

Keine Einrichtungsgebühren<br />

Keine versteckten Kosten<br />

Traffic: Flatrate<br />

150 fertige Joomla Designs<br />

Joomla Update Service<br />

Kostenloser Telefonsupport<br />

monatlich<br />

6, €<br />

30% Rabatt<br />

statt 9.95 € /<br />

Monat<br />

www.provider4u.de<br />

0800 - 11 44 1 44<br />

www.A dmin-mAgA zin.de


Know-how<br />

Less-Fs<br />

nicht mehr einfach ein zweites Verzeichnis<br />

einhängen:<br />

sudo mkdir /backup2<br />

sudo lessfs /etc/lessfs.cfg /backup2<br />

Damit würden Sie jetzt auch <strong>unter</strong><br />

»/ backup2« den Inhalt der Datenbank<br />

erreichen, also exakt die gleichen Dateien<br />

wie <strong>unter</strong> »/backup« vorfinden.<br />

Duplikat<br />

Um zusätzlich das Verzeichnis »/images«<br />

für Festplatten- <strong>und</strong> ISO-Abbilder zu deduplizieren,<br />

benötigen Sie eine weitere<br />

Datenbank – <strong>und</strong> dazu wiederum eine<br />

weitere angepasste Less-FS-Konfigurationsdatei.<br />

Letztere erhalten Sie, indem<br />

Sie einfach die bereits vorhandene kopieren,<br />

dem Duplikat einen aussagekräftigen<br />

Namen geben, etwa »lessfs_images.cfg«,<br />

<strong>und</strong> sie mit einem Texteditor öffnen. Nun<br />

ersetzen Sie in sämtlichen Pfadangaben<br />

das Präfix »/data« gegen das Verzeichnis,<br />

in dem künftig die zweite Datenbank residieren<br />

soll – etwa »/data_images«.<br />

Speichern Sie die geänderte Konfigurationsdatei<br />

<strong>und</strong> erzeugen die neue Datenbank<br />

mit:<br />

sudo /usr/local/sbin/mklessfs ‐fc /etc/lessfsU<br />

_images.cfg<br />

Der Parameter »-fc« sorgt dafür, dass<br />

»mklessfs« sowohl fehlende Verzeichnisse<br />

automatisch anlegt als auch darin<br />

bereits vorhandene Datenbanken löscht.<br />

Achten Sie folglich penibel darauf, dass<br />

Sie dem Befehl die richtige Konfigurationsdatei<br />

mit auf den Weg geben, andernfalls<br />

wandert eine schon vorhandene<br />

Datenbank samt den darin verwahrten<br />

Dateien ins Nirwana.<br />

Abschließend mounten Sie wie gewohnt<br />

per »lessfs« das Verzeichnis »images«:<br />

sudo lessfs /etc/lessfs_images.cfg /images<br />

Für Fortgeschrittene<br />

Wer sich mit Fuse auskennt, auf dem<br />

Less-FS aufbaut, kann über den zusätzlichen<br />

Parameter »-o« weitere spezielle<br />

Einstellungen vornehmen. Standardmäßig<br />

nutzt »lessfs« die<br />

Argumente aus<br />

Listing 1. Welche<br />

Parameter im Einzelnen<br />

zur Verfügung<br />

stehen, das<br />

verrät Ihnen »lessfs<br />

-help«.<br />

Weitere Einstellungen<br />

gestattet die<br />

Konfigurationsdatei<br />

»/etc/lessfs.<br />

cfg«. So dürfen Sie<br />

an deren Ende auf<br />

ein anderes Komprimierungsverfah<br />

ren umschalten.<br />

Setzen Sie dazu im Hintergr<strong>und</strong> dedupliziert.<br />

vor »COMPRES-<br />

SION=qlz« eine Raute (»#«) <strong>und</strong> entfernen<br />

diese vor dem entsprechenden Verfahren.<br />

Zusätzlich lassen sich in der Konfigurationsdatei<br />

eine Verschlüsselung<br />

aktivieren, die Datenbank-Einstellungen<br />

verfeinern <strong>und</strong> an der Hashfunktion drehen.<br />

Letztere ist eine ausgeklügelte mathematische<br />

Formel, mit der Less-FS<br />

schnell mehrere Datenblöcke vergleicht.<br />

Mit Risiko<br />

Abbildung 1: Less-FS legt sich transparent über das vorhandene Dateisystem. Für<br />

Programme wie »ls« existieren wie gewohnt zwei Dateien, auch wenn Less-FS sie<br />

Durch falsche Einstellungen kann man<br />

sich allerdings auch selbst von seinen<br />

Daten aussperren, die Verarbeitungsgeschwindigkeit<br />

reduzieren <strong>und</strong> die Gefahr<br />

eines Datenverlusts erhöhen. Daher sollten<br />

sich genau wie beim Parameter »-o«<br />

nur erfahrene Nutzer über die Konfigurationsdatei<br />

hermachen. Welche der dortigen<br />

Einstellungen welche Funktionen<br />

betreffen, erklärt die Manpage zu Less-FS<br />

(»man lessfs«).<br />

Um ein Verzeichnis bereits beim Systemstart<br />

zu mounten, müssen Sie Less-FS<br />

in die Startskripte einbinden. Dazu liegt<br />

dem Quellcode-Archiv im Unterverzeichnis<br />

»/etc« das Skript »lessfs« bei. Es folgt<br />

dem System-V-Init-Standard, scheint aber<br />

mit der heißen Nadel gestrickt worden zu<br />

sein <strong>und</strong> bleibt somit lediglich eine Vorlage.<br />

Um das Skript sinnvoll einzusetzen,<br />

müssen Sie zumindest in der Zeile 21<br />

hinter »MOUNTPOINT=« das einzuhängende<br />

Verzeichnis eintragen <strong>und</strong> es an<br />

die Gegebenheiten in Ihrer Distribution<br />

anpassen.<br />

Fazit<br />

Die Idee klingt bestechend: Less-FS speichert<br />

ausschließlich die absolut notwendigen<br />

Daten, wodurch die Festplatte<br />

spürbar aufatmet. Zumindest derzeit<br />

bleibt dabei jedoch die Datensicherheit<br />

auf der Strecke. Nur ein kleiner Fehler<br />

in der Datenbank – schon sind sämtliche<br />

Dateien Geschichte. Darüber hinaus gab<br />

es Kritik am Verfahren, mit dem Less-FS<br />

die Duplikate ermittelt [3].<br />

Das Dateisystem eignet sich somit vor<br />

allem für flüchtige <strong>und</strong> temporäre Daten,<br />

zum Beispiel die zu Testzwecken<br />

aufgesetzten virtuellen Maschinen. Extrem<br />

dürftig fällt auch die Dokumentation<br />

aus: Sie beschränkt sich auf die Manpage<br />

sowie die kargen Hilfeseiten der<br />

Programme. (jlu/ ofr)<br />

n<br />

Infos<br />

[1] Less-FS-Projektseite:<br />

[http:// www. lessfs. com/]<br />

[2] Datenbank Tokyo Cabinet:<br />

[http:// fallabs. com/ tokyocabinet/]<br />

[3] Diskussion über Less-FS: [http:// forums.<br />

gentoo. org/ viewtopic-t-799870-start-0<br />

-postdays-0-postorder-asc-highlight-. html]<br />

Listing 1: mount-optionen<br />

‐ohard_remove,negative_timeout,entry_timeout=0,attr_timeout=0,use_ino,readdir_ino,default_permissions,allow_other, big_writes,max_read=BLKSIZE,max_write=BLKSIZE<br />

98 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Remus<br />

TesT<br />

Fehlertoleranz mit Xen 4 <strong>und</strong> Remus<br />

Lebenszeichen<br />

die neue Xen-Version 4.0, an Features sowieso nicht arm, nimmt mit Remus<br />

auch die fehlertolerante HA-integration in ihren schoß auf. Ralf spenneberg<br />

Der Legende nach starb Remus, als ihn<br />

sein Zwillingsbruder Romulus nach Streitigkeiten<br />

über die Gründungsmodalitäten<br />

Roms erschlug. So martialisch geht es in<br />

der Virtualisierungsbranche heute nicht<br />

zu, aber dass Auguren einen Teilnehmer<br />

für tot erklären, passiert häufiger.<br />

Am häufigsten dürfte wohl Xen das Opfer<br />

tödlicher Nachrede geworden sein, insbesondere<br />

immer dann, wenn der Code es<br />

wieder nicht in den Linux‐Kernel schaffte<br />

[1]. Doch die im April 2010 erschienene<br />

Version 4.0 glänzt mit vielen Features,<br />

dar<strong>unter</strong> auch die Hochverfügbarkeits‐<br />

Erweiterung Remus [2].<br />

Remus<br />

Die Entwickler haben sich offensichtlich<br />

Mühe gegeben, um dem angeblichen<br />

Trend hin zu KVM etwas entgegenzusetzen.<br />

Xen 4 bringt ein eigenes Festplattenbackend<br />

namens Blktap2 mit, das Netzwerkbackend<br />

Netchannel2, verbessertes<br />

PCI‐Passthrough auch für VGA‐Karten,<br />

Memory Page Sharing <strong>und</strong> deutlich erhöhte<br />

Arbeitsgeschwindigkeit.<br />

Neben dem klassischen Xen‐Kernel<br />

2.6.18 <strong>unter</strong>stützt Xen 4 jetzt auch 2.6.31<br />

<strong>und</strong> 2.6.32. Dies war bisher unmöglich,<br />

da die Entwickler die von dem Xen‐Dom‐<br />

0‐Kernel benötigten Funktionen in neuen<br />

Kerneln durch die Paravirt‐Ops‐Schnittstelle<br />

(Pvops, [3]) ersetzt <strong>und</strong> verändert<br />

hatten. Dank Entwickler Jeremy Fitzhardinge<br />

verwendet Xen jetzt Pvops direkt<br />

als Dom‐0‐Kernel. Trotzdem bleibt 2.6.18<br />

aber immer noch der Referenzkernel, auf<br />

dem einige der Neuerungen laufen, zum<br />

Beispiel Remus.<br />

Im HA‐Umfeld kommt Xen typischerweise<br />

in Kombination mit einem SAN,<br />

DRBD, Heartbeat oder Pacemaker als<br />

Hochverfügbarkeitslösung zum Einsatz.<br />

Der Admin installiert den gewünschten<br />

Netzwerkdienst in einer virtuellen Maschine,<br />

die er auf einem Xen‐Host startet.<br />

Ein zweiter Host greift über das Storagebackend<br />

auf die Festplatte zu. Pacemaker<br />

oder Heartbeat prüfen fortlaufend die Verfügbarkeit.<br />

Fällt der aktive Xen‐Host aus,<br />

startet die Clustersoftware<br />

die virtuelle Maschine<br />

auf dem zweiten<br />

Virtualisierungsserver.<br />

So minimieren<br />

Admins<br />

schon heute<br />

die Ausfallzeit<br />

auf die wenigen<br />

Minuten oder<br />

Sek<strong>und</strong>en, die das Booten<br />

der virtuellen Maschine auf dem<br />

neuen Host benötigt.<br />

Viele Anwendungen überleben jedoch<br />

selbst den Ausfall für wenige Minuten<br />

nicht. Speziell in der produzierenden Industrie<br />

legt der Ausfall eines Steuerungsrechners<br />

<strong>unter</strong> Umständen eine komplette<br />

Produktionslinie still, was hohe<br />

Kosten nach sich zieht. Hier brauchen<br />

Unternehmen so genannte Nonstop‐ oder<br />

fehlertolerante Systeme.<br />

Kommerzielle<br />

Fehlertoleranz<br />

Hardwarehersteller Stratus Technologies<br />

[4] beispielsweise stellt <strong>unter</strong> dem Namen<br />

Ftserver derartige Maschinen her,<br />

die im Wesentlichen aus zwei miteinander<br />

gekoppelten Systemen bestehen,<br />

die exakt synchronisiert die gleichen Programme<br />

ausführen. Lediglich eines der<br />

beiden Systeme kommuniziert dabei<br />

mit der Außenwelt, das zweite verarbeitet<br />

als Schattensystem (Shadow)<br />

exakt die gleichen Daten <strong>und</strong> identischen<br />

Code. Erkennt das aktive System<br />

einen Hardwarefehler, dann übernimmt<br />

das zweite System die Kommunikation.<br />

VMware bietet mit Vsphere ab der Aus‐<br />

hypermania2, 123RF<br />

www.Admin-mAgAzin.de<br />

99


TesT<br />

Remus<br />

baustufe Advanced eine ähnliche Fehlertoleranz<br />

in einer virtualisierten Umgebung<br />

an, verlangt dafür aber gut 2000<br />

Euro pro Prozessor. Für Xen gibt es seit<br />

Jahren externe Lösungen wie Kemari [5],<br />

Second Site [6] <strong>und</strong> Remus. Die Software<br />

mit dem Namen von Romulus’ Bruder<br />

ist seit Xen 4.0.0 fester Bestandteil des<br />

Xen‐Code.<br />

Für die Implementierung von Fehlertoleranz<br />

gibt es zwei verschiedene Ansätze.<br />

Entweder stellt die Lösung mit CPU‐Lockstepping<br />

[7] sicher, dass beide CPUs immer<br />

exakt denselben Befehl ausführen.<br />

Wenn dann beide Prozessoren sich in einer<br />

identischen Umgebung befinden <strong>und</strong><br />

über gleichen Code <strong>und</strong> Daten verfügen,<br />

kann jede Instanz die andere ersetzen.<br />

Zwar erzeugt dieses Vorgehen echte Fehlertoleranz,<br />

der benötigte Aufwand ist<br />

jedoch enorm.<br />

Remus beschreitet einen anderen Weg:<br />

Es geht davon aus, dass die beiden virtuellen<br />

Maschinen nicht exakt denselben<br />

Zustand besitzen müssen, sondern dass<br />

es nur auf die Außenwirkung ankommt.<br />

Wenn ein Client keinen Unterschied zwischen<br />

dem aktiven System <strong>und</strong> seinem<br />

Schattensystem erkennt, ist das Gesamtsystem<br />

im Falle eines Fail‐over fehlertolerant,<br />

da das zweite System sich exakt<br />

genauso verhält wie das erste.<br />

Remus erreicht dieses Ziel, indem es in<br />

200‐Millisek<strong>und</strong>en‐Abständen Migrati o‐<br />

nen der aktiven virtuellen Maschine auf<br />

einen zweiten Host anstößt. Die so gewonnene<br />

Kopie der virtuellen Maschine<br />

steht als Schattenkopie bereit, während<br />

die originale Maschine weiterläuft <strong>und</strong><br />

nicht wie bei einer Xen‐Livemigration<br />

zerstört wird. Damit sich der Aufwand<br />

in Grenzen hält, überträgt Xen nach der<br />

ersten kompletten Migration nur die Dirty<br />

Pages, nicht die ganze VM.<br />

Da die Schattenkopie nur alle 200 Millisek<strong>und</strong>en<br />

identisch mit dem aktiven System<br />

ist, haben sich die Remus‐Entwickler<br />

einen Trick einfallen lassen. Zwar arbeitet<br />

das aktive System in den 200 Millisek<strong>und</strong>en<br />

weiter, aber der <strong>Server</strong> puffert<br />

alle Netzwerkverbindungen <strong>und</strong> hält die<br />

Pakete zurück, aus Sicht des Clients steht<br />

die Antwort also noch aus.<br />

Fällt der aktive virtuelle Gast aus, kann<br />

die Schattenkopie die Funktion genau an<br />

dieser Stelle übernehmen. Pakete bestehender<br />

TCP‐Verbindungen, die der Client<br />

in der Zeit an den ehemals aktiven Gast<br />

versandt hat, fordert die TCP‐Protokollschicht<br />

automatisch erneut an, diesmal<br />

gelangen sie zur Shadow‐Instanz.<br />

Im Normalfall jedoch synchronisiert Xen<br />

die Schattenkopie nach 200 Millisek<strong>und</strong>en<br />

wieder mit dem aktiven System. Ist<br />

die Synchronisation abgeschlossen, erhalten<br />

Clients die zurückgehaltenen <strong>und</strong><br />

für die 200 Millisek<strong>und</strong>en gepufferten<br />

Pakete. Wem diese Reaktionszeiten nicht<br />

ausreichen, der kann die Synchronisationsabstände<br />

auf bis auf 50 Millisek<strong>und</strong>en<br />

reduzieren Ob sich allerdings der Aufwand<br />

mit dem Ressourcenhunger seiner<br />

Anwendungen verträgt, muss jeder Admin<br />

selbst herausfinden.<br />

Migration<br />

Auch sollte er prüfen, ob die Livemigration<br />

in seiner Xen‐Umgebung einwandfrei<br />

funktioniert. Hierzu benötigt er zunächst<br />

ein Speicherbackend für die virtuelle Maschine,<br />

das zwei Xen‐Dom‐0‐Hosts erreichen<br />

können. Für einen Test reicht da<br />

eine einfache NFS‐Freigabe, später kümmert<br />

sich Remus selbst darum.<br />

Es genügt, auf einem dritten Rechner ein<br />

Verzeichnis per NFS freizugeben, das der<br />

Admin auf den beiden Xen‐Dom‐0‐Hosts<br />

<strong>unter</strong> demselben<br />

Pfad mountet.<br />

Dann prüft der Befehl<br />

»xm migrate<br />

‐‐live Meine-VM Ziel-Dom-0-IP«, ob eine<br />

virtuelle Maschine, deren virtuelle Festplatte<br />

auf diesem NFS‐Verzeichnis liegt,<br />

migrieren kann.<br />

Funktioniert das, folgt der erste Test mit<br />

Remus. Schlägt es jedoch fehl, sollte der<br />

Admin prüfen, ob der Xend‐Relocation‐<br />

<strong>Server</strong> in der Datei »/etc/xen/xend‐config.sxp«<br />

freigeschaltet ist <strong>und</strong> der Parameter<br />

»xend‐relocation‐hosts‐allow« den<br />

Zugriff erlaubt.<br />

Remus testen<br />

Die Entwickler empfehlen, zunächst<br />

nur die Kopie einer VM zu verwenden,<br />

da deren virtuelle Festplatte in diesem<br />

ersten Test Schaden nimmt. Hierfür kopiert<br />

der Admin das Diskimage auf beide<br />

Xen‐Dom‐0‐Hosts, startet die virtuelle<br />

Maschine auf einem der beiden Systeme<br />

<strong>und</strong> ruft Remus mit dem folgenden Befehl<br />

auf: »remus ‐‐no‐net Meine-VM Ziel-<br />

Dom-0-IP«. Dieser Befehl startet Remus<br />

ohne Schutz der Netzwerkverbindungen<br />

oder der Festplatte. Die oben erwähnte<br />

Pufferung <strong>und</strong> Synchronisation der Netzwerkpakete<br />

entfällt.<br />

Der Bildschirm müsste jetzt ähnliche Meldungen<br />

zeigen wie Abbildung 1. Gleichzeitig<br />

sollte ein »xm list« auf dem zweiten<br />

Xen‐Dom‐0‐System die synchronisierte<br />

<strong>und</strong> pausierte VM anzeigen (Abbildung<br />

2). Hat auch dies funktioniert, kann der<br />

Admin im nächsten Test die Replikation<br />

der Festplatte hinzunehmen.<br />

Manche Leser mögen sich fragen, wie die<br />

Synchronisation der Festplatte in diesem<br />

Setup erfolgt. Da Remus die Schattenkopie<br />

nur alle 200 Millisek<strong>und</strong>en synchronisiert,<br />

dürfen die aktive virtuelle Maschine<br />

<strong>und</strong> die Schattenkopie nicht dieselbe<br />

virtuelle Festplatte nutzen. Remus muss<br />

sich also auch um diese Synchronisation<br />

kümmern. Dies hat aber auch Vorteile,<br />

weil man sich bei der Planung einer<br />

hochverfügbaren Xen‐Lösung nicht ums<br />

SAN oder DRBD kümmern muss.<br />

G Abbildung 2: Die Remus-Schattenkopie läuft brav im Hintergr<strong>und</strong>.<br />

F Abbildung 1: Alle 200 Millisek<strong>und</strong>en synchronisiert Remus die virtuellen<br />

Maschinen, ein Netzwerkpuffer hält derweil alle Verbindungen zurück.<br />

100 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Remus<br />

TesT<br />

Abbildung 3: Erst wenn die Synchronisation mit<br />

Remus anläuft, kann die Schattenkopie auf das<br />

Festplattenimage zugreifen.<br />

Die virtuellen Platten sollten sich für<br />

Remus auf beiden Xen‐Dom‐0‐Hosts im<br />

identischem Pfad befinden. Dabei ist es<br />

unerheblich, ob die Dom‐U als Festplatte<br />

ein Logical Volume, eine Datei oder eine<br />

eigene Partition nutzt. Es zählt nur der<br />

Eintrag in der Xen‐Konfiguration. Für<br />

eine einfache Datei erfolgt der Zugriff auf<br />

die virtuelle Festplatte über Remus:<br />

disk = [ 'tap:remus:192.168.0.2:9000|aio:U<br />

/images/disk.img,sda1,w' ]<br />

»192.168.0.2:9000« gibt den Ziel‐Rechner<br />

<strong>und</strong> ‐Port für den Abgleich der Festplatte<br />

an. Diesen Anschluss erzeugt Remus aber<br />

erst während der Synchronisation der<br />

Schattenkopie. Die VM kann also nicht<br />

auf die Festplatte schreiben, bevor der<br />

Admin die Synchronisation mit Remus<br />

anwirft. Sie bleibt daher üblicherweise<br />

nach der Prüfung der Dateisysteme stehen<br />

(Abbildung 3).<br />

Neue Backends<br />

Für diese Synchronisation verwendet<br />

Xen das neue Festplattenbackend Blktap2<br />

mit dem Userprozess »tapdisk2«. Sobald<br />

der Admin die Synchronisation mit<br />

dem Kommandozeilen‐Werkzeug »remus<br />

‐‐no‐net Meine-VM 192.168.0.2« gestartet<br />

hat, darf die aktive Maschine ihre Festplatte<br />

auch schreibend nutzen <strong>und</strong> die<br />

virtuelle Maschine bootet weiter.<br />

Um das Setup zu testen, kann der Admin<br />

die Xen‐Konsole zur virtuellen Maschine<br />

öffnen (»xm console Meine-VM«) <strong>und</strong><br />

den Befehl »top« aufrufen. Anschließend<br />

zerstört er die Instanz mit »xm destroy<br />

Meine-VM« auf dem aktiven Xen‐Dom‐0‐<br />

Host oder zieht einfach den Stecker.<br />

Verbindet er sich anschließend mit der<br />

Konsole der Schattenkopie, sollte dort<br />

der Befehl »top« laufen. Damit sich dieser<br />

Schutz auch auf die Netzwerkverbindungen<br />

erstreckt, muss der Befehl »remus«<br />

ohne die Option »‐‐no‐net« gestartet werden.<br />

Dann funktioniert der Trick mit dem<br />

»top«‐Befehl auch über SSH.<br />

Natürlich ist die Fehlertoleranz mit Remus<br />

nicht umsonst. Die konstante Synchronisation<br />

im Hintergr<strong>und</strong> verlangsamt<br />

auch die virtuelle Maschine. Wie viel Geschwindigkeit<br />

verloren geht, hängt von<br />

der virtuellen Maschine ab. Je mehr Änderungen<br />

im Arbeitsspeicher <strong>und</strong> auf der<br />

Festplatte erfolgen, desto mehr Zeit wird<br />

für die Synchronisation aufgewandt <strong>und</strong><br />

umso weniger Zeit steht der virtuellen<br />

Maschine zur Verfügung.<br />

Performance<br />

Im Zweifelsfall muss ein Test zeigen, ob<br />

die Geschwindigkeitsverluste durch Remus<br />

für den produktiven Einsatz vertretbar<br />

sind. Zur Optimierung empfehlen die<br />

Entwickler, die automatische Verteilung<br />

der Dom‐0 <strong>und</strong> Dom‐Us über mehrere<br />

Kerne durch den Xen‐Scheduler abzuschalten<br />

<strong>und</strong> die Dom‐0 <strong>und</strong> Dom‐Us<br />

spezifischen Kernen zuzuweisen<br />

Aber trotzdem muss ein Admin den Einsatz<br />

von Remus genau abwägen. Die Fehlertoleranz<br />

funktioniert nur genau einmal.<br />

Ist die Schattenkopie aktiv, existiert<br />

keine weitere Instanz, die deren Ausfall<br />

abfangen könnte. Xen kann bisher im<br />

laufenden Betrieb keinen neuen Shadow<br />

anlegen, dies erfordert bisher einen Neustart<br />

der Dom‐U. Der sollte aber in einem<br />

geplanten Wartungsfenster erfolgen, wo<br />

er keinen Schaden anrichten kann. Zuvor<br />

muss der Admin auch noch die virtuelle<br />

Festplatte der Dom‐U mit der neuen<br />

Schattenkopie synchronisieren.<br />

Wie geht es weiter?<br />

Die Remus‐Entwickler haben noch viel<br />

vor. Aktuell kann Remus die Fehlertoleranz<br />

(auf einem 2.6.18‐Dom‐0‐Kernel) für<br />

paravirtualisierte (PVM) <strong>und</strong> vollvirtualisierte<br />

(HVM) Gäste bieten. In zukünftigen<br />

Versionen will das Projekt den Quelltext<br />

aufräumen <strong>und</strong> das externe Kommando<br />

»remus« in das »xm«‐Frontend für die<br />

Steuerung aufnehmen. Auch Libvirt‐<br />

Unterstützung wollen sie anbieten. Für<br />

die Realisierung der Hochverfügbarkeit<br />

nutzt Remus noch einen eigenen, sehr<br />

einfachen Heartbeat‐Mechanismus, während<br />

Corosync [8] <strong>und</strong> Pacemaker viel<br />

mächtigere Funktionen bieten. Künftige<br />

Xen‐Versionen sollen deren Integration<br />

erlauben.<br />

Noch lange nicht tot<br />

Es bleibt abzuwarten, ob jene Linux‐Distributionen,<br />

die in der Vergangenheit ihre<br />

Unterstützung für Xen als Dom‐0 eingestellt<br />

haben, es nun wieder integrieren.<br />

Genauso spannend ist es zu beobachten,<br />

ob die neue Version den Druck auf<br />

die Kernelentwickler erhöht, Xen in den<br />

Linux Kernel aufzunehmen.<br />

Gr<strong>und</strong>sätzlich bietet KVM ähnliche oder<br />

gleichwertige Funktionen wie Xen <strong>und</strong><br />

wahrscheinlich werden deren Entwickler<br />

die neue Xen‐Version als Herausforderung<br />

sehen, auch Fehlertoleranz anzubieten.<br />

Ein größeres Problem für den Einsatz von<br />

Remus in produktiven Umgebungen stellt<br />

sicherlich der Mangel an administrativen<br />

Oberflächen mit Remus‐Unterstützung<br />

dar. Xen abzuschreiben, wäre aber auf<br />

jeden Fall verfrüht. (mfe)<br />

n<br />

Infos<br />

[1] LKML-Xen-Diskussion:<br />

[http:// thread. gmane. org/ gmane. linux.<br />

kernel/ 800658/ focus=800714]<br />

[2] Remus: [http:// nss. cs. ubc. ca/ remus]<br />

[3] Xen-Paravirt-Ops-Kernel: [http:// wiki.<br />

xensource. com/ xenwiki/ XenParavirtOps]<br />

[4] Stratus-Ftserver: [https:// www. stratus.<br />

com/ products/ ftserver]<br />

[5] Kemari: [http:// www. osrg. net/ kemari]<br />

[6] Second Site:<br />

[http:// dsg. cs. ubc. ca/ secondsite/]<br />

[7] Lockstepping: [http://en.wikipedia.org/<br />

wiki/Lockstep_(computing)]<br />

[8] Corosync: [http:// www. corosync. org]<br />

Der Autor<br />

Ralf Spenneberg arbeitet als freier Unix/ Linux-<br />

Trainer, Berater <strong>und</strong> Autor mit seinem Unternehmen<br />

Open Source Training<br />

Ralf Spenneberg. Vor wenigen<br />

Wochen ist die zweite<br />

Auflage seines neuesten<br />

Buches „VPN mit Linux“ erschienen.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

101


TesT<br />

mail-Archivierung in windows<br />

Iakov Filimonov, 123RF<br />

E-Mail-Archivierung für Exchange<br />

Brief-Archiv<br />

in alten Versionen von microsoft exchange fehlt eine Archivierungsfunktion für e-mails. Lösungen anderer Hersteller<br />

helfen hier weiter. zwei Produkte stehen auf dem Prüfstand. björn bürstinghaus<br />

Lösungen zur Archivierung der gesamten<br />

E-Mail-Kommunikation eines Unternehmens<br />

helfen nicht nur Administratoren<br />

bei der Bewältigung steigender Postfachgrößen<br />

in Exchange, sondern bieten<br />

in den meisten Fällen auch eine schnelle<br />

Wiederherstellung für gelöschte E-Mails<br />

direkt durch den Benutzer <strong>und</strong> sind für<br />

kleine-, mittelständische <strong>und</strong> auch große<br />

Unternehmens relevant.<br />

Da Exchange erst ab Version 2010 eine integrierte<br />

Archivierungslösung bietet <strong>und</strong><br />

die meisten Unternehmen noch mit den<br />

Vorgängerversionen arbeiten, ist der Einsatz<br />

von Drittanbieter-Lösungen nötig.<br />

Dieser Artikel stellt mit GFI Mailarchiver<br />

2011 <strong>und</strong> Mailstore <strong>Server</strong> 5.1 zwei dieser<br />

Lösungen für die Archivierung von<br />

E-Mails aus Exchange vor.<br />

Beide hier vorgestellten Lösungen sind<br />

zwar für den gleichen Zweck entwickelt<br />

worden, bieten aber völlig andere Herangehensweisen<br />

<strong>und</strong> Funktionen. Eine<br />

wichtige Funktion, die beide Produkte<br />

enthalten, ist eine direkte Integration in<br />

Microsoft Office Outlook, zu der dieser<br />

Artikel später noch mehr verrät. Für die<br />

Archivierung aller mit Exchange erhaltenen<br />

<strong>und</strong> gesendeten E-Mails lässt sich<br />

die Journaling-Funktion von Exchange<br />

nutzen. Abhängig von der eingesetzten<br />

Exchange-Version stehen ab Exchange<br />

2007 <strong>und</strong> höher verschiedene Möglichkeiten<br />

zur Auswahl, um die Journaling-<br />

Funktion nur für interne, externe oder<br />

alle E-Mails zu nutzen.<br />

Bei aktiviertem Journaling kopiert Exchange<br />

alle E-Mails, die durch das System<br />

laufen, <strong>und</strong> speichert sie in einem eigens<br />

für die Journaling-Funktion verwendeten<br />

Postfach. Von hier aus werden die<br />

E-Mails von der Archivierungslösung abgeholt<br />

<strong>und</strong> anhand der E-Mail-Adressen<br />

den einzelnen Benutzern zugeordnet.<br />

GFI Mailarchiver 2011<br />

Mailarchiver 2011 [1] ist erst seit wenigen<br />

Wochen verfügbar <strong>und</strong> bereits die siebte<br />

Version der Mailarchivierungs-Lösung<br />

von GFI Software. Bis auf die verschiedenen<br />

Tools für Massenimport <strong>und</strong> Massenwiederherstellung<br />

von E-Mails ist die<br />

gesamte Konfiguration Web-basiert <strong>und</strong><br />

kann daher von jedem Arbeitsplatz im<br />

Unternehmen per Webbrowser erfolgen<br />

(siehe Abbildung 1).<br />

Für die Archivierung der E-Mails setzt<br />

GFI eine SQL-<strong>Server</strong>-Datenbank voraus,<br />

<strong>unter</strong>stützt aber auch das kostenlose SQL<br />

<strong>Server</strong> Express. Für den Testbetrieb oder<br />

für den Einsatz in kleineren Unternehmen<br />

ist auch die integrierte Firebird-Datenbank<br />

nutzbar, die aber nicht für große<br />

Mengen an E-Mails gedacht ist <strong>und</strong> auch<br />

nicht die gleiche Performance bietet wie<br />

ein SQL <strong>Server</strong>.<br />

Die Planungsfunktion für die Archivspeicher<br />

bietet die Möglichkeit, einen monatlichen<br />

Wechsel des Mailarchivs einzurichten.<br />

Dies geschieht völlig automatisch<br />

<strong>und</strong> lässt sich neben dem periodischen<br />

Wechsel, der monatlich, vierteljährlich,<br />

halbjährlich <strong>und</strong> jährlich erfolgen kann,<br />

auch abhängig von der Datenbankgröße<br />

einrichten, was gerade bei der Verwendung<br />

von SQL <strong>Server</strong> Express durch die<br />

Limitierung der Datenbankgröße inter-<br />

102 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


mail-Archivierung in windows<br />

TesT<br />

Abbildung 1: Web-basierte Einrichtung <strong>und</strong> Konfiguration bei GFI Mailarchiver 2011. Abbildung 2: Mailarchiver-Integration in Outlook 2010.<br />

essant ist. Für eine revisionssichere Archivierung<br />

bringt der Mailarchiver eine<br />

Überwachungsfunktion mit. Diese benötigen<br />

eine eigenständige Datenbank, in<br />

der er sämtliche Zugriffe auf die Mailarchive,<br />

mögliche Datenschutzverletzungen<br />

oder auch Konfigurationsänderungen<br />

speichert.<br />

Um den Benutzern die Suche in einem<br />

Mailarchiv zu erleichtern, indiziert das<br />

Programm alle E-Mails über einen Indexdienst.<br />

Bei der Einrichtung eines neuen<br />

Archivs müssen Sie für die Indizierung<br />

einen Speicherort angegeben, hier empfiehlt<br />

es sich aus Performancegründen,<br />

die Indexe nicht auf der gleichen Festplatte<br />

abzulegen wie die Datenbanken.<br />

Eine sehr praktische Funktion von<br />

Mailarchiver ist die Synchronisation der<br />

Postfachordnerstruktur. Dadurch werden<br />

sämtliche archivierten E-Mails im<br />

gleichen Ordner abgelegt wie in dem<br />

Exchange-Postfach in Outlook. Das Archiv<br />

stellt somit eine exakte Kopie der<br />

Ordnerstruktur des Benutzers dar.<br />

Die Steuerung des Benutzerzugriffs können<br />

Sie individuell pro Postfach konfigurieren.<br />

So lässt sich eine 1:1-Beziehung<br />

für den Zugriff eines Benutzers auf das<br />

Postfach eines anderen Benutzers genauso<br />

einfach einrichten wie der Zugriff<br />

eines Benutzers auf eine ganze Gruppe,<br />

zum Beispiel als Leiter einer Abteilung.<br />

Die Zuweisung erfolgt dabei über die Active-Directory-Benutzer<br />

beziehungsweise<br />

-Gruppen.<br />

Für den Benutzerzugriff auf archivierte<br />

Nachrichten steht neben der Weboberfläche<br />

ein Outlook-Add-in (siehe Abbildung<br />

2) für die Outlook-Versionen<br />

2003, 2007 <strong>und</strong> 2010 (32 <strong>und</strong> 64 Bit)<br />

zur Verfügung, das nicht nur den Zugriff<br />

auf sämtliche archivierte E-Mail erlaubt,<br />

sondern auch eine Zwischenspeicherung<br />

für den Offlinezugriff möglich macht.<br />

Per Gruppenrichtlinie können Sie zentral<br />

die Einstellungen für das Outlook-Add-in<br />

festlegen <strong>und</strong> beispielsweise die Anzahl<br />

der zwischengespeicherten Tage für den<br />

Offlinezugriff konfigurieren.<br />

Eine der wichtigsten Funktionen für die<br />

Benutzer ist die über die Weboberfläche<br />

bereitgestellte Suche, die detaillierte Bedingungen<br />

<strong>und</strong> eine Speicherfunktion für<br />

bereits getätigte Suchanfragen bietet. Der<br />

Zugriff auf die Weboberfläche (nur bei<br />

Verwendung des Internet Explorer) <strong>und</strong><br />

über das Outlook-Add-in erfolgt über die<br />

Active-Directory-Authentifizierung des<br />

jeweiligen Benutzers völlig transparent<br />

<strong>und</strong> muss nicht im Einzelnen vom Administrator<br />

konfiguriert werden.<br />

Im Vergleich zur Vorgängerversion bietet<br />

Mailarchiver 2011 eine r<strong>und</strong>um erneuerte<br />

Weboberfläche, die erstmals ein Dashboard<br />

für den schnellen Überblick auf<br />

die Anzahl der pro St<strong>und</strong>e oder Tag archivierten<br />

E-Mails <strong>und</strong> den Zustand der<br />

verb<strong>und</strong>enen Datenbanken bietet.<br />

Der gesamte Konfigurationsbereich wirkt<br />

nun viel übersichtlicher, da alle Funktionen<br />

auf einer Seite dargestellt werden.<br />

Auch bei der Einrichtung hat sich in der<br />

neuen Mailarchiver-Version einiges getan.<br />

So ermittelt der Archiver ein Journaling-Postfach<br />

innerhalb der Exchange-<br />

Organisation automatisch <strong>und</strong> bietet es<br />

während der Assistenten-gestützten Einrichtung<br />

gleich zur Auswahl an.<br />

Die Lizenzierung von Mailarchiver 2011<br />

erfolgt pro Postfach. Hat Ihr Unternehmen<br />

insgesamt 100 Postfächer <strong>und</strong> Sie<br />

möchten alle E-Mailadressen archivieren,<br />

müssen Sie für jedes Postfach eine Lizenz<br />

bereitstellen. Abhängig von der Anzahl<br />

der Postfächer kostet die Archivierung<br />

pro Postfach zwischen 9 <strong>und</strong> 29 Euro.<br />

Ausgehend von 100 Postfächern würde<br />

dies 20 Euro pro Postfach bedeuten. Enthalten<br />

ist jeweils ein Jahr Support durch<br />

den Hersteller.<br />

Massenimport mit<br />

Mailarchiver 2011<br />

Für den Massenimport von E-Mails<br />

aus Exchange vor der Aktivierung der<br />

Journaling-Funktion oder bei vorheriger<br />

Nutzung der automatischen Archivierung<br />

von Outlook bringt Mailarchiver ein eigenes<br />

Import-Tool (siehe Abbildung 3) mit.<br />

Vor dem Start müssen Sie ein Mailarchiv<br />

für den Import bereitstellen. Jedes im<br />

Import-Tool konfigurierte Archiv ist für<br />

die Archivierung eines von Ihnen angegebenen<br />

Zeitraums zuständig.<br />

Damit können Sie E-Mails abhängig<br />

vom Datum in verschiedene Mailarchive<br />

importieren lassen, um einen besseren<br />

Überblick zu erhalten. (Beispiel: Archivierte<br />

E-Mails aus dem Jahr 2009 können<br />

Sie auf diesem Weg in das Mailarchiv<br />

»2009« importieren.) Sollten Sie mehrere<br />

Mailarchive für den Import nutzen, erfolgt<br />

die Zuweisung zum entsprechenden<br />

Mailarchiv automatisch über den von Ihnen<br />

vorgegebenen Zeitraum.<br />

Mailstore <strong>Server</strong> 5.1<br />

Der Mailstore <strong>Server</strong> vom Viersener Unternehmen<br />

Deep Invent [2] kommt zwar<br />

auch mit einer Web-basierten Oberfläche,<br />

allerdings nur für den Benutzerzugriff<br />

auf die archivierten E-Mails. Die gesamte<br />

Konfiguration <strong>und</strong> Einrichtung der zu<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

103


TesT<br />

mail-Archivierung in windows<br />

Abbildung 3: Importieren <strong>und</strong> Exportieren von E-Mails beim GFI Mailarchiver.<br />

importieren Postfächer erfolgt über den<br />

Mailstore Client (Abbildung 4), eine<br />

Windows-Anwendung, die Sie auf allen<br />

Systemen im Unternehmen installieren<br />

können <strong>und</strong> die das zentrale Kernstück<br />

von Mailstore <strong>Server</strong> darstellt. Neben der<br />

Konfiguration bietet der Mailstore Client<br />

Zugriff auf die Mailarchive, eine komfortable<br />

Suchfunktion sowie eine Exportfunktion<br />

für archivierte E-Mails.<br />

Flexibler Import<br />

Anders als der Mailarchiver bietet Mailstore<br />

<strong>Server</strong> die Möglichkeit, E-Mails aus<br />

verschiedenen E-Mail-Programmen wie<br />

Th<strong>und</strong>erbird, Windows Live Mail, Google<br />

Mail oder jedem IMAP- beziehungsweise<br />

POP3-<strong>Server</strong> zu importieren. Für die Archivierung<br />

einzelner Exchange-Postfächer<br />

kann Mailstore <strong>Server</strong> eine Verbindung<br />

per IMAP oder HTTP(S) herstellen.<br />

Für den Import aus einem Exchange-<br />

Journaling-Postfach<br />

ist eine IMAP-Verbindung<br />

vorgeschrieben.<br />

Mailstore bezeichnet<br />

diese Art des Postfachs<br />

als Sammelpostfach<br />

<strong>und</strong> ist genauso<br />

wie Mailarchiver<br />

in der Lage, die<br />

Zuweisung der E-<br />

Mails zu den E-Mail-<br />

Adressen der Benutzer<br />

völlig automatisch<br />

zu übernehmen.<br />

Für die Zugriffssteuerung<br />

der Benutzer<br />

auf ihre Postfächer<br />

können Sie neben der Active-Directory-<br />

Authentifizierung auch eine integrierte<br />

Benutzerverwaltung verwenden. Mailstore<br />

bietet zahlreiche Möglichkeiten der<br />

Rechtevergabe. So können Sie zum Beispiel<br />

einem Benutzer das Löschen oder<br />

auch das eigenständige Importieren von<br />

E-Mails gestatten.<br />

Die Archivierung erfolgt bei Mailstore in<br />

Dateigruppen, die entweder lokal oder<br />

auch auf einer Netzwerkfreigabe liegen.<br />

Auch hier können, genau wie bei Mailarchiver,<br />

neue Dateigruppen zeitgesteuert<br />

gewechselt werden. Jede Dateigruppe<br />

besteht aus mehreren Teilen, sodass<br />

Header <strong>und</strong> Verwaltungsinformationen,<br />

der Volltextindex sowie Containerdaten<br />

mit dem eigentlichen Inhalt <strong>und</strong> Anhängen<br />

separat betrachtet werden, was zu<br />

höherer Performance gerade bei hohem<br />

Nachrichtenaufkommen führt.<br />

Mailstore <strong>Server</strong> komprimiert Datei-Anhänge<br />

automatisch <strong>und</strong> schützt darüber<br />

hinaus Inhalt <strong>und</strong> Anhänge durch eine<br />

AES256-Verschlüs selung vor dem unbefugten<br />

Öffnen.<br />

Mailstore <strong>Server</strong> enthält eine umfangreiche<br />

Berechtigungsstruktur, um einzelnen<br />

Benutzern auf leichte Art <strong>und</strong> Weise Zugriff<br />

auf archivierte Mails eines anderen<br />

Benutzers zu geben. So kann beispielsweise<br />

ein Benutzer Lesezugriff auf die<br />

E-Mails eines anderen Benutzers <strong>und</strong><br />

gleichzeitig Vollzugriff auf die E-Mails<br />

eines weiteren Benutzers erhalten. Bei<br />

der Einrichtung der Zugriffsrechte spielt<br />

es keine Rolle, ob sich der Benutzer über<br />

die integrierte Benutzerverwaltung oder<br />

per Active Directory authentifiziert.<br />

In Outlook integriert<br />

Bei der Installation des Mailstore Client<br />

kann der Administrator das Outlook-<br />

Add-in (Abbildung 5) mitinstallieren.<br />

Mit seiner Hilfe können Benutzer über<br />

das in vielen Unternehmen eingesetzte<br />

E-Mail-Programm auf das Archiv zugreifen<br />

<strong>und</strong> die Suchfunktion benutzen,<br />

ohne dafür extra den Mailstore Client zu<br />

starten. Aber auch ohne Mailstore Client<br />

beziehungsweise Outlook-Add-in ist der<br />

Zugriff über Mailstore Web Access von<br />

jedem Rechner aus Browser-basiert auf<br />

die archivierten E-Mails möglich.<br />

Bei Mailstore <strong>Server</strong> erfolgt die Lizenzierung<br />

auf Benutzerbasis. Sie können zwar<br />

verschiedene E-Mail-Postfächer über eine<br />

Benutzerlizenz sichern, aber nicht mit<br />

mehreren Benutzern darauf zugreifen.<br />

Die Kosten pro Benutzer liegen hier abhängig<br />

von der Anzahl der Benutzer zwischen<br />

9 <strong>und</strong> 59 Euro. Das Basispaket für<br />

fünf Benutzer kostet 295 Euro.<br />

Abbildung 4: Der Mailstore Client für Windows.<br />

Abbildung 5: Statt einen eigenen Client zu verwenden, können Anwender auch die<br />

Mailstore-Integration in Outlook 2010 einsetzen.<br />

104 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Abbildung 6: Zugriff auf mit Mailstore <strong>Server</strong> archivierte E-Mails per iPad.<br />

Mit Mailstore <strong>Server</strong> 5.1 erhalten Sie<br />

nicht nur Zugriff auf archivierte E-Mails<br />

per Mailstore Client <strong>und</strong> Weboberfläche,<br />

auch das Herstellen einer Verbindung<br />

über einen beliebigen E-Mail-Client mit<br />

IMAP-Unterstützung oder per Apple<br />

iPhone <strong>und</strong> iPad (siehe Abbildung 6)<br />

ist damit möglich. Für diesen Zweck hat<br />

Mailstore <strong>Server</strong> in der neusten Version<br />

einen eingebauten IMAP-<strong>Server</strong>, der –<br />

wenn für das Internet freigeben – einen<br />

Zugriff auf das Mailarchiv von überall an<br />

jedem Ort bietet.<br />

Private E-Mails im<br />

Unternehmen<br />

Wenn Ihr Unternehmen den Mitarbeitern<br />

die private Nutzung der Firmen-E-Mail-<br />

Adresse erlaubt, tritt das Unternehmen<br />

als Provider auf. Sollte dies bei Ihnen<br />

auch der Fall sein, müssen Sie bei der<br />

Archivierung von E-Mails eine Möglichkeit<br />

schaffen, die privaten E-Mails nicht<br />

zu archivieren [3].<br />

GFI Mailarchiver 2011 bietet durch die<br />

Aufbewahrungs-Richtlinie von E-Mails<br />

eine gute Funktion, um eine E-Mail durch<br />

das Setzen von Bedingungen von der Archivierung<br />

auszuschließen, zum Beispiel<br />

durch ein vorgegebenes Schlüsselwort<br />

im Betreff oder dem Body einer E-Mail.<br />

Findet Mailarchiver bei der Archivierung<br />

eine entsprechende Nachricht, bei der die<br />

Bedingung zutrifft, wird die Nachricht<br />

automatisch gelöscht <strong>und</strong> nicht in der<br />

Archiv-Datenbank gespeichert.<br />

Fazit<br />

Eine Archivierungslösung für Exchange<br />

hilft Administratoren dabei, die Postfachgrößen<br />

der Benutzer gering zu halten<br />

<strong>und</strong> ihnen trotzdem Zugriff auf alte oder<br />

gelöschte E-Mails zu gewähren. Die beiden<br />

hier vorgestellten Lösungen sind für<br />

kleine-, mittelständische-, aber auch für<br />

Groß<strong>unter</strong>nehmen interessant. Sie sind<br />

leicht zu konfigurieren, kommen beide<br />

mit flexiblen Zugriffsmöglichkeiten – egal<br />

ob per Outlook oder Web-basiert – <strong>und</strong><br />

bieten darüber hinaus ein gutes Preis-<br />

Leistungs-Verhältnis. (ofr)<br />

■<br />

Infos<br />

[1] GFI Mailarchiver 2011: [http:// www.<br />

gfisoftware. de/ mailarchiver]<br />

[2] Mailstore <strong>Server</strong> 5.1: [http:// www.<br />

mailstore. com/ de/ mailstore-server. aspx]<br />

[3] Rechtssichere E-Mail Archivierung:<br />

[http:// www. mailstore. com/ de/ doc/<br />

leitfaden-compliance-de. pdf]<br />

Der Autor<br />

Björn Bürstinghaus ist Systemadministrator bei<br />

der Simyo GmbH in Düsseldorf. In seiner Freizeit<br />

betreibt er Bjoerns Windows Blog, ein Blog r<strong>und</strong><br />

um Windows-Themen, zu finden <strong>unter</strong> [http://<br />

blog. buerstinghaus. net].<br />

www.Admin-mAgAzin.de


TesT<br />

small business server<br />

A&M Rovenko, 123RF<br />

Small Business <strong>Server</strong> 2011<br />

Kaufladen<br />

im dezember hat microsoft die neue Version 2011 von small business server veröffentlicht. der folgende Artikel<br />

verrät im einzelnen, worin sich die verschiedenen Varianten <strong>unter</strong>scheiden <strong>und</strong> für welche einsatzzwecke sie<br />

sich eignen. Thomas Joos<br />

Mit dem eben erschienenen Small<br />

Busi ness <strong>Server</strong> 2011 bietet Microsoft<br />

den K<strong>und</strong>en eine neue Version seines<br />

All-in-one-<strong>Server</strong>s für kleine bis mittelständische<br />

Unternehmen. Auch von der<br />

neuen Version des SBS gibt es wieder<br />

verschiedene Editionen. Dieser Artikel<br />

erklärt anhand der Testversion von [1]<br />

die Features <strong>und</strong> Unterschiede. Neben<br />

SBS 2010 Standard <strong>und</strong> Essentials stellt<br />

Microsoft für kleine Unternehmen oder<br />

Abteilungen auch Windows <strong>Server</strong> 2008<br />

R2 Fo<strong>und</strong>ation zur Verfügung.<br />

SBS 2011 Standard<br />

Die Edition SBS 2011 Standard (Entwicklungsname<br />

SBS 7) führt die Tradition<br />

von SBS 2003, 2003 R2 <strong>und</strong> 2008 fort<br />

<strong>und</strong> bietet aktuelle <strong>Server</strong>lösungen für<br />

Datenablage <strong>und</strong> Intranet sowie Patches<br />

<strong>und</strong> E-Mail in einem Produkt an. Die<br />

Edition lässt sich für bis zu 75 Benutzer<br />

lizenzieren. Im SBS enthalten ist Windows<br />

<strong>Server</strong> 2008 R2 Standard Edition<br />

als Basis-Betriebssystem in der 64-Bit-<br />

Edition, allerdings ohne das SP1. Dieses<br />

lässt sich aber problemlos nachinstallieren<br />

<strong>und</strong> meldet als Installation auch<br />

gleich Windows Small Business <strong>Server</strong><br />

Service Pack 1 (Abbildung 1).<br />

Wie bereits der direkte Vorgänger SBS<br />

2008 setzt SBS 2011 voll auf 64 Bit. Als<br />

E-Mail-System ist Exchange <strong>Server</strong> 2010<br />

mit SP1 Standard Edition integriert. Sie<br />

<strong>unter</strong>stützt bis zu fünf Postfachspeicher,<br />

die Exchange-Datenbanken können eine<br />

maximale Größe von 16 TByte erreichen.<br />

Leider verwendet auch Exchange <strong>Server</strong><br />

2010 immer noch eine ESE-Datenbank<br />

(Extensible Storage Engine, auch als Jet<br />

Blue bekannt), ebenso wie seine Vorgängerversionen.<br />

Zwar hat Microsoft die Geschwindigkeit<br />

dieser Datenbank nochmals gesteigert,<br />

dennoch neigen solche Datenbanken zu<br />

irreparablen Defekten. Eine längst überfällige<br />

Integration in den SQL-<strong>Server</strong> lässt<br />

weiter auf sich warten. Speichergruppen<br />

gibt es nicht mehr, Postfachdatenbanken<br />

stellen jetzt die oberste Ebene dar. Jede<br />

Postfachdatenbank hat ihren eigenen<br />

Satz Transaktionsprotokolle, in SBS 2008<br />

mussten sich die Postfachdatenbanken<br />

einer Speichergruppe noch die Transaktionsprotokolle<br />

teilen. Die Onlinewartung<br />

der Datenbanken (nicht zu verwechseln<br />

mit der Offline-Defragmentation durch<br />

Eseutil.exe) läuft jetzt nicht nur nachts<br />

<strong>und</strong> stört damit die Datensicherung, sondern<br />

ist als ständiger Prozess im Hintergr<strong>und</strong><br />

aktiv.<br />

Bei den Vorgängerversionen hat die Onlinewartung<br />

während der Onlinedatensicherung<br />

des Postfachspeichers pausiert.<br />

Das kann sich darin äußern, dass diese<br />

Wartung nach der Sicherung weiterläuft,<br />

<strong>und</strong> zwar auch noch dann, wenn sich<br />

morgens bereits Benutzer anmelden. Die<br />

Folge sind Leistungseinbußen <strong>und</strong> unzufriedene<br />

Benutzer.<br />

Anwender können sich über die neue<br />

Outlook Web App (OWA) in SBS 2011<br />

freuen. Die beliebten Suchordner für das<br />

Sortieren von E-Mails sind jetzt auch in<br />

OWA verfügbar, Gleiches gilt für die Favoriten,<br />

die viele Anwender bereits von<br />

Outlook her kennen.<br />

106 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


small business server<br />

TesT<br />

Abbildung 1: Installieren von Service Pack 1 für Windows <strong>Server</strong> 2008<br />

R2 auf SBS 2011.<br />

Die Ansichten in Outlook Web App orientieren<br />

sich wieder etwas mehr an Outlook.<br />

So lassen sich für den Kalender<br />

mehrere Ansichten festlegen, genauso<br />

wie in Outlook. E-Mail-Threads, also<br />

E-Mails zu einem Thema, fassen Outlook<br />

2010 <strong>und</strong> Outlook Web Access 2010 zu<br />

so genannten Unterhaltungs-Ansichten<br />

(Conversation Views) zusammen. Das<br />

sorgt für Übersicht <strong>und</strong> hält den Posteingang<br />

sauber.<br />

Anwender, die ihr Handy oder Smartphone<br />

an Exchange anbinden, können in<br />

Exchange <strong>Server</strong> 2010 nicht nur Posteingang<br />

<strong>und</strong> Kalender synchronisieren, sondern<br />

auch aus OWA heraus SMS senden.<br />

Dazu synchronisiert sich OWA mit dem<br />

Handy oder Smartphone <strong>und</strong> sendet die<br />

SMS an den Empfänger.<br />

Die Zuteilung von Zertifikaten hat Microsoft<br />

mit einem neuen Assistenten vereinfacht,<br />

was die meisten Probleme damit<br />

beheben sollte. Der Zugriff mit Mozilla<br />

Firefox <strong>und</strong> Safari auf OWA 2010 ist ohne<br />

Einschränkungen möglich.<br />

Die neue Version des SBS realisiert mit<br />

Sharepoint Fo<strong>und</strong>ation 2010 ein Intranet<br />

mit Dokumentenmanagement-Funktionen.<br />

Hierbei handelt es sich um den kostenlosen<br />

Nachfolger von Windows Sharepoint<br />

Services 3.0. Leider hat Microsoft<br />

auch in der neuen Version des SBS nicht<br />

den Search <strong>Server</strong> integriert, der wesentlich<br />

mehr bietet als die Sharepoint Services,<br />

doch dazu später mehr.<br />

Auch der neue SBS bietet wieder eine aktuelle<br />

Patchverwaltung, die auf Windows<br />

<strong>Server</strong> Update Services 3.0 SP2 basiert.<br />

Im Vergleich zu den Vorgängern bietet<br />

Microsoft zahlreiche neue Tools, die Admins<br />

bei der Migration von Vorgängerversionen<br />

<strong>unter</strong>stützen sollen. Neu ist<br />

die Integration der Office Web Apps, mit<br />

denen Anwender im Browser mit Office-<br />

Dokumenten arbeiten können.<br />

Mit Office Web Apps stehen für Anwender<br />

vollkommen kostenlos die wichtigs-<br />

ten Office-2010-Programme<br />

online bereit. Dateien sind<br />

im Internet auf Sky drive<br />

oder auf der lokalen Festplatte<br />

speicherbar. Mit den<br />

Onlineversionen von Word,<br />

Excel, Powerpoint <strong>und</strong> Onenote<br />

lässt sich nahezu genauso<br />

arbeiten wie mit den<br />

Offlineversionen, aber mit<br />

eingeschränkter Funktionalität.<br />

Die Lizenzen für Office Web Apps sind<br />

nicht in SBS 2011 enthalten, Unternehmen<br />

müssen dafür zusätzlich Office 2010<br />

lizenzieren. Die Integration der Office<br />

Web Apps erfolgt dann über Sharepoint<br />

Fo<strong>und</strong>ation. Das ist allerdings auch in<br />

der kleineren Essentials-Edition möglich<br />

<strong>und</strong> auch mit Windows <strong>Server</strong> 2008 R2<br />

Fo<strong>und</strong>ation.<br />

Die Lizenzierung von SBS 2011 entspricht<br />

der des Vorgängers SBS 2008. Unternehmen<br />

benötigen eine <strong>Server</strong>lizenz <strong>und</strong> eine<br />

CAL für jeden Benutzer beziehungsweise<br />

jedes Gerät. Der Preis der <strong>Server</strong>lizenz<br />

liegt bei 1096 US-Dollar, der Preis pro<br />

CAL bei 72 US-Dollar.<br />

Bessere Assistenten<br />

Neben den enthaltenen Produkten <strong>und</strong><br />

deren neuen Möglichkeiten sind in SBS<br />

2011 auch zahlreiche Assistenten integriert,<br />

die Administratoren bei ihrer Arbeit<br />

<strong>unter</strong>stützen. Auch die einfache Benutzeroberfläche,<br />

die alle Verwaltungsauf-<br />

Abbildung 2: Einheitliche Verwaltungsoberfläche im SBS 2011 Standard.<br />

gaben in einem Verwaltungswerkzeug<br />

zusammenfasst, ist hilfreich. Die Oberfläche<br />

ähnelt sehr der Oberfläche von<br />

SBS 2008, Administratoren finden sich<br />

schnell zurecht (Abbildung 2).<br />

Die Installation des <strong>Server</strong>s ist sehr einfach<br />

<strong>und</strong> erfordert die Eingabe nur weniger<br />

Daten. Alle Aufgaben zur Konfiguration<br />

<strong>und</strong> Anbindung der Funktionen<br />

sowie zur Erstellung der Active-Directory-Domäne<br />

<strong>und</strong> Exchange-Organisation<br />

laufen im Hintergr<strong>und</strong> ab. Der <strong>Server</strong><br />

überwacht alle angeb<strong>und</strong>enen Clients<br />

<strong>und</strong> kann anzeigen, ob beispielsweise<br />

Patches fehlen oder der Virenschutz nicht<br />

installiert ist.<br />

Ein solcher Schutz fehlt auch in SBS 2011,<br />

hier müssen Unternehmen auf Anwendungen<br />

von Drittherstellern zurückgreifen.<br />

Alternativ besteht für Unternehmen<br />

die Möglichkeit, auf Microsoft Security<br />

Essentials zu setzen. Dieser kostenlose<br />

Virenschutz steht auch für Unternehmen<br />

kostenlos zur Verfügung, nicht nur für<br />

Privatanwender wie die meisten anderen<br />

Freeware-Lösungen.<br />

Zwar ist ein kostenloser Virenschutz besser<br />

als gar keiner, Unternehmen sollten<br />

ihre Daten aber besser mit professionellen<br />

Lösungen schützen. Hier bieten die meisten<br />

Hersteller spezielle Produkte für SBS<br />

an. Benutzer haben auch in der neuen<br />

Version die Möglichkeit, über das Internet<br />

per Remote Web Access auf lokale<br />

Daten im SBS-Netzwerk zuzugreifen, die<br />

Oberfläche dafür hat Microsoft optimiert<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

107


TesT<br />

small business server<br />

Abbildung 3: Anwender können über das Internet auf Daten im Netzwerk <strong>und</strong> auf ihre Rechner zugreifen.<br />

(Abbildung 3). Administratoren können<br />

über diesen Weg im Browser eine RDP-<br />

Sitzung auf dem SBS-<strong>Server</strong> starten <strong>und</strong><br />

so aus der Ferne Verwaltungsaufgaben<br />

durchführen.<br />

Enthalten ist auch ein Assistent, der bei<br />

der Datensicherung helfen soll. Allerdings<br />

ist die Sicherung sehr rudimentär.<br />

Unternehmen tun gut daran, in Lösungen<br />

von Drittherstellern zu investieren,<br />

zum Beispiel Symantec Backup Exec. Die<br />

meisten Hersteller von Datensicherungsprodukten<br />

bieten auch hier spezielle Versionen<br />

für SBS an.<br />

Über Assistenten lässt sich der <strong>Server</strong><br />

auch nach der Installation vollends einrichten,<br />

an das Internet anbinden, mit<br />

Zertifikaten versorgen <strong>und</strong> sichern. Direkt<br />

auf der Startseite sehen Administratoren,<br />

ob mit dem <strong>Server</strong> <strong>und</strong> den angeb<strong>und</strong>enen<br />

Clients alles in Ordnung ist, also<br />

Patches installiert, Virenschutz aktiv <strong>und</strong><br />

Daten gesichert sind. Durch verschiedene<br />

Schaltflächen lassen sich alle Bereiche<br />

des <strong>Server</strong>s leicht verwalten, Expertenwissen<br />

ist kaum notwendig.<br />

Durch die Integration von Exchange <strong>Server</strong><br />

2010 können Unternehmen, die SBS<br />

2011 Standard verwenden, auch mobile<br />

Clients per Exchange Activesync anbinden,<br />

damit mobile Anwender E-Mails abrufen<br />

können. Neben Windows-Mobile-<br />

Clients funktioniert das mittlerweile bei<br />

den meisten Herstellern problemlos, auch<br />

mit Apples I-Phone. Unternehmen sollten<br />

darauf achten, dass die Anwender möglichst<br />

Handys einsetzen, die Exchange<br />

Activesync enthalten.<br />

Die Verwaltung der Benutzer findet in der<br />

zentralen Konsole statt, genau wie beim<br />

Vorgänger. Auf diese Weise lassen sich<br />

sehr leicht Rechte erteilen <strong>und</strong> Gruppen<br />

anlegen, genauso E-Mail-Verteilerlisten.<br />

Geübte Administratoren können aber<br />

auch auf die erweiterten Verwaltungsfunktionen<br />

von Windows <strong>Server</strong> 2008 R2,<br />

Exchange <strong>Server</strong> 2010, WSUS, SQL <strong>Server</strong><br />

2008 R2 <strong>und</strong> Sharepoint Fo<strong>und</strong>ation 2010<br />

zugreifen.<br />

In Windows <strong>Server</strong> 2008 R2 integriert<br />

Microsoft die neue Version 2.0 seiner<br />

Power shell, die mehr Befehle kennt als<br />

die Version 1.0. Außerdem ist die Verwaltung<br />

von Exchange <strong>und</strong> Sharepoint über<br />

eigene Verknüpfungen integriert.<br />

Mit Powershell<br />

Die Powershell bietet eine grafische<br />

Oberfläche, über die Systemverwalter<br />

Skripte erstellen können. Das eröffnet<br />

Administratoren, die gerne mit Skripten<br />

arbeiten, neue Möglichkeiten der Systemwartung.<br />

Neben der neuen Powershell<br />

hat Microsoft auch andere Verwaltungswerkzeuge<br />

überarbeitet <strong>und</strong> vor allem<br />

auf einen Netzwerkbetrieb ausgelegt, bei<br />

dem Administratoren von einer zentralen<br />

Stelle aus mehrere <strong>Server</strong> verwalten<br />

können. Eine weitere Neuerung ist die<br />

Integration des Best Practices Analyzer in<br />

den <strong>Server</strong>-Manager von Windows <strong>Server</strong><br />

2008 R2.<br />

Sobald <strong>Server</strong>rollen installiert <strong>und</strong> eingerichtet<br />

sind, ist im <strong>Server</strong>-Manager (Abbildung<br />

4) <strong>unter</strong> »Rollen« in der Mitte<br />

der Konsole der Bereich »Best Practices«<br />

zu finden. Er ermöglicht eine schnelle<br />

Konsistenzüberprüfung. Der Benutzer<br />

startet den Analyzer durch Auswählen<br />

der Option »Diese Rolle überprüfen im<br />

<strong>Server</strong>-Manager«. Wer doppelt auf eine<br />

der Meldungen des Best Practices Analyzer<br />

klickt, erhält ausführliche Informationen<br />

über den Test. Den Best Practices<br />

Analyzer gibt es nicht nur für Active Directory,<br />

sondern für jede Rolle, die Windows<br />

<strong>Server</strong> 2008 R2 <strong>und</strong> damit SBS 2011<br />

bereitstellt.<br />

Wie bereits bei den Vorgängern gilt auch<br />

im SBS 2011, dass der <strong>Server</strong> der erste<br />

Domänencontroller im Active Directory<br />

sein muss, kein Bestandteil <strong>unter</strong>geordneter<br />

Domänen sein darf <strong>und</strong> auch<br />

keine Vertrauensstellungen mit anderen<br />

Domänen <strong>unter</strong>stützt. Natürlich können<br />

Unternehmen zusätzliche Domänencontroller<br />

installieren, zum Beispiel über das<br />

Premium-Add-on des SBS.<br />

SBS bis 25 Benutzer<br />

Kleinere Unternehmen mit bis zu 25<br />

Benutzern, die die umfangreichen <strong>Server</strong>funktionen<br />

des SBS nicht benötigen,<br />

können auf den neuen SBS 2011 Essentials<br />

zurückgreifen (Entwicklungsname<br />

SBS Aurora). Bei dieser Ausgabe handelt<br />

es sich im Gr<strong>und</strong>e genommen um<br />

einen aktualisierten <strong>und</strong> für kleine Unternehmen<br />

angepassten Windows Home<br />

<strong>Server</strong> der nächsten Generation. Auch<br />

für den kleinen SBS-<strong>Server</strong> ist das Basisbetriebssystem<br />

Windows <strong>Server</strong> 2008<br />

R2, es fehlen aber die E-Mail-Funktionen<br />

von Exchange <strong>Server</strong> 2010 sowie Intranetfunktionen.<br />

Im Gegensatz zum Vorgänger Windows<br />

Home <strong>Server</strong>, dessen Basisbetriebssystem<br />

der betagte Windows <strong>Server</strong> 2003 ist,<br />

steht SBS 2011 Essentials nur als 64-Bit-<br />

Version zur Verfügung. Der <strong>Server</strong> benötigt<br />

außerdem mindestens 1 GByte RAM<br />

sowie eine Festplatten-Startpartition mit<br />

160 GByte. Es fehlen zwar die Intranetfunktionen,<br />

da Sharepoint Fo<strong>und</strong>ation<br />

2010 aber ohnehin kostenlos zur Verfügung<br />

steht, lassen sich diese mit wenig<br />

Aufwand auch auf dem kleinen SBS installieren.<br />

In der kleinen Ausführung sind lediglich<br />

eine zentrale Datenablage, eine<br />

automatisierte Datensicherung <strong>und</strong> die<br />

Anbindung an Microsofts Cloud-Dienst<br />

Office 365 integriert. Über diesen lassen<br />

sich dann zusätzliche Onlinefunktionen<br />

hinzubuchen, <strong>unter</strong> anderem vollwer-<br />

108 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


small business server<br />

TesT<br />

tige Exchange-Postfächer, die direkt bei<br />

Microsoft gehostet sind.<br />

Für den Zugriff auf die kleine Edition<br />

sind keine CALs notwendig, sondern nur<br />

eine <strong>Server</strong>lizenz, deren Preis bei etwa<br />

545 US-Dollar liegt. Die Verwaltung eines<br />

solchen <strong>Server</strong>s basiert ebenfalls auf einer<br />

einheitlichen Verwaltungsoberfläche<br />

<strong>und</strong> ist extrem einfach gehalten.<br />

Wie beim Vorgänger Windows Home<br />

<strong>Server</strong>, gibt es auch bei SBS 2011 Essentials<br />

eine Schnittstelle für Add-ins.<br />

Diese integrieren sich in die zentrale Verwaltungsoberfläche<br />

<strong>und</strong> erweitern die<br />

Funktionen des <strong>Server</strong>s, zum Beispiel<br />

in den Bereichen Datensicherung, Internetanbindung,<br />

Sicherheit <strong>und</strong> so weiter<br />

(Abbildung 5).<br />

Alle Clients im SBS-Netzwerk sind über<br />

einen Connector mit dem <strong>Server</strong> verb<strong>und</strong>en.<br />

Über diesen Connector wickelt<br />

der <strong>Server</strong> auch die lokalen Sicherungen<br />

der Computer ab <strong>und</strong> erledigt die Überwachung.<br />

Im Gegensatz zur Standard-<br />

Edition des SBS 2011 lassen sich mit SBS<br />

2011 Essentials mit der automatisierten<br />

Sicherung außerdem die angeb<strong>und</strong>enen<br />

PCs sichern, <strong>und</strong> zwar auch als Image.<br />

Wenn ein Computer mal ausfällt, ist es<br />

dann möglich, ihn mit einer Start-CD sehr<br />

leicht wiederherstellen.<br />

Premium Add-on<br />

Unternehmen, die auf SBS 2001 Standard<br />

oder Essentials setzen, können zusätzlich<br />

das Premium Add-on für SBS 2011<br />

erwerben. Es enthält eine zusätzliche Lizenz<br />

für Windows <strong>Server</strong> 2008 R2 sowie<br />

eine für SQL <strong>Server</strong> 2008 R2 for Small<br />

Business. Mit diesen Lizenzen dürfen Unternehmen<br />

einen weiteren <strong>Server</strong> im SBS-<br />

Netzwerk installieren, inklusive Datenbank.<br />

Zusätzlich besteht natürlich auch<br />

die Möglichkeit, diesen <strong>Server</strong> für Remote<br />

Desktop Services, als zusätzlichen Domänencontroller<br />

oder als Host für einen<br />

Hyper-V-<strong>Server</strong> zu nutzen. Anwender,<br />

die auf den SQL-<strong>Server</strong> zugreifen wollen,<br />

benötigen außerdem eine Premium-Addon-CAL.<br />

Microsoft gibt den Preis des Premium-<br />

Add-on mit 1604 US-Dollar an, eine CAL<br />

soll 92 US-Dollar kosten. Microsoft stellt<br />

allerdings außerdem auch die kostenlose<br />

Edition SQL <strong>Server</strong> 2008 R2 Express Edition<br />

zur Verfügung. Diese ist in SBS 2011<br />

Standard bereits installiert, da Sharepoint<br />

Fo<strong>und</strong>ation seine Daten in dieser Datenbank<br />

ablegt. Die Größe der Datenbank<br />

in dieser Edition ist jedoch auf 10 GByte<br />

begrenzt. In der Version SQL <strong>Server</strong> 2008<br />

Express Edition war sie sogar auf magere<br />

4 GByte limitiert.<br />

Gratis SBS-Ersatz<br />

Windows <strong>Server</strong> 2008 R2 Fo<strong>und</strong>ation<br />

stellt eine Einsteigerversion für kleine<br />

Unternehmen dar. Im Gegensatz zu Small<br />

Business <strong>Server</strong> 2011 gibt es keine eigene<br />

Konsole. Die Verwaltung des <strong>Server</strong>s ist<br />

identisch mit der herkömmlichen Verwaltung<br />

von Windows <strong>Server</strong> 2008 R2.<br />

Hyper-V ist bei dieser Edition nicht integriert,<br />

aber Windows <strong>Server</strong> 2008 R2<br />

Fo<strong>und</strong>ation lässt sich als Hyper-V-Gast<br />

installieren.<br />

Die Edition ist nur als OEM-Version erhältlich.<br />

Eine Lizenz gestattet die Installation<br />

auf einer physischen Maschine.<br />

Im Gegensatz zu den anderen Editionen<br />

sind keine weiteren virtuellen Maschinen<br />

mit einer Lizenz erlaubt. Auf die Edition<br />

dürfen maximal 15 Benutzer zugreifen,<br />

dafür benötigen Anwender keine CAL für<br />

den Zugriff, diese sind im Betriebssystem<br />

bereits integriert.<br />

Kommt die Edition als Remote-Desktop-<br />

<strong>Server</strong> zum Einsatz, dürfen sich ebenfalls<br />

nur 15 Benutzer mit dem <strong>Server</strong> verbinden.<br />

Für diese Benutzer sind allerdings<br />

RDS-CALs notwendig, denn diese sind<br />

nicht im Betriebssystem integriert. Setzen<br />

Unternehmen Windows <strong>Server</strong> 2008<br />

R2 Fo<strong>und</strong>ation in einem Active Directory<br />

ein, sind in dieser Domäne wieder nur<br />

maximal 15 Benutzerkonten gestattet.<br />

Der <strong>Server</strong> darf auch nicht dazu verwendet<br />

werden, <strong>unter</strong>geordnete Domänen zu<br />

erstellen. Stellt der <strong>Server</strong> Lizenzverstöße<br />

fest, fährt er automatisch nach 11 Tagen<br />

her<strong>unter</strong>.<br />

Die Version ist auf die Standard-Edition<br />

aktualisierbar, ohne den <strong>Server</strong> neu zu<br />

installieren. Der <strong>Server</strong> <strong>unter</strong>stützt eine<br />

CPU <strong>und</strong> maximal 8 GByte RAM. Auch<br />

Windows <strong>Server</strong> 2008 R2 Fo<strong>und</strong>ation ist<br />

nur als 64-Bit-System verfügbar. Firmen,<br />

die ein Intranet mit Dokumentenmanagement<br />

benötigen, können aber auch in<br />

dieser Edition die kostenlosen Sharepoint<br />

Fo<strong>und</strong>ation 2010 oder besser den kostenlosen<br />

Search <strong>Server</strong> 2010 Express Edition<br />

installieren.<br />

Auch wenn es der Name nicht vermuten<br />

lässt, handelt es sich bei Search <strong>Server</strong><br />

2010 Express um eine Version von<br />

Sharepoint Fo<strong>und</strong>ation 2010 mit allen<br />

Funktionen, die auch Fo<strong>und</strong>ation bietet.<br />

Allerdings bringt Search <strong>Server</strong> 2010 Express<br />

Anwendern auch eine vollwertige<br />

Suchplattform, die fast identisch mit<br />

der Suche in Sharepoint <strong>Server</strong> 2010 ist.<br />

Außerdem lässt sich mit Search <strong>Server</strong><br />

2010 Express eine Volltextsuche von PDF-<br />

Dateien durchführen, was bei Sharepoint<br />

Fo<strong>und</strong>ation 2010 nicht möglich ist. Es gibt<br />

keinerlei Gründe, Sharepoint Fo<strong>und</strong>ation<br />

Abbildung 4: Geübte Admins können sich mit erweiterten Verwaltungswerkzeugen auch in SBS 2011 austoben.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

109


TesT<br />

small business server<br />

Abbildung 5: Verwaltungsoberfläche von SBS 2011 Essentials (Aurora).<br />

2010 als Ersatz für Search <strong>Server</strong> 2010<br />

Express einzusetzen.<br />

Bessere Suche<br />

Neben den Standardfunktionen, die<br />

Share point Fo<strong>und</strong>ation 2010 auch bietet,<br />

also Bibliotheken, Listen, Workflows<br />

<strong>und</strong> so weiter, kann Search <strong>Server</strong> 2010<br />

Express Edition über Konnektoren auch<br />

andere Systeme durchsuchen. Die Ergebnisse<br />

zeigt der <strong>Server</strong> übersichtlich in<br />

einer Weboberfläche an. Mit Search <strong>Server</strong><br />

2010 Express lassen sich Sharepoint-<br />

Seiten durchsuchen, Netzwerkfreigaben,<br />

öffentliche Ordner in Exchange, Lotus<br />

Notes, Websites <strong>und</strong> andere Systeme, die<br />

durch Filter angeb<strong>und</strong>en sind.<br />

Ein wesentlicher Vorteil von Search <strong>Server</strong><br />

2010 Express besteht in der Möglichkeit,<br />

eine Volltextsuche in PDF-Dateien<br />

durch einen speziellen PDF-Filter durchführen<br />

zu können. Diese Funktion ist<br />

mit Sharepoint Fo<strong>und</strong>ation 2010 nicht<br />

möglich. Deshalb ist es schade, dass<br />

Microsoft auch im neuen SBS 2011 nicht<br />

den erweiterten Search <strong>Server</strong> integriert,<br />

sondern die kastrierte Sharepoint Fo<strong>und</strong>ation<br />

2010.<br />

Zwar lässt sich diese Version gr<strong>und</strong>sätzlich<br />

auf Search <strong>Server</strong> 2010 Express aktualisieren,<br />

allerdings läuft dann das interne<br />

Intranet des SBS nicht mehr sauber.<br />

Aus diesem Gr<strong>und</strong> sollten nur erfahrene<br />

Admins diesen Schritt wagen. In der Vorgängerversion<br />

Windows Sharepoint Ser-<br />

vices 3.0 war eine direkte Aktualisierung<br />

zu Search <strong>Server</strong> 2008 Express Edition<br />

noch nicht möglich.<br />

Fazit<br />

Microsoft stellt speziell für kleine Unternehmen<br />

mittlerweile drei verschiedene<br />

Editionen des Small Business <strong>Server</strong><br />

zur Verfügung. Firmen, die neben einer<br />

zentralen Datenablage auch ein lokales<br />

E-Mail-, Groupware- <strong>und</strong> Intranetsystem<br />

einsetzen wollen, sind mit dem SBS 2011<br />

in der Standard Edition gut beraten, vor<br />

allem weil der Preis deutlich günstiger<br />

ausfällt als bei den einzelnen <strong>Server</strong>versionen.<br />

Auch die Anbindung mobiler<br />

Clients ist durch Remote Web Access gut<br />

gelöst.<br />

Administrieren lässt sich der SBS genauso<br />

über die Powershell oder die Verwaltungskonsole<br />

wie über die einfache<br />

Verwaltungsoberfläche. Beim Einsatz<br />

von SBS 2011 sollte der Admin nicht vergessen,<br />

dass es sich um eine komplexe<br />

<strong>Server</strong>infrastruktur mit Windows <strong>Server</strong><br />

2008 R2 <strong>und</strong> Exchange <strong>Server</strong> 2010 handelt.<br />

Kleine Unternehmen, denen eine<br />

zentrale Datenablage reicht <strong>und</strong> die nur<br />

maximal 25 Benutzer haben, erhalten mit<br />

SBS 2011 Essentials eine sehr mächtige,<br />

aber extrem preisgünstige <strong>Server</strong>lösung.<br />

E-Mail-Postfächer lassen sich heutzutage<br />

ohnehin günstig online erwerben, was<br />

den Abstand zur teureren Standard Edition<br />

weiter verschmälert.<br />

Wer ein eigenes Intranet benötigt, kann<br />

auch auf SBS 2011 das kostenlose Sharepoint<br />

Fo<strong>und</strong>ation 2010 installieren oder<br />

noch besser Search <strong>Server</strong> 2010 Express.<br />

Mit etwas Nacharbeit steht der kleine<br />

SBS dem großen funktional also in nichts<br />

nach, ist aber auf maximal 25 Benutzer<br />

begrenzt. Unternehmen, die noch eine<br />

Datenbank benötigen, kaufen sich entweder<br />

das Premium-Add-on für SBS oder<br />

laden sich die kostenlose Datenbank SQL<br />

<strong>Server</strong> 2008 R2 Express Edition her<strong>unter</strong>.<br />

Die ist zwar auf 10 GByte Datenbankgröße<br />

begrenzt, reicht aber für die meisten<br />

Unternehmen aus. Die einheitliche<br />

Verwaltungsoberfläche des SBS 2011 Essential<br />

sowie die Möglichkeit, Daten von<br />

Client-PCs zu sichern, sind ebenfalls ein<br />

Pluspunkt.<br />

Noch kleinere Unternehmen, die einfach<br />

nur einen <strong>Server</strong> für die Datenablage benötigen,<br />

kaufen den noch günstigeren<br />

Windows <strong>Server</strong> 2008 R2 Fo<strong>und</strong>ation.<br />

Eine Lizenz kostet teilweise weit <strong>unter</strong><br />

200 Euro. Da sich auch hier problemlos<br />

Sharepoint Fo<strong>und</strong>ation 2010 installieren<br />

lässt, hat der <strong>Server</strong> auch keine<br />

größeren Nachteile. Allerdings fehlen die<br />

einheitliche Verwaltungskonsole <strong>und</strong> die<br />

Möglichkeit, Daten der Anwender-PCs zu<br />

sichern. Mit eigenen Gruppenrichtlinien,<br />

kostenlosen Anwendungen <strong>und</strong> Ordnerumleitungen<br />

können geübte Admins aber<br />

auch dies einrichten. Mit etwas Mühe<br />

lässt sich Windows <strong>Server</strong> 2008 R2 Fo<strong>und</strong>ation<br />

leicht zu einem SBS 2011 für bis zu<br />

15 Benutzer aufbohren.<br />

Unternehmen, die Anwendern Office Web<br />

Apps kostenlos zur Verfügung stellen<br />

wollen, können übrigens auch kostenlos<br />

auf Windows Live setzen. Auch hier<br />

stehen die Office Web Apps – inklusive<br />

kostenloser Skydrive-Online-Festplatte –<br />

zur Verfügung. (ofr)<br />

n<br />

Infos<br />

[1] Small Business <strong>Server</strong> 2011:<br />

[https:// connect. microsoft. com/ sbs]<br />

Der Autor<br />

Thomas Joos ist freiberuflicher IT-Consultant <strong>und</strong><br />

seit über 20 Jahren in der IT tätig. Neben seinen<br />

Projekten schreibt er praxisnahe Fachbücher<br />

<strong>und</strong> Fachartikel r<strong>und</strong> um Windows <strong>und</strong> andere<br />

Microsoft-Themen. Online trifft man ihn <strong>unter</strong><br />

[http:// thomasjoos. spaces. live. com].<br />

110 AusgA be 01-2011 Admin www.A dmin-mAgA zin.de


Openstack<br />

TesT<br />

Miredi, Fotolia<br />

Openstack als offenes Cloud-Computing-Framework<br />

Schnittstelle<br />

Viele Administratoren wollen nicht in Abhängigkeit von einem Virtualisierungsanbieter geraten. eine gemeinsames<br />

APi über Plattformen hinweg bietet einen Ausweg. Openstack ist ein Kandidat. Ramon wartala<br />

Nahezu unbeachtet von der Öffentlichkeit<br />

tobt seit einiger Zeit ein Kampf in<br />

der IT, der ausnahmsweise nichts mit<br />

mobilen Betriebssystemen <strong>und</strong> deren<br />

Hardware-Inkarnationen zu tun hat. Und<br />

doch sind die Protagonisten keine Unbekannten.<br />

Die Rede ist vom Kampf um<br />

die künftige Vorherrschaft beim so genannten<br />

Cloud Computing. Jenem Buzzword,<br />

das jetzt schon seit einiger Zeit die<br />

Phantasien von Analysten [1], Beratungs<strong>unter</strong>nehmen<br />

[2], Hardwareherstellern,<br />

Rechenzentrumsbetreibern <strong>und</strong> nicht<br />

zuletzt CIOs <strong>und</strong> CTOs multinationaler<br />

Firmen beflügelt.<br />

Zugr<strong>und</strong>e liegt der anhaltenden Euphorie<br />

der Traum von der bedarfsgerechten Rechen-<br />

<strong>und</strong> Speicherkapazität auf Knopfdruck.<br />

Was Amazon mit der Elastic Cloud<br />

(EC2) eingeführt hat, um brachliegende<br />

<strong>Server</strong>kapazität außerhalb der Lastspitzen<br />

des eigenen elektronischen Einkaufsladens<br />

zu Weihnachten <strong>und</strong> Thanksgiving<br />

zu monetarisieren, ist längst von<br />

vielen Mitbewerbern kopiert worden.<br />

Immer stärker engagieren sich in diesem<br />

Segment auch klassische Hoster.<br />

Bei all diesen Angeboten spricht man<br />

landläufig auch von der so genannten Public<br />

Cloud, einer Rechner- <strong>und</strong> Speicherwolke,<br />

die jedem Inhaber einer Kreditkarte<br />

verbrauchsabhängige <strong>Dienste</strong> über<br />

das Internet anbietet. Neben vielen Startups,<br />

die derartige <strong>Dienste</strong> nutzen, um das<br />

eigene Infrastruktur-Investment so klein<br />

wie möglich zu halten, interessieren sich<br />

auch immer mehr klassische Firmen <strong>und</strong><br />

vor allen Dingen große Finanzdienstleister<br />

für diese Art verbrauchsbezogener<br />

Nutzungsmodelle.<br />

Deren Sicherheitsanforderungen ließen<br />

bald den Wunsch nach einer so genannten<br />

Private-Cloud-Technologie aufkommen.<br />

In der Handhabung sollen diese Inhouse-<br />

Lösungen ebenso einfach sein wie die<br />

von Amazon angebotenen <strong>Dienste</strong> <strong>und</strong><br />

idealerweise über gleiche Schnittstellen<br />

kommunizieren können. Diese Schnittstellengleichheit<br />

würde die Möglichkeit<br />

eröffnen, so genannte Inter-Clouds zu realisieren,<br />

die sowohl bei Überlastung der<br />

eigenen privaten Cloud (Cloud Bursting)<br />

als auch bei der Lastverteilung (Cloud<br />

Balancing) hilfreich sein könnten.<br />

2007 betrat erstmals das als Forschungsprojekt<br />

des Departments of Computer<br />

Science der Universität von Kalifornien<br />

in Santa Barbara initiierte Eucalyptus die<br />

Bühne, das ein AWS-kompatibles API<br />

aufweist. Angeboten wird Eucalyptus in<br />

einer kommerziellen Enterprise- <strong>und</strong> in<br />

einer Community-Edition.<br />

Dies von MySQL bekannte Geschäftsmodell<br />

ist für Regierungs- <strong>und</strong> regierungsnahe<br />

Organisationen wie die NASA ein<br />

Problem. Eine nicht wirklich offene Infrastruktur<br />

kann die Investitionen der öffentlichen<br />

Hand nicht ausreichend schützen.<br />

Um diese Infrastruktur geht es beim<br />

Cloud Computing nun mal, die IaaS-<br />

Schicht (Infrastrucure as a Service) der<br />

Cloud, die verschiedene Hardwarekomponenten<br />

virtualisiert <strong>und</strong> über ein einheitliches<br />

API zugänglich macht.<br />

Die im Juli 2010 vom amerikanischen<br />

Hoster Rackspace, der NASA <strong>und</strong> weiteren<br />

Partnern initiierte Openstack-Initiative,<br />

soll genau diese Schicht zur Verfügung<br />

stellen <strong>und</strong> einen quelloffenen<br />

Industriestandard schaffen, der sich an<br />

die Amazon-Schnittstelle anlehnt. Seit<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

111


TesT<br />

Openstack<br />

Bei Licht betrachtet <strong>und</strong> nach Studium der<br />

aktuellen, aber vorläufigen Dokumentadem<br />

22. Oktober ist die erste Software-<br />

Release „Austin“ verfügbar [3], die eine<br />

Abstraktion auf einzelne Rechnerknoten<br />

(Openstack Compute) <strong>und</strong> die Nutzung<br />

einer verteilten Objekt-Datenbank (Openstack<br />

Storage) ermöglicht.<br />

Intern werden beide Komponenten noch<br />

als Nova <strong>und</strong> Swift geführt, die ihren<br />

Ursprung in Produkten von Rackspace<br />

haben. Die NASA steuerte mit Nebula<br />

[4] die eigene quelloffene Hybrid-Cloud-<br />

Plattform zum Openstack-Framework bei<br />

<strong>und</strong> verließ gleichzeitig das Eucalyptus-<br />

Projekt [5]. Auch die Ubuntu Fo<strong>und</strong>ation<br />

ließ kürzlich vernehmen, dass sie den<br />

Weg von Eucalyptus zu Openstack einschlagen<br />

will [6].<br />

Anatomie von Openstack<br />

Cloud-Computing-<strong>Dienste</strong> wie Amazons<br />

EC2 <strong>und</strong> S3 nutzen bestimmte Entitäten<br />

für die Verwaltung von System- <strong>und</strong><br />

Speicherkomponenten. Um eine Schnittstellenkompatibilität<br />

zu Amazons Webservices<br />

zu erzielen, sind demnach ähnliche<br />

Entitäten nötig. Wer <strong>Dienste</strong> des<br />

Amazon-Webservice kennt, den wird die<br />

Existenz folgender Entitäten in Openstack<br />

nicht überraschen:<br />

n Nutzer <strong>und</strong> Projekte: Ein Nutzer kann<br />

mehrere Projekte haben. Jeder Nutzer<br />

verfügt über ein Schlüsselpaar<br />

(private, public) für den Zugriff auf<br />

Listing 1: schlüssel erzeugen<br />

01 nova‐manage project zipfile OSTEST rwartala<br />

02<br />

03 Generating RSA private key, 1024 bit long modulus<br />

04 ........................++++++<br />

05 ................................................+++<br />

+++<br />

06 e is 65537 (0x10001)<br />

07 Using configuration from ./openssl.cnf<br />

08 Check that the request matches the signature<br />

09 Signature ok<br />

10 The Subject's Distinguished Name is as follows<br />

11 countryName :PRINTABLE:'US'<br />

12 stateOrProvinceName :PRINTABLE:'California'<br />

13 localityName :PRINTABLE:'MountainView'<br />

14 organizationName :PRINTABLE:'AnsoLabs'<br />

15 organizationalUnitName:PRINTABLE:'NovaDev'<br />

16 commonName :PRINTABLE:'rwartala‐2010‐11‐2<br />

0T17:02:57Z'<br />

17 Certificate is to be certified until Nov 20 17:02:57<br />

2011 GMT (365 days)<br />

18<br />

19 Write out database with 1 new entries<br />

20 Data Base Updated<br />

ein oder mehrere<br />

Projekte. Jedes Projekt<br />

verfügt über bestimmte<br />

Kontingente<br />

an Prozessorkernen,<br />

Festplatten- <strong>und</strong><br />

Hauptspeicher <strong>und</strong><br />

so weiter.<br />

n Jedem Projekt sind<br />

virtuelle Maschinen<br />

zugeordnet, die sich<br />

als Images starten<br />

lassen. Zur Kommunikation<br />

mit dem Hypervisor<br />

(KVM, Xen,<br />

Hyper-V, Qemu) dient ein API.<br />

n Instanzen sind virtuelle Maschinen,<br />

die innerhalb der Cloud laufen.<br />

n Volumes sind Block-basierte Speichermedien.<br />

n Local Storage bezeichnet ein lokales<br />

Speichermedium.<br />

n Die Nutzung des API wird über Role<br />

Based Access Control (RBAC) geregelt.<br />

Rollen können dabei zum Beispiel sein:<br />

System- oder Netzwerk-Administrator,<br />

Projektmanager, Basisnutzer <strong>und</strong> so<br />

weiter [7].<br />

Aus technischer Sicht besteht das Openstack-Framework<br />

aus folgenden Komponenten<br />

(siehe Abbildung 1).<br />

Alle Informationen <strong>und</strong> Einstellungen der<br />

Cloud sind in der Datenbank gespeichert.<br />

Über das REST-API lassen sich alle Cloud-<br />

Komponenten ansprechen. In der Regel<br />

wird man dies nicht über die Kommandozeile<br />

tun, wie in der aktuellen Release<br />

von Openstack, sondern eher über Fat<br />

Clients oder Webanwendungen (Web<br />

Dashboard). Der Auth-Manager regelt<br />

den Rollen-basierten Zugriff auf die<br />

Funktio nalität des API, sodass nicht alle<br />

Nutzer einzelne Instanzen hoch- <strong>und</strong><br />

r<strong>unter</strong>fahren können. Der Scheduler verteilt<br />

Zugriffe <strong>und</strong> Rechenzeit auf die einzelnen<br />

virtuellen Komponenten.<br />

In der aktuellen Release sind noch nicht<br />

alle Komponenten von Openstack voll<br />

ausgebaut. So ermöglicht der Object Store<br />

aktuell nur die Speicherung von Objekten,<br />

die kleiner als 5 GByte sind. Auch<br />

Rollen-basierte Quotas fehlen noch.<br />

Einfacher Knoten<br />

Abbildung 1: Openstack umfasst eine Reihe von Komponenten, dar<strong>unter</strong><br />

den Message Broker AMQP.<br />

tion der ersten Openstack-Release, finden<br />

sich alte Bekannte <strong>und</strong> noch nicht allzu<br />

viel Neues. Nova kümmert sich um den<br />

Openstack-Computing-Teil (siehe Abbildung<br />

1). Um mit Openstack eigene virtuelle<br />

Maschinen erzeugen <strong>und</strong> verwalten<br />

zu können, bedarf es nicht viel mehr<br />

als eines aktuellen Linux-Systems. Vorzugsweise<br />

Debian, Ubuntu oder Cent os<br />

in einer aktuellen Release, da dort die<br />

nötigen Pakete über die Installations-Manager<br />

verfügbar sind. Folgende Schritte<br />

sind für einen ersten Test nötig:<br />

1. Einrichten eines Openstack-Administrators.<br />

2. Erzeugung eines Openstack-Projekts.<br />

3. Generierung geeigneter privater <strong>und</strong><br />

öffentlicher Schlüssel.<br />

4. Anlegen eines geeigneten Image für<br />

den Betrieb von virtueller Maschinen-<br />

Instanzen.<br />

5. Hochladen der Images <strong>und</strong> Start der<br />

Instanz(en).<br />

Im folgenden Installationsbeispiel soll<br />

Ubuntu als Testsystem dienen. Openstack<br />

Compute baut auf dem Messaging-<strong>Server</strong><br />

Rabbit-MQ [8] <strong>und</strong> der NoSQL-Datenbank<br />

Redis [9] auf. Zusammen mit Nova<br />

lassen sich diese wie folgt installieren:<br />

apt‐get install rabbitmq‐server redis‐server<br />

apt‐get install python‐nova<br />

apt‐get install nova‐api nova‐objectstore U<br />

nova‐compute nova‐scheduler nova‐network<br />

Schließlich wird noch die Euca2ool-Suite<br />

[10] benötigt, die ein Kommandozeilen-<br />

Tool für die Kommunikation mit dem<br />

REST-basierten Webservice von Openstack<br />

ermöglicht. Im Funktionsumfang<br />

den Amazon-Kommandozeilen-Tools<br />

sehr ähnlich, lassen sich damit die Images,<br />

Instanzen <strong>und</strong> Volumes managen:<br />

112 AusgAbe 01-2011 Admin www.Admin-mAgAzin.de


Openstack<br />

TesT<br />

apt‐get install euca2ools unzip<br />

Sind alle Tools beisammen, ist mit Hilfe<br />

des Nova-Manage-Tools ein geeigneter<br />

Nutzer als Administrator anzulegen:<br />

nova‐manage user admin rwartala<br />

Dabei werden sowohl ein Zugriffs- als<br />

auch ein Sicherheitsschlüssel erzeugt:<br />

export EC2_ACCESS_KEY=713211a4‐7a15‐470f‐U<br />

ae54‐346b52e30a0e<br />

export EC2_SECRET_KEY=244de6a1‐8aa3‐4e12‐U<br />

9521‐03ac756abbdf<br />

Der nächste Schritt besteht im Anlegen<br />

eines neuen Nova-Projekts (»OSTEST«<br />

steht hier für Openstack-Test). Der Befehl<br />

nova‐manage project create OSTEST rwartala<br />

erzeugt danach das Projekt, die nötigen<br />

Zertifikate sowie die privaten <strong>und</strong> öffentlichen<br />

Schlüssel (Listing 1).<br />

Mit »unzip nova.zip« packt der Nutzer<br />

diese Daten in das Homeverzeichnis aus.<br />

Was jetzt noch fehlt, ist ein geeignetes<br />

Image, das instanziiert werden kann.<br />

Rackspace bietet ein vorgefertigtes Test-<br />

Image für den Betrieb einer virtuellen<br />

Maschine an. Unter<br />

wget http://c2477062.cdn.cloudfiles.U<br />

rackspacecloud.com/images.tgz<br />

lässt es sich her<strong>unter</strong>laden <strong>und</strong> mit<br />

tar xvzf images.tgz<br />

auspacken. Um daraus für Openstack<br />

Compute ein ausführbares Image zu erzeugen,<br />

wird die Euca2ool-Suite bemüht.<br />

Mit<br />

euca‐b<strong>und</strong>le‐image ‐i images/aki‐lucid/U<br />

image ‐p kernel ‐‐kernel true<br />

Checking image<br />

Tarring image<br />

Encrypting image<br />

Splitting image...<br />

Part: kernel.part.0<br />

Generating manifest /tmp/kernel.manifest.xml<br />

<strong>und</strong><br />

euca‐b<strong>und</strong>le‐image ‐i images/ari‐lucid/U<br />

image ‐p ramdisk ‐‐ramdisk true<br />

werden ein entsprechendes Kernel-Ramdisk-Paar<br />

aus dem Image <strong>und</strong> ein entsprechendes<br />

Image-Manifest erzeugt. Dieses<br />

beschreibt das Image <strong>und</strong> enthält darüber<br />

hinaus die erzeugten Zertifikate. Beide<br />

Images können dann in die Cloud geladen<br />

werden, <strong>und</strong> zwar mit Hilfe von:<br />

euca‐upload‐b<strong>und</strong>le ‐m /tmp/kernel.manifestU<br />

.xml ‐b mybucket<br />

euca‐upload‐b<strong>und</strong>le ‐m /tmp/ramdisk.manifest.xmlU<br />

‐b mybucket<br />

Was jetzt noch fehlt, sind entsprechende<br />

Schlüssel, um Zugang zur Instanz über<br />

SSH zu bekommen. Mit<br />

euca‐add‐keypair rwartala_key > rwartalaU<br />

_key.priv<br />

chmod 600 rwartala_key.priv<br />

werden die Schlüssel erzeugt. Dann lässt<br />

sich die Instanz mit Hilfe von<br />

euca‐run‐instances ami‐g06qbntt ‐‐kernelU<br />

ami‐fcbj2non ‐‐ramdisk ami‐orukptrc ‐k U<br />

rwartala_key<br />

starten. Läuft die VM, kann man sich mit<br />

Hilfe des zuvor generierten SSH-Schlüssels<br />

<strong>und</strong><br />

ssh ‐i rwartala_key.priv root@10.0.0.3<br />

auf die Maschine verbinden.<br />

Hinter den Kulissen<br />

Beim Aufkommen neuer Technologien<br />

stellt sich immer die Frage, ob sich ein<br />

genauer Blick darauf wirklich lohnt. Dabei<br />

ist es interessant, wer alles hinter<br />

dem Openstack-Projekt steht. Prominent<br />

sie die beiden Initiatoren Rackspace <strong>und</strong><br />

die NASA. Hinter den Kulissen sind aber<br />

auch so bekannte Firmen wie AMD, Dell<br />

<strong>und</strong> vor allen Dingen Citrix [11] mit von<br />

der Partie.<br />

Man erinnere sich, dass Citrix im Jahre<br />

2007 Xensource für den stattlichen Betrag<br />

von 500 Millionen US-Dollar übernahm,<br />

um den populäre Open-Source-Hypervisor<br />

Xen in das kommerzielle Produkt<br />

Xenserver zu überführen <strong>und</strong> damit den<br />

Marktführer VMware anzugreifen. Seit<br />

Citrix auch eng mit Microsoft bei der<br />

Entwicklung <strong>und</strong> Nutzung von Hyper-<br />

V zusammenarbeitet <strong>und</strong> VMware in<br />

Springsource <strong>und</strong> Google auch keine Verbündeten<br />

gef<strong>und</strong>en hat, sind die Claims<br />

um die Vorherrschaft beim Thema Cloud<br />

Computing abgesteckt. Zumal Openstack<br />

als freie Alternative für die von VMware<br />

propagierten V-Cloud <strong>und</strong> V-Sphere entwickelt<br />

werden soll.<br />

Fast schon ironisch nimmt sich bei all der<br />

Konkurrenz die technologische Einigkeit<br />

aus. So ist die in Openstack enthaltene<br />

Messaging-Middleware Rabbit-MQ <strong>unter</strong><br />

anderem von Springsource entwickelt<br />

worden, das seit Sommer 2009 zu VMware<br />

gehört. Und der in Openstack genutzte<br />

freie Key-Value-Store Redis wird<br />

aktuell von VMware gesponsert.<br />

Bis jetzt ist die Dokumentation recht dürftig<br />

<strong>und</strong> es fehlt noch an entsprechenden<br />

Management-Werkzeugen, aber nicht an<br />

Interesse. Am Mitte November ausgetragenen<br />

ersten Design Summit nahmen<br />

bereits 250 Besucher von über 90 Firmen<br />

teil. Vor dem Erscheinen der Frühjahrs-<br />

Release von Openstack mit dem Codenamen<br />

„Cactus“, soll noch „Bexar“ das<br />

Licht der Welt erblicken. (ofr) n<br />

Infos<br />

[1] „The Recipe for Clouds Goes Open Source“:<br />

[http:// bits. blogs. nytimes. com/ 2010/ 07/ 20/<br />

the‐recipe‐for‐clouds‐goes‐open‐source]<br />

[2] „As Cloud Platforms Battle For Credibility,<br />

OpenStack Is Pretty Solid“: [http://<br />

blogs. forrester. com/ james_staten/<br />

10‐07‐19‐cloud_platforms_battle_<br />

credibility_openstack_pretty_solid]<br />

[3] „OpenStack ,Austin‘ Release is Out“:<br />

[http:// www. openstack. org/ blog/ 2010/ 10/<br />

OpenStack‐austin‐release‐is‐out/]<br />

[4] Nebula: [http:// nebula. nasa. gov/]<br />

[5] NASA‐Abschied von Eucalyptus: [http://<br />

techie‐buzz. com/ foss/ nasa‐leaving‐the<br />

‐eucalyptus‐cloud‐for‐real‐open‐source. html]<br />

[6] Openstack für Ubuntu: [http:// gigaom.<br />

com/ cloud/ canonical‐ceo‐on‐arm‐and<br />

‐openstack‐for‐ubuntu‐servers/]<br />

[7] Openstack‐Rollen: [http:// nova. OpenStack.<br />

org/ devref/ auth. html# auth‐roles]<br />

[8] Rabbit‐MQ: [http:// www. rabbitmq. com/]<br />

[9] Redis: [http:// code. google. com/ p/ redis/]<br />

[10] Euca2tools: [http:// open. eucalyptus. com/<br />

wiki/ Euca2oolsGuide_v1. 1]<br />

[11] „The Cloud is Open – See How It Stacks<br />

Up“: [http:// community. citrix. com/<br />

display/ ocb/ 2010/ 08/ 30/ The+Cloud+is+<br />

Open+‐+See+How+It+Stacks+Up]<br />

Der Autor<br />

Ramon Wartala ist als freiberuflicher Systementwickler<br />

<strong>und</strong> Berater für individuelle Online‐Marketing‐Anwendungen<br />

tätig. Er ist Koautor des bei<br />

Addison‐Wesley erschienenen Buches „Webanwendungen<br />

mit Ruby on Rails“.<br />

www.A dmin-mAgA zin.de<br />

Admin<br />

AusgA be 01-2011<br />

113


SERVICE<br />

Impressum <strong>und</strong> <strong>Vorschau</strong><br />

Impressum ISSN 2190-1066<br />

<strong>ADMIN</strong>-<strong>Magazin</strong><br />

<strong>Monitoring</strong><br />

eine Publikation der Linux New Media AG<br />

Redaktionsanschrift Putzbrunner Straße 71<br />

81739 München<br />

Tel.: 0 89/99 34 11-0<br />

Fax: 0 89/99 34 11-99 oder -96<br />

Internet<br />

www.admin-magazin.de<br />

E-Mail<br />

redaktion@admin-magazin.de<br />

Geschäftsleitung<br />

Chefredakteur<br />

Redaktion<br />

News/Report<br />

Software/Test<br />

Security/Networking<br />

Ständige Mitarbeiter<br />

Produktionsleitung<br />

Grafik<br />

Abo-Infoseite<br />

Abonnenten-Service<br />

Brian Osborn (Vorstand), bosborn@linuxnewmedia.de<br />

Hermann Plank (Vorstand), hplank@linuxnewmedia.de<br />

Oliver Frommel (V.i.S.d.P.),<br />

ofrommel@linuxnewmedia.de (ofr)<br />

Ulrich Bantle (Ltg.), ubantle@linuxnewmedia.de (uba)<br />

Mathias Huber, mhuber@linuxnewmedia.de (mhu)<br />

Anika Kehrer, akehrer@linuxnewmedia.de (ake)<br />

Marcel Hilzinger, mhilzinger@linuxnewmedia.de, (mhi)<br />

Kristian Kißling, kkissling@linuxnewmedia.de, (kki)<br />

Jens-Christoph Brendel, jbrendel@linuxnewmedia.de (jcb)<br />

Markus Feilner, mfeilner@linuxnewmedia.de (mfe)<br />

Nils Magnus, nmagnus@linuxnewmedia.de (nma)<br />

Thomas Leichtenstern, tleichtenstern@linuxnewmedia.de (tle)<br />

Jürgen Manthey (Schlussredaktion),<br />

Carsten Schnober, Tim Schürmann<br />

Christian Ullrich, cullrich@linuxnewmedia.de<br />

Judith Erb<br />

Titel: Judith Erb, Grafik: Kheng Ho Toh (123RF.com)<br />

Abbildung iPad : © apple.com<br />

www.admin-magazin.de/abo<br />

Lea-Maria Schmitt<br />

abo@admin-magazin.de<br />

Tel.: 07131/27 07 274, Fax: 07131/27 07 78 601<br />

Autoren dieser Ausgabe<br />

Konstantin Agouros Vorgelesen 8<br />

Falko Benthin Tabellendschungel lichten 92<br />

Björn Bürstinghaus Brief-Archiv 102<br />

Owen DeLong Hochgestapelt 16<br />

Thomas Drilling Bewährtes erhalten 70<br />

Bernd Erk Neuland 26<br />

Dan Frost Eingepackt 76<br />

Julian Hein Nummern ziehen 65<br />

Thomas Joos Kaufladen 106<br />

Thomas Joos Kraftpaket 86<br />

Michael Kromer Vorgelesen 8<br />

Russ McRee Kartografie 40<br />

James Mohr Zu <strong>Dienste</strong>n 60<br />

David Rupprechter Alarmzentrale 54<br />

Thorsten Scherf im Gleichtakt 80<br />

Tim Schürmann Schrumpfkur 96<br />

Tim Schürmann Torwart 46<br />

Ralf Spenneberg Lebenszeichen 100<br />

Ramon Wartala Schnittstelle 111<br />

Preise Deutschland Ausland EU Österreich Schweiz<br />

Einzelpreis € 9,80 (siehe Titel) € 10,80 Sfr 19,60<br />

Miniabo € 9,80 (siehe Titel) € 10,80 Sfr 19,60<br />

Abo (sechs Ausgaben) € 49,90 € 59,90 € 54,90 Sfr 99,90<br />

Pressemitteilungen<br />

Anzeigen/Repräsentanz<br />

Leitung<br />

National<br />

Pressevertrieb<br />

Druck<br />

info@admin-magazin.de<br />

Hubert Wiest, hwiest@linuxnewmedia.de<br />

Es gilt die Anzeigenpreisliste vom 01.01.2010<br />

Petra Jaser<br />

Tel.: 089/99 34 11 24, Fax: 089/99 34 11 99<br />

E-Mail: anzeigen@admin-magazin.de<br />

MZV, Moderner Zeitschriften Vertrieb GmbH<br />

Breslauer Straße 5, 85386 Eching<br />

Tel.: 089/31906-0, Fax: 089/31906-113<br />

Vogel Druck <strong>und</strong> Medienservice GmbH<br />

97204 Höchberg<br />

Der Begriff Unix wird in dieser Schreibweise als generelle Bezeichnung für die Unix-ähnlichen<br />

Betriebssysteme verschiedener Hersteller, zum Beispiel Eurix (Comfood), Ultrix (Digital Equipment), HP/<br />

UX (Hewlett-Packard) oder Sinix (Siemens) benutzt, nicht als die Bezeichnung für das Trademark von X/<br />

Open. Linux ist eingetragenes Marken zeichen von Linus Torvalds <strong>und</strong> wird in unserem Markennamen mit<br />

seiner Erlaubnis verwendet. Alle anderen Marken sind Eigentum der jeweiligen Inhaber.<br />

Eine Haftung für die Richtigkeit von Veröffentlichungen kann trotz sorgfältiger Prüfung durch die<br />

Redaktion vom Verlag nicht übernommen werden. Mit der Einsendung von Manu s kripten gibt der<br />

Verfasser seine Zustimmung zum Abdruck im Admin-<strong>Magazin</strong>. Für unverlangt ein gesandte Manuskripte<br />

kann keine Haftung übernommen werden. Die Redaktion behält sich vor, Artikel zu kürzen.<br />

Das Exklusiv- <strong>und</strong> Verfügungsrecht für angenommene Manuskripte liegt beim Verlag. Es darf kein Teil<br />

des Inhalts ohne ausdrückliche schriftliche Genehmigung des Verlags in irgendeiner Form vervielfältigt<br />

oder verbreitet werden.<br />

Copyright © 1994–2010 Linux New Media AG<br />

Inserentenverzeichnis<br />

<strong>ADMIN</strong> http:// www.admin-magazin.de 7, 73, 75<br />

DrayTek GmbH http:// www.draytek.de 13<br />

Fernschule Weber GmbH http:// www.fernschule-weber.de 43<br />

Galileo Press http:// www.galileo-press.de 15<br />

HACKATTACK IT SECURITY GmbH http:// www.hackattack.com 51<br />

Hetzner Online AG http:// www.hetzner.de 116<br />

Hostserver GmbH http:// www.hostserver.de 2<br />

Ico Innovative Computer GmbH http:// www.ico.de 77<br />

Infosecurity http:// www.infosec.co.uk 53<br />

Kamp Netzwerkdienste GmbH http:// www.kamp.net 33<br />

Lamarc GmbH http:// www.lamarc.com 45<br />

Linux Technical Review http:// www.linuxtechnicalreview.de 115<br />

Linux User Spezial http:// www.linux-user.de/ spezial 79<br />

Linux-Hotel http:// www.linuxhotel.de 25<br />

Linux-<strong>Magazin</strong> http:// www.linux-magazin.de 90<br />

Linux-<strong>Magazin</strong> Academy http:// www.academy.linux-magazin.de 49, 85<br />

Netclusive GmbH http:// www.netclusive.de 11<br />

netways GmbH http:// www.netways.de 19, 61<br />

outbox AG http:// www.outbox.de 22<br />

pascom - Netzwerktechnik GmbH & Co.KG http:// www.pascom.de 63<br />

Provider4u Deutschland Ltd. http:// provider4u.de 97<br />

Strato AG http:// www.strato.de 39<br />

Thomas Krenn AG http:// www.thomas-krenn.com 9<br />

Vollmar.net http:// www.vollmar.net 105<br />

VORSCHAU<br />

<strong>ADMIN</strong> 02/2011 ERSCHEINT AM 10. MÄRZ 2011<br />

Strom sparen<br />

Vor kurzem war Green IT noch das Schlagwort der St<strong>und</strong>e.<br />

Jetzt ist es etwas in den Hintergr<strong>und</strong> getreten, aber<br />

stromsparender Computereinsatz hilft nicht zuletzt Kosten<br />

zu senken. Das kommende <strong>ADMIN</strong>-<strong>Magazin</strong> geht der<br />

Frage nach, was Administratoren tun können <strong>und</strong> welche<br />

Möglichkeiten verschiedene Betriebssysteme bieten um<br />

Energie zu sparen.<br />

SSD-Speicher<br />

Speicher auf Basis von<br />

Solid-State-Technologie<br />

werden gleichzeitig immer<br />

billiger <strong>und</strong> schneller.<br />

<strong>ADMIN</strong> testet Geräte <strong>und</strong><br />

zeigt, wo die neuen Festplatten<br />

Vorteile bringen.<br />

Norman Bates, photocase.com<br />

114 AUSGABE 01-2011 <strong>ADMIN</strong> WWW.<strong>ADMIN</strong>-MAGAZIN.DE


elevant ■ verlässlich ■ kompetent<br />

■ Virtualisierung<br />

■ <strong>Monitoring</strong><br />

■ Storage <strong>und</strong><br />

Backup<br />

Technical Review<br />

Keine Zeit, um Berge von Datenmüll nach<br />

Info-Nuggets zu durchsieben?<br />

Dann lassen sie doch den Abraum liegen!<br />

Die Technical Review bietet Know-how pur.<br />

■ High Availability<br />

■ Groupware<br />

Ihre Inhalte sind<br />

- von ausgewiesenen Spezialisten geschrieben,<br />

- von einer kompetenten Fachredaktion ausgewählt,<br />

- von namhaften Experten mehrfach geprüft.<br />

■ <strong>Server</strong> Based<br />

Computing<br />

■ Spam<br />

■ Performance<br />

<strong>und</strong> Tuning<br />

Eine Quelle für alle Fälle.<br />

Wer weiß, was Wissen wert ist, muss nicht lange überlegen.<br />

Registrieren Sie sich gleich <strong>unter</strong><br />

www.technicalreview.de<br />

Einen Probeartikel<br />

Ihrer Wahl gibt es gratis.<br />

■ Datenbanken<br />

Maxim Kazmin, 123RF<br />

■ Security<br />

■ Mobility<br />

■ Migration<br />

www.technicalreview.de


Der Trafficverbrauch ist kostenlos. Bei einer Überschreitung von 5.000 GB/Monat wird die Anbindung auf 10 MBit/s<br />

reduziert. Optional kann für 6,90 € je weiteres TB die Bandbreite dauerhaft auf 100 MBit/s festgesetzt werden.

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

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!