ADMIN Magazin Groupware (Vorschau)
Erfolgreiche ePaper selbst erstellen
Machen Sie aus Ihren PDF Publikationen ein blätterbares Flipbook mit unserer einzigartigen Google optimierten e-Paper Software.
Jetzt<br />
mit<br />
<strong>ADMIN</strong><br />
IT-Praxis & Strategie<br />
Besseres SSL<br />
Zukunftssicher mit Perfect<br />
Forward Secrecy<br />
Nameserver<br />
mit PowerDNS<br />
Software für GUTE zusammenarbeit im Team<br />
<strong>Groupware</strong><br />
E-Mails, Kalender migrieren<br />
Social Software im Check<br />
<strong>Groupware</strong> Tine getestet<br />
OpenStack-Cloud<br />
Das neue „Havana“-Release<br />
Malware-Analyse<br />
in der Praxis<br />
vSphere 5.5 –<br />
was ist neu?<br />
13.10<br />
Saucy Salamander<br />
12/2013 Dezember<br />
Endian-Switchboard<br />
Sichere Fernwartung und<br />
Standortvernetzung<br />
SSD für MS SQL<br />
Zugriff im Turbo-Modus<br />
www.admin-magazin.de<br />
Apache 2.4.6<br />
Tuning für den Klassiker<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 12
Service<br />
Editorial<br />
3<br />
Four-Letter-Word<br />
Liebe Leserinnen und Leser,<br />
In der Open-Source-Szene heißt das böse F-Wort mit vier Buchstaben: Fork.<br />
Wo es fällt, ist es ein Indikator für Schwierigkeiten. Ziemlich häufig hörte<br />
man es in den letzten Jahren im Nagios-Umfeld.<br />
Nagios war einst ein Freizeitprojekt, das aber schon vor zehn Jahren weit<br />
verbreitet war und zunehmend komplexer wurde. Wiewohl Open Source,<br />
ließ sich auch damals bereits Geld damit verdienen, etwa indem man es als<br />
Dienstleister in Kundenprojekten installierte oder Schulungen anbot. Nur<br />
Ethan Galstad, der Erfinder und Chefentwickler, hatte davon einstweilen nichts.<br />
Das mag ihn bewogen haben 2007 seine eigene Firma Nagios Enterprises zu gründen. Ein Schritt, der<br />
aber bald zu Problemen führte: Zahlreiche Entwickler beklagten, von ihnen eingereichte Patches blieben<br />
unbesehen liegen, die Weiterentwicklung der Community-Version sei eingeschlafen, die Firma konzentriere<br />
sich nur noch auf zahlende Kunden, lange bestehende Probleme blieben ungelöst.<br />
So kam es 2009 zum ersten Fork, das Projekt Icinga spaltete sich ab. Außerdem startete mit Shinken eine<br />
Neu-Implementierung in Python. Nagios erwuchs Konkurrenz. Nicht zufällig entbrannte im Jahr darauf<br />
ein über Rechtsanwälte und via Internet geführter, erbitterter Streit um Markenrechte und Domains.<br />
Nagios überlebte das alles und existierte als freie Software fort, die weiter stark von der Beteiligung der<br />
Community profitierte, darunter namentlich von dem beim Monitoring-Spezialisten OP5 beschäftigten<br />
Andreas Ericsson. Ebendieser Ericsson, pikanterweise noch im vergangenen Jahr von Nagios Enterprises<br />
selbst zum „Nagios Most Valuable Professional“ gekürt, wurde nun plötzlich von seinen Juroren<br />
geschasst. Er wurde aus der Entwicklung ausgesperrt, von der Teamliste gestrichen, und die Developer-<br />
Foren konvertierten flugs in firmeneigene, moderierte Diskussionsrunden. Bitter enttäuscht startet er<br />
nun einen weiteren Nagios-Fork: Naemon.<br />
Man könnte meinen, man sähe der Selbstdemontage eines ehemals erfolgreichen Open-Source-Projekts<br />
zu. Alles in allem ist verblüffenderweise das Gegenteil der Fall. Der Wettbewerb hat das Geschäft belebt.<br />
Von Icinga gibt es mittlerweile zwei Varianten sowie ein neues und ein neuestes Web-Interface neben der<br />
klassischen Ansicht. Mit Naemon entsteht eine Alternative, die explizit auf eine Datenbank verzichtet.<br />
Zusätze und Plugins aller Art sprießen wie Pilze aus dem Boden. Es gibt alternative GUIs, Lastverteiler,<br />
Konfigurationstools, Visualisierer und vieles mehr. Die Nagios-Ableger blühen und gedeihen.<br />
Wir lernen: Mag es auch vorkommen, dass ein Anbieter untergeht – der Anwender gewinnt, wenn sich die<br />
besten Ideen ums Überleben streiten. Auch dafür steht das Four-Letter-Word Fork.<br />
@ leserbriefe@admin-magazin.de www.facebook.com/adminmagazin www.twitter.com/admagz<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
<strong>ADMIN</strong><br />
IT-Praxis & Strategie<br />
<strong>Groupware</strong>ab Seite 34<br />
n Login<br />
8 Vorgelesen<br />
Hochverfügbarkeit und Wireshark.<br />
10 Branchen-News<br />
Neues von Firmen und Projekten.<br />
14 OSMC 13<br />
Updates in Sachen Monitoring.<br />
16 Admin-Story<br />
Migration virtueller Maschinen.<br />
20 Betriebssysteme<br />
Systementwicklung gestern, heute<br />
und morgen.<br />
n Schwerpunkt<br />
34 Social Software<br />
Sind soziale Netzwerke eine<br />
Alternative zu <strong>Groupware</strong>?<br />
40 <strong>Groupware</strong>-Migration<br />
Ein Portal verspricht die automatische<br />
Migration von E-Mails, Terminen<br />
und Aufgaben.<br />
44 Tine 2.0<br />
Die Versionen „Kristina“ und „Collin“<br />
der Tine-<strong>Groupware</strong> im Test.<br />
n Netzwerk<br />
24 PowerDNS<br />
Die Alternative zu BIND.<br />
30 Apache<br />
Neuheiten in Apache 2.4.6.<br />
34<br />
Social Software<br />
Enterprise 2.0 oder<br />
nutzloser Hype?<br />
24<br />
PowerDNS<br />
Leistungsfähiger und<br />
flexibler Nameserver.<br />
Service<br />
3 Editorial<br />
4 Inhalt<br />
6 Heft-CD<br />
114 Impressum und <strong>Vorschau</strong><br />
Ausgabe 12-2013<br />
Admin<br />
www.admin-magazin.de
Service<br />
Inhalt<br />
5<br />
84<br />
sicherer<br />
Schlüsselverlust ohne<br />
82SSL<br />
schlimme Folgen.<br />
GnuPG<br />
E-Mail-Verschlüsselung<br />
im Mailclient einrichten.<br />
Seite 6<br />
13.10<br />
Saucy Salamander Server<br />
n Know-how<br />
56 Git-Annex<br />
Datenverwaltung mit Git-Annex.<br />
60 Speicherfehler<br />
Memory Errors unter Linux erkennen<br />
und beobachten.<br />
62 Windows Server 2012 R2<br />
Was ist neu im Windows Server<br />
2012 R2?<br />
n Security<br />
68 Endian-Switchboard<br />
VPN und mehr: Remote-Zugriff mit<br />
dem Endian-Switchboard.<br />
78 Malware-Analyse<br />
Statische und dynamische Code-<br />
Analyse nimmt Schadsoftware<br />
unter die Lupe.<br />
82 SSL-Verschlüsselung<br />
Mehr Sicherheit mit Perfect<br />
Forward Secrecy.<br />
n Basics<br />
84 GnuPG<br />
E-Mail-Verschlüsselung mit Open-<br />
PGP sicher einrichten.<br />
88 <strong>ADMIN</strong>-Tipps<br />
Die monatlichen Praxistipps.<br />
n Test<br />
90 SQL-Acceleration<br />
Die Beschleunigerkarte ZD XL SQL<br />
Accelerator von OCZ im Test.<br />
n Virtualisierung<br />
94 OpenStack Havana<br />
Einen Cocktail an Neuerungen<br />
bietet das neue Havana-Release<br />
von OpenStack.<br />
100 vSphere 5.5<br />
VMware vSphere 5.5: Die wichtigsten<br />
Neuerungen im Überblick.<br />
n FreeX<br />
106 GELI<br />
Festplattenverschlüsselung<br />
in FreeBSD.<br />
56<br />
Git-Annex<br />
Synchronisation und Verwaltung von<br />
Daten mit dem Git-Tool.<br />
94<br />
OpenStack Havana<br />
Neuestes Release des Cloud-<br />
Computing-Frameworks.<br />
Admin<br />
Ausgabe 12-2013
6<br />
Service<br />
Heft-CD<br />
CD kaputt?<br />
Wir schicken Ihnen kostenlos eine Ersatz-CD<br />
zu, E-Mail genügt: info@admin-magazin.de<br />
Ubuntu 13.10 Saucy Salamander Server Edition<br />
Heft-CD<br />
Auf dem beiliegenden Datenträger finden Sie die neueste Version<br />
der Ubuntu-Server-Version 13.10 Saucy Salamander.<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30771<br />
n Speziell auf Server ausgerichtete<br />
Variante der beliebtesten Linux-<br />
Distribution.<br />
n Basierend auf Debian<br />
n Mit der neuesten Openstack-Version<br />
Havana<br />
n Mit dem Orchechstrierungstool Juju<br />
n Vordefinierte Pakete für typische<br />
Serverdienste<br />
Legen Sie einfach die DVD in das Laufwerk<br />
ein und starten Sie den Rechner.<br />
Möglicherweise müssen Sie noch im<br />
BIOS die richtige Boot-Reihenfolge<br />
einstellen. Danach können Sie Ubuntu<br />
13.10 Saucy Salamander Server Edition<br />
auf dem Rechner als Betriebssystem<br />
installieren. n<br />
antonino mirabile, 123RF<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
8<br />
Login<br />
Bücher<br />
Galina Peshkova, 123RF<br />
Bücher über High Availability unter Linux und Netzwerkanalyse mit Wireshark<br />
Vorgelesen<br />
Bücher stehen immer zur Lektüre bereit, ein Linux-Cluster nicht.<br />
Deshalb ist diesen Monat Hochverfügbarkeit ein Buchthema; ein anderes<br />
ist Netzwerkanalyse mit Wireshark. Oliver Frommel, Carsten Schnober<br />
Wenn man den Linux-Entwicklern eines<br />
nicht vorwerfen kann, dann ist es Stillstand.<br />
Für die Welt der Hochverfügbarkeit<br />
dokumentiert das ganz<br />
treffend die zweite Auflage<br />
des Buchs von Oliver Liebel.<br />
Eine ganze Menge hat<br />
sich seit des ersten Erscheinens<br />
geändert und all dies<br />
ist in der neuen Ausgabe<br />
dokumentiert. Tatsächlich<br />
schreibt Liebel über ein<br />
Feld, das sich im permanenten<br />
Wandel befindet,<br />
weshalb er um seine Aufgabe nicht zu<br />
beneiden ist. An vielen Stellen schwirrt<br />
dem Leser der Kopf, angesichts einer<br />
Vielzahl von konkurrierenden, sich<br />
teilweise ablösenden und doch wieder<br />
funktional überschneidenden Software-Paketen.<br />
Im Zentrum geht es um die Pacemaker-Software,<br />
die das Hirn eines<br />
Hochverfügbarkeits-Clusters darstellt.<br />
Die Kommunikation der mit dem Buch<br />
aufgebauten HA-Gebilde findet über<br />
Corosync statt. Das dazu passende Storage<br />
stellt der Autor vorzugsweise über<br />
DRBD zur Verfügung, geht aber auch<br />
auf die modernen verteilten Dateisysteme<br />
GlusterFS und vor allem Ceph<br />
ausführlich ein. Genauso aktuell ist die<br />
recht ausführliche Betrachtung des<br />
Linux-Dateisystems Btrfs, das der Autor<br />
für die Zukunft favorisiert. Für aktuelle<br />
Installationen rät er angesichts des<br />
Entwicklungszustands jedoch ab. Das<br />
gleiche gilt für Version 9.x von DRBD,<br />
der ein eigenes Kapitel gewidmet ist.<br />
Die Vielzahl der Details beim Setup<br />
eines hochverfügbaren Clusters ist<br />
verwirrend, und der Autor geht sie alle<br />
durch. Das sorgt für eine nicht<br />
einfach verdaubare Lektüre,<br />
aber auch für ein umfassendes<br />
Praxis-Handbuch zum Cluster-<br />
Setup. Ohne die vielen Beispiele<br />
am Rechner nachzuvollziehen,<br />
wird man an dem Buch<br />
wenig Freude haben, dafür ist<br />
es zu praxisorientiert.<br />
Wie schon bei der ersten Auflage<br />
ist der Schreibstil nicht<br />
jedermanns Sache. Des Guten zuviel<br />
sind aber absatzlange<br />
Exkurse in die Tagespolitik,<br />
Science Fiction<br />
und Motorradclubs, die<br />
schwer zu überspringen<br />
sind und das Verständnis<br />
eher erschweren.<br />
Wireshark 101<br />
Das Programm Wireshark<br />
hilft schon seit 1998 bei der Analyse<br />
von Netzwerken mit allen Details,<br />
bis 2006 unter dem Namen Ethereal.<br />
Nun ist die deutsche Ausgabe des<br />
Buchs »Wireshark 101 – Einführung in<br />
n Hochverfügbarkeit<br />
Oliver Liebel<br />
Linux Hochverfügbarkeit<br />
Galileo Press, 848 Seiten,<br />
49,90 Euro<br />
2., akt. und erw. Auflage 2013<br />
ISBN 978-3-8362-2542-7<br />
die Protokollanalyse« von Laura Chappell<br />
im mitp-Verlag erschienen.<br />
Die Autorin gibt auch Wireshark-Kurse<br />
und das spiegelt sich im Buch mit seinen<br />
abschließenden Übungsaufgaben<br />
wieder. Die bis ins letzte Untermenü<br />
ausgeführten und übersetzten Optionen<br />
und Beschreibungen geben ihm<br />
dazu einen referenzartigen Charakter.<br />
Der Nachteil des Detailreichtums liegt<br />
in teils langen Auflistungen mit wenig<br />
Informationsgehalt, die das Buch noch<br />
mehr zu einem Nachschlagewerk als zu<br />
einem sequenziell zu lesenden Stück<br />
machen.<br />
Vor der Beschreibung von Wire shark<br />
selbst gibt das Buch eine kurze Einführung<br />
in die grundlegenden Konzepte<br />
und die Terminologie moderner Netzwerktechnik.<br />
Leider fehlen praktische<br />
Hinweise etwa auf die korrekte<br />
Rechtevergabe für Wireshark;<br />
bei der Linux-Installation ist<br />
gar von zwingender manueller<br />
Übersetzung aus dem Quellcode<br />
die Rede, obgleich die meisten<br />
Distributionen fertige Wireshark-<br />
Binaries anbieten.<br />
Dennoch liefert »Wireshark 101«<br />
eine nützliche Einführung; wer<br />
die Paketflüsse in einem beliebigen<br />
Netzwerk untersuchen möchte, findet<br />
eine ausführliche Bedienungsanleitung<br />
für das Standardwerkzeug. n<br />
n Wireshark 101<br />
Laura Chappell<br />
Wireshark 101 –<br />
Einführung in die Protokollanalyse<br />
mitp, 352 Seiten,<br />
44,99 Euro<br />
1. Auflage, 2013<br />
ISBN: 978-3-8266-9713-5<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
10<br />
Login<br />
News<br />
Neue Software und Produkte<br />
Branchen-News<br />
Samba 4.1 veröffentlicht<br />
Mit Version 4.1 haben die Samba-Entwickler<br />
eine ganze Reihe von Verbesserungen in ihre<br />
Software integriert, mit der sich ein Active-Directory-Controller<br />
in freier Software nachbilden<br />
lässt. Neu ist etwa der Support von verschlüsselten<br />
Verbindungen über das SMB3-Protokoll<br />
in den Samba-Client-Tools. Beim Samba-Server<br />
wurde die Datenbank-Replikation im Domain-<br />
Controller-Modus verbessert. Sie soll nun<br />
schneller und zuverlässiger ablaufen.<br />
Der Support für serverseitiges Kopieren von<br />
Dateien auf Shares beschleunigt Kopiervorgänge,<br />
wenn die angebundenen Clients dies<br />
unterstützen, etwa in Windows 2012. Noch weiter<br />
beschleunigt wird dieser Vorgang durch ein<br />
neues VFS-Modul, das das Linux-Dateisystem<br />
Btrfs in Samba integriert. Btrfs selbst befindet<br />
sich allerdings noch im Entwicklungsstadium,<br />
deshalb steht dieses Feature unter Vorbehalt.<br />
Digital Attack Map visualisiert<br />
DDoS-Angriffe<br />
Aus einer Zusammenarbeit von Google Ideas und<br />
Arbor Networks ist die Digital Attack Map hervorgegangen,<br />
die unter der Adresse [http:// www.<br />
digitalattackmap. com/] zu finden ist. Sie stellt<br />
die Daten über DDoS-Angriffe grafisch dar, die Arbor<br />
mit seinem ATLAS Threat Monitor gesammelt<br />
hat. Aktualisiert wird der Bestand täglich.<br />
Zusammen mit der Digital Attack Map hat Google<br />
unter dem Überbegriff „Free Expression Tools“<br />
noch zwei weitere Projekte vorgestellt. Das eine<br />
ist eine Browser-Erweiterung namens uProxy, die<br />
es Anwendern ermöglichen soll, sich gegenseitig<br />
zuverlässige und gegen Abhören geschützte Verbindungen<br />
ins Internet bereitzustellen. Entwickelt<br />
wurde uProxy von der Universität Washington<br />
und Brave New Software. Unterstützt wurde das<br />
Projekt von Google Ideas.<br />
Das zweite „Free Expression Tool“ firmiert unter<br />
dem Namen „Google Shield“ und erlaubt es Website-Betreibern,<br />
ihre Inhalte über das Google-Netz<br />
anzubieten. Damit sollen sie besser vor Angriffen<br />
aus dem Internet geschützt sein. Für den Dienst<br />
ist derzeit noch eine Einladung nötig, die man auf<br />
der Webseite des Project Shield anfordern kann.<br />
eBay eröffnet Data Center mit Brennstoffzellen<br />
Die Firma eBay hat im US-amerikanischen Bundesstaat Utah ein Data Center eröffnet,<br />
das mit Brennstoffzellen betrieben wird. Damit will eBay den Ausstoß an<br />
Kohlendioxid wie auch die Betriebskosten<br />
für das Rechenzentrum<br />
senken. Die<br />
Festoxid-Brennstoffzellen<br />
(SOFC) werden<br />
von der Firma Bloom<br />
Energy hergestellt und<br />
verwenden als Brennstoff<br />
Erdgas, das über<br />
eine elektrochemische<br />
Reaktion Strom erzeugt.<br />
Andere Kunden<br />
von Bloom sind etwa<br />
Nokia, Google, Adobe<br />
und NTT.<br />
Ursprünglich war geplant,<br />
dafür Biogas zu verwenden. Eine dauerhafte Versorgung konnte damit<br />
aber laut eBay nicht gewährleistet werden. Dank der hohen Zuverlässigkeit der<br />
Brennstoffzellen-Technologie, kann eBay bei dem neuen Data Center auf die<br />
sonst üblichen Diesel-Generatoren zur Backup-Stromversorgung verzichten.<br />
Dem Ziel, bis zum Jahr 2015 wenistens acht Prozent des eigenen Energieverbrauchs<br />
aus „saubereren Quellen“ zu decken, will Ebay damit ein Stück näher<br />
kommen.<br />
Bloom Energy<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Mirantis veröffentlicht OpenStack-<br />
Distribution<br />
Die Firma Mirantis hat eine aktuelle Version ihrer OpenStack-<br />
Software-Distribution herausgegeben. Es handle sich um die<br />
„erste OpenStack-Distribution für den Enterprise-Markt ohne<br />
Lock-in“, also ohne Bindung an einen spezifischen Hersteller,<br />
so Mirantis in seiner Ankündigung. Der Grund dafür sei laut<br />
Mirantis-Chef Adrian Ionel, dass die Firma keine eigenen Pläne<br />
hinsichtlich Software-Vertrieb verfolge. Man sei vielmehr nur<br />
darauf konzentriert „Kunden dabei zu helfen, mit OpenStack<br />
erfolgreich zu sein.“ Tatsächlich besteht das Geschäft von<br />
Mirantis darin, Kunden, zu denen etwa AT&T, Cisco WebEx,<br />
Comcast, Dell, The Gap, NASA, NTT Docomo, PayPal, Red Hat,<br />
Sprint und Verizon gehören, bei der Einführung von OpenStack<br />
zu unterstützen.<br />
Die OpenStack-Pakete von Mirantis sind für die Linux-Distributionen<br />
von Red Hat, CentOS und Ubuntu ausgelegt und<br />
basieren noch auf dem Grizzly-Release von OpenStack. Die<br />
eben erschienene Version „Havana“ soll am 11. November als<br />
Mirantis-Distribution verfügbar sein. Über die Kernpakete von<br />
OpenStack hinaus enthält die Distribution auch das grafische<br />
Deployment-Tool Fuel, das Mirantis im März dieses Jahres<br />
freigegeben hat. Enthalten sind außerdem die Komponenten<br />
Savanna, das einen Hadoop-Cluster basierend auf OpenStack<br />
realisiert, und Murano, das einfaches Windows-Deployment<br />
ermöglicht. Neben der Standard-Storage-Komponente „Swift“<br />
unterstützt die Mirantis-Version von OpenStack auch das verteilte<br />
Dateisystem Ceph.<br />
Der behaupteten Offenheit zum Trotz erfordert ein Download<br />
der Mirantis-OpenStack-Distribution unter [http:// software.<br />
mirantis. com/] die vorherige Registrierung.<br />
Weed-FS: neues Dateisystem für große<br />
Datenmengen<br />
Unter dem Namen Weed-FS gibt es ein neues Dateisystem, das<br />
für sehr große Datenmengen ausgelegt ist, die von Anwendungen<br />
oft gelesen werden. Dabei orientiert es sich an der Storage-<br />
Methode, die Facebook beim Speichern von Fotos verwendet<br />
und in dem Papier „Finding a needle in Haystack: Facebook's<br />
photo storage“ dargelegt hat. Der Schlüssel zu hoher Lese-<br />
Performance liegt dabei in der Minimierung und der Verteilung<br />
von Metadaten, die nach den Untersuchungen Facebooks auf<br />
konventionellen Dateisystemen wie NFS zu einem großen Overhead<br />
führen.<br />
Weed-FS verzichtet wie die Haystack-Software auf die klassische<br />
Posix-File-Semantik, also beispielsweise auf die Vergabe<br />
von Dateirechten. Stattdessen arbeitet Weed-FS als einfacher<br />
Key-Value-Storage, der über mehrere Rechner verteilt ist. Auch<br />
die Metadaten zu jedem Objekt, die nur etwa 40 Byte umfassen,<br />
liegen im Hauptspeicher der Knoten und nicht auf dem Master-<br />
Server, der somit nicht zu einem Engpass beim Zugriff werden<br />
kann. Weed-FS ist in Go geschrieben und steht als freie Software<br />
unter der Apache-2.0-Lizenz. Der Code ist unter [https://<br />
code. google. com/ p/ weed‐fs/] zu finden.<br />
www.admin-magazin.de
Neues Entwicklerkit für IPv6 im Internet<br />
der Dinge<br />
Die Firma Libelium bietet ein neues Entwicklerkit für Projekte<br />
an, in denen Sensoren und andere Kleinelektronik<br />
per IPv6 ans Internet angebunden wird. Das<br />
dafür vorgesehene Protokoll 6LoWPAN (IPv6 over<br />
Low power Wireless Personal Area Networks) wird von<br />
einer Arbeitsgruppe der IETF entwickelt.<br />
Das 6LoWPAN-Developer-Kit basiert auf der Waspmote-Plattform<br />
von Libelium, die über das neue Protokoll Sensoren ans Internet anbinden<br />
kann. Derzeit gibt es dafür bereits mehr als 60 Sensoren, etwa für Emissionsmessung,<br />
Strahlungsmessung, Smart Metering und GPS. Die Software für das Kit namens<br />
Mote Runner steuert IBM Zürich bei. Sie enthält verschiedene Bibliotheken zur Programmierung<br />
und eine Eclipse-basierte grafische Entwicklungsumgebung. Der Preis für das Kit startet<br />
bei etwa 2500 Euro und enthält bereits etwa 20 Sensoren.<br />
IPv6 soll die Grundlage für das sogenannte Internet der Dinge (Internet of Things) legen, das<br />
von diversen Herstellern und Consultants als neues Hype-Thema propagiert wird: Bis zum Jahr<br />
2020 wird sich die Zahl der ans Internet angeschlossenen Geräte von heute 2,5 Milliarden auf<br />
30 Milliarden erhöhen, meinen die Analysten von Gartner. Der Router-Hersteller Cisco, der das<br />
Thema aggressiv vorantreibt, geht gar von 50 Milliarden Geräten aus (siehe dazu die Infografik<br />
des Herstellers links). Wie realistisch solche Zahlen sind und wie etwa die damit verbundenen<br />
Sicherheitsfragen gelöst werden sollen, ist unklar. Mehr Informationen zum 6LoWPAN-Kit sind<br />
unter [http:// www. libelium. com/ products/ waspmote‐mote‐runner‐6lowpan] zu finden.<br />
Oracle kündigt neue In-Memory-Option an<br />
Auf der hauseigenen Konferenz und Messe<br />
OpenWorld in San Francisco hat Oracle als bedeutendste<br />
Neuerung im Datenbankbereich<br />
eine In-Memory-Option vorgestellt. Oracle<br />
vereinigt dabei zwei schon seit Längerem<br />
existierende Technologien: Die Ablage kompletter<br />
Tabellen im Hauptspeicher und ein<br />
spaltenorientiertes Ablageformat (Columnar<br />
Format). Die neue Option, die mit dem ersten<br />
Patch Release von Oracle 12 im ersten Quartal<br />
2014 verfügbar sein wird, zeichnet sich durch<br />
zwei wesentliche Vorteile aus: Zum einen<br />
kann die gesamte Infrastruktur der Oracle-<br />
Datenbank etwa in den Bereichen Backup,<br />
Hochverfügbarkeit und Security mit der<br />
neuen Option verwendet werden. Das ergibt<br />
einen großen Wettbewerbsvorteil gegenüber<br />
In-Memory-Konkurrenzprodukten, die für<br />
diese Gebiete erst Lösungen neu entwickeln<br />
müssen. Zum anderen können bestehende<br />
Anwendungen ohne Änderung von dem möglichen<br />
Geschwindigkeitszuwachs profitieren.<br />
Ein einfacher SQL-Befehl kann einer bestehenden<br />
Tabelle eine In-Memory-Speicherstruktur<br />
hinzufügen (und sie auch wieder entfernen).<br />
Das spaltenorientierte Format hat dabei einen<br />
ähnlichen Effekt wie ein Index und kann<br />
Zugriffe insbesondere aus Analytics- und<br />
Reporting-Anwendungen um den Faktor 100<br />
beschleunigen. Restriktionen bezüglich der<br />
verwendbaren SQL-Konstrukte gibt es nicht.<br />
Eine zeitintensive Datenmigration findet nicht<br />
statt. Scale-Out-Lösungen wie Oracle RAC<br />
können weiter benutzt werden.<br />
Mod-Statistics: SNMP für Apache<br />
Ein neues Modul für den Apache-Webserver ermöglicht es, Variablen und Statistiken über SNMP<br />
(Simple Network Monitoring Protocol) auszulesen. Mod-Statistics ist jetzt in Version 1.0 verfügbar<br />
und implementiert damit bereits den Support für das kommende HTTP-2.0-Protokoll. Die<br />
Software besteht aus einem Apache-Modul und einer Extension für Net-SNMP. Die verfügbaren<br />
SNMP-Variablen sind in der APACHE2-MIB (Management Information Base) definiert. Zur aktiven<br />
Alarmierung kann Mod-Statistics auch SNMP-Traps verschicken. Der Quellcode ist unter<br />
[http:// sourceforge. net/ projects/ apachestatistics/] zu finden.<br />
Quelle: Cisco<br />
Admin<br />
www.admin-magazin.de
Login<br />
News<br />
13<br />
Neuer Flash-Speicher von Dell<br />
Ab sofort sind die neuen Flash-optimierten Lösungen des Dell-Compellent-<br />
Systems verfügbar, deren entscheidender Vorteil hohe Speicherkapazitäten bei<br />
niedriger Latenzzeit und hoher Leistung ist. Die Flash-optimierte Lösung des<br />
Dell-Compellent-Systems ist die erste Storage-Lösung ihrer Klasse, die eine intelligente<br />
Datenanordnung bietet – entweder unter Einbeziehung unterschiedlicher<br />
Flash-Technologien oder kombiniert mit herkömmlichen Festplatten. Mit diesem<br />
zukunftsweisenden Ansatz können Unternehmen alle wichtigen Daten auf einem<br />
Flash-Speicher bereitstellen. Das ist schneller und billiger als mit einem vergleichbaren<br />
herkömmlichen 15K-Festplattensystem. Die Anwender profitieren von<br />
automatisch arbeitenden Tiering-Funktionen, die gleichzeitig für eine hohe Performance<br />
sorgen.<br />
Die neue Software in der Version 6.4 des Dell Compellent Storage Center schreibt<br />
die Daten zunächst auf hochperformante und hochverfügbare SLC-Drives. Werden<br />
die Daten seltener benötigt, verlagert sie die Software automatisch auf Second-<br />
Tier-MLC-Drives und schließlich auf kostengünstige Festplatten mit großen Speicherkapazitäten.<br />
Dieser Tiering-Ansatz, der unterschiedliche Flash-Speicher mit<br />
herkömmlichen Festplatten kombiniert, ermöglicht im Vergleich zu reinen Flash-<br />
Arrays, die nicht hinsichtlich Kosten oder Performance optimiert sind, Kostensenkungen<br />
um bis zu 80 Prozent. Gleichzeitig werden hohe I/O-Transaktionsraten und<br />
niedrige Latenzen erreicht. Ein weiterer Vorteil ist die nahtlose Integration in eine<br />
einheitlich zu managende Lösung.<br />
n Info<br />
Neueste nachrichten<br />
immer auf<br />
www.admin-magazin.de<br />
Weiterführende Links und<br />
Informationen zu den<br />
News finden Sie unter:<br />
www.admin-magazin.de/qr/30772<br />
Drahtlose Datenübertragung mit 100<br />
GBit pro Sekunde im Labor<br />
Schnelle Glasfasernetze sind in Deutschland eine Rarität. Das<br />
liegt vor allem daran, dass dafür jedes Dorf und jedes Haus mit<br />
neuen Kabeln versorgt werden müsste. Langfristig könnten die<br />
hohen Kosten für die Anbindung an schnelle Netzwerke sinken,<br />
indem die Datenübertragung statt über Glasfaser drahtlos erfolgt.<br />
Wie das Fachjournal Nature Phonetics in seiner neuen Ausgabe<br />
berichtet, haben Karlsruher Forscher nun erstmals Daten<br />
mit 100 GBit pro Sekunde übertragen, wenn auch nur über eine<br />
Strecke von 20 Metern.<br />
Der superschnelle Datentransfer setzt dabei auf eine sehr hohe<br />
Trägerfrequenz von 247,5 Gigahertz, auch weil der Frequenzbereich<br />
zwischen 100 Gigahertz und 30 Terahertz noch weitgehend<br />
ungenutzt ist. Zur Umsetzung der Rekordgeschwindigkeitsübertragung<br />
fassen die Forscher zunächst mehrere Bits zu<br />
sogenannten Datensymbolen zusammen und übertragen diese<br />
dann gleichzeitig. Das erlaube die direkte Umwandlung von<br />
Datenströmen aus faseroptischen Systemen in hochfrequente<br />
Funksignale, sagt der Erfinder des Verfahrens, Professor Dr. Jürg<br />
Leuthold, der inzwischen an der Eidgenössischen Technischen<br />
Hochschule (ETH) Zürich forscht.<br />
Im Mai hatte das Team bereits im Rahmen des Forschungsprojekts<br />
Millilink Daten zwischen zwei Hochhäusern mit einem<br />
Abstand von etwa einem Kilometer übertragen. Dabei erreichten<br />
sie eine Datenrate von immerhin 40 GBit pro Sekunde.<br />
Wann die Experimente zu einsatzfertigen Produkten führen,<br />
bleibt abzuwarten. Die Karlsruher Forscher verweisen allerdings<br />
darauf, dass die nun erreichten Übertragungsraten noch vor kurzem<br />
erst für das Jahr 2015 für möglich gehalten wurden.<br />
Anzeige<br />
www.admin-magazin.de
14<br />
Login<br />
OSMC<br />
Copyright, 123RF<br />
Viel Neues in Sachen Monitoring<br />
OSMC 2013<br />
Nagios ist zwar seit einiger Zeit aus dem Namen der Konferenz verbannt, aber<br />
längst nicht aus dem Programm. Auf der OSMC 2013 drehten sich viele Sessions<br />
um das prominente Monitoring-Tool und seine Ableger. Jens-Christoph Brendel<br />
Traditionell der letzte Vortrag am ersten<br />
Tag, sehr gut besucht und wie immer<br />
deutlich länger als auf der Agenda<br />
ausgewiesen: So präsentierte auch in<br />
diesem Jahr wieder Bernd Erk, einer<br />
der beiden Netways-Geschäftsführer,<br />
Neues rund um Icinga. Dabei ging es<br />
zuerst um einige Neuerungen in Icinga<br />
1, der größere Teil der Präsentation<br />
aber bezog sich auf das parallel von<br />
Grund auf neu in C++ entwickelte Icinga<br />
2. Das inkludiert inzwischen einen<br />
Cluster-Stack, der sich sowohl für Lastverteilung<br />
wie für Hochverfügbarkeit<br />
nutzen lässt und es ermöglicht, dass<br />
die stark modularisierte Applikation<br />
Funktionen beliebig auf einzelne Hosts<br />
eines Clusters verteilen kann.<br />
Als weitere große Neuerung wurde ein<br />
völlig neues Web-Interface vorgestellt,<br />
dass sich für alle Backends eignen soll<br />
und mit dem Ziel antritt, schneller, einfacher<br />
und leichter bedienbar zu sein.<br />
Dazu geht es beispielsweise sparsamer<br />
mit Informationen um und zeigt dem<br />
Nutzer nur Dinge, auf die er tatsächlich<br />
reagieren muss. Weiter ausgebaut<br />
wurde auch die Icinga-Dokumentation,<br />
für die nun anstelle von DocBook die<br />
einfachere Auszeichnungssprache<br />
Markdown zum Zuge kommt.<br />
Neuer Nagios-Fork<br />
In einem Vortrag zuvor sollte es eigentlich<br />
um Neuerungen in Nagios 4.1 und<br />
5 gehen, die überraschendste Erkenntnis<br />
dieser Session war aber, dass der<br />
Referent, der bekannte langjährige<br />
Nagios-Maintainer Andreas Ericsson,<br />
gar nicht mehr an Nagios arbeitet,<br />
sondern mit seinem eigenen Nagios-<br />
Fork Naemon an den Start geht. Nagios<br />
Enterprises hatte ihn kurzerhand vor<br />
die Tür gesetzt. Was immer die Gründe<br />
dafür gewesen sein mögen – allein die<br />
Tatsache, dass gleichzeitig das ehedem<br />
öffentliche Developer-Forum in ein moderiertes<br />
Portal verwandelt wurde, ist<br />
ein weiterer Fingerzeig dafür, dass dort<br />
der Offenheit nicht mehr die höchste<br />
Priorität eingeräumt wird.<br />
Um Nagios ging es aber wie immer<br />
nicht ausschließlich: Rihard Olups demonstrierte<br />
Zabbix, Luca Deri sprach<br />
über Network Traffic Monitoring<br />
mit »ntopng«, Georg Kostner stellte<br />
End User Experience Monitoring mit<br />
Al’exa vor und Jeff Gehlbach Neues in<br />
OpenNMS.<br />
Ein weiterer Schwerpunkt seit Jahren<br />
ist die Automatisierung: Sei es mithilfe<br />
von Puppet (Bernd Strößenreuther und<br />
Sascha Brechmanm), sei es durch das<br />
automatische Erzeugen von Konfigurationsfiles<br />
durch das coshsh-Framework<br />
(Gerhard Laußer) oder mithilfe von<br />
Adagios (Páll Sigurdsson). Neben der<br />
Vorstellung solcher Tools hatten nicht<br />
zuletzt auch wieder praktische Fallstudien<br />
Platz im Programm, etwa durch<br />
das IT-Team der bayerischen Landeshauptstadt<br />
München.<br />
Niemand fährt wegen der Schnittchen<br />
zu einer Konferenz. Dass aber das<br />
Catering, die Unterbringung und die<br />
gesamte Konferenzorganisation auch<br />
in diesem Jahr wieder vorzüglich funktionierten,<br />
verdient erwähnt zu werden,<br />
schafft es doch eine angenehme Atmosphäre<br />
für den Gedankenaustausch. Wo<br />
man sich gut aufgehoben fühlt, kommt<br />
man gerne wieder. n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
16<br />
Login<br />
Admin-Story<br />
Migration virtueller Maschinen<br />
Wandervogel<br />
Lin Yan, 123RF<br />
Für die Verwaltung von virtuellen Systemlandschaften kommt in vielen Datacentern immer noch<br />
vSphere vom Platzhirsch VMware zum Einsatz. Mit oVirt steht jedoch eine ausgewachsene Open-Source-<br />
Alternative zur Verfügung. Auch die Migration der virtuellen Systeme stellt mittlerweile kein Hexenwerk<br />
mehr dar. Thorsten Scherf<br />
Das Management-Framework oVirt [1]<br />
ist für die Verwaltung von virtuellen Maschinen<br />
auf Basis des KVM-Hypervisors<br />
ausgelegt (Abbildung 1). Mitte September<br />
ist die Version 3.3.0 erschienen, die<br />
eine Menge Features enthält, sodass<br />
das Framework mittlerweile eine ernste<br />
Alternative auch für eingefleischte<br />
VMware-Administratoren sein sollte.<br />
Zu den wichtigsten Features zählen<br />
sicherlich:<br />
n Live-Migration virtueller Systeme<br />
n Storage-Live-Migration<br />
n Online-Snapshots von virtuellen<br />
Systemen<br />
n Umfangreiche RESTful-API zur Automatisierung<br />
von Aufgaben<br />
n Support für iSCSI-, FCoE-, NFS- und<br />
Gluster-Backend-Speicher<br />
Eine Quick-Start-Anleitung zur Konfiguration<br />
der Software befindet sich<br />
unter [2]. An dieser Stelle soll es darum<br />
gehen, bestehende virtuelle Maschinen<br />
auf die neue KVM-basierte Umgebung<br />
zu migrieren.<br />
Virtuelle Maschinen verfügen immer<br />
über eine entsprechende Datei, in der<br />
das System näher spezifiziert ist. In VMware-Umgebungen<br />
ist das die VMX-Datei<br />
einer Maschine, in Libvirt-basierten<br />
Umgebungen handelt es sich um eine<br />
XML-Datei, die das System beschreibt.<br />
Die dort enthaltenen Informationen<br />
werden dann jeweils in die Datenbank<br />
des Management-Systems geladen und<br />
stehen dort jedem Host zur Verfügung.<br />
Möchte man nun Systeme aus einer Virtualisierungsumgebung<br />
in eine andere<br />
migrieren, so müssen beide natürlich<br />
die Beschreibung der zu migrierenden<br />
Systeme lesen und verstehen können.<br />
Aus diesem Grunde wurde das Open<br />
Virtual Machine Format (OVF) eingeführt.<br />
OVF wurde im Jahre 2011 als<br />
offizieller ISO-Standard anerkannt und<br />
unterstützt eine Vielzahl von Virtualisierungslösungen,<br />
beispielsweise Red<br />
Hat Enterprise Virtualization, VMware,<br />
Linux z/VM und auch VirtualBox. OVF<br />
wird auch gerne dazu genutzt, Software-Appliances<br />
als virtuelle Systeme<br />
zu verteilen.<br />
Sollen Systeme aus einer bestehenden<br />
VMware-Umgebung in die neu aufgebaute<br />
oVirt-Umgebung umgezogen<br />
werden, so besteht eine Möglichkeit<br />
darin, die Systeme aus der alten<br />
Umgebung zu exportieren und in ein<br />
OVF-Archiv zu verpacken und dann in<br />
der neuen Umgebung zu importieren.<br />
VMware beherrscht das Exportieren aus<br />
vSphere heraus, bietet mit dem OVF-<br />
Tool aber auch ein Kommandozeilen-<br />
Interface an, mit dem sich der Export<br />
automatisieren lässt.<br />
Nicht lückenlos<br />
An dieser Stelle könnte man meinen,<br />
alles ist gut und wir sind ja fast fertig.<br />
Leider ging es aber bisher nur um eine<br />
Seite der Medaille. Versucht man nun<br />
nämlich das OVF-Archiv in die oVirt-<br />
Umgebung zu importieren, so schlägt<br />
das fehl. Das Tool »engine‐image‐uploader«<br />
verweigert seinen Dienst. Der<br />
Import in eine VMware-Umgebung<br />
klappt jedoch reibungslos.<br />
In der OVF-Definition steht zwar beschrieben,<br />
wie eine virtuelle Maschine<br />
in dem Archiv zu definieren ist, es gibt<br />
allerdings keinerlei Aussage darüber,<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Login<br />
Admin-Story<br />
17<br />
Ziel-Umgebung zu gewährleisten.<br />
Das Tool »virt‐v2v«<br />
lässt sich aus dem<br />
Standard-Software-<br />
Repository eines aktuellen<br />
Fedora- oder<br />
Red-Hat-Enterprise-<br />
Linux-Systems installieren.<br />
Vor der<br />
eigentlichen Migration<br />
sind allerdings einige<br />
Voraussetzungen zu<br />
erfüllen, etwa auf oVirt-<br />
Seite eine NFS-basierte<br />
Export-Domäne, die<br />
während der Migration<br />
das OVF-Archiv aufnimmt.<br />
Von hier aus<br />
lässt sich die migrierte Maschine dann<br />
in einen beliebigen Cluster innerhalb<br />
der oVirt-Datacenter schieben.<br />
Ein weiterer wichtiger Punkt betrifft die<br />
Netzwerk-Konfiguration. In der oVirtwelches<br />
Disk-Format zu verwenden<br />
ist. Das Format muss also kompatibel<br />
sein mit dem, was der Hypervisor in<br />
der Zielumgebung unterstützt. Leider<br />
unterstützt oVirt zwar QCOW und RAW,<br />
nicht aber das von VMware verwendete<br />
VMDK-Format. Was also tun? Anstatt<br />
nun lange am Archiv herumzubasteln,<br />
um das Disk-Format zu konvertieren,<br />
kann man auf eine alternative Lösung<br />
zurückgreifen.<br />
Seit einiger Zeit existiert das Tool<br />
»virt‐v2v«. Dieses ist in der Lage,<br />
Maschinen zwischen verschiedenen<br />
Umgebungen zu migrieren und das erzeugte<br />
OVF-Archiv so anzupassen, dass<br />
ein Import in der gewünschten Zielumgebung<br />
reibungslos funktioniert. Allerdings<br />
kommt es noch besser: Das Tool<br />
führt nicht nur einen einfachen Import<br />
der virtuellen Maschine durch, stattdessen<br />
injiziert es der zu migrierenden<br />
Maschine auch noch VirtIO-Treiber, um<br />
die bestmögliche Performance in der<br />
Abbildung 1: oVirt ist auf die Verwaltung von virtuellen Maschinen auf<br />
KVM-Basis ausgelegt.<br />
Umgebung sind entweder die gleichen<br />
Netze wie in der VMware-Umgebung<br />
anzulegen oder ein Mapping für die<br />
notwendigen Netze einzurichten. Das<br />
Mapping erfolgt in der Datei »/etc/
18<br />
Login<br />
Admin-Story<br />
n Listing 1: Konfiguration<br />
01 <br />
02 <br />
03 <br />
04 <br />
06 <br />
n Info<br />
n Autor<br />
virt‐v2v.conf«. Ist beispielsweise das<br />
Netz »vm‐infra« auf der VMware-Seite<br />
vorhanden und soll dieses mit dem<br />
Netz »ovirt‐infra« in der neuen Umgebung<br />
verknüpft werden, so ist hierfür<br />
die folgende Option in der Konfigurationsdatei<br />
zu definieren. Das äußere Netz<br />
bezieht sich auf die alte, das innere auf<br />
die neue Umgebung:<br />
<br />
<br />
<br />
Damit die notwendigen Pakete, also die<br />
VirtIO-Treiber inklusive der eventuellen<br />
Abhängigkeiten, während der Migration<br />
in die Maschine injiziert werden können,<br />
sind diese im einfachsten Fall auf<br />
dem System zur Verfügung zu stellen,<br />
von dem das Migrationstool »virt‐v2v«<br />
aufgerufen wird. Überlicherweise handelt<br />
es sich hierbei um den Ordner<br />
»/var/lib/virt‐v2v/software/«, allerdings<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30776<br />
Thorsten Scherf arbeitet als<br />
Principal Consultant für Red Hat<br />
EMEA. Er ist oft als Vortragender<br />
auf Konferenzen anzutreffen.<br />
Wenn ihm neben der Arbeit und<br />
Familie noch Zeit bleibt, nimmt er<br />
gerne an Marathonläufen teil.<br />
lässt sich in der Datei »/var/lib/virt‐v2v/<br />
virt‐v2v.db« auch ein alternativer Ordner<br />
im Tag »path‐root« definieren. In<br />
der »virt‐v2v.db«-Datei werden auch<br />
sämtliche Software-Pakete aufgeführt,<br />
die während der Migration injiziert<br />
werden. Welche das sind, ist natürlich<br />
vom Betriebssystem und dessen Version<br />
abhängig. Das Beispiel in Listing 1<br />
verdeutlicht dies für ein RHEL5-System.<br />
Wird dieses auf die oVirt-Umgebung<br />
migriert, so müssen die im Tag »dep<br />
name« vorhandenen Pakete installiert<br />
sein, damit die Installation der VirtIO-<br />
Treiber funktioniert. Ist dies nicht der<br />
Fall, so werden die fehlenden Pakete<br />
zuerst installiert – entweder aus dem<br />
Dateisystem des Migrationshosts oder<br />
online aus dem Red Hat Network, wenn<br />
die Maschine dort denn registriert ist.<br />
Treiber, die nicht für den Boot-Vorgang<br />
der Maschine benötigt werden, lassen<br />
sich auch zu einem späteren Zeitpunkt<br />
einbinden. Hier ist es dann auch möglich,<br />
ein ISO-Image mit den benötigten<br />
Treibern an die Maschine anzuhängen<br />
und die Treiber von dort zu installieren.<br />
Vorsicht: Treiber<br />
Zum Abschluss sollte man noch darauf<br />
achten, dass man ein aktuelles Backup<br />
der zu migrierenden Maschinen hat<br />
und dass sich keine VMware-spezifische<br />
Software mehr auf den Systemen befindet.<br />
Ich habe schon öfters erlebt, dass<br />
Maschinen nicht korrekt starten, wenn<br />
vor der Migration die VMware-Tools<br />
nicht entfernt wurden.<br />
Der eigentliche Migrationsvorgang lässt<br />
sich dann mit dem folgenden Kommando<br />
anstoßen. Dieses ist im Idealfall<br />
auf einem dedizierten Migrationshost<br />
aufzurufen:<br />
virt‐v2v ‐ic esx://esx.example.com/U<br />
?no_verify=1 ‐o rhev ‐os storage.example.U<br />
com:/ovirt‐exportdomain ‐‐network ovirt‐U<br />
infra vm‐name<br />
Die Option »‐ic« gibt hier den ESX-Host<br />
an, von dem die Maschine migriert werden<br />
soll. Alternativ könnte hier auch<br />
ein Xen- oder KVM-Host stehen. Die<br />
Angabe von »no_verify=1« sorgt dafür,<br />
dass auch ungültige X.509-Zertifikate<br />
(beispielsweise selbstsignierte) vom<br />
Tool »virt‐v2v« akzeptiert werden. Mittels<br />
»‐o« wird die Zielumgebung spezifiziert.<br />
Die Angabe »rhev« bezieht sich<br />
hier auf das Enterprise-Produkt Red<br />
Hat Enterprise Virtualization; oVirt stellt<br />
dessen Upstream-Variante dar. Die<br />
Storage-Domäne, in die das OVF-Archiv<br />
importiert wird, bekommt das Tool mittels<br />
der Option »‐os« übergeben. Das<br />
Netzwerk sollte das sein, für welches in<br />
der Konfigurationsdatei ein Mapping<br />
eingerichtet wurde und schließlich wird<br />
die zu migrierende Maschine als letztes<br />
Argument übergeben.<br />
Zur Authentifizierung auf dem ESX-Host<br />
kann der Benutzername und das Passwort<br />
interaktiv übergeben werden. Für<br />
die Migration mehrerer Systeme bietet<br />
es sich allerdings an, die Account-Daten<br />
für den Zeitraum der Migration in der<br />
Datei »$HOME/.netrc« zu speichern. Sie<br />
hat folgendes Format:<br />
machine esx.example.com login root U<br />
password redhat<br />
Hat die Migration der Maschine funktioniert,<br />
taucht sie schließlich innerhalb<br />
der oVirt-Export-Domäne auf und lässt<br />
sich über das webbasierte Management-Tool<br />
in einen der vorhandenen<br />
oVirt-Cluster importieren. Nach einem<br />
Neustart der migrierten Maschine in<br />
der neuen Umgebung sollte sichergestellt<br />
werden, dass sie wie erwartet<br />
funktioniert. Erst dann kann man guten<br />
Gewissens die Maschine auf der alten<br />
Umgebung löschen und auch das OVF-<br />
Archiv aus der oVirt-Export-Domäne<br />
entfernen.<br />
Für die Migration von sehr vielen Systemen<br />
skaliert die hier vorgestellte<br />
Methode natürlich nicht sonderlich gut.<br />
Hier bietet es sich an, eine Lösung auf<br />
Basis von »virt-v2v« in Kombination<br />
mit der RESTful-API des oVirt-Managers<br />
zu entwickeln. Das oVirt-Wiki zeigt<br />
einige Beispiele dafür, wie eine Kombination<br />
aus Kommandozeilen-Tools<br />
(hier das Tool virt-v2v) zusammen mit<br />
der RESTful-API des oVirt-Managers<br />
aussehen könnte. Bleibt zum Schluss<br />
nur noch, viel Spaß bei der Migration<br />
der virtuellen Maschinen auf die offene<br />
Management-Plattform oVirt zu wünschen.<br />
(ofr) n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
20<br />
Login<br />
Betriebssysteme<br />
Innovation in der Betriebssystementwicklung<br />
Fata Morgana<br />
Virtualisierung bringt Fahrt in<br />
die Entwicklung von Betriebssystemen,<br />
stellt aber auch gewohnte<br />
Konzepte grundsätzlich<br />
in Frage. Oliver Frommel<br />
david manno, 123RF<br />
Wenn man sich heute in eine technische<br />
Universität begibt und eine Vorlesung<br />
zum Thema Betriebssysteme<br />
besucht, hat sich im Grunde gegenüber<br />
früher wenig verändert. Das ist<br />
vielleicht kein Wunder, denn auch die<br />
Rechnerarchitektur ist seit vielen Jahrzehnten<br />
die gleiche. Mit ihr und ihren<br />
Beschränkungen müssen Betriebssysteme<br />
umgehen und etwa Hauptspeicher<br />
und CPU-Zeit auf quasi-gleichzeitig<br />
laufende Prozesse verteilen. An<br />
den Prinzipien hierfür hat sich seit den<br />
siebziger Jahren mit Unix wenig geändert,<br />
aber mit etwas Glück steht heute<br />
wenigstens Linux auf dem Lehrplan.<br />
Kein Wunder, dass angesichts dessen<br />
Rob Pike vor 15 Jahren die These von<br />
der Belanglosigkeit der Forschung im<br />
Bereich der Systemsoftware formuliert<br />
hat [1]. Vermutlich wurde sie auch aus<br />
dem Frust darüber genährt, dass sein<br />
eigenes Plan-9-System [2] zwar recht<br />
revolutionär war, aber außerhalb elitärer<br />
Zirkel kaum je Fuß fassen konnte.<br />
Jedenfalls vertritt Pike die Theorie,<br />
dass es etwa im Bereich der Betriebssysteme<br />
kaum relevante Forschung<br />
gebe und etwa Linux, das damals bereits<br />
im Mainstream angekommen war,<br />
gegenüber dem alten Unix nichts Neues<br />
zu bieten habe. Innovation sei dagegen<br />
eher noch bei Microsoft zu finden.<br />
Keine Rollle spielt allerdings in Pikes<br />
Betrachtungen eine Technologie, die<br />
gerade ein Jahr vorher auf der Bildfläche<br />
erschienen war: VMware hatte<br />
1999 das erste Virtualisierungsprodukt<br />
auf den Markt gebracht. Zwar gibt es<br />
Virtualisierung schon seit den sechziger<br />
Jahren, aber die Technologie war<br />
bis dahin auf die Partitionierung von<br />
Großrechnern wie IBMs System/370<br />
beschränkt. Erst mit VMware begann<br />
der Virtualisierungstrend auf konventionellen<br />
Servern und Desktops, der bis<br />
heute nachschwingt.<br />
Revolution Virtualisierung<br />
Richtig interessant wurde das Ganze<br />
dann um das Jahr 2005 herum, als die<br />
beiden CPU-Hersteller Intel und AMD<br />
auch Hardware-Support zur Virtualisierung<br />
in ihre Chips integrierten. In<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Linux/KVM<br />
OS V<br />
Apps<br />
Apps<br />
Libs<br />
Libs<br />
App<br />
Linux<br />
Linux<br />
Libs<br />
JVM<br />
Qemu<br />
OS V<br />
OS V<br />
Linux−Kernel<br />
KVM<br />
KVM<br />
Xen<br />
Hardware<br />
Hardware<br />
Abbildung 1: OSv läuft auf verschiedenen Hypervisor-Systemen und ist ein minimalistisches<br />
OS, das einzelne Anwendungen hostet.<br />
der Linux-Welt dominierte lange der<br />
Xen-Hypervisor das Geschäft, aber<br />
er erfordete einen eigenen Kernel<br />
und fand lange keinen Einzug in den<br />
Entwicklerzweig von Linus Torvalds.<br />
Die Linux-Kernel-Entwickler schlugen<br />
derweil einen anderen Weg ein, den sie<br />
für besser erachteten: einen Hypervisor<br />
namens KVM (Kernel Virtual Machine),<br />
der selbst als Teil des Linux-Kernels<br />
lief. Es ist wohl nicht übertrieben zu behaupten,<br />
dass KVM heute der De-facto-<br />
Standard für Virtualisierung unter Linux<br />
ist. So ist es etwa die zugrunde liegende<br />
Technologie für die Virtualisierungslösung<br />
in Red Hat Enterprise Linux.<br />
Selbst einige Kernel-Entwickler aus<br />
dem Solaris-Umfeld waren offensichtlich<br />
von der Tauglichkeit oder<br />
zumindest der Popularität von KVM<br />
beeindruckt und haben die komplette<br />
Infrastruktur auf den Solaris-Kernel<br />
portiert. So kann die Firma Joyent jetzt<br />
auch virtuelle KVM-Maschinen anbieten,<br />
die auf dem hauseigenen, Solarisbasierten<br />
SmartOS laufen [3].<br />
Interessanterweise haben nun gerade<br />
die Entwickler von KVM einen neuen<br />
Weg eingeschlagen und im Oktober<br />
ein neues Betriebssystem mit dem<br />
Namen OSv vorgestellt, das sie als<br />
„Cloud OS“ vermarkten. Hinter dem<br />
Projekt stecken maßgebliche Köpfe der<br />
Linux-Welt, etwa der KVM-Erfinder Avi<br />
Kivity, der KVM-Projektmanager Dor<br />
Laor sowie die Kernel-Programmierer<br />
Glauber Costa, Nadav Har’El und Pekka<br />
Enberg. Zusammen haben sie die Firma<br />
Cloudius gegründet, die OSv als freie<br />
Software veröffentlicht hat.<br />
Minimal<br />
Dass OSv unter einer BSD-Lizenz steht<br />
und nicht, wie etwa der Linux-Kernel,<br />
unter der GPL, weist schon darauf hin,<br />
dass das neue Betriebssystem von<br />
FreeBSD abgeleitet ist. Allerdings haben<br />
die Entwickler auch große Teile des<br />
neuen Kernels selbst geschrieben. OSv<br />
ist für den Betrieb auf Hypervisor-Systemen,<br />
insbesondere KVM, optimiert<br />
und verzichtet deshalb auf viele Funktionen<br />
moderner Betriebssysteme, etwa<br />
die Aufteilung in Kernel- und Userspace<br />
oder unterschiedliche Adressräume.<br />
Der damit erzielte Wegfall von Kontextwechseln<br />
soll zu höherer Performance<br />
führen. Anwendungen wie die Java Virtual<br />
Machine werden aus dem gleichen<br />
Grund direkt in das Betriebssystem<br />
integriert. Das minimalistische OS soll<br />
jeweils nur eine Anwendung hosten,<br />
www.admin-magazin.de<br />
Admin
22<br />
Login<br />
Betriebssysteme<br />
n Info<br />
Klassisches OS<br />
Anwendung<br />
Runtime/Library<br />
Betriebssytem−Kernel<br />
Hypervisor<br />
Hardware<br />
verzichtet dazu weitgehend auf die von<br />
Unix bekannten Security-Features und<br />
überlässt sie dem Hypervisor (Abbildung<br />
1). Auch die von Linux und Unix<br />
bekannte Konfiguration des Betriebssystems<br />
fällt mit dem neuen Konzept<br />
weg.<br />
Alles schon dagewesen?<br />
Denkt man ein bisschen über die Architektur<br />
von Hypervisor und minimalistischen<br />
Gastsystemen nach, erinnert<br />
sie möglicherweise an einen alten<br />
Bekannten: den Microkernel. Auch<br />
hier beschränkt sich der eigentliche<br />
Betriebssystemkern auf sehr wenige<br />
Funktionen. Andere Teile des Betriebssystems<br />
laufen als weniger privilegierte<br />
Prozesse im Userspace und können somit<br />
bei Fehlfunktionen nicht das ganze<br />
System in den Abgrund reißen. Bekanntlich<br />
hat der Informatik-Professor<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30859<br />
Mirage<br />
Anwendung<br />
Mirage Runtime<br />
Hypervisor<br />
Hardware<br />
Uni−<br />
kernel<br />
Abbildung 2: Mirage ist ein experimentelles Cloud-OS, das anwendungsspezifische Images aus<br />
Ocaml-Runtime und Applikation auf dem Xen-Hypervisor laufen lässt.<br />
Andrew Tanenbaum Linux schon in den<br />
Anfangszeiten dafür kritisiert, nicht das<br />
Microkernel-Prinzip umzusetzen, sondern<br />
auf einen monolithischen Kernel<br />
zu setzen.<br />
Jetzt schleicht sich der Microkernel –<br />
wenn man so will – über die Virtualisierungstechnologie<br />
wieder ein.<br />
Letztlich ist es mit der zunehmenden<br />
Verbreitung von Cloud-Architekturen<br />
nur konsequent, wie bei OSv das „Cloud<br />
OS“ und die Gastsysteme jeweils auf<br />
ein Minimum zu reduzieren, statt immer<br />
wieder aufs Neue die gleichen<br />
Systemteile zu replizieren. In konventionellen<br />
Linux-Installationen wird diese<br />
Idee zum Teil durch Container-Technologien<br />
wie OpenVZ und LXC umgesetzt,<br />
doch deren Realisierung ist kompliziert.<br />
Volle Virtualisierung, aber dafür mit<br />
stark abgespeckten Systemen, scheint<br />
demgegenüber der einfachere Weg zu<br />
sein.<br />
Wunschbild<br />
Einen ähnlichen Weg wie OSv schlägt<br />
auch das Mirage OS [5] ein, das als<br />
Bare-Metal-Hypervisor Xen einsetzt,<br />
auf dem hochspezialisierte Gastsysteme<br />
laufen, die in einer Hochsprache<br />
(OCaml) statt C geschrieben sind. Auch<br />
diese sogenannten Unikernel besitzen<br />
wie eine Instanz von OSv nur einen<br />
flachen Adressraum und können auf<br />
Wunsch sogar read-only gesetzt werden.<br />
Letzteres ist nur eine von vielen<br />
Sicherheitsmaßnahmen, die bei derart<br />
verteilten Architekturen sicherlich noch<br />
wichtig werden.<br />
Eine offene Frage ist bei solchen Ansätzen<br />
noch, wie Anwendungen, die je<br />
in einem eigenen Minimal-OS laufen,<br />
miteinander kommunizieren sollen.<br />
Lösungen dafür gibt es natürlich eine<br />
Reihe, etwa aus dem Bereich verteilter<br />
Webanwendungen. Beispiele sind<br />
Messaging-Systeme wie ActiveMQ,<br />
RabbitMQ und der Java Messaging Service.<br />
Sie entsprächen dann in etwa der<br />
Infrastruktur für Interprozesskommunikation,<br />
wie die Microkernel sie bieten.<br />
Wie sich das auf die Performance eines<br />
Gesamtsystems auswirkt, wird erst die<br />
Praxis zeigen. Eine Unterstützung durch<br />
den Hypervisor wäre hierbei vermutlich<br />
hilfreich.<br />
Nimmt man all diese Dinge zusammen,<br />
entsteht am Ende eine Art Baukasten-<br />
System, bei dem der Hypervisor oder<br />
Microkernel Steckplätze bereitstellt, in<br />
die der Infrastrukturbetreiber einzelne<br />
Bausteine steckt, die aus einem Micro-<br />
OS zusammen mit je einer Anwendung<br />
bestehen. Weitere Bauteile sind dann<br />
gewissermaßen die Leitungen, die<br />
diese Bausteine verbinden. Eine solche<br />
Architektur wird beispielsweise schon<br />
heute von den in Ubuntu implementierten<br />
Charms des Juju-Systems eingesetzt.<br />
Ausblick<br />
Es wird sicher noch einige Zeit vergehen,<br />
bis das Mirage OS reif für den<br />
Echtwelteinsatz ist. Eine günstigere<br />
Prognose ist vermutlich dem OSv beschieden,<br />
das sich weniger weit weg<br />
vom Mainstream bewegt, aber trotzdem<br />
einen neuartigen Ansatz verfolgt,<br />
der interessant erscheint. Mindestens<br />
diese beiden Beispiele zeigen aber,<br />
dass durch die immer weitere Verbreitung<br />
von Virtualisierungstechnologie<br />
auch Türen aufgestoßen werden, die<br />
neue Perspektiven im Bereich der Systemprogrammierung<br />
eröffnen. n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
24<br />
Netzwerk<br />
PowerDNS<br />
Nameserver mit PowerDNS<br />
Geballte Power<br />
Joe Belanger, 123RF<br />
Der BIND-Server ist die Standardsoftware für den Betrieb eines Nameservers. Der PowerDNS-Server ist<br />
eine Alternative, die einen Kompatibilitätsmodus zu BIND besitzt, aber auch mit zahlreichen Datenbank-<br />
Backends eigene Wege geht. Joseph Guarino<br />
Glücklicherweise leben wir nicht mehr<br />
in den Zeiten des Arpanets, als Administratoren<br />
große Host-Dateien von<br />
n Tabelle 1: PowerDNS-Features<br />
Autoritativer DNS-Server<br />
Caching DNS-Server<br />
API zum Anlegen und Ändern von Zonen und Records<br />
Webbasiertes Admin-Frontend<br />
BIND-kompatible Datenspeicherung in Files (optional)<br />
Datenbank-Backends: DB2, Firebird, Interbase, LDAP,<br />
MySQL, Microsoft SQL Server, Oracle, PostgreSQL,<br />
SQLite, Sybase (optional)<br />
IPv4, IPv6, UDP/TCP, DNSSEC, DNS64<br />
Loadbalancing / Failover<br />
SNMP<br />
Remote abfragbare Statistiken<br />
Eingebauter Webserver (optional)<br />
Debugging-Tools<br />
Lua-Skripting<br />
Plattformen: Linux, BSD, Unix<br />
Rechner zu Rechner kopieren mussten,<br />
um andere Knoten im Netz zu erreichen.<br />
Heute haben wir das Domain<br />
Name System (DNS), das einen hierarchischen<br />
Namensraum implementiert,<br />
der Host- und Domainnamen auf IP-Adressen<br />
abbildet. Der De-facto-Standard<br />
für die entsprechende Nameserver-<br />
Software ist BIND (Berkeley Internet<br />
Name Domain), der schon seit den<br />
achtziger Jahren existiert und durch<br />
seine zahlreichen Sicherheitslücken bekannt<br />
wurde. Mit Version 9 wurde BIND<br />
von Grund auf neu geschrieben, um ein<br />
sicheres Fundament für den Domain<br />
Name Service zu schaffen.<br />
Eine Alternative zu BIND ist PowerDNS<br />
[1], das zuerst als kommerzielles Produkt<br />
existierte, bevor die gleichnamige<br />
Firma die Software unter der GPL-Lizenz<br />
freigab. Sein überschaubarer Code<br />
und der Fokus auf Sicherheit, Skalierbarkeit<br />
und Zuverlässigkeit machen<br />
PowerDNS zu einem guten Kandidaten<br />
bei der Auswahl eines Nameservers.<br />
Komponenten<br />
PowerDNS besteht grundsätzlich aus<br />
zwei Komponenten: dem autoritativen<br />
Nameserver und dem Recursor. Andere<br />
Nameserver vereinen die beiden<br />
Funktionen, aber bei PowerDNS lassen<br />
sich beide auch getrennt voneinander<br />
betreiben. Ein autoritativer Nameserver<br />
ist in etwa das, wonach es klingt:<br />
ein Nameserver, der für eine bestimmte<br />
Domain die wichtigen Informationen in<br />
einer sogenannten Zone führt, einer Art<br />
administrativer Einheit im DNS-System<br />
(nicht unbedingt identisch mit einer<br />
Domain). Autoritative Domainserver<br />
gibt es in zwei Ausführungen:<br />
n Der »Primary Name Server«, der oft<br />
auch Master genannt wird, ist die<br />
ursprüngliche und definitive Quelle<br />
für die alle Zonen-Einträge einer<br />
Domain.<br />
n Der »Secondary Name Server«, auch<br />
Slave genannt, führt die gleichen<br />
Informationen, bezieht sie aber vom<br />
Master-Server.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Netzwerk<br />
PowerDNS<br />
25<br />
Der Recursor von PowerDNS dient im<br />
Gegensatz dazu nur als Cache für die<br />
rekursiven Anfragen von Clients an<br />
DNS-Server im Internet. Der eigene PowerDNS-Server<br />
ist also nicht autoritativ<br />
für die angefragten DNS-Informationen,<br />
sondern nur die erste Anlaufstelle, die<br />
gegebenenfalls die Informationen aus<br />
dem eigenen Cache holt.<br />
Der Recursor bietet eine ganze Reihe<br />
von Features, so implementiert er<br />
selbstverständlich alle relevanten<br />
Standards, zum Beispiel auch DNS64<br />
[2]. Darüber hinaus implementiert er<br />
besondere Maßnahmen, um etwa DNS-<br />
Spoofing zu verhindern: Das Fälschen<br />
von DNS-Informationen, das Angreifer<br />
für Man-in-the-Middle-Angriffe verwenden.<br />
Er kann DNS-Abfragen abfangen,<br />
umleiten und NXDOMAIN-Antworten<br />
verschicken, wenn eine Domain nicht<br />
existiert. Zur Steuerung gibt es das Tool<br />
»rec_control«, das auch Statistiken für<br />
MRTG und RRD ausgeben kann. Seit<br />
Version 3.1.7 können Anwender sogar<br />
eigene Lua-Skripts schreiben, die Anfragen<br />
verarbeiten. Zugriff bietet der<br />
Recursor sowohl lokal als auch remote.<br />
Neu konfigurieren lässt sich der Recursor<br />
auch ohne Neustart. Tabelle 1 fasst<br />
noch einmal die wesentlichen Features<br />
von PowerDNS zusammen.<br />
zustellen, ist keine gute Idee. Installiert<br />
ist der PowerDNS-Recursor auf Ubuntu<br />
schnell:<br />
sudo apt‐get install pdns‐recursor<br />
Nun müssen Sie die mitgelieferte Konfiguration<br />
in »/etc/powerdns/recursor.<br />
conf« anpassen. Um der Kürze willen<br />
sind in Listing 1 nur die geänderten Variablen<br />
abgedruckt. Nach einem Neustart<br />
per »sudo service pdns‐recursor<br />
restart« ist der Recursor einsatzbereit.<br />
Steuern lässt sich der Recursor mit<br />
dem kleinen Tool »rec_control«. So<br />
testet der Befehl »rec_control ping«,<br />
ob der Server läuft. Alle Variablen fragt<br />
der Aufruf von »rec_control get‐all« ab,<br />
während »rec_control get Variable«<br />
einen bestimmten Wert ermittelt. Diese<br />
Werte können Sie beispielsweise in ein<br />
Programm wie RRDTool einspeisen, um<br />
Statistiken und Diagramme zu erstellen.<br />
Beenden lässt sich der Server mit<br />
»rec_control quit«.<br />
Master<br />
Wie schon erwähnt kann PowerDNS<br />
diverse Datenbanken als Backend nutzen.<br />
Zunächst soll es aber erst einmal<br />
darum gehen, einen Nameserver in<br />
BIND-kompatibler Konfiguration zu<br />
betreiben. Das bietet sich zum Beispiel<br />
an, wenn man von einer existierenden<br />
BIND-Installation auf PowerDNS migrieren<br />
möchte. Die beiden Server, der<br />
Master und der Slave, sollen öffentlich<br />
zugänglich sein und müssen deshalb<br />
auf Rechnern – oder auch virtuellen<br />
Maschinen – außerhalb der firmeneigenen<br />
Firewall betrieben werden. Der<br />
folgende Befehl installiert die nötige<br />
Software auf einer Ubuntu-Maschine:<br />
sudo apt‐get install pdns‐server<br />
Die Konfiguration für den Primary-DNS<br />
von »example.com«, die in »/etc/powerdns«<br />
gespeichert wird, ist in Listing 2<br />
zu sehen. Außer der Vorwärtsauflösung<br />
von Namen zu IP-Adressen sollte man<br />
sich auch um den umgekehrten Weg,<br />
also die Zuordnung von IP-Adressen<br />
zu Namen, den sogenannten Reverse<br />
Lookup kümmern. Das geht aber nur,<br />
wenn man überhaupt die DNS-Autori-<br />
Backends<br />
PowerDNS bietet eine ganze Reihe<br />
von Möglichkeiten, um die Zonendaten<br />
zu speichern. Das können wie bei<br />
BIND einfache Dateien sein, die dank<br />
eines Kompatibilitätsmodus sogar im<br />
BIND-Format abgefasst sein dürfen. Alternativ<br />
gibt es eine Vielzahl von Datenbank-Backends,<br />
etwa für MySQL und<br />
PostgreSQL. Dieser Artikel beschränkt<br />
sich darauf, die Konfiguration im BIND-<br />
Modus sowie die Administration mit<br />
dem Poweradmin-Web-Frontend und<br />
MySQL vorzuführen. Als Beispielplattform<br />
dient im weiteren Verlauf Ubuntu<br />
12.04, das Sie erst einmal mit dem<br />
Paketmanager aktualisieren sollten,<br />
wenn Sie die Beispiele nachvollziehen<br />
wollen.<br />
Einen Recursor, wie er im Folgenden<br />
entsteht, sollte man im lokalen Netz<br />
hinter einer Firewall platzieren. Ihn<br />
öffentlich zugänglich im Internet auftät<br />
für den eigenen IP-Adressen-Block<br />
hat. Sonst muss man sich an seinen<br />
Provider wenden. Prinzipiell funktionieren<br />
die meisten Dienste auch ohne<br />
das umgekehrte Mapping, allerdings<br />
dauert dann beispielsweise das Login<br />
auf einem Rechner länger, wenn der<br />
entsprechende Dienst einen Reverse<br />
Lookup versucht und dann bis zum Timeout<br />
wartet.<br />
n Listing 1: »recursor.conf«<br />
01 allow‐from=192.168.1.0/24<br />
02 # The 'allow‐from' address specifies the network<br />
address space you want to service queries to<br />
with your PowerDNS recursor. Note you can use<br />
comma‐separated individual IPs or networks in<br />
CIDR notation.<br />
03 #<br />
04 local‐address=192.168.1.10<br />
05 # 'local‐address' specifies the address or<br />
addresses on which the recursor is to listen for<br />
queries.<br />
06 #<br />
07 version‐string=Wait, this ain't no host file<br />
08 # Give out bogus version information when<br />
queried with 'dig @ns1.example.com ‐c<br />
09 CH ‐t txt version.bind'. I'd rather add some<br />
mystery. =)<br />
n Listing 2: »example.com.zone«<br />
01 example.com. 84600 IN SOA ns1.example.<br />
com. hostmaster.example.com. (<br />
02 2013062901 ; serial<br />
03 21600 ; refresh (6 hours)<br />
04 900 ; retry (15 minutes)<br />
05 604800 ; expire (1 week)<br />
06 3600 ; minimum (1 hour)<br />
07 )<br />
08 NS ns1.example.com<br />
09 NS ns2.example.com<br />
10 MX 10 mail.example.com<br />
11 ns1 A 192.168.1.10<br />
12 ns2 A 192.168.1.11<br />
13 mail A 192.168.1.13<br />
14 www A 192.168.1.14<br />
n Listing 3: »bindbackend.conf«<br />
01 options {<br />
02 directory "/etc/powerdns";<br />
03 };<br />
04 zone "example.com" {<br />
05 type master;<br />
06 file "example.com.zone";<br />
07 };<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
26<br />
Netzwerk<br />
PowerDNS<br />
Die Konfigurationsdatei »/etc/powerdns/bindbackend.conf«<br />
bestimmt,<br />
welche Zonen der PowerDNS-Server<br />
lädt. Sie ist in Listing 3 zu sehen. In<br />
der Hauptkonfigurationsdatei »/etc/<br />
powerdns/pdns.conf« stehen ein<br />
paar grundlegende Variablen, die die<br />
Funktion des Nameservers bestimmen<br />
(»launch=bind«), und die Verweise auf<br />
weitere Konfigurationsdateien, etwa<br />
die eben entstandene BIND-Konfiguration.<br />
Die relevanten Zeilen sind in<br />
Listing 4 wiedergegeben. Ein Neustart<br />
per »sudo service pdns restart« lässt<br />
den Server die Konfiguration neu einlesen.<br />
Zum gleichen Ziel führt es, dem<br />
Server mit dem Kill-Befehl ein HUP-<br />
Signal zu schicken.<br />
Secondary<br />
Für den Anfang sind die Arbeitsschritte<br />
auf dem »Secondary Name Server«<br />
die gleichen wie auf dem Master:<br />
»pdns‐server« installieren und die<br />
Konfigurationsdatei »/etc/powerdns/<br />
bindbackend.conf« anlegen. Letztere<br />
unterscheidet sich nur in einem<br />
Punkt von der Master-Konfiguration<br />
in Listing 3: Beim Slave steht in Zeile 5<br />
statt »master« eben »slave«. Der Slave-<br />
Server soll außerdem mit eigenen Userund<br />
Group-IDs laufen, weshalb Sie die<br />
Besitzrechte der Konfigurationsdateien<br />
anpassen müssen:<br />
sudo chown ‐R pdns:pdns /etc/powerdns<br />
Dementsprechend finden sich Userund<br />
Group-ID auch in der Konfigurationsdatei<br />
»/etc/powerdns/pdns.conf«,<br />
die in Listing 5 zu sehen ist. Ein weiterer<br />
Unterschied zur Master-Konfiguration<br />
ist hier die Anweisung »slave=yes«.<br />
Haben Sie auch die Secondary-Konfiguration<br />
per Neustart des Service oder<br />
HUP-Signal neu eingelesen, können<br />
Sie den Dienst testen, zum Beispiel<br />
mit dem Dig-Befehl. Wie das aussehen<br />
könnte, zeigt der Kasten »DNS testen«.<br />
Analog zum Recursor steuern Sie Master-<br />
und Slave-Server mit einem Utility<br />
namens »pdns_control«.<br />
Mit MySQL<br />
Wie erwähnt kann PowerDNS auch verschiedene<br />
Datenbanken als Backend<br />
verwenden. Im Rest des Artikels geht<br />
es deshalb um die Konfiguration mit<br />
MySQL, die auch die Verwaltung von<br />
PowerDNS mit der Web-GUI »Poweradmin«<br />
erlaubt. Die Installation des<br />
Servers läuft wie oben beschrieben,<br />
allerdings lautet der Launch-Modus<br />
dieses Mal »gmysql«. Er verlangt nach<br />
weiteren Variablen wie dem Datenbanknamen,<br />
dem Benutzernamen für<br />
die Datenbank und dem Passwort. Die<br />
relevanten Zeilen sind in Listing 6 wiedergegeben.<br />
n Listing 4: »pdns.conf« (Ausschnitt)<br />
01 allow‐axfr‐ips=192.168.1.11<br />
02 # IP Address allowed to perform AXFR.<br />
03 #<br />
04 bind‐check‐interval=300<br />
05 # Tell server how often to check for zone changes.<br />
06 #<br />
07 launch=bind<br />
08 bind‐config=/etc/powerdns/bindbackend.conf<br />
09 # Tell PowerDNS to launch with BIND back end using the specified<br />
configuration f<br />
10 ile.<br />
11 #<br />
12 local‐address=192.168.1.10<br />
13 # Specifies the local IP on which PowerDNS listens.<br />
14 #<br />
15 master=yes<br />
16 # Tells PowerDNS to run this as the primary server. This primary<br />
server will sen<br />
17 d out a special notify packet to notify the secondary or slave of<br />
updates.<br />
18 #<br />
19 setgid=pdns<br />
20 # Sets Group ID to pdns for improved security<br />
21 #<br />
22 setuid=pdns<br />
23 # Sets user id to pdns for improved security<br />
24 #<br />
25 version‐string=anonymous<br />
26 # No server version is divulged via dig query (e.g., dig @ns1.<br />
example.com ‐c CH ‐<br />
27 t txt version.bind). I'd rather make script kiddies work harder.<br />
=)<br />
n Listing 5: Secondary-Konfiguration<br />
01 launch=bind<br />
02 bind‐config=/etc/powerdns/bindbackend.conf<br />
03 # Tell PowerDNS to launch with BIND back end using the specified<br />
configuration<br />
04 file<br />
05 #<br />
06 bind‐check‐interval=300<br />
07 # Tell server how often to check for zone changes<br />
08 #<br />
09 local‐address=192.168.1.11<br />
10 # Specifies the local IP on which PowerDNS listens<br />
11 #<br />
12 setgid=pdns<br />
13 # Sets Group ID to pdns for improved security<br />
14 #<br />
15 setuid=pdns<br />
16 # Sets user id to pdns for improved security<br />
17 #<br />
18 slave=yes<br />
19 # Variable identifies this server as a secondary or slave server<br />
20 #<br />
21 version‐string=anonymous<br />
22 # No server version is divulged via a dig inquiry (e.g., dig @<br />
ns1.example.com ‐<br />
23 c CH ‐t txt version.bind). Oh, the mystery!<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Netzwerk<br />
PowerDNS<br />
27<br />
Die im Beispiel konfigurierte Datenbank<br />
»pdns« müssen Sie in MySQL selbst anlegen,<br />
zum Beispiel im MySQL-Monitor<br />
»mysql« oder in einem Web-Frontend<br />
wie PHP-MyAdmin oder Chive [3].<br />
Dort vergeben Sie auch die Lese- und<br />
Schreibrechte für den MySQL-Benutzer<br />
»puser« beziehungsweise »puser@localhost«,<br />
wie MySQL ihn meistens verlangt.<br />
Das passende SQL-Schema für<br />
die Datenbank ist in Listing 7 zu sehen.<br />
Login<br />
Zwar könnten Sie nun PowerDNS direkt<br />
über die Datenbank verwalten,<br />
allerdings nur mit eigenen Skripts oder<br />
etwa einem SQL-Frontend wie PHP-<br />
MyAdmin. Weil das ziemlich mühsam<br />
ist, ist es gut, dass es mit Poweradmin<br />
[4] ein fertiges Web-Frontend gibt, das<br />
die Angelegenheit vereinfacht. Neben<br />
MySQL und Apache setzt es außerdem<br />
PHP sowie die PHP-Pakete »session«,<br />
»gettext«, »mcrypt«, »PEAR« und<br />
»PEAR::MDB2« voraus. Haben Sie das<br />
Poweradmin-Paket heruntergeladen,<br />
entpacken Sie es im Document Root<br />
des Webservers. Für die Benutzer-ID,<br />
unter der der Webserver läuft, muss<br />
die Konfiguration von Poweradmin<br />
schreibbar sein.<br />
Unter der Adresse »http://primary/<br />
Poweradmin/install/index.php« ist<br />
im Browser die Installationroutine zu<br />
n DNS testen<br />
finden. Zuerst wählen Sie die Sprache,<br />
bevor sie die Zugangsdaten zur PowerDNS-Datenbank<br />
eingeben müssen<br />
(Abbildung 1). Poweradmin verwendet<br />
einen zweiten MySQL-Account, den<br />
Sie im nächsten Schritt konfigurieren.<br />
Anschließend gibt das Installationspro-<br />
Wenn der PowerDNS-Dienst läuft, können Sie ihn auf der Kommandozeile desselben Rechners testen:<br />
primary:~$dig +norecurs @127.0.0.1 ns1.example.com A<br />
dig +norecurs @127.0.0.1 ns1.example.com A<br />
; DiG 9.9.2‐P1 +norecurs @127.0.0.1 ns1.example.com A<br />
; (1 server found)<br />
;; global options: +cmd<br />
;; Got answer:<br />
;; ‐>>HEADER
28<br />
Netzwerk<br />
PowerDNS<br />
Abbildung 1: Eingabe der MySQL-Konfigurationsdaten.<br />
Abbildung 2: Editieren einer Zone.<br />
n Info<br />
gramm einen SQL-Befehl aus, mit dem<br />
Sie den Account auf der Kommandozeile<br />
im MySQL-Monitor anlegen. Das<br />
Verzeichnis »install« können Sie nach<br />
erfolgreicher Installation löschen.<br />
Das Poweradmin-Interface erreichen<br />
Sie nun unter »http://primary/Poweradmin/index.php«.<br />
Dort legen Sie<br />
zunächst eine neue Master-Zone an, für<br />
die Sie die nötigen Basisinformationen<br />
eingeben. Anschließend zeigen Sie<br />
sich mit »List zones« die Zonen an und<br />
wählen mit »Edit« die neue Zone zum<br />
Editieren aus (Abbildung 2).<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30863<br />
Die GUI ist recht einfach gestrickt und<br />
füllt für die nötigen Konfigurationswerte<br />
schon Defaults ein. Sich ein bisschen<br />
mit den Grundlagen von DNS zu<br />
beschäftigen, etwa den Record-Typen<br />
A (AAAA), CNAME und so weiter, sowie<br />
Werten wie der Time-to-live (TTL), kann<br />
auf jeden Fall nicht schaden.<br />
Zuverlässigkeit und<br />
Sicherheit<br />
Für einen zuverlässigen Dienst ist Redundanz<br />
ein Muss. Ein derart wichtiger<br />
Service wie DNS sollte mindestens<br />
zweifach vorhanden sein – sonst brauchen<br />
Sie vermutlich mehr als zwei<br />
Aspirin, um mit den Kopfschmerzen<br />
fertig zu werden, die ihnen ein unzuverlässiger<br />
DNS-Service bereitet. Wer eine<br />
Datenbank als Backend verwendet,<br />
sollte selbstverständlich auch sie hochverfügbar<br />
auslegen.<br />
Wie es im Zusammenhang mit BIND<br />
schon anklang, ist DNS ein häufiges<br />
Opfer von Angriffen. Weil Zugangsbeschränkungen<br />
oft auf Hostnamen<br />
basieren, lohnt es sich für Angreifer,<br />
DNS-Informationen zu manipulieren.<br />
Auch laufen DNS-Server immer mit<br />
Superuser-Rechten, weil sie Zugang zu<br />
privilegierten Ports haben, die unter<br />
Unix Root-Rechte erfordern. Das macht<br />
Exploits interessant, die sich über Buffer<br />
Overflows durch manipulierte DNS-<br />
Anfragen ausnutzen lassen.<br />
Das beste Mittel dagegen ist, seine<br />
Software immer auf dem Laufenden zu<br />
halten. Auch eine vernünftige Firewall-<br />
Konfiguration für den DNS-Server ist<br />
kein Fehler, um andere Angriffspunkte<br />
zu minimieren. Schließen Sie alle<br />
Ports außer den Ports 22 (für das SSH-<br />
Login), 53/TCP und 53/UDP. Wollen<br />
Sie das Web-Frontend verwenden,<br />
öffnen Sie noch den Port 80. Besser ist<br />
es allerdings, stattdessen gleich den<br />
Webserver mit HTTPS zu konfigurieren<br />
und Port 443 zu verwenden. DNSspezifische<br />
Maßnahmen für höhere<br />
Sicherheit sind, TSIG/TKEY und DNSSEC<br />
zu verwenden. Mit TSIG/TKEY sichern<br />
Sie Zone-Transfers ab, mit DNSSEC<br />
erschweren Sie das sogenannte Cache<br />
Poisoning.<br />
Community<br />
Wie bei anderen Open-Source-Projekten<br />
gibt es auch für PowerDNS eine<br />
Reihe von Möglichkeiten, Hilfe zu erhalten<br />
wie beispielsweise Mailinglisten,<br />
Foren und IRC. Auch kommerziellen<br />
Support bietet die hinter PowerDNS<br />
stehende Firma an, die auch die<br />
Community rund um PowerDNS am<br />
Laufen hält. Wer sich selbst einbringen<br />
möchte, hat dafür reichlich Gelegenheit.<br />
Offene Punkte sind derzeit etwa:<br />
Support für OS X, Solaris-Pakete, Backends<br />
testen, Regression-Tests schreiben<br />
und Bug-Tickets verwalten. Alleine<br />
die zahlreichen Web-Frontends zu katalogisieren,<br />
wäre schon ein nützlicher<br />
Dienst an der Power DNS-Gemeinschaft.<br />
All diese Aufgaben bieten einen guten<br />
Einstieg in ein aktives und attraktives<br />
Open-Source-Projekt, das hilft, einen<br />
unverzichtbaren Dienst des Internets zu<br />
betreiben. (ofr) n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
30<br />
Netzwerk<br />
Apache 2.4.6<br />
Neuheiten in Apache 2.4.6<br />
Comeback<br />
Der Apache-Webserver ist nicht tot, nur etwas eingerostet.<br />
Damit das nicht so bleibt, haben die Entwickler<br />
ihn in Version 2.4 gründlich überholt. Oliver Frommel<br />
Wenn man den monatlich erscheinenden<br />
Statistiken von Netcraft glauben<br />
darf, ist Apache immer noch der am<br />
weitesten verbreitete Webserver im<br />
ganzen World Wide Web (Abbildung 1).<br />
Schon länger legt die Konkurrenz in<br />
Form von Nginx zwar stetig zu, ist aber<br />
doch noch meilenweit von den beinahe<br />
knapp 47 Prozent entfernt, mit denen<br />
Apache weiterhin das Feld dominiert.<br />
Dennoch haben auch die Apache-<br />
Entwickler die Kritik an ihrer Software<br />
vernommen, sie sei veraltet und zu<br />
schwerfällig, und den Webserver in der<br />
Version 2.4 gründlich überarbeitet [1].<br />
n Listing 1: Makro<br />
01 <br />
02 <br />
03 ServerName www.$domain<br />
04 <br />
05 DocumentRoot /var/www/vhosts/$name<br />
06 ErrorLog /var/log/httpd/$name.error_log<br />
07 CustomLog /var/log/httpd/$name.access_<br />
log combined<br />
08 <br />
09 <br />
10 <br />
11 Use VHost admin admin‐magazin.de<br />
12 Use VHost linuxmagazin linux‐magazin.de<br />
Da sind zunächst einmal viele Kleinigkeiten,<br />
die das Leben eines Apache-<br />
Adminstators erleichtern können. Das<br />
beginnt bei der Möglichkeit, in der<br />
Server-Konfiguration Variablen zu definieren,<br />
die sich später an anderer Stelle<br />
wiederverwenden lassen. So legt im<br />
folgenden Beispiel die erste Zeile eine<br />
Variable »$host« fest, die anschließend<br />
verwendet wird:<br />
Define $host www.google.com<br />
<br />
ErrorLog /var/log/httpd/${host}.log<br />
Ähnlich funktioniert Mod-Macro, das<br />
es bereits vorher als externes Modul<br />
gab, das aber seit der eben erschienenen<br />
Version 2.4.6 fester Bestandteil<br />
des Apache-Pakets ist [2]. Ein Makro<br />
funktioniert ähnlich wie eine Funktion<br />
in einer Programmiersprache: Man definiert<br />
es zusammen mit Variablen, die<br />
im Rumpf des Makros vorkommen. Will<br />
man das Makro verwenden, ruft man<br />
es mit den konkreten Werten auf, die<br />
ins Makro eingesetzt werden. Listing 1<br />
illustriert die Anwendung.<br />
Geändert hat sich auch die Syntax für<br />
die Definition namensbasierter virtueller<br />
Hosts. Die bisher dafür verwendete<br />
Anweisung »NameVirtualHost« gibt<br />
es nämlich nicht mehr. Stattdessen<br />
können Administratoren sich nun auf<br />
die Definition der virtuellen Hosts<br />
beschränken. Listing 2 und Listing 3 zeigen<br />
den Unterschied. Diese scheinbar<br />
kleine Änderung ist laut der Apache-<br />
Entwickler eine große Sache, denn der<br />
alte Weg der Konfiguration führte zu<br />
einer Vielzahl von Problemen, wenn der<br />
»NameVirtualHost« nicht zu einem »VirtualHost«<br />
passte.<br />
Noch mehr Komfort bei der Konfiguration<br />
entsteht durch die Möglichkeit,<br />
mit logischen Bedingungen wie »If«,<br />
»ElseIf« und »Else« einzelne Abschnitte<br />
ein- und auszuschalten. Hierbei können<br />
sowohl selbstdefinierte Variablen wie<br />
auch die vorbelegten Servervariablen<br />
zum Einsatz kommen. Ein Beispiel dafür<br />
ist in Listing 4 zu sehen. Die gleiche<br />
Funktion, nämlich die Umleitung auf<br />
den WWW-Host, wurde bisher meistens<br />
mit Rewrite-Regeln umgesetzt, erforderte<br />
aber dafür kompliziertere Konstruktionen.<br />
Lediglich mit den Anführungszeichen<br />
muss man beim neuen<br />
Weg etwas aufpassen.<br />
Weitere Änderungen der Syntax gibt es<br />
etwa bei der Override-Konfiguration,<br />
die nun eine feiner abgestufte Kontrolle<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Netzwerk<br />
Apache 2.4.6<br />
31<br />
Oleksandr But, 123RF<br />
dessen erlaubt, was an Zugriffen auf<br />
ein bestimmtes Webverzeichnis erlaubt<br />
ist. Genauso wurde der Zugriffsschutz<br />
per Require von Grund auf überarbeitet.<br />
Statt der simplen, alten Anweisungen<br />
»allow« und »deny« gibt es nun<br />
die Option, logische Bedingungen zu<br />
verschachteln und damit den Zugriff<br />
im Einzelnen zu kontrollieren. Dabei<br />
berücksichtigt der Apache-Server auf<br />
Wunsch die Zugriffsmethode (GET/PUT<br />
und so weiter), Umgebungsvariablen,<br />
IP-Adresse/Hostname und auch selbst<br />
gesetzte Variablen, die der Administrator<br />
sogar in eigenen Expressions<br />
auswerten kann. Die beiden neuen<br />
Direktiven »RequireAll« und »RequireAny«<br />
gruppieren die Bedingungen<br />
als logische Und- respektive Oder-<br />
Verknüpfung. Ermöglicht wird all dies<br />
durch das Modul »mod_authz_core«.<br />
Ein umfangreiches Beispiel aus der<br />
Apache-Dokumentation ist in Listing 5<br />
zu sehen.<br />
Neue Module<br />
Eine ganze Reihe weiterer neuer Module<br />
erweitert den Funktionsumfang<br />
von Apache beträchtlich. Zum Teil gab<br />
es sie – wie im Fall von »mod_proxy_<br />
html« – schon vorher, sie wurden nun<br />
aber in die Apache-Core-Distribution<br />
eingegliedert. Experimentell ist derzeit<br />
noch der Support für die Skriptsprache<br />
Lua, mit der sich nun eigene Apache-<br />
Webanwendungen schreiben lassen.<br />
Ein <strong>ADMIN</strong>-Artikel hat über das Modul<br />
n Listing 2: Virtual Host (alt)<br />
01 NameVirtualHost *:80<br />
02 <br />
03 <br />
04 ServerName www.admin‐magazin.de<br />
05 ...<br />
06 <br />
07 <br />
08 <br />
09 ServerName www.linux‐magazin.de<br />
10 ...<br />
11 <br />
n Listing 3: Virtual Host (neu)<br />
01 <br />
02 ServerName www.admin‐magazin.de<br />
03 ...<br />
04 <br />
05 <br />
06 <br />
07 ServerName www.linux‐magazin.de<br />
08 ...<br />
09 <br />
bereits einmal ausführlich berichtet [3].<br />
Die beiden Module »mod_fcgi« und<br />
»mod_scgi« ermöglichen es, Anwendungen<br />
einzubinden, die das Fast-CGIbeziehungsweise<br />
das SCGI-Protokoll<br />
implementieren. Dies geschieht über<br />
Mod-Proxy, während sich mit dem<br />
Mod-Proxy-Balancer gleich auch noch<br />
Anzeige<br />
Abbildung 1: Obwohl Nginx ständig neue Anwender für sich gewinnt, ist Apache weiterhin<br />
der dominierende Webserver.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
32<br />
Netzwerk<br />
Apache 2.4.6<br />
n Listing 4: Konditional<br />
01 <br />
02 Redirect permanent / http://www.<br />
admin‐magazin.de<br />
03 <br />
n Listing 5: Zugriffsschutz<br />
01 <br />
02 <br />
03 <br />
04 Require user superadmin<br />
05 <br />
06 Require group admins<br />
07 Require ldap‐group<br />
cn=Administrators,o=Airius<br />
08 <br />
09 Require group sales<br />
10 Require ldap‐attribute<br />
dept="sales"<br />
11 <br />
12 <br />
13 <br />
14 <br />
15 Require group temps<br />
16 Require ldap‐group cn=Temporary<br />
Employees,o=Airius<br />
17 <br />
18 <br />
19 <br />
n Listing 6: Logging per Directory<br />
01 LogLevel info<br />
02 <br />
03 LogLevel debug<br />
04 <br />
n Info<br />
Loadbalancing realisieren lässt. Eine<br />
Liste der wichtigsten neuen Module in<br />
Apache 2.4 ist in Tabelle 1 zu sehen.<br />
Fehler in der Konfiguration sind nun<br />
generell leichter aufzuspüren, weil<br />
sich das Loglevel per Modul und per<br />
Verzeichnis einstellen lässt (Listing 6).<br />
Darüber hinaus gibt es jenseits des<br />
alten Debug-Loglevels noch die neuen<br />
Loglevel »trace1« bis »trace8«. Um für<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30856<br />
ein spezifisches Modul das Logging zu<br />
kontrollieren, stellt man es dem Loglevel<br />
voran: »LogLevel info ssl:warn«.<br />
n Tabelle 1: Neue Module<br />
Modul<br />
mod_auth_form<br />
mod_log_debug<br />
mod_lua<br />
mod_proxy_express<br />
mod_proxy_fcgi<br />
mod_proxy_html<br />
mod_proxy_scgi<br />
mod_ratelimit<br />
mod_remoteip<br />
mod_sed<br />
mod_session<br />
Performance<br />
Der neue Apache-Server ist von Grund<br />
auf stärker modularisiert als seine<br />
Vorgänger. So sind nun erstmals die sogenannten<br />
Multiprocessing-Module, die<br />
das Verhalten bei der Verarbeitung von<br />
HTTP-Requests bestimmen, dynamisch<br />
ladbar. Früher gab es nur das Prefork-<br />
Modul, das beim Start des Webservers<br />
eine gewisse Anzahl von Prozessen<br />
startete und für neue Verbindungen<br />
neue Kindprozesse startete. Dann<br />
kam das Threading-Modul hinzu, das<br />
die Thread-basierte Verarbeitung von<br />
Anfragen ermöglichte. Bisher mussten<br />
diese beiden Module aber immer fest<br />
einkompiliert werden, was dazu führte,<br />
dass es in Linux-Distributionen zwei<br />
verschiedene Pakete dafür gibt, etwa<br />
»apache‐mpm‐prefork« und »apache‐mpm‐worker«.<br />
Jetzt kann der Administrator per Konfigurationsdatei<br />
bestimmen, welches<br />
MPM-Modul verwendet wird. Darüber<br />
hinaus gibt es noch ein neues Threadbasiertes<br />
Modul namens »event«,<br />
das Event-basierte Verarbeitung von<br />
Requests implementiert. Es existiert<br />
schon eine Zeit lang und hat sich dabei<br />
bewährt, sodass es nun sogar die bisherige<br />
Default-Konfiguration »prefork«<br />
abgelöst hat. Unter Linux verwendet<br />
es den Systemcall »epoll«, unter BSD-<br />
Systemen die KQueue-Infrastruktur.<br />
Verbessern soll das neue Event-Modul<br />
die Performance vor allem bei vielen<br />
HTTP-Keepalive-Verbindungen. Dabei<br />
halten Server und Webbrowser die<br />
einmal aufgebaute TCP-Verbindung<br />
aufrecht und schicken darüber mehrere<br />
HTTP-Requests. Das verringert den<br />
Overhead von immer neuen Verbindungseröffnungen,<br />
bindet aber auf<br />
dem Server dauerhaft Ressourcen, gerade<br />
wenn im Fall des Prefork-Moduls<br />
ein kompletter Kindprozess durch die<br />
Verbindung blockiert ist.<br />
Aufgeholt<br />
Das Rennen der Webserver geht weiter.<br />
Apache 2.4 bringt eine Vielzahl neuer<br />
praktischer Module mit und vereinfacht<br />
die Konfiguration, die gleichzeitig aber<br />
auch neue Optionen bietet. Durch die<br />
Änderung der Architektur können Administratoren<br />
nun das Prozessmodul<br />
per Konfiguration bestimmten und<br />
müssen nicht länger bei der Installation<br />
zwischen Prefork- und Worker-Modul<br />
wählen. Als Alternative zu den beiden<br />
gibt es nun als neuen Default-Modus<br />
das Event-Modul, das bei den heute<br />
üblichen Keepalive-Verbindungen den<br />
Webserver weniger belastet. n<br />
Funktion<br />
Authentifizierung über HTML-Forms<br />
Frei konfigurierbares Logging zu Debugging-Zwecken<br />
Integriert den Interpreter der Lua-Skriptsprache in den Webserver<br />
(experimenteller Support)<br />
Vereinfachte Konfiguration für Reverse Proxies.<br />
Backend für die Anbindung von Webanwendungen über FastCGI-<br />
Protokoll<br />
Ändert bei Proxy-Konfiguration den HTML-Quelltext, zum Beispiel<br />
URLs<br />
Backend für die Anbindung von Webanwendungen über das SCGI-<br />
Protokoll<br />
Bandbreitenlimitierung für Clients<br />
Unterstützung für die Remote-IP-Variable beim Einsatz von Proxy<br />
und Loadbalancer<br />
On-the-Fly-Änderungen des HTTP-Response-Body nach Art des<br />
Unix-Tools »sed«<br />
Speichert Client-Sessions, etwa über Cookies oder Datenbank<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
alphaspirit, 123RF<br />
Sind soziale Netzwerke eine <strong>Groupware</strong>-Alternative?<br />
Soziale Unternehmen<br />
Atos verbannt die interne E-Mail zugunsten sozialer Netzwerke. Facebook und Twitter haben das Internet- und<br />
Kommunikationsverhalten einer ganzen Generation verändert. Können die Business-orientierten Konkurrenten<br />
und Nachahmer Ähnliches im Unternehmen erreichen? Carsten Schnober<br />
Social Enterprise statt <strong>Groupware</strong>?<br />
Enterprise 2.0? Wer mit Facebook und<br />
Twitter vor allem eine Gefahr für die<br />
Produktivität der Internet-surfenden<br />
Mitarbeiter verbindet, verkennt die mitunter<br />
nützlichen Methoden, die dahinter<br />
stecken: Wenn sich das Freizeitkommunikationsverhalten<br />
von Internet-<br />
Benutzern massenhaft so schnell auf<br />
die immer noch relativ jungen Dienste<br />
einstellen konnte, liegt es nahe, deren<br />
Methoden und Techniken auch im Unternehmen<br />
auszuprobieren.<br />
Bei distanzierter Betrachtung stellt sich<br />
allerdings ohnehin heraus, dass etwa<br />
Facebook trotz auf den ersten Blick<br />
sehr unterschiedlicher Herangehensweise<br />
in puncto Funktionalität eine<br />
erstaunlich große Schnittmenge mit<br />
klassischen <strong>Groupware</strong>-Anwendungen<br />
bildet. Die Benutzer schreiben Nachrichten<br />
an einen definierbaren Empfängerkreis,<br />
organisieren Ereignisse<br />
mit Orts- und Zeitangaben und laden<br />
Teilnehmer dazu ein; dank Skype-Integration<br />
gibt es bei Facebook inzwischen<br />
sogar Telefon- und Videokonferenzen<br />
zwischen den Teilnehmern.<br />
Gedrängel auf dem Markt<br />
Den möglichen Nutzen für die Kommunikation<br />
und Koordination haben<br />
zahlreiche Anbieter erkannt und bieten<br />
auf Unternehmen gemünzte soziale<br />
Netzwerke an. Die Angebote unterscheiden<br />
sich teils sehr und eine Grenze<br />
zwischen sozialen Unternehmensnetzwerken,<br />
<strong>Groupware</strong>, Dokumentenverwaltung<br />
und Aufgabenplaner lässt sich<br />
selten scharf ziehen. Deshalb wäre ein<br />
Test mit objektiven Kriterien nicht so<br />
umsetzbar, dass er bei der Entscheidungsfindung<br />
hilft. Stattdessen gibt<br />
Tabelle 1 einen Überblick über die<br />
verschiedenen Kategorien und Herangehensweisen<br />
mit beispielhaften<br />
Vertretern.<br />
Yammer<br />
Der weltweit – wenn auch nicht unbedingt<br />
in Deutschland – bekannteste<br />
Dienst der Kategorie Social Business<br />
Network heißt »Yammer« (siehe Abbildung<br />
1) und stellt in puncto Oberfläche<br />
und Funktionalität einen typischen<br />
Vertreter der Branche dar. Microsoft<br />
kaufte die seit 2008 operierende Firma<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
<strong>Groupware</strong><br />
Soziale Netzwerke<br />
35<br />
Abbildung 1: Yammer aus dem Hause Microsoft als ein „Facebook fürs<br />
Unternehmen“ unter vielen.<br />
Abbildung 2: Tibbr versucht sich mit optischen Feinheiten von Facebook<br />
abzuheben.<br />
letztes Jahr für 1,2 Milliarden US-Dollar<br />
und arbeitet seither daran, Yammer in<br />
andere Lösungen wie Sharepoint und<br />
sein Online-Office-Paket Office 365 zu<br />
integrieren.<br />
Die Beschreibung „Facebook für Firmen“<br />
trifft für Yammer ebenso zu wie<br />
für viele andere Produkte. Denn ihre<br />
Oberflächen erinnern eindeutig an das<br />
den meisten Internet-Usern vertraute<br />
Original-Facebook. Häufig unterscheiden<br />
sie sich lediglich in Details wie der<br />
Farbgebung und der Anordnung typischer<br />
Komponenten um den zentral<br />
platzierten Activity Stream.<br />
Yammer, Tibbr (Abbildung 2) und andere<br />
wandeln auf einem schmalen<br />
Grat: Schließlich wollen sie von dem<br />
durchschlagenden Erfolg von Facebook<br />
profitieren, andererseits müssen sie<br />
sich auch von dem als Produktivitätskiller<br />
verschrienen, reinen Unterhaltungsprodukt<br />
abgrenzen.<br />
Kollegen statt Freunde<br />
So heißt es dann im Statusfeld nicht<br />
„Was machst du gerade?“, sondern<br />
„Woran arbeitest du gerade?“ und man<br />
verbindet sich nicht mit Freunden,<br />
sondern mit Mitarbeitern; das Ergebnis<br />
ähnelt dennoch der Facebook-Oberfläche.<br />
Auch die Auswahl der potenziellen<br />
Leser eines Status-Updates beschränkt<br />
man auf Basis der Gruppenzugehörigkeit.<br />
Wie Facebook-Benutzer es<br />
ebenfalls bereits kennen, strukturieren<br />
sich solche Gruppen frei, Mehrfachmitgliedschaften<br />
sind beispielsweise kein<br />
Problem.<br />
Die Firmenzugehörigkeit schlussfolgert<br />
Yammer aus der bei der Registrierung<br />
beim Yammer-Dienst angegebenen<br />
E-Mail-Adresse: Nutzer mit derselben<br />
Domain landen automatisch im selben<br />
Yammer-Firmennetzwerk, das abgeschottet<br />
von anderen Unternehmen<br />
funktioniert. Innerhalb eines Netzwerks<br />
bieten die meisten Produkte eine<br />
Einteilung in verschiedene Teams an,<br />
damit in diesen Einheiten etwa Abteilungen<br />
gezielt und meist von außen<br />
abgeschottet miteinander kommunizieren<br />
können.<br />
Gruppendynamik<br />
Innerhalb der Gruppen teilen sich<br />
Mitarbeiter neben den stromförmig<br />
verlaufenden Konversationen und<br />
Kommentaren (Activity Stream) meist<br />
zusätzliche Ressourcen, etwa Dateien<br />
oder Notizen. Die Dateiverwaltung<br />
beschränkt sich dabei bei den meisten<br />
Angeboten auf ein Minimum, häufig<br />
weil die Hersteller zusätzlich Dienste<br />
wie ein kollaboratives Dokumentenmanagment<br />
anbieten und nicht mit ihren<br />
eigenen Produkten konkurrieren möchten.<br />
Bei Yammer etwa lassen sich Microsoft-Office-Dateien<br />
online betrachten,<br />
aber nicht bearbeiten. Im Fall von<br />
PDFs und den gängigen Bildformaten<br />
gilt das gleiche, allerdings macht Yammere<br />
erstere beim Hochladen durch ein<br />
unzuverlässiges, automatisches Schrifterkennungsverfahren<br />
unfreiwillig<br />
unlesbar. Andere Office-Formate, wie<br />
das standardisierte Open-Document-<br />
Format, auf das unter anderem Libre-<br />
Office und OpenOffice setzen, betrachtet<br />
Yammer lediglich als Binärdateien<br />
und stellt sie anderen Benutzern zum<br />
Download zur Verfügung.<br />
Keine Konkurrenz aus dem<br />
eigenen Haus<br />
Gerade bei Yammer verwundert die eingeschränkte<br />
Funktionalität in diesem<br />
Bereich nicht, schließlich ist Yammer-<br />
Betreiber Microsoft auch Hersteller der<br />
am weitesten verbreiteten Office-Suite<br />
und bietet mit Office 365 darüber hinaus<br />
einen passenden Online-Service<br />
an. Dass das Zusammenspiel zwischen<br />
den verschiedenen Microsoft-Angeboten<br />
gewünscht ist, spiegelt sich auch<br />
in der Preisgestaltung wieder: Die<br />
Yammer-Basisversion ist kostenlos, für<br />
3 US-Dollar pro User und Monat erhält<br />
man ein paar zusätzliche Administrations-<br />
und Sicherheitsfunktionen, mit<br />
denen man beispielsweise Gruppen<br />
von Mitarbeitern automatisch registriert<br />
oder Netzwerkmonitoring und<br />
Nutzungsanalyse betreibt. Interessanter<br />
sind in der Praxis die Bundles mit<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
36<br />
<strong>Groupware</strong><br />
Soziale Netzwerke<br />
Sharepoint und Office 365, die mit mindestes<br />
4 beziehungsweise 8 US-Dollar<br />
pro Monat und User zu Buche schlagen.<br />
Ähnliche Pakete gibt es auch bei der<br />
Konkurrenz, wodurch das soziale Netzwerk<br />
häufig Stück für Stück dem individuellen<br />
Bedarf zugeführt wird.<br />
Von groß bis sehr groß<br />
Ein in Sachen Funktionalität anspruchsvolleres<br />
Publikum adressieren<br />
unter anderem die beiden Marktführer<br />
IBM und Jive mit ihren sozialen<br />
Netzwerkprodukten »Connections«<br />
beziehungsweise »Jive Social Intranet«.<br />
Beide präsentieren Pakete mit sehr<br />
flexibel konfigurierbarem Umfang.<br />
IBM Connections umfasst auf Wunsch<br />
etwa die <strong>Groupware</strong> IBM Notes, das aus<br />
Lotus Notes und Lotus Domino hervorgangen<br />
ist, unter anderem mit Kalender,<br />
To-Do-Listen und Dokumentenverwaltung.<br />
Dazu kommen Sametime für<br />
die Termin abstimmung, Anbindungen<br />
an Microsoft Office und Outlook sowie<br />
an Blackberry-, Apple- und Android-<br />
Smartphones. Auch der Application-<br />
Server Websphere steht bereit.<br />
Auch bei Jive stellt die Schnittstelle zu<br />
anderen Produkten einen wichtigen<br />
Punkt dar. Neben anderen Jive-Business-Diensten<br />
von CRM über Marketing<br />
bis IT-Infrastruktur gibt es auch hier<br />
eine Anbindung an die verbreiteten<br />
Microsoft-Produkte Office, Outlook und<br />
Sharepoint.<br />
SAP und Novell haben mit ihren etwas<br />
weniger etablierten Produkten Vibe<br />
beziehungsweise Jam die gleiche Zielgruppe<br />
im Visier. Aufgrund der hohen<br />
Flexibilität der vier Lösungen Vibe,<br />
Jam, Jive und IBM Connections geben<br />
deren Hersteller keine allgemeine Auskunft<br />
über die Preise. Denn die hängen<br />
außer von der Paketzusammenstellung<br />
auch vom Umfang der Installation ab,<br />
die üblicherweise auf lokalen Servern<br />
im Firmennetz (On-Premise) stattfindet.<br />
Somit fällt auch ein Vergleich mit<br />
Online-Diensten schwer; eine lokale<br />
Installation bietet die Vorteile besserer<br />
Kontrolle und einer verlässlichen Netzwerkanbindung,<br />
erfordert aber auch<br />
eine IT-Infrastruktur, deren Umfang womöglich<br />
über das bei kleineren Firmen<br />
übliche Maß hinausgeht.<br />
Service pur<br />
Andere Anbieter hingegen bieten ihre<br />
Lösungen ausschließlich nach dem<br />
SaaS-Prinzip an. Chatter, Podio, Asana<br />
und Yammer setzen darauf, dass ihre<br />
Kunden es wertschätzen, eine fertige<br />
Installation vorzufinden. Dabei liegen<br />
sowohl der Vor- als auch der Nachteil<br />
darin, dass Wartung, Aktualisierung<br />
und beispielsweise Sicherheitsvorkehrungen<br />
vollständig der Kontrolle<br />
des jeweiligen Anbieters unterliegen.<br />
Das bedeutet außer den Gebühren für<br />
den Dienst keine weiteren Kosten für<br />
IT-Infrastruktur. Mitarbeiter können sofort<br />
von jedem Internet-Anschluss aus<br />
auf das firmeneigene Portal zugreifen.<br />
Andererseits setzt eine reine Cloud-<br />
Lösung ein hohes Maß an Vertrauen<br />
in den Anbieter voraus, der immerhin<br />
einen großen Teil der firmeninternen<br />
Kommunikation verarbeitet.<br />
Die Kosten für die genannten Dienste<br />
bewegen sich jeweils zwischen 3 und 9<br />
US-Dollar pro Benutzer und Monat, wobei<br />
Podio eine kostenlose Lite-Variante<br />
für bis zu fünf Mitarbeiter anbietet. Ihr<br />
fehlt allerdings die Möglichkeit zur Zugriffskontrolle<br />
und Rechteverwaltung.<br />
Preise und Pakete<br />
Generell machen es einem die meisten<br />
Anbieter schwer, den endgültigen Preis<br />
n Tabelle 1: Soziale Netzwerke fürs Unternehmen<br />
Name Preis/User/Monat (SaaS) Projekte/Tasks Chat Status-Updates Activity Stream Team-Kalender Blog<br />
Jive individuell ja ja – ja – ja<br />
IBM Connections individuell ja ja ja ja ja ja<br />
Novell Vibe individuell ja ja – ja ja ja<br />
SAP Jam individuell ja ja ja ja – –<br />
Exo individuell – – ja ja ja –<br />
Offiria – ja ja ja ja ja ja<br />
Elgg – – – – ja – ja<br />
Yammer USD 3-8 – ja ja ja – –<br />
Podio USD 0-9 ja – ja ja ja –<br />
Chatter USD 0-15 – ja ja ja optional –<br />
Asana USD 3-8 ja – ja ja – –<br />
Tibbr Individuell – ja ja ja ja –<br />
BlueKiwi EUR 5-8 ja ja ja ja – ja<br />
Swabr EUR 3-5 – – ja ja – –<br />
Coyo EUR 1,25-4 – ja ja ja – –<br />
Kona USD 0-10 ja – ja ja ja –<br />
Mangoapps USD 0-8 ja ja ja ja optional optional<br />
Telligent USD 3-9 – ja (Plus) ja ja ja ja<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
<strong>Groupware</strong><br />
Soziale Netzwerke<br />
37<br />
abzuschätzen. Die Preise der SaaS-Lösungen<br />
berechnen sich normalerweise<br />
pro User und Monat, wobei sie gewöhnlich<br />
wiederum von der Gesamtzahl der<br />
Mitarbeiter abhängen. Dabei gibt es<br />
nicht zwangsläufig Mengenrabatt, der<br />
Höchstsatz liegt bei einigen Angeboten<br />
im Bereich zwischen 100 und 500<br />
Usern; sowohl mehr als auch weniger<br />
Mitarbeiter können zu kostengünstigeren<br />
Pro-User-Preisen führen.<br />
Verhandlungssache<br />
Bei sehr großen Kunden geben sich<br />
die Hersteller verhandlungsbereit: Ab<br />
etwa 1000 Nutzern endet meist der Bereich<br />
der pauschal festgelegten Preise<br />
zugunsten individuell ausgehandelter<br />
Angebote, häufig mit Training und Support.<br />
Gesamtpreis und Paketumfang<br />
sind Verhandlungssache, es lohnt sich<br />
also für größere Firmen durchaus, mit<br />
den Anbietern in direkten Kontakt zu<br />
treten, ihre Angebote zu vergleichen<br />
und gegebenenfalls nachzuverhandeln.<br />
Die bereits angesprochenen Bundles<br />
verschiedener Produkte spielen auch<br />
hier eine wichtige Rolle, so gibt es etwa<br />
beim Chatter-Hersteller Salesforce<br />
beim Kauf einer CRM-Lizenz, die mit<br />
mindestens 25 US-Dollar pro User und<br />
Monat zu Buche schlägt, Chatter-Accounts<br />
für bis zu 500 Mitarbeiter gratis<br />
dazu.<br />
Frei und kostenlos<br />
Am preiswertesten fallen natürlich freie<br />
Open-Source-Programme aus. Exo<br />
(Abbildung 3), Offiria (Abbildung 4) und<br />
Elgg stehen zum kostenlosen Download<br />
zur Verfügung und lassen sich auf<br />
einem beliebigen Webserver installieren.<br />
Bei den letzteren beiden handelt es<br />
sich um quelloffene PHP-Programme,<br />
die in Java geschriebene Exo-Plattform<br />
setzt auf einen Application-Server wie<br />
Tomcat auf. Die kostenlose Community-Edition<br />
unterscheidet sich auch<br />
funktional von der Enterprise-Version:<br />
Letztere enthält zusätzlich eine integrierte<br />
Entwicklungsumgebung sowie<br />
Cluster-Unterstützung, Monitoring- und<br />
High-Availability-Funktionen. Die mit<br />
der Community-Edition funktional<br />
gleichwertige Express-Ausgabe unterscheidet<br />
sich lediglich durch den zusätzlich<br />
erhältlichen Support und einen<br />
Zugang zum Kundenportal. Die beiden<br />
kommerziellen Versionen lassen sich<br />
wiederum »on premise« installieren<br />
und kosten zwischen 1200-8000 US-<br />
Dollar, abhängig von der Nutzerzahl.<br />
Bei Offiria und Elgg handelt es sich<br />
um klassische Open-Source-Projekte.<br />
Für Elgg stellen Drittanbieter fertige<br />
Hosting-Lösungen zur Verfügung,<br />
man benötigt lediglich eine beliebige<br />
Infrastruktur mit einem je nach Benutzeraufkommen<br />
ausreichend leistungsstarken<br />
Webserver und eine MySQL-<br />
Datenbank, um Elgg zu betreiben.<br />
Geographisches<br />
Die einzigen originär europäischen<br />
Vertreter im Überblick heißen Swabr<br />
und BlueKiwi. Ersteres wird in Berlin<br />
entwickelt und steht für „Schwarzes<br />
Brett“. Bei Swabr steht die Kommunikation<br />
im Vordergrund, während sich die<br />
Oberfläche darüber hinaus auf ein Minimum<br />
reduziert; es lässt sich eher mit<br />
Twitter als mit Facebook vergleichen,<br />
die Benutzerschnittstelle liegt optisch<br />
dazwischen.<br />
Bei BlueKiwi handelt es sich um<br />
Produkt, das ursprünglich ein französisches<br />
Startup entwickelte. Der<br />
Software-Gigant Atos kaufte es 2012<br />
auf, wohl auch für den betriebsinternen<br />
Bedarf. Im selben Jahr gab Atos<br />
Wiki Foren private Gruppen Microblogging Profile Mobile On-Premise Integration<br />
ja – ja ja ja ja ausschließlich Sharepoint, MS Office,<br />
Outlook, Salesforce<br />
ja ja ja ja ja ja ausschließlich Sharepoint, MS Office,<br />
Outlook, WebSphere<br />
ja ja ja ja ja ja ausschließlich MS Office, Groupwise<br />
– ja ja ja ja ja ausschließlich –<br />
ja ja ja – ja ja gratis/ab USD 1200,- –<br />
– – ja – ja ja ja, Open-Source –<br />
– – ja – ja als Erweiterung ja, Open-Source –<br />
– – ja – ja ja nein Sharepoint, Office 365<br />
– – ja – ja ja nein –<br />
– – ja – ja ja nein Sharepoint<br />
– – ja – ja ja nein –<br />
– – – – ja ja optional LinkedIn<br />
– – ja – ja ja – –<br />
– – ja – ja ja optional –<br />
ja – ja – ja ja optional, einmalig EUR –<br />
1200-62 000<br />
– – ja – ja ja nein –<br />
ja – ja ja ja ja optional Sharepoint<br />
ja ja ja – ja ja optional –<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
38<br />
<strong>Groupware</strong><br />
Soziale Netzwerke<br />
Abbildung 3: Die kostenlose Community-Edition von Exo läuft auch<br />
auf einem lokalen Application-Server.<br />
Abbildung 4: Beim PHP-Projekt Offiria ist der Quellcode frei; wie Elgg<br />
benötigt es nur einen Web-Server mit PHP-Modul.<br />
n Info<br />
nämlich bekannt, dass es die E-Mail als<br />
Produktivitätshindernis betrachtet und<br />
dieses Medium deshalb bis 2014 aus<br />
der internen Kommunikation zugunsten<br />
sozialer Netzwerke komplett zu<br />
verbannen gedenkt.<br />
Nie wieder E-Mail?<br />
Atos-Chef Thierry Breton, von 2005 bis<br />
2007 auch französischer Finanzminister,<br />
zeigte bei der Begründung für Atos’<br />
so genannte Null-E-Mail-Strategie Argumente<br />
für die Nutzung sozialer Netzwerke<br />
statt traditioneller Kommunikationssoftware<br />
auf, die auch in anderen<br />
Firmen tragen können. So erhielten<br />
Atos-Angestellte teilweise mehr als 100<br />
E-Mails pro Tag und verbrachten bis zu<br />
20 Wochenstunden damit, sie zu lesen<br />
und zu beantworten. Dazu kommt, dass<br />
junge Mitarbeiter E-Mail-Programme<br />
wie Outlook oder Thunderbird häufig<br />
nicht mehr kennen. Sie greifen auf E-<br />
Mails über die Webschnittstellen von<br />
Microsoft, Yahoo, Google und vielen<br />
anderen zu – ebenso wie auf Facebook<br />
und Twitter.<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/31082<br />
Salesforce kam in einer Studie zu einem<br />
ähnlichen Ergebnis, nämlich dass<br />
die meisten Arbeits-E-Mails für ihre<br />
Empfänger irrelevant seien. 70 Prozent<br />
der Befragten gaben an, dass sie für<br />
die eigene Arbeit nutzlose E-Mails erhielten.<br />
Solche Argumente sind es, die<br />
soziale Netzwerke fürs Unternehmen<br />
interessant machen, denn sie kehren<br />
die Logik des Informationstransfers<br />
um. Statt allen möglicherweise interessierten<br />
Kollegen Neuigkeiten aktiv<br />
zuzuschicken, woraufhin sich jeder von<br />
ihnen damit wenigstens einen Moment<br />
lang befassen muss, besteht das Konzept<br />
sozialer Netzwerke darin, Daten<br />
abrufbereit für diejenigen parat zu halten,<br />
die sie tatsächlich benötigen.<br />
Ob solche Thesen in der Praxis zutreffen,<br />
bleibt ebenso im Einzelfall abzuwägen<br />
wie die möglichen Lösungsansätze.<br />
Denn das Gegenargument lautet, dass<br />
ein kompetenter Umgang mit E-Mails<br />
durchaus möglich ist, während ein soziales<br />
Netzwerk ebenfalls nicht vollautomatisch<br />
funktioniert; es lebt von seinen<br />
Benutzern. In der Praxis bietet sich in<br />
den meisten Fällen wohl eine Kombination<br />
aus beiden an.<br />
Anderweitig sozial<br />
Neben den in Tabelle 1 wiedergegebenen<br />
Lösungen hält der Markt noch jede<br />
Menge spezialisierter Cloud-Werkzeuge<br />
bereit, viele davon aufs Unternehmen<br />
gemünzt oder zumindest für typische<br />
Firmenabläufe nutzbar. An dieser<br />
Stelle kommt zum Beispiel Trello ins<br />
Spiel, dass mit schlichten Boards und<br />
darauf frei verschiebbaren virtuellen<br />
Karteikärtchen unter anderem Scrum-<br />
Entwickler anspricht; sie lassen sich<br />
natürlich auch für jeden anderen<br />
Zweck gebrauchen. Ebenso gut hätte<br />
auch Basecamp in der Übersicht landen<br />
können, das sich um gemeinsames<br />
Projektmanagement in der Cloud<br />
kümmert. Doch solcherlei spezialisierte<br />
Lösungen finden sich hier trotz der ausgesprochen<br />
schwierigen Abgrenzung<br />
nicht wieder.<br />
Mengenlehre<br />
Die vielen Schnitt- und Untermengen<br />
bei den verfügbaren Angeboten zeigen<br />
auch, dass das Schwierigste an<br />
der Entscheidung die Spezifikation<br />
der eigenen Anforderungen ist. Wer<br />
ausschließlich ein Scrum-Board für die<br />
Entwicklung oder eine Projektverwaltung<br />
benötigt, für den sind Angebote<br />
wie Jive und IBM Connections überflüssig.<br />
Gleichzeitig ist zu beachten, dass<br />
einige bezahlte Angebote einen Vertrag<br />
mit mindestens einjähriger Laufzeit<br />
voraussetzen, sodass vor einer solchen<br />
Bindung zu prüfen ist, ob die eigenen<br />
Ansprüche sich innerhalb dieser Zeit<br />
doch noch ausdehnen oder auch einschränken<br />
können. n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
40<br />
<strong>Groupware</strong><br />
E-Mail-Migration<br />
Ein Portal verspricht die automatische Migration von E-Mails, Terminen und Aufgaben<br />
Kein Umzugsstress<br />
Fabian Schmidt, 123RF<br />
Auf der einen Seite locken neue Features oder ein besserer Support,<br />
doch auf der anderen Seite wirkt ein starkes Trägheitsmoment: Was<br />
wird aus meinen Mails, Aufgaben und Terminen, wenn ich den Service-Provider<br />
wechsele? Ein Portal hilft beim Umzug. Jens-Christoph Brendel<br />
Was also wird aus den Bestandsdaten<br />
bei einem Providerwechsel? „Ganz<br />
einfach“ – das ist jedenfalls die Antwort<br />
der Karlsruher audriga GmbH, die ein<br />
Self-Service-Portal für E-Mail-Umzüge<br />
betreibt. Sie verspricht, dass der Anbieterwechsel<br />
damit schnell, einfach und<br />
sicher gelingt. Das <strong>ADMIN</strong>-<strong>Magazin</strong> hat<br />
den Service getestet.<br />
Erster Versuch<br />
Ausgangspunkt für unseren Versuch<br />
war ein E-Mail-Konto bei Strato, mit<br />
dem wir zu Host Europe umziehen<br />
wollten. Quelle und Ziel sind selbstverständlich<br />
austauschbar und wurden<br />
von uns rein zufällig gewählt, ohne dass<br />
wir damit irgendeine Aussage über die<br />
Servicequalität der Anbieter verbinden<br />
wollen. Das Zielkonto muss dabei über<br />
das IMAP-Protokoll erreichbar sein.<br />
n Ein Anwender berichtet: Von Zimbra zu Exchange<br />
Der Lahn-Kinderkrippen e.V. betreibt als gemeinnütziger Verein mehrere<br />
Kindertagesstätten und nutzt 17 <strong>Groupware</strong>-Konten für interne Zwecke<br />
und um mit den Eltern zu kommunizieren. Ursprünglich setzte der Verein<br />
auf eine Hosted-Zimbra-Lösung, wollte aber wegen häufiger Ausfälle<br />
zu Microsoft Exchange Online wechseln.<br />
Zunächst versuchte man die Sache mit einem IT-Dienstleister anzugehen,<br />
der die 22 GByte an existierenden E-Mails, Kontakten und Kalenderdaten<br />
ex- und dann wieder importieren wollte. Das erwies sich allerdings<br />
als zu aufwendig und zu kostenintensiv. Schließlich stießen die<br />
Kindergärtner auf den SaaS-Migrationsdienst www.groupware-umzug.<br />
de als Alternative.<br />
Nach erfolgreichem Testlauf mit einem Konto lief dann die komplette<br />
Umstellung an einem Wochenende durch. Dazu wurden die Passwörter<br />
der Nutzer zurückgesetzt und der MX-Eintrag der Domain geändert. Die<br />
Migration der 17 Konten richtete man über die webbasierte Oberfläche<br />
des audriga-Dienstes ein. Aufgrund der Erfahrungen mit Zimbra ließ<br />
man vorsichtshalber immer nur einen Umzugsauftrag laufen, sodass<br />
der vollautomatische Datentransfer knapp 48 Stunden dauerte. Der<br />
verantwortliche Admin bei Lahn-Kinderkrippen<br />
konnte dabei den Umzugsstatus anhand der<br />
von audriga automatisch generierten Protokolle<br />
jederzeit nachvollziehen.<br />
Die Umzüge liefen wie geplant und ohne große<br />
Schwierigkeiten durch. Nur eine kleine Anzahl von E-Mails wurde aufgrund<br />
von Verbindungsproblemen und trotz mehrfacher automatischer<br />
Wiederholung nicht übertragen. Diese Daten wurden später manuell anhand<br />
der Protokolle des Umzugs nachgezogen. Da der Standardordner<br />
für »Gesendete E-Mails« in Quelle und Ziel unterschiedlich benannt war,<br />
waren zudem die gesendeten Nachrichten im neuen Postfach zunächst<br />
nicht am erwarteten Ort.<br />
Insgesamt schätzt Lahn-Kinderkrippen die Vorteile des automatisierten<br />
SaaS-Umzugs gegenüber der Lösung des IT-Dienstleisters hoch ein.<br />
Weniger Arbeitsaufwand und um den Faktor fünf verminderte Kosten<br />
standen am Ende zu Buche. Alle Daten ließen sich in weniger als einem<br />
Manntag migrieren. Die automatisch zur Verfügung gestellten Protokolle<br />
ermöglichten außerdem eine zuverlässige Kontrolle.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
<strong>Groupware</strong><br />
E-Mail-Migration<br />
41<br />
Wir haben es vorher mit einer bunten<br />
Auswahl an gelesenen, ungelesenen<br />
und gesendeten Mails versehen, mit erledigten,<br />
unerledigten und wiederkehrenden<br />
Aufgaben sowie mit einer Reihe<br />
fiktiver Kontakte (Abbildung 1).<br />
Das Ausgangskonto muss übrigens<br />
nicht bei einem öffentlicher Provider<br />
beheimatet sein, man kann mithilfe des<br />
Portals auch von seinem eigenen Mailserver<br />
zu einem Hoster umziehen. Wer<br />
mitsamt der Domain migrieren will,<br />
sollte mit den Mails beginnen – mit einem<br />
Delta-Umzug können später die in<br />
der Zwischenzeit aufgelaufenen Mails<br />
nachgeholt werden.<br />
Bevor man mit dem Umzug beginnt,<br />
sollte man sich die Adressen der beteiligten<br />
Anbieter (oder des eigenen<br />
IMAP-Servers) sowie die Namen und<br />
Passwörter der Accounts zurechtlegen.<br />
Aus Sicherheitsgründen und im Interesse<br />
des Datenschutzes empfehlen sich<br />
temporäre Passwörter für den Umzug,<br />
die ihre Nutzer später wieder ändern<br />
können. Auch ist es ratsam, zunächst<br />
mit einem Account zu beginnen und<br />
den Rest erst dann in Angriff zu nehmen,<br />
wenn sich beim Testfall keine<br />
Probleme ergeben haben.<br />
Im ersten Schritt muss man dann auf<br />
dem Zielsystem für jeden umzuziehenden<br />
Account ein leeres Pendant<br />
anlegen. Danach gibt man im Browser<br />
die Adresse des Umzugs-Portals ein.<br />
Nachdem die Nutzungsbedingungen<br />
akzeptiert sind – denen zufolge audriga<br />
übrigens nur dann in voller Höhe<br />
haften würde, wenn Vorsatz oder die<br />
Verletzung einer schriftlichen Garantie<br />
Abbildung 1: Ein Beispiel-Kontakt im umzuziehenden Strato-Account.<br />
der Geschäftsleitung vorliegen würde<br />
– wählt man Quell- und Zielsystem.<br />
Eine Reihe großer Provider (Strato,<br />
1&1, GMX, Google Mail, Host Europe,<br />
Web.de und Yahoo!Mail) sind voreingestellt.<br />
Danach werden die Daten zu<br />
den umzuziehenden Accounts eingegeben<br />
(Abbildung 2). Die Gültigkeit der<br />
Passwörter muss via Klick auf einen<br />
entsprechenden Button geprüft werden.<br />
Dabei übermittelt das Portal die<br />
Logindaten SSL-verschlüsselt an einen<br />
Rechner in Amazons AWS-Cloud, in der<br />
der Umzugsservice läuft. Dieser Rechner<br />
wiederum wählt sich dann in Quellund<br />
Zielkonten ein.<br />
Noch ein paar Klicks und Eingabe einer<br />
E-Mail-Adresse, an die ein Protokoll<br />
der Aktion gemailt werden soll, und es<br />
kann losgehen (Abbildung 3). Während<br />
des Umzugs informiert ein Fortschritts-<br />
Abbildung 2: Hier werden die Daten zum Account<br />
hinterlegt, der migriert werden soll.
42<br />
<strong>Groupware</strong><br />
E-Mail-Migration<br />
Abbildung 3: Vor dem Umzug schätzt das Portal auch<br />
die voraussichtliche Dauer der Aktion.<br />
Abbildung 4: Ein Fortschrittsbalken zeigt an, wie<br />
weit der Umzug bereits gediehen ist.<br />
n Mail von Google<br />
… Vor Kurzem hat jemand versucht, sich mit Ihrem<br />
Passwort in Ihrem Google-Konto xxxxxxxx@gmail.<br />
com anzumelden. Dieser Nutzer hat dazu eine Anwendung<br />
wie einen E-Mail-Client oder ein Mobilgerät<br />
verwendet.<br />
Der Anmeldeversuch wurde aufgrund der Möglichkeit<br />
unterbunden, dass es sich um einen Hacker handelt,<br />
der versucht, auf Ihr Konto zuzugreifen. Bitte<br />
lesen Sie die Details zu diesem Anmeldeversuch:<br />
Samstag, 19. Oktober 2013 11:13 Uhr UTC IP-Adresse:<br />
54.247.175.161 (ec2-54-247-175-161.eu-west-1.compute.amazonaws.com.)<br />
Standort: unbekannt<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30687<br />
balken über den Status (Abbildung 4).<br />
Schon vor Umzugsbeginn erhält der<br />
zuvor angegebene E-Mail-Adressat erst<br />
eine Bestell-, dann eine Auftragsbestätigung<br />
und nach Beendigung einen<br />
kurzen Schlussbericht.<br />
Die Kür<br />
Das alles funktionierte im ersten Anlauf<br />
reibungslos, allerdings war der<br />
getestete Fall insofern recht einfach,<br />
als dass beide Partner Open Xchange<br />
als <strong>Groupware</strong>-Applikation in ihren<br />
Angeboten einsetzen. Damit sind die<br />
zu übertragenden Felder auf beiden<br />
Seiten identisch. In vielen Fällen wird<br />
es dagegen auch ganz unterschiedliche<br />
oder zumindest unterschiedlich benannte<br />
Felder geben oder auch Felder<br />
mit gleichem Namen, die aber verschiedene<br />
Datenformate oder ‐typen<br />
erwarten oder aber verschiedene Mechanismen<br />
kennen, etwa um Kontakte<br />
zu gruppieren.<br />
Um diesen Fall nachzustellen, wollten<br />
wir ein Gmail-Konto zu Web.de transferieren.<br />
Die erste Hürde bestand schon<br />
darin, dass Web.de nicht in der Auswahlliste<br />
der Zielplattformen auftaucht<br />
(wohl aber als Quelle). Die Ausgangsund<br />
Endpunkte der Migration sind also<br />
offenbar weitgehend, aber nicht vollkommen<br />
austauschbar. Einige Anbieter<br />
eignen sich vor allem deswegen nicht<br />
als Zielplattform, weil sie entweder<br />
nur POP3 statt IMAP anbieten oder beispielsweise<br />
mit großen Datenmengen<br />
nicht gut klarkommen.<br />
Im Fall von web.de wird IMAP zwar<br />
nicht garantiert, funktioniert aber. Hier<br />
kann man »imap.web.de« auf eigene<br />
Gefahr von Hand eingeben. Gesagt,<br />
getan. Dann ergab sich aber die zweite<br />
Schwierigkeit: Google wertete den<br />
Login-Versuch beim obligatorischen<br />
Prüfen des Passworts während der<br />
Konfiguration als Hacker-Angriff und<br />
unterband ihn. Das wissen wir aus einer<br />
entsprechenden Mail von Google (siehe<br />
Kasten »Mail von Google«). Audriga<br />
informiert den Anwender nur durch<br />
das rote Kreuz anstelle des grünen Häkchens<br />
als Zeichen des Misserfolgs beim<br />
Prüfen des Passworts.<br />
Warum genau Google hier einen Hacker<br />
vermutet, ist nicht genau nachvollziehbar,<br />
aber Anhaltspunkte könnten sein:<br />
Die IP-Adresse wurde noch nie für ein<br />
Login verwendet und sie gehört auch<br />
nicht zu einem ISP, Mobilfunker oder<br />
einem bekannten Unternehmensnetz;<br />
der Browser ist unbekannt oder der<br />
geografische Standort kann nicht ermittelt<br />
werden. Andere Provider mögen<br />
andere Vorsichtsmaßnahmen treffen<br />
und beispielsweise das Datenvolumen<br />
begrenzen.<br />
Fazit<br />
Was kann man daraus lernen? Noch vor<br />
allen potenziellen Migrationsproblemen<br />
müssen die beteiligten Provider<br />
die Prozedur überhaupt zulassen. Dass<br />
sie das tun, ist nicht automatisch sicher.<br />
Allerdings schätzt audriga, dass<br />
nur ein einstelliger Prozentsatz der<br />
Google-Migrationen mit dem geschilderten<br />
Problem konfrontiert ist und<br />
das sind dann auch eher kostenlose<br />
Konten. Außerdem arbeitet audriga daran,<br />
die Migrationsserver des Dienstes<br />
für deutsche Nutzer zu einem deutschen<br />
Anbieter zu verlegen, aber auch<br />
das würde das Problem voraussichtlich<br />
nicht hundertprozentig lösen.<br />
Wenn die Migration möglich ist, kommt<br />
es darauf an, wie verschieden Quelle<br />
und Ziel sind – stimmen die Datenstrukturen<br />
weitgehend überein, kann<br />
man mit einer sicheren und zügigen<br />
Übertragung rechnen. Der Umzugsdienst<br />
kann dann in größerem Maß helfen,<br />
Kosten und Mühe zu sparen.<br />
Zaubern kann er aber nicht. Schon gesendete<br />
Mails landen oft in einem auf<br />
der Zielseite anders benannten Ordner.<br />
Hier wäre ein Mapping noch einfach,<br />
doch kann selbst bei diesem simplen<br />
Beispiel der Name des Ordners auch<br />
vom E-Mail-Client abhängen.<br />
In jedem Fall versucht audriga alle<br />
Da ten der Quelle automatisch in ein<br />
bedeutungsgleiches Feld des Ziels<br />
zu verschieben, auch wenn die Benennung<br />
differiert. Es wird aber nicht<br />
in jedem Fall möglich sein, Daten zu<br />
übernehmen, die keinen Platz in der<br />
Datenstruktur der Zielplattform haben.<br />
Zumindest erfolgt dann immer ein<br />
Vermerk im Protokoll. In diesen Fällen<br />
kä me man allerdings auch mit einer<br />
manuellen Methode nicht viel weiter. n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
klaikungwon sudsawat, 123RF<br />
Tine 2.0 Kristina und Collin im Test<br />
Fast ein<br />
Alleskönner<br />
Tine ist eine seit 2008 entwickelte, webbasierte Kollaborationslösung, die beim Backend und Frontend konsequent<br />
auf Web-2.0-Technologie setzt. Ihr Web-Interface fühlt sich wie eine native Anwendung an. Wir haben uns<br />
die <strong>Groupware</strong>-Funktionen der Community-Version angeschaut. Thomas Drilling<br />
Tine 2.0 verfügt über klassische <strong>Groupware</strong>-Funktionen<br />
hinaus auch über Module<br />
für CRM, Verkaufsunterstützung,<br />
n Tine-2.0-Collin-Neuerungen<br />
Kurz vor Redaktionsschluss erschien die aktuelle Version<br />
"Collin" von Tine 2.0 mit interessanten Neuerungen.<br />
So erlaubt es der Active-Directory-Support, dass<br />
Anwender aus Tine heraus Benutzerkonten im Active<br />
Directory anlegen und verwalten können. Ferner<br />
haben die Entwickler den CalDAV- und CardDAV-Support<br />
noch verbessert. Außerdem kann Tine jetzt gegenüber<br />
OwnCloud-Clients als Synchronisationsserver<br />
auftreten. Ferner lassen sich an sämtliche <strong>Groupware</strong>-Daten<br />
jetzt Dateien anhängen, etwa an einen<br />
Termin im Kalender, die dann bei der automatisch<br />
versandten Mail mitgeschickt werden. Ebenfalls neu<br />
ist, dass Admins den maximalen Zeitraum begrenzen<br />
können, innerhalb dessen sich zurückliegende<br />
Termine mit Smartphones synchronisieren lassen,<br />
was vor allem die CPU-Last bei großen Installationen<br />
verringern soll. Außerdem funktioniert das Anmelden<br />
an Tine anstelle der Kombination Benutzername und<br />
Passwort jetzt auch mit einem Zertifikat.<br />
Zeiterfassung und eine Dateiablage<br />
sowie eine VoIP-Integration mit Asterisk<br />
und Sipgate. Ferner enthält Tine einen<br />
eigenen E-Mail-Client und lässt sich in<br />
der jüngst erschienenen Version Collin<br />
auch in ein Active Directory einbinden.<br />
Ferner ist es mit Tine möglich, mithilfe<br />
des OwnCloud-Clients auf die Dateiablage<br />
zuzugreifen. Außerdem unterstützt<br />
Tine das Synchronisieren mobiler<br />
Geräte via CalDAV, CardDAV und Active-<br />
Sync, was die Lösung zum Rundumwohlfühlpaket<br />
für kleine Unternehmen<br />
im SOHO- und SMB-Segment macht.<br />
Genau genommen ist Tine also weit<br />
mehr als eine <strong>Groupware</strong>-Lösung und<br />
versteht sich als Plattform, die sämtliche<br />
Aspekte der internen Koordination<br />
eines Unternehmens abbilden soll. Die<br />
Community-Variante [1] der momentan<br />
aktuellen Version 2013.10.1 (Collin)<br />
steht auf der Projektseite zum Herunterladen<br />
[2] zur Verfügung und ist unter<br />
Version 3 der GNU Affero General Public<br />
License (AGPL) veröffentlicht. Ferner<br />
gibt es eine Demo-Version [3] für einen<br />
schnellen ersten Blick. Unterstützung<br />
für die Community-Version gewährleistet<br />
die rege Entwickler- und Nutzer-<br />
Gemeinschaft in Form von Forum [4]<br />
und Wiki [5].<br />
Historisches<br />
Die Bezeichnung 2.0 im Produktnamen<br />
ist insofern irreführend, als dass es<br />
keine Version 1.0 gab. Die einzelnen<br />
Releases von Tine 2.0 tragen Datumsbezeichnungen<br />
und Code-Namen, wie<br />
etwa Neele (1/2011), Maischa (07/2011),<br />
Milan (03/2012) oder Joey (10/2012).<br />
Installiert haben wir die Versionen Kristina<br />
(2013.03.8) vom März dieses Jahres<br />
und das brandaktuelle Collin-Release,<br />
das kurz vor Redaktionsschluss erwartungsgemäß<br />
erschien und mit Unterstützung<br />
für Active Directory und Own-<br />
Cloud aufwarten kann (siehe Kasten).<br />
Die Bezeichnung »2.0« soll zum einem<br />
auf die verwendeten Web-Technologien<br />
(Web 2.0, AJAX) hinweisen, ist aber<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
<strong>Groupware</strong><br />
Tine<br />
45<br />
auch als Fingerzeig auf die Tatsache<br />
zu verstehen, dass sich Tine 2.0 als<br />
Neuauflage von e<strong>Groupware</strong> versteht.<br />
So war Tine 2.0 ursprünglich als »e<strong>Groupware</strong><br />
2.0« geplant und sogar für<br />
kurze Zeit ein offizielles Subprojekt<br />
von e<strong>Groupware</strong>. Allerdings spaltete<br />
sich das Tine-Projekt wegen interner<br />
Unstimmigkeiten im Februar 2008 von<br />
e<strong>Groupware</strong> ab, ist aber dennoch kein<br />
Fork, weil Tine von Grund auf neu entwickelt<br />
wurde.<br />
Open Source und Kommerz<br />
Federführend für die Entwicklung von<br />
Tine ist Produktmanager Lars Kneschke<br />
– kein Unbekannter in der Entwicklung<br />
von Open-Source-<strong>Groupware</strong>-Lösungen.<br />
Kneschke hat seit 2000 an der<br />
Entwicklung zahlreicher Open-Source-<br />
<strong>Groupware</strong>-Lösungen mitgearbeitet<br />
und das Tine-2.0-Projekt 2007 gemeinsam<br />
mit Cornelius Weiss bei der Hamburger<br />
Metaways Infosystems GmbH [6]<br />
ins Leben gerufen.<br />
Cornelius Weiss ist seit 2008 bei Metaways<br />
als Abteilungsleiter im Bereich<br />
Software für die Entwicklungsleitung<br />
von Tine 2.0 zuständig. Metaways ist<br />
ein 2001 mit Fokus auf Hosting und<br />
Software-Entwicklung im Kontext von<br />
Open Source gegründeter IT-Spezialist,<br />
der unter anderem kommerzielle<br />
Unterstützung [7] für Tine 2.0 sowie<br />
diverse Hosting-Varianten [8] der Lösung<br />
anbietet. Obwohl Metaways Tine<br />
finanziert, ist es ein echtes Community-<br />
Projekt mit einer stetig wachsenden<br />
Nutzergemeinschaft, die aktiv zur Mitarbeit<br />
[9] aufruft und mittlerweile viele<br />
externe Entwickler einbindet.<br />
Die Symbiose aus Community-Projekt<br />
und dem Sponsoring durch Metaways<br />
beschert der Lösung eine Reihe von<br />
Vorteilen. Der gesicherte finanzielle<br />
Entwicklungshintergrund erlaubte<br />
es den Tine-Machern beispielsweise<br />
von Beginn an, Software-Ergonomie<br />
als wichtigen Faktor für die Akzeptanz<br />
einer Unternehmens-Software einzubeziehen.<br />
Bekanntlich scheitern technisch<br />
ausgezeichnete Projekte nicht selten<br />
an Mitarbeitern, die die Software nicht<br />
benutzen wollen, was insbesondere für<br />
eine <strong>Groupware</strong>-Lösung fatal ist. Daher<br />
erlaubte es man sich bei Metaways,<br />
Abbildung 1: Das webbasierte Setup prüft, ob die Installationsvoraussetzungen erfüllt sind.<br />
beim Entwickeln der Funktionen sowie<br />
beim GUI-Design externe Experten<br />
der Open-Source-Usability-Labs [10]<br />
hinzuzuziehen. Die sind selbst keine<br />
Techniker, sondern verstehen sich als<br />
Anwälte der Benutzer und begleiten<br />
den gesamten Entwicklungsprozess mit<br />
Ratschlägen, die dazu dienen sollen,<br />
die Software für Anwender besser benutzbar<br />
zu machen.<br />
Ein weiterer wichtiger Punkt in der<br />
Tine-Entwicklung bestand im Anspruch,<br />
von Anfang an eine hohe<br />
Code-Qualität zu bieten, denn immerhin<br />
handelt es sich etwa bei den<br />
ERP- und CRM-Modulen um Software,<br />
die unternehmenskritische Daten<br />
verwaltet. Das Tine-Team setzt daher<br />
auf automatisierte Tests auf Basis des<br />
Test-Framework JUnit. Die dreistufigen<br />
Tests umfassen das Backend, die<br />
Domain-Logik und externe APIs. Beim<br />
Backend-Test geht es etwa darum, ob<br />
SQL- und LDAP-Abfragen und Dateizugriffe<br />
wie geplant funktionieren. Die<br />
Tests der Domain-Logik und Zugriffskontrolle<br />
im zweiten Schritt stellen<br />
quasi eine Referenz für die interne API<br />
dar, während im dritten Schritt die<br />
externen APIs getestet werden, auf die<br />
die Clients zugreifen.<br />
Technologie<br />
Das Backend von Tine ist komplett in<br />
PHP unter Zuhilfenahme des Zend-<br />
Frameworks geschrieben und nutzt<br />
zum Speichern der Daten eine SQL-<br />
Datenbank. Der Zugriff erfolgt über<br />
einen beliebigen Webserver. Die Client-<br />
Komponente, das Web-Frontend, ist<br />
mithilfe des ExtJS-Frameworks in<br />
Javascript implementiert. Die AJAX-<br />
Technologie impliziert einige typische<br />
Vorteile, aber auch Besonderheiten<br />
in puncto Look&Feel im Vergleich mit<br />
auf HTML 5 basierenden Lösungen wie<br />
Zarafa WebApp. Die Kommunikation<br />
mit dem Server erfolgt per JSON-RPC,<br />
sodass wie für AJAX-Anwendungen<br />
üblich nur die anzuzeigenden Daten<br />
übertragen werden, aber kein HTML.<br />
Allerdings ist AJAX nur zum Teil für die<br />
hohe Reaktionsgeschwindigkeit der<br />
GUI verantwortlich. Auch der Einsatz<br />
der In-Memory-Datenbank Redis trägt<br />
dazu bei, dass Tine viele Aufgaben<br />
asynchron erledigen kann.<br />
Voraussetzungen<br />
Die Tine-2.0-Community-Version benötigt<br />
als PHP-Anwendung einen Webserver<br />
mit diversen (gängigen) PHP-<br />
Erweiterungen sowie eine Datenbank.<br />
Im Test haben wir MariaDB (MySQL)<br />
und einen aktuellen Apache verwendet.<br />
Tine läuft aber auch mit anderen Webservern<br />
und Datenbanken (PostgreSQL,<br />
Oracle). Wir konnten die Software<br />
problemlos sowohl auf einem recht<br />
konservativen Ubuntu 12.10 mit MySQL<br />
5.5, als auch unter einem aktuellen Fedora-19-System<br />
mit MariaDB in Betrieb<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
46<br />
<strong>Groupware</strong><br />
Tine<br />
Tine installieren<br />
Tine muss als waschechte PHP-Anwendung<br />
im eigentlichen Sinne nicht<br />
installiert werden. Der Admin muss lediglich<br />
den gesamten Inhalt der als ZIP-<br />
Datei »tine20-allinone_2013.10.1.zip«<br />
zum Herunterladen angebotenen<br />
Community-Version im Document-<br />
Root-Verzeichnis des Webservers [/ var/<br />
www/ html] entpacken. Das Archiv extrahiert<br />
bei der Version Kristina direkt<br />
ins angegebenen Verzeichnis und erzeugt<br />
kein Unterverzeichnis wie bei der<br />
neuen Version Collin. Wer auf seinen<br />
Webserver ausschließlich Tine betreibt,<br />
kann dann via [http:// Hostname/ tine20.<br />
php] auf die <strong>Groupware</strong> zugreifen. Wer<br />
mehrere Web-Anwendungen betreibt,<br />
muss in einen Ordner installieren oder<br />
virtuelle Hosts verwenden. Der Admin<br />
ist selbst verantwortlich, die Installation<br />
möglichst sicher zu gestalten, etwa<br />
durch Verwenden des Nutzers und der<br />
Gruppe Apache und Anpassen der Datei<br />
».htaccess«.<br />
Metaways bietet in seinem Installations-HowTo<br />
auch Installationspfade für<br />
Ubuntu und Fedora auf Basis von Metaways<br />
zur Verfügung gestellten Repos<br />
an. Das erleichtert zwar das Installieren<br />
von Apache, MySQL und PHP mitsamt<br />
der benötigten Abhängigkeiten und<br />
kümmert sich unter Ubuntu/Debian<br />
auch um das MySQL-Root-Passwort,<br />
entbindet den Admin aber nicht davon,<br />
die benötigte Datenbank nebst Benutzern<br />
anzulegen und eine initiale Konfiguration<br />
von Tine 2.0 vorzunehmen.<br />
Ubuntu- und Debian-Nutzer können<br />
durch Hinzufügen des Repos mit<br />
Abbildung 2: Erst wenn die Datenbank existiert und läuft, lässt sich das Setup fortsetzen.<br />
echo "deb https://packages.tine20.org/U<br />
ubuntu $(lsb_release -sc) stable" >U<br />
/etc/apt/sources.list.d/tine20org.list<br />
n Listing 1: PHP-Konfiguration<br />
01 U<br />
/etc/apt/sources.list.d/tine20org.list<br />
und dem Importieren des für das Deb-<br />
Repo erforderlichen Admin-gpg-Keys<br />
mit<br />
apt-key adv --recv-keys --keyserver<br />
keys.gnupg.net 7F6F6895<br />
durch Eingeben von »apt‐get‐update ;<br />
apt‐get install tine20« (Ubuntu-Admins<br />
mit sudo) das Meta-Paket »Tine20« installieren.<br />
Das wiederum sorgt für das<br />
Installieren von Apache, PHP, MySQL<br />
und der Daten der Tine-Applikation,<br />
legt den administrativen MySQL-User<br />
an und fragt nach einem Namen nebst<br />
Passwort für den für das Tine-Setup<br />
benötigten Datenbank-Nutzer. Auch<br />
für Fedora stellt Metaways ein Repo zur<br />
Verfügung. Der Admin muss dazu eine<br />
passende Paketquellen-Beschreibung<br />
[tine20.org]<br />
name=Tine20.org repository<br />
baseurl=http://packages.tine20.orgU<br />
/fedora/$releasever/$basearch<br />
enabled=1<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
<strong>Groupware</strong><br />
Tine<br />
47<br />
#metadata_expire=7d<br />
gpgcheck=1<br />
gpgkey=http://packages.tine20.orgU<br />
/fedora/repo‐key.asc<br />
unter »/etc/yum.repos.d/tine.repo«<br />
speichern und dann den von Metaways<br />
zur Verfügung gestellten Public-Key<br />
importieren:<br />
rpm ‐‐import http://packages.tine20.orgU<br />
/fedora/repo‐key.asc<br />
Nach einem eventuellen Update der<br />
Systembasis mit »yum ‐y update« lässt<br />
sich die Software ebenfalls komfortabel<br />
mit »yum« installieren: »yum install<br />
tine20«.<br />
Wir haben uns dennoch für die gezippte<br />
Download-Version unter Fedora<br />
19 entschieden und das Archiv im Document-Root<br />
des Apache-Webservers<br />
entpackt. Bei der manuellen Installation<br />
unter Fedora sind wie erwähnt<br />
– soweit noch nicht geschehen – die<br />
Pakete mariadb, php sowie die PHP-Erweiterungen<br />
php-gd und php-mycrypt<br />
und für eine gesicherte Verbindung<br />
zum Webserver gegebenenfalls das Paket<br />
mod_ssl zu installieren. Das gelingt<br />
mit »yum install php‐extension«.<br />
Tine konfigurieren<br />
Tine ist zwingend auf eine Datenbank<br />
angewiesen, ohne die die weitere<br />
Konfiguration der Anwendung nicht<br />
funktioniert. Während Debian-basierte<br />
Distributionen den administrativen<br />
MariaDB/MySQL-Account im Lauf der<br />
Installation mittels »debconf« anlegen,<br />
muss der Admin dieses unter Fedora<br />
selbst tun:<br />
mysqladmin ‐u root password <br />
Der administrative Datenbank-Account<br />
muss nicht zwingend »root« heißen und<br />
ist nicht mit dem Root-System-User<br />
identisch. Wahlweise kann der Admin<br />
mit »/usr/bin/mysql_secure_installation«<br />
auch eine sichere Konfiguration<br />
von MariaDB anstoßen. Der Ablauf des<br />
Skriptes ist selbsterklärend. Anschließend<br />
muss der Admin die von Tine<br />
benötigte Datenbank und einen Nutzer<br />
anlegen, der volle Zugriffsrechte auf<br />
die Datenbank hat und für das initiale<br />
sowie ein gegebenenfalls wiederholtes<br />
Setup von Tine benötigt wird. Dazu<br />
wechselt der Admin durch Eingeben<br />
von »mysql ‐p passwort« in den interaktiven<br />
Datenbank-Modus. Hier legt er<br />
zum Beispiel mit<br />
CREATE DATABASE tine20db DEFAULT U<br />
CHARACTER SET 'UTF8';<br />
eine Tine-2.0-Datenbank mit dem Namen<br />
tine20db, sowie mit<br />
GRANT ALL PRIVILEGES ON tine20db.* TOU<br />
'tine20user'@'localhost' IDENTIFIED BY U<br />
'tine20pw';<br />
einen Datenbank-Benutzer tine20user<br />
nebst Passort tine20pw an, der volle<br />
Rechte an der Datenbank hat. Beide<br />
Befehlszeilen sind mit dem Semikolon<br />
abzuschließen. Ist das erledigt, kann<br />
sich der Admin um die PHP-Basis-Konfiguration<br />
für Tine<br />
kümmern.<br />
PHP-Config<br />
erstellen<br />
Dazu ist im Prinzip<br />
eine Config-Datei<br />
»/var/www/html/<br />
config.inc.php« zu<br />
erstellen, die im<br />
Wesentlichen Informationen<br />
darüber<br />
enthält, wie die<br />
Verbindung zur Datenbank<br />
erfolgt. Die<br />
Datei muss für den<br />
Webserver-User lesund<br />
schreibbar sein.<br />
Wer die Konfiguration<br />
komplett manuell<br />
erledigen möchte,<br />
kann sich dazu an<br />
der mitgelieferten<br />
Beispielkonfiguration<br />
»config.inc.php.<br />
dist« orientieren,<br />
diese den eigenen<br />
Gegebenheiten<br />
entsprechend bearbeiten<br />
und unter<br />
der Bezeichnung<br />
»config.inc.php« im<br />
Document-Root speichern. Der Admin<br />
kann aber auch eine minimale »config.<br />
inc.php«-Datei mit Inhalt aus Listing 1<br />
verwenden, die es erlaubt, die weitere<br />
Konfiguration im Web-Interface zu erledigen.<br />
Die Datei muss den administrativen<br />
Zugang zur Datenbank sowie den eben<br />
angelegten Tine-Setup-User nebst<br />
Passwort enthalten. Dieser Setup-User<br />
wird für den initialen Teil des grafischen<br />
Tine-Setups benötigt sowie für<br />
spätere Änderungen am Basis-Setup,<br />
etwa zum Installieren zusätzlicher<br />
Anwendungen. Den für die spätere<br />
Administration von Tine benötigten<br />
Admin-User legt der Admin im weiteren<br />
Verlauf des Tine-Setups fest. Mit dieser<br />
Minimal konfiguration sollte es möglich<br />
sein, die Setup-Oberfläche von Tine<br />
2.0 mit der URL [http:// Server/ setup.<br />
php] im Browser aufzurufen und sich<br />
mit den Account-Daten des oben definierten<br />
Setup-Users anzumelden. Nach<br />
Anzeige<br />
www.admin-magazin.de
48<br />
<strong>Groupware</strong><br />
Tine<br />
Abbildung 3: Die neue Tine-2.0-Version Collin lässt sich in ein Active Directory einbinden.<br />
dem Login darf der Admin zuerst die<br />
Lizenzvereinbarung und das Privacy-<br />
Agreement der Community-Version<br />
mit einem Click auf »Accept Terms<br />
and Conditions« abnicken. Das ist<br />
notwendig, weil das Gesamtpaket von<br />
Tine 2.0 aus zahlreichen Komponenten<br />
mit einer Vielzahl unterschiedlicher<br />
Open-Source-Lizenzen besteht. Danach<br />
kann der Admin mit »Setup Checks«<br />
die Umgebung testen, was im Idealfall<br />
Abbildung 4: Das Mailserver-Setup ist für viele Funktionen in Tine essenziell.<br />
viele grüne Häckchen zeigen sollte (Abbildung<br />
1).<br />
Im Menü »Config Manager« kann der<br />
Admin dann die beschriebenen Parameter<br />
für den Datenbank-Zugriff<br />
verifizieren. Stimmt hierbei irgendwas<br />
nicht, läuft die Datenbank nicht oder<br />
wurden die Tine-Datenbank und der<br />
Tine-Setup-Nutzer noch nicht angelegt,<br />
signalisiert das Setup-Programm dies<br />
im Bereich Database mit einem roten<br />
Kreuz statt des grünen Häkchens (Abbildung<br />
2).<br />
Darunter kann der Admin auf Wunsch<br />
»Logging«, »Caching« und »Queueing«<br />
aktivieren und eine Reihe von Pfaden<br />
seinen persönlichen Wünschen anpassen.<br />
Hat der Admin Tine 2.0 mithilfe eines<br />
Repositories installiert, sind an dieser<br />
Stelle keine Änderungen erforderlich.<br />
Ist die Konfigurationsdatei für den<br />
Webserver nicht beschreibbar, ist<br />
links oben der Link »Config file is not<br />
writeable« hervorgehoben und die folgenden<br />
Menüpunkte sind ausgegraut.<br />
In diesem Fall kann der Admin die<br />
Konfiguration mit »Download config<br />
file« lokal herunterladen und selbst auf<br />
dem Webserver platzieren. Ist dagegen<br />
alles in Ordnung, sollte der nächste<br />
Menüpunkt »Authentication | Accounts«<br />
anwählbar sein. Nach dessen Auswahl<br />
ist dann auch links oben der Link<br />
»Save config on install« anklickbar<br />
und der Umweg des Herunterladens<br />
der Konfiguration entfällt. Jetzt ist es<br />
an der Zeit, im Bereich »Initial Admin<br />
User« den eigentlichen administrativen<br />
Tine-Admin-Account nebst Passwort<br />
anzulegen.<br />
Die Seite erschließt noch ein Füllhorn<br />
weiterer Konfigurations-Optionen, die<br />
aber fast alle mit brauchbaren Werten<br />
vorbelegt sind, etwa ob das Tine-<br />
Backend Benutzer via SQL, LDAP oder<br />
IMAP authentifizieren soll. Die neue<br />
Version Collin kann Benuterkonten<br />
auch in einem Active Directory ablegen<br />
(Abbildung 3). Ferner kann und<br />
muss der Admin bei einer manuellen<br />
Installation hier bei Bedarf noch Weiterleitungsregeln<br />
etwa für ActiveSync,<br />
CalDAV und CardDAV einrichten, was<br />
aber je nach eingesetztem Webserver<br />
variiert.<br />
Erst wenn der initiale Tine-Admin-Account<br />
angelegt wurde, stehen die beiden<br />
letzten Menüpunkte »Email« und<br />
»Applications Manager« zur Verfügung.<br />
Spätestens jetzt sollte die <strong>Groupware</strong><br />
aber bereits zugreifbar sein. Das Menü<br />
»Email« dient schließlich zum Konfigurieren<br />
von IMAP- und SMTP-Servern.<br />
Auch hier zeigt sich Tine sehr flexibel<br />
und erlaubt zum Beispiel je nach Bedarf<br />
neben Standard-IMAP das Konfigu-<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
<strong>Groupware</strong><br />
Tine<br />
49<br />
rieren von DBmail, Cyrus, Dovecot und<br />
Postfix. Genauso vielseitig sieht es im<br />
Bereich unterstützter SMTP-Server mit<br />
Postfix/MySQL oder Postfix/LDAP aus<br />
(Abbildung 4).<br />
Das Konfigurieren eines Mailservers ist<br />
für den Einsatz von Tine 2.0 zwar nicht<br />
zwingend erforderlich, ohne Mailserver<br />
funktionieren aber verständlicherweise<br />
keine Termineinladungen, Kalenderalarme<br />
und so weiter. Im Menü »Applications<br />
Manager« schließlich kann der<br />
Admin die verfügbaren Tine-2.0-Anwendungen<br />
installieren. Standardmäßig<br />
sind nur die klassischen <strong>Groupware</strong>-<br />
Funktionen in Form der Applikationen<br />
»Tinebase«, »Adressbook« und »Admin«<br />
installiert. Einige Anwendungen weisen<br />
Abhängigkeiten zu anderen auf, was in<br />
der Spalte »Depends on« ersichtlich ist<br />
(Abbildung 5).<br />
Ist das erledigt, gelangt der Admin mit<br />
dem Link »Go to Tine 2.0 login« rechts<br />
oben oder über das Kontextmenü der<br />
jeweiligen Anwendung zum eigentlichen<br />
Goupware-Login.<br />
Abbildung 5: Hier installiert der Admin (auch später) die verfügbaren Tine-Anwendungen.<br />
Erste Schritte in Tine<br />
Wer sich nicht direkt aus dem Setup an<br />
der <strong>Groupware</strong> anmeldet, tut dies im<br />
normalen Betrieb über die URL [http://<br />
Tine‐Server/ tine20], es sei denn, der<br />
Admin hat die Software in ein Unterverzeichnis<br />
installiert. Je nachdem welche<br />
Art der Benutzerauthentifizierung der<br />
Admin im Setup-Teil konfiguriert hat,<br />
ist es jetzt möglich, sich an der Tine-<br />
Weboberfläche anzumelden. Hat der<br />
Admin keine Authentifizierung via<br />
LDAP, AD oder IMAP konfiguriert, nutzt<br />
Tine die eigene Benutzerverwaltung<br />
auf Basis der MySQL-Datenbank. Das<br />
bedeutet, dass es beim ersten Login<br />
ausschließlich möglich ist, sich mit<br />
dem eben angelegten, initialen administrativen<br />
Benutzer anzumelden.<br />
Tine 2.0 arbeitet vollständig Tabbasiert,<br />
das heißt, jede einzelne Anwendung<br />
wie das per Default gestartete<br />
Adressbuch erscheint auf einem<br />
eigenen Reiter. Mit einem Klick auf den<br />
Reiter »Tine 2.0« öffnet sich ein Untermenü,<br />
das wahlweise das Starten der<br />
übrigen installierten Anwendungen<br />
wie Kalender und Aufgaben ermöglicht<br />
oder das Öffnen des Admin-Moduls sowie<br />
der Einstellungen. Darüber hinaus<br />
kann der Admin beziehungsweise der<br />
gerade angemeldete Benutzer hier sein<br />
Passwort ändern, sein Profil bearbeiten<br />
und sich von der <strong>Groupware</strong> abmelden<br />
(Abbildung 6).<br />
Neue Benutzer legt der Admin im<br />
Admin-Modul gleich im ersten Menüpunkt<br />
»Benutzer« fest. Das sind dann<br />
solche, die Tine-intern gegen die<br />
MySQL-Datenbank authentifiziert werden.<br />
Soll dagegen grundsätzlich gegen<br />
einen Verzeichnisdienst oder mithilfe<br />
eines existierenden IMAP-Servers authentifiziert<br />
werden, muss der Admin<br />
die beschriebene Setup-Prozedur wiederholen<br />
und die dazu notwendigen<br />
Änderungen vornehmen.<br />
Einen neuen Benutzer fügt der Admin<br />
mit dem Symbolleisten-Eintrag »Benutzer<br />
hinzufügen« hinzu. Gleiches gilt<br />
für Gruppen. Die in der Symbolleiste<br />
verfügbaren Einträge variieren je nach<br />
in der Baumstruktur links gewählten<br />
Eintrag. Allerdings kann der Admin jede<br />
gewünschte beziehungsweise häufig<br />
benötigte Ansicht mit der gleichnamigen<br />
Schaltfläche als Favorit speichern.<br />
Der Benutzerdialog erscheint dann<br />
in einem Unterdialog in einem neuen<br />
Browser-Fenster, der wieder Tab-basiert<br />
ist (Abbildung 7).<br />
Tine 2.0 im Alltag<br />
Sponsor Metaways und das Tine-<br />
Entwickler-Team betonen, dass Tine<br />
durch den Einsatz von reichlich AJAX-<br />
Technologie so konzipiert ist, dass<br />
es sich wie eine native Applikation<br />
anfühlt. Das ist vielleicht etwas übertrieben<br />
und im Web-2.0-Zeitalter auch<br />
keine Besonderheit, schaut man sich<br />
Abbildung 6: Das Hauptmenü erschließt den Zugang<br />
zu den anderen installierten Modulen.<br />
Abbildung 7: Die Benutzerverwaltung im Admin-<br />
Modul.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
50<br />
<strong>Groupware</strong><br />
Tine<br />
im Hintergrund, sodass der in den<br />
meisten Web-Anwendungen obligatorische<br />
Klick auf den Refresh-Button des<br />
Browsers entfällt. Ferner lassen sich<br />
etwa Kontakte oder Termine mit nur einem<br />
Klick anlegen. Außerdem können<br />
Nutzer zum Beispiel wie bei anderen<br />
Programmen mit [CTRL+F] ins Suchfeld<br />
springen. Weiter ist es mit Tine komfortabel<br />
möglich, nahezu beliebige Daten<br />
miteinander zu verknüpfen, was eine<br />
leistungsfähige Suche ermöglicht. Tine<br />
kann über sämtliche Anwendungen suchen.<br />
So ist es beispielsweise kein Problem,<br />
alle Kontakte aus dem Adressbuch<br />
zu filtern, die mit einem offenen<br />
Lead im CRM-Modul verknüpft sind.<br />
Abbildung 8: Das komfortable Verschieben von Terminen via Drag&Drop.<br />
an, was die Konkurrenz in dieser Hinsicht<br />
zu bieten hat (Stichwort HTML5).<br />
Trotzdem entspricht das Look&Feel der<br />
Oberfläche in der Tat eher einer nativen<br />
Anwendung als einer herkömmlichen<br />
Web-Applikation.<br />
Das gilt übrigens nicht für die Module<br />
»Setup« und »Admin«, in denen<br />
es keine Kontextmenüs und keine<br />
Drag&Drop-Funktionalität gibt, was<br />
sich aber verschmerzen lässt. So aktualisiert<br />
Tine beispielsweise die Ansichten<br />
zahlreicher Komponenten automatisch<br />
Abbildung 9: Das differenzierte Konfigurieren von Wiederholungen und Terminserien.<br />
Kalender<br />
Termine lassen sich in Tine wahlweise<br />
via Doppelklick oder Kontextmenü mit<br />
nur einem Klick sehr elegant anlegen,<br />
löschen und bearbeiten sowie ebenso<br />
elegant via Drag&Drop kopieren. Gleiches<br />
klappt auch per Kontextmenü.<br />
Selbstverständlich funktioniert das<br />
Bearbeiten auch per Doppelklick,<br />
wobei Tine beim Kopieren via Kontextmenü<br />
gleich den Termin-Editor<br />
öffnet. Das Verlängern oder Verkürzen<br />
eines Termins funktioniert ebenfalls<br />
via Drag&Drop. Darüber hinaus stehen<br />
für das Hinzufügen, Bearbeiten und<br />
Löschen auch die gleichnamigen Buttons<br />
in der Symbolleiste zur Verfügung<br />
(Abbildung 8).<br />
Im Reiter »Wiederholungen« lassen sich<br />
sehr komfortabel Terminserien einrichten.<br />
Ferner lässt sich jedem Termin der<br />
Status »nicht blockierend«, »vorläufig«<br />
und/oder »privat« zuweisen. Neben<br />
einer Beschreibung kann der Nutzer<br />
jeden Termin zusätzlich mit einer Notiz<br />
oder mit selbst definierbaren Tags verknüpfen<br />
(Abbildung 9).<br />
Ferner lässt sich die Editor-Ansicht zwischen<br />
»Organisator« und »Teilnehmer«<br />
umschalten und mit »Gespeichert in«<br />
kann der Nutzer flexibel entscheiden,<br />
in welchem Kalender der Termin neben<br />
dem voreingestellten persönlichen<br />
Kalender gespeichert wird, etwa dem<br />
»Gemeinsamen Kalender« oder in den<br />
Kalendern anderer Benutzer. Zudem<br />
führt Tine zu jedem Termin im gleichnamigen<br />
Reiter eine »Historie«, die sich<br />
auch komfortabel durchsuchen und<br />
filtern lässt (Abbildung 10).<br />
Die Historie vermerkt sogar, ob ein Teilnehmer<br />
einen Termin akzeptiert oder<br />
abgelehnt hat. Die Kalenderansicht<br />
insgesamt ist dank farbiger Tags sehr<br />
übersichtlich. Teilnehmer können Termine<br />
mit »Meine Antwort setzen« zusagen,<br />
absagen oder vorläufig zusagen,<br />
wobei sich auch als vorläufig markierte<br />
Termine farblich kennzeichnen lassen.<br />
Die Verknüpfung mit dem Adressbuch<br />
ist durchgängig und transparent. Klickt<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
52<br />
<strong>Groupware</strong><br />
Tine<br />
Kann Tine in der vom Nutzer gerade gewählten<br />
Ansicht im Kalender vermerkte<br />
Termine nicht anzeigen, weist das<br />
Programm darauf hin. Legt der Nutzer<br />
einen Termin in der Vergangenheit an<br />
oder verlängert einen vergangenen<br />
Termin via Drag&Drop, klappt sofort ein<br />
Dialog auf, in dem Tine fragt, was mit<br />
dem Termin geschehen soll und bietet<br />
an, diesen zu aktualisieren (Abbildung<br />
12).<br />
Die Kalenderfunktion reagiert zudem<br />
mit Popups zutreffend auf Terminüberschneidungen<br />
oder beschäftigte Teilnehmer<br />
(Abbildung 13).<br />
Löscht der Nutzer einen Termin aus<br />
einer Terminserie, bietet Tine ebenfalls<br />
in einem Popup das Konfigurieren von<br />
Ausnahmen an (Abbildung 14).<br />
Die in der aktuellen Version sehr komfortable<br />
und schnelle Kalenderfunktion<br />
sowie die hervorragende Integration<br />
mit dem Adressbuch und dem E-Mail-<br />
Modul ist auf die Redis-Unterstützung<br />
zurückzuführen, die erst in der Version<br />
Kristina vervollständigt wurde. Von der<br />
kompakten und schnellen In-Memory-<br />
Datenbank Redis profitiert in erster<br />
Linie die Kalenderfunktion. Die arbeitet<br />
dank der auf Redis basierenden optimierten<br />
Queue-Verwaltung viel effizienter,<br />
weil sie zum Beispiel den zugehörigen<br />
E-Mail-Versand asynchron abarbeitet.<br />
Damit ist zum Beispiel das sofortige<br />
Eintragen von Terminänderungen in<br />
den Kalender möglich – noch während<br />
sich der Queue-Manager um das Versenden<br />
von Nachrichten kümmert. Die<br />
gute Integration von Adressbuch und<br />
E-Mail-Funktion ist unter anderem auch<br />
beim Erstellen von Massen-Mailings<br />
nützlich.<br />
Abbildung 10: Tine führt im Reiter Historie penibel Buch.<br />
der Nutzer für einen neuen Teilnehmer<br />
auf den kleinen Abwärtspfeil zum Auffalten<br />
des Adressbuchs, klappt sofort<br />
der Adressbuchdialog zum Durchsuchen<br />
auf. Gleiches gilt beim Hinzufügen<br />
eines »Organisators« für die Liste der<br />
registrierten Tine-Nutzer (Abbildung<br />
11).<br />
In der Seitenleiste links lassen sich Termine<br />
auf die Schnelle nach »Favoriten«<br />
wie »Ich bin der Organisator« »Erwarte<br />
Antwort« und »Abgelehnt« filtern. Außerdem<br />
zeigt Tine hier etwaige Teilnehmer<br />
an.<br />
Selbstverständlich gibt es auch eine<br />
Alarmfunktion. Ferner lassen sich<br />
Einladungen zu Terminen unmittelbar<br />
im E-Mail-Programm bestätigen oder<br />
absagen, ohne dass der Teilnehmer<br />
den betreffenden Termin erst selbst im<br />
Kalender heraussuchen muss. Außerdem<br />
kann der Anwender auf Wunsch<br />
immer bestimmte Kalender anzeigen<br />
lassen, unabhängig davon, welche Filter<br />
gerade aktiviert sind. Darüber hinaus<br />
können Nutzer jederzeit Listen und<br />
Kalender ausdrucken. Bei den Kalender-Layouts<br />
gibt es wie gewohnt eine<br />
Tages-, Wochen- und Monats-Ansicht.<br />
E-Mail<br />
Ist das E-Mail-Modul nicht installiert,<br />
taucht es zunächst auch nicht im<br />
Admin-Modul auf. Nicht installierte<br />
Module lassen sich nachträglich nur<br />
im Setup-Programm »http://Server/<br />
setup.php« installieren, an dem man<br />
sich nicht mit dem Admin-, sondern<br />
dem eingangs erwähnten Setup-<br />
Account anmeldet. Startet der Admin<br />
oder für E-Mail berechtigte Nutzer den<br />
E-Mail-Client zum ersten Mail, muss er<br />
zunächst mit der Schaltfläche »Konto<br />
hinzufügen« ein neues E-Mail-Konto<br />
anlegen. Den E-Mail-Client haben wir<br />
angesichts der Tatsache, dass sich Nutzer<br />
nur ungern von ihrem gewohnten<br />
Client trennen, nur oberflächlich angeschaut,<br />
auch wenn für den Tine-Mailer<br />
die gute Integration mit dem Rest des<br />
Programms spricht.<br />
Der Funktionsumfang geht in Ordnung,<br />
ist aber im Vergleich zu Thunderbird<br />
oder Outlook nicht überragend. So<br />
Abbildung 13: Ist ein Teilnehmer beschäftigt,<br />
weist Tine via Popup darauf hin.<br />
Abbildung 11: Die Verknüpfung zwischen<br />
Kalender und Adressbuch.<br />
Abbildung 12: Mit Popups macht Tine auf<br />
Unstimmigkeiten aufmerksam und bietet<br />
einen Workaround an.<br />
Abbildung 14: Das komfortable Reagieren<br />
auf Lösch-Ausnahmen.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
<strong>Groupware</strong><br />
Tine<br />
53<br />
kann der Nutzer etwa beim Senden einer<br />
E-Mail eine Lesebestätigung anfordern,<br />
wobei der Empfänger, sofern er<br />
ebenfalls den Tine-E-Mail-Client nutzt,<br />
die Bestätigung explizit erlauben muss<br />
(Abbildung 15).<br />
Tine legt automatisch einen Papierkorb<br />
an, wenn der Nutzer eine E-Mail löscht.<br />
Außerdem lassen sich mit Sieve Filterregeln<br />
festlegen, die direkt auf dem<br />
Mailserver ausgeführt werden (Abbildung<br />
16).<br />
Darüber hinaus können Tine-Anwender<br />
im E-Mail-Client das automatische<br />
Versenden von Abwesenheits-Mails<br />
konfigurieren. Die Funktion dazu findet<br />
sich wie diejenige zum Erstellen von Filterregeln<br />
im Kontextmenü des betreffenden<br />
E-Mail-Kontos (Abbildung 17).<br />
Beantwortet der Anwender eine Mail,<br />
die außer an ihn selbst an andere Empfänger<br />
adressiert ist, mit »Allen antworten«,<br />
streicht der Tine-E-Mail-Client<br />
automatisch die eigene E-Mail-Adresse<br />
aus der Empfängerliste.<br />
Clients und Schnittstellen<br />
Dass die Entwickler mit der Fokussierung<br />
auf die webbasierte Oberfläche<br />
und dem gut integrierten, eigenen<br />
E-Mail-Client einen nicht vorhandenen<br />
Outlook-<strong>Groupware</strong>-Connector rechtfertigen,<br />
ist – vorsichtig ausgedrückt<br />
– sehr selbstbewusst. Schließlich geht<br />
es bei der Outlook-Unterstützung nicht<br />
um zusätzliche Funktionen, sondern<br />
um die Weiterverwendbarkeit des<br />
gerade im Unternehmen beliebtesten<br />
<strong>Groupware</strong>-Clients. In puncto<br />
Exchange-Unterstützung verweisen die<br />
Entwickler allerdings auf den Support<br />
durch Metaways. Immerhin sieht es im<br />
Bereich der sonstigen von Tine unterstützen<br />
Clients und Schnittstellen sehr<br />
gut aus. Tine unterstützt alle Outlook-<br />
Versionen einschließlich MS Outlook<br />
2013 als E-Mail-Client und auch die<br />
Kalenderanwendung von Mac OS X<br />
Mountain Lion. Bereits seit Milan können<br />
Tine-Nutzer, die trotzdem einen<br />
nativen Client verwenden, via CalDAV<br />
und CardDAV auf ihre Daten zugreifen.<br />
Insofern unterstützt Tine auch Thunderbird,<br />
Apple iCal und alle iOS-Geräte.<br />
Dank WebDAV-Support funktionieren<br />
auch sämtliche WebDAV-Clients,<br />
Abbildung 15: Der E-Mail-Editor von Tine.<br />
einschließlich KDE und ab Tine 2.0<br />
Collin auch OwnCloud-Clients. Zudem<br />
können Tine-Anwender auch VCards<br />
importieren.<br />
ActiveSync<br />
Besonders hervorzuheben ist die gute<br />
ActiveSync-Unterstützung von Tine 2.0.<br />
Für Kenner und Nutzer einer Vorgängerversion<br />
von Tine ist zudem erwähnenswert,<br />
dass der ActiveSync-Support<br />
mit Kristina dank einer Verbesserung<br />
der Synchronisationslogik deutlich<br />
schneller geworden ist und auf den<br />
Smartphones weniger CPU-Leistung<br />
und Speicher benötigt. Ferner bietet<br />
die neue, erweiterte ActiveSync-Oberfläche<br />
die Möglichkeit, Sicherheitsrichtlinien<br />
anzulegen. So können Unternehmen<br />
beispielsweise verbindlich<br />
vorschreiben, dass Nutzer auf Mobilgeräten<br />
Passwörter verwenden müssen<br />
oder Daten auf verlorengegangenen<br />
Smartphones per Remote-Zugriff<br />
löschen. Neben der guten ActiveSync-<br />
Implementierung verfügt Tine auch<br />
über diverse Import-Skript-Schnittstellen,<br />
die das Importieren von Daten<br />
aus anderen Anwendungen einfacher<br />
machen. Admins können auf Basis der<br />
Schnittstellen Import-Programme in<br />
nahezu beliebigen Sprachen schreiben.<br />
Speziell die Importfunktion für e<strong>Groupware</strong><br />
erstreckt sich sogar auf die Berechtigungen<br />
aller Benutzer, Termine,<br />
Kontakte und Kategorien.<br />
Abbildung 16: Via Sieve lassen sich Filterregeln auf<br />
dem Server definieren.<br />
Tine aus Admin-Sicht<br />
Tine-Administratoren können zudem<br />
Berechtigungen für Ressourcen<br />
vergeben und damit regeln, welche<br />
Benutzer welche Ressourcen nutzen<br />
können. Außerdem implementiert Tine<br />
auf Administrationsebene eine eigene<br />
Ordnerverwaltung. Ferner führt Tine<br />
2.0 ein Protokoll sämtlicher Änderungen,<br />
die von Benutzern an den Daten<br />
vorgenommen wurden. So hat der<br />
Administrator jederzeit die Möglich-<br />
Abbildung 17: Tine-Nutzer können auch<br />
eine Abwesenheitsbenachrichtigung<br />
konfigurieren.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
54<br />
<strong>Groupware</strong><br />
Tine<br />
Abbildung 18: Die filterbaren Zugriffs-Logs im Admin-Modul.<br />
n Info<br />
keit, Änderungen wieder rückgängig<br />
zu machen. Er kann sogar Änderungen<br />
eines Benutzers in einem bestimmten<br />
Zeitraum einschränken. Darüber hinaus<br />
gibt es im Admin-Modul ein filterbares<br />
Zugriffs-Log (Abbildung 18).<br />
Fazit<br />
Wir haben in Anbetracht des Heftschwerpunktes<br />
sämtliche Module, die<br />
über reine <strong>Groupware</strong>-Funktionen hinausgehen,<br />
ausgeblendet. Allein mit den<br />
aus dem Modul zur Personalverwaltung<br />
bezogenen Informationen könnten<br />
kleine Firmen theoretisch problemlos<br />
ihre Gehaltsabrechnung füttern.<br />
Ebenfalls für Firmen interessant ist das<br />
Snom-Webserver-Backend, das zum<br />
Beispiel Telefonate aus Tine heraus<br />
ermöglicht.<br />
Dem erklärten Ziel der Tine-Entwickler,<br />
<strong>Groupware</strong>-, CRM- und ERP- unter einer<br />
gemeinsamen, plattformunabhängigen<br />
Oberfläche zu vereinen, ist Tine 2.0<br />
Collin recht nahe. Allgemein ist Tine<br />
eine relativ einfach zu installierende<br />
<strong>Groupware</strong>, die ohne Berücksichtigung<br />
von Altlasten auf moderne Webtechnik<br />
setzt und sich daher im Browser weitgehend<br />
wie eine native Anwendung<br />
anfühlt. Der Aufwand beim Installieren<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/31081<br />
des Community-Version bewegt sich<br />
im Rahmen des Üblichen und ist sogar<br />
geringer, als beim Installieren der freien<br />
Versionen von Open-Xchange oder<br />
Zarafa.<br />
In puncto Geschwindigkeit ist kaum<br />
ein Unterschied zu einer nativen Anwendung<br />
zu spüren. Nicht nur der bestehenden<br />
Möglichkeiten der Synchronisierung<br />
mit mobilen Geräten wegen<br />
ist die Software auch für Unternehmen<br />
mit Außendienstmitarbeitern interessant.<br />
Diese können mit praktisch allen<br />
aktuellen Smartphones jederzeit auf<br />
Termine, Kontakte, E-Mails und Aufgaben<br />
zugreifen. Diverse Clients und Synchronisationsmöglichkeiten<br />
bietet zwar<br />
auch die Konkurrenz, bei Tine sind aber<br />
sämtliche Funktionen ohne zusätzliche<br />
Module oder Programmteile, die bei<br />
anderen kostenpflichtig lizenziert werden<br />
müssten, nutzbar.<br />
Dank der stetigen Weiterentwicklung<br />
wächst auch die Community. Auch<br />
im Bereich zahlender Kunden kann<br />
Sponsor Metaways auf prominente<br />
Referenzen wie etwa das Deutsche<br />
Museum und das Ecologic Institute<br />
Berlin [12] verweisen. Dass sich die<br />
Tine-Entwickler eine ganze Menge<br />
Gedanken gemacht haben, ist allenthalben<br />
sicht- und spürbar. Nicht nur,<br />
dass man mit aufwendigen Tests eine<br />
Code-Qualität sicherstellt, die den<br />
produktiven Einsatz in Unternehmen<br />
erlaubt, Tine hat auch in puncto Usability<br />
einiges zu bieten. Das gilt nicht nur<br />
für die erwähnte AJAX-Unterstützung<br />
mit Drag&Drop-Funktionen und Kontextmenüs,<br />
die Tine das Feeling eine<br />
nativen Anwendung verleihen, sondern<br />
auch für die Art und Weise, wie Funktionen<br />
implementiert sind und wie die<br />
Benutzerlogik gestaltet ist. Hier waren<br />
Entwickler am Werk, die die Interessen<br />
und Bedürfnisse ihrer Nutzer kennen.<br />
Fairerweise muss man aber auch<br />
einräumen, dass die Tine-Entwickler<br />
angefangen mit ihren ersten Design-<br />
Studien im Jahr 2007 die Möglichkeit<br />
hatten, den gesamten Code unter Einbeziehung<br />
neuester Webtechnologien<br />
neu zu entwerfen und dennoch von den<br />
Erfahrungen zu profitieren.<br />
Open-Xchange und Zarafa schleppen<br />
zumindest auf Code-Seite über<br />
die Jahre auch Altlasten mit. Open-<br />
Xchange hat zum Beispiel in den letzten<br />
Jahren zuerst sein Backend modularisiert<br />
und erst mit der OX-App-Suite<br />
im vergangenen Jahr ein zeitgemäßes<br />
HMTL5-Frontend nachgeschoben.<br />
Zarafa bot und bietet sein klassisches<br />
AJAX-Frontend »Webaccess« und das<br />
modernere HTML5-Frontend »WebApp«<br />
parallel an.<br />
Tine 2.0 war übrigens im Jahr 2008<br />
Finalist im »SourceForge Community<br />
Choice Awards« in der Kategorie<br />
»bestes neues Projekt« und im Jahr<br />
2009 Finalist bei der »Les Trophées du<br />
Libre« in der Kategorie »Professional«.<br />
Doch wo viel Licht ist, ist auch Schatten.<br />
Wo etwa Sponsor und Entwickler<br />
von Tine neue Kunden akquirieren wollen,<br />
ist ihr Problem. Der Markt scheint<br />
mit Exchange, Domino/Notes, Zimbra,<br />
Scalix, OX, Zarafa & Co auf den ersten<br />
Blick gut gesättigt. Allerdings haben<br />
gerade kleine Unternehmen oft noch<br />
keine <strong>Groupware</strong>-Lösung im Einsatz,<br />
sehen Studien zufolge aber in der<br />
Benutzbarkeit gemeinsamer Kalender<br />
immer noch ein erstrebenswertes Ziel.<br />
Metaways muss also entweder Kunden<br />
finden, die noch keine <strong>Groupware</strong><br />
einsetzen oder Exchange/Outlook-<br />
Nutzer zum Umstieg bewegen. Durch<br />
Micro-softs Aufgabe seines Small<br />
Business Servers bieten sich da sogar<br />
Chancen. Leider ist bei Tine in Bezug<br />
auf die Exchange-Migration oder die<br />
Zusammenarbeit mit Outlook und/<br />
oder Exchange keine Strategie erkennbar.<br />
(jcb) n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
56<br />
Know-how<br />
Git-Annex<br />
Dmitri Stalnuhhin, 123RF<br />
Datenverwaltung mit Git-Annex<br />
Git wird groß<br />
Git-Annex ist eine überaus nützliche Erweiterung von Git. In puncto Synchronisation und Datenverwaltung<br />
wartet es mit innovativen Konzepten auf. Datei-Inhalte brauchen nicht mehr auf jedem System vorhanden<br />
zu sein, Git-Annex holt sie bei Bedarf von anderen Repositories. Georg Schönberger<br />
Git-Annex [1] erscheint auf den ersten<br />
Blick paradox. Es verwaltet Dateien in<br />
einem Git-Repository, ohne die Datei-<br />
Inhalte selbst ins Repository einzuspielen.<br />
Dennoch ist es möglich, neue<br />
Dateien und Änderungen an Dateien zu<br />
verfolgen und im Git-Stil zu pflegen. Da<br />
sich die Inhalte nie direkt im Repository<br />
befinden, bleiben Probleme mit großen<br />
Dateien dort aus. Joey Hess, der<br />
Entwickler von Git-Annex, führt zwei<br />
typische Anwendungsfälle an:<br />
1. Der Archivar besitzt verschiedene<br />
Offline-Geräte, über die er seine Daten<br />
verteilt. Am Client-System verwaltet er<br />
seine Dateien mit Git-Annex, ohne dass<br />
dort alle Daten vorliegen. Git-Annex<br />
protokolliert, an welchem Ort sich welche<br />
Daten befinden und der Archivar<br />
holt sie nötigenfalls auf sein Client-<br />
System.<br />
2. Der Nomade ist viel unterwegs und<br />
wählt als Daten-Repositories einen<br />
Online-Server und einen USB-Stick. Bei<br />
Bedarf lädt er Daten vom Server auf<br />
den USB-Stick herunter oder synchronisiert<br />
sie direkt aufs Client-System, je<br />
nachdem wo Speicherplatz verfügbar<br />
ist. Benötigt der besagte Nomade<br />
Daten nicht mehr, „droppt“ er sie, auf<br />
dem Online-Server bleibt aber alles<br />
vorhanden.<br />
Die Beispiele vom Archivar und vom<br />
Nomaden vermitteln einen ersten<br />
Eindruck, was Git-Annex ermöglicht.<br />
Offline-Archive und Synchronisation<br />
bilden jedoch nur einen kleinen Teil der<br />
möglichen Einsatzzwecke. Komplexere<br />
Setups zwischen mehreren Systemen,<br />
Servern oder Festplatten sind ebenfalls<br />
machbar.<br />
Der Git-Annex-Entwickler beschreibt<br />
auch, was Git-Annex nicht ist: Ohne<br />
den Einsatz zusätzlicher Tools ist es<br />
kein Backup-System, auch wenn es<br />
eine Rolle in einem effizienten Archivierungs-<br />
oder Sicherheitssystem spielen<br />
kann.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Know-how<br />
Git-Annex<br />
57<br />
Installation<br />
Die Git-Annex-Installation bringt keine<br />
Schwierigkeiten mit sich. Die gängigsten<br />
Distributionen wie Debian, Ubuntu<br />
und Fedora stellen fertige Pakete zur<br />
Verfügung. Diese hinken der aktuellen<br />
Entwicklungsversion allerdings häufig<br />
hinterher. Debian und Ubuntu 13.04<br />
stellen über ihre Repositories Git-Annex<br />
in Version 3.2 bereit, die aktuelle Version<br />
4.2 ist erst seit Ubuntu-Version<br />
13.10 an Bord.<br />
Wer distributionsunabhängig die<br />
jeweils aktuelle Version verwenden<br />
möchte, findet für Linux ein vorkompiliertes<br />
Tar-Archiv unter [2]. Für die<br />
Installation reicht es, den entpackten<br />
Ordner »git‐annex‐linux« zum Pfad<br />
hinzuzufügen. Listing 1 führt alle erforderlichen<br />
Schritte für die Installation<br />
von Git-Annex auf. Für eine endgültige<br />
Installation pflegt man diese permanent<br />
ein, etwa über einen PATH-Eintrag<br />
in der Bash-Konfiguration.<br />
Interne Struktur<br />
Git-Annex verwaltet Datei-Bäume, ohne<br />
dabei die Datei-Inhalte selbst ins Repository<br />
einzuspeisen. Ein Key-Value-<br />
Verfahren unter Zuhilfenahme symbolischer<br />
Links realisiert die Trennung<br />
von Dateinamen und ‐inhalten. Wird<br />
eine Datei zum Repository hinzugefügt,<br />
erstellt eine Hash-Funktion einen Key<br />
aus Datei-Inhalt und Metadaten. Der<br />
Dateiname zeigt dann über einen symbolischen<br />
Link auf diesen Key.<br />
Der Datei-Inhalt – genannt Value – wird<br />
der Datei von nun an über den Key<br />
zugeordnet. Die Form der Key-Value-<br />
Dateiverwaltung per symbolischem<br />
Link im sogenannten indirekten Modus<br />
demonstriert Listing 2. Bevor die Datei-<br />
Inhalte synchronisiert wurden, zeigt<br />
der Link ins Leere. Die Datei- und Ordnerstruktur<br />
ist dennoch vorhanden und<br />
veränderbar – das heißt, Dateinamen<br />
werden unabhängig von ihrem Inhalt<br />
verändert.<br />
Einen Nachteil bringt dieses Vorgehen<br />
im indirekten Modus mit sich: Datei-<br />
Inhalte lassen sich nicht direkt bearbeiten.<br />
Zum Öffnen und Bearbeiten einer<br />
Datei wird das Kommando »git‐annex<br />
unlock« verwendet. Es löst den symbolischen<br />
Link auf und stellt die Datei di-<br />
Abbildung 1: Die Synchronisation zweier Git-Annex-Repositories via SSH.<br />
rekt zur Verfügung. Der darauf folgende<br />
Befehl »git commit« konvertiert sie<br />
automatisch wieder in einen Git-Annex-<br />
Link. Auf den ersten Blick wirkt diese<br />
Prozedur umständlich, sie schützt aber<br />
vor dem irrtümlichen Löschen einer<br />
Datei.<br />
Der direkte Modus bietet zwar die komfortable<br />
Möglichkeit, Dateien direkt<br />
zu bearbeiten, aber die Git-Annex-<br />
Sicherheitsfunktionen fallen dann weg.<br />
Deshalb starten Git-Annex-Repositories<br />
normalerweise im indirekten Modus.<br />
n Listing 1: Installation der Linux-Binaries<br />
Ausnahmen bilden Repositories unter<br />
Windows, auf allen FAT-Dateisystemen<br />
und jene, die über die Weboberfläche<br />
mit dem Git-Annex-Assistant erzeugt<br />
werden (Abbildung 2). Außerdem<br />
schaltet man mit den Kommandos<br />
»git‐annex indirect« und »git‐annex direct«<br />
manuell vom einen Modus in den<br />
anderen.<br />
Erste Schritte<br />
Ein Repository mit Git-Annex zu erstellen<br />
ist einfach:<br />
01 $ wget 'http://downloads.kitenet.net/git‐annex/linux/current/git‐annex‐standalone‐amd64.tar.gz'<br />
02 $ tar xzf git‐annex‐standalone‐amd64.tar.gz<br />
03 $ PATH="$PATH:$HOME/git‐annex.linux"<br />
04 $ git‐annex version<br />
05 git‐annex version: 4.20131003‐gbe0b734<br />
06 build flags: Assistant Webapp Pairing Testsuite S3 WebDAV Inotify DBus XMPP Feeds Quvi TDFA<br />
07 key/value backends: SHA256E SHA1E SHA512E SHA224E SHA384E SHA256 SHA1 SHA512 SHA224 SHA384 WORM<br />
URL<br />
08 remote types: git gcrypt S3 bup directory rsync web webdav glacier hook<br />
n Listing 2: Git-Annex im indirekten Modus<br />
01 $ ls ‐l<br />
02 total 8<br />
03 lrwxrwxrwx 1 gschoenb gschoenb 198 Oct 9 12:30 debhelper‐slides.pdf ‐> .git/annex/objects/32/64/<br />
SHA256E‐[...].pdf<br />
n Listing 3: Neue Datei im Repository<br />
01 $ cp ~/Downloads/debhelper‐slides.pdf .<br />
02 $ git‐annex add .<br />
03 add debhelper‐slides.pdf (checksum...) ok<br />
04 (Recording state in git...)<br />
05 $ git commit ‐a ‐m "Added slides"<br />
06 [master (root‐commit) 761a810] Added slides<br />
07 1 file changed, 1 insertion(+)<br />
08 create mode 120000 debhelper‐slides.pdf<br />
09 $ ls ‐la<br />
10 [...]<br />
11 debhelper‐slides.pdf ‐> .git/annex/<br />
objects/32/64/SHA256E‐[...].pdf<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
58<br />
Know-how<br />
Git-Annex<br />
Abbildung 2: Die Konfiguration eines Repository auf<br />
einer USB-Festplatte mit dem Git-Annex-Assistant.<br />
n Info<br />
n Autor<br />
$ git init<br />
Initialized empty Git repository in<br />
/home/alice/example/.git/<br />
$ git‐annex init "Alice"<br />
init Alice ok<br />
(Recording state in git...)<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30768<br />
Georg Schönberger arbeitet als Technology Specialist<br />
bei der Thomas-Krenn.AG und ist Autor des<br />
Thomas-Krenn-Wikis. Seine Arbeitsschwerpunkte<br />
reichen von Informationssicherheit über Monitoring-<br />
Plugins bis hin zu Performance-Tests.<br />
Der Befehl »git‐annex add« versioniert<br />
eine neue Datei, dadurch verwandelt<br />
sie sich in einen symbolischen Link<br />
(siehe Listing 3).<br />
Wie beschrieben befinden sich die<br />
Datei-Inhalte selbst nicht im Git-Annex-<br />
Repository. Ansonsten unterscheidet<br />
sich dieses nicht von anderen Git-<br />
Repositories. Es kann ebenfalls auf<br />
anderen Systemen geklont werden,<br />
ebenso kommen bei Bedarf Remote-<br />
Repositories hinzu.<br />
Das lokale Repository ist somit nur ein<br />
Anfang bei einer Vielzahl möglicher<br />
komplexer Konfigurationen. Abbildung<br />
1 skizziert ein Setup für die Synchronisation<br />
zweier Repositories über eine<br />
SSH-Verbindung. Diese direkte Verbindung<br />
eröffnet für die beiden Beispielbenutzer<br />
Alice und Bob die folgenden<br />
Möglichkeiten:<br />
Alice fügt in ihrem Repository Dateien<br />
mit Git-Annex hinzu. Mit »git‐annex<br />
sync« synchronisiert sie es mit Bob.<br />
Dieser erhält dabei im ersten Schritt<br />
statt der Datei nur einen unvollständigen<br />
symbolischen Link. Möchte er auch<br />
die dazugehörigen Datei-Inhalte haben,<br />
holt er sie mit »git‐annex get« aus Alices<br />
Repository.<br />
Alice kopiert mit »git‐annex copy« Dateien<br />
inklusive Daten zu Bob. Ruft dieser<br />
nun »git‐annex sync« auf, findet er<br />
gleich die vollständige Datei vor.<br />
Git-Annex stellt beim Austausch der<br />
Daten sicher, dass jede Datei immer<br />
mindestens einmal vorhanden ist. Solange<br />
eine der Parteien die Inhalte einer<br />
Datei besitzt, kann die andere Seite<br />
sie „droppen“, also die Daten „fallen<br />
lassen“ und nur den Dateinamen beziehungsweise<br />
den symbolischen Link<br />
behalten. Die Konfiguration der minimalen<br />
Gesamtzahl notwendiger Kopien<br />
lässt sich auch erhöhen; im Beispiel<br />
würde Git-Annex dann sicherstellen,<br />
dass die Datei sich sowohl in Alices als<br />
auch in Bobs Repository befindet.<br />
Der Assistent<br />
Git-Annex lässt sich zwar vollständig<br />
über die Kommandozeile konfigurieren,<br />
doch für die einfachere Benutzung<br />
bietet es auch eine Weboberfläche<br />
an. Sie ermöglicht die Konfiguration<br />
mehrerer Repositories inklusive automatischer<br />
Synchronisation in wenigen<br />
Schritten. Abbildung 2 zeigt das<br />
Konfigurationsmenü eines Repository<br />
auf einer externen USB-Festplatte. Es<br />
fungiert im nachfolgenden Beispiel<br />
als Datenarchiv – Dateien im Ordner<br />
»archive« werden automatisch auf die<br />
externe Platte synchronisiert. Dazu<br />
wird das Repository der USB-Platte der<br />
Gruppe »small archive« zugeordnet.<br />
Neben »small archive« definiert Git-<br />
Annex neun weitere Gruppen. Sie<br />
legen fest, welche Daten bevorzugt<br />
im Repository bleiben und welche in<br />
die anderen Repositories umziehen.<br />
Diese Entscheidungen trifft Git-Annex<br />
aufgrund von Regeln, die den Gruppen<br />
zugeordnet sind. Im Falle von »small<br />
archive« werden alle Datei-Inhalte des<br />
Ordners »archive« lokal „gedroppt“ und<br />
ins USB-Archiv überspielt. Der Assistant<br />
läuft als Hintergrunddienst und übernimmt<br />
die automatische Synchronisation.<br />
Das folgende Beispiel verschiebt<br />
die Datei »debian‐packaging‐turorial.<br />
pdf« ins Archiv; ein symbolischer Link<br />
bleibt im lokalen System bestehen, die<br />
Datei-Inhalte befinden sich auf der externen<br />
USB-Festplatte:<br />
$ git‐annex whereis .<br />
whereis debian‐packaging‐tutorial.<br />
pdf (1 copy)<br />
11ac0193‐a14b‐41f8‐942f‐fecf30ee7ed4<br />
‐‐ here (Alice)<br />
ok<br />
$ mv debian‐packaging‐tutorial.pdfU<br />
archive/<br />
$ git‐annex whereis .<br />
whereis archive/<br />
debian‐packaging‐tutorial.pdf (1 copy)<br />
be012dc6‐5548‐4135‐89c7‐5fb31b9d4f9f<br />
‐‐ lexar (USB Archiv)<br />
ok<br />
Der Git-Annex-Assistant kopiert auch<br />
den Datei-Inhalt, wenn der Benutzer<br />
eine Datei wieder aus dem Archiv<br />
herausnimmt. Dadurch entsteht eine<br />
transparente Synchronisation zwischen<br />
lokalem Repository und dem Archiv auf<br />
der Festplatte.<br />
Remote spezial<br />
Eine weiteres Unterscheidungsmerkmal<br />
von Git-Annex sind die speziellen<br />
Remote-Repositories. Sie lassen sich<br />
wie andere Git-Annex-Repositories erstellen,<br />
allerdings anschließend nicht<br />
mit Git verwenden, denn sie bauen auf<br />
verschiedene Protokolle wie Rsync,<br />
Webdav und XMPP auf, verwandeln<br />
Amazon S3 in ein Git-Annex-Repository,<br />
und lassen sich mittels Libgcrypt [3]<br />
verschlüsseln.<br />
Ob Archivar oder Nomade: Git-Annex<br />
verwendet Git-Repositories effektiv.<br />
Es synchronisiert große Dateien, ohne<br />
Server übermäßig zu belasten. Die<br />
detailreichen Konfigurationsmöglichkeiten<br />
erlauben eine sinnvolle Verwendung<br />
des Speicherplatzes und das Tool<br />
fungiert mit wenigen Handgriffen sogar<br />
als Teil einer Backup-Strategie. (csc) n<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Maxim Kazmin, 123RF<br />
Speicherfehler unter Linux erkennen und beobachten<br />
Kippende Bits<br />
Weil Hauptspeicher wichtig ist, benutzen viele Systeme Fehlerkorrekturmechanismen (ECC). Sie erkennen<br />
und berichtigen Einzelbitfehler. Linux kann Informationen darüber sammeln und ausgeben. Jeff Layton<br />
ECC (Error Correcting Code) ist eine<br />
Schlüsseltechnologie, um in einem<br />
Rechnersystem Daten zu schützen<br />
und Fehler zu erkennen. Dabei kann<br />
Standard-ECC-Memory, wie es heute in<br />
vielen Systemen verbaut wird, Einzelbitfehler<br />
erkennen und beheben.<br />
Doppelbitfehler werden zwar ebenfalls<br />
erkannt, können aber nicht ausgeglichen<br />
werden.<br />
Das Umkippen eines einzelnen Bits in<br />
einem Byte kann dramatische Folgen<br />
haben. Wenn beispielsweise in einem<br />
Byte mit dem Wert 156 (10011100) das<br />
zweite Bit kippen würde (11011100),<br />
ergäbe sich ein Wert von 220. ECC kann<br />
diesen Fall entdecken und berichtigen,<br />
sodass der Anwender nichts davon<br />
merkt. Würden allerdings zwei Bits<br />
ihren Wert ändern, würde das zwar<br />
bemerkt, das Ergebnis wäre dann aber<br />
eine Machine Check Exception, die in<br />
einen Systemabsturz mündet.<br />
Solche umkippenden Bits werden von<br />
elektrischen oder magnetischen Störungen<br />
verursacht. Einem Wikipedia-<br />
Artikel [1] und einer Studie über Einzelbitfehler<br />
im RAM [2] zufolge, gehen die<br />
meisten kippenden Bits auf das Konto<br />
der kosmischen Hintergrundstrahlung<br />
(hauptsächlich Neutronen). Die zwischen<br />
2007 und 2009 ermittelten Fehlerraten<br />
schwanken zwischen 1010 und<br />
1017 Fehler pro Bitstunde (Unterschied:<br />
sieben Größenordnungen!). Der niedrigere<br />
Wert entspricht einem Fehler pro<br />
Gigabit pro Stunde. Der höhere Wert<br />
ungefähr einem Fehler pro Gigabit in<br />
1000 Jahren.<br />
Eine Studie von Google (siehe Kasten<br />
„Korrigierbare Fehler“) deutet darauf<br />
hin, dass Fehler im realen Leben viel<br />
häufiger sind. Diese Fehlerraten zu beobachten<br />
ist wichtig, denn sie sind ein<br />
genereller Indikator für Speicherfehler.<br />
n Korrigierbare Fehler<br />
Google hat einmal reale Speicherfehler untersucht [3]. Sie fanden heraus,<br />
dass ein Drittel der beteiligten Rechner und mehr als acht Prozent<br />
der DIMMs während eines Jahres korrigierbare Speicherfehler aufwiesen.<br />
Das entsprach einer Beobachtung von Google, derzufolge es zu 25<br />
000 bis 75 000 korrigierbaren Fehlern pro einer Milliarde Gerätestunden<br />
pro Megabit kommt (oder 250 bis 750 Fehlern pro Gigabit pro Jahr). Das<br />
ist viel mehr als die zuvor als hoch angenommene Fehlerrate von einem<br />
Fehler pro Gigabit pro Jahr.<br />
Die Studie erbrachte noch weitere interessante Ergebnisse:<br />
n Hat ein DIMM korrigierbare Fehler, ist es 13 bis 228 mal wahrscheinlicher,<br />
dass im selben Monat weitere Fehler auftreten.<br />
n In 70 bis 80 Prozent der Fälle gehen einem nicht korrigierbaren<br />
Fehler korrigierbare Fehler voraus. Korrigierbare Fehler erhöhen die<br />
Wahrscheinlichkeit für nicht korrigierbare Fehler um einen Faktor 9<br />
bis 400.<br />
n Das Auftreten korrigierbarer Fehler nimmt mit dem Alter zu, aber<br />
nicht korrigierbare Fehler nehmen mit dem Alter ab. Korrigierbare<br />
Fehler nehmen ab einem Alter von 10 bis 18 Monaten zu.<br />
n DIMMs neuerer Generationen verhalten sich weder besser noch<br />
schlechter als ihre Vorgänger.<br />
n Die Temperatur hat einen verblüffend geringen Effekt.<br />
n Die Speicherfehlerraten korrelieren mit der Auslastung.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
60<br />
Know-how<br />
Speicherfehler<br />
n Listing 1: Memory-Controller<br />
login2$ ls ‐s /sys/devices/system/edac/mc/mc0<br />
total 0<br />
0 ce_count 0 csrow1 0 csrow4 0 csrow7 0 reset_counters 0 size_mb<br />
0 ce_noinfo_count 0 csrow2 0 csrow5 0 device 0 sdram_scrub_rate 0 ue_count<br />
0 csrow0 0 csrow3 0 csrow6 0 mc_name 0 seconds_since_reset 0 ue_noinfo_count<br />
Linux und Speicherfehler<br />
Der Autor dieses Beitrags arbeitete<br />
vor Jahren an einem Projekt namens<br />
Bluesmoke mit, das ein Kernel-Modul<br />
schaffen wollte, das Hardware-Fehler<br />
erkennen und melden sollte. Dabei<br />
ging es nicht allein um Speicherfehler,<br />
sondern um alle möglichen Fehler im<br />
Cache, beim DMA, bei der Temperaturregelung,<br />
auf dem Bus und so weiter.<br />
Der offizielle Name des Projekts war<br />
EDAC (Error Detection And Correction,<br />
siehe [5]).<br />
Viele Jahre lang schrieben Enwickler<br />
EDAC-Module für die verschiedensten<br />
Chipsätze. Das geschah zunächst außerhalb<br />
des Kernels, aber seit Kernel<br />
2.6.16 ist EDAC dort integriert. Seit<br />
2.6.18 erscheint EDAC auch im Sys-<br />
Filesystem unter »/sys/devices/system/<br />
edac«.<br />
Eine der besten Informationsquellen<br />
über EDAC ist das EDAC-Wiki [6]. Die<br />
Seite beschreibt den Einstieg und listet<br />
n Listing 2: Csrows und Channels<br />
01 Channel 0 Channel 1<br />
02 ==============================<br />
03 csrow0 | DIMM_A0 | DIMM_B0 |<br />
04 csrow1 | DIMM_A0 | DIMM_B0 |<br />
05 ==============================<br />
06 <br />
07 ==============================<br />
08 csrow2 | DIMM_A1 | DIMM_B1 |<br />
09 csrow3 | DIMM_A1 | DIMM_B1 |<br />
10 ==============================<br />
andere Ressourcen über EDAC (FAQs,<br />
Mailing-Listen und so weiter) auf. Hier<br />
soll es vor allem darum gehen, welche<br />
nützlichen Informtionen EDAC liefern<br />
kann. Für die Beispiele kommt ein<br />
Dell PowerEdge R720 zum Einsatz, der<br />
über zwei Prozessoren und 128 GByte<br />
Hauptspeicher verfügt. Während der<br />
Tests lief er unter CentOS 6.2.<br />
Zunächst muss man sich vergewissern,<br />
dass die EDAC-Module geladen sind:<br />
login2$ lsmod | grep edac<br />
sb_edac 18104 0<br />
edac_core<br />
53053 1 sb_edac<br />
Sind die Module geladen, kann man als<br />
Nächstes das Verzeichnis »/sys/devices/<br />
edac« untersuchen:<br />
login2$ ls ‐s /sys/devicesU<br />
/system/edac<br />
insgesamt 0<br />
0 mc<br />
Wenn hier nur das device »mc« auftaucht,<br />
überwacht EDAC nur den<br />
Memory-Controller. Schaut man tiefer<br />
in die Verzeichnisstruktur<br />
login2$ ls ‐s /sys/devices/system/edac/U<br />
mc<br />
insgesamt 0<br />
0 mc0 0 mc1<br />
kommen die beiden Komponenten<br />
»mc0« und »mc1« zum Vorschein. Listing<br />
1 zeigt, was man sieht, wenn man<br />
in das Verzeichnis »mc0« schaut.<br />
Die beiden Memory-Controller dieses<br />
Systems verwalten eine Reihe von<br />
DIMMs, die in Zeilen (Chip Select, »csrow«)<br />
und einer Kanaltabelle (»chx«)<br />
organisiert sind (mehr Details dazu in<br />
der EDAC-Dokumenttion [7]). Wie Listing<br />
2 zeigt, kann es mehrere Csrows<br />
und mehrere Channels geben. Ihre<br />
Anzahl hängt vom Motherboard und<br />
der Art der Speicher-Controller und<br />
DIMMs ab.<br />
Ein Beispiel<br />
Für dieses Beispiel hat jeder Memory-<br />
Controller acht Csrows und eine Kanaltabelle.<br />
Eine Vorstellung vom Layout<br />
vermittelt Listing 3.<br />
Im Beispiel verfügt jeder Kanal (0 und<br />
1) über vier Speicherkanäle (0 bis 3)<br />
und zwei DIMMs pro Kanal (0 und 1). In<br />
jedem »csrow«-Unterverzeichnis finden<br />
sich dann eine Reihe weiterer Control-<br />
und Attribut-Files mit folgender<br />
Bedeutung:<br />
n ce_count: Die Gesamtzahl korrigierbarer<br />
Fehler (correctable errors, ce)<br />
in dieser Csrow.<br />
n ch0_ce_count: Die Gesamtzahl korrigierbarer<br />
Fehler auf diesem DIMM<br />
in Kanal 0.<br />
n ch0_dimm_label: Label des DIMM.<br />
Das kann sehr nützlich sein, um<br />
nach einer Kernel Panic die Ursache<br />
des nicht korrigierbaren Fehlers<br />
zu finden. Die DIMM-Labels sollten<br />
nach dem Booten zugewiesen werden<br />
und Informationen enthalten,<br />
die zu dem physischen Slot führen.<br />
n dev_type: Attribut-File, das Informationen<br />
über den Typ des DIMM<br />
enthält. Der Wert ist typischerweise<br />
x1, x2, x4 oder x8.<br />
n Listing 3: Memory-Controller-Layout<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow0/ch0_dimm_label<br />
CPU_SrcID#0_Channel#0_DIMM#0<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow1/ch0_dimm_label<br />
CPU_SrcID#0_Channel#0_DIMM#1<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow2/ch0_dimm_label<br />
CPU_SrcID#0_Channel#1_DIMM#0<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow3/ch0_dimm_label<br />
CPU_SrcID#0_Channel#1_DIMM#1<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow4/ch0_dimm_label<br />
CPU_SrcID#0_Channel#2_DIMM#0<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow5/ch0_dimm_label<br />
CPU_SrcID#0_Channel#2_DIMM#1<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow6/ch0_dimm_label<br />
CPU_SrcID#0_Channel#3_DIMM#0<br />
login2$ more /sys/devices/system/edac/mc/mc0/csrow7/ch0_dimm_label<br />
CPU_SrcID#0_Channel#3_DIMM#1<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Know-how<br />
Speicherfehler<br />
61<br />
n edac_mode: Attribut-File, das den<br />
Typ der Fehlererkennung und ‐korrektur<br />
enthält.<br />
n mem_type: Enthält den Speichertyp<br />
einer Csrow.<br />
n size_mb: Attribut-File, das die Größe<br />
des Memorys in einer Csrow enthält.<br />
n ue_cont: Enthält die Gesamtzahl<br />
nicht korrigierbarer Fehler, die in<br />
einer Csrow aufgetreten sind.<br />
Einige Attribut-Files in »/sys/devices/<br />
system/edac/mc/mc0« können sehr<br />
nützlich sein. Sie beziehen sich auf den<br />
gesamten Controller:<br />
n ce_count: Die Gesamtzahl korrigierbarer<br />
Fehler dieses Controllers.<br />
n ce_noinfo_count: Die Gesamtzahl<br />
korrigierbarer Fehler, aber ohne<br />
Information, welchen DIMM-Slot sie<br />
betroffen haben.<br />
n mc_name: Der Typ des benutzten<br />
Memory-Controllers.<br />
n reset_counters: Ein nur beschreibbares<br />
Kontroll-File, das alle Fehler-<br />
Zähler dieses Memory-Controllers<br />
zurücksetzt. Das passiert, sobald<br />
man einen Wert in das File schreibt.<br />
n sdram_scrub_rate: Ein Attribut-File<br />
für die Speicherreinigung. Der enthaltene<br />
Wert repräsentiert eine Rate<br />
in Bytes pro Sekunde.<br />
n seconds_since_reset: Anzahl der<br />
Sekunden seit dem letzten Zähler-<br />
Reset.<br />
n size_mb: Menge des Speichers, den<br />
dieser Controller verwaltet.<br />
n ue_count und ue_noinfo_count:<br />
Wie oben, hier aber pro Controller.<br />
Die Werte des Beispielsystems zeigt<br />
Listings 4 und 5. Der letzte Reset liegt<br />
demnach 27 759 752 Sekunden oder<br />
ungefähr 321 Tage zurück. Der Speicher-Controller<br />
verwaltet 64 GByte und<br />
es gab weder korrigierbare noch nicht<br />
korrigierbare Fehler.<br />
Empfehlungen für den Admin<br />
Das EDAC-Modul hinterlegt im Sys-<br />
Filesystem eine große Menge an Daten<br />
über Speicherfehler. Auch wenn man<br />
erwartet, dass sich solche Fehler nicht<br />
oft ereignen, sollte man seine Rechner<br />
regelmäßig darauf überprüfen. Schon<br />
mit einem einfachen Skript (Listing 6)<br />
n Listing 4: mc0/csrow0<br />
login2$ ls ‐s /sys/devices/system/edac/mc/mc0/csrow0<br />
total 0<br />
0 ce_count 0 ch0_dimm_label 0 edac_mode 0 size_mb<br />
0 ch0_ce_count 0 dev_type 0 mem_type 0 ue_count<br />
lassen sich die entsprechenden Files<br />
leicht auslesen. Es gibt auch bereits ein<br />
Nagios-Plugin [8] für diesen Zweck. Im<br />
High-Performance-Computing-Umfeld<br />
könnte man das Skript etwa in Ganglia<br />
integrieren [9].<br />
Findet man auf diese Weise korrigierbare<br />
Fehler, heißt das nicht, dass der<br />
DIMM schlecht ist. Allerdings sollte man<br />
ihn im Auge behalten, um reagieren zu<br />
können, wenn die Fehlerrate ansteigen<br />
sollte. (jcb) n<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/31284<br />
n Listing 5: Werte des Beispielsytems<br />
login2$ more /sys/devices/system/edac/mc/mc0/ce_count<br />
0<br />
login2$ more /sys/devices/system/edac/mc/mc0/ce_noinfo_count<br />
0<br />
login2$ more /sys/devices/system/edac/mc/mc0/mc_name<br />
Sandy Bridge Socket#0<br />
login2$ more /sys/devices/system/edac/mc/mc0/reset_counters<br />
/sys/devices/system/edac/mc/mc0/reset_counters: Permission denied<br />
login2$ more /sys/devices/system/edac/mc/mc0/sdram_scrub_rate<br />
login2$ more /sys/devices/system/edac/mc/mc0/seconds_since_reset<br />
27759752<br />
login2$ more /sys/devices/system/edac/mc/mc0/size_mb<br />
65536<br />
login2$ more /sys/devices/system/edac/mc/mc0/ue_count<br />
0<br />
login2$ more /sys/devices/system/edac/mc/mc0/ue_noinfo_count<br />
0<br />
n Listing 6: Angepasstes Nagios-Plugin<br />
01 #!/bin/bash<br />
02 #<br />
03 # Original script: https://bitbucket.org/darkfader/nagios/src/<br />
c9dbc15609d0/check_mk/edac/plugins/edac?at=default<br />
04 <br />
05 # The best stop for all things EDAC is http://buttersideup.com/<br />
edacwiki/ and the edac.txt in the kernel doc.<br />
06 <br />
07 # EDAC memory reporting<br />
08 if [ ‐d /sys/devices/system/edac/mc ]; then<br />
09 # Iterate all memory controllers<br />
10 for mc in /sys/devices/system/edac/mc/* ; do<br />
11 ue_total_count=0<br />
12 ce_total_count=0<br />
13 for csrow in $mc/csrow* ; do<br />
14 ue_count=`more $csrow/ue_count`<br />
15 ce_count=`more $csrow/ce_count`<br />
16 if [ "$ue_count" ‐gt 1 ]; then<br />
17 ue_total_count=ue_total_count+$ue_count;<br />
18 fi<br />
19 if [ "$ce_count" ‐gt 1 ]; then<br />
20 ce_total_count=ce_total_count+$ce_count;<br />
21 fi<br />
22 done<br />
23 echo " Uncorrectable error count is $ue_total_count on<br />
memory controller $mc "<br />
24 echo " Correctable error count is $ce_total_count on<br />
memory controller $mc "<br />
25 done<br />
26 fi<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
62<br />
Know-how<br />
Windows Server 2012 R2<br />
Elena Elisseeva, 123RF<br />
Neues in Windows Server 2012 R2<br />
Herbstputz<br />
Letzten Monat ist die neueste Version des Serverprodukts von Microsoft erschienen. Dieser Artikel gibt<br />
einen Übersicht über die Neuerungen in Windows Server 2012 R2. Thomas Joos<br />
Mit Windows Server 2012 R2 bringt<br />
Microsoft den Nachfolger von Windows<br />
Server 2012 auf den Weg. Die neue Version<br />
bietet zahlreiche Neuerungen, vor<br />
allem im Bereich der Virtualisierung.<br />
Windows Server 2012 R2 ist die Serverversion,<br />
die optimal mit Windows 8.1<br />
zusammenarbeitet. Im Gegensatz zum<br />
Client-Update ist der Server allerdings<br />
nicht kostenlos verfügbar. Ausnahme<br />
ist die kostenlose Virtualisierungslösung<br />
Hyper-V Server 2012 R2. Diese bietet<br />
im Bereich der Virtualisierung alle<br />
Funktionen, die auch die Vollversion<br />
von Windows Server 2012 R2 besitzt.<br />
Wie bereits Windows Server 2012 ist<br />
auch die neue Version in den beiden<br />
Editionen Standard und Datacenter zu<br />
haben. Auch in Windows Server 2012<br />
R2 gibt es keine Enterprise-Edition<br />
mehr. Die Editionen Standard und Datacenter<br />
unterscheiden sich nicht mehr<br />
im Funktionsumfang, sondern nur noch<br />
bei der Lizenzierung. Cluster lassen sich<br />
zum Beispiel seit Windows Server 2012<br />
auch mit der Standard-Edition aufbauen.<br />
Das Lizenzmodell hat Microsoft<br />
im Vergleich zu Windows Server 2012<br />
nicht angepasst, die Preise dagegen<br />
schon. So ist die Datacenter-Edition<br />
etwa ein Drittel teurer als der Windows<br />
Server 2012. Bei der Standard-Edition<br />
bleibt allerdings der Preis gleich. Microsoft<br />
rechtfertigt die Preiserhöhung vor<br />
allem durch die zahlreichen neuen Features<br />
im Bereich der Virtualisierung.<br />
Neues Lizenzmodell<br />
Neu in Windows Server 2012 R2 ist die<br />
Möglichkeit, auf Basis von Enterprise<br />
Agreements bestimmte Lizenzen zu erwerben,<br />
die im Betrieb zusammen mit<br />
Windows Azure Kosten sparen sollen.<br />
Lizenzen von Windows Server 2012 R2<br />
sind direkt an die physische Hardware<br />
gebunden. Jede Lizenz deckt weiterhin<br />
zwei physische Prozessoren ab. Kunden<br />
dürfen mit der Standard-Edition<br />
außerdem bis zu zwei virtuelle Server<br />
auf dem lizenzierten Host betreiben.<br />
Beim Einsatz der Datacenter-Edition<br />
dürfen Anwender so viele virtuelle<br />
Server auf dem Host betreiben, wie die<br />
Hardware hergibt. Welche Edition man<br />
am besten einsetzt, muss man einfach<br />
ausrechnen. Als Faustregel lohnt sich<br />
die Anschaffung der Datacenter-Edition<br />
für alle, die auf einem Server mit zwei<br />
Prozessoren mehr als 14 virtuelle Server<br />
betreiben. Die Datacenter-Edition<br />
kostet 6155 US-Dollar, die Standard-<br />
Edition 882 US-Dollar.<br />
Weiterhin gibt es die Editionen Essentials<br />
und Foundation. Windows Server<br />
2012 R2 Essentials erlaubt die Anbindung<br />
von bis zu 25 Benutzern ohne zu-<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Know-how<br />
Windows Server 2012 R2<br />
63<br />
Standard und Datacenter<br />
als Serverrolle<br />
zur Verfügung (Absätzliche<br />
Client-Zugriff-Lizenzen (CALs).<br />
Beim Einsatz von Windows Server 2012<br />
R2 Foundation darf auf dem Server nur<br />
ein Prozessor verbaut sein. Auch hier<br />
sind bei bis zu 15 Benutzern keine CALs<br />
notwendig. Der Preis für die Essentials-<br />
Edition wurde auf etwa 501 Dollar<br />
erhöht. Foundation ist direkt an die<br />
Hardware gebunden, da diese Edition<br />
nur als OEM-Version verfügbar ist.<br />
Für die Editionen Standard und Datacenter<br />
benötigen Anwender weiterhin<br />
CALs. Auch in Windows Server 2012<br />
R2 lassen sich diese benutzerbasiert<br />
oder pro Gerät erwerben, können aber<br />
weiterhin aufgesplittet werden. Es ist<br />
aber erlaubt, auch mit den CALs von<br />
Windows Server 2012 auf R2-Server<br />
zuzugreifen.<br />
Dieses Entgegenkommen gilt auch für<br />
die erweiterten Serverdienste wie die<br />
Rechteverwaltung und die Remote-<br />
Desktop-Dienste. Das heißt, Unternehmen,<br />
die bereits Windows Server 2012<br />
umfassend lizenziert und im Einsatz haben,<br />
müssen nur neue Serverlizenzen<br />
kaufen und können ihre Server direkt<br />
auf Windows Server 2012 R2 aktualisieren.<br />
Cloud und Virtualisierung<br />
überall<br />
Windows Server 2012 R2 soll noch<br />
Cloud-orientierter sein als Vorgängerversionen.<br />
Neben der Möglichkeit, Server<br />
über Windows Azure Online Backup<br />
in der Cloud zu sichern, arbeitet Hyper-<br />
V in Windows Server 2012 R2 eng mit<br />
Windows Azure Virtual Machines zusammen.<br />
In System Center Virtual Machine<br />
Manager 2012 R2 lassen sich die<br />
beiden Systeme parallel anbinden und<br />
virtuelle Server zwischen Netzwerk und<br />
Cloud verschieben. Außerdem arbeitet<br />
Hyper-V eng mit dem neuen Windows-<br />
Azure-Wiederherstellungs-Manager<br />
zusammen. Dieser ermöglicht Cloudbasierte<br />
Replikation und Sicherungen<br />
von virtuellen Servern auf Basis von<br />
Hyper-V oder Windows Azure Virtual<br />
Machines.<br />
Dank Datendeduplizierung lassen sich<br />
bereits in Windows Server 2012 doppelte<br />
Dateien auf Dateiservern finden<br />
und eliminieren. Mit Windows Server<br />
2012 R2 ist das jetzt auch auf virtuellen<br />
Festplatten möglich.<br />
Das kann auf Hyper-V-<br />
Hosts mit vielen virtuellen<br />
Servern deutlich<br />
Platz einsparen.<br />
VHDX-Dateien können<br />
Anwender in Windows<br />
Server 2012 R2 jetzt<br />
auch als iSCSI-Ziel zur<br />
Verfügung stellen, Windows<br />
Server 2012 unterstützt<br />
in diesem Bereich<br />
nur VHD-Dateien<br />
mit maximal 2 TByte.<br />
Verwalten lassen sich<br />
diese Bereiche jetzt<br />
in der PowerShell 4.0,<br />
da einige zusätzliche<br />
Commandlets integriert<br />
wurden.<br />
Eine weitere Verbesserung von Dateiservern<br />
in Windows Server 2012 R2<br />
ist die effizientere Verwendung von<br />
SSD-Festplatten. Diese lassen sich<br />
zusammen mit anderen Festplatten in<br />
Speicherpools zusammenfassen, was<br />
die Gesamtleistung eines Dateiservers<br />
deutlich beschleunigen kann. Windows<br />
Server 2012 kann bereits Netzwerkkarten<br />
zu Teams zusammenfassen. In<br />
Windows Server 2012 R2 hat Microsoft<br />
diese Funktionen deutlich erweitert<br />
und vereinfacht. Auch im Bereich Hyper-V<br />
lassen sich Netzwerkteams jetzt<br />
leichter und stabiler betreiben.<br />
Essenziell<br />
Windows Server 2012 R2 Essentials<br />
lässt sich in der neuen Version virtualisieren<br />
und so mit<br />
anderen Servern gemeinsam<br />
auf einem<br />
Virtualisierungshost<br />
betreiben. Außerdem<br />
stehen die Funktionen<br />
von Windows Server<br />
2012 R2 Essentials,<br />
zum Beispiel die Möglichkeit<br />
der Sicherung<br />
der Client-Rechner auf<br />
den Server oder der<br />
Remote-Webzugriff,<br />
auch in den Editionen<br />
Abbildung 1: Windows Server 2012 R2 Essentials lassen sich jetzt auch<br />
als Serverrolle für Niederlassungen einsetzen.<br />
bildung 1). Auf diesem Weg können<br />
Unternehmen Niederlassungen mit der<br />
Serverrolle bestücken. Beim Betrieb<br />
als Serverrolle kann der Server auch<br />
Mitgliedsserver sein und andere Domänencontroller<br />
nutzen. Als alleinstehender<br />
Server arbeitet Windows Server<br />
2012 R2 Essentials immer als Domänencontroller.<br />
Hyper-V in neuer Version<br />
Die neue Hyper-V-Version bietet alle<br />
Vorteile von Windows Server 2012 und<br />
erweitert diese noch. Zunächst lassen<br />
sich virtuelle Server in Windows Server<br />
2012 R2 auf drei Knoten replizieren,<br />
ohne einen Cluster zu betreiben – in<br />
Windows Server 2012 waren hier nur<br />
zwei Knoten möglich. Darüber hinaus<br />
kann Windows Server 2012 R2 den Da-<br />
Abbildung 2: Im erweiterten Sitzungsmodus sind virtuelle Server<br />
deutlich effizienter als mit Windows Server 2012 zu verwalten.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
64<br />
Know-how<br />
Windows Server 2012 R2<br />
Abbildung 3: Bei der Erstellung von VMs können Sie in Windows Server<br />
2012 R2 die Generation 2 aktivieren. Das kann virtuelle Server deutlich<br />
beschleunigen.<br />
tenverkehr bei der Live-Migration komprimieren.<br />
Dadurch beschleunigt sich<br />
die Übertragung von virtuellen Servern<br />
zwischen Cluster-Knoten deutlich.<br />
Außerdem nutzt die Live-Migration<br />
in Windows Server 2012 R2 in sehr<br />
schnellen Netzwerken »Remote Direct<br />
Memory Access« (RDMA). Diese Funktion<br />
kann sehr schnell die Inhalte des<br />
Arbeitsspeichers zwischen den Hosts<br />
verschieben. Die Technik beschleunigt<br />
die Live-Migration enorm. Hyper-V in<br />
Windows Server 2012 R2 unterstützt<br />
jetzt 4 TByte Arbeitsspeicher und bis<br />
zu 320 Prozessoren auf dem Host.<br />
Diese Grenze erreicht VMware erst mit<br />
der neuen Version 5.5 von vSphere. Die<br />
Verwaltung virtueller Server findet im<br />
Abbildung 4: Auch Windows Server 2012 R2 profitiert von den Verbesserungen<br />
der Oberfläche in Windows 8.1.<br />
Hyper-V-Manager über<br />
VM-Connect statt. In<br />
Windows Server 2012<br />
R2 arbeitet Hyper-V<br />
dazu mit dem RDP-<br />
Protokoll. Dieses müssen<br />
Sie nur einmal pro<br />
Hyper-V-Host aktivieren<br />
und können es auf<br />
allen angebundenen<br />
virtuellen Servern nutzen.<br />
Die Vorteile sind<br />
die höhere Auflösung,<br />
Drag-and-Drop zwischen<br />
Host und VM sowie die Möglichkeit,<br />
auch USB-Geräte in der Sitzung<br />
nutzen zu können. Natürlich lassen sich<br />
die erweiterten Sitzungen auch deaktivieren<br />
und an die eigenen Bedürfnisse<br />
anpassen (Abbildung 2).<br />
Virtuelle Festplatten auf Basis von<br />
VHDX-Dateien dürfen eine Größe von 64<br />
TByte erreichen. Im Gegensatz zu VMware<br />
vSphere 5.5 kann Windows Server<br />
2012 R2 diese Festplatten im laufenden<br />
Betrieb verbinden, abtrennen und<br />
die Größe der virtuellen Festplatten<br />
anpassen. Außerdem können Administratoren<br />
virtuelle Festplatten jetzt mehreren<br />
Servern auf einem Hyper-V-Host<br />
zuordnen (Shared VHDX). Für virtuelle<br />
Festplatten lassen sich jetzt auch Bandbreitenbegrenzungen<br />
vorgeben, ähnlich wie<br />
bei den erweiterten<br />
Features für virtuelle<br />
Switche. Das verhindert,<br />
dass ein virtueller<br />
Server eine virtuelle<br />
Festplatte zu stark auslastet.<br />
Hier lässt sich<br />
auch die Shared-VHDX-<br />
Funktion aktivieren.<br />
Ab Windows Server<br />
2012 R2 können Admins<br />
virtuelle Server<br />
im laufenden Betrieb<br />
exportieren und dabei<br />
auch die Snapshots<br />
berücksichtigen und<br />
mitnehmen. Ebenfalls<br />
neu ist die Generation-<br />
2-VM in Windows Server<br />
2012 R2 (Abbildung<br />
3). Diese nutzt keine<br />
emulierte Hardware<br />
mehr und beherrscht UEFI. Das beschleunigt<br />
virtuelle Server deutlich.<br />
Man kann bereits bei der Erstellung<br />
der VM auswählen, ob diese den<br />
Generation-2-Modus unterstützen soll.<br />
Diesen Modus unterstützen aber nur<br />
die Betriebssysteme Windows Server<br />
2012/2012 R2 und Windows 8/8.1. Allerdings<br />
bietet Microsoft auch für virtuelle<br />
Linux-Gäste Neuerungen. Diese laufen<br />
in Windows Server 2012 R2 deutlich<br />
schneller und unterstützen jetzt auch<br />
den dynamischen Arbeitsspeicher.<br />
Bereits mit Windows Server 2012<br />
hat Microsoft die Möglichkeiten der<br />
Netzwerk-Switche für Hyper-V deutlich<br />
erweitert und verbessert. Mit Hyper-V<br />
Network Virtualization (HNV) können<br />
Unternehmen einzelne virtuelle<br />
Netzwerke vom physischen Netzwerk<br />
trennen. Die virtuellen Server in diesen<br />
Netzwerken gehen davon aus, in<br />
einem echten physischen Netzwerk<br />
zu laufen. In Windows Server 2012 R2<br />
hat Microsoft diese Möglichkeit noch<br />
erweitert und HNV deutlich verbessert<br />
und beschleunigt. Wer sich noch nicht<br />
mit HNV auseinandergesetzt hat, findet<br />
im Microsoft Technet [1] umfassende<br />
Anleitungen dazu. Hyper-V Network<br />
Virtualization (HNV) unterstützt ab Windows<br />
Server 2012 R2 auch dynamische<br />
IP-Adressen.<br />
Windows 8.1<br />
Windows Server 2012 R2 und Windows<br />
8.1 arbeiten perfekt zusammen. Viele<br />
Richtlinieneinstellungen für Windows<br />
8.1, zum Beispiel die Möglichkeit, den<br />
Startbildschirm zu exportieren, zu<br />
importieren und Vorlagen zu erstellen,<br />
lassen sich nur mit Windows Server<br />
2012 R2 umsetzen. Über Gruppenrichtlinien<br />
können Administratoren<br />
die Veränderung des Startbildschirms<br />
anpassen (Abbildung 4). Wie Windows<br />
8.1 verfügt Windows Server 2012 R2<br />
jetzt ebenfalls wieder über einen Startknopf.<br />
Dieser öffnet zwar kein klassisches<br />
Startmenü, bietet aber über das<br />
Kontextmenü die Möglichkeit, Server<br />
zu verwalten und neu zu starten. Das<br />
erspart vor allem bei Remote-Desktop-<br />
Sitzungen einiges an Arbeit. Da Bitlocker<br />
in allen Editionen von Windows<br />
8.1 verfügbar ist, können Unternehmen<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Know-how<br />
Windows Server 2012 R2<br />
65<br />
diese Technik zentral über Gruppenrichtlinien<br />
steuern.<br />
Um Windows Server 2012 R2 mit Windows<br />
8.1 zu verwalten, bietet Microsoft<br />
die Remote-Server-Verwaltungstools<br />
(Remote Server Administration Tools,<br />
RSAT) zum Download an. Mit den Tools<br />
installieren Sie auf einer Arbeitsstation<br />
mit Windows 8.1 alle Verwaltungsprogramme,<br />
die zur Verwaltung von Windows<br />
Server 2012 R2 notwendig sind.<br />
Mit den Tools verwalten Sie auch die<br />
Serverdienste in Windows Server 2012.<br />
Verwalten lassen sich die neuen Server-<br />
Versionen auch mit System Center 2012<br />
R2, das Microsoft gleichzeitig mit Windows<br />
Server 2012 R2 veröffentlichen<br />
will.<br />
Windows Server 2012 R2 verfügt generell<br />
über die gleiche Oberfläche wie<br />
Windows 8.1, bootet aber automatisch<br />
in den Desktop. Die Startseite ist hier<br />
nur optional. Befindet man sich auf der<br />
Startseite, reicht es, den Begriff zu einem<br />
bestimmten Element (App, Datei,<br />
Einstellung und so weiter) einzutippen.<br />
Bereits während der Eingabe wird automatisch<br />
die Suchleiste aktiviert. Der<br />
eingetippte Text erscheint automatisch<br />
im Suchfeld. Hier gibt der Anwender<br />
den Suchbegriff ein; im linken Bereich<br />
der Startseite erscheint das Ergebnis.<br />
Wichtige Systemprogramme zeigt Windows<br />
Server 2012 R2 im sogenannten<br />
Schnellmenü in der linken unteren<br />
Bildschirmecke an, die man über die<br />
Tastenkombination [Windows]+[X] erreicht.<br />
Alternativ führt ein Klick mit der<br />
rechten Maustaste auf den Startknopf<br />
ans Ziel. Klickt man auf der Startseite<br />
mit der rechten Maustaste auf eine<br />
App-Kachel, lässt sie sich von der<br />
Startseite in die Alle-Apps-Ansicht verschieben.<br />
Umgekehrt kann man Apps<br />
über ihr Kontextmenü in der Alle-Apps-<br />
Ansicht oder auf dem Desktop an die<br />
Startseite anheften. Die App bleibt aber<br />
weiterhin auf dem Server verfügbar.<br />
Über ein separates Tool [2] können Anwender<br />
das Schnellmenü auch bearbeiten<br />
und Befehle hinzufügen, entfernen<br />
und gruppieren.<br />
Abbildung 5: Nutzen der neuen Einstellungsmöglichkeiten<br />
in Windows Server 2012 R2.<br />
Bildschirmecken und<br />
PowerShell<br />
Diverse Einstelloptionen sind in<br />
Windows Server 2012 R2 über das<br />
Kontextmenü der Taskleiste und die<br />
neue Registerkarte »Navigation« in<br />
den Eigenschaften zu finden. Wir listen<br />
nachfolgend alle Optionen auf, auch<br />
diejenigen, die in Windows 8.1 sinnvoll<br />
sind:<br />
n Bewegt man die Maus in die rechte<br />
obere Ecke, zeigt Windows die<br />
Charmsbar an. Sie lässt sich auch<br />
mit [Windows]+[C] anzeigen (Abbildung<br />
5).<br />
n Beim Klicken auf die obere linke<br />
Ecke zwischen den zuletzt verwendeten<br />
Apps wechseln – mit einem<br />
Klick links oben in die Ecke kann der<br />
Anwender zwischen den gestarteten<br />
Windows-Apps umschalten. An<br />
dieser Stelle hat man aber nicht die<br />
Möglichkeit, zwischen Anwendungen<br />
auf dem Desktop zu wechseln.<br />
Diese fasst Windows in der Desktop-<br />
App zusammen.<br />
n Beim Rechtsklick auf die untere<br />
linke Ecke oder beim Drücken von<br />
[Windows]+[X] »Eingabeaufforde-
66<br />
Know-how<br />
Windows Server 2012 R2<br />
Abbildung 6: Mit den Arbeitsordnern können Anwender Daten des Servers mit dem Notebook synchronisieren<br />
– ähnlich wie Offline-Dateien.<br />
rung« im Menü durch »Windows<br />
PowerShell« ersetzen – diese Option<br />
ersetzt die Eingabeaufforderung<br />
über das Kontextmenü des Startknopfes<br />
mit der Möglichkeit, die<br />
PowerShell zu starten.<br />
n Beim Anmelden anstelle der Startseite<br />
den Desktop anzeigen – mit<br />
dieser Option zeigen Windows 8.1<br />
und Windows Server 2012 R2 nach<br />
dem Start den Desktop an.<br />
n Desktop-Hintergrund auf der Startseite<br />
verwenden – ist diese Option<br />
aktiviert, zeigt die Startseite das<br />
gleiche Hintergrundbild an wie der<br />
Desktop. Dadurch entsteht der Eindruck,<br />
dass die Startseite durchsichtig<br />
ist. Dazu muss aber das Feature<br />
der Desktop-Darstellung in Windows<br />
Server 2012 R2 über den Server-<br />
Manager installiert sein.<br />
n Beim Drücken der Windows-Logo-<br />
Taste immer die Startseite in der<br />
Hauptanzeige starten – blendet die<br />
Startseite immer auf dem Hauptmonitor<br />
ein, wenn mehrere Monitore<br />
angeschlossen sind. Bewegt man<br />
den Mauszeiger in die linke untere<br />
Ecke des zweiten Bildschirms, öffnet<br />
sich auf diesem die Startseite.<br />
n Beim Aufrufen der Startseite automatisch<br />
die Ansicht »Alle Apps«<br />
anzeigen – zeigt nicht die Startseite<br />
an, sondern die Alle-Apps-Ansicht.<br />
Zusammen mit der Option »Desktop‐Apps<br />
in der Ansicht "Alle Apps"<br />
als Erstes auflisten, wenn nach Kategorie<br />
sortiert ist«, ergibt sich eine<br />
Ansicht ähnlich wie ein Startmenü.<br />
Nur ist dieses Menü über den kompletten<br />
Monitor verteilt.<br />
n Beim Suchen in der Ansicht »Alle<br />
Apps« überall suchen – diese Option<br />
ist nur aktiv, wenn Sie die Option<br />
»Beim Aufrufen der Startseite automatisch<br />
die Ansicht „Alle Apps“<br />
anzeigen« aktivieren.<br />
n Desktop-Apps in der Ansicht »Alle<br />
Apps« als Erstes auflisten, wenn<br />
nach Kategorie sortiert ist – zeigt bei<br />
der Sortierung nach Kategorie in der<br />
Alle-Apps-Ansicht Programme des<br />
Desktops zuerst an.<br />
n In Windows Server 2012 R2 können<br />
Anwender in der Alle-Apps-Ansicht,<br />
die man über das Kontextmenü<br />
der Startseite startet, die Anzeige<br />
kategorisieren lassen. Dazu dient<br />
der Pfeil in der oberen Spalte. Die<br />
Alle-Apps-Ansicht lässt sich auch<br />
über den neuen Pfeil erreichen, der<br />
sich auf der Startseite links unten<br />
befindet.<br />
In Windows 8.1 und Windows Server<br />
2012 R2 exportiert das Commandlet<br />
»export‐startlayout« der PowerShell<br />
das Aussehen und die Konfiguration<br />
der Startseite in eine Datei. Das Commandlet<br />
»import‐startlayout« importiert<br />
die Einstellungen. Man kann diese<br />
Funktion auch dazu nutzen, auf lokalen<br />
Rechnern das Aussehen der Startseite<br />
vorzugeben. Dazu passt man zunächst<br />
die Startseite an, exportiert sie als XML-<br />
Datei und hinterlegt sie bei den Anwendern<br />
als Standardseite. Die Verteilung<br />
ist auch über Gruppenrichtlinien mit<br />
Windows Server 2012 R2 möglich. Der<br />
Befehl »get‐help Commandlet« zeigt<br />
eine Hilfe zum neuen Commandlet an.<br />
Administratoren in Unternehmensnetzwerken<br />
können sogar Veränderungen<br />
an der Startseite untersagen. Dazu gibt<br />
es ebenfalls in den Richtlinien von Windows<br />
8.1 und Windows Server 2012 R2<br />
die Option Startseitenlayout. Diese finden<br />
sich über »gpedit.msc« im Bereich<br />
»Benutzerkonfiguration\Administrative<br />
Vorlagen\Startmenü und Taskleiste«.<br />
In diesem Bereich können Admins die<br />
vorher exportierte Layout-Datei hinterlegen.<br />
Das funktioniert auch für lokale<br />
Rechner und lokale Richtlinien.<br />
Wer zu viel an der Startseite geändert<br />
hat und mit dem Ergebnis nicht zufrieden<br />
ist, kann auf den Standard nach<br />
der Installation zurückgehen. Dazu genügt<br />
es, im Explorer die folgenden Dateien<br />
zu löschen: »%Local AppData%\<br />
Microsoft\Windows\appsFolder.<br />
itemdata‐ms« und »%LocalAppData%\<br />
Microsoft\Windows\appsFolder.itemdata‐ms.bak«.<br />
Es ist natürlich auch möglich,<br />
die Dateien zu verschieben oder<br />
umzubenennen. Das hat den Vorteil, sie<br />
später wieder aktivieren zu können.<br />
Arbeitsplatznetzwerke und<br />
Arbeitsordner in Windows 8.1<br />
Mit Windows 8.1 bietet Microsoft zahlreiche<br />
Neuerungen für professionelle<br />
Anwender. Microsoft will mit Windows<br />
8.1 vor allem den Bring-Your-Own-<br />
Device-Ansatz (BYOD) von Unternehmen<br />
unterstützen. Ohne dass ein<br />
Windows 8.1-PC oder Tablet Mitglied<br />
einer Domäne ist, kann der Computer<br />
im Netzwerk oder über das Internet auf<br />
Unternehmensressourcen zugreifen.<br />
Außerdem ist es möglich, dass Anwender<br />
Daten in einem bestimmten Verzeichnis<br />
auf dem Client speichern und<br />
dieser Ordner mit Servern synchronisiert<br />
wird. Der Vorteil dabei ist, dass der<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Know-how<br />
Windows Server 2012 R2<br />
67<br />
Inhalt der Arbeitsordner auf den Server<br />
gesichert und auf allen Rechnern des<br />
Anwenders zur Verfügung gestellt wird<br />
(Abbildung 6). Für jeden Benutzer kann<br />
Windows Server 2012 R2 einen Unterordner<br />
anlegen, in dem die Daten des<br />
Anwenders gespeichert werden und auf<br />
den nur der entsprechende Anwender<br />
Zugriff hat.<br />
Workplace Join geht in die gleiche<br />
Richtung und ermöglicht Anwendern<br />
auch ohne Domänenmitgliedschaft,<br />
auf Unternehmensressourcen zuzugreifen.<br />
Im Netzwerk muss dazu Windows<br />
Server 2012 R2 bereitgestellt sein. Das<br />
TechNet-Video auf [3] demonstriert die<br />
neuen Möglichkeiten der Workplace<br />
Folders.<br />
Administratoren können – ähnlich wie<br />
bei Exchange ActiveSync – Sicherheitsrichtlinien<br />
für Arbeitsplatznetzwerke<br />
und Arbeitsordner festlegen. Wenn sich<br />
ein Anwender zu einer Ressource mit<br />
seinem Gerät verbindet, muss er bestätigen,<br />
dass er diese Richtlinien einhält.<br />
So können Administratoren zum Beispiel<br />
festlegen, dass das Benutzerkonto<br />
auf dem zugreifenden Rechner besonders<br />
sicher sein muss.<br />
Viele Einstellungen für Windows 8.1,<br />
wie Arbeitsordner, Startseite und den<br />
App-Store, können Administratoren<br />
nur über Gruppenrichtlinien oder den<br />
Server-Manager vorgeben, wenn sie einen<br />
Server mit Windows Server 2012 R2<br />
einsetzen. Um Arbeitsordner für Windows<br />
8.1 bereitzustellen, müssen auf<br />
dem entsprechenden Dateiserver mit<br />
Windows Server 2012 R2 die Serverrolle<br />
»Datei‐/Speicherdienste\Datei‐ und<br />
iSCSI‐Dienste\Arbeitsordner« installiert<br />
sein. Die Arbeitsordner in Windows<br />
Server 2012 R2 lassen sich alternativ<br />
auch mit der PowerShell installieren.<br />
Dazu dient das Commandlet »Add‐WindowsFeature<br />
FS‐SyncShareService«.<br />
Wenn die Serverrolle installiert ist,<br />
steht im Server-Manager der Bereich<br />
»Datei‐ und Speicherdienste\Arbeitsordner«<br />
zur Verfügung. In diesem<br />
Fenster findet sich ein Assistent, der<br />
bei der Einrichtung der Arbeitsordner<br />
hilft. Mit ihm legen Administratoren<br />
die Verzeichnisse auf den Dateiservern<br />
fest, die Anwender über Arbeitsordner<br />
verwenden können. Es gibt auch<br />
die Möglichkeit, über den Assistenten<br />
bestimmten Benutzern und Gruppen<br />
den Zugriff zu gestatten. Unterhalb des<br />
Ordners auf dem Server legt Windows<br />
Server 2012 R2 automatisch Unterordner<br />
für die Benutzerkonten an. Auf die<br />
Unterordner haben nur die entsprechenden<br />
Anwender Zugriff. Nach der<br />
Einrichtung des Arbeitsordners muss<br />
der Administrator dann nur noch die<br />
entsprechenden Benutzerkonten in die<br />
Gruppe mit aufnehmen. Auch die Richtlinieneinstellungen<br />
lassen sich hier<br />
steuern. Ist der Ordner angelegt, wird<br />
er im Server-Manager angezeigt.<br />
Während der Einrichtung legt man<br />
fest, welche Ordner man auf dem lokalen<br />
Server über Arbeitsordner zur<br />
Verfügung stellt und welche Benutzer<br />
Zugriff auf die Arbeitsordner erhalten<br />
sollen. Damit der Zugriff stabil funktioniert,<br />
sollte man am besten Freigaben<br />
verwenden, auf die Anwender auch im<br />
internen Netzwerk über SMB zugreifen.<br />
Dann können Anwender nicht nur über<br />
die Arbeitsordner-Technologie in Windows<br />
8.1 auf den Inhalt des Ordners<br />
zugreifen, sondern auch mit einer normalen<br />
Freigabe. Alle freigegebenen Arbeitsordner<br />
sind im Server-Manager zu<br />
sehen, wo man über das Kontextmenü<br />
die Einstellungen bearbeiten und die<br />
Freigabe entfernen kann.<br />
Ohne SSL<br />
Standardmäßig erlauben Windows<br />
8.1 und Windows Server 2012 R2 den<br />
Zugriff auf Arbeitsordner nur über<br />
SSL. Das heißt, auf dem Client müssen<br />
Zertifikate und SSL angepasst und<br />
konfiguriert werden. Wer in Testumgebungen<br />
oder in Umgebungen, die ohne<br />
SSL-Zugriff funktionieren sollen, ohne<br />
SSL-Verbindungen mit Arbeitsordnern<br />
arbeiten möchte, muss auf den Clients<br />
einen Registry-Schlüssel setzen. Am<br />
besten geht das mit dem folgenden Befehl<br />
in der Befehlszeile:<br />
Reg add HKLM\SOFTWARE\Microsoft\WindowsU<br />
\CurrentVersion\WorkFolders /v AllowUnsecureU<br />
Connection /t REG_DWORD /d 1<br />
Mit einem weiteren Eintrag wird die<br />
Verbindung zum Server mit dem Arbeitsordner<br />
hergestellt:<br />
Reg add HKCU\Software\Microsoft\WindowsU<br />
\CurrentVersion\WorkFolders /v ServerUrl /tU<br />
REG_SZ /d http://Arbeitsordnerserver<br />
Um Zugriff auf den Arbeitsordner zu<br />
erhalten, startet man den Assistenten<br />
über »Systemsteuerung\System und<br />
Sicherheit\Arbeitsordner«. Das Programm<br />
erwartet den vollständigen<br />
Anmeldenamen des Anwenders, zum<br />
Beispiel »thomas.joos@contoso.int«.<br />
Man kann an dieser Stelle auch die<br />
E-Mail-Adresse verwenden, wenn man<br />
mit Exchange Server 2013 arbeitet. In<br />
diesem Fall muss der vollständige Anmeldename<br />
des Anwenders aber entsprechend<br />
angepasst werden.<br />
Nach der Anmeldung über den Anmeldenamen<br />
oder die E-Mail-Adresse<br />
verbindet der Server im Netzwerk den<br />
Anwender mit seinem Arbeitsordner.<br />
Wenn der PC nicht Mitglied der Domäne<br />
ist, erscheint noch ein Anmeldefenster.<br />
Hier muss der Anwender sich<br />
mit seinem Benutzernamen an der<br />
Domäne anmelden. Allerdings gilt das<br />
nur dann, wenn der Rechner noch kein<br />
Mitglied der Domäne ist. Wenn Sie die<br />
Arbeitsordner angepasst haben, bindet<br />
Windows diese im Explorer an. Alle Daten<br />
im Arbeitsordner synchronisiert der<br />
Client mit dem Server. Bindet man andere<br />
Rechner an den gleichen Arbeitsordner<br />
an, werden die Daten ebenfalls<br />
auf diesen Rechner synchronisiert. Das<br />
Kontextmenü eines Arbeitsordners im<br />
Explorer startet die Synchronisierung<br />
mit dem Server. (ofr) n<br />
n Info<br />
n Autor<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30866<br />
Thomas Joos ist freiberuflicher IT-Consultant und<br />
seit über 20 Jahren in der IT tätig. Neben seinen<br />
Projekten schreibt er praxisnahe Fachbücher und<br />
Fachartikel rund um Windows und andere Microsoft-<br />
Themen. Online trifft man ihn unter [http://<br />
thomasjoos. spaces. live. com].<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
68<br />
Security<br />
Endian-Switchboard<br />
Remote-Zugriff mit dem Endian-Switchboard<br />
Sichere Fernsteuerung<br />
Die Fernwartung von technischen Systemen ist nicht nur bequem, sondern birgt auch Risiken. Dieser Artikel gibt<br />
einen Überblick über die Gefahren und stellt mit dem Endian-VPN-Switchboard ein System zum Aufbau einer effizienten<br />
Fernwartungsumgebung vor. Thomas Zeller<br />
Tatiana Popova , 123RF<br />
Die Steuerung und Fernwartung von<br />
Industrieanlagen wie Windparks, Kraftwerken<br />
oder Produktionsmaschinen<br />
über das Internet ist eine seit Jahren<br />
etablierte Praxis mit hohen Zuwachsraten.<br />
Das ist kein Wunder, denn so lassen<br />
sich Anlagen effizient und vor allem<br />
kostengünstig vom Hersteller warten.<br />
Doch spätestens seit des erfolgreichen<br />
Angriffs von „Stuxnet“ auf die Steuerungstechnik<br />
der iranischen Urananreicherungsanlage<br />
in Natanz sollten<br />
Verantwortliche stets ein wachsames<br />
Auge auf die Sicherheit haben.<br />
SCADA<br />
Für die Überwachung, Steuerung und<br />
Optimierung technischer Prozesse mit<br />
IT-Unterstützung hat sich der Begriff<br />
SCADA (Supervisory Control and Data<br />
Acquisition) inzwischen fest etabliert.<br />
Beschrieben wird damit in erster Linie<br />
ein Netzleitsystem für das Sammeln<br />
und Analysieren von Echtzeitdaten in<br />
Industrieanlagen. Egal ob beim Energieerzeuger,<br />
der Wasseraufbereitung,<br />
Smart Grid oder PKW-Produktion –<br />
praktisch kein Industriezweig kommt<br />
heute mehr ohne derartige Systeme<br />
aus.<br />
Neben ihrer Funktion als Datensammler<br />
bieten SCADA-Systeme in der<br />
Regel auch eine Fernwartungsschnittstelle.<br />
Sie erlaubt es Administratoren<br />
mit entsprechender Software, zum Beispiel<br />
Siemens STEP 7, über (IP-)Netzwerke<br />
auf Industriesteuerungen und<br />
Automatisierungssysteme wie<br />
etwa Simatic S7 zuzugreifen.<br />
Selbstverständlich müssen<br />
Zugriffe, die derart weitreichende<br />
Manipulationsmöglichkeiten<br />
gestatten, entsprechend<br />
abgesichert<br />
werden. Denn schließlich sind hier unter<br />
Umständen Gesundheit und Leben<br />
von Personen in Gefahr, beispielsweise<br />
wenn ein Industrieroboter eine mechanische<br />
Bewegung ausführt, solange<br />
sich ein Mensch im Gefahrenbereich<br />
aufhält. Dass es mit der Absicherung<br />
von Industriesteuerungen in der Praxis<br />
aber nicht sehr weit her ist, belegen<br />
zahlreiche Beispiele.<br />
So veröffentlichte beispielsweise das<br />
Research-Team (Project Basecamp) des<br />
auf SCADA-Sicherheit spezialisierten<br />
amerikanischen Beratungsunternehmens<br />
„Digital Bond“ im Rahmen des<br />
alljährlichen SCADA Security Scientific<br />
Symposium – kurz S4 – eine schier<br />
unüberschaubare Anzahl von Sicherheitslücken<br />
in verschiedenen Industriesteuerungen<br />
[1]. Korrespondierend<br />
zu den Sicherheitslücken in den Produkten<br />
so prominenter Hersteller wie<br />
General Electric, Schneider Electric und<br />
RA Allen-Bradley stellt Project Basecamp<br />
unter [2] auch gleich den Link<br />
zu passenden Metasploit-Modulen zur<br />
Verfügung, mit denen sich diese Lücken<br />
ausnutzen lassen.<br />
Der menschliche Faktor<br />
Doch nicht immer sind Sicherheitslücken<br />
in den Produkten das Problem,<br />
sondern die Menschen, die diese Produkte<br />
einsetzen. So lassen sich mit einer<br />
entsprechend formulierten Google-<br />
Suchanfrage („Google Hacking“) unschwer<br />
Systeme im Internet aufspüren,<br />
für deren Nutzung es überhaupt keiner<br />
Authentifizierung bedarf. Populärstes<br />
Beispiel sind IP-Kameras. Deren Videostreams<br />
kann man häufig ohne Authentifizierung<br />
aus dem Internet abrufen,<br />
manche lassen sich sogar vollständig<br />
steuern. Dazu sucht man mit dem »inurl«-<br />
oder »intitle«-Parameter in Google<br />
www.admin-magazin.de
Security<br />
Endian-Switchboard<br />
69<br />
einfach nach typischen Begriffen,<br />
die die Web-Interfaces der Kameras<br />
verwenden, zum Beispiel »Live View«,<br />
»Axis« oder »video server« (Abbildung<br />
1). Hier ein paar Beispiele:<br />
allintitle:"Network Camera NetworkU<br />
Camera"<br />
inurl:/view.shtml<br />
intitle:axis intitle:"video server"<br />
intitle:liveapplet<br />
Kritisch oder gar gefährlich kann es<br />
werden, wenn derartige Nachlässigkeiten<br />
in Kombination mit Sicherheitslücken<br />
in der Steuerung von Anlagen<br />
– nicht nur im Industrieumfeld – auftreten.<br />
So wurde im Frühjahr dieses Jahres<br />
beispielsweise bekannt, dass zahlreiche<br />
Heizungsanlagen vom Typ eco-<br />
Power 1.0 des Herstellers Vaillant über<br />
das Internet dem Missbrauch offen<br />
stehen. Diese Heizungsanlagen können<br />
vom Besitzer über eine iPad-App<br />
oder über ein Web-Interface gesteuert<br />
werden, zum Beispiel um die Temperatureinstellungen<br />
zu ändern oder einzelne<br />
Komponenten beziehungsweise<br />
die ganze Anlage abzuschalten.<br />
Über eine Sicherheitslücke im Web-<br />
Interface ließen sich die Passwörter im<br />
Klartext auslesen. Da sich die Anlagen<br />
an einem DynDNS-Dienst des Herstellers<br />
anmelden, konnten Anlagen durch<br />
Ausprobieren im Netz einfach ermittelt<br />
werden [3][4]. Die Kollegen von Heise-<br />
Security entdeckten gar Steuerungen<br />
größerer Einrichtungen und Organisationen,<br />
darunter eine Brauerei, ein<br />
Fußballstadion und eine Justizvollzugsanstalt<br />
[5].<br />
Kritische Infrastrukturen<br />
Unter dem Begriff Kritische Infrastruktur<br />
(KRITIS) [6] fasst das Bundesinnenminsterium<br />
Institutionen und Einrichtungen<br />
mit wichtiger Bedeutung für das<br />
staatliche Gemeinwesen zusammen.<br />
Dazu gehören zum Beispiel Versorgungsunternehmen<br />
aus den Bereichen<br />
Energie, Ernährung, Gesundheit und<br />
des Transportwesens, aber auch Banken,<br />
Versicherungen und natürlich<br />
staatliche Stellen wie Regierung, Justiz<br />
und Katastrophenschutz. Die Politik<br />
diskutiert bereits seit Längerem eine<br />
Abbildung 1: Bereits über eine Google-Suche lassen sich viele Geräte aufspüren, die mit dem Internet<br />
verbunden sind, zum Beispiel Überwachungskameras.<br />
Meldepflicht für IT-Angriffe auf kritische<br />
Infrastrukturen und hat im Frühjahr<br />
2013 den Entwurf eines Gesetzes zur<br />
Erhöhung der Sicherheit informationstechnischer<br />
Systeme vorgelegt [7].<br />
Schützenhilfe erhält der Innenminister<br />
dabei von der EU-Kommission, die<br />
mit der Cyber Security Directive ebenfalls<br />
einen entsprechenden Vorschlag<br />
erarbeitet hat [8]. Derlei Aktivitäten<br />
dokumentieren deutlich, wie hoch die<br />
Gefahr für elektronische Angriffe auf<br />
kritische Infrastrukturen von der Regierung<br />
eingeschätzt wird.<br />
Wie real die Gefahr für Industrieanlagen<br />
im Netz tatsächlich ist, bestätigt auch<br />
der Versuch des amerikanischen Sicherheitsexperten<br />
Kyle Wilhoit. Dieser<br />
hat in seinem Keller eine absichtlich<br />
unsicher konfigurierte Wasserpumpenstation<br />
aufgebaut, die sich nach außen<br />
hin als Kontrollsystem einer kleinstädtischen<br />
Wasserversorgung darstellte.<br />
Das Ergebnis: Schon nach wenigen<br />
Tagen lockte der Honeypot zahlreiche<br />
SCADA-Hacker an. Die vollständige Geschichte<br />
kann man unter [9] nachlesen.<br />
Auf dem Silbertablett<br />
Die Diskussion wird noch zusätzlich<br />
befeuert, da sich mit dem Internet verbundene<br />
Systeme heute ganz besonders<br />
leicht aufspüren lassen. So wertet<br />
die Suchmaschine Shodan [10] die<br />
Banner von Web-, FTP-, SSH-, Telnetund<br />
SNMP-Servern aus. Auf diese Weise<br />
kann man dann ganz gezielt nach verwundbaren<br />
Versionen von Serverdiensten<br />
suchen. Weiß man beispielsweise,<br />
dass Version 1.3.3c des populären<br />
ProFTPd-Servers über eine gravierende<br />
Sicherheitslücke verfügt, genügt es,<br />
Shodan mit folgendem String auf die<br />
Suche zu schicken: »ProFTPd 1.3.3c«.<br />
Kurze Zeit später präsentiert Shodan<br />
eine umfangreiche Liste von Servern,<br />
die diese Version installiert haben.<br />
Das Suchergebnis lässt sich dann<br />
noch weiter eingrenzen, so etwa auf<br />
bestimmte Länder, Städte oder sogar<br />
Organisationen. Shodan unterbreitet<br />
dafür auch gleich die passenden Vorschläge,<br />
indem es die »Top Countries«,<br />
»Top Cities« und »Top Organizations«<br />
auflistet (Abbildung 2). So kann man<br />
sich beispielsweise alle bei einem bestimmten<br />
Provider gehosteten Systeme<br />
anzeigen lassen, die diese verwundbare<br />
Serverversion einsetzen.<br />
Fernwartung und Sicherheit<br />
Ein wesentliches Motiv für die Vernetzung<br />
von Industrieanlagen mit dem<br />
Internet ist die Fernwartung. Über<br />
Fernzugriff auf die SPS oder den Steuerungsrechner<br />
haben Experten dann un-<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
70<br />
Security<br />
Endian-Switchboard<br />
Abbildung 2: Die Spezialsuchmaschine Shodan wertet die Banner von Geräten im Internet aus. Auf<br />
diese Weise lassen sich leicht verwundbare Server oder Steuerungssysteme ausfindig machen.<br />
abhängig von ihrem Standort jederzeit<br />
die Kontrolle über das Steuerungssystem<br />
von Anlagen. Insbesondere Anlagen<br />
an schwer zugänglichen Orten, wie<br />
etwa Offshore-Windturbinen vor der<br />
Küste oder Ölfördertürme in der Wüste<br />
– profitieren von der Fernwartung. Aber<br />
auch Produktionsbetriebe erhalten<br />
auf diese Weise wesentlich schnellere<br />
Unterstützung bei Störungen, wenn der<br />
Wartungstechniker nicht erst anreisen<br />
muss.<br />
Die klassischen Fernwartungskonzepte,<br />
zum Beispiel über Modem- oder ISDN-<br />
n Wie funktioniert eine Industriesteuerung?<br />
Maschinen und Anlagen in der Industrie werden heute meist über speicherprogrammierbare Steuerungen<br />
(SPS beziehungsweise „Programmable Logic Controller“, kurz PLC) geregelt oder gesteuert<br />
und sind damit das zentrale Element für den Betrieb des jeweiligen Maschinen- oder Anlagentyps.<br />
SPS-Systeme werden in unterschiedlichen Bauformen (zum Beispiel als PC-Steckkarte oder modulare<br />
Baugruppe) von vielen Herstellern angeboten. Bekannte Hersteller sind zum Beispiel Siemens,<br />
Saia-Burgess, ABB, Schneider Electric und General Electric. Einen guten Überblick über die Hersteller<br />
von SPS-Systemen bietet [11].<br />
Die SPS arbeitet mit einem eigenen Betriebssystem (Firmware) und verfügt über Ein- und Ausgänge,<br />
an denen Sensoren und Aktoren angeschlossen sind. Die Sensoren liefern Informationen aus der<br />
Maschine an die SPS, mithilfe der Aktoren steuert und regelt die SPS die angeschlossene Maschine.<br />
Sensoren und Aktoren werden in aktuellen Anlagen entweder über ein Bus-System (beispielsweise<br />
Feldbus) oder über ein Netzwerk (zum Beispiel Profi-Net) mit den Maschinen verbunden (Abbildung<br />
3). In vielen Fällen wird die SPS mit der entsprechenden Programmiersoftware direkt angesprochen.<br />
Alternativ kann aber auch ein Steuerungsrechner mit der SPS verbunden werden, mit dem sich das<br />
Wartungspersonal für Arbeiten an der SPS verbindet.<br />
Direkteinwahl, sind seit Jahren auf<br />
dem Rückzug. Grund sind einerseits<br />
die hohen Kosten für Punkt-zu-Punkt-<br />
Verbindungen und das Vorhalten der<br />
entsprechenden Infrastruktur sowie<br />
die niedrigen Datenübertragungsraten.<br />
Andererseits schreitet die Vernetzung<br />
von Industrieanlagen beispielsweise<br />
mit Produktionsplanungs- und Steuerungssystemen<br />
(PPS) ohnehin stetig<br />
voran, sodass die Isolation dieser Netze<br />
im Zeitalter des „Internets der Dinge“<br />
wohl bald endgültig der Vergangenheit<br />
angehört.<br />
Natürlich birgt die Vernetzung von Anlagen<br />
mit anderen lokalen Netzen, zum<br />
Beispiel dem Office-Netzwerk sowie<br />
dem Internet, erhebliche Risiken. So<br />
muss unbedingt sichergestellt werden,<br />
dass zwischen den beteiligten Netzen<br />
tatsächlich auch nur die erwünschte<br />
Kommunikation stattfindet und nur<br />
berechtigte Benutzer Zugang zur Anlagensteuerung<br />
erhalten. Daher ist<br />
es ratsam, diese Netze zunächst mit<br />
Hilfe einer Firewall zu trennen. Ein<br />
entsprechend angepasstes Regelwerk<br />
vorausgesetzt, lassen sich die Anlagen<br />
durch den Einsatz einer Firewall auch<br />
wirkungsvoll vom Internet abkoppeln,<br />
sodass sie von dort nicht mehr direkt<br />
erreichbar sind. Auch Google und Shodan<br />
haben dann keine Chance mehr,<br />
diese Anlagen im Internet aufzuspüren.<br />
Abbildung 4 verdeutlicht das dahinter<br />
liegende Prinzip.<br />
Die Grenzen von VPN<br />
Da Firewallsysteme zumeist auch ein<br />
VPN-Gateway enthalten, ist es naheliegend,<br />
den Fernwartungszugriff auf die<br />
Anlage künftig über VPN abzuwickeln.<br />
Das funktioniert auch gut, allerdings<br />
nur solange an allen Standorten das<br />
gleiche VPN-Protokoll eingesetzt wird<br />
und sich die Netzadressen an den<br />
Standorten nicht überschneiden.<br />
Die Praxis sieht also meist anders aus,<br />
denn für den Netzbetrieb (und damit<br />
für die Firewall) zeichnet in der Regel<br />
die IT-Abteilung des jeweiligen Anlagenbetreibers<br />
verantwortlich. Die Techniker<br />
des Anlagenherstellers, die sich<br />
per Fernwartung auf die Maschinensteuerung<br />
aufschalten wollen, sehen<br />
sich daher schnell mit einem Wust un-<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Security<br />
Endian-Switchboard<br />
71<br />
terschiedlicher VPN-Protokolle und Clients<br />
konfrontiert. Diese können meist<br />
nicht parallel auf einem Arbeitsplatzrechner<br />
installiert werden, sodass man<br />
oft gezwungen ist, auf virtuelle Rechner<br />
mit der zum jeweiligen Kunden passenden<br />
VPN-Konfiguration auszuweichen.<br />
Hinzu kommt noch ein wichtiger Sicherheitsaspekt:<br />
Sowohl auf Seiten des<br />
Fernwarters als auch auf Seiten des Anlagenbetreibers<br />
müssen die Firewalls<br />
die benötigten Protokolle passieren<br />
lassen. Und spätestens, wenn ein Fernwarter<br />
zwei Notfälle an unterschiedlichen<br />
Standorten betreut, die LAN-seitig<br />
zufällig das gleiche private IP-Netzwerk<br />
verwenden, muss einer der Kunden<br />
warten.<br />
Ein zusätzliches Problem tritt auf,<br />
wenn nicht jeder Mitarbeiter des<br />
Fernwartungsteams auf alle verfügbaren<br />
Anlagen zugreifen dürfen soll,<br />
beispielsweise weil bestimmte Anlagen<br />
nur von zertifiziertem Personal<br />
gewartet werden dürfen oder wenn die<br />
Sicherheitsbestimmungen ein Rollenkonzept<br />
fordern. Zwar können Firewalls<br />
prinzipiell auch den Traffic innerhalb<br />
von VPN-Verbindungen filtern, Regeln<br />
lassen sich hier aber nur auf Basis von<br />
IP-Adressen und Ports – nicht auf Benutzerebene<br />
– erzeugen.<br />
Intelligente Konzepte sind<br />
gefragt<br />
Für die Fernwartung sind daher Konzepte<br />
gefragt, mit denen sich diese<br />
(sicherheits)technischen Hürden überwinden<br />
lassen. Im Wesentlichen muss<br />
das Konzept den folgenden<br />
Anforderungen genügen:<br />
n Einsatz eines sicheren,<br />
Firewall-freundlichen<br />
und möglichst verbreiteten<br />
VPN-Protokolls;<br />
n nach Möglichkeit kein<br />
Öffnen der Firewall für<br />
eingehende Verbindungen<br />
erforderlich;<br />
n Management mehrerer<br />
gleicher IP-Netze an verschiedenen<br />
Standorten;<br />
n Berechtigungskonzept<br />
für Geräte und Benutzer.<br />
Während OpenVPN die<br />
ersten beiden Anforderungen in geradezu<br />
vorbildlicher Weise erfüllt, wird<br />
es bei den Anforderungen drei und<br />
vier schon schwieriger. Hier kommen<br />
Speziallösungen wie das Endian-VPN-<br />
Switchboard [12] ins Spiel.<br />
Endian-VPN-Switchboard<br />
Dabei handelt es sich um einen VPN-<br />
Concentrator, der als Software-Erweiterung<br />
zu der bekannten Open-Source-<br />
Firewall des Südtiroler Unternehmens<br />
Endian [13] erhältlich ist. Im Vordergrund<br />
stehen die VPN-Funktionalität<br />
und das Berechtigungssystem für Geräte<br />
(Gateways), Endpoints (Wartungsobjekte)<br />
und Benutzer (Fernwarter).<br />
Der VPN-Concentrator nimmt dabei<br />
immer nur eingehende Verbindungen<br />
entgegen, denn der Verbindungsaufbau<br />
wird immer von den beteiligten Endpunkten<br />
initiiert. Das bringt einen enormen<br />
Sicherheitsgewinn mit sich, weil<br />
Abbildung 4: Ein Mindestmaß an Sicherheit bietet die Trennung des Steuerungs- oder<br />
SPS-Netzes der Industrieanlage vom Office-Netz mithilfe einer Firewall. Die Firewall<br />
verhindert auch, dass die Netzwerke direkt aus dem Internet erreichbar sind.<br />
Abbildung 3: Schematische Darstellung eines SCADA-Systems.<br />
weder die Netze der Wartungsobjekte<br />
noch das Netz der Fernwarter für eingehende<br />
Verbindungen geöffnet werden<br />
muss. In einer gedachten Stern-Topologie<br />
bildet das Endian-Switchboard<br />
damit das Zentrum des Sterns.<br />
Ist die VPN-Switchboard-Komponente<br />
lizenziert, taucht in der Web-GUI der<br />
Firewall ein zusätzlicher Menüpunkt<br />
auf, unter der diese Funktionen<br />
aktiviert werden können. Die UTM-<br />
Funktionen der Firewall stehen im<br />
VPN-Switchboard natürlich ebenfalls<br />
zur Verfügung. So kann beispielsweise<br />
der Netzwerkverkehr im VPN auch<br />
mit dem Intrusion-Detection-System<br />
analysiert und gefiltert werden. Gemeinsame<br />
Basis für die Vernetzung unterschiedlicher<br />
Anlagenstandorte per<br />
VPN ist der OpenVPN-Server auf dem<br />
Endian-Switchboard. Als Gegenstelle<br />
n Standortvernetzung<br />
Die hier für die Fernwartung von Industrieanlagen<br />
formulierten Anforderungen treffen auch auf andere<br />
Szenarien zu. Müssen beispielsweise mehrere bisher<br />
unabhängige Standorte eines Unternehmens via VPN<br />
vernetzt werden, findet man häufig auch dort die<br />
gleichen IP-Netze an mehreren Standorten.<br />
Die Einführung einer User-basierten Berechtigungsstruktur<br />
mit zentralem Benutzermanagement bringt<br />
auch anderen Organisationen viele Vorteile, zum<br />
Beispiel um Kunden oder Lieferanten selektiv Zugang<br />
zu bestimmten Systemen oder Diensten zu gewähren.<br />
Auch die Vernetzung mobiler Außenstellen<br />
(Speditionen, Polizei, Rettungsdienste, Militär), Fillialbetriebe,<br />
medizinische Einrichtungen (Telemedizin)<br />
und das „Internet der Dinge“ können von diesem<br />
Ansatz profitieren.<br />
Quelle: Wikipedia<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
72<br />
Security<br />
Endian-Switchboard<br />
Abbildung 5: Ein VPN-Concentrator wie das Endian-Switchboard bietet ein zentrales Berechtigungssystem<br />
für Gateways sowie Benutzer und kann auch mit dem Problem umgehen, dass mehrere<br />
Standorte die gleichen IP-Netze verwenden.<br />
auf Anlagenseite kommt prinzipiell jedes<br />
OpenVPN-fähige Endgerät in Frage,<br />
das Verbindungen über ein TAP-Device<br />
und Preshared Key (PSK) mit Benutzernamen<br />
und Passwort aufbauen kann.<br />
Viele (Industrie-)Router-Modelle, zum<br />
Beispiel [14],[15] und [16], bringen bereits<br />
einen OpenVPN-Client mit, sodass<br />
man hier nicht auf einen Hersteller festgelegt<br />
ist. Endian bietet mit seinen 4i-<br />
Modellen der Endian-Firewall ebenfalls<br />
geeignete Endgeräte an. Diese lassen<br />
Abbildung 6: Der OpenVPN-Server des Endian Switchboard ist über den HTTPS-Port TCP/443 erreichbar,<br />
die Größe des VPN-Subnetzes sollte dem geplanten Umfang der Installation Rechnung<br />
tragen.<br />
sich zusätzlich komfortabel über das<br />
Endian-Switchboard provisionieren und<br />
mithilfe eines USB-Sticks am Remote-<br />
Standort automatisch konfigurieren.<br />
Für den Remote-Zugriff durch das<br />
Wartungspersonal liefert Endian mit<br />
dem Switchboard einen kostenfreien<br />
Software-Client (Endian-4i-Connect-Client)<br />
aus. Dieser ist derzeit leider nur für<br />
Windows erhältlich, eine Mac- und eine<br />
Linux-Version sind nach Angaben des<br />
Herstellers aber in Arbeit. Das Fernwartungspersonal<br />
verbindet sich mithilfe<br />
des Clients dann zum Endian-Switchboard<br />
und erhält dort – abhängig von<br />
der individuellen Zugriffsberechtigung<br />
– Zugang zu den verbundenen Anlagensteuerungen.<br />
Bevor es um die Einrichtung des Systems<br />
geht, gibt es zuerst noch einen<br />
Überblick über ein typisches Fernwartungsszenario<br />
mit dem Endian-Switchboard.<br />
Dabei darf Fernwarter A lediglich<br />
auf Industrieanlage A und Fernwarter<br />
B auf Industrieanlage B zugreifen<br />
(Abbildung 5). Sind entsprechend viele<br />
Anlagenstandorte, Fernwarter und Endpoints<br />
vorhanden, lassen sich die Zugriffsberechtigungen<br />
komfortabel auf<br />
Basis von Gruppenrechten vergeben.<br />
OpenVPN-Concentrator mit<br />
Firewall<br />
Wie schon kurz angesprochen, ist das<br />
Endian-Switchboard eine Software-<br />
Erweiterung zur Endian-Firewall und<br />
ist damit entweder als Hardware-<br />
Appliance oder als Software für den<br />
Betrieb auf eigener physischer oder<br />
virtueller Hardware erhältlich. Administratoren,<br />
die bereits Erfahrung mit der<br />
Endian-Firewall oder anderen IPCOP-<br />
Abkömmlingen haben, werden sich in<br />
der Basiskonfiguration sofort zurechtfinden.<br />
Die Endian-Firewall arbeitet mit<br />
einem durch Farben gekennzeichneten<br />
Zonenmodell für die unterschiedlichen<br />
Netzbereiche. Grün kennzeichnet dabei<br />
das interne Netzwerk, rot ist für die<br />
WAN-Anbindung zuständig.<br />
Für den Betrieb als VPN-Concentrator<br />
werden mindestens diese beiden<br />
Zonen benötigt. Optional bietet die<br />
Endian-Firewall aber noch zwei weitere<br />
Zonen für die Anbindung eines<br />
Wireless-LAN (blau) und einer oder<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Security<br />
Endian-Switchboard<br />
73<br />
mehrerer DMZs (orange) an. In unserem<br />
Test-Szenario erhält die grüne Schnittstelle<br />
eine IP-Adresse aus dem LAN<br />
192.168.0.15 und das WAN-Interface<br />
(rot) eine offizielle IP-Adresse aus dem<br />
vom Provider bereitgestellten IP-Pool.<br />
VPN-Server vorbereiten<br />
Im nächsten Schritt aktivieren Sie unter<br />
»VPN | OpenVPN Server | OpenVPN Server<br />
enabled« den OpenVPN-Server und<br />
vergeben ein eigenes privates Subnetz<br />
für das Fernwartungs-VPN. Wählen Sie<br />
die Netzgröße entsprechend großzügig,<br />
damit Sie später genügend Luft für die<br />
Anbindung von Außenstellen und Fernwartungspersonal<br />
haben. Im Beispiel<br />
soll folgendes Netz zum Einsatz kommen:<br />
10.0.0.0/16 (Host Range: 10.0.0.1<br />
bis 10.0.255.254 = 65 534 Hosts); das<br />
sollte für längere Zeit ausreichen.<br />
Stellen Sie nun unter »Advanced« das<br />
Protokoll auf TCP und den Port auf 443<br />
um, damit der OpenVPN-Server Verbindungen<br />
auf dem HTTPS-Port entgegennimmt<br />
(Abbildung 6).<br />
OpenVPN-Verbindungen können auch<br />
über einen HTTP-Proxy laufen, sodass<br />
der VPN-Server später auch von Anlagennetzen<br />
oder Clients erreichbar ist,<br />
die sich hinter einer (weiteren) Firewall<br />
befinden. Stellen Sie nun noch den Authentication-Typ<br />
auf »PSK« und laden<br />
Sie das CA-Zertifikat sowie den VPN-<br />
Client vom Switchboard herunter. Die<br />
Konfiguration des OpenVPN-Servers<br />
auf dem VPN-Concentrator ist damit<br />
bereits abgeschlossen.<br />
Switchboard-Konfiguration<br />
Wechseln Sie zum Menüpunkt »Virtual<br />
Switchboard | Settings« und tragen<br />
Sie die offizielle IP-Adresse in das Feld<br />
»OpenVPN server public IP address«<br />
ein, unter der das VPN über das Internet<br />
erreichbar sein soll. Bleibt das<br />
Feld leer, übernimmt das Switchboard<br />
automatisch die IP-Adresse vom WAN-<br />
Interface. Als nächstes benötigen Sie<br />
ein weiteres virtuelles Subnetz und<br />
aktivieren deshalb »Enable automated<br />
virtual subnet assignment« – in unserem<br />
Test-Szenario ist dies das IP-Netz<br />
172.16.0.0/10. Aus diesem Netz erhalten<br />
später die Endpoints – das sind<br />
die Systeme hinter den VPN-Gateways<br />
Abbildung 7: Das Herzstück des Endian-Switchboard bildet die Gateway- und Benutzerverwaltung.<br />
Hier werden die VPN-Gegenstellen sowie die dahinter betriebenen Endpunkte definiert und festgelegt,<br />
über welche Protokolle diese angesprochen werden dürfen.<br />
in den Außenstellen – typischerweise<br />
also die Industriesteuerung oder der<br />
Steuerungsrechner – ihre virtuellen<br />
Adressen. Speichern Sie den Dialog mit<br />
dem »Save«-Button, bevor Sie in den<br />
nächsten Konfigurationsbereich »Actions«<br />
wechseln.<br />
In Aktion<br />
Unter Actions versteht das Endian-<br />
Switchboard die Protokolle, mit denen<br />
der Fernwarter später auf die jeweiligen<br />
Endpoints zugreifen kann. Typischerweise<br />
kommen hier HTTP, RDP, VNC,<br />
SSH oder Telnet zum Einsatz. Prinzipiell<br />
können hier aber auch andere Protokolle<br />
definiert werden, solange sie sich<br />
durch einen VPN-Tunnel transportieren<br />
lassen. Endian-Switchboard unterscheidet<br />
bei den Actions nur zwei generelle<br />
Typen: URLs und Programme. Mit<br />
einer Action vom Typ URL lassen sich<br />
Webadressen entweder auf dem Endpoint<br />
selbst sowie dem internen oder<br />
externen Interface des VPN-Gateways<br />
in der Außenstelle aufrufen. Dazu ist im<br />
Feld »Action URL« lediglich der entsprechende<br />
Platzhalter anzugeben:<br />
%DEVICE_IP%<br />
%SERVER_EXTERNAL%<br />
%SERVER_INTERNAL%<br />
Actions vom Typ »Programm« dienen<br />
hingegen dazu, auf dem Rechner des<br />
Fernwarters installierte Applikationen<br />
direkt aus dem Client zu starten und<br />
der Applikation gleich die korrekten Parameter<br />
(IP-Adresse) zu übergeben. Um<br />
beispielsweise den TightVNC-Viewer<br />
mit der IP-Adresse eines Endpoints<br />
aufzurufen, geben Sie folgenden Kommandopfad<br />
und Kommandoargumente<br />
an:<br />
Command path: %PROGRAM_PATH%\TightVNCU<br />
\tvnviewer.exe<br />
Command args: ‐host=%DEVICE_IP% ‐port=U<br />
5900<br />
Über die »Action Profiles« können die<br />
auf diese Weise definierten Actions in<br />
Gruppen zusammengefasst werden. So<br />
lassen sich diese später komfortabel<br />
einzelnen Benutzern oder auch kompletten<br />
Benutzergruppen zuweisen<br />
(Abbildung 7).<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
74<br />
Security<br />
Endian-Switchboard<br />
Abbildung 8: Über die Benutzerprofile können den Benutzern Rollen<br />
zugeordnet werden. Diese Rollen entscheiden beim späteren Login<br />
mit dem Client darüber, welche Berechtigung der Benutzer auf bestimmten<br />
Gateways und Endpoints erhält.<br />
Unter »Benutzer« legen Sie die Credentials<br />
für die Fernwartungsbenutzer an.<br />
Die hier definierten Zugangsdaten müssen<br />
also später für den Verbindungsaufbau<br />
im Software-VPN-Client eingetragen<br />
werden. Abhängig von ihrer Berechtigung<br />
können die Benutzer dann<br />
direkt über die Client-Verbindung mit<br />
den für sie freigegebenen Protokollen<br />
(Actions) auf die Fernwartungsobjekte<br />
(Gateways beziehungsweise Endpoints)<br />
zugreifen.<br />
Benutzerrollen<br />
Folgende Benutzerberechtigungen stehen<br />
zur Verfügung:<br />
n »Superuser«: Vollzugriff.<br />
n »Can create groups«: Der Benutzer<br />
darf Benutzergruppen erstellen, ändern<br />
und löschen.<br />
n »Can manage Actions«: Der Benutzer<br />
darf weitere Actions & Zugriffsprotokolle<br />
erstellen, ändern und löschen.<br />
n »Can use API«: Der Benutzer darf die<br />
API verwenden.<br />
n »Push route to GREEN / BLUE /<br />
ORANGE zone«: Legt die Netze fest,<br />
in die Routen übertragen werden.<br />
Nachdem die Benutzer im System<br />
angelegt wurden, lassen sie sich in<br />
Gruppen organisieren<br />
(Abbildung 8). Dabei<br />
unterscheidet das<br />
Switchboard zwischen<br />
Berechtigungen für die<br />
Gruppe selbst (Administrator<br />
oder Member)<br />
und solchen für den<br />
Zugriff auf Gateways<br />
und auch Gateway-<br />
Gruppen (Regular User<br />
oder Manager). So<br />
können die Berechtigungen<br />
der Benutzer<br />
noch feiner abgestuft<br />
gesetzt werden: Beispielsweise<br />
darf ein<br />
Gruppen-Administrator<br />
zwar weitere<br />
Benutzer anlegen, aber<br />
eben keine Zuweisung<br />
von Benutzern zu Gateways<br />
vornehmen.<br />
Gateways,<br />
Groups & Connections<br />
Zu guter Letzt müssen Sie jetzt noch<br />
die Gateways sowie die Endpoints im<br />
Switchboard anlegen. Zur Erinnerung:<br />
Unter einem Gateway versteht das<br />
Switchboard ein (Open)VPN-Device,<br />
das in einer Außenstelle für den Zugang<br />
zu den Endpoints sorgt. Die Zugangsdaten,<br />
die Sie hier für ein Gateway<br />
definiert haben, müssen also später<br />
zusammen mit dem CA-Zertifikat auf<br />
dem VPN-Router in der Außenstelle als<br />
Einwahl-Credentials hinterlegt werden.<br />
Auch die Gateways können wieder zu<br />
Gruppen zusammengefasst werden, die<br />
sich dann Benutzern beziehungsweise<br />
Benutzergruppen zuordnen lassen.<br />
Diese Einstellung nimmt man entsprechend<br />
unter »Member of gateway<br />
groups« beziehungsweise »User permissions<br />
on this gateway« vor.<br />
Im Menü »Endpoints« werden nun<br />
noch die eigentlichen Fernwartungsobjekte<br />
definiert, im Normalfall also<br />
die Industriesteuerung oder der zugehörige<br />
Steuerungsrechner. Wählen Sie<br />
zunächst die gewünschte Größe für das<br />
virtuelle Endpoint-Netzwerk (maximale<br />
Anzahl Wartungsobjekte) und klicken<br />
Sie auf »Add Row«, um ein neues Wartungsobjekt<br />
oder Endpoint anzulegen.<br />
Jedem Endpoint ordnen Sie dann die<br />
IP-Adresse zu, die das Gerät im jeweiligen<br />
Netzwerk erhält. Unter »Action Profiles«<br />
wählen Sie die Protokolle aus der<br />
Liste aus, über die das Device später<br />
vom Fernwarter erreicht werden kann.<br />
Jeder Endpoint lässt sich zudem auch<br />
einzeln aktivieren beziehungsweise<br />
deaktivieren.<br />
Wenn Sie alle Endpunkte hinter ihren<br />
Gateways angelegt haben, werden sie<br />
unter dem Menüpunkt »Connections«<br />
im Switchboard-Menü übersichtlich<br />
angezeigt. Dazu klicken Sie einfach auf<br />
den kleinen grünen Pfeil vor dem jeweiligen<br />
Gateway, um die Liste zu öffnen.<br />
Hier ist nun auch ersichtlich, unter welcher<br />
virtuellen IP-Adresse der Endpoint<br />
über das VPN für den Fernwarter zu<br />
erreichen ist (virtuelle IP aus dem Pool<br />
für die Endpoints) und welcher Benutzer<br />
die Verbindung gegebenfalls aktuell<br />
bereits verwendet.<br />
Außenstellen anbinden mit<br />
OpenVPN<br />
Für die Anbindung von Außenstellen –<br />
in Switchboard-Notation »Gateways«<br />
genannt – ist lediglich ein OpenVPNfähiges<br />
Endgerät erforderlich, das den<br />
TAP- und PSK-Modus unterstützt. Die<br />
meisten Industrie-Router und viele<br />
Open-Source-Firewallsysteme erfüllen<br />
diese Voraussetzungen. So auch die<br />
Endian-Firewall, einschließlich der<br />
kostenfreien Community-Edition [17].<br />
Die kommerziellen Endian-Firewall-<br />
Appliances können über das Switchboard<br />
auch automatisch provisioniert<br />
und dann per USB-Stick am Einsatzort<br />
konfiguriert werden. Für unseren Test<br />
kamen zwei Endian-Systeme zum<br />
Einsatz, die zur besseren Nachvollziehbarkeit<br />
für andere Geräte im Folgenden<br />
manuell konfiguriert werden.<br />
Nach der Inbetriebnahme der Firewall<br />
an einem DSL-Anschluss mit dynamischer<br />
IP-Adresse und der Einbindung<br />
ins lokale Netz (Default-IP-Adresse<br />
192.168.0.15), ist lediglich noch die<br />
VPN-Verbindung zu konfigurieren. Dazu<br />
wechseln Sie nach »VPN | OpenVPN<br />
Client (Gw2Gw)« und tragen unter »Verbinden<br />
mit« die öffentliche IP-Adresse<br />
des Endian-Switchboards und – Achtung,<br />
Falle! – nach einem Doppelpunkt<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Security<br />
Endian-Switchboard<br />
75<br />
zusätzlich den Port 443 ein. Laden Sie<br />
das CA-Zertifikat vom Switchboard auf<br />
die Firewall hoch und geben Sie jenen<br />
Benutzernamen und das Passwort an,<br />
die Sie dem Gateway im Switchboard<br />
zugeordnet haben. Nun müssen Sie<br />
unter »Erweiterte Tunnelkonfiguration«<br />
noch den Gerätetyp »TAP« und als<br />
Protokoll »TCP« auswählen. Nachdem<br />
Sie diese Einstellungen gespeichert haben,<br />
baut die Firewall den VPN-Tunnel<br />
selbstständig zum Switchboard auf.<br />
Die VPN-Verbindung taucht auf dem<br />
Switchboard dann unter »VPN | Open-<br />
VPN Server | Connection status and<br />
control« mit ihrer realen (öffentlichen)<br />
und der IP-Adresse aus dem VPN-Pool<br />
auf (Abbildung 9).<br />
Endian-4i-Connect-Client<br />
Nachdem die Außenstelle(n) und damit<br />
die dahinterliegenden Geräte nun per<br />
VPN an das Switchboard angebunden<br />
sind, können sich jetzt die Fernwarter<br />
über den Endian-4i-Connect-Client<br />
mit dem Switchboard verbinden. Für<br />
die Verbindungsaufnahme tragen Sie<br />
die öffentliche IP des Switchboard im<br />
Client ein, Benutzername und Passwort<br />
haben Sie zuvor auf dem Switchboard<br />
im Bereich »Virtual Switchboard |<br />
Users« definiert. Sofern Sie keinen<br />
HTTP-Proxy einsetzen, über den die<br />
OpenVPN-Verbindung transportiert<br />
werden soll, ist am Client nichts weiter<br />
Abbildung 9: VPN mal einfach: Geräte, die einen OpenVPN-Client mit TAP- und PSK-Unterstützung<br />
mitbringen, lassen sich mit wenigen Mausklicks an das Endian-Switchboard anbinden.<br />
einzustellen. Der 4i-Connect-Client<br />
stellt eine Kombination aus VPN-Client<br />
und Browser dar, der – in Abhängigkeit<br />
von der Berechtigung des jeweiligen<br />
Benutzers – die Einstellungen aus<br />
dem Switchboard-Menü eins zu eins<br />
in den Client überträgt (Abbildung 10).<br />
Dort können diese dann auch editiert<br />
werden. Auf dem Karteireiter »Verbindungen«<br />
werden nach dem Verbindungsaufbau<br />
die per VPN verbundenen<br />
Außenstellen sowie die dahinterliegenden<br />
Geräte (Endpoints) angezeigt. Das<br />
Wartungspersonal kann sich nun per<br />
Klick auf das »Connect«-Icon mit den<br />
Gateways verbinden und erhält damit<br />
auch Zugriff auf die Endpoints. Dazu<br />
kommen die im Switchboard als »Action«<br />
definierten Protokolle oder URLs<br />
zum Einsatz.
76<br />
Security<br />
Endian-Switchboard<br />
Abbildung 10: Der Fernwarter verbindet sich über den Endian-4i-Connect-Client mit dem Switchboard und wählt aus der Liste den Endpoint aus,<br />
mit dem er sich verbinden möchte, zum Beispiel per Remote-Desktop-Protokoll auf einen Windows-Steuerungsrechner.<br />
n Info<br />
n Autor<br />
Die Preise für die Erweiterungssoftware,<br />
die aus einer Endian-Firewall ein<br />
Endian-Switchboard machen, standen<br />
zum Redaktionsschluss noch nicht fest.<br />
Das Lizenzmodell für die Switchboard-<br />
Komponente sieht eine Lizenzierung<br />
auf Basis der aktivierten VPN-Tunnel<br />
vor. Darunter fallen sowohl die Tunnel,<br />
die von den Gateways an den<br />
Außen standorten zum Switchboard<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30402<br />
Thomas Zeller ist IT-Consultant<br />
und beschäftigt sich seit über<br />
15 Jahren mit IT-Sicherheit<br />
und Open Source. Er ist Autor/<br />
Co-Autor der Bücher „OpenVPN<br />
kompakt“ und „Mindmapping mit<br />
Freemind“. Im richtigen Leben ist<br />
er IT-Unternehmer und Geschäftsführer<br />
eines mittelständischen IT-<br />
Systemhauses und verantwortet<br />
dort auch den Geschäftsbereich<br />
IT-Sicherheit.<br />
aufgebaut als auch jene, die vom Fernwartungspersonal<br />
mit dem Software-<br />
Client genutzt werden. Hinzu kommen<br />
die Anschaffungskosten für die Hardware-<br />
oder Software-Appliance und für<br />
Software-Wartung und Support. Der<br />
Einstiegspreis für die Endian-Appliances<br />
liegt bei 775 Euro (Endian Mini)<br />
beziehungsweise 990 Euro (Endian 4i<br />
Edge 300) plus Maintenance.<br />
Fazit<br />
Das Endian-Switchboard ist ein<br />
VPN-Concentrator mit erweiterten<br />
n Sonderfunktionen per API<br />
Eine äußerst interessante Ergänzung des<br />
Endian-VPN-Switchboards stellt die mitgelieferte<br />
Programmierschnittstelle (API)<br />
dar. Durch den Einsatz der API lässt sich<br />
die Funktionalität des Switchboards auch<br />
ohne den Endian-4i-Connect-Client, zum<br />
Beispiel in eigenen Applikationen, nutzen.<br />
Das macht im Fernwartungsumfeld<br />
durchaus Sinn, denn hier kommt häufig<br />
Spezialsoftware für die Kommunikation<br />
mit den Steuerungsanlagen zum Einsatz.<br />
Die API verwendet HTTPS für die Kommunikation.<br />
Dabei werden Requests an das Switchboard<br />
entweder als HTTPS-GET oder<br />
Funktionen. Das damit realisierbare<br />
VPN-Konzept stellt überall dort einen<br />
interessanten Lösungsansatz dar,<br />
wo Standorte mit überlappenden IP-<br />
Adressbereichen vernetzt und Benutzer<br />
mit verschiedenen Rollen über ein<br />
restriktives Zugriffskonzept eingebunden<br />
werden sollen. Sämtliche VPN-<br />
Verbindungen werden am Switchboard<br />
an zentraler Stelle zusammengeführt,<br />
sodass die Firewalls an den per VPN<br />
angebundenen Standorten nicht für<br />
eingehende Verbindungen geöffnet<br />
werden müssen. (ofr) n<br />
HTTPS-POST-Wert gesendet, die Rückmeldung<br />
des Switchboard auf gültige Requests<br />
erfolgt dann JSON-encoded. JSON<br />
(Javascript Object Notation) ist ein kompaktes<br />
Datenformat für den Austausch<br />
von Daten zwischen Anwendungen in<br />
Textform.<br />
Um die API zu aktivieren, muss man auf<br />
der Settings-Seite des Switchboard zunächst<br />
einen API-Key erzeugen. Dieser<br />
Key wird dann zusammen mit dem Benutzernamen<br />
und Passwort eines berechtigten<br />
Benutzers (benötigt Superuser- und<br />
API-Rechte) an das Switchboard übertragen,<br />
um dort Befehle auszuführen.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
78<br />
Security<br />
Malware-Analyse<br />
Malware analysieren und bekämpfen<br />
Code-<br />
Kontrolle<br />
Unter Linux gibt es ausgefeilte Werkzeuge,<br />
die die Einfallstore für Malware bloßstellen.<br />
Andrew Henderson<br />
Anan Kaewkhammul , 123RFa<br />
Die potenzielle Gefahr von Malware<br />
bleibt eine Sorge, die viele Computer-<br />
Benutzer umtreibt. Der Desktop-PC,<br />
das Smartphone bis hin zu den netzwerkfähigen<br />
Kleingeräten rund ums<br />
Haus und Büro sind potenziell anfällig<br />
für tausende Rootkits, Spyware und<br />
Trojaner. So schnell Antivirenhersteller<br />
neue Methoden entwickeln, um Malware<br />
zu entdecken und abzuwehren, so<br />
schnell entwickeln Virenhersteller neue<br />
Methoden, um diese Absicherungen zu<br />
umgehen.<br />
Linux-Benutzer profitieren seit Langem<br />
von der minimalen Aufmerksamkeit,<br />
die Virenentwicklern ihrem Betriebssystem<br />
schenken. Zwar existiert Malware<br />
auch für ihre Plattform, aber die<br />
meisten Linux-Systeme bleiben ihr<br />
verschlossen, denn eine der großen<br />
Stärken quelloffener Software besteht<br />
in der Geschwindigkeit, mit der sicherheitsrelevante<br />
Fehler bemerkt, diagnostiziert<br />
und repariert werden. Diese<br />
gute Reaktionsfähigkeit begrenzt das<br />
Zeitfenster, in dem bösartige Software<br />
Anfälligkeiten ausnutzen kann. Nur<br />
wenn es einer Malware gelingt, einen<br />
Benutzer mit Superuser-Rechten zur<br />
freiwilligen Installation zu überreden<br />
oder ein System nicht korrekt konfiguriert<br />
oder aktualisiert ist, kann sie einen<br />
Linux-Rechner infizieren.<br />
Windows-Benutzer haben weniger<br />
Glück. Auf über einer Milliarde PCs<br />
weltweit laufen verschiedene Windows-<br />
Varianten und seine sehr große Verbreitung<br />
macht das Betriebssystem zu<br />
einem verlockenden Ziel für Virenentwickler.<br />
Die Größe und Komplexität der<br />
Windows-Codebasis sowie Verzögerungen<br />
bei der Fehlerbehebung führen zu<br />
einladenden Einfallstoren für Malware-<br />
Programmierer.<br />
Doch Windows stehen zwei ungewohnte<br />
Verbündete im Kampf gegen<br />
Malware zur Seite: Linux und Open-<br />
Source-Software. Zahlreiche Linux-<br />
Tools kommen zum Einsatz, um Analysen<br />
von Windows-Malware zu erstellen<br />
und Software-Qualität zu erhöhen. Entwickler<br />
verwenden diese Werkzeuge,<br />
um besseren und sichereren Code zu<br />
schreiben, während sie Forschern zu<br />
neuen Erkenntnissen über die Vorgehensweise<br />
von Malware verhelfen.<br />
Diese Software-Analysewerkzeuge fallen<br />
in zwei Kategorien: statische und<br />
dynamische. Statische Tools untersuchen<br />
den Binär- oder den Sourcecode<br />
eines Programms, um herauszufinden,<br />
wie es strukturiert ist und wie es auf bestimmte<br />
Eingabewerte reagiert. Dynamische<br />
Analysewerkzeuge beobachten<br />
eine Software hingegen während der<br />
Ausführung, um ihr Laufzeitverhalten<br />
direkt unter die Lupe zu nehmen. Beide<br />
Methoden haben ihre Stärken und<br />
Schwächen, sind aber in jedem Fall<br />
sehr nützlich, um unbekannte Software<br />
zu untersuchen. Dieser Artikel führt die<br />
für die Analyse verwendeten Konzepte<br />
ein und zeigt einige Werkzeuge, mit<br />
denen Sicherheitsforscher Malware<br />
analysieren.<br />
Statische Analyse<br />
Statische Softwareanalyse gibt es<br />
schon sehr lange und viele ihrer Methoden<br />
gehören zum Standardrepertoire<br />
von Entwicklern: Denn bereits<br />
das Kompilieren von Quellcode stellt<br />
eine Form der statischen Analyse dar.<br />
Jeder Compiler setzt während des<br />
Übersetzens auch Analysetechniken<br />
ein, um doppelt verwendete Variablen-,<br />
Klassen- und Funktionsnamen, falsch<br />
typisierte Zuordnungen, uninitialisierte<br />
Variablen und unerreichbare Anweisungen<br />
zu entdecken.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Security<br />
Malware-Analyse<br />
79<br />
Das CLang-Frontend [1] für die LLVM-<br />
Compiler-Infrastruktur verfügt über<br />
einen leistungsfähigen statischen<br />
Analyser, der sehr detaillierte Compiler-<br />
Fehler und ‐Warnungen ausgibt. Analyse-Plugins<br />
[2] erweitern inzwischen<br />
die ohnehin hilfreiche Standardanalysekomponente<br />
von GCC. Unterstützung<br />
für sie liefert GCC ab Version 4.5.<br />
Jedes Programm enthält Gruppen<br />
von Anweisungen, die es sequenziell<br />
ausführt, wenn keine Exceptions oder<br />
Sprünge auftreten. Bei der Ausführung<br />
arbeitet das Programm diese Anweisungen<br />
als logische Blöcke ab, in der<br />
Compiler-Terminologie heißen sie<br />
»Basic Blocks«. Ist die Ausführung eines<br />
Basic Blocks abgeschlossen, geht die<br />
Kontrolle an einen anderen über und<br />
der Programmablauf geht dort weiter.<br />
Das Ende eines Basic Blocks liegt typischerweise<br />
an einer Sprunganweisung<br />
oder an einer bedingten Verzweigung.<br />
Die statische Analyse versucht all<br />
diese Basic Blocks zu entdecken und<br />
zu bestimmen, an welchen Stellen die<br />
Kontrolle von einem zum nächsten<br />
übergeht. Diese Information wird gesammelt<br />
und als Control Flow Graph<br />
(CFG) repräsentiert, der den Gesamtablauf<br />
eines Programms beschreibt.<br />
Listing 1 zeigt eine einfache C-Funktion<br />
und Abbildung 1 den CFG, der ihre<br />
Basic Blocks und ihren Kontrollfluss<br />
beschreibt.<br />
Die statische Analyse dieser Funktion<br />
teilt den Code in die drei Basic Blocks<br />
A, B und C auf. Der Graph zeigt, dass<br />
der Kontrollfluss A und C garantiert<br />
durchläuft, weil diese beiden Basic<br />
Blocks Ein- und Ausgang der Funktion<br />
bilden. B muss gar nicht, kann aber<br />
auch mehrere Male ausgeführt werden.<br />
Die Visualisierung des Kontrollflusses<br />
in dieser Beispielfunktion ist einfach,<br />
doch bei komplexeren Funktionen<br />
ergeben die CFGs schnell ein weniger<br />
überschaubares Bild.<br />
Alle Daten, die in eine Funktion hineinfließen,<br />
entstammen irgendeiner<br />
bestimmten Quelle, beispielsweise<br />
einer Datei, Netzwerkkommunikation<br />
oder Eingabegeräten wie der Tastatur<br />
oder Maus. Daten, die aus einer nicht<br />
vertrauenswürdigen Quelle stammen,<br />
beispielsweise einer Netzwerkverbin-<br />
dung, gelten ebenfalls als nicht vertrauenswürdig.<br />
Manche Basic Blocks enthalten heikle<br />
Anweisungen, etwa Speicherzuweisungen,<br />
Dateizugriffe oder Socket-<br />
Kommunikation. Wenn Daten aus einer<br />
unsicheren Quelle mit solchen Aufrufen<br />
interagieren, besteht die Möglichkeit<br />
eines kompromittierbaren Basic Block.<br />
Die CFG-Visualierung hilft dabei, Blöcke<br />
aufzuspüren, die nicht vertrauenswürdige<br />
Daten generieren, Systemaufrufe<br />
tätigen und herauszufinden, wie diese<br />
miteinander verbunden sind. Darin besteht<br />
das Hauptziel statischer Analyse:<br />
Wo und wie können nicht vertrauenswürdige<br />
Daten möglicherweise störanfällige<br />
Ereignisse auslösen?<br />
Ist der Quellcode verfügbar, ist die statische<br />
Analyse relativ unkompliziert,<br />
denn er liefert eine vollständige und<br />
eindeutige Definition der Datentypen,<br />
Funktionsaufrufe und Kontrollflussstrukturen.<br />
Allerdings bleibt der Quellcode<br />
von Malware oft verborgen. Um<br />
ihr Verhalten zu analysieren, muss<br />
also der Binär-Code genügen. Zwar ist<br />
die schrittweise Analyse der binären<br />
Anweisungen möglich, wie zahlreiche<br />
Malware-Studien bewiesen haben,<br />
doch die Analyse auf der Ebene einer<br />
Quellcode-Repräsentation des dekompilierten<br />
Binär-Codes bringt häufig<br />
mehr Erkenntnisse.<br />
Dazwischen steht jedoch die schwierige<br />
Aufgabe, die Quellcode-Repräsentation<br />
aus einer Binärdatei zu generieren. Ein<br />
Decompiler muss erkennen, in welchen<br />
Abschnitten Code steht, wo die Daten<br />
lagern sowie komplexe Datentypen<br />
rekonstruieren. Kein Decompiler generiert<br />
Quellcode in der Qualität des originären<br />
Codes, aus dem die Binärdatei<br />
kompiliert wurde. Manuelles Eingreifen<br />
ist häufig unverzichtbar, um die Rückübersetzung<br />
vollständig und eindeutig<br />
abzuschließen. Für Linux existieren<br />
mehrere Open-Source-Decompiler, unter<br />
denen Boomerang [3] die wohl besten<br />
Ergebnisse liefert. Das Programm<br />
befindet sich unter aktiver Entwicklung<br />
und generiert vergleichsweise guten C-<br />
Code aus ausführbaren Binärdateien.<br />
Bytecode-basierte Java-Klassen sind<br />
deutlich einfacher zu dekompilieren<br />
als native Binaries, weil ihre Bytecode-<br />
i ≤ num<br />
Anweisungen umfangreiche Kontextinformationen<br />
enthalten, zum Beispiel<br />
zu Vererbung und Datentypen. Zum<br />
Dekompilieren von Java-Klassen verwenden<br />
viele Sicherheitsforscher das<br />
Open-Source-Werkzeugset Soot [4]; es<br />
gibt daneben aber zahlreiche weitere<br />
Linux-Tools.<br />
Dare (Dalvik Retargetting, [5]) verwandelt<br />
die »dex«-Dateien einer Android-<br />
n Listing 1: Eine einfache C-Funktion<br />
A<br />
B<br />
C<br />
01 int simple(int num)<br />
02 {<br />
03 /* Anfang Block A */<br />
04 int i;<br />
05 printf("Block A\n");<br />
06 /* Ende Block A */<br />
07 for (i = 1; i num<br />
Ausgangsfunktion<br />
i > num<br />
Abbildung 1: Der Control Flow Graph (CFG) für die C-<br />
Funktion »simple« in Listing 1.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
80<br />
Security<br />
Malware-Analyse<br />
Dalvik-VM in Java-».class«-Dateien. Für<br />
Java-Bytecode ausgelegte Tools verarbeiten<br />
und dekompilieren diese weiter.<br />
Dynamische Analyse<br />
Auch wenn statische Analyse viele<br />
Strukturen offenlegt, löst sie selten<br />
Probleme, die mit der Parallelisierung<br />
mehrerer Threads zusammenhängen.<br />
Könnte statische Analyse in diesem<br />
Bereich helfen, dann gäbe es bereits<br />
Compiler, die Race Conditions und andere<br />
typische Probleme in der parallelen<br />
Programmierung erkennen würden.<br />
Des Weiteren liegt Malware gewöhnlich<br />
in Form komprimierter oder verschlüsselter<br />
Binaries vor, was eine weitere<br />
Hürde für die Dekompilierung und statische<br />
Analyse einschiebt.<br />
Derlei Beschränkungen machen die Beobachtung<br />
des Laufzeitverhaltens, die<br />
dynamische Analyse, in manchen Fällen<br />
zur einzigen Möglichkeit, Malware<br />
zu analysieren. Die dynamische Analyse<br />
findet auf vielen verschiedenen Ebenen<br />
statt, von der Beobachtung gelegentlich<br />
ausgelöster Events eines einzelnen<br />
Prozesses bis hin zur schrittweisen Ausführung<br />
einzelner Anweisungen unter<br />
Protokollierung sämtlicher auf dem<br />
System laufender Prozesse.<br />
Das gibt der dynamischen Analyse ein<br />
großes Potenzial, aber auch Nachteile.<br />
So kann sie ausschließlich die Teile<br />
eines Programms beobachten, die tatsächlich<br />
ausgeführt werden, während<br />
das bösartige Verhalten während der<br />
Analyse möglicherweise verborgen<br />
bleibt und das Ergebnis nutzlos macht.<br />
Die mit der Analyse einhergehenden<br />
Monitoring-Instrumente verbrauchen<br />
darüber hinaus erhebliche Rechnerressourcen<br />
und verschlechtern damit<br />
die Performance von Anwendungen<br />
und dem System drastisch. 2005 führte<br />
eine Gruppe von Forschern eine neue<br />
Abbildung 2: Die Zustände des Datenspeichers und des damit verknüpften Shadow Memory vor<br />
und nach einer Additionsoperation.<br />
Methode der dynamischen Analyse ein,<br />
die sogenannte »Dynamic Taint Analysis«,<br />
die die Spur verfolgt, die Daten<br />
aus nicht vertrauenswürdigen Quellen<br />
hinterlassen. Das Verfahren zeigt einen<br />
Ausweg aus dem aussichtslosen Unterfangen<br />
auf, jede neue Malware beim<br />
ersten Erscheinen in freier Wildbahn zu<br />
analysieren, um speziell darauf ausgerichtete<br />
Gegen-Software zu entwickeln;<br />
immerhin kann sich deren Anzahl auf<br />
mehrere Tausend an einem Tag belaufen.<br />
Stattdessen schützt die Dynamic-<br />
Taint-Analysis-Methode einen Rechner,<br />
indem sie unsichere Daten auf ihrem<br />
Weg durch das System verfolgt. Wird<br />
die Ausführung unterbunden, bevor<br />
suspekte Daten zu einer gefährlichen<br />
Aktion führen, wird Malware neutralisiert,<br />
ohne dass deren Implementation<br />
und Design im Detail bekannt sind.<br />
Dynamic Taint Analysis stuft eine nicht<br />
vertrauenswürdige Datenquelle als<br />
verunreinigt (»tainted«) ein. Sie markiert<br />
alle Daten, die eine solche Quelle<br />
produziert ebenfalls als verunreinigt.<br />
Diese Markierungen (»Taint Tags«) halten<br />
fest, aus welcher Quelle die Daten<br />
stammen. Stellen, an denen davon<br />
Gefahr ausgehen könnte, heißen analog<br />
dazu »Taint Sinks«. Jede Bewegung<br />
der verdächtigen Daten wird verfolgt,<br />
also auch ihre Kopien und Transformationen.<br />
Das System protokolliert auch,<br />
wenn ein solches Datenobjekt und<br />
damit auch die entsprechende Markierung<br />
zerstört wird. Erreicht ein markierter<br />
Datensatz ein Taint Sink, stoppt das<br />
System die Ausführung und die Analyse<br />
beginnt.<br />
Allerdings besteht eine gewisse Gefahr<br />
darin, die Verunreinigungsmarkierungen<br />
im selben Speicherbereich<br />
abzulegen wie die gewöhnlichen<br />
Anwendungsdaten, weil andere Anwendungen<br />
sie dort überschreiben<br />
könnten. Ebenso problematisch ist es,<br />
die Markierungen gemeinsam mit den<br />
markierten Daten selbst zu speichern:<br />
Falls die Daten in ein Prozessorregister<br />
verschoben werden, fehlt dort ein Platz<br />
für die Zusatzinformation.<br />
Um diese Probleme zu umgehen, werden<br />
die Verschmutzungsmarkierungen<br />
in ein sogenanntes Shadow Memory<br />
ausgelagert. Mit dieser Technik hält<br />
die Analyse-Software an jedem Ort,<br />
der potenziell nicht vertrauenswürdige<br />
Daten verwaltet, einen Schattenspeicher<br />
bereit, in denen die zugehörigen<br />
Markierungen lagern. Das betrifft in der<br />
Regel Arbeitsspeicher, CPU-Register<br />
sowie Ein- und Ausgabegerätpuffer,<br />
aber kann auch beispielsweise für die<br />
Festplatte gelten.<br />
Eine einzelne Markierung steht für<br />
die Art der Verunreinigung, deren ein<br />
einzelner Datensatz verdächtig ist. Die<br />
Beschaffenheit der kleinsten Dateneinheit<br />
hängt vom Bedarf der Analyse<br />
ab. In vielen Fällen genügt es, eine<br />
Markierung pro Byte Daten bereitzuhalten.<br />
Eine sehr genaue Analyse kann<br />
es hingegen erfordern, jedes Bit zu<br />
markieren.<br />
Auch die Anzahl der Markierungstypen<br />
variiert: Für einige Analysen genügt<br />
die Information, dass es sich um nicht<br />
vertrauenswürdige Daten handelt. In<br />
anderen Fällen ist eine Markierung von<br />
Nöten, die darüber hinaus die Datenquelle<br />
speichert. Im extremsten Fall<br />
käme also eine eigene Markierung für<br />
jedes einzelne Daten-Bit zum Einsatz,<br />
das ins System gelangt; das bläht allerdings<br />
das Shadow Memory auf.<br />
Abbildung 2 zeigt ein Beispiel dafür,<br />
wie Daten sich durch den Speicher bewegen.<br />
Ein Byte steht für einen Datensatz,<br />
wie auch das damit verbundene<br />
Taint Tag. Nun kommt eine Operation<br />
zur Ausführung, die den Inhalt der<br />
Speicheradressen 0x1000 und 0x1002<br />
addiert. Das Ergebnis landet abschließend<br />
wieder an der Adresse 0x1000. Die<br />
Daten an 0x1002 sind jedoch als nicht<br />
vertrauenswürdig markiert. Das hat zur<br />
Folge, dass nach vollzogener Addition<br />
auch 0x1000 markiert wird, weil die<br />
verdächtigen Daten aus 0x1002 darauf<br />
Einfluss genommen haben. Im weiteren<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Security<br />
Malware-Analyse<br />
81<br />
Verlauf pflanzt sich diese Markierung<br />
nun bei allen Operationen fort, die die<br />
Daten aus 0x1000 verwenden.<br />
Der Weg der verunreinigten Daten von<br />
der Quelle bis zum Taint Sink gibt viele<br />
Erkenntnisse darüber preis, wie Malware<br />
ein System kompromittiert. So<br />
lässt sich sowohl die Quelle bösartiger<br />
Daten bestimmen, als auch jede Kopie<br />
der Daten verfolgen. In der Praxis hat<br />
sich diese Art der Analyse zu einem<br />
nützlichen Sicherheitswerkzeug entwickelt,<br />
das inzwischen zum Repertoire<br />
von Perl, PHP, Lua, Python und Ruby<br />
gehört. Sicherheitsbewusste Entwickler<br />
dieser Sprachen setzen die Technik ein,<br />
um ihre Software mit einem zusätzlichen<br />
Sicherheitscheck zu versehen, der<br />
auch bisher ungeahnten, zukünftigen<br />
Attacken standhält.<br />
Ein gutes Beispiel eines dynamischen<br />
Analyse-Tools auf Prozessebene ist<br />
Intels Pin [6]. Dabei handelt es sich um<br />
ein Framework für die binäre Vermessung<br />
von Prozessen auf x86-Plattformen.<br />
Es heftet sich an laufende Prozesse<br />
an, etwa wie der GDB-Debugger,<br />
und führt dann Prozessoranweisungen<br />
schrittweise aus.<br />
Pin ist erweiterbar und enthält zu diesem<br />
Zweck eine Reihe von Bibliotheken<br />
und Build-Skripts, die die Entwicklung<br />
von Pin-Plugins, sogenannter Pintools,<br />
in C/C++ unterstützen. Pintools stellen<br />
Callback-Funktionen bereit, die Pin<br />
dann zur Laufzeit eines Prozesses vor<br />
der Ausführung einzelner Anweisungen<br />
aufruft. Dieser Ansatz erlaubt die<br />
Entwicklung von Analysewerkzeugen<br />
für Einsatzzwecke wie das Protokollieren<br />
von Anweisungen, Profiling, die<br />
beschriebene Taint Analysis und zur<br />
Validierung von Argumenten.<br />
Bei der Entwicklung dynamischer<br />
Analysewerkzeuge auf Systemebene<br />
empfiehlt es sich, auf Hypervisoren wie<br />
Xen und VMware oder Emulatoren wie<br />
Qemu und Bochs zu setzen. Denn wenn<br />
Analysesoftware in derselben Umgebung<br />
wie eine Malware läuft, könnte<br />
diese das Analyseprogramm entdecken<br />
und es außer Funktion setzen oder sich<br />
verbergen. Nutzt man Virtualisierung,<br />
um die Analyse von der Malware zu<br />
isolieren, besteht diese Gefahr der Manipulation<br />
nicht. Des Weiteren bringt<br />
der Einsatz virtueller<br />
Maschinen den Vorteil<br />
mit sich, dass man<br />
den Zustand von CPU-<br />
Registern, Stapel- und<br />
Heap-Speichern sowie<br />
Peripheriegeräten<br />
jederzeit beobachten<br />
kann.<br />
Decaf<br />
Das Dynamic Executable<br />
Code Analysis<br />
Framework (Decaf) [7]<br />
stellt eine vollständige<br />
dynamische Analyseplattform<br />
bereit.<br />
Forscher und Hobby-<br />
Programmierer treiben<br />
Secondary<br />
Storage<br />
Shadow<br />
Buffer<br />
Shadow<br />
Buffer<br />
DECAF<br />
ihre Entwicklung aktiv voran. Sie setzt<br />
auf Qemu [8] und kann sich eines ausgiebigen<br />
Funktionsumfangs rühmen,<br />
darunter eine Plugin-API für die Entwicklung<br />
eigener Analysewerkzeuge.<br />
Der Overhead bei der Ausführung fällt<br />
bei Decaf vergleichsweise klein aus und<br />
Decaf funktioniert auch mit neueren<br />
Betriebssystemen wie Windows 8.<br />
Abbildung 3 illustriert die Decaf-<br />
Architektur: Das zu analysierende<br />
Gastsystem läuft stets in einer virtuellen<br />
Maschine. Sie verwendet<br />
einen emulierten Prozessor und eine<br />
Speicherverwaltungseinheit (MMU).<br />
Die emulierten Hardware-Geräte, beispielsweise<br />
Festplatte, Netzwerkkarte,<br />
Tastatur und Maus, präsentiert Decaf<br />
dem Gastbetriebssystem als physische<br />
Geräte. Das Gastsystem hat also keinen<br />
Anhaltspunkt anzunehmen, dass es in<br />
einer virtuellen Maschine läuft.<br />
Das Architekturdiagramm zeigt auch<br />
die Shadow-Speicher, in denen Decaf<br />
Markierungen speichert. Sie befinden<br />
sich außerhalb der virtuellen Maschine,<br />
um Manipulationen durch das Gastbetriebssystem<br />
zu verhindern. Die Speicherverwaltung<br />
des Gastsystems steht<br />
mit einem Shadow-RAM außerhalb der<br />
virtuellen Maschine in Verbindung. Dort<br />
landen Taint Tags für Daten, die sich im<br />
Arbeitsspeicher der virtuellen Maschine<br />
befinden. Manche Peripheriegeräte<br />
wie die Netzwerkkarte verfügen über<br />
Shadow Buffers, die interne Sende- und<br />
Empfangspuffer abbilden.<br />
Shadow<br />
RAM<br />
IDE Block<br />
Virtual Device<br />
NE2000<br />
Virtual Device<br />
Other Virtual<br />
Devices<br />
Shadow CPU<br />
Registers<br />
Gast-VM<br />
Gast-OS<br />
IDE Driver<br />
NIC Driver<br />
Other Device<br />
Drivers<br />
CPU<br />
Registers<br />
Abbildung 3: Die Gesamtarchitektur von Decaf.<br />
Sekundärspeicher wie eine Festplatte<br />
verfügt ebenfalls über einen eigenen<br />
Shadow Buffer, um die dort gespeicherten<br />
Daten zu markieren und zu<br />
verfolgen. Auch wenn Dateizugriffe<br />
bei einer Systemanalyse in manchen<br />
Fällen bedeutungslos sind, bleibt dieser<br />
Shadow Buffer wichtig, weil durch<br />
den Auslagerungsspeicher auch Daten<br />
aus dem Arbeitsspeicher dort landen<br />
können. Tritt dieser Fall ein, muss<br />
Decaf auch die Taint-Markierungen zu<br />
den betroffenen Daten in den Shadow<br />
Buffer jener Platte kopieren. Das gilt<br />
auch umgekehrt: wandern die Daten<br />
vom ausgelagerten Speicher zurück ins<br />
RAM, muss Decaf auch hier die Taint-<br />
Markierungen in das Shadow Memory<br />
zurückkopieren.<br />
Die Zukunft<br />
Stetig zunehmende Rechnergeschwindigkeiten<br />
und wachsende Ressourcen<br />
erlauben auch immer komplexere Software-Analysen.<br />
Die Verfügbarkeit freier<br />
Tools für diesen Zweck gibt Forschern<br />
und Entwicklern einen großen Vorteil<br />
im Kampf gegen Malware und bei der<br />
Entwicklung sicherer Software. (csc) n<br />
n Info<br />
RAM<br />
MMU<br />
CPU<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30861<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
82<br />
Security<br />
SSL<br />
Thomas LENNE, 123RF<br />
SSL-verschlüsselte Verbindungen<br />
Perfect! Forward Secrecy<br />
Durch der Enthüllungen über die weltweite Überwachung durch Geheimdienste gerät ein SSL/TLS-Feature in den<br />
Blickpunkt, das die Sicherheit SSL-verschlüsselter Verbindungen erhöht: Perfect Forward Secrecy. Markus Manzke<br />
Mit dem etwas unverbindlich klingenden<br />
Begriff der Folgenlosigkeit<br />
wird im Krypto-Jargon das englische<br />
Perfect Forward Secrecy (PFS) übersetzt.<br />
Gemeint ist damit, dass Angreifer<br />
aus einem aufgedeckten geheimen<br />
Langzeitschlüssel nicht auf damit ausgehandelte<br />
Sitzungsschlüssel eines<br />
Kommunikationskanals schließen und<br />
ihn so mithören können [1]. Die Folgen<br />
einer solchen Schwachstelle sind also<br />
eingrenzbar. Gerade bei der SSL-Verschlüsselung<br />
von HTTP-Verbindungen<br />
kann man diese Eigenschaft ausnutzen.<br />
Zu Beginn einer SSL-Session handeln<br />
die Kommunikationspartner Session-<br />
Keys aus, mit der dann die gesammte<br />
Session verschlüsselt wird. Bei den<br />
gängigen Methoden (RSA) wird der<br />
Private-Key des Servers benutzt, um<br />
den Session-Key zu generieren – mit<br />
dem Seiteneffekt, dass sich aufgezeichnete<br />
SSL-Verbindungen mit dem<br />
Private-Key des Servers im Nachhinein<br />
entschlüsseln lassen oder aber Man-inthe-Middle-Angriffe<br />
möglich sind. Das<br />
Problem liegt darin, dass der Private-<br />
Key des Servers sowohl für Authentifizierung<br />
und Verschlüsselung benutzt<br />
wird. Authentizität ist aber nur für den<br />
Moment der Kommunikationsaufnahme<br />
wichtig, während die Verschlüsselung<br />
für Jahre sicher sein sollte.<br />
Als Alternative dazu bietet sich der<br />
Diffie-Hellmann-Algorithmus an. Durch<br />
Einsatz dieses Verfahrens werden für<br />
jede SSL-Session Keys generiert, die<br />
sich nicht aus dem Private-Key des<br />
Servers herleiten lassen und somit eine<br />
spätere Entschlüsselung nur durch<br />
Brute-Force-Brechen des Session-Keys<br />
möglich ist. PFS ermöglicht, dass heutige<br />
SSL-verschlüsselte Kommunikation<br />
zukünftig sicher ist, auch wenn der<br />
Private-Key des Servers irgendwann<br />
kompromittiert werden sollte.<br />
SSL und PFS<br />
SSL unterstützt PFS über zwei Algorithmen:<br />
Diffie-Hellman (DHE) und Elliptic<br />
Curve Diffie-Hellmann (ECDHE). Eine<br />
genaue Beschreibung der beiden Methoden<br />
liefern die Artikel „SSL/TLS &<br />
Perfect Forward Secrecy“ von Vincent<br />
Bernat [2] und „Deploying Forward Secrecy“<br />
von Ivan Ristic [3].<br />
Ob die Algorithmen in der installierten<br />
OpenSSL-Version verfügbar sind, zeigt<br />
Listing 1 exemplarisch für ECDHE, unter<br />
[4] gibt es eine Übersicht unterstützter<br />
Methoden für einzelne Linux-Distributionen.<br />
ECDHE ist erst mit der OpenSSL-<br />
Version 1.x verfügbar, DHE auch in<br />
älteren Versionen.<br />
Werden die benötigten Algorithmen<br />
von der installierten OpenSSL-Version<br />
nicht unterstützt, muss man OpenSSL<br />
für die eigene Plattform kompilieren<br />
[5]. Nginx zum Beispiel bietet die<br />
Möglichkeit an, die OpenSSL-Quellen<br />
beim Kompilieren mit anzugeben und<br />
statisch einzubinden: »./configure ...<br />
‐‐with‐openssl=/pfad/zum/openssl_<br />
sourcecode« [6],[7].<br />
Der höhere Aufwand beim Generieren<br />
der Session-Keys geht mit Performance-Einbußen<br />
einher: DHE-Algorith<br />
men sind langsamer als ECDHE-Algorithmen,<br />
dafür steht ECDHE nicht<br />
überall zur Verfügung: in OpenSSL erst<br />
ab 1.x. In älteren Browsern und Clients<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Security<br />
SSL<br />
83<br />
kann die Unterstützung fehlen. Performance-Tests<br />
[2,8] belegen Einbrüche<br />
von 25 bis 50 Prozent bei DHE gegenüber<br />
ECDHE.<br />
Wenn man also SSL-verschlüsselte<br />
Webseiten betreibt, eine möglichst<br />
große Anzahl unterschiedlicher Betriebssysteme<br />
und Browser unterstützen<br />
und für alle Besucher PFS aktivieren<br />
will, wirkt sich dies auf die Performance<br />
der SSL-Verbindungen aus.<br />
Mit PFS kann jede SSL-fähige Kommunikation<br />
abgesichert werden, unter<br />
anderem für Webserver, Mailserver und<br />
Stunnel-Installationen. Webserver-Setups<br />
lassen sich via SSLLabs’ SSL Server<br />
Test [9] überprüfen, ein im Sommer<br />
neu hinzugefügter Test überprüft die<br />
PFS-Fähigkeit des Servers. Eine Anmerkung<br />
dazu: Wird serverseitig nur ECDHE<br />
angeboten, erscheinen in der Handshake-Auswertung<br />
zwar Browser, die<br />
PFS beherrschen, da ältere Clients aber<br />
nur DHE-Algorithmen kennen, wird der<br />
Zusatz „PFS“ in der Zusammenfassung<br />
nicht angezeigt. Unter Protocol Details<br />
erscheint der Zusatz: „Forward secrecy:<br />
With modern browsers“.<br />
Während für Web-Applikationen der<br />
Einsatz von PFS empfehlenswert ist,<br />
kann diese Maßnahme bei statischen<br />
Inhalten wie CSS, Javascript, Bildern<br />
und Icons unterbleiben. Dafür kann<br />
man performantere Algorithmen aus-<br />
n Listing 1: Algorithmen in OpenSSL<br />
Abbildung 1: Gut gemacht: Ein perfektes Ergebnis bei den Test der SSLLabs.<br />
wählen, wenn die Informationen nicht<br />
sonderlich schützenswert sind.<br />
PFS hat im Web noch keine weite Verbreitung<br />
gefunden, mit Stand Oktober<br />
2013 unterstützen gerade einmal 4,2<br />
Prozent der populärsten Webseiten<br />
neuere PFS-Algorithmen (ECDHS),<br />
während 54 Prozent der untersuchten<br />
Webserver PFS nicht anboten [10].<br />
Konfiguration<br />
Die Konfiguration von PFS ist für jeden<br />
Dienst verschieden und benötigt<br />
mindestens zwei Optionen: der Server<br />
muss die am meisten bevorzugte Cipher<br />
Suite auswählen können, einzelne<br />
01 $ openssl ciphers ‐v | grep ECDHE<br />
02 <br />
03 ECDHE‐RSA‐AES256‐GCM‐SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(256) Mac=AEAD<br />
04 ECDHE‐ECDSA‐AES256‐GCM‐SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(256)<br />
Mac=AEAD<br />
05 ECDHE‐RSA‐AES256‐SHA384 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA384<br />
06 ECDHE‐ECDSA‐AES256‐SHA384 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA384<br />
07 ECDHE‐RSA‐AES256‐SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(256) Mac=SHA1<br />
08 ECDHE‐ECDSA‐AES256‐SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(256) Mac=SHA1<br />
09 ECDHE‐RSA‐DES‐CBC3‐SHA SSLv3 Kx=ECDH Au=RSA Enc=3DES(168) Mac=SHA1<br />
10 ECDHE‐ECDSA‐DES‐CBC3‐SHA SSLv3 Kx=ECDH Au=ECDSA Enc=3DES(168) Mac=SHA1<br />
11 ECDHE‐RSA‐AES128‐GCM‐SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AESGCM(128) Mac=AEAD<br />
12 ECDHE‐ECDSA‐AES128‐GCM‐SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AESGCM(128)<br />
Mac=AEAD<br />
13 ECDHE‐RSA‐AES128‐SHA256 TLSv1.2 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA256<br />
14 ECDHE‐ECDSA‐AES128‐SHA256 TLSv1.2 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA256<br />
15 ECDHE‐RSA‐AES128‐SHA SSLv3 Kx=ECDH Au=RSA Enc=AES(128) Mac=SHA1<br />
16 ECDHE‐ECDSA‐AES128‐SHA SSLv3 Kx=ECDH Au=ECDSA Enc=AES(128) Mac=SHA1<br />
17 ECDHE‐RSA‐RC4‐SHA SSLv3 Kx=ECDH Au=RSA Enc=RC4(128) Mac=SHA1<br />
18 ECDHE‐ECDSA‐RC4‐SHA SSLv3 Kx=ECDH Au=ECDSA Enc=RC4(128) Mac=SHA1<br />
Cipher Suites und deren Anordnung<br />
müssen konfigurierbar sein.<br />
Für die Webserver Apache und Nginx<br />
gibt es mehrere Anleitungen [11,7], in<br />
Listing 2 und 3 sind die wesentlichen<br />
Optionen aufgeführt, die bei SSL Labs<br />
[9] zu einem perfekten Ergebnis führen<br />
(Abbildung 1). (ofr) n<br />
n Listing 2: Apache-Konfiguration<br />
01 SSLProtocol all ‐SSLv2 ‐SSLv3<br />
02 SSLHonorCipherOrder on<br />
03 SSLCipherSuite "EECDH+ECDSA+AESGCM<br />
EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \<br />
04 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384<br />
EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \<br />
05 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5<br />
!EXP !PSK !SRP !DSS"<br />
n Listing 3: Nginx-Konfiguration<br />
01 ssl_protocols TLSv1 TLSv1.1 TLSv1.2;<br />
02 ssl_prefer_server_ciphers on;<br />
03 ssl_ciphers "EECDH+ECDSA+AESGCM<br />
EECDH+aRSA+AESGCM EECDH+ECDSA+SHA384 \<br />
04 EECDH+ECDSA+SHA256 EECDH+aRSA+SHA384<br />
EECDH+aRSA+SHA256 EECDH+aRSA+RC4 \<br />
05 EECDH EDH+aRSA RC4 !aNULL !eNULL !LOW !3DES !MD5<br />
!EXP !PSK !SRP !DSS";<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/31120<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
84<br />
Basics<br />
OpenPGP<br />
Iaroslav Neliubov, 123RF<br />
E-Mail-Verschlüsselung mit OpenPGP sicher einrichten<br />
Einfach, sicher, mailen!<br />
Verschlüsselt kommunizieren ist schwierig? Nein, überhaupt nicht! Die Einrichtung braucht fünf Minuten. Und<br />
ab und an müssen Sie eventuell ein Passwort eingeben oder einen Schlüssel per Drag-and-Drop in ein Programm<br />
werfen. Machbar, oder? Mit diesem Artikel sicher! Till Spiegel<br />
Ihre E-Mails können jederzeit vom<br />
Bundesnachrichtendienst und der NSA<br />
mitgelesen werden. Angeblich halten<br />
gültige Gesetze die treuen Gesetzeshüter<br />
davon ab, alle Nachrichten mitzuschneiden.<br />
Wer das nicht mehr glauben<br />
mag und lieber auf Nummer sicher<br />
gehen möchte, sollte seine E-Mails<br />
verschlüsseln. Am besten alle E-Mails,<br />
mindestens aber so viele wie möglich.<br />
Aktuelle OpenPGP-Software kann so<br />
stark verschlüsseln, dass auch die NSA<br />
keine Chance hat. Das bestätigt sogar<br />
Edward Snowden.<br />
Jeder, der PGP in der vergangenen Jahren<br />
schon mal ausprobiert hat, erinnert<br />
sich meist ungern an das komplizierte<br />
Prozedere und die vielen Fachbegriffe.<br />
Dank weiterentwickelter Software ist<br />
die Handhabung aber mittlerweile sehr<br />
einfach. Die Fachbegriffe klärt dieser<br />
Artikel noch mal in kurzer Form.<br />
Angenommen, Sie haben ein neues,<br />
noch geheimes Projekt gestartet und<br />
n Schlüssel, Zertifikate und Co.<br />
Beim Thema »Verschlüsselung« gibt es zahlreiche Fachbegriffe, die<br />
meist munter durcheinander genutzt werden. Die Wichtigsten sind:<br />
Fingerprint: Als Fingerprint wird eine (relativ kurze) Buchstabenfolge<br />
bezeichnet, die man aus einem Schlüssel berechnet. Ist der Fingerprint<br />
vor und nach dem Verschicken eines Schlüssels gleich, hat sich der<br />
Schlüssel nicht verändert. Die Zahlenfolge kann man persönlich, per<br />
Telefon, Brief oder Fax weiterreichen.<br />
GnuPG: Ist die Abkürzung für Gnu Privacy Guard. Diese Software implementiert<br />
Verschlüsselungstechniken nach dem OpenPGP-Standard<br />
und ist unter der Gnu Public Licence frei verfügbar. »GPG« ist dabei das<br />
Kommandozeilen-Tool, das viele Programme mit schicken Oberflächen<br />
oder Plugins für Mail-Programme unter der Haube verwenden.<br />
Schlüssel: Im engeren Sinn ist ein Schlüssel eine einfache, aber lange<br />
Zahlenfolge. Mit ihrer Hilfe werden Daten so verändert (verschlüsselt),<br />
dass man sie auch unter großen Mühen nicht mehr lesbar machen<br />
kann. Im weiteren Sinne ist ein Schlüssel nicht nur die lange Zahlenfolge,<br />
sondern enthält auch noch zusätzliche Daten (Metadaten) wie<br />
Besitzer, Erstellungsdatum, E-Mail-Adressen, Verfallsdatum und Verschlüsselungsverfahren.<br />
Signieren: Das meint den Vorgang des digitalen Unterschreibens einer<br />
E-Mail oder Datei. Mit dem privaten Schlüssel wird eine Prüfsumme<br />
einer Mail verschlüsselt und mitgeschickt. Der Empfänger kann diese<br />
Signatur mit Ihrem öffentlichen Schlüssel entschlüsseln und die Prüfsumme<br />
vergleichen. Stimmt Sie, kann er sicher sein, dass die EMail von<br />
Ihnen stammt und unverändert ist. Dies erledigt Ihr E-Mail-Programm<br />
vollautomatisch.<br />
Zertifikat: Mehr oder minder das gleiche wie ein Schlüssel, ergänzt um<br />
zahlreiche Metadaten und Prüfsummen.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Basics<br />
OpenPGP<br />
85<br />
wollen mit Ihrem Geschäftspartner<br />
sicher per E-Mail kommunizieren. Wenn<br />
Ihr Partner an Sie eine E-Mail schickt,<br />
muss sichergestellt sein:<br />
n dass die E-Mail wirklich vom Partner<br />
stammt und nicht von jemand, der<br />
sich für ihn ausgibt;<br />
n dass niemand an der E-Mail rumgefummelt<br />
und sie verändert hat;<br />
n dass niemand außer Ihnen die E-<br />
Mail lesen kann.<br />
Um alle drei Ziele zu erreichen, bedient<br />
man sich einer Verschlüsselung mit<br />
zwei Schlüsseln. Dank ausgeklügelter<br />
mathematischer Verfahren gilt dabei:<br />
Verschlüsselt man etwas mit dem einen<br />
Schlüssel, kann man es nur mit dem<br />
jeweils anderen wieder entschlüsseln.<br />
Ein Schlüssel allein reicht zum Ver- und<br />
Entschlüsseln nicht aus.<br />
Privat und öffentlich<br />
Einer der beiden Schlüssel heißt »privat«.<br />
Er verbleibt bei einem persönlich<br />
und ist mindestens so wichtig wie die<br />
PIN der eigenen Bankkarte. Er darf den<br />
oder die eigenen Rechner nicht verlassen.<br />
Schlimmer noch: Sie müssen ihn<br />
absolut sicher verwahren. Ist er weg,<br />
können Sie keine der Mails mehr lesen,<br />
die man verschlüsselt an Sie geschickt<br />
hat oder noch schicken wird. Ein sicheres<br />
Backup ist daher unabdingbar.<br />
Der zweite Schlüssel nennt sich »öffentlich«.<br />
Diesen gilt es an alle zu<br />
verteilen, die einem etwas vertraulich<br />
schicken möchten. Um die Verbreitung<br />
zu vereinfachen, gibt es Schlüsselserver<br />
(Key-Server, ähnlich wie Download-<br />
Server für Software), auf denen sich<br />
öffentliche Schlüssel hinterlegen lassen<br />
und auf denen jeder nach öffentlichen<br />
Schlüsseln anderer suchen kann. Wer<br />
Daten sicher an Sie schicken möchte,<br />
sucht sich Ihren öffentlichen Schlüssel<br />
und kann damit eine Nachricht an Sie<br />
verschlüsseln, die nur Sie entschlüsseln<br />
können (mit dem privaten Schlüssel).<br />
Tiefergehende Informationen zu diesem<br />
Thema finden Sie im Artikel über<br />
GnuPG in der letzten <strong>ADMIN</strong>-Ausgabe<br />
[1] und im Kasten »Schlüssel, Zertifikate<br />
und Co«.<br />
Bevor es losgehen kann, muss die<br />
Basis-Software installiert ein. Dies ist<br />
»GnuPG«, eine Freeware unter Gnu<br />
Public Licence, die den offiziellen<br />
OpenPGP-Standard implementiert.<br />
Unter Linux ist GnuPG bei allen großen<br />
Distributionen bereits installiert. Unter<br />
Windows ist dazu das Tool-Paket »GPG-<br />
4Win« (Abbildung 1) [2] zu laden und<br />
zu installieren. Mac-User können auf<br />
die jüngst erst aktualisierte und sehr<br />
schöne »GPGSuite« [3] zurückgreifen.<br />
Beide Tool-Pakete enthalten eine gut<br />
ans Betriebssystem angepasste Schlüsselverwaltung<br />
inklusive grafischer<br />
Oberfläche.<br />
In GPG4Win heißt die Schlüsselverwaltung<br />
»Kleopatra« – ein Zugriff per<br />
Kommandozeile ist damit überflüssig.<br />
Im Paket ist auch ein Plugin für Outlook<br />
bis zur Version 2013. Es gibt aber ein<br />
paar Einschränkungen, die man sich als<br />
Outlook-Nutzer durchlesen sollte [2].<br />
Beim Mac muss man die GPGSuite lediglich<br />
über den mitgelieferten Installer<br />
auf die Platte heben lassen. Dazu gehört<br />
auch das Plugin für Apples »Mail«,<br />
dass sich nahtlos in Mail einfügt.<br />
Die folgende Beschreibung wendet<br />
sich an Thunderbird-User. Die Schritte<br />
lassen sich aber entsprechend mit<br />
Kleopatra (Windows), GPGTools (Mac)<br />
und GPA (Linux) vornehmen, falls man<br />
einen anderen E-Mail-Client nutzt, für<br />
den es keine eingebaute Schlüsselverwaltung<br />
gibt.<br />
Abbildung 1: Unter Windows stellt GPG4Win die<br />
Grundfunktionen für GnuPG zur Verfügung.<br />
Ersteinrichtung<br />
Um GnuPG in Thunderbird nutzen<br />
zu können, braucht man das Plugin<br />
»Enigmail« (Abbildung 2). Nach Auswahl<br />
von »Add‐ons« im Menü des<br />
Mail-Programms und Wechsel auf den<br />
Reiter »Add‐ons suchen«, tippen Sie<br />
»Enigmail« in das Suchfeld. Als erstes<br />
Addon sollte »Enigmail 1.5.2« erscheinen.<br />
Nach dem Klick auf »Installieren«<br />
und einem Neustart von Thunderbird<br />
ist die Software startbereit. Im Menü<br />
erkennen Sie das an dem neuen Punkt<br />
»OpenPGP«.<br />
Enigmail hat eine Schlüsselverwaltung<br />
eingebaut. Sie greift auf die gleichen<br />
Schlüssel zu wie etwa Kleopatra oder<br />
Abbildung 2: Enigmail für Thunderbird rüstet die fehlende GnuPG-Unterstützung für den frei verfügbaren<br />
E-Mail-Client nach.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
86<br />
Basics<br />
OpenPGP<br />
Abbildung 3: Mit diesen (wenigen) Daten erzeugt Enigmail die<br />
notwendigen Schlüssel.<br />
GPGTools. Sie können also durchaus<br />
mal die eine und mal die andere Verwaltung<br />
verwenden. Die Schlüssel liegen<br />
bei Linux und Mac OSX in ».gnupg«<br />
im Home-Verzeichnis, unter Windows 7<br />
in »Appdata\Roaming\gnupg«.<br />
Schlüssel erzeugen<br />
Nach Auswahl des Menüpunktes<br />
»OpenPGP | Schlüssel verwalten...«<br />
erscheint ein noch leeres Fenster. Über<br />
die Menüpunkte »Erzeugen | Neues<br />
Schlüsselpaar...« öffnet sich das Fenster<br />
»OpenPGP‐Schlüssel erzeugen«. Hinter<br />
»Benutzer‐ID« wählen Sie den E-Mail-<br />
Account aus, für den die Schlüssel erzeugt<br />
werden sollen. Später lassen sich<br />
dem Schlüssel weitere E-Mail-Adressen<br />
hinzufügen. Bei »Passphrase« ist ein<br />
Passwort einzugeben, dass sehr sicher<br />
sein sollte. Die Passphrase schützt<br />
Ihren privaten PGP-Schlüssel. Sie müssen<br />
diese Passphrase später eingeben,<br />
wenn Thunderbird eine an Sie gerichtete<br />
E-Mail entschlüsseln möchte oder<br />
Abbildung 4: Die Schlüsselverwaltung ist der zentrale Ort, in<br />
dem Sie private und öffentliche Schlüssel bearbeiten können.<br />
Sie eine E-Mail unterschreiben<br />
(signieren). Sie sollten<br />
sich diese also gut merken<br />
können, aber dennoch auch<br />
Zahlen, Großbuchstaben<br />
und Satzzeichen verwenden.<br />
Sie dürfen sie auf keinen Fall<br />
vergessen.<br />
Das »Kommentar«-Feld kann<br />
leer bleiben. Was Sie hier eintragen,<br />
ist später für andere<br />
sichtbar. Da wir gerade die<br />
Master-Schlüssel erzeugen,<br />
sollten diese nicht ablaufen.<br />
Ein Haken vor »Schlüssel<br />
läuft nie ab« ist sinnvoll. Mit<br />
dem Klick auf »Schlüsselpaar<br />
erzeugen« startet die Berechnung<br />
(Abbildung 3). Derweil<br />
sollte man die Maus bewegen und<br />
einige Tasten drücken, dies erhöht die<br />
»Zufälligkeit« der Generierung.<br />
Am Ende möchte Enigmail ein Widerrufszertifikat<br />
erzeugen. Das ist auf<br />
jeden Fall sinnvoll. Nur damit lässt sich<br />
später einmal der öffentliche Schlüssel<br />
für ungültig erklären (das geht dann<br />
auch ohne Passphrase, falls diese das<br />
eigene Gehirn verlassen hat).<br />
E-Mail-Adressen ergänzen<br />
Oft hat man nicht nur eine E-Mail-<br />
Adresse, sondern derer mehrere. Man<br />
muss nun nicht für jede E-Mail-Adresse<br />
ein Schlüsselpaar erzeugen: Stattdessen<br />
lassen sich den Schlüsseln weitere<br />
E-Mail-Adressen hinzufügen. Dazu<br />
klickt man doppelt auf den Schlüssel.<br />
Es erscheint das Fenster »Schlüsseleigenschaften«.<br />
Wählen Sie links unten<br />
bei »Aktion wählen« den Punkt »Benutzer‐ID<br />
verwalten«. Über »Hinzufügen«<br />
ergänzen Sie weitere E-Mail-Adressen.<br />
Im Kommentar-Feld lassen sich Bemerkungen<br />
wie »Büro« oder »Privat«<br />
eingeben, die andere<br />
Nutzer darauf hinweisen,<br />
welche E-Mail-Adresse für<br />
was zu verwenden ist.<br />
OpenPGP und GnuPG kennen<br />
keinen Generalschlüssel<br />
oder Hintertürchen, um an<br />
Ihre Schlüssel zu gelangen,<br />
wenn Sie die Passphrase<br />
vergessen. Die Passphrase<br />
ist also sehr sicher aufzubewahren.<br />
Daher ist ein Backup vor allem<br />
des privaten Schlüssels extrem wichtig.<br />
Ohne ihn können sie nichts mehr unterschreiben<br />
oder entschlüsseln. Wer<br />
ihn in die Hände bekommt, kann sich<br />
für Sie ausgeben. Ein Festplatten-Crash<br />
oder Wasserschaden (Hochwasser)<br />
kann schon einen Verlust herbeiführen.<br />
Backup anlegen<br />
Das Backup ist einfach: Wählen Sie in<br />
der Schlüsselverwaltung (Abbildung<br />
4) Ihren neuen Schlüssel und anschließend<br />
den Menüpunkt »Datei | Exportieren«<br />
aus. Per Klick auf »Geheime<br />
Schlüssel exportieren« werden privater<br />
und öffentlicher Schlüssel gesichert.<br />
Die Datei (und das Widerrufszertifikat)<br />
sollten Sie auf eine CD brennen oder<br />
einen USB-Stick schreiben und in einen<br />
Safe oder Bankschließfach legen.<br />
Nach dem Schließen der Schlüsselverwaltung<br />
können Sie bereits die<br />
erste verschlüsselte Mail verschicken<br />
– bisher aber nur an sich selbst, da in<br />
der Schlüsselverwaltung als einziger<br />
öffentlicher Schlüssel Ihr eigener vorhanden<br />
ist.<br />
Erzeugen Sie eine neue leere Mail. In<br />
der Button-Leiste sehen Sie das Schloss<br />
mit dem Text »OpenPGP«. Wenn Sie<br />
das Menü dazu aufklappen, sollten die<br />
Punkte »Nachricht unterschreiben« und<br />
»PGP/MIME verwenden« bereits ausgewählt<br />
sein. Wenn Sie im »An«-Feld Ihre<br />
E-Mail-Adresse eintragen (für die es<br />
auch einen öffentlichen Schlüssel gibt),<br />
können Sie auch »Nachricht verschlüsseln«<br />
auswählen.<br />
Ob eine E-Mail unterschrieben und<br />
verschlüsselt verschickt wird, zeigen<br />
das Bleistift- und das Schlüsselsymbol<br />
rechts unten im Fenster an. Sind sie<br />
gelb, ist die zugehörige Aktion aktiviert.<br />
Nach dem Verschicken und Aktualisieren<br />
der Mail-Liste ist die verschlüsselte<br />
Mail wieder da. Wenn Sie sie anklicken,<br />
zeigt Thunderbird sie an (Abbildung 3).<br />
Ein grüner Balken über der Mail weist<br />
darauf hin, dass die Mail korrekt unterschrieben<br />
ist und entschlüsselt werden<br />
konnte. Über das Popup-Menü»Details«<br />
lassen sich weitere Infos einblenden.<br />
Jetzt stellt sich natürlich die Frage:<br />
Wie kommt man an die öffentlichen<br />
Schlüssel anderer – und zwar so, dass<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Basics<br />
OpenPGP<br />
87<br />
sie einen unverändert erreichen? Dazu<br />
gibt es zwei Wege: Mithilfe des Partners<br />
oder über einen Schlüsselserver.<br />
Schlüssel tauschen<br />
Fordern Sie einfach einen E-Mail-<br />
Partner auf, Ihnen seinen öffentlichen<br />
Schlüssel als Attachment zuzusenden<br />
(ohne Verschlüsselung). Er soll seine<br />
Mail aber signieren (digital unterschreiben).<br />
Wenn die Mail bei Ihnen<br />
ankommt, zeigt Thunderbird sie mit<br />
einem gelben Balken und dem Hinweis<br />
an, dass die Unterschrift nicht überprüft<br />
werden konnte (noch ist der öffentliche<br />
Schlüssel ja nicht importiert).<br />
Speichern Sie den Schlüssel als Datei,<br />
öffnen Sie die OpenPGP-Schlüsselverwaltung<br />
und wählen Sie »Datei | Importieren«,<br />
um den Schlüssel zu übernehmen.<br />
Wenn Sie im Thunderbird-Mailfenster<br />
jetzt die E-Mail deselektieren<br />
und anschließend wieder anklicken,<br />
hat der gelbe Balken auf hellblau gewechselt.<br />
Dort steht jetzt, dass die Unterschrift<br />
korrekt ist, aber Thunderbird<br />
ihr noch nicht vertraut.<br />
Wählen Sie im Popup-Menü »Details«<br />
den Punkt »Schlüsseleigenschaften«<br />
aus. In der sechsten Zeile von oben<br />
sehen Sie eine Buchstabenziffernfolge,<br />
die »Fingerabdruck« (Englisch: Fingerprint)<br />
heißt. Rufen Sie Ihren Freund per<br />
n Mobile Apps<br />
Die eingebauten mobilen E-Mail-Apps<br />
von iOS und Android sind nicht auf PGP<br />
oder GnuPG vorbereitet. Unter iOS gilt<br />
es dafür die zusätzliche App »iPGMail«<br />
(für 1,79 Euro) zu installieren. Verschlüsselte<br />
Anhänge können an iPGMail übergeben<br />
und dort entschlüsselt werden.<br />
Verschlüsselte Mails lassen sich direkt<br />
mit iPGMail verschicken. Die Schlüssel<br />
selbst kann man per iTunes auf das Gerät<br />
bringen. Insgesamt ist diese Lösung<br />
aber noch recht unbequem.<br />
Unter Android geht das besser. Die App-<br />
Kombination heißt »APG« und »K‐9«<br />
oder sein kommerzieller Bruder »Kaiten«.<br />
Man sollte zuerst das GPG-Tool<br />
APG installieren und dann den E-Mail-<br />
Client K-9, anschließend die E-Mail-<br />
Konten in K-9 einrichten und schließlich<br />
die privaten Schlüssel in APG per USB<br />
importieren (nicht per Mail).<br />
Abbildung 5: Drei verschiedene Mails: Mal unverschlüsselt, nur signiert oder auch noch unterschrieben.<br />
Die Symbole zeigen den jeweiligen Status an.<br />
Telefon oder Smartphone an und lesen<br />
Sie ihm den Fingerabdruck vor. Ist er<br />
identisch mit seinem Fingerabdruck,<br />
haben Sie wirklich seinen öffentlichen<br />
Schlüssel unverändert per E-Mail<br />
bekommen. Um das für Thunderbird<br />
zu dokumentieren, gilt es jetzt den<br />
Schlüssel zu unterschreiben. Wählen<br />
Sie unten links unter »Aktion wählen«<br />
den Punkt »Unterschreiben«. Im darauf<br />
erscheinenden Dialog ist »Ich habe<br />
es sehr genau geprüft« auszuwählen.<br />
Wenn Sie nach dem Schließen der<br />
Schlüsselverwaltung eine andere Mail<br />
und dann wieder die Ihres Freundes<br />
anklicken, ist der Balken grün.<br />
Schlüsselserver nutzen<br />
Wenn Sie wissen, dass Ihr Freund seinen<br />
Schlüssel auf einen Schlüsselserver<br />
geschickt hat, geht es noch einfacher,<br />
sich den Schlüssel zu besorgen. Öffnen<br />
Sie die Schlüsselverwaltung und<br />
wählen Sie den Menüpunkt »Schlüsselserver<br />
| Schlüssel suchen...« aus. Im<br />
Suchfeld geben Sie den Namen (ohne<br />
Umlaute) oder die E-Mail-Adresse<br />
ein. Anschließend wählen Sie aus der<br />
Liste den passenden Eintrag aus und<br />
übernehmen den Schlüssel in Ihre<br />
Schlüsselverwaltung. Welchen der<br />
angebotenen Schlüsselserver Sie dabei<br />
verwenden, ist fast egal, da diese<br />
sich untereinander abgleichen. Sie<br />
können Ihren öffentlichen Schlüssel<br />
übrigens auch ganz einfach auf einen<br />
Schlüsselserver hochladen, indem Sie<br />
ihn auswählen und das Menü »Schlüssel‐Server<br />
| Schlüssel hochladen« auswählen.<br />
Sie werden dann nach einem<br />
Server gefragt. Belassen Sie es bei dem<br />
Vorschlag. Danach können andere Ihren<br />
öffentlichen Schlüssel suchen und<br />
importieren.<br />
Fazit<br />
Hat man sich einmal die Mühe gemacht,<br />
GnuPG einzurichten, kann man<br />
fortan ganz einfach sichere E-Mails<br />
verschicken. Die Unbequemlichkeit<br />
beschränkt sich dabei auf das Eingeben<br />
einer Passphrase und Anklicken eines<br />
Schlüsselsymbols. Wenn Sie die grundsätzlichen<br />
Vorgänge einmal verstanden<br />
haben, ist sichere Kommunikation tatsächlich<br />
ein Kinderspiel.<br />
Was jetzt noch bleibt, ist sein Umfeld zu<br />
nötigen, ebenfalls GnuPG einzusetzen<br />
und wiederum andere davon zu überzeugen,<br />
es ebenfalls zu tun. So kann<br />
eine flächendeckende gesicherte Kommunikation<br />
entstehen. (ofr) n<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30862<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
88<br />
Basics<br />
<strong>ADMIN</strong>-Tipps<br />
Die Tipps des Monats<br />
<strong>ADMIN</strong>-Tipps<br />
Pavel Ignatov, 123RF<br />
Hier finden Sie eine Auswahl der im wöchentlichen <strong>ADMIN</strong>-Newsletter erscheinenden Praxistipps.<br />
n Bash-History im Griff<br />
Die meisten Benutzer der Bash-Shell lernen ziemlich schnell die History-Funktion<br />
zu schätzen, die die meisten über die Cursor-Tasten abrufen. Alternativ<br />
geht das auch mit anderen Tasten wie [Strg]+[p] und [Strg]+[n]. Mit [Strg]+[r]<br />
lässt sich die History sogar durchsuchen, wenn man danach Teile des gesuchten<br />
Kommandos eintippt.<br />
Trivialitäten wie »pwd« oder »cd« muss die History nicht unbedingt speichern,<br />
denn das verschwendet nur unnötig Platz im begrenzten Speicher (der sich<br />
übrigens mit der Umgebungsvariablen »HISTSIZE« einstellen lässt). Auf vielen<br />
Systemen verzichtet die Bash auch auf eine Speicherung, wenn man dem Befehl<br />
ein Leerzeichen voranstellt. Dies wird durch die Variable »HISTCONTROL«<br />
gesteuert, die dann »ignorespace« enthalten muss.<br />
Bestimmte Befehle ignoriert die History, wenn man die Variable »HISTIGNORE«<br />
entsprechend setzt:<br />
export HISTIGNORE="pwd:ls:ls ‐l:cd"<br />
Der Befehl muss dabei genau dem aufgeführten entsprechen, damit es klappt.<br />
Mit dem Spezialzeichen »&«, das für den letzten Befehl steht, verzichtet die Bash<br />
darauf, unmittelbar aufeinander folgende doppelte Befehle zu speichern. Zum<br />
gleichen Effekt führt »HISTCONTROL=ignoredups«. Global verhindert die Einstellung<br />
»HISTCONTROL=erasedups« duplizierte Befehle.<br />
Mit dem Befehl »history« lässt sich die History-Funktion steuern. So löscht »history<br />
‐c« den aktuellen Speicher, »history ‐d X« löscht den letzten X-ten Eintrag,<br />
und »history ‐w« schreibt das Protokoll in eine Datei (per Default »~/.bash_history«).<br />
Mehr Informationen zum History-Befehl sind übrigens in der Bash-Manpage<br />
zu finden, während »man history« Informationen zur History-Bibliothek<br />
enthält.<br />
n I/O von VMs optimieren<br />
Wie es aussieht, laufen in Zukunft immer mehr<br />
Systeme nur noch als virtuelle Maschinen auf einem<br />
Server oder in der Cloud. Damit sie bei der<br />
Performance mit echter Hardware konkurrieren<br />
können, gibt es einige Dinge zu berücksichtigen.<br />
Bei der Linux-Virtualisierungstechnologie KVM setzt<br />
man dafür am besten die Virtio-Treiber ein, die für<br />
den Einsatz in virtuellen Maschinen optimiert sind.<br />
Auch beim Datenspeicher gibt es einige Optionen:<br />
Schneller als Image-Dateien, die auf der Festplatte<br />
des Host-Systems gespeichert sind, funktioniert<br />
beispielsweise der direkte Zugriff auf ein LVM-<br />
Volume.<br />
Läuft in der VM eine Linux-Distribution, gibt es<br />
noch einen Trick, das I/O-System zu beschleunigen:<br />
Man setzt den I/O-Scheduler der VM auf die Option<br />
„noop“, die den Scheduler quasi leerlaufen lässt.<br />
Dies ist anzuraten, weil der Scheduler des Host-Systems<br />
ja seinerseits bereits die Lese- und Schreibaufträge<br />
verwaltet. Täte die VM das auch noch, führte<br />
dies nur zu unnötigem Overhead.<br />
Zur Laufzeit lässt sich dies in der VM mit »echo noop<br />
> /sys/block/DEVICE/queue/scheduler« erreichen.<br />
Dauerhaft wird die Einstellung mit »elevator=noop«<br />
in der Zeile mit »GRUB_CMDLINE_LINUX« der Datei<br />
»/etc/default/grub« auf dem Gast-System eingestellt.<br />
(ofr)<br />
neue Tipps im Newsletter<br />
Jede Woche erscheint in unserem Newsletter ein neuer <strong>ADMIN</strong>-Tipp. Eine Sammlung aller Tipps<br />
finden Sie im Archiv der <strong>ADMIN</strong>-Tipps unter [http:// www. admin‐magazin. de/ News/ Tipps/].<br />
Den Newsletter können Sie unter [http:// www. admin‐magazin. de/ newsletter] abonnieren.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
90<br />
Test<br />
SQL-Acceleration<br />
Die Beschleunigerkarte ZD XL SQL Accelerator von OCZ im Test<br />
Race Condition<br />
Scott Betts, 123RF<br />
Datenbanken sind oft I/O-lastig, weshalb man durch den Einsatz von Flash-Speicher den Hebel schon<br />
mal an der richtigen Stelle ansetzt, um ihnen Beine zu machen. Meist sind die Datenmengen aber so<br />
groß, dass es noch zu teuer wäre, sie komplett auf SSDs zu verlagern. Dann hilft eine intelligente Lösung<br />
aus Cache und Flash-Volumes. Jens-Christoph Brendel<br />
Während die Preise von Consumer-<br />
SSDs noch in diesem Jahr auf das Niveau<br />
von Festplatten sinken könnten,<br />
sind Enterprise-SSDs nach wie vor<br />
teuer. Sie sind für Dauerbetrieb bei<br />
voller Ausnutzung ihrer Kapazität ausgelegt,<br />
bieten mehr Performance und<br />
eine weitaus geringere Streuung ihrer<br />
Leistungsdaten, verglichen mit den für<br />
den gelegentlichen Einsatz im privaten<br />
Bereich konzipierten Geschwistern. Das<br />
lassen sich die Hersteller aber gut be-<br />
zahlen: Während im Consumer-Sektor<br />
deutlich weniger als ein Euro pro GByte<br />
anfallen, sind es im Enterprise-Bereich<br />
gerne mal 10 Euro pro GByte und mehr.<br />
Bei einer mehrere TByte großen Datenbank<br />
stellt sich deshalb bald die Frage,<br />
ob sich die komplette Verlagerung auf<br />
SSDs rechnet. Selbst wenn man diese<br />
Frage verneint, muss man nicht auf<br />
den Performance-Gewinn durch die<br />
schnellen Flash-Speicher verzichten.<br />
Die Lösung besteht dann darin, sie selektiv<br />
als Cache einzusetzen. In diesem<br />
Fall reicht ein vergleichsweise kleines<br />
Flash-Volume, um den Zugriff auf eine<br />
große Datenmenge um ein Vielfaches<br />
zu beschleunigen.<br />
Das Caching ist freilich applikationsspezifisch:<br />
Es braucht eine Software,<br />
die ermittelt, auf welche Daten am<br />
häufigsten zugegriffen wird, und die<br />
genau diese Daten dann auf einem<br />
SSD-Volume vorhält. Seltener genutzte<br />
Informationen bleiben dann auf den<br />
n So haben wir getestet<br />
Für unsere Benchmarks verwendeten wir einen bewährten Server der Firma Exus Technology. Das<br />
Modell ProServ II (Abbildung 1) mit einem neueren Intel-Mainboard (S5520HC) verfügte über 16<br />
GByte Hauptspeicher, von dem 8 GByte für die Datenbank reserviert wurden. Als Prozessoren dienten<br />
zwei Intel-Xeon-Quadcore-CPUs X5460, getaktet mit 3 GHz. Von den acht Festplattenslots des<br />
zwei Höheneinheiten großen Servers wurde nur einer genutzt, die interne SATA-Disk nahm das Betriebssystem<br />
Windows Server 2008 R2 und die Datenbank Microsoft SOL Server 2012 auf.<br />
Die eigentlichen Nutzdaten speicherte ein Premium-RAID-System der Firma transtec, angeschlossen<br />
via Ultra-320-SCSI mit zehn SATA-Slots. Insgesamt acht Platten darin bildeten eine RAID-5-Gruppe,<br />
die in zwei Partitionen aufgeteilt und zwei LUNs zugeordnet war. Auf einer befand sich die TPC-C-<br />
Datenbank.<br />
Abbildung 1: Exus-Server und transtec-<br />
RAID, die für die Benchmarks verwendet<br />
wurden.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Test<br />
SQL.-Acceleration<br />
91<br />
vergleichsweise langsamen Festplatten.<br />
Für Microsofts SQL Server 2012<br />
gibt es vom SSD-Hersteller OCZ eine<br />
solche Caching-Lösung in Form einer<br />
mit Flash bestückten Erweiterungskarte<br />
und der zugehörigen Treiber. Das<br />
<strong>ADMIN</strong>-<strong>Magazin</strong> hat diesen ZD XL SQL<br />
Accelerator getestet.<br />
Die Ergebnisse<br />
Die TPC-C-Datenbank war für die<br />
größtmögliche Last konfiguriert, auf<br />
die sich die Benchmark-Software via<br />
GUI einstellen lässt: 5000 Warehouses<br />
und 100 virtuelle User. Wir begannen<br />
ohne die Beschleunigerkarte, um einen<br />
Vergleichswert zu erhalten. Dabei erhöhten<br />
wir Stufe um Stufe die Anzahl<br />
virtueller User. Bei den ersten Schritten<br />
von zwei auf drei virtuelle User verdoppelte<br />
sich die erzielbare Leistung noch.<br />
Doch der Zuwachs verringerte sich<br />
schnell, die Kurve für den Leistungsanstieg<br />
näherte sich bereits nach gut<br />
einem Dutzend parallel aktiver User<br />
einer Horizontalen an. Die Belastung<br />
der Festplatten gelangte hier an die<br />
Sättigungsgrenze. Am Ende brachten es<br />
100 User auf 35 423 Transaktionen pro<br />
Minute (TPM) bei 7645 New Orders pro<br />
Minute (NOPM).<br />
Während der ersten Versuche waren<br />
allerdings die Caches, die es auch<br />
ohne die später zu testende Karte im<br />
Betriebssystem und in der Datenbank<br />
gibt, noch kalt. Wir wiederholten deshalb<br />
den Versuch mit 100 Usern sofort<br />
nach dem ersten Mal und kamen dabei<br />
mit aufgewärmten<br />
Caches auf 36 073 TPM<br />
bei 7909 NOPM. Der<br />
Zugewinn dank des<br />
systemeigenen Cache-<br />
Effekts betrug also nur<br />
magere zwei Prozent.<br />
Anschließend bauten<br />
wir die SD-XL-Acceleratorkarte<br />
ein und<br />
installierten ihre Treiber.<br />
Datenbank und<br />
Log wurden in einen<br />
frischen Startzustand<br />
zurückversetzt. Der<br />
Flash-Speicher auf der<br />
Karte wurde geteilt: in<br />
ein 100 GByte großes<br />
Volume, das im Falle<br />
des TPC-H-Benchmarks die Tempdb,<br />
bei TPC-C das Logfile aufnahm, und<br />
in einen 600 GByte großen Cache. Danach<br />
wärmten wir mithilfe eines von<br />
OCZ mitgelieferten Utilities den Cache<br />
an, sodass er von Anfang an die Daten<br />
enthielt, die der jeweilige Benchmark<br />
verwendete.<br />
Der TPC-H-Benchmark, der zuvor ohne<br />
die Beschleunigerkarte 8058 Sekunden<br />
Laufzeit benötigte, lief nun in 2603 Sekunden<br />
durch, also ziemlich genau in<br />
einem Drittel der Zeit. Der Bottleneck<br />
verschob sich nun vom I/O-System zur<br />
CPU. Zwar verfügte der Testserver über<br />
acht Rechenkerne, aber die Abfragen<br />
wurden nun nach Auslastung eines<br />
Kerns an den nächsten weitergereicht –<br />
und diese Transfers kosten Zeit.<br />
Abbildung 3: Ergebnisse im TPC-C-Benchmark mit und ohne Beschleunigerkarte<br />
bei steigender Anzahl virtueller Clients.<br />
Beim TPC-C-Benchmark mit 100 Clients<br />
maßen wir im ersten Versuch Werte von<br />
bis zu 87 762 TPM, das sind mehr als 2,5<br />
mal so viele Transaktionen wie ohne<br />
Beschleunigerkarte, aber mit aufgewärmten<br />
Cache. In einem Versuch mit<br />
ansteigender Anzahl virtueller Clients<br />
wird der Unterschied noch deutlicher:<br />
Wo die Festplatten ohne das Z-Drive<br />
bereits in die Sättigung geraten, steigt<br />
die Kurve nun mit der Beschleunigerkarte<br />
weiter an (Abbildung 2).<br />
Fazit<br />
Eine kleine Datenbank, die vielleicht<br />
auch nicht den höchsten Performanceund<br />
Verfügbarkeitsansprüchen genügen<br />
muss, wird man mit der Accelerator-Karte<br />
deshalb nicht wirtschaftlich<br />
beschleunigen können, weil es dann<br />
billiger wäre, sie gleich ganz auf ein<br />
SSD-Volume zu kopieren. Anders sieht<br />
das aus, wenn der Anwender bestehende<br />
Backup- oder Hochverfügbarkeitskonfigurationen<br />
mit Festplatten-<br />
SANs nicht aufgeben kann oder will<br />
oder wo die Datenmenge so groß ist,<br />
dass die nötigen SSDs zu teuer wären.<br />
Die Beschleunigerkarte ist zudem kom-<br />
Abbildung 2: Die ZD-XL-Beschleunigerkarte von OCZ für Microsofts SQL-Server, die wir<br />
in diesem Artikel getestet haben.<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30682<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
92<br />
Test<br />
SQL-Acceleration<br />
Abbildung 3: Die Simulation bildet eine konfigurierbare Zahl von Lagerhäusern ab, von denen jedes<br />
10 Distrikte mit jeweils 3000 Kunden betreut.<br />
patibel mit Cluster-Lösungen und kann<br />
mit relativ wenig SSD-Speicher große<br />
Datenbanken auf Trab bringen. In einer<br />
solchen Konstellation spielt sie überzeugend<br />
ihre Vorteile aus.<br />
Je nach Workload erreichten wir eine<br />
Beschleunigung um mehr als den<br />
Faktor 2,5. Obwohl nur Teile der Datenbank<br />
(Tempdb, Indizes, Logfiles)<br />
auf Flash-Volumes verlagert wurden,<br />
während der Rest des schnellen Speichers<br />
als Cache benutzt wurde, ist der<br />
Performance-Zuwachs fast so hoch, als<br />
wäre die gesamte Datenbank auf SSDs<br />
ausgelagert worden. Die Cache-Lösung<br />
ist jedoch viel kostengünstiger.<br />
Bei allem ist der Installations- und<br />
Wartungsaufwand erfreulich gering.<br />
Ein Wizzard führt schnell durch die<br />
erste Einrichtung der Karte. Im Betrieb<br />
werden häufig verwendete Abfragen<br />
automatisch erkannt und gecachet. So<br />
landen immer die Daten auf dem Flash-<br />
Speicher, von denen die Datenbank<br />
am meisten profitiert. Ganz billig ist<br />
der Performance-Schub aber nicht: Für<br />
ein Z-Drive wie das im Test verwendete<br />
muss man schon an die 9700 Dollar auf<br />
die Ladentheke legen. n<br />
n Die TPC-Benchmarks<br />
Der TPC-C-Benchmark misst die Performance der Datenbank beim<br />
Online Transaction Processing (OLTP), also bei einem Workload, wie<br />
ihn beispielsweise ERP-Systeme bei der direkten Bearbeitung von Geschäftsprozessen<br />
erzeugen. Charakteristisch sind hier viele Abfragen<br />
unterschiedlicher Komplexität, die die Datenbank ad hoc parallel beantwortet.<br />
Das Gegenstück wäre die Stapelverarbeitung (Batchbetrieb).<br />
TPC-C simuliert zu diesem Zweck das Handelssystem einer fiktiven<br />
Firma. Es verfügt über eine wählbare Zahl von Warehouses, die jeweils<br />
in 10 Distrikte unterteilt sind. Zu jedem Distrikt gehören 3000 Kunden<br />
(Abbildung 3). Diese Kunden lösen nun Bestellungen aus, die jeweils<br />
eine wechselnde Anzahl Produkte betreffen. Die Bestellungen gelangen<br />
zu Mitarbeitern der Bestellannahme, deren Zahl ebenfalls konfigurierbar<br />
ist, und werden von ihnen gebucht. Dabei werden beispielsweise<br />
wechselnde Rabatte verrechnet und der Lagerbestand aktualisiert. Ein<br />
kleinerer Prozentsatz der Bestellungen kann nicht vom zuerst kontaktierten<br />
Warehouse bedient werden und wird an ein anderes weitergeleitet.<br />
Im Einzelnen ergibt sich der folgende Mix an Transaktionen:<br />
n New Order – Buchung einer neuen Bestellung eines Kunden: 45 Prozent<br />
n Payment – Aktualisierung der Verbindlichkeiten des Kunden: 43<br />
Prozent<br />
n Delivery – Asynchrone Auslieferung der Bestellungen: 4 Prozent<br />
n Order Status – Abfrage der zuletzt eingegangenen Bestellung eines<br />
Kunden: 4 Prozent<br />
n Stock Level – Abfrage des Lagerbestands einer bestimmten Ware: 4<br />
Prozent<br />
Der Benchmark produziert zwei Messwerte: Zum einen Transactions<br />
per Minutes (TPM), ein datenbankspezifischer Wert, ermittelt aus der<br />
Anzahl Transactions und Rollbacks pro Zeiteinheit. Dieser Wert eignet<br />
sich nicht für Vergleiche zwischen verschiedenen Datenbanken. Zum<br />
anderen New Orders per Minute (NOPM). Dieser Wert ist unabhängig<br />
von der konkreten Datenbank-Implementierung und empfiehlt sich für<br />
Vergleiche zwischen Datenbanken.<br />
Im Gegensatz zum oben beschriebenen TPC-C simuliert der TPC-H-<br />
Benchmark ein Decision-Support-System. Hier wird die Datenbank mit<br />
wesentlich komplexeren Anfragen belastet, die viele Berechnungen<br />
(etwa von Mittelwerten), häufige Sortier- und Gruppierungsfunktionen<br />
und zahlreiche Joins zwischen Tabellen enthalten. Da dabei viele<br />
Zwischenergebnisse entstehen, wird hier die tempdb ganz besonders<br />
gefordert.<br />
Die Tester verwendeten als Benchmark-Software für diesen Artikel<br />
HammerDB 2.14, eine freie Implementierung des TPC-C- und TPC-H-<br />
Standards. Neben der nicht weiter gepflegten TPC-C-Umsetzung der<br />
Open Source Development Labs hat diese Version den Vorteil, dank einer<br />
kleinen GUI mit weniger Handarbeit auszukommen. Die Ergebnisse<br />
kann man nicht direkt neben diejenigen stellen, die die teuren, streng<br />
überwachten Original-TPC-Benchmarks liefern. Sie bieten aber für interne<br />
Vergleiche gute Anhaltspunkte.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
94<br />
Virtualisierung<br />
OpenStack Havana<br />
foodandmore, 123RF<br />
Einen Cocktail an Neuerungen bietet das neue Havana-Release von OpenStack<br />
Cuba Libre<br />
Im Oktober war sie fällig, die Havana-Release von OpenStack, die die erfolgreiche Geschichte der Cloud-<br />
Umgebung fortschreiben soll. Hat sie das Zeug dazu oder handelt es sich um einen Rohrkrepierer? Dieser<br />
Beitrag wirft einen ersten Blick auf die wichtigsten Neuheiten. Martin Loschwitz<br />
Wer dem OpenStack-Projekt beim<br />
Entwickeln zuschaut, könnte fast neidisch<br />
werden: Das Projekt versteht es<br />
ausgezeichnet, den selbst auferlegten<br />
Zeitplan fast sklavisch zu befolgen.<br />
Pünktlich im Oktober erschien Open-<br />
Stack 2013.2 alias Havana. Wer das<br />
letzte Release »Grizzly« aufmerksam<br />
verfolgt hat, weiß: Grizzly war eigentlich<br />
ein Maintenance-Release für die<br />
Vorgänger-Version Folsom (2012.2),<br />
das maßgeblich dazu diente, in Folsom<br />
eingeführte Funktionen zu stabilisieren<br />
und auszubauen. Das Release galt<br />
als wenig innovativ, was manchem<br />
OpenStack-Admin aber so schlecht<br />
gar nicht gefallen haben dürfte. Denn<br />
das Update von Essex auf Folsom ein<br />
halbes Jahr zuvor hatte mehr Scherben<br />
produziert, als es dem OpenStack-Projekt<br />
lieb sein konnte. Die Modell-Pflege<br />
in Grizzly hob sich davon wohltuend<br />
ab. Nun also Havana – handelt es sich<br />
um ein weiteres Wartungs-Release oder<br />
haben die Entwickler diesmal mehr<br />
Mut bewiesen und tatsächlich neue<br />
Funktionen eingebaut? Der folgende<br />
Test sieht genauer hin und zeigt, was<br />
OpenStack Havana ausmacht.<br />
Metering mit Ceilometer<br />
Dass sich in Havana mehr verändert<br />
hat als zwischen Folsom und Grizzly,<br />
fällt bereits durch die beiden neuen<br />
Komponenten auf, die in Havana zum<br />
OpenStack-Kern gehören: Ceilometer<br />
und Heat. Dabei ist anzunehmen, dass<br />
Ceilometer im Alltag des OpenStack-<br />
Cloud-Anbieters in absehbarer Zeit<br />
deutlich mehr Relevanz zukommen<br />
wird als Heat. Denn in Form von Ceilometer<br />
hat erstmals eine umfassende<br />
Metering-Lösung Einzug gehalten, die<br />
genaue Statistiken über die genutzten<br />
Ressourcen einzelner Kunden bietet.<br />
Dabei ist es keineswegs so, dass das<br />
Thema Metering in OpenStack bis dato<br />
völlig unbeachtet gewesen wäre. Denn<br />
die Computing-Komponente Nova<br />
konnte bereits in früheren Versionen<br />
grundlegende Statistiken zur Nutzung<br />
durch einzelne Tenants anlegen.<br />
Allerdings waren die gewonnenen<br />
Daten im Anschluss lediglich über<br />
das Dashboard – also das OpenStack-<br />
Web-Interface – überhaupt auslesbar.<br />
Überdies waren auch die messbaren<br />
Parameter auf grundlegende Werte beschränkt.<br />
Für Cloud-Anbieter ist das ein<br />
Problem: Das deutsche Recht verlangt<br />
von Anbietern nämlich, dass diese für<br />
On-Demand-Dienste detaillierte und<br />
notfalls gerichtsverwertbare Nachweise<br />
darüber liefern, welche Dienste ein<br />
Kunde tatsächlich in Anspruch genommen<br />
hat. Wenn eben solche Nachweise<br />
fehlen, können Kunden gegebenenfalls<br />
die Rechnung beanstanden und der Anbieter<br />
bleibt auf seinen Kosten sitzen.<br />
Viele Cloud-Anbieter in Deutschland<br />
sind mittlerweile allein aufgrund dieser<br />
Tatsache auf die pauschalen Flatrate-<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Virtualisierung<br />
OpenStack Havana<br />
95<br />
Angebote ausgewichen, geben so aber natürlich einen großen Teil<br />
der Flexibilität auf, die eine Cloud eigentlich bietet.<br />
Mit Ceilometer soll in OpenStack nun alles besser werden. Der<br />
Dienst ist nicht neu, er hat den OpenStack-typischen Weg durchlaufen,<br />
war also zuerst ein externes Projekt. Kurz vor der Grizzly-<br />
Release wurde er dann zur »Integrated Component«, was zwar<br />
noch nicht dem Status einer völlig integrierten Kernkomponente<br />
gleichkommt, aber die Vorbereitungsstufe dazu ist. In Havana machen<br />
die Ceilometer-Entwickler ernst: Nun ist Ceilometer offizielle<br />
Core-Komponente und somit reif für den echten Cloud-Alltag.<br />
Metering-Technik<br />
Ceilometer (Abbildung 1) setzt unter der Haube auf das schon<br />
erprobte Design einer modularen Grundstruktur, die viele<br />
OpenStack-Komponenten nutzen. Der zentrale Dreh- und Angelpunkt<br />
der Lösung ist eine Datenbank, ab Werk empfehlen die<br />
Ceilometer-Entwickler MongoDB. Auch MySQL und PostgreSQL<br />
sowie HBASE unterstützt Ceilometer aber ausdrücklich. Zur Datenbank<br />
gehört der Ceilometer Collector, der die Nutzungsdaten<br />
der verschiedenen OpenStack-Dienste in die Datenbank schreibt.<br />
Jedoch organisiert sich der Collector diese Daten nicht selbst, er<br />
lagert die Aufgabe stattdessen an sogenannte Agents aus. Diese<br />
lassen sich über Konfigurationseinträge mit den anderen Open-<br />
Stack-Komponenten verbinden, Nova, Neutron & Co zeichnen<br />
Nutzungsdaten dann regelmäßig auf, um sie über die Agents an<br />
den Collector weiterzugeben. Schließlich sorgt die Ceilometer-API<br />
dafür, dass das für OpenStack obligatorische ReSTful-Interface<br />
zur Verfügung steht, über das sich externe Anwendungen mit dem<br />
Dienst verbinden und dessen Informationen auslesen können.<br />
Ceilometer ist für sich genommen freilich noch keine Billing-<br />
Lösung. Denn der Dienst ist nicht darauf ausgelegt, die gesammelten<br />
Daten direkt im Anschluss weiterzuverarbeiten – darauf<br />
haben sich die Entwickler des Dienstes nach langen Diskussionen<br />
verständigt. Ceilomter ist eine reine Metering-Applikation, die ihre<br />
Daten grundsätzlich für jegliche anderen Dienste anbieten kann.<br />
Damit aus Metering Billing wird, fehlt also noch eine Anwendungen,<br />
die Ceilometer-Daten entsprechend nutzt.<br />
Ein vielversprechender Ansatz zur Lösung dieses Problems ist der<br />
noch im Alpha-Stadium befindliche BillingStack [1], der genau<br />
diese Aufgabe wahrnehmen soll. Wer schon eine eigene Billing-<br />
Lösung hat, kann die über die ReSTful-API von Ceilometer aber<br />
gegebenenfalls auch selbst an OpenStack anbinden, wenn ein<br />
bisschen Handarbeit kein Problem ist. Belohnt werden Unternehmen<br />
dann mit der Möglichkeit, jeden auch noch so unscheinbaren<br />
Wert aufzuzeichnen, etwa die Zahl der VMs eines Kunden oder die<br />
Zahl der Netzwerkpakete, die dieser verbraucht hat. Oder die Zahl<br />
der Volumes und deren Gesamtgröße. Die Zahl der aktiven Images,<br />
die Zahl der genutzten Floating-IP-Adressen und viele andere<br />
Labels bietet Ceilometer beim Messen an. In Form von Ceilometer<br />
erhalten mit OpenStack betriebene Clouds jedenfalls ein überaus<br />
mächtiges Tool für statistische Betrachtungen.<br />
Orchestrierung in der Cloud<br />
Die zweite neue Komponente in Havana ist Heat (Abbildung 2).<br />
Heat wird alle Admins in Verzückung versetzen, denen Automatisierung<br />
und Orchestrierung von Bedeutung sind, denn letztlich<br />
Abbildung 1: Ceilometer ist OpenStacks künftige Metering-Lösung, die<br />
auch Billing-Applikationen zulässt. Eine fertige Billing-Lösung fehlt<br />
derzeit aber noch.<br />
Abbildung 2: Das Dashboard bildet die durch Heat hinzugekommenen<br />
Features in Havana bereits an.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
96<br />
Virtualisierung<br />
OpenStack Havana<br />
Abbildung 3: Anhand der Computing-Karte lässt sich darstellen, wie<br />
eine mit Heat gemanagte Umgebung gerade aussieht.<br />
ist Heat ein Spezialwerkzeug, mit dem<br />
sich aufwendige Tasks in OpenStack<br />
per Template vollständig automatisch<br />
umsetzen lassen. Die Idee hinter der<br />
Technik ist dabei keinesfalls neu. Denn<br />
schon in Amazons Public Cloud gibt es<br />
ein ganz ähnliches Werkzeug, das dort<br />
den Namen Amazon CloudFormation<br />
trägt. Wozu lässt sich die Lösung einsetzen?<br />
Das Prinzip der Automatisierung ist<br />
beim Cloud Computing ja im Grunde<br />
omnipräsent: Die ganze Idee hinter<br />
der Einführung von Lösungen wie<br />
der OpenStack-Umgebung ist es, mit<br />
möglichst wenig Aufwand möglichst<br />
große Erträge zu erzielen. Die Zeit, die<br />
Anbieter in die Wartung investieren,<br />
soll kleiner werden. Für die tatsächliche<br />
Infrastruktur der Cloud funktioniert<br />
das auch prächtig; ist OpenStack<br />
einmal eingerichtet, klicken Benutzer<br />
sich nach Lust und Laune die Dienste<br />
zusammen, die sie in der Cloud brauchen.<br />
Nachdem bei typischen Cloud-<br />
Kunden der Wunsch im Raum steht,<br />
auch komplexe IT-Setups in die Cloud<br />
zu verlagern, kann es aber einige Zeit<br />
dauern, bis die passende Konfiguration<br />
erstellt ist. An dieser Stelle tritt<br />
AWS-CloudFormations auf den Plan:<br />
Der Ansatz hier ist, auch den Nutzern<br />
Automatisierung zu bieten, damit diese<br />
sich ganze Computing-Umgebungen<br />
innerhalb der Cloud binnen Sekunden<br />
anlegen können.<br />
Technisch ist das Ganze über sogenannte<br />
Templates gelöst. In diesen legen<br />
die Cloud-Anwender die Parameter<br />
fest, die ihre Computing-Umgebung in<br />
der Cloud genauer beschreiben.<br />
Nutzbare<br />
Parameter<br />
Im Beispiel von Open-<br />
Stack kommt genau<br />
hier Heat ins Spiel:<br />
Heat versteht das AWS-<br />
CloudFormations-<br />
Template und konstruiert<br />
eine digitale<br />
Computing-Umgebung<br />
anhand der Admin-<br />
Vorgaben.<br />
Die Zahl der Parameter,<br />
die sich für die Automatisierung<br />
durch Heat festlegen lassen, ist beeindruckend.<br />
Grundsätzlich definiert der<br />
Admin zunächst einen Namen für die<br />
Computing-Umgebung. Ebenso kann<br />
er auch bestimmen, wieviele virtuelle<br />
Server Teil der Umgebung sein sollen<br />
und welche Dienste auf diesen Servern<br />
laufen sollen. Pro VM muss klar sein,<br />
welches Betriebssystem-Image zum<br />
Einsatz kommt. Sollen einzelnen VMs<br />
Sonderrollen zukommen (beispielsweise<br />
als Loadbalancer oder auch<br />
als Firewall), dann ist das selbstverständlich<br />
konfigurierbar. Dienste wie<br />
Clustering zwischen einzelnen VMs<br />
sind bei Bedarf ebenfalls über Heat<br />
einzurichten. Falls spezifische lokale<br />
Einstellungen nach dem Start notwendig<br />
sind, lassen sich auch beliebige<br />
Shell-Befehle direkt aus einem Heat-<br />
Template heraus ausführen. Sogar<br />
Firewall-Regeln für die einzelnen VMs<br />
lassen sich einstellen, sodass jedes<br />
virtuelle System von Anfang an mit den<br />
passenden Zugangsberechtigungen<br />
ausgestattet ist.<br />
Der Lohn der Mühe besteht in jeder<br />
Menge Zeit, die ein Admin sich im weiteren<br />
Verlauf seiner Arbeit erspart. Will<br />
er eine Webserver-Plattform aus Loadbalancern<br />
und Webservern starten,<br />
klickt er das entsprechende Template<br />
an und hat nach einigen Sekunden eine<br />
fertige Umgebung. Heat tut sogar noch<br />
mehr und überwacht im weiteren Verlauf<br />
automatisch, dass das Setup – wie<br />
vom Admin festgelegt – funktioniert.<br />
Per Template lassen sich Lastgrenzen<br />
festlegen, die nicht überschritten werden<br />
dürfen. Falls doch, löffelt Heat die<br />
Suppe aus und startet automatisch zusätzliche<br />
Ressourcen nach (Abbildung<br />
3). Im Grunde erweitert Heat Open-<br />
Stack also um horizontale Skalierung<br />
automatischer Art für die laufenden<br />
VMs. Fallen VMs nach dem Absturz<br />
eines Hypervisor-Knotens aus, würde<br />
Heat zudem auch das merken und automatisiert<br />
Abhilfe schaffen.<br />
Im Innern von Heat<br />
Heat besteht einerseits aus der<br />
»heat‐engine«, die die Arbeit im Hintergrund<br />
macht; dazu gesellt sich<br />
die API-Komponente »heat‐api« und<br />
»heat‐api‐cfn« (für AWS-CloudFormations,<br />
das Heat, wie erwähnt, neben<br />
dem eigenen Template-Format auch<br />
beherrscht). Dann gibt es auch noch<br />
»heat«, einen Kommandozeilen-Client,<br />
mit dem sich Heat direkt steuern lässt.<br />
Admins werden typischerweise ein<br />
Template schreiben und in Heat dann<br />
mit »heat« einfügen. Das Schreiben der<br />
Templates ist im Übrigen der lästige<br />
Teil der Arbeit mit Heat. Doch sind die<br />
Templates da, ist die Arbeit mit dem<br />
Dienst eine echte Freude. Sowohl für<br />
Heat als auch für Ceilometer gebühren<br />
den OpenStack-Entwicklern definitiv<br />
steil aufgerichtete Daumen.<br />
Neuerungen beim Netzwerk<br />
Auch fernab der beiden neuen Komponenten<br />
hat sich bei OpenStack so<br />
einiges getan. Wer sich die Release-<br />
Notes von Havana anschaut, stolpert<br />
über einen weiteren Namen, der eine<br />
vermeintlich neue Komponente zeigt.<br />
Doch der Eindruck täuscht, denn in<br />
diesem Falle hat das Kind lediglich<br />
einen neuen Namen erhalten: Hinter<br />
Neutron verbirgt sich die Komponente<br />
von OpenStack, die sich um das Thema<br />
Software-Defined-Networking mitsamt<br />
allen Anhängseln kümmert. Bis<br />
einschließlich Grizzly hieß die Komponente<br />
Quantum. Dann wandte sich ein<br />
amerikanischer Netzwerkausrüster an<br />
die OpenStack-Foundation und machte<br />
diese darauf aufmerksam, dass er den<br />
Namen als Marke für ein Produkt registriert<br />
habe. Die Foundation sah sich<br />
also quasi aus dem Nichts mit dem Vorwurf<br />
der Markenrechtsverletzung und<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Virtualisierung<br />
OpenStack Havana<br />
97<br />
einer drohenden Strafe konfrontiert.<br />
Man einigte sich letztlich darauf, dass<br />
man für Quantum einen neuen Namen<br />
suchen würde; in Havana ist dieser Vorgang<br />
abgeschlossen.<br />
Die Umbenennung ging freilich mit<br />
einigen Veränderungen einher; fast<br />
jeder Pfad innerhalb von OpenStack<br />
Networking hatte irgendwo das Wort<br />
»Quantum« in sich – all diese Pfade haben<br />
sich nun geändert. Gleiches gilt für<br />
die Namen der Konfigurationsdateien,<br />
bei denen Neutron auch Quantum ersetzt<br />
hat. Ebenso heißt das »quantum«-<br />
Binary in Havana nun »neutron«.<br />
Ihre eigenen Hausaufgaben haben<br />
die Networking-Entwickler also ganz<br />
ordentlich erledigt, falls Anwender allerdings<br />
Shell-Skripte nutzen, die noch<br />
»quantum« aufrufen oder die alten Python-Module<br />
von Quantum einsetzen,<br />
so sind diese händisch entsprechend<br />
zu ändern, damit die Funktionalität<br />
grundsätzlich erhalten bleibt.<br />
LBaaS, FWaaS<br />
Natürlich hat es bei Neutron auch<br />
technische Änderungen gegeben. Die<br />
größten Neuerungen sind die Plugins<br />
Loadbalancer-as-a-Service (LBaaS) sowie<br />
Firewall-as-a-Service (FWaaS), die<br />
in Neutron neu hinzugekommen sind.<br />
Beide machen sich ein Havana-Feature<br />
von Neutron zunutze, denn es ist für<br />
den OpenStack-Netzwerkdienst nun<br />
möglich, mehr als ein Plugin für Netzwerktechnologien<br />
zu laden. Zuvor ging<br />
nur ein Plugin und das war in der Regel<br />
jenes für die SDN-Technik, also meist<br />
Open vSwitch. In Havana kann Neutron<br />
zusätzliche Plugins laden. Die beiden<br />
genannten Dienste bauen genau darauf<br />
auf.<br />
LBaaS erweitert Neutron um eine<br />
Loadbalancer-Funktionalität – dabei<br />
kommt HAProxy zum Einsatz, das Neutron<br />
automatisch passend konfiguriert,<br />
falls der Benutzer eine Loadbalancer-<br />
Konfiguration benötigt.<br />
FWaaS ermöglicht es dem Benutzer,<br />
feinmaschige Regeln für IPtables in<br />
OpenStack zu hinterlegen, die die<br />
Cloud-Umgebung anschließend auf<br />
VMs anwendet. Das mag wie eine Tautologie<br />
klingen, gibt es in OpenStack<br />
doch bereits die sogenannten Security<br />
Groups, die ebenso festlegen, welche<br />
VMs von wo aus erreichbar sein sollen<br />
und wohin sie Verbindungen aufbauen<br />
dürfen. Doch gibt es zwischen den<br />
Umsetzungen erhebliche Unterschiede.<br />
Denn die Security-Groups erlauben<br />
im Grunde das Festlegen von Sicherheitsregeln<br />
pro Port, den der virtuelle<br />
Switch (zum Beispiel über Open<br />
vSwitch) einer VM zuweist. Umfassende<br />
Firewall-Setups lassen sich so freilich<br />
nicht sinnvoll verwalten, und genau<br />
diese Lücke will das FWaaS-Plugin<br />
nun schließen. Beide Plugins gehören<br />
zu Havana, im Neutron-Handbuch<br />
sind beide Funktionen ebenso bereits<br />
erwähnt, sodass einem Test nichts im<br />
Wege steht.<br />
VPNaaS<br />
Für großes Interesse sorgt auch die<br />
VPNaaS-Funktion, die Neutron nun<br />
über ein eigenes Plugin implementiert.<br />
VPNaaS zielt darauf ab, dass auf dem<br />
OpenStack-Netzwerkknoten<br />
VPN-<br />
Dienste laufen, mit<br />
denen sich Nutzer<br />
von außen unmittelbar<br />
verbinden können.<br />
Anschließend<br />
sind sie quasi in ihrem<br />
Cloud-Netzwerk<br />
per VPN eingeloggt<br />
und erhalten dort<br />
direkten Zugriff<br />
auf ihre virtuellen<br />
Systeme. Derzeit<br />
unterstützt VPNaaS<br />
nur IPsec, sodass<br />
die Einrichtung auf<br />
Client-Seite unter<br />
Umständen kompliziert<br />
sein könnte;<br />
grundsätzlich macht<br />
die Implementation<br />
aber einen guten<br />
Eindruck. Wer sich<br />
also nicht vor IPsec<br />
fürchtet, bekommt<br />
hier echten Mehrwert.<br />
Treiberumbau<br />
Und auch beim<br />
schon bestehenden<br />
Code hat sich einiges getan. Wer in<br />
der Vergangenheit Quantum mit Open<br />
vSwitch aufgesetzt hat, der weiß, dass<br />
es ein spezifisches Plugin für Open<br />
vSwitch in Quantum gab, so wie Plugins<br />
für andere SDN-Techniken ebenfalls<br />
zur Verfügung standen. Im OpenStack-<br />
Sprech sind all diese Plugins unter<br />
dem Oberbegriff »L2« zu einer Gruppe<br />
zusammengefasst, weil sie auf dem<br />
OSI-Layer 2 aufbauen. Das bestehende<br />
Plugin-System haben die Entwickler<br />
kräftig umgebaut: An die Stelle der<br />
einzelnen Plugins tritt nun ein eigenes<br />
Framework, das das Schreiben von L2-<br />
Agents durch generische Funktionen<br />
erleichtern und auch vereinheitlichen<br />
soll. Wer als Anbieter für spezifische<br />
Hardware bis dato ein L2-Plugin bauen<br />
wollte, braute im Wesentlichen sein<br />
eigenes Süppchen – nun gibt es einen<br />
dokumentierten Standard. Und noch<br />
einen sehr großen Vorteil bietet das<br />
Modular Layer 2 getaufte Prinzip, denn<br />
www.admin-magazin.de
98<br />
Virtualisierung<br />
OpenStack Havana<br />
Abbildung 4: Auch bei der Netzwerk-Darstellung haben die Dashboard-Coder<br />
zum Schminkkasten gegriffen und die Darstellung sehr<br />
viel ansehnlicher gemacht als noch in Grizzly.<br />
in Havana ist es erstmals möglich, mehrere<br />
L2-Techniken gleichzeitig einzusetzen,<br />
also verschiedene L2-Technologien<br />
nebeneinander in ein und derselben<br />
Cloud zu betreiben.<br />
Viel Neues bei Glance<br />
Änderungen gibt es auch bei Open-<br />
Stacks internem Image-Dienst Glance.<br />
Obgleich Glance eher unbedeutend<br />
wirkt, erfüllt es eine sehr wichtige Aufgabe,<br />
indem es Betriebssystem-Images<br />
für neu zu startende VMs nach einer<br />
entsprechenden Anweisung vom Computing-Dienst<br />
»Nova« liefert. In Havana<br />
tut Glance das bei Bedarf von mehreren<br />
Image-Storages aus gleichzeitig, denn<br />
die neue Version der Software kann mit<br />
verschiedenen Storage-Backends zur<br />
gleichen Zeit umgehen. Anwender können<br />
in Zukunft also ganz bewusst auswählen,<br />
auf welchem Image-Speicher<br />
ihre Images für die Nutzung bereitgestellt<br />
werden sollen. Für Cloud-Anbieter<br />
entsteht die Möglichkeit, unterschiedliche<br />
Storage-Qualitäten zu unterschiedlichen<br />
Preisen anzubieten – ein schneller,<br />
mehrfach redundanter Speicher für<br />
wichtige Images und – gegen entsprechende<br />
Bezahlung – ein langsamerer<br />
und weniger oft redundanter Speicher<br />
für Test-Images, der deutlich weniger<br />
kostet – der Phantasie sind kaum Grenzen<br />
gesetzt.<br />
Neue Storage-Backends sind ebenfalls<br />
hinzugekommen, so unterstützt Glance<br />
nun das Ablegen von Images auf dem<br />
verteilten Object-Store<br />
Sheepdog[2]. Auch<br />
GridFS[3] steht als<br />
Back end zur Verfügung,<br />
und in Havana<br />
kann Glance obendrein<br />
Images auch noch in<br />
Volumes vom Open-<br />
Stack-Volume-Dienst<br />
»Cinder« ablegen.<br />
Wer verhindern will,<br />
dass seine Nutzer<br />
unbotmäßig viel<br />
Speicherplatz in den<br />
Storage-Backends von<br />
Glance in Anspruch<br />
nehmen, kann in<br />
Havana ein Quota<br />
für Nutzer in Glance<br />
setzen, das über alle Storage-Backends<br />
hinweg gilt. Und wer festlegen möchte,<br />
dass nur bestimmte Image-Formate in<br />
Glance zum Einsatz kommen können,<br />
kann das in Havana über eine entsprechende<br />
Formatliste tun. So ließen sich<br />
beispielsweise RAW-Images ausschließen,<br />
die nicht komprimiert sind und im<br />
Storage unverhältnismäßig viel Platz in<br />
Anspruch nähmen.<br />
Neuigkeiten auch bei Cinder<br />
Der Volume-Dienst Cinder hat ebenso<br />
wie Glance einiges an Makeup im Rahmen<br />
des Havana-Releases abbekommen<br />
und glänzt mit neuen Features.<br />
Fast schon normal sind die vielen<br />
Updates bei den Storage-Treibern:<br />
In Grizzly ergoss sich bereits eine beträchtliche<br />
Menge neuer Treiber über<br />
Cinder-Anwender und in Havana kommen<br />
weitere Treiber dazu. Überdies<br />
erhielten die existierenden Treiber<br />
viele zusätzliche Funktionen. In Havana<br />
kann Cinder Volumes erstellen, die auf<br />
IBMs GPFS-Dateisystem lagern, und<br />
auch Unterstützung für das Hitachi<br />
Unified Storage feiert in Havana seine<br />
Premiere. Wer OpenStack mit VMware<br />
kombiniert, darf sich über die Unterstützung<br />
für VMwares Dateisystem<br />
freuen, die Cinder in Havana ebenfalls<br />
mitbringt.<br />
Zu den Treibern, die im Rahmen des<br />
Havana-Release deutlich aufgebohrt<br />
worden sind, zählen die für HPs<br />
Lefthand-Storages, für GlusterFS und<br />
für Storages von Coraid und Zadara.<br />
Der Treiber für HPs 3PAR-Produkte<br />
unterstützt nun auch die Anbindung<br />
per FibreChannel, wo vorher nur iSCSI<br />
ging. Auch Hausputz haben die Cinder-<br />
Entwickler gemacht: So haben sie den<br />
Standard-Treiber (LVM über iSCSI) aufgeräumt<br />
und effizienter gemacht. Auf<br />
die Kompatibilität zu bereits genutzten<br />
Konfigurationsdateien wirkt sich das<br />
aber nicht aus. Wer OpenStack mit<br />
Ceph als Storage-Dienst nutzt, darf sich<br />
über die Möglichkeit freuen, Volumes<br />
direkt aus Cinder heraus in Ceph als<br />
Backup zu sichern. Aus Nutzersicht ist<br />
ein weiteres interessantes Feature, ein<br />
Volume von einem Nutzer auf einen anderen<br />
übertragen zu können. Bis dato<br />
war das auf Cinder-Ebene streng voneinander<br />
getrennt. Havana bringt das<br />
Feature in Produktionsreife mit.<br />
Das Dashboard Horizon<br />
Das zentrale Web-Interface in Open-<br />
Stack hat im Rahmen der Havana-<br />
Release vor allem Support für die<br />
Funktionen erhalten, die in den Komponenten<br />
ringsum hinzugekommen<br />
sind. Es handelt sich fast schon um das<br />
typische Katz-und-Maus-Spiel, das sich<br />
bei jeder OpenStack-Release wiederholt:<br />
Die Entwickler bauen spannende<br />
Funktionen ein, die Dashboard-Entwickler<br />
tun ihr Möglichstes, damit sich<br />
die neuen Funktionen auch direkt aus<br />
dem Web-Interface heraus nutzen und<br />
konfigurieren lassen. Bei der Havana-<br />
Release hat das sehr gut funktioniert:<br />
Es ist beispielsweise möglich, die<br />
FWaaS- und LBaaS-Funktionen direkt<br />
aus Horizon heraus zu konfigurieren.<br />
Und Heat-Support ist ebenso präsent<br />
wie Unterstützung für die neue Komponente<br />
Ceilometer. Die Darstellung von<br />
Quotas ist nun deutlich hübscher als<br />
zuvor. Insgesamt sind die äußerlichen<br />
Änderungen beim Dashboard (Abbildung<br />
4) – und um die geht es ja vorrangig<br />
– allerdings eher dezent, wohl sehr<br />
zur Freude der meisten Nutzer.<br />
Neuerungen in Nova<br />
Auch in der Compute-Komponente hat<br />
sich vieles getan – viele kleine Details<br />
funktionieren nun anders als zuvor und<br />
sorgen so für ein sehr viel stimmigeres<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Virtualisierung<br />
OpenStack Havana<br />
99<br />
Bild. Die in Grizzly wieder eingeführte<br />
Unterstützung für HyperV hat das italienische<br />
Entwicklerteam von Cloudbase<br />
rund um Alessandro Pilotti konsequent<br />
ausgebaut. Der Support für VMware ist<br />
nun nicht zuletzt dank der Hilfe von VMware<br />
umfangreicher als zuvor. Mächtig<br />
viele Neuerungen hat auch die Implementation<br />
der »Cells« abbekommen,<br />
bei denen sich einzelne Hypervisor-<br />
Knoten zu logischen Gruppen zusammenfassen<br />
lassen. Die Kooperation<br />
zwischen Cinder und Nova hinsichtlich<br />
der Cells erlaubt es nun beispielsweise,<br />
Cinder-Volumes Cell-spezifisch zu<br />
nutzen. Obendrein unterstützt Nova<br />
nun nativ das GlusterFS-Backend von<br />
Qemu, so dass VMs auf GlusterFS nicht<br />
mehr den Umweg über FUSE nehmen<br />
müssen. PCI-Passthrough lässt sich<br />
über den Libvirt-Treiber in Nova nun<br />
problemlos umsetzen, allerdings ist<br />
Libvirt auch der einzige Treiber für<br />
Computing-Frameworks in Nova, der<br />
diese Funktion augenblicklich kann.<br />
Dann gibt es noch eine Funktion zum<br />
Verschlüsseln von Volumes – die wird<br />
dem versierten Admin Tränen in die<br />
Augen treiben, allerdings keine Freudentränen:<br />
Die Technik beruht nämlich<br />
auf der Annahme, dass es einen zentralen<br />
Schlüssel gibt, mit dem Volumes in<br />
Cinder von Nova verschlüsselt werden.<br />
Wer den Schlüssel hat, kann entschlüsseln,<br />
was er will. Den OpenStack-<br />
Entwicklern selbst ist klar, dass diese<br />
Lösung nur bedingt nützlich ist, die<br />
nächste Release – Icehouse – soll sehr<br />
viel flexiblere Verschlüsselungsmöglichkeiten<br />
bieten. Vom Havana-Feature<br />
ist aus sicherheitstechnischer Sicht<br />
jedenfalls abzuraten.<br />
Es würde an dieser Stelle den Rahmen<br />
sprengen, sämtliche Änderungen in<br />
Nova zu kommentieren, die erwähnenswert<br />
wären – vieles davon spielt<br />
sich unter der Haube ab und wird vom<br />
Benutzer in der Regel unbemerkt bleiben.<br />
Eine sichtbare Änderung betrifft<br />
das Starten von VMs: Bis zur Grizzly-<br />
Release ließen sich VMs starten, ohne<br />
ein Netzwerk anzugeben, mit dem sie<br />
verbunden sein sollten. In solchen Fällen<br />
hat Nova einfach eine Verbindung<br />
zu jedem verfügbaren Netz hergestellt,<br />
auch zu externen Netzen mit Floating-<br />
IPs. Weil das wenig<br />
sinnvoll ist, hat sich<br />
das Standardverhalten<br />
von Nova geändert: Die<br />
Angabe eines Netzes<br />
beim Starten einer VM<br />
ist nun verpflichtend,<br />
wenn mehre Netze vorhanden<br />
sind.<br />
Fazit: Gelungen<br />
OpenStack wird langsam<br />
erwachsen, die<br />
Havana-Release stellt<br />
das ganz eindrücklich<br />
unter Beweis. Denn obwohl<br />
es diesmal deutlich<br />
mehr tief in das<br />
System eingreifende<br />
Veränderungen gibt,<br />
wirkt Havana anfangs<br />
nicht annähernd so<br />
zerbrechlich wie es Folsom<br />
seinerzeit tat. Und<br />
einige der Neuerungen<br />
in Havana sind wirklich cool: Endlich<br />
schweigt OpenStack das Thema Metering<br />
nicht mehr tot, sondern stellt<br />
in Form von Ceilometer ein mächtiges<br />
Werkzeug für diese Aufgabe zur Verfügung.<br />
Heat wirkt momentan wie ein<br />
nettes Gimmick, wird sich im Alltag der<br />
Cloud-Admins aber als sehr nützliches<br />
Werkzeug herausstellen. Gleiches gilt<br />
für die massiven Änderungen, die Neutron<br />
– vormals Quantum – durchlaufen<br />
hat. Am Ende des eingeschlagenen<br />
Weges könnte die Möglichkeit stehen,<br />
unterschiedliche SDN-Technologien<br />
wie Open vSwitch und Cloudbases<br />
Windows-Portierung von Neutron in<br />
der gleichen Cloud zu hosten (Abbildung<br />
5), ohne dass Außenstehende<br />
einen Unterschied merken. Die Plugins<br />
für Firewall, Loadbalancer und VPN-asa-Service<br />
sind eine überaus nützliche<br />
Funktionserweiterung und füllen eine<br />
Lücke.<br />
Insgesamt vermag Havana also durchaus<br />
zu begeistern, sodass jeder Cloud-<br />
Admin gut daran tut, sich bereits vorab<br />
mittels einer Installation im Staging-<br />
System über eventuelle Migrationspfade<br />
zu informieren. Denn wer um die<br />
Havana-Features weiß, wird sie kaum<br />
langfristig missen wollen. (jcb) n<br />
Abbildung 5: OpenStack & Windows ist ein wichtiges Thema. Cloudbase<br />
ist im Moment quasi die Triebfeder dafür – auch in Havana gibt es<br />
viele wichtige Verbesserungen.<br />
n Info<br />
n Autor<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30804<br />
Martin Gerhard Loschwitz arbeitet als Principal<br />
Consultant bei hastexo. Er beschäftigt sich dort intensiv<br />
mit den Themen HA, Distributed Storage und<br />
OpenStack. In seiner Freizeit pflegt er Pacemaker für<br />
Debian.<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
100<br />
Virtualisierung<br />
vSphere 5.5<br />
Viktoriya Sukhanova, 123RF<br />
VMware vSphere 5.5: Die wichtigsten Neuerungen im Überblick<br />
In der virtuellen<br />
Sphäre<br />
Virtualisierung gehört zum Standardrepertoire eines modernen Admins: vom Desktop bis zum Server-<br />
Verbund. vSphere – einst bekannt als VMware Infrastructure − heißt das Cloud-Computing-Produkt des<br />
Virtualisierungspioniers VMware und ist nun in Version 5.5 erschienen. Thomas Joos<br />
Skalierbarkeit und Hochverfügbarkeit<br />
heißen die Bereiche, die VMware in der<br />
jetzt erschienenen Version 5.5 seiner<br />
Virtualisierungslösung vSphere [1] betont.<br />
Daneben bringt der Hersteller die<br />
Hardware-Unterstützung auf den aktuellen<br />
Stand, um mit den Entwicklungen<br />
bei der vSphere-Konkurrenz Hyper-V [2]<br />
von Microsoft mitzuhalten.<br />
Größere Festplatten mit<br />
Abwärtskompatibilität<br />
Zunächst macht die neue vSphere-<br />
Version bei der Obergrenze der unterstützten<br />
Festplatten einen großen<br />
Schritt nach vorne. Sie nutzt die durch<br />
Windows Server 2012 eingeführten<br />
Möglichkeiten und verwaltet nun bis zu<br />
64 TByte große Speichermedien, statt<br />
bisher 2 TByte. Die Anzahl maximal<br />
unterstützter CPUs und die zugelassene<br />
Arbeitsspeichergröße pro Host<br />
verdoppelt die neue Version jeweils auf<br />
320 beziehungsweise 4 TByte. Letzteres<br />
gilt nun auch für die kostenlose ESXi-<br />
Variante [5] des Hypervisors (siehe<br />
Abbildung 1), deren Nutzer sich bislang<br />
auf 32 GByte RAM beschränkt sahen.<br />
Nicht benötigte Prozessoren versetzt<br />
die neue vSphere-Ausgabe in einen<br />
Stromsparmodus und nutzt dazu nicht<br />
mehr deren Performance States, sondern<br />
greift direkt auf ACPI-Funktionen<br />
zurück.<br />
In Formatfragen bleibt VMware auch<br />
bei vSphere 5.5 zum Speichern virtueller<br />
Platten dem im eigenen Haus<br />
entwickelten, aber dennoch offenen<br />
Format VMDK (Virtual Machine Disk)<br />
treu, während Konkurrent Hyper-V auf<br />
VHDX setzt. VMDK bietet neben der Unterstützung<br />
in anderen Virtualisierungsprodukten<br />
wie VirtualBox und Qemu<br />
den Vorteil der Abwärtskompatibilität.<br />
Bei älteren vSphere-Versionen bleibt<br />
n vSphere-Varianten und ‐Preise<br />
Bei der Preisgestaltung unterteilt VMware die verschiedenen vSphere-<br />
Varianten zunächst in fünf Kategorien. Darin enthalten sind die Editions<br />
genannten Ausgaben-Lizenzen für je einen Prozessor, während es sich<br />
bei den sogenannten Kits um Pakete handelt, die sechs CPUs abdecken.<br />
Die Grundkonfigurationen unterscheiden sich in ihrer Ausstattung und<br />
sind auf unterschiedliche Anwendungsszenarien zugeschnitten. Die<br />
Produktvergleichsseite [3] gibt einen vollständigen Überblick über die<br />
enthaltenen Features, [4] über die genauen Preise. Sie liegen zwischen<br />
445 Euro für das grundlegende Essentials Kit in der Standard-Variante<br />
und 25 500 Euro für vSphere mit dem Operations Management Enterprise<br />
Plus Acceleration Kit.<br />
Neben den Lizenzgebühren verpflichten die meisten vSphere-Pakete<br />
zum Kauf von mindestens einjährigem „Subscription and Support“<br />
(SnS). Diesen gibt es wiederum in einer Basic-Variante, der unter der<br />
Woche täglich zwölf Stunden bereitsteht, sowie als Production-Paket,<br />
das rund um die Uhr Unterstützung verspricht. Für das Essentials Kit<br />
gibt es darüber hinaus Support auf Einzellfallbasis. Daneben hängen<br />
die SnS-Preise wiederum von der zugrunde liegenden vSphere-Lizenz<br />
ab und bewegen sich zwischen 58 Euro pro Jahr beim Essentials Kit<br />
mit Basic-SnS und etwa 8300 Euro bei der vSphere-Luxusvariante mit<br />
Production-Support.<br />
Ausgabe 12-2013<br />
Admin<br />
www.admin-magazin.de
Virtualisierung<br />
vSphere 5.5<br />
101<br />
Abbildung 1: vSphere 5.5 kommt mit neuen Features.<br />
Abbildung 2: Der webbasierte Administrations-Client unterstützt einige<br />
Funktionen mehr als der native Windows-Client.<br />
Neue Techniken<br />
vSphere 5.5 unterstützt außerdem das<br />
Advanced Host Controller Interface<br />
(AHCI). Über virtuelle SATA-Controller<br />
stellt die Software auf diesem Weg bis<br />
zu 30 virtuelle Festplatten oder optische<br />
Laufwerke zur Verfügung. Jede<br />
virtuelle Maschine erhält maximal vier<br />
SATA-Controller. Dies ermöglicht die<br />
Hardware-Virtualisierungsschicht namens<br />
Virtual Hardware, die im neuen<br />
vSphere Version 10 erreicht hat. Sie<br />
unterstützt jetzt auch ausfallsichere<br />
Failover-Cluster auf Basis von Windows<br />
Server 2012 mit iSCSI und FCoE (Fibre<br />
Channel over Ethernet). Die letzteren<br />
beiden Techniken transportieren SCSIbeziehungsweise<br />
Fibre-Channel-Kommandos<br />
zur Kommunikation mit Geräten<br />
über ein Ethernet- oder IP-basiertes<br />
Netzwerk.<br />
Um die Stabilität zu erhöhen, lagert<br />
vSphere 5.5 in der Enterprise- und<br />
der Enterprise-Plus-Variante wichtige<br />
Systemdaten in sichere Bereiche des<br />
Arbeitsspeichers aus. Das soll Abstürze<br />
beim Auftreten defekter RAM-Bits<br />
verhindern, deren Wahrscheinlichkeit<br />
mit der Größe des Arbeitsspeichers<br />
zunimmt. Mit Augenmerk auf Desktopjedoch<br />
deren Begrenzung auf eine Festplattengröße<br />
von 2 TByte bestehen,<br />
größere virtuelle Speicher liest nur die<br />
neue Ausgabe. Der Nachteil von VMDK<br />
besteht in einer geringeren Flexibilität:<br />
Anders als VHDX-Dateien lässt sich die<br />
Größe von VMDK-Images nicht im laufenden<br />
Betrieb ändern. Dazu kommt,<br />
dass nur der webbasierte Administrations-Client<br />
(Abbildung 2) die neuen<br />
Medien unterstützt.<br />
Der native Windows-Client (Abbildung<br />
3) fällt an dieser Stelle aus und legt<br />
ohnehin den Verdacht nahe, dass VMware<br />
diesen etwas vernachlässigt. Auch<br />
wenn VMware die schrittweise Verbesserung<br />
des Windows-Clients angekündigt<br />
hat, weist die beim Web-Client<br />
verbesserte Oberfläche mit Drag-and-<br />
Drop-Unterstützung und einer Schnittstelle<br />
für das in den Enterprise-Varianten<br />
enthaltene Hadoop-Plugin darauf<br />
hin, dass der Fokus der Entwicklung auf<br />
ihm liegt. Der Web-Client ermöglicht<br />
nun zudem, auch im laufenden Betrieb<br />
SSD-Festplatten hinzuzufügen.<br />
Der Windows-Client verwaltet weiterhin<br />
auch kostenlose ESXi-Umgebungen,<br />
allerdings besteht hier die alte Grenze<br />
von 2 TByte bei virtuellen Festplatten<br />
weiter. Wollen Administratoren nicht<br />
auf den Web-Client ausweichen, steht<br />
ihnen alternativ die kostenlose vCenter-Appliance<br />
zur Verfügung. Deren<br />
Installation setzt allerdings zunächst<br />
einen der beiden anderen Verwaltungs-<br />
Clients voraus.<br />
Maschinen erlaubt vSphere virtuellen<br />
Systemen für die 3D-Grafikbeschleunigung<br />
direkt auf die entsprechenden<br />
Chips der Grafikkarte zuzugreifen, auch<br />
wenn sie von AMD oder Intel stammen;<br />
bislang funktionierte dies ausschließlich<br />
mit NVidia-Hardware.<br />
Hochverfügbarer Speicher<br />
Das neue vSphere-Feature »Virtual<br />
SAN« legt verschiedene Datenträger<br />
eines Host-Systems zu einem virtuellen<br />
Speicher zusammen, ebenso wie die<br />
in Windows Server 2012 verwendeten<br />
Speicher-Pools. Die so erzeugten Speicher<br />
stehen verschiedenen virtuellen<br />
Servern zur Verfügung. Leider unterliegt<br />
das bislang nur in einer Beta-Version<br />
ausgelieferte Virtual SAN weiterhin der<br />
eigentlich von vSphere 5.5 gesprengten<br />
2-TByte-Grenze bei den Festplattengrößen<br />
und bindet nur Speichermedien<br />
mit höchstens dieser Kapazität ein.<br />
Solche Mängel erwecken den Eindruck,<br />
das VMware noch nicht ganz ausgereifte<br />
Features auf Grund des Konkurrenzdrucks<br />
durch Hyper-V voreilig<br />
ausliefert. Denn auch wenn VMware<br />
hier voraussichtlich noch nachbessert,<br />
bedeutet der limitierte Funktionsumfang<br />
der virtuellen SANs einen klaren<br />
Punktverlust gegenüber Microsofts<br />
Hybrid-V, das in Windows Server 2012<br />
mit VHDX-Festplatten sogar iSCSI-Ziele<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
102<br />
Virtualisierung<br />
vSphere 5.5<br />
erstellt und sie als gemeinsame Festplatte<br />
(Shared VHDX) mehreren virtuellen<br />
Servern zur Verfügung stellt.<br />
Das primäre Ziel von Virtual SAN liegt<br />
allerdings ohnehin nicht darin, physische<br />
SANs zu ersetzen, vielmehr soll<br />
die Technik über mehrere Festplatten<br />
verteilten freien Speicherplatz zusammenfassen.<br />
In einem Speicher-Cluster<br />
unterstützt Virtual SAN bis zu acht Knoten.<br />
Zu beachten ist dabei, dass die Verwaltung<br />
auch hier ausschließlich über<br />
den Web-Client erfolgt und dass ältere<br />
vSphere-Versionen mit solchen Medien<br />
nicht zurechtkommen.<br />
Virtual SAN erfordert für den Betrieb<br />
mit SSD-Platten ausgestattete Hosts,<br />
auf denen es die Daten für den Zugriff<br />
der virtuellen Maschinen zwischenspeichert.<br />
Die gleiche Methode bietet<br />
vSphere in der neuen Ausgabe übrigens<br />
auch für andere Speicherbereiche,<br />
unabhängig von Virtual SAN an. Das<br />
Zwischenspeichern entlastet den physischen<br />
Festplattenspeicher deutlich,<br />
da Schreib- und Lesezugriffe über den<br />
schnellen SSD-Cache erfolgen. Doch die<br />
Technik kommt Virtual SANs besonders<br />
zugute, weil sie häufig umfangreiche<br />
Netzwerktransfers benötigen. Trotzdem<br />
sollte dem Virtual SAN ein schnelles<br />
Netzwerk zwischen den vSphere-Hosts<br />
Abbildung 4: Das neue Virtual SAN fasst unter anderem im Netzwerk<br />
verteilten Speicherplatz zusammen.<br />
Abbildung 3: Der Windows-Client existiert<br />
weiter, spielt jedoch offenbar eine untergeordnete<br />
Rolle.<br />
zugrunde liegen, idealerweise mit einer<br />
Übertragungsrate von mindestens 10<br />
Gigabit pro Sekunde und gebündelten<br />
Netzwerkkarten (NIC-Teams).<br />
Bei Virtual SANs definieren konfigurierbare<br />
Richtlinien (Abbildung 4) die<br />
mindestens erforderliche Leistung<br />
jedes virtuellen Servers sowie die Toleranzgrenze<br />
bei Ausfällen virtueller Platten.<br />
Außerdem legen sie die maximale<br />
Anzahl physischer Festplatten fest,<br />
über die sich die Daten einer virtuellen<br />
Platte verteilen. Um<br />
die Leistung zu erhöhen,<br />
verteilt Virtual<br />
SAN die gespeicherten<br />
Daten optional automatisch<br />
zwischen den<br />
angebundenen Hosts.<br />
Auf dieser Basis definieren<br />
die Richtlinien<br />
jedes einzelnen virtuellen<br />
Servers eigene Service<br />
Level Agreements<br />
(SLAs).<br />
Ein weiterer Wermutstropfen<br />
neben der<br />
2-TByte-Grenze ist<br />
eher finanzieller Natur:<br />
Virtual SAN erfordert<br />
eine eigene Lizenzierung,<br />
obwohl es in<br />
vSphere integriert ist.<br />
Die Rechengrundlage<br />
bildet dabei die Anzahl<br />
der verwendeten CPU-<br />
Sockel. Jeder Server erhält maximal<br />
fünf Festplattengruppen, die wiederum<br />
aus bis zu sechs physischen Festplatten<br />
und einer SSD bestehen. Zu den genauen<br />
Preisen der finalen Virtual-SAN-<br />
Version gibt es noch keine Angaben.<br />
Bessere Verwaltung mit<br />
vCenter Server Appliance<br />
Bereits mit vSphere 5 hatte VMware die<br />
Möglichkeit geschaffen, die vSphere-<br />
Umgebung mit einer virtuellen Maschine<br />
auf Linux-Basis zu verwalten<br />
[6]. Die vCenter Server Appliance soll<br />
die Virtualisierung unabhängig von<br />
Windows-Lizenzen machen, da sie die<br />
vSphere-Konfiguration ohne Windows-<br />
Server ermöglicht.<br />
Mit Version 5.5 verbessert VMware<br />
diese Möglichkeit der Verwaltung<br />
deutlich. Die Appliance verwaltet jetzt<br />
bis zu 500 Hosts mit insgesamt bis zu<br />
5000 virtuellen Servern; vorhergehende<br />
vCentre-Versionen beschränkten sich<br />
auf höchstens fünf ESXi-Hosts mit maximal<br />
50 virtuellen Servern. Zugleich arbeitet<br />
vCenter komplett selbstständig:<br />
Die Appliance basiert auf Suse Linux<br />
Enterprise Server und setzt weder Windows-Lizenzen<br />
noch Verwaltungsserver<br />
oder Datenbanken voraus, denn es<br />
verwendet die OpenSource-Datenbank<br />
PostgreSQL. vCentre eignet sich also<br />
für die zentrale und kostensparende<br />
Verwaltung von Umgebungen jeder<br />
Größe. Wächst die Zahl der Hosts und<br />
virtuellen Maschinen über das mit<br />
vCenter-Mitteln handhabbare Maß<br />
hinaus, lässt sie sich um eine externe<br />
Oracle-Datenbank erweitern.<br />
In Sachen Sicherheit legt vSphere 5.5<br />
ebenfalls eine Neuordnung vor. Die<br />
Verwaltung über die Shell setzt nun<br />
nicht mehr nur auf das Root-Konto: Es<br />
genügt auch das Administrator-Konto<br />
des entsprechenden Anwenders.<br />
Bessere Hochverfügbarkeit<br />
für Anwendungen<br />
Auch eine Verbesserung im Bereich<br />
der Hochverfügbarkeit liefert VMware<br />
mit vSphere 5.5 mit. Die neue Funktion<br />
»App HA«, die nur der Enterprise-Plus-<br />
Edition von vSphere beiliegt, gewährleistet<br />
die Hochverfügbarkeit virtueller<br />
Anwendungen, die auf verschiedenen<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
Virtualisierung<br />
vSphere 5.5<br />
103<br />
virtuellen Servern verteilt laufen. Schon<br />
frühere vSphere-Versionen reagierten<br />
auf den Ausfall von einzelnen Servern<br />
mithilfe von VMware High Availability.<br />
Sobald ein Virtualisierungs-Host im<br />
Netzwerk ausfällt, und damit die darauf<br />
laufenden virtuellen Maschinen, erkennt<br />
vCenter diesen Ausfall und startet<br />
die entsprechenden Gastsysteme<br />
ersatzweise auf einem anderen Host im<br />
Netzwerk.<br />
Das System erkennt auch Abstürze<br />
virtueller Server und startet diese bei<br />
entsprechender Konfiguration automatisch<br />
neu. Allerdings schlägt auch die<br />
neue Version in puncto Ausfallsicherheit<br />
fehl, wenn eine virtuelle Maschine<br />
mehrere vCPUs einsetzt.<br />
Mit App HA für die Hochverfügbarkeit<br />
für Anwendungen geht es nun noch<br />
einen Schritt weiter. Das System überwacht<br />
nicht nur die Verfügbarkeit der<br />
virtuellen Server, sondern mithilfe von<br />
VMware Hyperic auch direkt auf den<br />
virtuellen Servern laufende Prozesse.<br />
Damit erkennt ein Agent im virtuellen<br />
Server Prozessausfälle und reagiert gemäß<br />
der vom Administrator definierten<br />
Vorgaben.<br />
Im Fall eines Problems vermeidet das<br />
System zunächst, die ganze virtuelle<br />
Maschine auf einen anderen Host zu<br />
transferieren oder neu zu starten, denn<br />
diese im Fall großer Gastsysteme aufwendigen<br />
Vorgänge kosten Zeit und<br />
Bandbreite und bergen somit wiederum<br />
die Gefahr neuerlicher Probleme.<br />
Stattdessen startet App HA einzelne<br />
ausgefallene Dienste direkt in den virtuellen<br />
Servern neu. Erst wenn diese<br />
Maßnahme scheitert, greift es auf weiterführende<br />
Maßnahmen zurück, von<br />
der automatischen Benachrichtigung<br />
an den Admin bis zum Neustart und<br />
dem Verschieben auf einen anderen<br />
Host-Rechner. App HA konkurriert also<br />
mit Microsofts System Center Operations<br />
Manager, allerdings bleibt die<br />
Auswahl der zu überwachenden Anwendungen<br />
geringer.<br />
Fazit<br />
In der Summe zeigt sich die neue<br />
vSphere-Version als ambitionierte Aktualisierung,<br />
die sowohl Anpassungen<br />
an die von aktuellen Windows-Server-<br />
Versionen bereitgestellten Funktionen<br />
als auch neue Features mitbringt.<br />
Leider halten diese noch nicht immer,<br />
was sie versprechen, weshalb sich etwa<br />
beim geplanten Einsatz sehr großer<br />
Festplatten eine genaue Prüfung empfiehlt,<br />
ob alle gewünschten Funktionen<br />
mitspielen. (csc) n<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30687
freeX<br />
Einführung<br />
105<br />
Sonderteil<br />
Auf der folgenden Seite startet der regelmäßige<br />
FreeX-Sonderteil des <strong>ADMIN</strong>-<strong>Magazin</strong>s. Hier finden<br />
Sie Know-how-Artikel und Workshops von erfahrenen<br />
Autoren aus der langen Tradition der FreeX.<br />
GELI und Pefs..................................106<br />
Die Privatsphäre wahren: Unter FreeBSD verschlüsseln<br />
GELI und Pefs Festplatten, Slices und<br />
Partitionen.<br />
ika747, 123RF<br />
www.admin-magazin.de Admin Ausgabe 12-2013
melpomen, 123RF<br />
Daten verschlüsseln mit FreeBSD<br />
Verschlusssache<br />
Wie die jüngsten Ereignisse rund um die NSA-Affäre gezeigt haben, wird es immer wichtiger, seine Daten<br />
vor fremden Zugriffen zu schützen. FreeBSD bietet mehrere Möglichkeiten, den Schutz durch Verschlüsselung<br />
zu gewährleisten. Mit GELI und Pefs werden in diesem Artikel zwei Konzepte in Theorie und Praxis<br />
näher beleuchtet. Jürgen Dankoweit<br />
Für einen Notebook-Besitzer ist es wohl<br />
eine Horrorvorstellung, sein Gerät im<br />
Zug, Flugzeug oder Bibliothek zu vergessen.<br />
Nicht nur das Notebook wäre<br />
wohl für immer verschwunden. Meist<br />
sind auch wichtige persönliche Daten,<br />
Geschäftsberichte und das geheime<br />
Tagebuch gespeichert, die nicht für<br />
fremde Augen bestimmt sind. Es bieten<br />
sich viele Möglichkeiten an, solche<br />
Informationen zu schützen oder den<br />
Zugriff darauf auch für Profis erheblich<br />
zu erschweren. Die Zauberformeln sind<br />
die Verschlüsselung von Festplatten<br />
(Disk Encryption) und die nicht minder<br />
wirksame Alternative der Dateiverschlüsselung<br />
(File Encryption).<br />
Mit der Einführung des GEOM-Frameworks<br />
in FreeBSD 5 wurde eine Möglichkeit<br />
geschaffen, Plugins in den Zugriffspfad<br />
für Datenträger einzuhängen.<br />
Dazu werden die Kommunikationswege<br />
zwischen Dateisystem durch GEOM<br />
geleitet. Innerhalb von GEOM wird<br />
der Datenstrom an Module verteilt,<br />
bevor er zu den Lowlevel-Funktionen<br />
(Gerätetreiber) gelangt. Hier setzt das<br />
Modul GELI zur Verschlüsselung von<br />
Festplatten an, wie es in Abbildung 1 zu<br />
sehen ist.<br />
Eingestöpselt<br />
Das Plugin GELI ist ein Modul, mit dessen<br />
Hilfe sich ganze Datenträger, Slices<br />
oder Partitionen unabhängig vom verwendeten<br />
Dateisystem verschlüsseln<br />
lassen. Da GELI unterhalb der Dateisystemschicht<br />
angesiedelt ist, arbeitet es<br />
vollkommen transparent, sodass ein<br />
Datenträger, der mit GELI behandelt<br />
wurde, sich wie gewohnt verhält. Der<br />
einzige Unterschied liegt darin, dass die<br />
Daten eben verschlüsselt in den einzelnen<br />
Sektoren abgelegt werden.<br />
Wenn das System über kryptografische<br />
Hardware verfügt, wird diese vom<br />
Crypto-Framework automatisch verwendet.<br />
Solche Kryptografie-Prozessoren<br />
gibt es auch für Notebooks, die<br />
über einen Mini-PCI-Steckplatz verfügen.<br />
Allerdings gilt es hier zu beachten,<br />
dass das BIOS des Notebooks nicht<br />
unbedingt solche Karten akzeptiert<br />
(IBM/Lenovo Thinkpads). Kryptografie-<br />
Prozessoren übernehmen die Berechnungen<br />
zur Verschlüsselung der Daten,<br />
was den Mikroprozessor des Rechners<br />
je nach Auswahl des Algorithmus<br />
erheblich entlastet. Damit diese Merkmale<br />
genutzt werden können, wurde<br />
mit OpenBSD 2.7 das genannte Crypto-<br />
Framework eingeführt, das später auch<br />
in FreeBSD zum Einsatz gelangte. GELI<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
freeX<br />
Verschlüsselung<br />
107<br />
Der Benutzer bekommt einen Schlüssel<br />
und der EDV-Service der Firma hat<br />
ebenfalls einen Schlüssel, der mit dem<br />
erstgenannten nicht identisch ist.<br />
Damit erhält der EDV-Service im Falle<br />
eines Sicherheitsupdates ebenfalls Zugriff<br />
auf die Festplatte, auch wenn ein<br />
Benutzer seinen Schlüssel versehentlich<br />
zerstört hat. Damit kann er über<br />
seinen zuvor gesicherten Masterkey<br />
wieder auf seine Daten zugreifen.<br />
GELI bietet eine Option, Platten mit einem<br />
zufälligen Einmalschlüssel einzusetzen.<br />
Dadurch lassen sich beispielsweise<br />
Swappartitionen und temporäre<br />
Dateisysteme verschlüsseln. Daten, die<br />
in einer Swap-Partition unverschlüsselt<br />
abgelegt sind, sind für Hacker ein<br />
wahres Eldorado. Schlampig programmierte<br />
Software, die Passwörter im<br />
Klartext im Arbeitsspeicher temporär<br />
ablegt, wird dadurch angreifbar. Wenn<br />
aber die Swap-Partition verschlüsselt<br />
ist, sind die Chancen sehr gering, etwas<br />
zu finden. Die Verwendung eines Einmalschlüssels<br />
ist nützlich, weil bei einem<br />
Neustart des Systems die in dieser<br />
Partition enthaltenen Informationen<br />
nicht mehr lesbar sind. Die Funktionsweise<br />
von GELI ist sehr einfach und<br />
anhand von Abbildung 2 recht schnell<br />
erläutert.<br />
Während der Initialisierungsphase<br />
erzeugt GELI einen neuen Gerätetreinutzt<br />
dieses Framework intensiv beim<br />
Einsatz der derzeit implementierten<br />
Crypto-Algorithmen AES, Blowfish und<br />
TripleDES (3DES).<br />
Es lassen sich nicht nur Home-Partitionen<br />
verschlüsseln, sondern auch die<br />
komplette Root-Partition. Allerdings<br />
muss dann beim Systemstart eine<br />
Passphrase eingegeben werden, damit<br />
ein Zugriff auf die verschlüsselte<br />
Root-Partition möglich ist. Der große<br />
Vorteil ist dann, dass nur derjenige das<br />
Betriebssystem booten kann, der auch<br />
die gültige Passphrase besitzt. Auch<br />
wenn die Festplatte in einen anderen<br />
Rechner eingebaut wird, bleibt die<br />
Abfrage des Passworts immer erhalten.<br />
Damit ist eine solche Festplatte für den<br />
neugierigen Mitbürger oder Staatsdiener<br />
wertlos.<br />
Durch seine einfache Sektor-zu-Sektor-<br />
Verschlüsselung erreicht GELI sehr<br />
hohe Geschwindigkeit und Sicherheit<br />
beim Verarbeiten der Informationen.<br />
Viele andere Systeme zur Verschlüsselung<br />
von Festplatten auf Softwarebasis<br />
verwenden temporäre Dateien. Dadurch<br />
wird nicht nur der Ablauf erheblich<br />
gebremst, sondern es leidet unter<br />
Umständen auch die Datensicherheit<br />
und Datenintegrität. Dies macht sich<br />
spätestens dann bemerkbar, wenn der<br />
Rechner abstürzt. Man darf nicht vergessen,<br />
dass temporäre Dateien immer<br />
zum Hacken eines Systems einladen!<br />
Bei der Sektor-zu-Sektor-Verschlüsselung<br />
werden keine temporären Dateien<br />
benötigt, weil die Dateien während des<br />
Schreibvorgangs verschlüsselt beziehungsweise<br />
beim Lesen entschlüsselt<br />
werden. Das macht es extrem schwierig,<br />
die Daten solcher Festplatten zu<br />
extrahieren. Ein anderer Vorteil dieser<br />
Verschlüsselungstechnik ist, dass es<br />
fast unmöglich ist, ganze Dateien zu<br />
rekonstruieren, da eine Struktur nicht<br />
mehr erkennbar ist.<br />
Backup-Schlüssel<br />
Der Einsatz von zwei voneinander<br />
unabhängigen Schlüsseln ist in GELI<br />
realisiert. So lassen etwa ein privater<br />
Schlüssel und ein Unternehmensschlüssel<br />
generieren. Das ist beispielsweise<br />
für Notebooks von Außendienstmitarbeitern<br />
eine interessante Option.<br />
Abbildung 1: Kommunikation zwischen Dateisystem, GELI und Hardware.<br />
ber und teilt dies dem Device-Driver-<br />
Daemon »devd« mit. Er übernimmt<br />
unter FreeBSD die Verwaltung der Gerätetreiber<br />
und ist somit automatisch<br />
involviert. Der Name des neuen Geräts<br />
setzt sich aus dem Treibernamen und<br />
der Endung ».eli« zusammen. Nachdem<br />
die Partition oder das Slice bei GELI<br />
angemeldet sind, findet die Kommunikation<br />
mit dem Datenträger nur noch<br />
über den von GELI erzeugten Gerätetreiber<br />
statt. Beim Aushängen und<br />
Abmelden der Partition bekommt der<br />
Device-Driver-Daemon die Anweisung,<br />
den von GELI erzeugten Treiber wieder<br />
zu entfernen.<br />
Umsetzung<br />
Die Funktionsweise liest sich in der<br />
Theorie komplizierter, als sie sich in<br />
der Praxis darstellt. Es gibt prinzipiell<br />
drei Möglichkeiten für den Einsatz von<br />
GELI: Die einfachste ist die Verschlüsselung<br />
einer Partition. Damit erreicht<br />
man schnell das gewünschte Ziel. Anwenden<br />
sollte man es zum Schutz der<br />
Home-Partition.<br />
Die nächste Option ist die kryptografische<br />
Behandlung eines ganzen Datenträgers,<br />
wenn man seine privaten Daten<br />
auf dieser Platte auslagern möchte.<br />
Dies ist interessant für wechselbare<br />
Datenträger wie DVD-RAMs oder eine<br />
externe Festplatte. Maximale Sicherheit<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
108<br />
freeX<br />
Verschlüsselung<br />
Nach der Eingabe des Passworts erfolgt<br />
im nächsten Schritt die Registrierung<br />
der Partition bei GELI:<br />
geli attach ‐k /root/geli/da0s1g.key U<br />
/dev/da0s1g<br />
Enter Passphrase:<br />
Hier ist das zuvor benutzte Passwort<br />
einzugeben. Ab diesem Schritt findet<br />
die Kommunikation mit dem Datenträger<br />
nur noch über den von GELI und<br />
»devd« generierten Treiber statt:<br />
ls /dev/*.eli<br />
da0s1g.eli<br />
Abbildung 2: Funktionsweise von GELI.<br />
bietet die Verschlüsselung aller Datenträger<br />
einschließlich desjenigen Datenträgers,<br />
von dem das System bootet.<br />
Dies ist die aufwendigste und komplizierteste<br />
Methode. Vor allem, weil das<br />
Installationsprogramm von FreeBSD<br />
nicht mit solchen Datenträgern umgehen<br />
kann.<br />
Sicheres Heim<br />
Zunächst sei der einfachste Fall betrachtet.<br />
Es soll die Home-Partition<br />
»$home« (auf »/dev/da0s1g« liegend)<br />
verschlüsselt werden. Zunächst legt<br />
die folgende Zeile in der Datei »/boot/<br />
loader.conf« fest, dass das Modul GELI<br />
während der Bootphase geladen wird:<br />
geom_eli_load="YES"<br />
Zum Verschlüsseln der Partition generiert<br />
man einen Schlüssel, der auf<br />
n Tabelle 1: Übersicht über Gerätebezeichnungen<br />
Gerät<br />
Festplatte: Eine SCSI-Festplatte mit<br />
ID 0 heißt »da0«, die erste IDE-Festplatte<br />
»ad0«.<br />
USB-Stick bei SCSI-Systemen: »da1«<br />
oder bei IDE-Systemen »da0«.<br />
einer Reihe von Zufallszahlen basiert.<br />
Wichtig ist, dass der Schlüssel an einem<br />
sicheren Ort im Verzeichnisbaum liegt.<br />
Dafür bietet sich das Home-Verzeichnis<br />
des Root-Users an:<br />
mkdir /root/geli<br />
dd if=/dev/random of=/root/geli/da0s1g.U<br />
key bs=64 count=1<br />
Diesen Schlüssel sollte man zur Sicherheit<br />
auch auf einem USB-Stick speichern.<br />
Nun erfolgt die Initialisierungsphase<br />
(siehe Abbildung 2) der Partition,<br />
in deren Verlauf man nach einen Passwort<br />
gefragt wird. Die Sektorgröße soll<br />
dabei 4096 Byte sein (»‐s 4096«).<br />
geli init ‐s 4096 ‐K /root/geli/da0s1g.U<br />
key /dev/da0s1g<br />
Enter new Passphrase:<br />
Reenter new Passphrase:<br />
Bemerkung<br />
Diese Platte soll komplett verschlüsselt werden. Die Kapazität<br />
der Platte ist keinen besonderen Beschränkungen unterworfen.<br />
Abhängig vom verwendeten System erhält der USB-Stick unterschiedliche<br />
Gerätenamen: Bei SCSI ist dies »da1«, bei IDE<br />
»da0«, weil USB-Sticks wie SCSI-Geräte behandelt werden. Die<br />
Kapazität des USB-Sticks sollte mindestens 2 GByte betragen.<br />
Um höchstmögliche Sicherheit zu gewährleisten,<br />
überschreibt der folgende<br />
Befehl die Partition mit Zufallszahlen,<br />
was abhängig von der Größe ziemlich<br />
lange dauern kann:<br />
dd if=/dev/random of=/dev/da0s1g.eli U<br />
bs=1m<br />
Nachdem man bei einer Tasse Kaffee<br />
die Wartezeit genussvoll überbrückt<br />
hat, folgen die letzten Schritte. Um die<br />
Partition nutzen zu können, muss sie<br />
formatiert und eingehängt werden:<br />
newfs /dev/da0s1g.eli<br />
mount /dev/da0s1g.eli $home<br />
Die folgenden Zeilen in »/etc/rc.conf«<br />
sorgen dafür, dass beim nächsten<br />
Systemstart die Partition automatisch<br />
eingebunden wird:<br />
geli_devices="da0s1g"<br />
geli_da0s1g_flags="‐k /root/geli/da0s1g.U<br />
key"<br />
Wichtig ist dabei die Angabe zwischen<br />
»geli_« und »_flags«: Hier muss der<br />
Name eingetragen werden, der in »geli_<br />
devices« steht. Zusätzlich ergänzt oder<br />
ändert man die Mount-Tabelle »/etc/<br />
fstab« (statt »$home« ist natürlich der<br />
Verzeichnisname einzutragen):<br />
/dev/da0s1g.eli $home ufs rw 0 0<br />
Die Partition lässt sich auch wieder<br />
aushängen:<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
freeX<br />
Verschlüsselung<br />
109<br />
umount $home<br />
geli detach da0s1g.eli<br />
Wenn die Einträge in »/etc/rc.conf«<br />
stimmen, lässt sich eine verschlüsselte<br />
Partition auch mit »/etc/rc.d/geli<br />
start« ein- und mit »/etc/rc.d/geli stop«<br />
wieder aushängen. Aus dem oben<br />
erwähnten Grund sollte man auch die<br />
Swap-Partition verschlüsseln. In der<br />
systemweiten Konfigurationsdatei<br />
»/etc/rc.conf« sorgt dafür die Zeile:<br />
geli_swap_flags="‐d"<br />
Die Option »‐d« bedeutet, dass bei einem<br />
Systemabschluss die Swap-Partition<br />
automatisch aus dem GELI-System<br />
ausgehängt wird. Dadurch wird der Vorgang<br />
sauber abgeschlossen. Außerdem<br />
muss in der Mount-Tabelle der Eintrag<br />
zur Swap-Partition so aussehen:<br />
/dev/da0s1b.eli none swap sw 0 0<br />
Zum Schluss initialisiert der Befehl<br />
dd if=/dev/random of=/dev/da0s1b bs=1m<br />
geli onetime ‐d ‐e 3des da0s1b<br />
swapon /dev/da0s1b.eli<br />
den Auslagerungsbereich. Während des<br />
System-Neustarts erhält man folgende<br />
Ausgabe:<br />
GEOM_ELI: Device da0s1b.eli created.<br />
GEOM_ELI: Encryption: AES‐CBC 128<br />
GEOM_ELI: Crypto: software<br />
Vollschutz<br />
Um einen Datenträger zu verschlüsseln<br />
und darauf FreeBSD zu installieren,<br />
muss man schon einen recht großen<br />
Aufwand treiben. Aber wer sein System<br />
richtig gut schützen will, sollte<br />
sich nicht abschrecken lassen. Vor der<br />
Konfiguration sollte man sich ein paar<br />
Utensilien bereitlegen: Installations-<br />
DVD oder ‐CD und einen qualitativ<br />
hochwertigen USB-Stick (Datensicherheit!).<br />
Wichtig ist, dass das BIOS<br />
des Rechners eine Option anbietet,<br />
um vom USB-Stick booten zu können.<br />
Falls diese Möglichkeit nicht gegeben<br />
ist, kann man sich alternativ auch eine<br />
kleine Partition auf der<br />
Festplatte einrichten.<br />
Ansonsten ist die Vorgehensweise<br />
die gleiche.<br />
In Tabelle 1 sind<br />
die Gerätebezeichnungen<br />
zusammengefasst.<br />
Das folgende Beispiel<br />
geht von einer IDE-<br />
Festplatte in einem<br />
Notebook aus. Die<br />
Kapazität beträgt 40<br />
GByte. In Tabelle 2 ist<br />
das vorgesehene Layout<br />
dargestellt.<br />
Der erste Schritt, um<br />
eine Festplatte komplett<br />
zu verschlüsseln, besteht darin,<br />
das System von der Installations-DVD<br />
oder ‐CD zu booten und im Installationsprogramm<br />
die sogenannte Fixit-<br />
Shell aufzurufen (siehe Abbildung 3).<br />
Man erreicht sie durch Auswahl von<br />
»sysinstall, fixit« und anschließend Option<br />
2 »CDROM/DVD«.<br />
Vorsicht: Sackgasse<br />
Beim Starten der Fixit-Shell wird man<br />
mit einem Hinweis konfrontiert, den<br />
man nicht ignorieren darf, weil es sonst<br />
bei der späteren Installation zu unlösbaren<br />
Problemen kommen kann. Die<br />
Dateien »/etc/pwd.db«, »/etc/spwd.<br />
db« und »/etc/group« müssen mit den<br />
Dateien auf dem Installationsmedium<br />
symbolisch verlinkt werden. Zur Sicherheit<br />
werden die alten Symlinks<br />
gelöscht:<br />
Fixit> rm /etc/pwd.db<br />
Fixit> rm /etc/spwd.db<br />
Fixit> rm /etc/group<br />
Fixit> ln ‐s /mnt2/etc/pwd.db /etc/pwd.db<br />
Fixit> ln ‐s /mnt2/etc/spwd.db /etc/U<br />
spwd.db<br />
Fixit> ln ‐s /mnt2/etc/group /etc/group<br />
n Tabelle 2: Layout des Slice »ad0s1«<br />
Abbildung 3: Aufruf der Fixit-Shell.<br />
Im nächsten Schritt startet man das<br />
Tool »fdisk« im interaktiven Modus, um<br />
die Festplatte zu partitionieren:<br />
Fixit> fdisk ‐i /dev/ad0<br />
und erhält dabei das in Listing 1 verkürzt<br />
wiedergegebene Protokoll.<br />
Im nächsten Schritt kommt GELI ins<br />
Spiel. Damit man das Kernelmodul<br />
laden kann, müssen auch hier ein paar<br />
zusätzliche Maßnahmen getroffen<br />
werden. Dazu erstellt man zwei symbolische<br />
Links zum Kernelverzeichnis und<br />
zum Verzeichnis zu den Systembibliotheken:<br />
Fixit> ln ‐s /dist/boot/kernel /boot/U<br />
kernel<br />
Fixit> ln ‐s /dist/lib /lib<br />
Der folgende Befehl lädt das Kernelmodul<br />
für GELI:<br />
Fixit> kldload geom_eli<br />
Wie im vorherigen einfacheren Beispiel<br />
schon beschrieben, legt man die Datei<br />
mit dem Schlüssel für GELI an. Die fol-<br />
Partition Mountpoint Kapazität<br />
/dev/ad0s1a / (root-directory) 1 GByte<br />
/dev/ad0s1b Swap 2 GByte<br />
/dev/ad0s1d /usr 16 GByte<br />
/dev/ad0s1e /var 4 GByte<br />
/dev/ad0s1f /tmp 4 GByte<br />
/dev/ad0s1g /home 13 GByte<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
110<br />
freeX<br />
Verschlüsselung<br />
gende Kommandofolge zeigt dies:<br />
Fixit> mkdir ‐p /root/geli<br />
Fixit> dd if=/dev/random of=/root/keys/U<br />
ad0s1.key bs=64 count=1<br />
Das Slice meldet man wie beschrieben<br />
bei GELI an, vergibt nach Aufforderung<br />
ein Passwort und hängt das Slice mit<br />
folgendem Kommando ein:<br />
Fixit> geli init ‐b ‐K /root/geli/U<br />
ad10s1.key ‐s 4096 ‐l 256 /dev/ad0s1<br />
Fixit> geli attach ‐k /root/geli/ad10s1U.<br />
key /dev/ad0s1<br />
Um das Betriebssystem installieren zu<br />
können, werden im folgenden Schritt<br />
die Labels für die Mount-Punkte angelegt.<br />
Dazu schreibt man zunächst<br />
ein Standard-Label und editiert es anschließend:<br />
n Listing 1: Fdisk<br />
01 ***** Working on device /dev/ad0 ******<br />
02 <br />
03 parameters extracted from in‐core disklabel are:<br />
04 <br />
05 cylinders=77520 heads=16 sectors/track=63 (1008<br />
blks/cyl)<br />
06 <br />
07 Figures below won't work with BIOS for<br />
partitions not in cyl 1<br />
08 <br />
09 parameters to be used for BIOS calculations are:<br />
10 <br />
11 cylinders=77520 heads=16 sectors/track=63 (1008<br />
blks/cyl)<br />
12 <br />
13 Do you want to change our idea of what BIOS<br />
thinks ? [n]<br />
14 <br />
15 Do you want to change it? [y]<br />
16 sysid 165<br />
17 start 63<br />
18 size 78140160<br />
19 set beg/end [n]<br />
20 are you happy with this [y]<br />
21 <br />
22 Data for Partition 2<br />
23 Do you want to change it? [n]<br />
24 <br />
25 set active partition [y]<br />
26 active [1]<br />
27 are you happy with this [y]<br />
28 write partition table [y]<br />
Fixit> bsdlabel ‐w /dev/ad0s1.eli<br />
Fixit> bsdlabel ‐e /dev/ad0s1.eli<br />
Hier gilt es, den richtigen Treiber zu<br />
verwenden: Es ist nicht mehr »/dev/<br />
ad0s1«, sondern ab jetzt »/dev/ad0s1.<br />
eli«! Bezugnehmend auf das Layout in<br />
Tabelle 1 sieht das Schema so aus:<br />
a: 1G 2 4.2BSD<br />
b: 2G * swap<br />
c: ‐‐ dont edit ‐‐<br />
d: 16G * 4.2BSD<br />
e: 4G * 4.2BSD<br />
f: 4G * 4.2BSD<br />
g: * * 4.2BSD<br />
Der Stern bei Partition »g« bedeutet,<br />
dass der Rest des Slices für Partition<br />
»g« verwendet werden soll. Den Editor<br />
verlässt man mit [Esc][:][q] und fährt<br />
mit dem Formatieren der einzelnen<br />
Partitionen fort. Ein kleiner Tipp: Es hat<br />
sich als vorteilhaft erwiesen, den einzelnen<br />
Partitionen ein Label zu geben,<br />
damit beim Mounten keine Unklarheiten<br />
auftreten:<br />
Fixit> newfs ‐L ROOT /dev/ad0s1.elia<br />
Fixit> newfs ‐L USR /dev/ad0s1.elid<br />
Fixit> newfs ‐L VAR /dev/ad0s1.elie<br />
Fixit> newfs ‐L TMP /dev/ad0s1.elif<br />
Fixit> newfs ‐L HOME /dev/ad0s1.elig<br />
Auffällig ist jetzt, dass die Gerätenamen<br />
ein neues Suffix bekommen haben. Es<br />
besteht aus dem Suffix »eli« mit einem<br />
zusätzlichen Buchstaben, der die Partitionsnummer<br />
repräsentiert.<br />
Nach soviel Vorarbeit folgt der eigentliche<br />
Installationsvorgang, der größte<br />
Sorgfalt verlangt. Dazu legt man ein<br />
Verzeichnis auf dem verschlüsselnden<br />
Datenträger an und bindet alle Partitionen<br />
ein:<br />
Fixit> mkdir /install && cd /install<br />
Fixit> mkdir root usr tmp var home<br />
Fixit> mount /dev/ad10s1.elia /install<br />
Fixit> mount /dev/ad10s1.elid /install/usr<br />
Fixit> mount /dev/ad10s1.elie /install/U<br />
var<br />
Fixit> mount /dev/ad10s1.elif /install/U<br />
tmp<br />
Fixit> mount /dev/ad10s1.elig /install/U<br />
home<br />
Danach kommen die Installationsskripte<br />
dran. Zuerst ist allerdings die<br />
Umgebungsvariable »DESTDIR« zu setzen,<br />
damit das Installationsskript die<br />
Dateien in das richtige Verzeichnis kopiert.<br />
Die Variable »RELEASE« repräsentiert<br />
das verwendete FreeBSD-Release:<br />
Fixit> export DESTDIR=/install<br />
Fixit> cd /dist/$RELEASE/base && U<br />
./install.sh<br />
Fixit> cd /dist/$RELEASE/kernels && U<br />
./install.sh generic<br />
Fixit> cd /dist/$RELEASE/manpages && U<br />
./install.sh<br />
Nach einer Weile passiert etwas Seltsames.<br />
Die Installation bricht mit Fehlermeldungen<br />
ab. Zur Beruhigung sei<br />
aber gleich vorweg festgestellt, dass<br />
das System funktioniert! Diese Fehler<br />
werden ausgegeben:<br />
./root/.profile: Can't create 'root/U<br />
.profile' : Cross‐Device link<br />
./root/.cshrc: Can't create 'root/U<br />
.cshrc' : Cross‐Device link<br />
tar: Error exit delayed from previous<br />
errors<br />
Die Erklärung hierfür ist einfach. Im<br />
Archiv sind auch die symbolischen<br />
Links gespeichert, die beim Entpacken<br />
wieder angelegt werden. Es wird versucht,<br />
einen Link vom Verzeichnis des<br />
Users »root« auf dem Fixit-Datenträger<br />
zur Festplatte anzulegen. Dies lässt<br />
FreeBSD nicht zu. Da wären die Verantwortlichen<br />
gefragt, statt eines Symlinks<br />
eine Kopie in die Tar-Datei zu stellen.<br />
Das System ist so nicht bootfähig, was<br />
auch in Ordnung ist. Schließlich soll es<br />
über einen USB-Stick booten, um den<br />
optimalen Schutz zu erhalten. Immer<br />
noch in der Fixit-Shell erstellt man<br />
einen für das System bootfähigen USB-<br />
Stick. Dazu partitioniert und formatiert<br />
die folgende Kommandosequenz den<br />
Stick:<br />
Fixit> fdisk ‐BI /dev/da0<br />
Fixit> bsdlabel ‐B ‐w /dev/da0s1<br />
Fixit> newfs /dev/da0s1a<br />
Damit man die Systemdaten auf den<br />
Stick kopieren kann, mountet man<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
freeX<br />
Verschlüsselung<br />
111<br />
ihn und überträgt anschließend das<br />
System:<br />
Fixit> mount /dev/da0s1a /usbstick<br />
Fixit> mkdir /usbstick<br />
Fixit> mkdir /usbstick/boot<br />
Fixit> mkdir /usbstick/boot/geli<br />
Fixit> mkdir /usbstick/etc<br />
Fixit> cp ‐Rpv /install/boot/ /usbstick<br />
Der Bootloader von FreeBSD sucht im<br />
Verzeichnis »/boot/kernel« nach dem<br />
Betriebssystemkern. Das Verzeichnis<br />
»/usbstick/boot/kernel« ist nach dem<br />
Kopieren leer. Um einen bootfähigen<br />
USB-Stick zu erhalten, löscht man zunächst<br />
»/usbstick/boot/kernel« und benennt<br />
den Ordner mit dem generischen<br />
Kernel um:<br />
Fixit> rmdir /usbstick/boot/kernel<br />
Fixit> mv /usbstick/boot/GENERIC U<br />
/usbstick/boot/kernel<br />
Damit GELI die Verschlüsselung und<br />
Entschlüsselung überhaupt durchführen<br />
kann, muss der Encryption-Key<br />
ebenfalls auf den Stick kopiert werden.<br />
Fixit> cp /root/geli/ad0s1.key U<br />
/usbstick/boot/geli/ad0s1.key<br />
Außerdem ist es notwendig, GELI mitzuteilen,<br />
wo es den Schlüssel findet<br />
und in welcher Datei er gespeichert<br />
ist. Diese Informationen gehören in<br />
»/ usbstick/boot/loader.conf«:<br />
geom_eli_load="YES"<br />
geli_ad0s1_keyfile0_load="YES"<br />
geli_ad0s1_keyfile0_type="ad0s1:geli_U<br />
keyfile0"<br />
geli_ad0s1_keyfile0_name="/boot/geli/U<br />
ad0s1.key"<br />
Damit es nicht zu Schwierigkeiten bei<br />
der Passworteingabe kommt, ergänzt<br />
man die Datei »/usbstick/boot/device.<br />
hints« um den Eintrag<br />
hint.kbdmux.0.disabled="1"<br />
Abschließend werden sowohl auf dem<br />
USB-Stick als auch auf der Festplatte<br />
die Dateien »/usbstick/etc/fstab« und<br />
»/ install/etc/fstab« überarbeitet: Die<br />
Abbildung 4: Die Funktionsweise von Pefs im aktiven und inaktiven Zustand.<br />
Datei »/usbstick/etc/fstab« bekommt<br />
den Eintrag zum Mounten der Festplattenpartition<br />
»a«, weil sich hier wichtige<br />
Systemdienste befinden:<br />
/dev/ad0s1.elia / ufs rw 1 1<br />
Auf der Festplatte werden in »/install/<br />
etc/fstab« die Einträge vorgenommen,<br />
die dafür sorgen, dass die übrigen Partitionen<br />
korrekt gemountet werden:<br />
/dev/ad0s1.elib none swap sw 0 0<br />
/dev/ad0s1.elid /usr ufs rw 2 2<br />
/dev/ad0s1.elie /var ufs rw 2 2<br />
/dev/ad0s1.elif /tmp ufs rw 2 2<br />
/dev/ad0s1.elig /home ufs rw 2 2<br />
Es ist geschafft und das System kann<br />
neu gestartet werden. Während dieses<br />
Vorgangs wird man nach dem Passwort<br />
für das Slice gefragt. Nach Eingabe wird<br />
der Bootvorgang fortgesetzt und nach<br />
dessen Ende führt man die Administration<br />
fort. Diese Schritte sind im Handbuch<br />
zu FreeBSD ausführlich erläutert<br />
und das Programm »sysinstall« leistet<br />
wertvolle Dienste.<br />
Schließlich noch ein paar Bemerkungen<br />
zu GELI: Es ist schade, dass das Installationsprogramm<br />
von FreeBSD nicht<br />
schon beim Installationsvorgang die<br />
Verschlüsselung eines Slices oder Partition<br />
anbietet. Das würde eine Menge<br />
Arbeit ersparen. Sehr erfreulich ist die<br />
Tatsache, dass sich GELI und ZFS zusammen<br />
einsetzen lassen. Diese Option<br />
ist besonders interessant, weil die Verschlüsselung<br />
in ZFS noch nicht integriert<br />
ist, wobei die Entwickler allerdings<br />
mit Hochdruck daran arbeiten.<br />
Die Alternative<br />
Wie eingangs erwähnt gibt es zwei<br />
Möglichkeiten, eine Festplatte oder<br />
Partition zu verschlüsseln. Die zweite<br />
Option ist die stapelbare Dateisystemverschlüsselung<br />
Pefs. Damit werden<br />
nicht nur Dateiinhalte, sondern auch<br />
die Dateinamen selber verschlüsselt.<br />
Im Gegensatz zu GELI handelt es sich<br />
hierbei um ein Dateisystem, das auf<br />
eine bereits mit ZFS oder UFS formatierte<br />
Partition aufsetzt. Das bedeutet,<br />
nur wenn Pefs aktiv ist, lassen sich die<br />
Dateien und Dateinamen im Klartext<br />
darstellen.<br />
Gegenüber GELI bietet Pefs zwei wichtige<br />
Vorteile: Das Verschlüsselungssystem<br />
lässt sich in den Mechanismus zur<br />
Authentifizierung namens PAM (Password<br />
Authentification Modules) einbinden.<br />
Damit bietet sich die Möglichkeit,<br />
das System bis zum Login-Screen<br />
hochzufahren. Sobald Username und<br />
Passwort eingegeben wurden, ist die<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
112<br />
freeX<br />
Verschlüsselung<br />
Partition entschlüsselt. Ein Backup der<br />
Partition mit »dump« ist immer möglich,<br />
auch wenn Pefs nicht aktiv ist oder<br />
die Daten nicht entschlüsselt sind. Es<br />
werden alle verschlüsselten Dateien<br />
und Dateinamen gesichert. Solange die<br />
Pefs-eigene Passwortdatenbank nicht<br />
beschädigt ist, lässt die Sicherheitskopie<br />
wieder dechiffrieren. Ein aus Sicht<br />
des Autors großer Nachteil ist die bei<br />
Pefs (noch) nicht vorhandene Unterstützung<br />
des OpenCrypto-Frameworks.<br />
Somit ist es nicht wie bei GELI möglich,<br />
auf Crypto-Hardware zuzugreifen.<br />
Die weitere Funktionsweise ist recht<br />
einfach und anhand von Abbildung 4<br />
schnell erklärt.<br />
n Listing 2: Pam-Konfiguration<br />
01 auth sufficient pam_opie.so no_warn no_fake_<br />
prompts<br />
02 auth requisite pam_opieaccess.so no_warn allow_<br />
local<br />
03 auth sufficient /usr/local/lib/pam_pefs.so try_<br />
first_pass<br />
04 auth required pam_unix.so no_warn try_first_pass<br />
nullok<br />
05 . . .<br />
06 session optional /usr/local/lib/pam_pefs.so<br />
07 session required pam_lastlog.so no_fail<br />
Schichtweise<br />
Wie erwähnt handelt es sich bei Pefs<br />
um eine stapelbare Dateisystemverschlüsselung.<br />
Das bedeutet, es benötigt<br />
eine Partition, die bereits mit<br />
ZFS, UFS oder auch FAT32 formatiert<br />
ist. Man erhält somit einen Stapel: Die<br />
Basisebene bildet der Datenträger mit<br />
der formatierten Partition, über die<br />
sich Pefs wie eine Folie legt. Solange<br />
Pefs nicht aktiv ist, erscheinen alle Verzeichnis-<br />
und Dateinamen als zufällige<br />
Zeichenfolge. Gleiches gilt für den Dateiinhalt.<br />
Bei aktivem Pefs mit gültigem<br />
Schlüssel werden alle Informationen<br />
entschlüsselt und im Klartext korrekt<br />
dargestellt.<br />
Die Verschlüsselung von Dateinamen<br />
wird bei aktivem Pefs grundsätzlich mit<br />
AES-128 im CBC-Modus durchgeführt.<br />
Der chiffrierte Dateiname besteht aus<br />
drei Teilen. Der erste Teil umfasst eine<br />
64 Bit breite Prüfsumme. Es folgt ein<br />
eindeutiger, ebenfalls 64 Bit breiter Abschnitt<br />
des Dateinamens und schließlich<br />
der Dateiname selbst. Der Dateiinhalt<br />
selbst wird mit wesentlich stärkeren<br />
Algorithmen verschlüsselt, wobei<br />
der Administrator die Möglichkeit hat,<br />
selbst zwischen AES und Camellia mit<br />
jeweils einer Schlüssellänge von 128,<br />
192 oder 256 Bit auszuwählen.<br />
In die Praxis<br />
Nach den kurzen Erläuterungen zur<br />
Funktionsweise folgen zwei Beispiele<br />
für den Einsatz von Pefs. Zunächst<br />
werden grundsätzliche Dinge gezeigt,<br />
während das zweite Beispiel erläutert,<br />
wie PAM und Pefs zusammenarbeiten.<br />
Zunächst muss das neue Dateisystem<br />
installiert werden. Wie bei FreeBSD üblich,<br />
geschieht das über den Ports-Tree<br />
im Abschnitt »sysutils/pefs‐kmod«:<br />
# portmaster ‐d sysutils/pefs‐kmod<br />
Wie weiter oben erwähnt, bieten einige<br />
CPUs einen Crypto-Kern, der die AES-<br />
Methode implementiert. Um diesen<br />
Crypto-Kern zu nutzen, ergänzt man<br />
die Datei »/boot/loader.conf« um folgende<br />
Zeile:<br />
aesni_load="YES"<br />
Für eine kurze Einführung in Pefs folgt<br />
eine kleine Demonstration. Dazu legt<br />
man sich im Homedirectory ein Verzeichnis<br />
an. Beispielsweise »~/Daten«:<br />
$ mkdir ~/Daten<br />
Als Root-User aktiviert man jetzt Pefs.<br />
Wenn das System-Flag »vfs.usermount«<br />
n Wichtiger Hinweis zu Passwörtern<br />
Beim Erzeugen von Passwörtern sollte<br />
man immer bedenken, dass bei der Wahl<br />
einfacher Zugangsdaten die Gefahr der<br />
Entschlüsselung der Daten erheblich<br />
steigt. Daher sollte man sein Passwort immer<br />
so komplex wie möglich wählen und<br />
eine gesunde Mischung aus Ziffern und<br />
Buchstaben wählen. In [1] (in Kapitel 1.5)<br />
ist beschrieben, wie sichere Passwörter<br />
generiert werden. Umlaute und andere<br />
Sonderzeichen sollten vermieden werden.<br />
Der Grund für diese Einschränkung<br />
auf den Wert 1 gesetzt ist, darf auch der<br />
normale Benutzer den Mount-Befehl<br />
ausführen.<br />
$ pefs mount ~/Daten ~/Daten<br />
Solange keine Schlüssel definiert sind,<br />
wird das Verzeichnis im Read-Only-Modus<br />
gemountet. Es werden in diesem<br />
Fall die Dateien verschlüsselt angezeigt,<br />
aber ein Schreibzugriff ist nicht<br />
möglich. Für einen sinnvollen Betrieb<br />
ruft man das Kommando<br />
$ pefs addkey ~/Daten<br />
auf und gibt ein Passwort beziehungsweise<br />
einen Schlüssel ein. Überprüfen<br />
lassen sich die aktiven Schlüssel mit<br />
der folgenden Eingabe:<br />
$ pefs showkeys ~/Daten<br />
Keys:<br />
0 1a6feeb9cf230d88 aes256‐ctr<br />
Die Ausgabe besagt, dass der erste<br />
Schlüssel – es wird von Null an hochgezählt<br />
– nach dem Crypto-Verfahren<br />
AES mit einer Schlüssellänge von 256<br />
Bit erstellt wurde. Das AES-Verfahren<br />
ist die Standardeinstellung. Dies lässt<br />
sich ändern, indem man bei »pefs<br />
addkey« über den Parameter »‐a« den<br />
gewünschten Algorithmus angibt. Eine<br />
Liste aller verfügbaren Algorithmen<br />
zeigt »pefs showalgs«.<br />
Nachdem ein Passwort beziehungsweise<br />
ein Schlüssel vergeben wurde,<br />
geht es ans Testen. Dazu reicht es aus,<br />
eine Datei bei aktivem Pefs zu erzeugen:<br />
liegt darin, dass das Passwort während<br />
der Boot-Phase des Betriebssystems<br />
eingegeben werden muss. In dieser Phase<br />
steht aber nur das Layout einer amerikanischen<br />
Tastatur zur Verfügung und das<br />
sieht Umlaute und dergleichen nicht vor.<br />
Der wichtigste Punkt überhaupt ist, dass<br />
man sein Passwort niemals vergessen<br />
sollte. Bei einem Verlust hat man keine<br />
Möglichkeit mehr, an seine Daten zu<br />
gelangen. Regelmäßige und überprüfte<br />
Backups sind daher Pflicht!<br />
Ausgabe 12-2013 Admin www.admin-magazin.de
freeX<br />
Verschlüsselung<br />
113<br />
$ echo "pefs ist super!" > ~/Daten/test.<br />
txt<br />
$ ls ‐Al ~/Daten<br />
total 1<br />
‐rw‐r‐‐r‐‐ 1 juergen users 16 Oct 1 17:41U<br />
test.txt<br />
$ cat ~/Daten/test.txt<br />
pefs ist super!<br />
Das sieht gut aus. Wie sieht das Verzeichnis<br />
»~/Daten« aus, wenn Pefs nicht<br />
aktiv ist? Das lässt sich schnell zeigen:<br />
$ pefs unmount ~/Daten<br />
$ ls ‐Al ~/Daten<br />
total 1<br />
‐rw‐r‐‐r‐‐ 1 juergen users 16 Oct 1 17:41 .U<br />
GG6eudxZGtOp6Ry_2Z3Sl+tq2VV3O81jq<br />
$ hd ~/Daten/.GG6eudxZGtOp6Ry_2Z3Sl+tq2U<br />
VV3O81jq<br />
00000000 45 c6 7a fe fc 99 5c 38 fc d8 2d U<br />
e0 56 c2 65 32 |E.z...\8..‐.V.e |<br />
Wie man leicht erkennt, sind sowohl<br />
der Dateiname »test.txt« als auch der<br />
Inhalt verschlüsselt dargestellt. Bei<br />
deaktiviertem Pefs erhält man somit<br />
keinen Einblick in die Daten. Es ist nicht<br />
einmal möglich, vom Dateinamen auf<br />
den Inhalt zu schließen.<br />
PAM und Pefs<br />
Das Pefs-System bringt im Gegensatz<br />
zu GELI auch PAM-Support mit. Das<br />
ermöglicht – wie im folgenden Beispiel<br />
beschrieben – die Verschlüsselung<br />
eines bereits vorhandenen Homedirectories.<br />
Dabei gilt es zu beachten, dass<br />
das Verzeichnis kein symbolischer Link<br />
ist, sondern einen realen Pfad darstellt,<br />
ansonsten weigert sich Pefs zu funktionieren.<br />
Um das zu vermeiden, korrigiert<br />
man die Angabe des Homedirectories<br />
manuell mit<br />
#pw user mod $user ‐d $homedir<br />
Im nächsten Schritt wird die verschlüsselte<br />
Dateisystemebene generiert und<br />
man vergibt ein Passwort als Masterpasswort:<br />
#pefs addchain ‐fZ ‐a aes256‐ctr $home<br />
Enter parent key passphrase:<br />
Reenter parent key passphrase:<br />
Danach wird das Verzeichnis eingehängt<br />
und das Passwort vergeben, das<br />
später für die Authentifizierung verwendet<br />
werden soll.<br />
#pefs mount $home $home<br />
#pefs addkey ‐c $home<br />
Enter passphrase:<br />
Das hier einzugebende Passwort darf<br />
nicht mit dem in der User-Datenbank<br />
»/ etc/passwd« identisch sein, sonst<br />
funktioniert das Login nicht mehr!<br />
Wenn es bis hierher keine Fehlermeldungen<br />
gab, dann erfolgt im nächsten<br />
Schritt die Integration in den PAM-<br />
Dienst von FreeBSD. Das verschafft den<br />
Vorteil, dass nach der erfolgreichen<br />
Authentifizierung das Pefs-System<br />
automatisch aktiviert wird. Das Pefs-<br />
Paket beinhaltet ein Modul, das in das<br />
PAM-System von FreeBSD eingebunden<br />
wird: »pam_pefs.so«. Damit das Modul<br />
die Möglichkeit hat, die gespeicherten<br />
Passwörter zur Authentifizierung heranzuziehen,<br />
muss man die Berechtigungen<br />
der Pefs-Datenbank anpassen:<br />
#chown $user:$group $home/.pefs.db<br />
Um das PAM-Modul zu aktivieren,<br />
trägt man es in die PAM-Konfiguration<br />
»/etc/pam.d/system« ein. Wenn ein<br />
grafischer Login-Manager wie KDM<br />
verwendet wird, muss »pam_pefs« in<br />
der gleichen Art und Weise eingetragen<br />
werden.<br />
Als abschließenden Schritt muss man<br />
noch dafür sorgen, dass pefs initialisiert<br />
wird. Dazu schreibt man am besten<br />
in »/etc/rc.local« folgende Zeile<br />
/usr/local/sbin/pefs mount $home $home<br />
Dem produktiven Einsatz steht nach<br />
einem Systemneustart nichts mehr im<br />
Wege. Sobald das grafische Login KDM,<br />
GDM oder XDM erscheint, gibt man das<br />
für Pefs vergebene Passwort ein. Nach<br />
erfolgreichem Login erhält man seine<br />
Daten dechiffriert wieder.<br />
Fazit<br />
GELI und Pefs sind brauchbare Systeme<br />
zur Verschlüsselung von Partitionen<br />
und haben jeweils ihre Vor- und<br />
Nachteile. Um optimale Sicherheit zu<br />
erreichen, sollte man unbedingt zur<br />
Vollverschlüsselung greifen und damit<br />
zu GELI.<br />
Das Pefs-System ist wegen seiner Struktur<br />
für die Verschlüsselung kompletter<br />
Datenträger nicht geeignet. Dafür spielt<br />
es seine Vorteile aus, wenn es darum<br />
geht, einfach und effektiv ein bestehendes<br />
System umzustellen. Beim Einsatz<br />
auf Notebooks sollte man besser zu<br />
GELI und zur Vollverschlüsselung greifen.<br />
Und wer es ganz besonders sicher<br />
haben möchte, dem bietet sich immer<br />
noch die Möglichkeit, zusätzlich das<br />
Pefs-System zu nutzen. (ofr) n<br />
n Doppeltes Lottchen<br />
Um das Ärgernis eines vergessenen Passworts zu<br />
umgehen, bietet GELI die einfache Möglichkeit, zwei<br />
Schlüssel zu erzeugen. Nachdem GELI initialisiert<br />
wurde, generiert man mit folgendem Kommando<br />
einen Zweitschlüssel:<br />
geli setkey ‐n 1 /dev/da0<br />
Enter Passphrase: (ErstPasswort)<br />
Enter new Passphrase: (ZweitPasswort)<br />
Reenter new Passphrase: (Wiederholung)<br />
Ähnlich verhält es sich mit dem Masterkey. Mit der<br />
folgenden Befehlsfolge lässt sich eine Sicherheitskopie<br />
des Masterkeys auf einem USB-Stick, der unter<br />
»/usbstick« gemountet ist, für den Fall anlegen, dass<br />
ein Benutzer sein Passwort vergessen sollte:<br />
# dd if=/dev/random of=v/usbstick/`hostname` bs=64U<br />
count=1<br />
# geli init ‐P ‐K /usbstick/`hostname` /dev/ad0s1g<br />
# geli backup /dev/ad0s1g /usbstick/bak/`hostname`<br />
Um den vorhanden Masterkey zu überschreiben, gibt<br />
es die Option »‐n 0«:<br />
# geli setkey ‐n 0 ‐k /usbstick/`hostname` /dev/U<br />
ad0s1g<br />
Enter new Passphrase: (UserPasswort)<br />
Reenter new Passphrase: (Wiederholung)<br />
So einfach ist das.<br />
n Info<br />
Weiterführende Links und<br />
Informationen zu diesem<br />
Artikel finden Sie unter:<br />
www.admin-magazin.de/qr/30866<br />
www.admin-magazin.de<br />
Admin<br />
Ausgabe 12-2013
114<br />
Service<br />
Impressum und <strong>Vorschau</strong><br />
n Impressum ISSN 2190-1066<br />
<strong>ADMIN</strong>-<strong>Magazin</strong> eine Publikation der Medialinx 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 Brian Osborn (Vorstand), bosborn@medialinx-gruppe.de<br />
Hermann Plank (Vorstand), hplank@medialinx-gruppe.de<br />
Chefredakteure<br />
Oliver Frommel (V. i. S. d. P.),<br />
ofrommel@admin-magazin.de (ofr)<br />
Jens-Christoph Brendel<br />
jbrendel@admin-magazin.de (jcb)<br />
Redaktion<br />
News/Report<br />
Ulrich Bantle (Ltg.), ubantle@medialinx-gruppe.de (uba)<br />
Mathias Huber, mhuber@medialinx-gruppe.de (mhu)<br />
Software/Programmieren Carsten Schnober, cschnober@medialinx-gruppe.de (csc)<br />
Kristian Kißling, kkissling@medialinx-gruppe.de (kki)<br />
Security/Networking Markus Feilner, mfeilner@medialinx-gruppe.de (mfe)<br />
Thomas Leichtenstern, tleichtenstern@medialinx-gruppe.de (tle)<br />
Ständige Mitarbeiter David Göhler (Schlussredaktion), Tim Schürmann, Claudia Thalgott<br />
Produktionsleitung<br />
Grafik<br />
Abo-Infoseite<br />
Abonnenten-Service<br />
Christian Ullrich, cullrich@medialinx-gruppe.de<br />
Judith Erb (Design und Layout)<br />
Titel: Judith Erb, Ausgangsgrafik: marinini, 123RF<br />
www.admin-magazin.de/abo<br />
Gudrun Blanz (Teamleitung)<br />
abo@admin-magazin.de<br />
Tel.: 07131/27 07 274, Fax: 07131/27 07 78 601<br />
Preise Print Deutschland Österreich Schweiz Ausland EU<br />
Einzelheft € 9,80 € 10,80 Sfr 19,60 (siehe Titel)<br />
Mini-Abo (3 Ausgaben) € 9,80 € 10,80 Sfr 19,60 (siehe Titel)<br />
Jahres-DVD (Einzelpreis) € 14,95 € 14,95 Sfr 18,90 € 14,95<br />
Jahres-DVD (zum Abo 1 ) € 6,70 € 6,70 Sfr 8,50 € 6,70<br />
Jahresabo € 99,90 € 109,90 Sfr 159,90 € 129,90<br />
Preise Digital Deutschland Österreich Schweiz Ausland EU<br />
Heft-PDF Einzelausgabe € 9,80 € 9,80 Sfr 10,71 € 9,80<br />
DigiSub (12 Ausgaben) € 89,90 € 89,90 Sfr 129,50 € 89,90<br />
DigiSub (zum Printabo) € 12,— € 12,— Sfr 12,— € 12,—<br />
HTML-Archiv (zum Abo 1 ) € 48,— € 48,— Sfr 48,— € 48,—<br />
Preise Kombiabos<br />
Profi-Abo 2 € 181,90 € 198,90 Sfr 235,90 € 219,90<br />
1<br />
nur erhältlich in Verbindung mit einem Jahresabo Print oder Digital<br />
2<br />
mit Linux-<strong>Magazin</strong>-Abo und beiden Jahres-DVDs<br />
Schüler- und Studenten-Ermäßigung: 20 Prozent gegen Vorlage eines Schülerausweises oder einer<br />
aktuellen Immatrikulationsbescheinigung. Der aktuelle Nachweis ist bei Verlängerung neu zu erbringen.<br />
Andere Abo-Formen, Ermäßigungen im Ausland etc. auf Anfrage.<br />
Adressänderungen bitte umgehend mitteilen, da Nachsendeaufträge bei der Post nicht für<br />
Zeitschriften gelten.<br />
Pressemitteilungen info@admin-magazin.de<br />
Anzeigen/Repräsentanz Es gilt die Anzeigenpreisliste vom 01.01.2013<br />
National<br />
Pressevertrieb<br />
Druck<br />
Petra Jaser<br />
Tel.: 089 / 99 34 11 24, Fax: 089 / 99 34 11 99<br />
E-Mail: pjaser@medialinx-gruppe.de<br />
Michael Seiter<br />
Tel.: 089 / 99 34 11 23, Fax: 089 / 99 34 11 99<br />
E-Mail: mseiter@medialinx-gruppe.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 und Medienservice GmbH<br />
97204 Höchberg<br />
Der Begriff Unix wird in dieser Schreibweise als generelle Bezeichnung für die Unix-ähnlichen Betriebssysteme<br />
verschiedener Hersteller, zum Beispiel Eurix (Comfood), Ultrix (Digital Equipment), HP/UX (Hewlett-<br />
Packard) oder Sinix (Siemens) benutzt, nicht als die Bezeichnung für das Trademark von X/Open. Linux ist ein<br />
eingetragenes Marken zeichen von Linus Torvalds und wird in unserem Markennamen mit seiner Erlaubnis<br />
verwendet. Alle anderen Marken sind Eigentum der jeweiligen Inhaber. Eine Haftung für die Richtigkeit von<br />
Veröffentlichungen kann trotz sorgfältiger Prüfung durch die Redaktion vom Verlag nicht übernommen<br />
werden. Mit der Einsendung von Manu s kripten gibt der Verfasser seine Zustimmung zum Abdruck im <strong>ADMIN</strong>-<br />
<strong>Magazin</strong>. Für unverlangt ein gesandte Manuskripte kann keine Haftung übernommen werden. Die Redaktion<br />
behält sich vor, Artikel zu kürzen. Das Exklusiv- und Verfügungsrecht für angenommene Manuskripte liegt beim<br />
Verlag. Es darf kein Teil des Inhalts ohne ausdrückliche schriftliche Genehmigung des Verlags in irgendeiner<br />
Form vervielfältigt oder verbreitet werden. Copyright © 1994–2013 Medialinx AG<br />
n Autoren dieser Ausgabe<br />
Jürgen Dankoweit Verschlusssache 106<br />
Thomas Drilling Fast ein Alleskönner 44<br />
Joseph Guarino Geballte Power 24<br />
Andrew Henderson Code-Kontrolle 78<br />
Thomas Joos Herbstputz 62<br />
Thomas Joos In der virtuellen Sphäre 100<br />
Jeff Layton Kippende Bits 60<br />
Martin Loschwitz Cuba Libre 94<br />
Markus Manzke Perfect! Forward Secrecy 82<br />
Thorsten Scherf Wandervogel 16<br />
Georg Schönberger Git wird groß 56<br />
Till Spiegel Einfach, sicher, mailen! 84<br />
Thomas Zeller Sichere Fernsteuerung 68<br />
n Inserentenverzeichnis<br />
<strong>ADMIN</strong> http://www.admin-magazin.de 7, 97, 115<br />
Android User GY http://www.android-user.de 93<br />
ConSol Software GmbH http://www.consol.de 13<br />
Diavlon GmbH http://www.tuxhardware.de 41<br />
Fernschule Weber GmbH http://www.fernschule-weber.de 31<br />
Galileo Press http://www.galileo-press.de 17<br />
Host Europe GmbH http://www.hosteurope.de 29<br />
Kettner Mathias - Linux Experte http://www.mathias-kettner.de 47<br />
Linux-Hotel http://www.linuxhotel.de 103<br />
Linux-<strong>Magazin</strong> http://www.linux-magazin.de 75, 89, 104<br />
Medialinx IT-Academy http://www.medialinx-academy.de 51<br />
Netways GmbH http://www.netways.de 21<br />
outbox AG http://www.outbox.de 23<br />
pascom - Netzwerktechnik GmbH & Co.KG http://www.pascom.net 11<br />
PlusServer AG http://www.plusserver.de 15, 19, 33, 39, 43, 55<br />
Raspberry Pi Geek http://www.raspberry-pi-geek.de 65, 77<br />
Strato AG http://www.strato.de 2, 9<br />
Thomas Krenn AG http://www.thomas-krenn.com 116<br />
Einem Teil dieser Ausgabe liegt eine Beilage der Firma ppedv (http://www.visualstudio1.de ) bei. Wir bitten<br />
unsere Leser um freundliche Beachtung.<br />
n <strong>Vorschau</strong>: <strong>ADMIN</strong> 01/2014 erscheint am 12. Dezember 2013<br />
Sascha Burkard, 123RF<br />
Backup<br />
Was eine Datensicherung wert<br />
ist, zeigt sich, wenn man sie<br />
wiederherzustellen versucht.<br />
Spätestens dann macht sich<br />
die Wahl der richtigen Software<br />
bezahlt, die nicht unbedingt<br />
viel Geld kosten muss. Das<br />
kommende <strong>ADMIN</strong>-Heft stellt<br />
brauchbare Programme vor.<br />
Python-Pandas<br />
Aufwendige Datenanalyse<br />
und -manipulation erfordert<br />
eine kompilierte Low-Level-<br />
Programmiersprache? Nicht<br />
zwingend: Mit Pandas läuft Big<br />
Data auch durch den Python-<br />
Interpreter flüssig. Das nächste<br />
Heft gibt eine Einführung in die<br />
Bibliothek zur Datenanalyse.<br />
Ausgabe 12-2013 Admin www.admin-magazin.de