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. Listing1 zeigt einen Ausschnitt<br />
aus einer Firewall-Konfiguration,<br />
Listing2 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 Listing3 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 Listing4.<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 Listing5.<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 (Listing6).<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 />
Listing7 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 Listing9<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.