Vous êtes sur la page 1sur 108

5 I 18 ISSN 1614-2888 Österreich € 14,50

PowerCLI für Bash-Skripte Daten verwalten Luxemburg € 14,50


VMware vSphere debuggen gemäß DSGVO € 12,60 Schweiz CHF 20,50

Skripte für Admins:

Einfach
automatisieren
Abläufe programmieren mit
PowerShell, Python, Bash und Co.

Richtig eingesetzt
Best Practices für
die PowerShell
Bequem skripten
Sechs kostenlose
Editoren im Vergleich
Updates automatisch
WSUS mit Puppet steuern
Grafische Oberfläche für die PowerShell
AppSphere
ScriptRunner im Test

www.it-administrator.de
Die Anforderungen an
die IT steigen rasant,
durch uns sind Sie immer
ganz vorne mit dabei.

Edge Computing
bei Thomas-Krenn
Egal welche Anforderungen Sie an Leistung, Skalierbarkeit
und Ausstattung stellen, mit der dezentralen Daten-
verwaltung von Edge Computing werden die Daten genau
dort verarbeitet, wo sie entstehen – nämlich direkt vor Ort.
Mit unserer ausgewählten Hardware und den sicheren
Edge-Rechenzentren unserer Partner beschleunigen Sie die
Datenverarbeitung und Ihrem Vorhaben steht nichts mehr
im Weg. thomas-krenn.com/edge

+49 (0) 8551.9150-300


E D I TO R IAL Die Suche geht weiter

Im letzten Heft gab es ein Streitgespräch unter IT-Experten über den Nutzen
und Nachteil der PowerShell bei der Administration von Windows-Rechnern.
Das Ergebnis: We agree to disagree. Zwar kann die PowerShell bei der Auto-
matisierung von Problemlösungen helfen, aber ob sie immer dazu beiträgt,
diese zu beschleunigen, ist fraglich, wenn etwa andere Faktoren bremsen. Auch
ist nicht gesagt, ob sich der Aufwand für das Skripten seltener
Anwendungsfälle immer lohnt.

Die Auseinandersetzung wird auch über die Betriebssys-


temgräben hinweg geführt. So sei die klassische Unix-Shell
"nur" textorientiert, während die PowerShell typisierte Ob-
jekte bietet, die zu mehr Zuverlässigkeit bei der Verarbeitung
führten. Allerdings ist das Unix-Lager auch schon einige
Jahre weiter und hat sich von der Shell als primäres Konfigu-
rationstool emanzipiert. Jetzt sorgen Konfigurationsmanagement-
systeme wie Puppet, Ansible, Chef oder Saltstack für mehr Struktur.

Auch hier ist aber zu beobachten, dass keine letztgültige Lösung des Problems
erreicht ist. Kaum begeistert ein neuer Ansatz durch Einfachheit und deklarative
Syntax die Anwender, wird schnell der Wunsch nach komplexeren Ausdrucks-
möglichkeiten wie logischen Operatoren, Schleifen und so weiter laut, also Aus-
drucksmöglichkeiten, die ausgewachsene Skriptsprachen bieten. Dann wird Stück
für Stück komplexere Syntax durch die Hintertür eingeführt, bis der anfängliche
Charme der Einfachheit auf der Strecke bleibt und alles wieder von vorne beginnt.

Unser Schwerpunkt gibt Tipps zu bewährten Tools und stellt neue Ansätze vor,
um die immer wiederkehrenden Probleme zu lösen. Wir unterziehen das Soft-
ware-Bundle Chef Automate einem Test, das etwa mit der Inspec-Komponente
hilft, automatisiert IT-Umgebungen auf die Einhaltung von Compliance-Regeln
zu testen. In eine ähnliche Richtung geht das freie Tool Testinfra, das wie au-
tomatisierte Tests in der Software-Entwicklung die eigene Infrastruktur daraufhin
prüft, ob sie die gewünschten Anforderungen erfüllt.

Für die Automatisierung von Cloudumgebungen bei Amazon ist Boto3 gedacht,
ein Python-Modul, das nahezu alle AWS-Funktionen abdeckt. In die gleiche
Kerbe schlägt die PowerCLI-Toolbox, die VMware-Admins bei ihrer Arbeit
helfen soll. Sie stellen wir ab Seite 68 vor. Aber auch die Anwender der (neo)klas-
sischen Admin-Tools für Windows, der Bash respektive PowerShell, kommen
nicht zu kurz: Sie können neue Tricks über das Debugging von Bash-Skripts
kennenlernen oder sich an den Best Practices für die PowerShell orientieren.

Viel Spaß beim Lesen

Oliver Frommel
Leitender Redakteur

www.it-administrator.de Mai 2018 3


Inhalt 05/2018 Skripte für Admins

BlueParq PowerShell
Studio 1.0
26 Wollen Administratoren
Abläufe per PowerShell
automatisieren, ist der Einstieg
meist steinig und langwierig.
"Das muss doch einfacher gehen,
wenn sich der Nutzer nicht mit
dem Code beschäftigen muss,
sondern den Ablauf einfach per
Diagramm zusammenklicken
kann" dachten sich die Gründer
von BlueParq und schufen ein
neuartiges Programmiertool, das
BlueParq PowerShell Studio.

Schulungen
mit H5P AKTUELL
06 News
40 Mitarbeiter sollten regelmäßig in Sachen
IT geschult werden. Denn nicht nur findet 12 IBM Think 2018, 18. bis 22. März, Las Vegas
immer wieder neue oder aktualisierte Software ihren 14 IT-Administrator Trainings und Intensiv-Seminare
Weg ins Unternehmen, auch die Security-Awareness
bleibt nur dank wiederkehrender Schulungen er- TESTS
halten. Um den Unterricht dabei ansprechend und
16 Chef Automate
informativ zu gestalten, bietet sich mit H5P eine in- Chef Automate konkurriert mit Werkzeugen wie Ansible Tower oder Puppet Enterprise.
teraktive Lernplattform an. Diese ist leicht aufzu- Wir haben uns angesehen, ob die Lösung hält, was der Hersteller verspricht.
setzen und zu bedienen. 22 AppSphere ScriptRunner 2018R2
Mit der PowerShell wurde Scripting auch unter Windows beliebter. Mit einer Erweite-
rung von AppSphere lassen sich Skripte bequem nutzen und stärker automatisieren.

26 BlueParq PowerShell Studio 1.0


Den Skriptablauf einfach per Diagramm zusammenklicken, das soll das Programmier-

Serverkonfigurationen tool von BlueParq möglich machen.

32 Softinventive Lab Total Network Monitor 2.3.0

testen mit Testinfra Mit etwas Geschick und Talent erarbeitet sich der Administrator beim Monitoring
eine Überwachung mit automatischer Reaktion auf Veränderungen – zum Beispiel
mit Total Network Monitor.

92 Wie läuft's beim Server? Ob


alle Server korrekt konfiguriert
PRAXIS
36 Angriffe erkennen und verhindern mit Suricata
sind, prüft halbautomatisch das kleine
Suricata ist ein Werkzeug, um Angriffe aus dem Netz zu unterbinden oder wenigstens
Tool Testinfra. Es nutzt dabei ein etab-
frühzeitig zu erkennen. Das Tool besticht durch seinen riesigen Funktionsumfang.
liertes Framework aus der Software-
Entwicklung und nimmt so dem Admi- 40 Schulungen mit H5P
Mitarbeiter sollten regelmäßig in Sachen IT geschult werden. Um den Unterricht da-
nistrator einige Arbeit ab. bei ansprechend und informativ zu gestalten, bietet sich mit H5P eine interaktive
Lernplattform an.

44 DSGVO: Personenbezogene Daten identifizieren


Das neue EU-Datenschutzrecht bringt IT-Verantwortlichen zahlreiche Neuerungen im
Umgang mit personenbezogenen Daten. Aber wo sind eigentlich diese Informationen?

48 Revisionssichere Datenlöschung
Löschen Unternehmen ihre Daten nicht ordnungsgemäß, müssen sie mit Bußgeldern
rechnen. Professionelle Produkte zur Datenlöschung helfen.

4 Mai 2018 www.it-administrator.de


50 Open-Source-Tipp
Der Open-Source-Tipp in diesem Monat zeigt, wie sich kryptografische Schlüssel
auch in Cloudumgebungen einsetzen lassen.

52 Security-Tipp
Verzeichnisdienste mit LDAP sind fest etablierter Bestandteil von IT-Systemland-
schaften. Im Security-Tipp geht es um die Absicherung von OpenLDAP mit einem
Let's-Encrypt-Zertifikat.

54 Tipps, Tricks & Tools

SCHWERPUNKT
58 Optimierung und Standardisierung
von PowerShell-Skripten
Werden aus PowerShell-Einzeilern ausgewachsene Skripte, müssen sich IT-Verant-
wortliche mit Konzepten aus der Softwareentwicklung befassen. Wir zeigen aktuel-
le PowerShell-Best-Practices.

62 Datenbankzugriffe mit der PowerShell


Da immer wieder Datenbanken gelesen oder beschrieben werden müssen, zeigt
dieser Beitrag, wie die Nutzung von Datenbanken mit Hilfe von .NET-Klassen aus
der PowerShell heraus gelingt.

66 Security-Module für die PowerShell


Zahlreiche Zusatzmodule stellen für die PowerShell Sicherheits- und Angriffsfunk-
tionen bereit. Diese erlauben Penetrationstests und forensische Analysen.

68 Schnelleinstieg in die PowerCLI für vSphere


Unser PowerCLI-Crashkurs liefert kompakt das wichtigste Know-how und stellt
Ressourcen für fertige Skripte vor.

74 Windows-Client-Management
mit Puppet und WSUS
Wer seine Update-Infrastruktur von der von Microsoft abkoppeln will, nutzt als
Werkzeug der Wahl meist den WSUS-Server – seine Eintragung auf Seiten des
Clients übernimmt nun bei Bedarf Puppet.

78 Kostenlose Editoren im Überblick


Ob Sie eine Konfigurationsdatei bearbeiten oder eine Protokolldatei analysieren
wollen – meist genügt ein leistungsfähiger Texteditor. IT-Administrator hat kosten-
lose Editoren unter die Lupe genommen.

86 Management-Helfer für Vim-Plug-ins


Vim ist einer der beliebtesten Editoren und verbreitetsten Open-Source-Tools über-
haupt. Ein Grund für seine Popularität ist seine über Plug-ins erweiterbare Funktio-
nalität, von denen es über 1500 gibt.

88 Bash-Skripte automatisiert debuggen


Jeder sollte sich beim Skript-Debugging technische Unterstützung holen. Wir stel-
len im Workshop Erweiterungs-Frameworks vor, die das Leben von Entwicklern und
Administratoren leichter machen.

92 Serverkonfigurationen testen mit Testinfra


Ob alle Server korrekt konfiguriert sind, prüft halbautomatisch das kleine Tool Test-
infra. Es nutzt ein etabliertes Framework aus der Software-Entwicklung und nimmt
dem Administrator einige Arbeit ab.

96 Phishing-Domains aufspüren mit dnstwist


Mit einem kleinen Skript können Administratoren Phishing-Domains ausfindig ma-
chen und gleichzeitig prüfen, ob sie die eigene Webseite imitieren.

98 Python-Modul Boto3 für die Amazon-Cloud


Das Boto-Modul hilft, Ressourcen in der Amazon-Cloud mit Python zu managen.
Dieser Artikel gibt eine Einführung in die Programmierung mit dem Modul.

RUBRIKEN
03 Editorial
04 Inhalt
102 Buchbesprechung
103 Fachartikel online
105 Forschungslabor
106 Vorschau, Impressum, Inserentenverzeichnis

www.it-administrator.de
Aktuell News

Wenig Energie, große Abdeckung


Sierra Wireless bringt mit dem AirLink LX60 den ersten
LPWA-Mobilfunk-Router (Low Power Wide Area) für kom-
merzielle und Enterprise-IoT-Anwendungen auf den Markt.
Mit LTE-Cat-4 und LTE-M&NB-IoT ist er laut Hersteller für
kommerzielle und Unternehmensanwendungen einsetz-
bar. Die Neuvorstellung erlaubt laut Sierra Wireles die
IoT-Edge-Programmierbarkeit und unterstützt das ALE-
OS Application Framework für eingebettete Anwendun-
gen sowie integrierte Cloud-Services und APIs. Die LTE-
M/NB-IoT-Unterstützung soll eine fünf- bis zehnfach
erweiterte Abdeckung in abgelegenen Standorten oder
Gebäuden ermöglichen und gleichzeitig die laufenden
Kosten für die Sendezeit um bis zu 60 Prozent reduzieren.
Der AirLink LX60 ist in zwei Varianten verfügbar: LTE-
M/NB-IoT (bis zu 300 KBit/s Downlink) für erweiterte Mit dem AirLink LX60 will
Abdeckung und LTE Cat 4 (bis zu 150 MBit/s Downlink) Sierra Wireless eine zuverlässige LTE-Konnektivität in IoT-
für höheren Durchsatz. Er verfügt über zwei GBit-Ether- Anwendungen etwa bei der Gebäudeautomatisierung bieten.
net-Ports, umschaltbares LAN und WAN für primäre und
Backup-Konnektivität sowie RS-232-, RS-485- und I/O- nen erhältlich und eignet sich laut Hersteller ideal für die
Ports, sodass sich bestehende Maschinen ohne zusätzliche Verbindung von Einzelhandels- und kommerziellen Flot-
Adapter und Konverter anschließen lassen. Die LTE-Cat-4- tenanwendungen. (ln)
Variante ist mit optionalen WLAN- und GNSS-Funktio- Sierra Wireless: www.sierrawireless.com

Cloudverwaltung aus einem Guss


VMware hat die Bestandteile seiner vRealize Cloud Ma- dungen und Datenbanken wie GitLab, Hadoop, Jenkins und
nagement Platform einer Aktualisierung unterzogen. Leich- MongoDB hinzugefügt, um die Anwendungsentwicklung
ter fallen soll die Verwaltung von hybriden Cloud-Infra- und -bereitstellung zu beschleunigen. Der benutzerdefinier-
strukturen unter anderem mit vRealize Operations 6.7, das te Formulardesigner soll IT-Teams die einfache Erstellung
diverse neue Funktionen zur Leistungs- und Kapazitätspla- umfangreicher Serviceanfrageformulare für vRealize Auto-
nung beinhaltet. Dazu hat VMware unter anderem eine mation 7.4-Katalogelemente ermöglichen und die Ausbrei-
neue Engine integriert, die Unternehmen mit Hilfe von tung von Blueprints reduzieren. Außerdem bietet vRealize
ARIMA-Techniken und -Layern einen Echtzeitüberblick Automation 7.4 Einblick in filterbasierte Netzwerkdienste
zur Kapazitätsauslastung und -nachfrage bieten soll. Was- und Infrastrukturelemente pro Mandant und unterstützt die
wäre-wenn-Szenarien für die Planung zukünftiger Projekte neueste, jetzt auch mandantenfähige Version von vRealize
und eine nachfragebasierte Kapazitätsplanung über Clouds Orchestrator.
hinweg gehören zu den weiteren Merkmalen. Bei der Per- Der neue vRealize Suite Lifecycle Manager 1.2 weitet das
formance-Automatisierung nutzt die Software vorausschau- Lifecycle-Management auf das integrierte IT-Content-Ma-
ende Analysen und automatisiertes Workload-Balancing zur nagement in Infrastruktur- und Cloudumgebungen aus. Zu
kontinuierlichen Optimierung. Nicht zuletzt kommt vRea- den neuen Funktionen gehört unter anderem ein In-Pro-
lize Operations 6.7 mit einer Out-of-the-Box-Integration duct-Marketplace. Unternehmen sollen damit von einem
mit Wavefront by VMware, damit IT- und Anwendungsver- integrierten AppStore-ähnlichen Erlebnis profitieren und
antwortliche Probleme schneller analysieren und lösen kön- können so Out-of-the-box-Werkzeuge von VMware und
nen. Überarbeitet wurde weiterhin die Benutzeroberfläche, Partnern nutzen. Diese umfassen vRealize Operations Ma-
deren Bedienung der Hersteller mithilfe eines personalisier- nagement Packs, vRealize Log Insight Content Packs und
ten Quick-Start-Dashboards vereinfacht haben will. vRealize Automation Blueprints sowie Plug-ins. Die Con-
Ein weiteres Element der vRealize Cloud Management tent-Management-Funktionen sollen es Nutzern erlauben,
Platform ist vRealize Automation in Version 7.4. Darin will Infrastrukturinhalte als Applikationen einzusetzen und
VMware unter anderem das Erstellen von Anwendungs- DevOps-Prinzipien anzuwenden, um vRealize-Inhalte
Blueprints drastisch beschleunigt haben, da über 120 kos- schnell und einheitlich über mehrere Umgebungen hinweg
tenlose, kuratierte Blueprints und OVF-Dateien sofort ver- zu verwalten. Die neu vorgestellten Versionen sollen laut
fügbar sind. Gemeinsam mit Bitnami hat der Hersteller 20 VMware ab Anfang Mai erhältlich sein. (ln)
neue Blueprints und über 100 neue OVFs gängiger Anwen- VMware: www.vmware.com/de/

6 Mai 2018 www.it-administrator.de


News Aktuell

TLS 1.3 fertig spezifiziert


Die Internet Engineering Steering Group (IESG) hat die veraltet gelten, wurden aus TLS entfernt. Gleichzeitig bie-
Spezifikation von Transport Layer Security (TLS) Protocol ten alle verwendeten Schlüsselaustauschmechanismen jetzt
Version 1.3, die die zuständige Working Group erarbeitet Forward Secrecy. Umstritten war innerhalb der Working
hat, zur Standardisierung vorgeschlagen. Neben erhöhter Group der Zero-Roundtrip-Modus (0-RTT) von TLS 1.3,
Sicherheit stand im Fokus der Entwicklung auch eine bes- der jetzt eine andere Sicherheitseinstufung bekommen hat
sere Performance, die der immer höheren Verbreitung von als der Rest des Protokolls. Laut IESG gibt es bereits zehn
HTTPS gerecht wird. Alle Krypto-Algorithmen, die als interoperable Implementierungen des Standards. (of)

Fedora 28 Beta verfügbar


Seit Anfang April steht die Betaversion von Fedora 28 zum Desktoperlebnis. Zu den Ergänzungen zählen die Unterstüt-
Download bereit. Die Linux-Distribution gibt es in den Va- zung von Thunderbolt-3-Verbindungen und standardmäßig
rianten "Fedora Server", "Fedora Atomic Host" und "Fedora integrierte Energiesparfunktionen zur Verlängerung von
Workstation". Jede Edition besteht aus einem gemeinsamen Akkulaufzeiten. Fedora 28 Atomic Host Beta stellt nicht zu-
Satz von Basispaketen, die die zentrale Grundlage des Fedo- letzt ein "Base Image" für die Erstellung virtueller Maschi-
ra-Betriebssystems bilden. Wie bei allen neuen Versionen nen, ein "Atomic Host"-Image für die Erstellung von Con-
von Fedora enthält Fedora 28 Beta viele kleinere Bug Fixes tainer-Deployment-Hosts sowie Container-Images für
und Verbesserungen an den zugrundeliegenden Kompo- Fedora-basierte containerisierte Applikationen bereit. (dr)
nenten. Neu hinzugekommen sind unter anderem glibc Fedora: https://getfedora.org/
2.27, die aktuelle Version der Compiler Collection (GCC) 8
und Updates zu vielen Open-Source-Sprachen, beispiels-
weise Golang 1.10 und Ruby 2.5.
Die wichtigste Änderung bei Fedora 28 Server Beta be-
trifft die Ergänzung der "Modularity"-Initiative. Modularity,
als Add-on für Fedora 28 Server Beta verfügbar, erleichtert
die Integration von Software- und Updateversionen, die
nicht Bestandteil des Default-Releases sind. Darüber hinaus
unterstützt Fedora 28 Server Beta nun AArch64 als Archi-
tektur und bietet Systemadministratoren somit eine zusätz-
liche Betriebssystem-Option. Fedora 28 Workstation Beta
und die Version 3.28 des GNOME-Desktops versprechen
Entwicklern und Anwendern dagegen ein verbessertes Fedora ist erhältlich als "Server", "Atomic Host" und "Workstation".

Globales Datenmanagement in der Cloud


Von Rubrik kommt mit Polaris eine neue SaaS-Plattform neuen SaaS-Plattform debütiert. Das Werkzeug bietet eine
für Datenmanagementanwendungen. Die Neuentwicklung einzige Konsole zur Datenkontrolle und Richtlinienver-
stellt ein globales Policy-Framework, Workflow-Orchestrie- waltung für global verteilte Geschäftsanwendungen, die
rung und tiefgehende Datenanalyse in Form von cloudba- lokal von den Cloud-Data-Management-Instanzen von
sierten Anwendungen bereit. Die SaaS-Plattform bietet ein Rubrik verwaltet werden.
einheitliches System, das zur Erfassung von Geschäftsinfor- Eine interaktive globale Karte visualisiert dabei alle An-
mationen in allen Unternehmensanwendungen, die in Re- wendungen und Daten, die in physischen, virtuellen und
chenzentren und Clouds ausgeführt werden, dient. Cloudtopologien enthalten sind. Die Makroansicht soll die
Das System bietet neben der Workflow-Orchestrierung Behebung von Systemfehlern vereinfachen, sodass Unter-
auch eine native Suche und einen globalen Inhaltskatalog. nehmen mit großen, komplexen Umgebungen Vorfälle
Diese Funktionen werden über eine offene API-Architek- schnell identifizieren, isolieren und priorisieren können.
tur verfügbar gemacht. Rubrik und andere Entwickler sol- Zudem können Unternehmen mit einer globalen Daten-
len diese APIs nutzen, um Datenverwaltungsanwendun- verwaltungsrichtlinie Datensätze erstellen, um die SLA-
gen für Datenrichtlinien, Datenkontrolle, Datensicherheit Compliance für Daten, die über lokale und mehrere
und tiefgehende Datenanalytik bereitzustellen. Polaris Clouds verteilt sind, zu belegen. (ln)
GPS ist die erste Datenverwaltungsanwendung, die auf der www.rubrik.com/product/polaris-overview/

Link-Codes eingeben auf www.it-administrator.de Mai 2018 7


Aktuell News

Mitarbeiter
als schwächstes Glied
Im vergangenen Jahr sank die Anzahl kompromittierter Da-
tensätze um fast 25 Prozent, da Cyberkriminelle den Schwer-
punkt auf Ransomware-Angriffe verlagerten. Letztes Jahr
wurden allerdings immer noch mehr als 2,9 Milliarden Da-
tensätze gehackt, gegenüber vier Milliarden im Jahr 2016. Zu
diesem Schluss kommt IBM in seinem kürzlich veröffentlich-
ten X-Force "Threat Intelligence Index 2018". Während die
Anzahl der gehackten Datensätze damit noch immer signifi-
kant war, dominierte 2017 das Phänomen Ransomware, da
Angriffe wie WannaCry, NotPetya und Bad Rabbit versuch-
ten, Chaos über mehrere Branchen hinweg zu stiften. Dane-
ben zeigt der Bericht einen historischen 424-prozentigen An-
stieg bei Hacks im Zusammenhang mit falsch konfigurierter
Cloud-Infrastruktur, hauptsächlich aufgrund menschlicher
Fehler. Auch war die Finanzbranche erneut mit den meisten
erfolgreichen Angriffen Spitzenreiter unter den Angriffszie-
len: 27 Prozent aller Angriffe zielten auf den Bankensektor.
Menschliches Versagen bleibt derweil das schwache Glied
in der Sicherheitskette. Im Jahr 2017 nutzten Cyberkrimi- Ransomware dominierte die IT-Security im letzten Jahr.
nelle weiterhin menschliche Fehler und Irrtümer bei Infra-
strukturkonfigurationen, um Angriffe zu starten. Tatsäch- in Bezug auf kompromittierte Datensätze, die durch Fehl-
lich zeigt der Bericht, dass unbeabsichtigte Aktivitäten wie konfigurationen in Cloudservern exponiert wurden. Neben
eine falsch konfigurierte Cloud-Infrastruktur für 70 Prozent falsch konfigurierten Clouds machten Einzelpersonen, die
der kompromittierten Datensätze verantwortlich waren. über Phishing-Attacken gehackt wurden, ein Drittel der
Auch werden Cyberkriminelle zunehmend auf die Existenz Vorfälle im Thema menschliches Versagen aus, die 2017 zu
von falsch konfigurierten Cloudservern aufmerksam. Eine einem Sicherheitsvorfall führten. (dr)
Folge: 2017 gab es einen sehr starken Anstieg (424 Prozent) IBM: www.ibm.de

Intelligenter Clientverwalter
VMware erweitert "Workspace ONE" um den cloudbasier- samten IT-Ökosystem und somit weniger übersehene
ten Dienst "Workspace ONE Intelligence", der Aggregation Schwachstellen will das Workspace ONE Trust Network
und Korrelation der Nutzer, Anwendungen, Netzwerke sorgen. Durch Kombination der eigenen Sicherheits-
und Daten von Endpunkten miteinander kombiniert. Zu- funktionalitäten mit dem neuen VMware-Security-Part-
dem stellt der Hersteller das "Workspace ONE Trust Net- nernetzwerk lassen sich Bedrohungsinformationen aus-
work" vor, das die Daten und Analysen von Workspace tauschen und abgleichen. Workspace ONE AirLift
ONE mit Sicherheitslösungen vertrauenswürdiger Partner ermöglicht das Co-Management von Windows 10 neben
kombiniert, um vorausschauende und automatisierte Si- Microsoft System Center Configuration Management.
cherheit zu gewährleisten. Und schließlich bringt "Work- Diese Koexistenz soll für eine schnellere Umstellung auf
space ONE AirLift" eine neue Windows-10-Co-Manage- Windows 10 mit gleichzeitig weniger Risiken sorgen, in-
ment-Technologie, die Unternehmen beim dem Aufgaben wie Device Onboarding, Patching, Soft-
PC-Lifecycle-Management unterstützen soll. wareverteilung und Remote-User-Support migriert wer-
Workspace ONE Intelligence nutzt dabei eine inte- den. Darüber hinaus integriert der Hersteller ein
grierte "Decision Machine", die Handlungsempfehlungen besseres Management von Mac-Rechnern, Sicherheit für
und automatisierte Prozesse auf Basis vorliegender Da- Office 365 durch Data Loss Prevention und Geräteüber-
ten liefert. So soll die IT-Abteilung Probleme erkennen wachung sowie mit "Boxer" die Möglichkeit, für Aufga-
und proaktiv beheben können, bevor diese sich auf die ben mehrere Business-Applikationen wie Salesforce, Jira
Arbeitsplätze auswirken. Auch steuern Administratoren oder Concur gleichzeitig zu nutzen, ohne die Boxer-E-
mit dieser Technologie Zugriffsrichtlinien über Geräte Mail-Anwendung zu verlassen. (jp)
und Plattformen hinweg. Für mehr Transparenz im ge- VMware: www.vmware.com/de/

8 Mai 2018 www.it-administrator.de


News Aktuell

Gerätesichtbarkeit erhöhen
ForeScout Technologies hat Version 8 von ForeScout CounterACT
um diverse neue Funktionen ergänzt. Die erweiterte ForeScout-
Plattform für Gerätesichtbarkeit soll unter anderem eine höhere
Skalierbarkeit, cloudbasierte Erkenntnisse über die Geräte, Bewer-
tung von IoT-Geräten und eine flexible, zentralisierte Lizenzertei-
lung bieten. Dazu zählen industrielle Systeme und Systeme für kri-
tische Infrastrukturen, IPv6-adressierbare Geräte sowie Geräte, die
von Cloudcontrollern wie Cisco Meraki verwaltet werden. Statt ei-
ner Million Geräte kann im neuen Release eine einzige Implemen- Couchbase gibt mit Couchbase Mobile 2.0 den Startschuss
tierung jetzt auf zwei Millionen Geräte skalieren. So sollen die Un- für die neueste Version seines Werkzeugs zur mobilen Da-
ternehmen mit dem Gerätewachstum Schritt halten können. tenverwaltung. Das aktuelle Release bietet Entwicklern un-
Zugleich können sie laut Hersteller die Nutzung der Stellflächen ter anderem eine vereinfachte API, Volltextsuche, automati-
und Rechenzentren optimieren, da eine einzige 1U-Appliance mit sche Konfliktlösung und SQL-Abfragen. Neu ist zudem das
umfassendem 10 GBit/s Traffic-Monitoring nun bis zu 20.000 Ge- Replikationsprotokoll, das auf WebSocket aufsetzt und da-
räte verwalten kann. Eine neue Option zur virtuellen Bereitstellung mit deutlich schneller sein soll. Einer der Bestandteile,
Couchbase Lite, wurde laut Hersteller vollständig neu ge-
unterstützt neben VMware und Hyper-V auch KVM. Die neue
schrieben. Weiterhin soll eine On-device Replica Entwicklern
Funktion zur automatischen IP-Zuweisung schließlich gibt Nut-
erlauben, HA/DR an der Edge zu liefern. (ln)
zern die Möglichkeit, die Verteilung und Verwaltung der IP-Adres- Link-Code: I5A11
sen in einem Multi-Appliance-Cluster zu automatisieren und da-
durch manuelle Verwaltungsaufgaben zu reduzieren. Überarbeitet
hat der Hersteller außerdem seine Flexx-Lizenzierung. (ln) Veeam und Pure Storage liefern gemeinsam eine integrierte
ForeScout: www.forescout.com Datenmanagement-Plattform. Die Integration des FlashAr-
ray von Pure Storage in die Veeam Availability Platform ist
ab sofort als Storage-Plug-in verfügbar. Die Neuvorstellung
WAN-in-a-Box soll die Ausfallsicherheit von Geschäftsprozessen verbessern
und für permanente Datenverfügbarkeit sorgen. Die Integra-
Dell EMC stellt mit der "Virtual Edge Platform" (VEP) eine
tion basiert auf der neuen Veeam Universal Storage API, mit
Werkzeugfamilie für softwaredefinierte Wide Area Networks der die Speicherintegration in die Veeam Availability Plat-
(SD-WAN) auf Grundlage des neuen Prozessors Intel Xeon D- form laut Anbieter erheblich vereinfacht wird. (ln)
2100 vor. Diese neuen virtualisierten Produkte sollen teure Link-Code: I5A12
Zugangshardware, die ausschließlich fest definierte Funktio-
nen bietet, verbessern oder ersetzen. Damit können Organisa-
tionen ihr Network Edge über universelle Teilnehmer-Endge- AnyDesk geht mit der neuen Version 4 der gleichnamigen
räte (universal Customer Premise Equipment, uCPE) mit der Remote-Desktop-Software an den Start. Das Release bringt
Cloud verbinden. diverse Features sowohl für Windows- als auch für macOS-
Dell EMC VEP4600 unterstützt mehrere virtuelle Netzwerk- Anwender. Neu dabei sind zum Beispiel Sitzungsaufzeich-
nung, integrierte Dateiverwaltung, automatisierte Updates
funktionen (Virtual Network Functions; VNF) gleichzeitig.
und erweiterte Unterstützung für Windows Terminal Server.
Zahlreiche proprietäre physische Endgeräte sollen sich so in
Um beim Fernzugriff auf unbeaufsichtigte Computer mehr
einem einzigen universellen Teilnehmer-Endgerät konsolidie- Sicherheit zu gewährleisten, bietet die neue Version eine
ren lassen, ohne nach Angaben von Dell das für das Hosting neue Funktion zum automatischen Sperren von Windows-
zahlreicher Devices benötigte hohe Leistungsniveau zu verlas- Sitzungen am Ende des Fernzugriffs. (ln)'
sen. VEP4600 will mit dem Intel-Xeon-D-2100-Chip, der Intel Link-Code: I5A13
QuickAssist-Technologie und dem Data Plane Development
Kit bei der Optimierung von Rechenressourcen und bei der
Effizienzsteigerung der stetig zunehmenden Security Work- A10 Networks erweitert sein Enterprise-Portfolio um das
loads helfen. Secure-Web-Gateway mit SSL-Insight. Mit dem auf der
Damit Unternehmen die Bereitstellung vereinfachen kön- Thunder-CFW-Plattform verfügbare Angebot sollen sich an-
nen, bietet Dell EMC drei validierte Lösungen für die spruchsvolle SaaS-Workloads leichter skalieren und Compli-
ance-Anforderungen umsetzen lassen. Die Secure Web
VEP4600. Sie stellen schlüsselfertige SD-WAN-Funktionen
Gateway-Lösung mit SSL Insight ermöglicht dabei eine bidi-
mit vorvalidierten und vorintegrierten Konfigurationen zur
rektionale SSL-Sichtbarkeit, indem sie das Offloading des re-
Verfügung, die die Infrastruktur und Support-Services von chenintensiven SSL/TLS-verschlüsselten Datenverkehr mit
Dell EMC mit der SD-WAN-Software von Silver Peak Systems, nahezu doppelt so hohem Durchsatz im Vergleich zu Mitbe-
VeloCloud Networks und Versa Networks kombinieren. (jp) werbern umsetzen soll. (dr)
Dell: www.dell.com/en-us/work/shop/povw/virtual-edge-platform-4600 Link-Code: I5A14

Link-Codes eingeben auf www.it-administrator.de Mai 2018 9


Aktuell News

Flexibler Pförtner
Der modulare Authentifizierungsserver privacyIDEA ist in
Version 2.22 auf dem Markt. Die aktuelle Version beinhaltet
einige wesentliche Neuerungen: So können Informationen
nun künftig flexibler über das RADIUS-Protokoll an Fire-
walls oder VPNs zurückgeliefert werden. Administratoren
erhalten außerdem die Möglichkeit, spezifische Rückgabe-
werte zu definieren. Darüber hinaus wurden unter anderem

Quelle: Netknights GmbH


die Unterstützung für proprietäre VASCO-Token, eine Ver-
sandmöglichkeit von SMS-Token über das SMPP-Protokoll,
ein Counter Handler und die Möglichkeit zur Bestimmung
von Tokenarten integriert.
Vor allem die Definition von Rückgabewerten schafft laut
Anbieter mehr Flexibilität für Administratoren. Die Informa- Wenn eine Authentifizierung mit einem HOTP fehlschlägt,
tionen für die Definition dieser Werte könnten dabei bei- wird ein Zähler hochgezählt, der für Statistikzwecke
ausgewertet werden kann.
spielsweise aus Attributen des Benutzers im Active Directory
stammen. Über reguläre Ausdrücke ließen sich diese Attribute
nochmals umformen, bevor sie über das RADIUS-Protokoll cess, SSH-Verbindungen, Zugriff auf Websites oder Webporta-
an die Firewall oder das VPN zurückgegeben würden. Solche le mit Zwei-Faktor-Authentifizierung erhöhen lässt. Ur-
personenbezogenen Attribute kämen in VPN-Systemen wie sprünglich wurde privacyIDEA als OTP-Server (One Time
Cisco ASA oder Citrix Netscaler oft zum Einsatz, um den Be- Password) entwickelt und funktioniert mit Authentifizie-
nutzern gezielt Zugriff auf bestimmte Subnetze oder Netz- rungsverfahren wie Challenge Response, U2F, Yubikeys, SSH-
werkressourcen zu gewähren. privacyIDEA ist ein modularer Schlüssel und x509-Zertifikate. Die Software ist Linux-basiert
Authentifizierungsserver, mit dem sich die Sicherheit beste- und Open Source unter der AGPLv3-Lizenz. (dr)
hender Anwendungen wie lokale Logins, VPN, Remote Ac- privacyIDEA: www.privacyidea.org

LXD 3.0 jetzt clusterfähig Ansible 2.5 veröffentlicht


Seit Anfang April ist LXD 3.0 erhältlich, eine vom Ubun- Version 2.5 der Konfigurationsmanagement-Software
tu-Distributor Canonical entwickelte Container-Lösung, Ansible bietet zahlreiche Neuerungen. Das sind bei-
die auf den Linux-Containern LXC basiert. Das heraus- spielsweise Blacklists für Module, des es ermöglichen,
ragende Feature ist die Möglichkeit, LXD im Cluster zu in einer Firma nur offiziell zugelassene Module zu ver-
betreiben, sodass der Verbund nach außen wie ein gro- wenden und andere zu sperren. Für Windows gibt es
ßer LXD-Host erscheint. Dazu verwendet LXD mit dqli- jetzt mehr Möglichkeiten, unterschiedliche Adminis-
te eine Kombination aus der Embedded-Datenbank trator-Rechte zu bekommen, etwa NT AUTHORITY\
SQLite und dem Raft-Consensus-Algorithmus. Das Se- System, NT AUTHORITY\LocalService und NT
tup des Clusters soll keine besonderen Anstrengungen AUTHORITY\NetworkService. Die Anwendung von
erfordern, sondern einfach mit den gewohnten LXD- Ansible auf Cloudumgebungen steht laut der Ankündi-
Tools machbar sein. Ein neues Tool namens "lxd-p2c" er- gung der Version 2.5 weiter stark im Fokus. Dement-
möglicht es, physische Rechner leicht in LXD-Container sprechend wurden im neuen Release einige Cloud-
umzuwandeln. Neben vielen weiteren kleinen Änderun- features ausgebaut. So gibt es für die Amazon Cloud
gen, die in der Release-Ankündigung aufgelistet sind, AWS nun ein neues ec2_instance- Modul, welches das
vereinfacht LXD 3.0 die Verwendung von NVidia-GPUs alte ec2-Modul ablöst.
in Containern.  Weitere Module befassen sich mit den Amazon-
LXD ist eine auf LXC basierende Lösung, die den Ein- Images AMI, dem Elastic Load Balancer, dem IAM-Ser-
satz von Containern verspricht, der in seiner Einfachheit vice und den AWS-Regionen. Auch für Azure gibt es
mit der Benutzung virtueller Maschinen vergleichbar ist. viele neue Module, die von Microsoft beigesteuert wur-
Im Gegensatz zu Ansätzen wie Kata, Clear oder den. Für die Google Cloud Platform (GCP) bringt An-
Hyper.sh kombiniert LXD aber keinen echten Hypervisor sible 2.5 das neue Modul gcp_dns_managed_zone mit,
mit Containern, sondern setzt zur Isolation auf die be- das von den Google-Tools automatisch generiert wur-
kannten Mechanismen wie AppArmor, User Namespaces de. Viele neue Module gibt es auch zur Automation von
und seccomp. (of) VMware-Umgebungen. (of)
Linux Containers: https://linuxcontainers.org Ansible: https://www.ansible.com/

10 Mai 2018 www.it-administrator.de


News Aktuell

Eingehegte KI In der Falle


Sie gilt als Zukunftstechnologie mit den größten Möglichkei- Palo Alto Networks liefert mit Version 5.0 seines Endpunkt-
ten, als Motor der Vierten Industriellen Revolution: Künstliche schutzes "Traps" einen via Cloud bereitgestellten Manage-
Intelligenz (kurz KI). Bürger und Entscheider in Deutschland ment-Service, Linux-Unterstützung sowie eine neu gestalte-
erkennen das Potenzial, das mit ihr verbunden ist – so glauben te Infrastruktur. So soll sich das Schutzwerkzeug nunmehr
60 Prozent, dass Künstliche Intelligenz Antworten auf eine einfacher nutzen und verwalten lassen und gleichzeitig er-
Vielzahl drängender Probleme der heutigen Gesellschaft geben lauben, die Durchsetzung der erforderlichen Maßnahmen
kann, etwa in den Bereichen Gesundheit, Mobilität oder Ener- mit der Cloud- und Netzwerksicherheit zu koordinieren,
gie. Auch 72 Prozent der CEOs, die PwC befragt hat, sind da- um erfolgreiche Cyberangriffe zu verhindern. Im Detail
von überzeugt, dass KI der entscheidende Geschäftsvorteil der umfassen die Neuerungen neben dem erwähnten, via
Zukunft sein wird. Mehr als die Hälfte (54 Prozent) der Unter- Cloud bereitgestellten Management-Service für einfachere
nehmen, die KI einsetzen, bestätigt, dass die neue Technologie Bereitstellung und tägliche Verwaltung eine neu gestaltete
die Produktivität im eigenen Unternehmen bereits erhöht hat. Benutzeroberfläche für eine intuitivere Nutzung. Neu ist
Bereits heute wird KI in vielen Bereichen eingesetzt, bei- auch die Unterstützung für Linux.
spielsweise zur Automatisierung von Prozessen in Unter- Zusätzlich sollen periodische Scans "schlafende" Malware
nehmen, zur Diagnostik in der Medizin oder zur Vorhersa- auf Endpunkten und angeschlossenen Wechseldatenträgern
ge von Kundenverhalten im Einzelhandel. Doch wenn finden. So gefundene infizierte Dateien lassen sich automa-
Unternehmen das volle Potenzial nutzen wollten, müsse laut tisch in Quarantäne stellen, um sicherzustellen, dass sie
PwC ein Umdenken in der gesamten Organisation einset- nicht in Umlauf gebracht werden. Abgerundet wird Traps
zen. KI beschränke sich nicht auf die IT- oder Innovations- 5.0 mit einer Integration mit dem Logging Service von Palo
abteilung, sondern erfasse das gesamte Unternehmen. Ent- Alto Networks. Dies ermöglicht die Erfassung detaillierter
scheidend sei, dass Unternehmer vor der Einführung von KI Ereignisinformationen für eine bessere Analyse von End-
prüfen, ob die Software transparente Ergebnisse liefert. punkt-, Netzwerk- und Clouddaten. Das Werkzeug zum
Schon in der Entwurfsphase sollten Unternehmen daher Endpunktschutz schlägt bei Abnahme von 1000 Lizenzen
Kontrollen einplanen. Die Steuerung von Künstlicher Intel- mit etwa 65 US-Dollar je Nutzer zu Buche. (jp)
ligenz sei dabei ein kontinuierlicher Prozess. (dr) Palo Alto Networks: www.paloaltonetworks.de/resources/datasheets/
PwC: www.pwc.de endpoint-protection

Geräuscharme Konferenzen
HP stellt mit dem "Elite Slice G2" sowie einem neuen 55- sind, sorgt "HP Sure Start" mit Dynamic Protection für Si-
Zoll-Bildschirm mit 4K-Auflösung neue Ausrüstung für den cherheit, indem es mit einem selbst-regenerierenden BIOS
Konferenzraum vor. Das für die Zusammenarbeit konzipier- und manipulationssicheren Anschlussabdeckungen ausge-
te HP Elite Slice kommt mit zahlreichen Funktionen, um das stattet ist. Ergänzt wird der neue Besprechungsraum von
eMeeting-Erlebnis einfach und schmerzlos zu gestalten. Er- dem "HP LD5512 4k Large Format Display", der die Zusam-
gänzt wird das neue Angebot optional mit dem "Center of menarbeit von zu bis vier Nutzern optimiert abbildet. HP
Room Control", einem 12,3-Zoll-Touchscreen, der die Ver- Elite Slice G2 ist für etwa 800 Euro verfügbar, der ergänzen-
waltung von Konferenzanrufen vereinfacht und den "HP de UHD-Bildschirm liegt bei ungefähr 1000 Euro. (jp)
Präsenzsensor" enthält, der erkennt, wenn ein Teilnehmer Hewlett Packard: www.hp.com
den Raum betritt, um das Meeting zu beginnen.
Um sicherzustellen, dass Konferenzteilneh-
mer deutlich zu hören sind, und um den ge-
fürchteten "Ich dachte, ich war stumm geschal-
ten"-Fauxpas zu vermeiden, bietet das Gerät 90
dBa Audio für Klang und Klarheit, ein Fern-
feldmikrofon, das Geräusche aus bis zu fünf
Metern Entfernung aufnehmen kann, HP Noise
Cancellation, um ungewollte Gespräche und
Geräusche im Raum zu vermeiden.
HP Elite Slice bietet zur Administration eine
standardbasierte Benutzeroberfläche, das "HP
Manageability Integration Kit", und eine werkzeuglose Ein- HP Elite Slice für Konferenzräume sorgt nicht zuletzt durch einen
richtung. Da Konferenzgeräte in der Regel für mehrere Be- namhaften Lautsprecherlieferanten für Videokonferenzen ohne
nutzer freigegeben und oft für lange Zeit unbeaufsichtigt störende Hintergrundgeräusche.

Link-Codes eingeben auf www.it-administrator.de Mai 2018 11


IBM Think 2018, 18. bis 22. März, Las Vegas

Gemeinsam gedacht
von Torben Volkmann

Erstmalig hat IBM keine einzelnen Events mehr für verschiedene Bereiche oder Zielgruppen,
sondern veranstaltet ab 2018 nur noch die "Think". Dabei standen Collaboration, künstliche
Intelligenz, Blockchain, Internet of Things oder Quanten-Computing auf der Agenda.
Der Andrang war entsprechend groß.

ass dieses Event nicht nur die Zu- Dies sind Themen, die IBM und seine For- hilfe von "Watson Services for Core Ma-
D kunft der IBM-Hausmessen, son- scher auch in der nahen und fernen Zu- chine Learning" und "Cloud Developer
dern auch die technologische Zukunft kunft weiter begleiten wollen. Console for Apple" sollen iOS-Entwickler
darstellt, daran ließ gleich am ersten Tag eine einfache Möglichkeit haben, auf die
der "IBM Science Slam" keinen Zweifel. Wissen wächst exponentiell Funktionen von IBM Watson zuzugreifen.
Fünf IBM Wissenschaftler hatten jeweils mit der Hilfe von IBM Watson Den Anfang macht dabei die Paradedis-
fünf Minuten Zeit, ihre Forschung und Der zweite Tag stand ganz im Zeichen ziplin der KI: die Bilderkennung. Damit
deren Stand vorzustellen. Dabei handelte der Keynotes: Den Auftakt machte IBM- hat IBM eine weitere vielversprechende
es sich nicht um fertige Produkte, viel- Chefin Ginni Rometty. Sie stellte vor, wie Kooperation geschlossen. Überhaupt
mehr referierten die Experten zu konkre- IBM seine Forschung in die tägliche Ar- scheint der Hersteller mit Partnern und
ten gesellschaftlichen und technischen beit integrieren möchte. Bis heute ist die Kunden bei Watson aktuell gut aufgestellt
Problemen. Dazu gehörte zum Beispiel IT von zwei Gesetzen geprägt: Moors Law zu sein: Salesforce, Volkswagen, Ticket-
die Herausforderung beim Anlernen des exponentiellen Rechenleistungszu- master und Lenovo gehören hier zu den
künstlicher Intelligenzen. wachs sowie Metcalfs Law des exponen- Partnern oder Kunden.
tiellen Netzwerkwachstums. Ginge es
Ein weiteres Thema war die Verknüpfung nach IBM, würde nun auch "Watsons Die Bedeutung von Watson für IBM
von hergestellten Produkten mit der Block- Law" hinzukommen. Denn laut dem Ge- sollte klar sein. Damit aber die Einstiegs-
chain-Technologie zur Bekämpfung von setz erfährt auch das Lernen von nun an hürde gesenkt wird, nämlich das Anler-
Produktpiraterie. Und wer hätte gedacht, exponentielles Wachstum. Das Ganze soll nen der KI, wurde mit "IBM Watson
dass Plankton ein Gradmesser für die Ge- natürlich mit Hilfe von IBM Watson pas- Studio" eine Suite vorgestellt, mit der
sundheit der Meere ist und dass die größte sieren. Hierbei handelt es sich um die ei- die Klassifizierung und Kontrolle von
Herausforderung darin besteht, dieses le- gene künstliche Intelligenz, die sowohl Daten zum Anlernen deutlich verein-
bend zu beobachten und zu erforschen? über APIs als Webdienst angesprochen facht werden soll und die ohne eine
Etwas, das bis heute noch nicht möglich werden kann als auch in einzelne Pro- Programmiersprache oder -erfahrung
ist. Auch mit diesem Gebiet beschäftigen dukte direkt integriert wurde. auskommt. Damit IBM Watson noch
sich die IBM-Forscher. Genauso wie mit leistungsfähiger in die Zukunft gehen
der Technik des Quanten-Computing und Das neueste und prominenteste Mitglied kann, wurde auch gleich der hauseigene
dessen Auswirkung auf die Kryptografie. in dieser Familie ist nunmehr Apple. Mit- Chip POWER9 präsentiert, der zusam-

12 Mai 2018 www.it-administrator.de


BUNDESWEITE IT-SEMINARE

men mit Nvidia GPUs das Machine Learning um den Faktor


vier beschleunigen soll.

Ein weiteres Highlight der ersten Keynote war das Joint Ven-
ture zwischen IBM und Maersk. Zusammen wollen sie Dienst-
leistungen für den Handel und den Transport via Blockchain
anbieten. Insbesondere der Transport per Schifffahrt über
Landesgrenzen hinweg soll durch den Einsatz der Technologie
mehr Transparenz gewinnen und so Zollformalitäten deutlich
S EM I N AR E
vereinfachen.

Für diejenigen, für die künstliche Intelligenz und Blockchain


schon alte Hüte sind, wurde mit "IBM Q" ein Quantencomputer Von Adobe bis VMware, von
vorgestellt. Zweifelsfrei die Zukunft der Computer. Er arbeitet
fundamental anders als bisherige Rechner. Das beginnt schon
Basiswissen bis Highend
beim aufwändigen Betrieb, da der Kern vor sämtlichen äußeren
Einflüssen geschützt werden muss. Dieser Umstand ist der zu Wir bieten ein umfangreiches Seminarangebot aus
Grunde liegenden Quantenmechanik mit ihren physikalischen
Abhängigkeiten geschuldet. Damit jeder diese Architektur nut- • offenen Seminaren
zen kann, wird IBM Q als Webdienst angeboten. So kann sich • Firmenschulungen
jeder Interessierte mit Quanten-Computing und den Problemen, • Einzelcoaching
die damit gelöst werden sollen, beschäftigen. • Floorwalking
Neuigkeiten in in Hamburg, Hannover und über 20 weiteren
der Collaboration-Welt

    
Auch die bisherige IBM Connect zur Collaboration ist Teil der
IBM Think, sodass auch einige Neuigkeiten aus dieser Produkt-
 
  
familie gezeigt wurden. Da IBM die Entwicklung des Domino-
Applikationsservers an den Dienstleister HCL abgegeben hat, SEMINARE MIT DURCHFÜHRUNGSGARANTIE
wurden neben Roadmaps auch einige interessante Demos ge- FINDEN SIE AUF UNSERER WEBSEITE:
zeigt. Ein Highlight dabei: IBM-Domino-Applikationen auf ei-
nem iPad, ohne dass die Programmierung angepasst wurde. WWW.SYMPLASSON.DE/SEMINARE
Eine Option, die viele IBM-Domino-Kunden interessieren wird.

     !  
Leider gab es noch keine Informationen darüber, wie in diesem
um unser umfangreiches
Zusammenhang mit den Limitierungen umgegangen wird, die
Apple für Programme unter iOS vorschreibt. Darüber hinaus
"#
$
wurde für den "IBM Watson Workspace Enterprise"-Messaging-
Dienst die Integration von Zoom-Videokonferenzen vorgestellt. Tel: 040 533071-80
Mail: %&#
 
Fazit
Neben all den Neuerungen fanden sich allerdings auch Kontraste
zur schönen neuen Welt. So setzten sich sowohl ein Mitarbeiter
der KPMG als auch einige Workshops kritisch mit dem Thema
Künstliche Intelligenz sowie ihren Gefahren und Folgen aus-
einander. Konkrete Antworten oder Lösungen konnten die Do- Wir machen IT SYMPATHISCH!
zenten zwar nicht liefern, waren sich aber unisono einig, dass
die künstliche Intelligenz unaufhaltsam auf dem Vormarsch ist. • IT-Service • Seminare
• Rechenzentrum * 
Und auch aus organisatorischer Sicht gab es Kritik: Der Ver-
anstaltungsort war dem Besucherandrang nicht gewachsen. SYMPLASSON '(

" !)
Teilweise bewegte sich minutenlang nichts auf den Fluren und &#
 
die Besucher standen dicht an dicht gedrängt. Aber für dieses
Problem hat IBM schon die Lösung bekannt gegeben: Die nächs-
te IBM Think wird vom 12. bis 15. Februar 2019 im Moscone
Center in San Francisco stattfinden. (jp)

www.it-administrator.de
Trainings, Intensiv-

Unsere Veranstaltungen 2018

Komplexe Aufgaben
Im neuen Intensiv-Seminar "Aufbau einer PKI unter Windows" ziehen die Teilnehmer in drei Tagen
eine PKI-Infrastruktur von Grund auf hoch. Durch Übungen am Rechner wird dabei der komplexe
Aufbau nachvollziehbar. Nicht immer einfach gestaltet sich auch das Drucken in
Windows-Netzwerken. In unserem zugehörigen Training im Herbst beleuchten wir
die größten Stolperfallen und geben Tipps. Nur noch wenige Plätze gibt es
derweil im Intensiv-Seminar "PowerShell für Admins" mit Thomas Wiefel.

Quelle: rawpixel – 123RF

Training IT-Notfallplanung für KMUs Link-Code: TIWI1


- Besondere Bedeutung der IT-Notfallplanung für KMUs Teilnahmegebühren
- Mögliche Optionen und Wahl des passenden Weges. Abonnenten 238 Euro*
- Beispiele für Vorgehensweisen: Praxisorientiert oder normgerecht Nicht-Abonnenten 299 Euro*
- Die altmodische Methode mit Word und Excel
- Die Zwischenlösung: Berater als externe Unterstützung Dozent / Fachliche Leitung
- Die sichere Alternative über einen softwaregestützten Ansatz Jörg Kretzschmar ist Senior Consultant
- Herausforderungen bei der Umsetzung einer IT-Notfallplanung und Mitbegründer der CONTECHNET Ltd.
- Einführung der IT-Notfallplanung und nachfolgende Schritte Sein Schwerpunkt liegt im Aufsetzen und
- Mehrwerte einer IT-Notfallplanung bei der täglichen Arbeit und der Einführung einer IT-Notfallplanung in
darüber hinaus Unternehmen und Behörden. Mit über
Termin & Ort 20 Jahren Berufserfahrung im IT-Security-
17. Mai: Darmstadt Segment hat Jörg Kretzschmar mittler-
21. Juni: Dortmund weile an der Umsetzung von mehr als
Das Training findet von 10 bis etwa 17 Uhr statt. 200 Projekten mitgewirkt.

14 Mai 2018 www.it-administrator.de


Seminare und Workshops
Intensiv-Seminar Aufbau einer PKI unter Windows Link-Code: TIWI3
- Grundsätzliche PKI-Alternativen & -Voraussetzungen Termin & Ort
- Richtlinien und PKI (Zertifikatrichtlinie, Sicherheitsrichtlinie, Zertifikats- 3. bis 5. Juli: Hamburg
verwendungserklärung) 19. bis 21. September: München
- Entwurf einer Zertifizierungsstellenhierarchie Das Intensivseminar beginnt am ersten Tag um 10 Uhr und endet am 3.
- Organisation der ausstellenden Zertifizierungsstellen Tag gegen 16 Uhr.
- Auswahl einer Architektur
Teilnahmegebühren
- Identifikation PKI-fähiger Anwendungen
Abonnenten 1490 Euro*
- Bestimmung von Anforderungen (Sicherheit, Technik, Betrieb, Externe, Nicht-Abonnenten 1670 Euro*
Active Directory)
- Grundlagen PKI Dozent / Fachliche Leitung
Michael Buth gründete Mitte der 90er-
- PKI-fähige Anwendungen (Code-Signing, Bereitstellung von Smart-
cards, sichere E-Mail et cetera) Jahre die Firma EDV-System Service Buth.
Seit 1997 ist er zugleich freiberuflicher
- Wifi mit 802.1x Authentifizierung
Dozent und IT-Trainer. Sein Fokus liegt auf
- Windows Enterprise Zertifikatsdienste nutzen PKI, Security und Netzwerkmanagement.

Training Drucker in Windows-Netzen Link-Code: TIW06


Windows-Druckserver verwalten Termin & Ort
- Technischer Hintergrund 18. September: Hamburg
- Windows-Druckarchitektur 23. Oktober: Dietzenbach bei Frankfurt
- Einrichten von Druckservern Das Training findet von 10 bis etwa 17 Uhr statt.
- Typische Aufgaben und Administration Teilnahmegebühren
- Verwaltung und Konfiguration Abonnenten 238 Euro*
- Weitere Funktionen Nicht-Abonnenten 299 Euro*
Dozent / Fachliche Leitung
Nicolay Schöttler ist gelernter Fachinfor-
Best Practices & Troubleshooting
matiker und hat Wirtschaftsinformatik an
- Best Practices für Druckserver
der Universität Siegen studiert. Er arbeitet
- Drucken über WAN-Strecken
seit 2014 beim K-iS Systemhaus als Sys-
- Drucken im Terminalserver-Umfeld tem Engineer, steadyPRINT-Consultant
- Bekannte Probleme & Troubleshooting und Trainer.

Intensiv-Seminar PowerShell für Admins Link-Code: TIWI2


- Einführung und Basiswissen Termin & Ort
- Architektur der PowerShell und Versionsunterschiede 6. bis 8. Juni: Hamburg
- Cmdlets, Cmdlet-Parameter und Hilfefunktionen 27. bis 29. Juni: Garching bei München
- Objekt-Pipeline und Ausgabefunktionen Beginn am ersten Tag um 10 Uhr, Ende am dritten Tag gegen 16 Uhr.
- Navigationsmodell (PowerShell-Provider) Teilnahmegebühren
- Scripting Abonnenten 1090 Euro*
- PowerShell Language (PSL): Variablen und Kontrollstrukturen
Nicht-Abonnenten 1270 Euro*
- Objektorientiertes Programmieren mit Klassen (ab PowerShell 5.0)
- Sicherheitsfunktionen (Execution Policy) Dozent / Fachliche Leitung
- Vordefinierte Variablen, Fehlerbehandlung und Fehlersuche Thomas Wiefel ist seit 20 Jahren Experte
*alle Preise inkl. 19% MwSt

für die Automatisierung von Client- und


- Scripting mit PowerShell Integrated Scripting Environment (ISE)
Serversystemen. Er ist dabei im Team von
- Aufbauwissen
IT-Visions zuständig für die Themen Power-
- Fernaufruf/Fernadministration mit WS-Management (Remoting)
Shell, AutoIT, Scripting, Active-Directory-
- Serververwaltung Active Directory und Automatisierung von Azure Automatisierung sowie Docker.

Mehr Informationen zu allen Trainings unter www.it-administrator.de/trainings Mai 2018 15


Chef Automate

Quelle: callipso – 123RF


Seite an Seite
von Martin Loschwitz

Umfassende Lösungen für das Lifecycle-Management von Servern boomen seit Jahren.
Chef Automate geht als Konkurrent von Werkzeugen wie Ansible Tower oder Puppet Enterprise
ins Rennen. Hält die Software, was der Hersteller verspricht?

or 15 Jahren war es üblich, Syste- Ein Füllhorn von Lösungen Chef Automate selbst ist ein recht junges
V me händisch zu verwalten, und Zwar ist Puppet in Europa bis heute der Produkt, doch der Hersteller hat das Rad
zwar auch dann, wenn es sehr viele waren. Platzhirsch in Sachen Automation und für dieses Produkt nicht neu erfunden:
Automation war kein umfassendes Kon- Ansible reklamiert für sich, eine junge, Unter der Haube ist Automate eine Kom-
zept, sondern höchstens der Tatsache ge- unkomplizierte und äußerst flexible Al- bination aus drei existierenden Werkzeu-
schuldet, dass die Admins dieser Welt ternative zum scheinbar etwas schwerfäl- gen, nämlich Chef als Automatisierer für
nicht immer und immer wieder dieselben ligen Puppenspiel zu sein. Das ändert aber Infrastruktur, Habitat als Software-Auto-
Aufgaben händisch erledigen wollten. Oft nichts daran, dass auch Chef als Dritter matisierer und InSpec für das automati-
waren abenteuerliche Shellskript-Kon- im Bunde eine große Fangemeinde hat sche Überwachen von Compliance. Zu-
struktionen das Mittel der Wahl. und kommerziell relevant ist. Der gleich- sammen hält dieses Konstrukt eine Art
namige Hersteller wirbt mit seinem Pro-
Bald traten die Automatisierer auf den dukt Chef Automate um Kunden und hat Chef Automate
Plan: Im Fahrwasser von DevOps war es dieses in den vergangenen Monaten um
Produkt
nicht zuletzt Puppet, das den Shellskript- diverse interessante Funktionen erweitert.
Automationslösung für Systeme und Applika-
Wildwuchs in Form einer definierten
tionen mit integrierter Compliance-Kontrolle.
Syntax eindämmte und häufig verwendete Etwas seltsam mutet die Tatsache an, dass
Hersteller
Funktionen zentral in vereinheitlichter sich im Gegensatz zu Ansible Tower oder
Chef
Form anbot. Und der Bedarf wird größer: Puppet Enterprise bei Chef Automate nicht
www.chef.io
Cloud Computing, das sich gerade auch sofort erschließt, worum es bei dem Pro-
Preis
vom Hype zum Gamechanger in der IT dukt eigentlich geht oder aus welchen
Pro Server 137 US-Dollar.
wandelt, sorgt dafür, dass Setups immer Komponenten es besteht. Dabei ist Chef
größer werden. Wo Admins früher viele gar nicht großartig anders als andere Au- Systemvoraussetzungen
kleine Setups verwalteten, haben sie es tomatisierer – der Anspruch des Herstellers Unterstützte Plattformen für den Chef-Server:
CentOS 6/7, Oracle Enterprise Linux 6/7, Red
plötzlich mit riesigen Umgebungen zu ist es, seinen Kunden ein Werkzeug an die
Hat Enterprise Linux 6/7, SUSE Linux Enter-
tun, die ohne Automation gar nicht mehr Hand zu geben, mit dem sie sowohl ihre
prise Server 11 SP4, 12 SP1, Ubuntu 14.04,
sinnvoll zu betreuen sind. Automation physischen Systeme verwalten als auch
16.04
und DevOps profitieren gegenseitig von- fremde oder selbst entwickelte Software
64-Bit-Rechner, mindestens vier Cores, 8
einander: Große Setups mit hohem Au- auf ihnen ausrollen können. Chef ist also
GByte RAM, 18 GByte Festplattenspeicher
tomationsgrad ermöglichen neue Ge- auf der einen Seite ein klassischer Auto-
Technische Daten
schäftsmodelle, die wiederum rasantes matisierer; andererseits wildert es im Me-
www.it-administrator.de/downloads/
Wachstum mit sich bringen und die Set- tier der Lösungen für Continuous Integra-
datenblaetter
ups so noch größer werden lassen. tion und Continuous Delivery.

16 Mai 2018 www.it-administrator.de


Chef Automate Te s t s

butionen für Linux ebenso wie FreeBSD,


macOS oder Windows. Und auch für die
Cloud hat Chef etwas in petto: Ressourcen
in AWS oder Azure verwaltet Chef mitt-
lerweile ebenfalls nativ, und auf Wunsch
legt es dort sogar neue solche an.

Habitat für Applikationen


Neben Chef selbst gehört auch Habitat
zu Chef Automate. Wie Chef ist Habitat
ein Werkzeug zur Automation, allerdings
betrachtet es das Thema aus einer ande-
ren Sicht als Chef, nämlich aus der Sicht
der Applikation. Der Anwendungsent-
wickler muss sich immer noch Gedanken
darüber machen, wie sein Werk möglichst
sinnvoll den Weg auf die Zielsysteme fin-
Bild 1: Das Chef-Automate-Webinterface zeigt Informationen zu einzelnen Knoten det. Meist führt das dazu, dass Entwickler
wie die dort aktiven Chef-Cookbooks an. RPM- oder DEB-Pakete ihrer Produkte
anbieten und entsprechende Konfigura-
Klammer, die aus einer grafischen Ober- zelne Cookbooks spezifischen Hosts zu tionstemplates beilegen. Diese Art, eine
fläche und diversen Programmen besteht, und weist Chef an, diese Konfiguration Applikation zu verteilen, ist allerdings
die dafür sorgen, dass die verschiedenen auszurollen (Bild 1). schwerfällig und schwierig zu warten.
Tools nahtlos ineinandergreifen. Nicht
unerwähnt bleiben darf der selbst pro- Das Chef-Design folgt dem Server-Client- Hier betritt Habitat die Bühne: Am besten
klamierte Anspruch der nahtlosen Ska- Prinzip: Einerseits existiert der zentrale lässt sich das Programm als eine Mi-
lierbarkeit: Laut Hersteller ist es völlig Chef-Server, der den gewünschten Zu- schung aus Konfigurationsmanagement
egal, ob man mit Chef Automate fünf stand aller Knoten inklusive der dort aus- und Paketmanagement beschreiben. Ha-
oder 5000 Server verwaltet – die Funk- zurollenden Software kennt. Andererseits bitat muss Teil einer Umgebung für Con-
tionalität ist in beiden Fällen dieselbe. läuft auf diesen Servern der Chef-Client, tinuous Integration und Continuous De-
der seine Cookbooks vom Server erhält livery sein; es richtet sich vorrangig an
Alter Bekannter: Chef und dann die darin für den Host ver- "Cloud Ready"-Applikationen, also an sol-
Der Automatisierer Chef ist das Produkt, zeichneten Veränderungen lokal umsetzt. che Werkzeuge, die möglichst fein in Mi-
das Chef als Firma erst groß gemacht hat croservices aufgeteilt sind. Die Idee: Die
und ihr so die Möglichkeit verschaffte, Das erklärte Chef-Ziel ist "IAC", also In- verschiedenen Entwickler arbeiten ge-
Chef Automate auf den Markt zu bringen. frastructure as Code: Der Admin definiert meinsam an einer Applikation und zu je-
Entsprechend ist Chef ein Kernbestandteil den gewünschten Zielzustand seiner IT- dem Zeitpunkt baut Habitat aus den
von Automate: In der Lösung kümmert Infrastruktur in der zu Chef gehörenden Quellen der Applikation verteilbare Ver-
es sich um die Konfiguration von Syste- deklarativen Sprache und kann die dafür sionen des Programms, die sich auf be-
men und darum, auf den Systemen be- benötigten Recipes sowie Cookbooks et- liebigen Systemen ausrollen und auch
stimmte Programme auszurollen. wa auch in einem Git-Verzeichnis verwal- steuern lassen. Dieses Ausrollen über-
ten. Jederzeit lassen sich dann Systeme nimmt Habitat gleich selbst; es versteht
Unter der Haube basiert Chef auf Ruby auf Basis dieses Git-Ordners auf Knopf- sich auf den Umgang mit öffentlichen
und Erlang. Wie Puppet setzt Chef auf druck reproduzieren. Alle Aufgaben, die Cloudumgebungen ebenso wie mit Do-
eine domain-spezifische deklarative Spra- zwischen dem installierten Betriebssystem cker, Kubernetes oder Mesosphere.
che für die eigene Syntax. Dabei orientiert und der gewünschten Funktionalität der
es sich, anders als etwa Ansible, vorrangig Maschine stehen, erledigt Chef. Das führ- Ändert ein Entwickler den Quelltext einer
am State, also am Zielzustand, den ein te im Test erwartungsgemäß zu keinen Applikation und lädt diese in das zentrale
System nach der Bearbeitung durch Chef Problemen: Chef existiert von allen Au- Quelltextverzeichnis hoch, wird Habitat
haben soll. Der Admin verfasst zu diesem tomate-Komponenten am längsten und aktiv: Automatisch erstellt das Tool neue
Zweck Recipes ("Rezepte"), die sich zur ist entsprechend erprobt – als Admin er- Abbilddateien der jeweiligen Komponen-
einfacheren Handhabung zu Cookbooks halten Sie also ein solides Stück Software. te. Hat der Admin Habitat zuvor ange-
("Kochbücher") kombinieren lassen. Diese wiesen, die Applikation tatsächlich auf
wiederum unterstützen Parameter, die Mittlerweile funktioniert Chef übrigens auf einem Zielsystem auszurollen, spielen die
für einzelne Hosts die Konfiguration fest- einer Vielzahl verschiedener Systeme, dazu Habitat Supervisors im Anschluss eine
legen. Der Admin weist schließlich ein- gehören alle gängigen Enterprise-Distri- entscheidende Rolle: Sie sorgen dafür,

www.it-administrator.de Mai 2018 17


Te s t s Chef Automate

Ein solcher Test könnte etwa sein, ob in


der Datei "/etc/ssh/sshd_ config" eine
bestimmte Zeile vorkommt, die dort
nicht vorkommen soll. Ist das der Fall,
schlägt InSpec Alarm, andernfalls erklärt
es den Test für "bestanden".

Das alleine ist freilich nicht der Reiz, der


von InSpec ausgeht, denn eine solche
Funktionalität ließe sich auch mit Shell-
skripten nachbauen. Wirklich praktisch
an dem Werkzeug ist, dass es einerseits
eine "domain-specific language" (DSL),
also eine deklarative Skriptsprache, bietet,
in der Sie als Admin die Tests verfassen
können. Darüber hinaus kommt InSpec
ab Werk mit verschiedenen Funktionen,
Bild 2: Das Webinterface enthält Details zu den einzelnen Knoten des Setups und so genannten Ressourcen, die das Um-
zeigt etwa auch an, welche Cookbooks auf einem Knoten aktiv sind. setzen vieler Tests signifikant erleichtern.
So existiert etwa eine "sshd_config"- Res-
dass die jeweiligen Applikationen in Con- Compliance durch InSpec source, die den Inhalt von "/etc/ssh/
tainerform so laufen, wie der Admin es Es dürfte auf diesem Planeten nur wenige sshd_config" automatisch auswertet, so-
per Konfiguration festgelegt hat. Der Lö- Systemadministratoren geben, die mit dass der Admin in einem InSpec-Test
sung erwächst dabei zum Vorteil, dass sie dem Thema Compliance nicht schon in über die InSpec-DSL direkt spezifische
beim Bauen der Container auch gleich irgendeiner Weise zu tun gehabt hätten. Parameter abfragen kann.
die benötigte Konfiguration in diese packt Klassischerweise taucht das Thema etwa
– der Admin muss sich also nach dem im Rahmen einer Zertifizierung des ei- In Summe stehen Dutzende solcher Res-
Ausrollen der Container nicht mehr da- genen Rechenzentrums auf. Im Netz fin- sourcen bereit. Andere prominente Bei-
rum kümmern, dass das Programm noch den sich etliche Anleitungen und Ratge- spiele sind Ressourcen für das Auswerten
die passende Konfiguration bekommt. ber, die Vorschläge für eine umfassende der Apache-Konfiguration ("apache_
Compliance-Regelung enthalten. Und conf ") oder für das Prüfen von MySQL
Habitat nimmt für sich also in Anspruch, praktisch jedes Zertifikat, das man für ("mysql_session"). Wer Dienste auf AWS
den Dreischritt aus "Build, Deploy, Ma- die eigene Infrastruktur erlangen möchte, oder Azure nutzt, findet in InSpec sogar
nage" komplett abzubilden. Praktisch steht kommt mit einem oft riesigen Katalog Ressourcen, um diese auf ihre Compli-
die Lösung damit in Konkurrenz zu Pro- eigener Compliance-Anforderungen da- ance hin zu überprüfen, etwa die AWS
dukten wie OpenShift von Red Hat, das her. Hinunter bis auf die Ebene von ein- Security Groups, die im Wesentlichen Pa-
ebenfalls CI/CD für Cloud-Apps sowie zelnen Dateien auf Servern ist dann fest- ketfiltern entsprechen.
deren umfassendes Management bietet. gelegt, was Sache sein soll, damit ein
Wobei Habitat freilich den Vorteil hat, in System als "konform" gilt. Für den Admin Stark allein und stark im Team
Chef Automate komplett integriert zu stellt sich freilich die Frage, wie er in ei- Wie Chef und Habitat ist auch InSpec ein
sein. Containerisierte Applikationen las- nem Setup von tausenden Servern sicher- Werkzeug, das unabhängig von Chef Au-
sen sich dadurch letztlich unter derselben stellt, dass die festgelegten Regeln auf den tomate genutzt werden kann und das un-
GUI-Oberfläche verwalten wie die phy- einzelnen Systemen auch tatschlich ein- ter einer freien Lizenz steht. Der Vorteil,
sischen Hosts. gehalten werden. An dieser Stelle kommt das Produkt im Verbund mit den anderen
InSpec ins Spiel. Tools von Chef Automate zu verwenden,
Im Test machte Habitat einen guten Ein- besteht darin, dass es mit ihnen dann
druck: Wer ohnehin auf der Suche nach Ein deutsches Produkt nahtlos integriert ist: Rollen Sie als Admin
einer Lösung für CI/CD ist, findet in Ha- InSpec gehört noch nicht allzu lange zu Änderungen der Systemkonfiguration
bitat ein funktionierendes Werkzeug für Chef: Das Unternehmen erwarb InSpec aus, können Sie per Chef-Automate-
eben diese Aufgabe. Ein großer Habitat- im Jahr 2015 im Paket mit dessen deut- Frontend anschließend durch InSpec au-
Vorteil ist zweifellos, dass sich die Lösung schen Hersteller Vulcano Security. In- tomatisch und regelmäßig prüfen, ob die
unmittelbar nach ihrer Installation nutzen Spec ist eine Art Framework, das aus Änderungen auf den Servern nach wie
lässt. Vergleichbare Umgebungen auf Ba- mehreren Teilen besteht. Der Kern der vor aktiv sind. Rollt ein Entwickler per
sis von Git, Jenkins & Co. sind in der Pra- Lösung ist eine Test-Engine, die vorde- Habitat neue Software aus, kann auch er
xis ebenfalls verbreitet, sie bedingen aber finierte Tests auf einem System ausführt direkt aus dem Workflow heraus auf In-
viel Konfigurations- und Zusatzarbeit. und entsprechende Rückmeldung liefert. Spec zugreifen und Compliance-Tests

18 Mai 2018 www.it-administrator.de


Chef Automate Te s t s

Lösung und als "nukleare Option", wenn


es um das Erzwingen von Compliance auf
den eigenen Systemen ging. Wer sich um
die Einhaltung von Compliance-Regeln
kümmern muss, schläft dank InSpec besser.
Übrigens: Auch wenn Sie Chef Automate
nicht "am Stück" bei sich ausrollen möch-
ten, lohnt es sich vermutlich, einen genaue-
ren Blick auf das Tool zu werfen. Die
Open-Source-Variante lässt sich problemlos
auch ohne die restlichen Chef-Tools aus-
rollen. Erleichternd kommen zudem die
bereits erwähnten Checks und Richtlinien
hinzu, die im Netz bereits existieren und
die sich prima in InSpec umsetzen lassen,
falls nicht ohnehin schon entsprechende
Templates im Netz existieren.

Bild 3: InSpec ist ausgesprochen praktisch: Auf der Basis von Tests in festgelegter Der Kleber,
Syntax überprüft es den Compliance-Zustand eines Systems. der alles zusammenhält
Chef, Habitat und InSpec sind allesamt
durchführen. Dazu genügt es, im Auto- Im Test machte InSpec jedenfalls eine aus- Open-Source-Anwendungen, die sich
mate-Frontend dem Host oder der Ap- gezeichnete Figur: Diverse Aufgaben hin- auch einzeln verwenden lassen. Chef Au-
plikation ein "Audit"-Cookbook zu ver- sichtlich seiner Funktionalität absolvierte tomate ist der Kleber, der Chef, Habitat
passen. Es ist hinterher in den Workflow das Werkzeug mit Bravour (Bild 3). Kein sowie InSpec zusammenhält. Der Anbie-
der Host-Verwaltung und des Baus der Wunder: Schon vor seiner Aufnahme in ter garniert das mit einem Webinterface,
Applikation nahtlos integriert. Chef Automate galt InSpec als mächtige über das sich alle zentralen Parameter

»Know your enemy


and know yourself.« – Sun Tzu
Nur wenn Sie verstehen, wie ein Angreifer denkt, können
Sie Ihre Systeme auch wirklich schützen. Dieses Buch ist der
Schlüssel dazu.
Die Security-Profis rund um Bestseller-Autor Michael Kofler
vermitteln Ihnen auf über 1.000 Seiten das ganze Know-how,
um Ihre Infrastrukturen wirksam abzusichern.

1.064 Seiten, gebunden, 49,90 Euro


ISBN 978-3-8362-4548-7

Auch als E-Book und im Bundle erhältlich.


www.rheinwerk-verlag.de/4382
Te s t s Chef Automate

konfigurieren lassen und über das sich Cookbooks an die Zielsysteme verteilt, spezifisches Angebot für das eigene Ein-
etwa auch der Zustand physischer Syste- ist ressourcenintensiv. Letztlich erbt Chef satzszenario bitten möchte. Dies ist in je-
me herausfinden lässt. Automate aber seine Skalierbarkeitsfä- dem Fall die dringende Empfehlung.
higkeiten von den drei beteiligten Werk-
Hinzu kommen viele Funktionen, die das zeugen Chef, Habitat und InSpec, und für Fazit
Management von Chef Automate selbst alle drei Komponenten ist nachgewiesen, Chef Automate ist ein leistungsfähiges
für den Admin erleichtern sollen: Es ist dass sie sich mit Knotenmengen in der und sehr umfassendes Werkzeug, um Au-
etwa möglich, einen zweiten Chef-Auto- Dimension von 5000 Stück nicht schwer tomation sowohl auf der System- als auch
mate-Server aufzusetzen, der als Hot- tun. Selbst große Setups stellen die Lösung auf der Applikationsebene zu verwirkli-
Standby und Replikationspartner für den nicht vor unmögliche Aufgaben; das Kri- chen. InSpec kümmert sich obendrein
ersten Server dient. Gibt der erste Auto- terium der Skalierbarkeit ist klar erfüllt. um Compliance und ist ein echtes Allein-
mate-Server den Geist auf, übernimmt stellungsmerkmal; weder bei Puppet noch
der verbliebene die benötigten Funktio- Chef Automate ist ein kommerzielles An- bei Ansible findet sich hierzu ein passen-
nen automatisch und das CI/CD-Frame- gebot, das dem Admin die Arbeit abneh- des Gegenstück. Das Produkt weiß zu
work des Unternehmens steht nicht kom- men soll, Chef, Habitat und InSpec als freie überzeugen: Die Funktionen, die der Her-
plett still. Backups legt Chef Automate Software zu installieren und miteinander steller verspricht, sind gegeben und funk-
per Klick im Web-GUI automatisch an. zu verzahnen. Der Hersteller greift dabei tionieren auch gut und zuverlässig.
auf ein einfaches Preismodell zurück: Wer
Und verschiedene Applikationen, die Chef Automate in seinem Rechenzentrum Chef Automate ist aber kein komplettes
Chef Automate im Hintergrund nutzt, ausrollen will, zahlt pro Knoten, den die Lifecycle-Management für Server. Die
versteckt es beinahe komplett vor dem Lösung anschließend verwaltet, 137 US- Frage, wie ein frischer Computer ein neu-
Admin. Dass Chef Automate etwa ein Dollar pro Jahr – nach aktuellem Wechsel- es Betriebssystem bekommt, beantwortet
ausgewachsenes ElasticSearch mitbringt, kurs also gut 110 Euro. Das klingt nicht die Lösung ganz bewusst nicht. Möchte
merkt der Admin meist nur durch Zufall. nach einem großen Betrag, doch Kleinvieh der Admin auch diesen Teil automatisie-
In Summe weiß Chef Automate im Test macht auch Mist: Für ein Setup, das aus ren, muss er sich Gedanken über zusätz-
zu überzeugen. Es nimmt dem Admin 150 Knoten besteht, fallen so jährliche Kos- liche Software machen. (of)
die Arbeit ab, die verschiedenen Chef- ten in Höhe von 16.500 Euro an. Ein Setup
Werkzeuge händisch miteinander zu in- mit 1500 Knoten kostet im Vergleich dazu
So urteilt IT-Administrator
tegrieren und spart so einige Zeit. Das bereits 165.000 Euro pro Jahr.
wird auch und gerade dann besonders of- Automation mit Chef 7
fensichtlich, wenn es um Updates geht – Grundsätzlich ist mit dem Kauf von Chef
der Admin spielt lediglich die neuen Pa- Automate auch Support verbunden, je- CI/CD mit Habitat 8
kete für die neue Automate-Version ein, doch sind die Bedingungen, unter denen
um alles andere kümmern diese sich Chef diesen Support gewährt, undurch- Compliance mit InSpec 10
selbst. Zumindest dann, wenn der Admin sichtig: Das Base-SLA sieht eine maximale
den Versionssprung nicht durch das kon- Reaktionszeit von zwei Stunden bei kri- Chef Automate 6
sequente Verzögern von Updates zu groß tischen Problemen vor, allerdings nur
werden lässt. 12x5 – also wochentags und zur US- Skalierbarkeit 8
Westküstenzeit. Hinzu kommen die Sup-
Abzüge gibt es allerdings für das Webin- port-Varianten "Standard" und "Premi- Die Details unserer Testmethodik finden Sie
unter www.it-administrator.de/testmethodik
terface: Es reagierte im Test an manchen um", die ebenfalls nur 12x5-Support nach
Stellen etwas träge und glänzt auch nicht Westküstenzeit enthalten, dafür aber für Dieses Produkt eignet sich
gerade durch eine besonders intuitive Be- besonders kritische Probleme Reaktions-
dienung. Andere Werkzeuge wie Ansible zeiten von 60 oder 30 Minuten vorsehen. optimal für Unternehmen, die eine umfas-
sende Automationslösung suchen, die so-
Tower leisten hier mehr. Preise, die für die höheren Support-Levels
wohl die Verwaltung physischer Infrastruktur
anfallen, waren auf der Chef-Website al-
abdeckt als auch die Entwicklung von Cloud-
Gute Skalierbarkeit, aber lerdings nicht zu finden.
Ready-Applikationen erleichtert.
explodierende Kosten
Ein zentrales Versprechen des Herstellers Lediglich ein Onlineshop listet für das bedingt für Unternehmen, die zwar einen
ist, dass Chef Automate nach Belieben in Premium-Paket einen Aufpreis von fast Teil der Automatisierungs-Funktionalität
die Breite skaliert. 1500 Hosts sollen die 25.000 US-Dollar. Angaben zur Laufzeit brauchen, aber nicht alle Komponenten.
Lösung genauso wenig wie 5000 Systeme oder zu eventuellen Grenzen im Hinblick
nicht für Unternehmen, die ihre gesamte
vor Probleme stellen. Freilich gilt für Chef auf die unterstützte Anzahl der Knoten
Infrastruktur schon mit Puppet oder Ansible
wie für alle anderen Automationslösun- enthielt jene Seite allerdings leider nicht.
verwalten und ein gut funktionierendes
gen, dass die Skalierbarkeit nicht unend- Somit reiht sich Chef damit in die Riege Setup haben.
lich ist; die Art und Weise, wie Chef etwa der Hersteller ein, für die man um ein

20 Mai 2018 www.it-administrator.de


Q V F K XW]
'DWH HLQ
PDG \
Q
*HUPD

+,%#"ȧ1#04#0 +,%#"ȧ!*-3"
$GPQRȧ!J?QQȧ1CPTGAC ȧ5GPȧň@CPLCFKCLȧ 1I?JGCP@?PICGRȧKGRȧ.PGT?RC
CRPGC@
ȧ3NB?RCQȧSLBȧ)MLȏESP?RGMLCL MBCPȧ&W@PGBȧ!JMSBȧ1RPSIRSPCL

"#"'!2#" 4'023* +,%#" 1!* *#

UUU ACLRPML BC

/ŚƌZĞĐŚĞŶnjĞŶƚƌƵŵŝŶ

'DWHQKDOWXQJDXVVFKOLH‰OLFKLPFHQWURQ5HFKHQ]HQWUXPLQ'HXWVFKODQG
Te s t s AppSphere ScriptRunner 2018R2

AppSphere ScriptRunner 2018R2 Quell


e: ja
lcar
az

Gehäuse für
– 12
3R

F
die PowerShell
von Thomas Bär und Frank-Michael Schlede

Jahrelang galt das Scripting unter Windows im Ver-


gleich zu Unix als vernachlässigtes Anhängsel und
kaum für den professionellen Einsatz geeignet. Mit
der PowerShell änderte sich das grundlegend und
dank einer äußerst gelungenen Erweiterung von
AppSphere kann selbst die Hotline bequem auf
Skripte zugreifen und noch stärker automatisieren.

ie Zeiten, in denen Administrato- Genau an dieser Stelle verspricht Script- Die drei weiteren Stichworte, die im Zu-
D ren Windows nur als Klickibunti- Runner Hilfe. sammenhang mit der Software zu nen-
Oberfläche für den Endbenutzer wahr- nen sind, lauten Organisation, Steuerung
nahmen, sind glücklicherweise schon Hülle um die PowerShell und Entwicklung. Letztendlich legt sich
lange vorbei. Auch wenn es dem Wort Die schwäbische Softwarefirma App - die Software um die PowerShell und lie-
"Windows" eigentlich nicht mehr gerecht Sphere hat sich auf IT-Werkzeuge für Ad- fert den für den IT-Tagesbetrieb notwen-
wird, ist eine Core-Installation mit mini- ministratoren spezialisiert. Dazu gehört digen Rahmen.
maler GUI möglich. Fernadministration neben Lösungen für Cloud- und Virtua-
aus einer grafischen Oberfläche heraus lisierungsanwendungen und Program- Schlankes Download-Paket
ist dann der Standard, ebenso wie die Ver- men rund um die Produktpalette von Ci- Für unseren Test stand uns Build 4.1.4755.0
wendung der PowerShell für Automati- trix vor allen Dingen auch Software für von ScriptRunner 2018R2 zur Verfügung.
sierungsvorhaben. Die Rückkehr auf die die Arbeit im Rechenzentrum. Das Paket Mit der Zeit hat der Hersteller sein Edi-
Kommandozeile wird dem IT-Profi durch ScriptRunner, das von der Firma aktuell tionskonzept mehrfach angepasst. Aktuell
die Leistungsfähigkeit der PowerShell ver- in der Version 2018R2 angeboten wird,
süßt. Der direkte Vorgänger, der soll Administratoren bei der täglichen ScriptRunner 2018R2
Windows Script Host, wandte sich eher Arbeit mit Skripten unterstützen und de-
Produkt
an Entwickler als an die Ad-hoc-Aufga- ren Management, Verwaltung und Dele-
Grafische Oberfläche zum Scripting
benbewältigung von Administratoren. gation deutlich vereinfachen.
mit der PowerShell.

Seit 2009 ist die PowerShell, seinerzeit in Der Schwerpunkt der seit einigen Jahren Hersteller
AppSphere AG
der Version 2.0, ein fester Bestandteil von am Markt verfügbaren Komplettlösung
Windows und seit 2016 ist die Weiterent- für die PowerShell ist die Unterstützung www.scriptrunner.com
wicklung unter der MIT-Lizenz als Open von Entwicklern, Administratoren, IT- Preis
Source plattformübergreifend auch für Managern und Helpdesk-Mitarbeitern. Die Kosten liegen bei rund 45 Euro pro admi-
Linux und macOS nutzbar, zumindest als ScriptRunner automatisiert Vorgänge nistrativen Benutzer pro Monat in der kleins-
Alpha-Kandidat. Ganz im Gegensatz zur über Schnittstellen, erlaubt eine einfache ten Staffel für zehn Administratoren oder Ser-
vice-Desk-Mitarbeiter.
Tatsache, dass IT-Profis heute faktisch al- Integration in weitere Lösungen, beispiels-
les über die PowerShell in Windows lösen weise PRTG, überwacht Vorgänge und Systemvoraussetzungen
können, kommt die Technik nicht überall visualisiert die Ergebnisse in Dashboards. Handelsübliche PCs und Server mit Windows
zum Einsatz. Selbst eher aufgeschlossenen Die Ergebnisse protokolliert ScriptRun- 7 SP1 / 2008 SP2 und höher mit .NET Frame-
work 4.5 Client Profile, Windows PowerShell
IT-Profis und Scripting-Fans ist das Er- ner, zudem ermöglicht das Programm ei-
3.0 oder höher und Internet Explorer 10 oder
stellen und die Pflege einer umfangrei- ne vereinfachte Delegation an weitere
höher. Der Internet Explorer 9 funktioniert
chen Sammlung von Skripten oft zu zeit- Mitarbeiter, beispielsweise im Help- be- mit Einschränkungen.
raubend, kompliziert und aufwändig. ziehungsweise Service-Desk.

22 Mai 2018 www.it-administrator.de


AppSphere ScriptRunner 2018R2 Te s t s

Nach der Installation auf unserem Test-


server starteten wir die Administrator
App per Doppelklick und dank SSO durf-
ten wir sofort die moderne und optisch
gelungene Oberfläche in Augenschein
nehmen. Bei den meisten anderen Pro-
grammen begrüßt uns an dieser Stelle ein
Assistent, der uns die wichtigsten Schalt-
flächen und Konfigurationsmasken in der
logisch notwendigen Reihenfolge zeigt.
Das ist bei ScriptRunner nicht der Fall,
stattdessen kommt das PDF-Dokument
"Erste Schritte" zum Einsatz.

In dieser Anleitung lernt der Neubenut-


zer die wichtigsten Funktionen und tech-
nischen Hintergründe kennen, die es für
Bild 1: Übersichtlich – auf einen Blick sieht der Administrator im ScriptRunner-Dashboard ScriptRunner zwingend zu wissen gibt.
die Anzahl erfolgreicher oder gescheiterter Aktionen. Aufgrund potenzieller Fehlerquellen, ins-
besondere bei der Remote-Ausführung
gibt es die Software als "Term-Based Li- Hintergründe in der notwendigen tech- von PowerShell-Skripten, ist ein vollaus-
cense" mit einem Nutzungsrecht für drei nischen Tiefe. formuliertes Dokument deutlich sinn-
bis maximal fünf Jahre. Die Lizenz um- voller als ein schnell überflogener Soft-
fasst die angegebene Anzahl an Benut- Gemäß der Empfehlung des Konfigura- ware-Assistent. Sofern alle Demo-Skripte
zerlizenzen. Weitere Connectoren und tionsleitfadens installierten wir den Script- aus dem Dokument ordnungsgemäß
ScriptRunner-Host-Instanzen erfordern Runner-Dienst auf Windows Server 2012 durchführbar sind – hierbei erlernt der
zusätzliche Lizenzen. R2, einem Mitgliedsserver in einer Test- Administrator das Hinzufügen neuer
domäne. Die Clientanwendungen haben Zielsysteme und Konten – ist zudem si-
Die Testsoftware stellte uns AppSphere wir auf verschiedenen Testsystemen ein- chergestellt, dass die Software voll ein-
zum Download zur Verfügung. Die nur gesetzt, sowohl unter Windows 10 als satzfähig ist. Bei Zielsystemen könnte es
knapp 36 MByte umfassenden Program- auch zu Testzwecken auf dem Windows- sich um sogenannte Container oder Of-
me sind dabei schnell heruntergeladen 2012-Server selbst. Der Anbieter rät in fice-365-Dienste handeln. Bei den Con-
und ebenso schnell installiert. Eine De- der Dokumentation dazu, im AD spezielle tainern handelt es sich aber nicht um eine
moversion für eine Laufzeit von 30 Tagen Benutzergruppen zu definieren. Anwendungscontainer-Virtualisierung
bei maximal fünf Benutzern stellt der An-
bieter Interessenten zur Verfügung, im
Gegenzug dafür muss der Benutzer Na-
me, Firmenname, Telefonnummer und
E-Mail-Kontaktdaten preisgeben. Der
Hinweis "Unsere Software ist eine B2B-
Lösung. Bitte haben Sie daher Verständ-
nis, wenn wir unsere Testversion nicht an
'Wegwerf-E-Mail-Adressen' versenden."
macht deutlich, dass es ohne eine valide
E-Mail-Adresse eher schwierig ist, einen
Blick auf die Software zu werfen.

Mustergültige Dokumentation
Positiv möchten wir hervorheben, dass
alle PDF-Dokumente zur Installation, zu
den ersten Schritten und zur Architektur
von hoher Güte sind. Jede Anleitung ist
in sich abgeschlossen, es gibt nur an den
passenden Stellen Verweise auf andere
Anleitungen und insgesamt beschreibt Bild 2: Mit wenigen Mausklicks fügt der IT-Profi weitere Zielsysteme ein.
die Dokumentation die Funktionen und Ein Container ist im Verständnis von ScriptRunner eine Gruppe von Computern.

www.it-administrator.de Mai 2018 23


Te s t s AppSphere ScriptRunner 2018R2

im Sinne des stilisierten blauen Wals,


sondern schlichtweg um eine Gruppe
von Computern.

Logische Aktionsformulierung
Letztendlich verwaltet der Administrator
in der Oberfläche die verschiedenen Skrip-
te und Cmdlets, die als Aktionen in kon-
figurierbaren Richtlinien für den Kontext
aufbereitet sind. Bei diesen Richtlinien
handelt es sich um das Skript, die Parame-
ter und das Konto, unter dem der Ablauf
zu starten ist, und die ausgewählten Ziel-
systeme. Parameter- und Zielsystemaus-
wahl geschehen entweder interaktiv oder
durch programmierbare Vorbelegungen.

Ein intelligenter Schritt-für-Schritt-Assis-


tent unterstützt den Benutzer beim An-
legen, Ändern und Ausführen von Aktio- Bild 3: Die Ergebnisdarstellung in ScriptRunner entspricht dem Resultat der PowerShell-Kommandos.
nen. Der Aufbau und die Schrittfolge im
Assistenten sind dabei immer identisch, gate App, die einen gezielt reduzierten Hilfreiche Sortierfunktion
was die Einarbeitung deutlich vereinfacht. Leistungsumfang für die Verarbeitung in ScriptRunner ist eine moderne Software,
Je nach Konfiguration einer Aktion er- Nicht-IT-Abteilungen bietet, zunächst auf die aber auch einige traditionelle Elemente
kennt die Software automatisch, ob der Englisch startet. Durch einen Mausklick fortpflegt. Die Hilfefunktion – die sich al-
Anwender alle notwendigen Einstellungen auf eine US-amerikanische Landesfahne lerdings nicht über die Windows-übliche
für die Richtlinie vorgenommen hat. Um im Menübereich kann der Benutzer auf F1-Taste starten lässt – arbeitet kontext-
was genau es sich bei einer Aktion handelt, deutschsprachige Dialoge umstellen. sensitiv und ist von ebenso guter Qualität
wird im Skript-Code festgelegt. wie die bereits genannte PDF-Dokumen-
Die Oberfläche richtet sich im Gegensatz tation. Ein besonderes Augenmerk sollten
Die typischen Klassiker sind dabei das zu vielen anderen Profi-Softwarewerk- Anwender auf die sogenannten "Tags" wer-
Auslesen von Systemdaten, wie beispiels- zeugen für Windows in Aussehen und fen. Diese optionalen Stichworte unterstüt-
weise des freien Festplattenspeichers, das Stil glücklicherweise nicht nach der MMC zen insgesamt die Organisation bei vielen
Anlegen oder Modifizieren von Objekten (Microsoft Management Console), son- Skripten und helfen im Dashboard und an-
und Elementen im Active Directory oder dern orientiert sich zeitgemäß am Ka- deren Ansichten bei der Filterung.
sonstige per PowerShell veränderliche chel-Look modernerer Windows-Versio-
oder lesbare Dinge. Aufgrund der hohen nen. Daher ist dieses Responsive Design Möchte der Administrator aus der Ad-
Entwicklungsstufe der PowerShell dürfte auch hervorragend für den Touch-Einsatz min-App heraus direkt PowerShell-Skripte
dies mittlerweile so ziemlich alles unter geeignet, was wir im Zuge des Tests auf auf verschiedene Zielsysteme aufbringen,
Windows sein. einem iOTA One Convertible unter ist das an sich kein Problem. Ganz im klas-
Windows 10 überprüfen konnten. sischen Windows-Stil ist eine Auswahl
Zwei Clientanwendungen mehrerer Systeme über die STRG-Taste
zur Auswahl Tools wie die Windows PowerShell ISE bei gleichzeitigem Mausklick möglich. Die
Bei der Installation der Clientanwendun- (Integrated Scripting Environment) nut- Auflistung arbeitet an dieser Stelle als in-
gen kann der Administrator entscheiden, zen viele Administratoren eher selten, da telligente Liste mit einem Ranking, das
ob er nur die Administrator App oder sie sie in erster Linie als Entwicklerwerk- nach größtmöglicher Übereinstimmung
auch die sogenannte Delegate App auf zeuge wahrnehmen, ihre eigenen Aufga- von Tags, Aktionen und Zielsystemen sor-
seinem System installieren will. Bei beiden ben jedoch viel mehr im Management und tiert. Der Aufruf eines Skripts für eine OU
Apps kann er schon bei der Installation der Systemkontrolle sehen. Auch Script- oder eine Gruppe aus dem Active Directo-
die Adresse des Servers mit angeben, auf Runner erweckt durch seine Oberfläche ry ist hier leider nicht vorgesehen.
dem der ScriptRunner-Dienst aktiv ist. zunächst etwas den Eindruck, es handle
Danach muss sich der Nutzer nur noch sich hier um ein weiteres Werkzeug zur Schnelleinstieg mit Action Packs
mit seinen Login-Daten anmelden. Programmierung. Wer sich jedoch etwas ScriptRunner liefert der Administration
mit der Software beschäftigt, stellt schnell die nötigen Verwaltungsfähigkeiten für ein
Schon in früheren Tests der Version 2014 fest, dass er es mit einem reinrassigen Ad- kollaboratives Zusammenspiel von Skript-
und 2015 stellten wir fest, dass die Dele- ministrationswerkzeug zu tun hat. Jobs und IT-Verwaltung. Das Tool doku-

24 Mai 2018 www.it-administrator.de


by aikux.com
mentiert, wer welches Skript wie und wo sind. Über einen integrierten Scheduler
ausgeführt hat, ob dabei die richtige Skript- ist der Administrator zudem in der Lage,
Version zum Einsatz kam und ob Fehler eine regelmäßige Ansteuerung von
aufgetreten sind. Konnte die Software bei- PowerShell-Skripten zu realisieren, ohne FILESERVER UND
spielsweise eine Verbindung zu einem Ser- selbst eine Zeile des Codes anzupassen. AD KONSOLIDIEREN
ver nicht aufbauen, ist im Dashboard ein
roter Statuseintrag erkennbar. Über die "Delegate"-Funktion legt der IT- Aufräumen, Umräumen,
Profi aus der Admin-App heraus fest, wel-
Für die Skriptverwaltung bietet die Lö- che Aktionen beispielsweise dem Help-
Aussortieren ...
sung eine zentrale Bibliothek an, in der Desk zur Verfügung stehen sollen. Das Eine saubere Sache!
bereits nach der Installation einige Power- ist praktisch, um wiederkehrende Aufga-
Shell-Skripte als Demo zur Verfügung ben wie das Anlegen beziehungsweise Lö-
stehen. Zu ihnen erhält der Administrator schen eines Nutzers im Active Directory
durch die Schaltfläche "Skripte" auf dem zu automatisieren: Ein Help-Desk-Mit-
Dashboard den direkten Zugang. Mittels arbeiter muss eigentlich nur noch den
einer Filterfunktion ist der Nutzer in der Namen des Nutzers eingeben, der anzu-
Lage, die Auswahl auf die verschiedenen legen oder zu löschen ist.
Tags zu beschränken, die ihn besonders
interessieren. Über so genannte "Action Fazit
Packs" können Kunden die Software kos- ScriptRunner ist ein echtes DevOps-
tenlos gezielt erweitern. Werkzeug, aber keine reine Entwicklungs-
umgebung. Systemprofis und Adminis-
Die Action Packs eignen sich auch für tratoren hingegen, die ihre Verwaltungs-
Wir Suchen!
UI Entwickler/in
PowerShell-Einsteiger, die so die Mög- und Betreuungsaufgaben im Netzwerk www.aikux.com/jobs
lichkeit haben, optimierte Skripte sofort automatisieren wollen und auf Scripting
oder mit nur kleinen Anpassungen ein- setzen, finden hier ein mächtiges und pro-
zusetzen. Die in den Packs gelieferten Er- fessionelles Werkzeug. Dabei können sie
weiterungen stammen vom Entwick- nicht nur mit der PowerShell arbeiten, VOM IST ZUM SOLL
… UND DORT BLEIBEN
lungsteam des Herstellers und werden denn die Software unterstützt sogar Visu-
dort gepflegt und weiterentwickelt. Zur al-Basic-Skripte oder solche auf Unix/
Verfügung stehen Pakete für das Active Linux-Systemen. (ln)


Directory, Azure AD und Office 365.
So urteilt IT-Administrator
Remote ausführen,
gekonnt delegieren Einrichtung und Dokumentation 8 Berechtigungsmanagement
Beim Ausführen von Skripten kann ein
der nächsten Generation
Administrator mit Hilfe der ScriptRun- Aktionssteuerung 8
ner-Richtlinien gezielt steuern, wie Skripte Automatisierung
ablaufen, und dabei beispielsweise direkt Delegationsmöglichkeiten 8
festlegen, auf welchen Systemen bestimm- Nachvollziehbarkeit
te Skripte Verwendung finden sollen. Reporting 7
Sicherheit
Über den Button "Aktion" gelang es uns
im Test recht leicht, Skripte auf diese Art Ergebnisvisualisierung 6
nach unseren Wünschen zu konfigurie-
Die Details unserer Testmethodik finden Sie
ren. Im Dashboard war es dann möglich,
unter www.it-administrator.de/testmethodik
deren Ausführung direkt zu überwachen.
Dieses Produkt eignet sich
Die Software protokolliert dabei die Ab-
optimal für Unternehmen mit tiefergehen-
läufe und damit auch etwaig auftretende
den PowerShell-Kenntnissen, die Skripte von
Fehler. Sehr gut hat uns dabei gefallen,
der Hotline ausführen lassen möchten.
dass der Administrator auf den verschie- Neue Version:
denen Protokollseiten gleich die benötig- bedingt für Organisationen mit geringem 2018
ten Hinweise zu Fehlern erhält, wie bei- Anspruch an Automatisierungsvorhaben.
spielsweise den Vermerk, dass für den nicht für kleine Firmen, in denen Automatisie-
Zugriff auf ein bestimmtes System Be- rung und Windows-Scripting kein Thema sind.
nutzernamen und Passwort nicht korrekt

www.it-administrator.de
Jetzt Teststellung vereinbaren
www.aikux.com/demo
Quelle: Dejan Bozic – 123RF
BlueParq PowerShell Studio 1.0

Betreutes
Skripten
von Jürgen Heyer

Wollen Administratoren Abläufe per


PowerShell automatisieren, ist der Einstieg
meist steinig und langwierig. "Das muss
doch einfacher gehen, wenn sich der Nutzer
nicht mit dem Code beschäftigen muss, sondern den Ablauf einfach per Diagramm
zusammenklicken kann" dachten sich die Gründer von BlueParq und schufen ein neuartiges
Programmiertool, das BlueParq PowerShell Studio. Wir wollten genauer wissen, inwiefern
dieses Werkzeug fehlende Programmierkenntnisse ersetzen kann.

er schon einmal ohne Program- dabei mehr oder weniger erfolgreich. In- hier vier "Typen" zur Verfügung stehen.
W mierkenntnisse versucht hat, ein sofern konnten wir uns gut in die Lage po- Der Typ "Diagramm" dient dazu, Skripte
PowerShell-Skript zu erstellen, weiß, wie tenzieller BlueParq-Nutzer versetzen. intuitiv visuell mittels Assistenten zu er-
mühevoll und häufig wenig erfolgreich stellen, was letztendlich das Kernfeature
dies ist. Meist endet der Versuch des Pro- Geradlinige Installation darstellt. Als Nächstes gibt es den "Blue-
grammierneulings damit, sich im Inter- und zackige Updates Parq Smart Editor", um PowerShell-Skrip-
net auf die Suche nach Programmschnip- Für die Installation erhielten wir eine etwa te mit möglichst umfangreicher Syntax-
seln zu begeben, um möglichst eine 75 MByte große, gepackte Setupdatei und unterstützung, genannt "IntelliSense", zu
passende Sequenz zu finden, die dann einen Lizenzschlüssel. Außerdem konnten schreiben. Eine "PowerShell Console"
nur wenig zu modifizieren ist. Oder er wir eine Schnellstartanleitung herunter- dient dazu, die Skripte ablaufen zu lassen,
kennt jemanden mit Know-how, und laden. Als Installationsvoraussetzung und "Square" als letzte Funktion steht für
überzeugt diese Person mit Engelszun- muss auf dem Zielsystem das .NET-
gen, das Skript zu schreiben. Framework 4.6.1 eingerichtet sein. Das BlueParq PowerShell Studio 1.0
Setup von BlueParq PowerShell Studio ist
Genau diese unangenehme Situation muss im Nu erledigt. Beim ersten Aufruf erfolgt Produkt
Werkzeug zum Erstellen von PowerShell-
den Entwicklern von BlueParq bewusst die Registrierung wahlweise als 30-Tage-
Skripten mit Hilfe von Ablaufdiagrammen.
gewesen sein, als sie beschlossen, ein Werk- Trial oder durch Eingabe einer Serien-
zeug zu programmieren, mit dem ein nummer wie in unserem Fall. Die Akti- Hersteller
BlueParq
PowerShell-Neuling die benötigten Abläufe vierung kann online oder per E-Mail
www.blueparq.com
grafisch zusammenklicken kann, während erfolgen. Anschließend konnten wir die
der Code im Hintergrund entsteht. Software nutzen. Preis
Im Programm "Foundation Hero" kosten die
ersten 18 Monate Nutzung 49 Euro. Der
Zum Testzeitpunkt gerade als Version 1.0 Die Oberfläche besteht aus einer Kopf-
reguläre Preis liegt bei jährlich 99 Euro.
veröffentlicht, gehörten wir zu den ersten zeile und darunter einer zweigeteilten
Anwendern des neuen Tools und waren Fensteransicht. Das rechte Fenster ist das Systemvoraussetzungen
Windows 7 oder höher (64-Bit)
gespannt, wie hilfreich es ist. Hinsichtlich eigentliche Eingabefenster, das linke er-
Prozessor ab 1 GHz
unserer PowerShell-Kenntnisse passten möglicht den schnellen Zugriff auf ver-
2 MByte RAM
wir recht gut in die Zielgruppe: Program- wendete Eingabewerte, Variablen sowie
.NET-Framework 4.6.1 oder höher
mierkenntnisse in anderen Sprachen waren Datenquellen, worauf wir weiter unten PowerShell
vorhanden, aber eben nicht in der Power- noch genauer eingehen.
Technische Daten
Shell. Wir hatten selbst in der Vergangen-
www.it-administrator.de/downloads/
heit schon einige Male nach geeigneten Der Inhalt des rechten Fensters variiert datenblaetter
Skripten im Internet gesucht und waren je nach der gewählten Funktion, wobei

26 Mai 2018 www.it-administrator.de


BlueParq PowerShell Studio 1.0 Te s t s

die Möglichkeit, fertige Skripte mit der


BlueParq-Online-Community zu teilen.

Beim Start des Studios findet stets eine Prü-


fung nach Updates statt und da während
des Tests intensiv weiterentwickelt wurde,
waren wir des Öfteren damit konfrontiert.
Es erscheint dann ein Fenster, dass ein Up-
date verfügbar ist mit einer kurzen Auflis-
tung, welche Features neu verfügbar sind
sowie welche Bugs beseitigt wurden. Sobald
der Anwender das Update akzeptiert, er-
scheint kurz ein Kommandozeilenfenster
mit einem Autoupdate-Aufruf, dann startet
das Programm in der neuen Version. Es ist
also nicht jedes Mal ein zeitraubendes Setup
zu durchlaufen, sondern die Aktualisierung
geschieht weitgehend im Hintergrund und
stört somit nicht.

Visuell darstellen Bild 1: Im Diagramm-Modus kann der Anwender PowerShell-Skripte durch das Zusammenfügen von
statt programmieren Funktionsbausteinen erstellen, ohne den Programmcode beherrschen zu müssen.
Beim Aufruf des Tools startet das Power-
Shell Studio in der Diagramm-Ansicht und und dem anschließenden Befüllen über Klicken auf ein gelistetes Objekt erscheint
zeigt ein fast leeres Fenster mit nur einem den Assistenten besteht darin, genau zu ein Fenster mit genaueren Informationen
Start-Objekt. Die Diagrammfläche ist re- wissen, was das Studio in dem Moment und der Nutzer kann hier beispielsweise
lativ groß dimensioniert, größer als die erwartet und was die unterschiedlichen einen Standardwert vergeben oder auch
sichtbare Bildfläche. Rechts unten im Fens- Optionen innerhalb eines Objekts bedeu- ändern. Bei Variablen wird deren Inhalt
ter ist eine Art Lupe zu finden, um den ten. Die integrierte Hilfe war zum Test- ausgegeben, auch hier ist eine Eingabe
sichtbaren Ausschnitt zu verschieben. zeitpunkt noch nicht umfassend befüllt. zur Änderung möglich.
Der Aufruf ist zwar vorgesehen, es ist aber
Beim Drücken der rechten Maustaste er- kaum etwas hinterlegt. Vorhandene Skripte
scheint das sogenannte "Radial Dial", ein visualisieren und optimieren
Rad mit zehn Kommandos, die bei Aus- Durch das Aneinanderfügen beziehungs- Neben der beschriebenen Möglichkeit, über
wahl als Objekt auf der Diagrammfläche weise Verbinden mehrerer Diagramm- die Diagrammfunktion auf grafischem Weg
angelegt werden. Dies sind unter anderem objekte entsteht letztendlich ein Work- Skripte zu erzeugen, besitzt das Studio
Iteration (Schleife), Variable, Ergänzen ei- flow, der den Programmablauf symbo- ebenso die umgekehrte Möglichkeit, bereits
nes Skript-Blocks, Bedingung sowie lisiert. Streicht der Programmierer mit fertig erstellte Skripte als Diagramm dar-
Cmdlet-Aufruf. Jede Auswahl startet wie- der Maus über ein Objekt, erscheint ein zustellen. Dazu muss der Nutzer das Skript
derum mit einem Assistenten, um die je- Popup-Fenster mit zusätzlichen Angaben. nur mit dem Studio öffnen und dann über
weils benötigten Parameter abzufragen. Auch kann er bei einigen Objekten einen die Schaltfläche "Generate Diagram" ana-
Für die erste Erfahrung mit dem Studio zusätzlichen Kommentar eintragen. Beim lysieren und als Diagramm darstellen las-
empfiehlt es sich, den in der Schnellstart- Doppelklick auf ein Objekt erscheint der sen. In der Diagrammansicht kann er nun
anleitung beschriebenen Ablauf für ein zugehörige Assistent, um Anpassungen zusätzliche Anpassungen vornehmen, das
erstes Diagramm abzuarbeiten, ein fort- vornehmen zu können. Resultat ablaufen oder wieder ein Skript
geschrittenes Hello-World-Skript. erzeugen lassen.
Ist ein Diagramm fertig erstellt, kann der
Die angelegten Objekte besitzen entweder Programmierer es über den "Run"-Knopf Ein Nutzer kann dieses Tool also durch-
auf dem Symbol oder knapp darüber be- in der Kopfzeile ausführen oder über "Ge- aus auch dazu verwenden, fertige Skripte
ziehungsweise darunter kleine Punkte in nerate Script" fertigen PowerShell-Code nach eigenem Bedarf zu modifizieren,
Orange, Rot oder Grün. Diese symboli- erzeugen lassen, um diesen dann zu ver- statt alles komplett neu zu schreiben. Wir
sieren die Ein- und Ausgänge, die Anzahl wenden. Wie bereits zuvor erwähnt er- nutzten im Test diese Möglichkeit eben-
variiert je nach Funktion, sodass beispiels- möglicht das linke Fenster des Studios falls, um Erfahrungen mit dem Studio zu
weise eine Verzweigung einen Eingang den Zugriff auf Eingabeparameter, Varia- sammeln, indem wir beobachteten, wie
und zwei Ausgänge besitzt. Die Heraus- blen und Datenquellen des gerade bear- ein fertiges Skript, dessen Funktion wir
forderung bei der Auswahl der Objekte beiteten Codes oder Diagramms. Beim kannten, in Diagrammform dargestellt

www.it-administrator.de Mai 2018 27


Te s t s BlueParq PowerShell Studio 1.0

rung stattfindet. Es wird also stets ein neu-


er Reiter mit einer neuen Ansicht erzeugt.
Das führt zwar schnell zu einer Vielzahl
an Fenstern, hat aber den Vorteil, dass
der Nutzer beim Ausprobieren immer
wieder prüfen kann, ob das Resultat wie
gewünscht arbeitet oder nicht. Falls nicht,
kann er auf eines der vorherigen Fenster
wechseln und von dort aus einen neuen
Versuch starten. Er kann so auch recht
gut beobachten, wie sich sein Programm
entwickelt und verschiedene Entwick-
lungsstände sowohl grafisch als auch in
Bild 2: Der intelligente Editor unterstützt den Anwender intensiv durch Vorschläge anhand der Eingabe. Codeform vergleichen. Das wiederum
hilft, die PowerShell-Programmierung
wurde und wie die einzelnen Optionen der auch in der Diagrammansicht ange- schneller zu erlernen.
belegt waren. Das half uns dann wieder, zeigt wird, näher zu erläutern. Das sorgt
eigene Diagramme schneller zu erstellen. unserer Meinung nach aber nicht für sehr Ziemlich am Anfang unseres Tests impor-
viel mehr Transparenz. tierten wir ein Skript mit einer WMI-Ab-
Letzten Endes ist dieses Studio dazu ge- frage, konvertierten dieses in ein Diagramm
eignet, sowohl grafisch als auch in Text- Insgesamt liefert das Studio in unseren und von dort wieder zurück in ein Skript,
form zu programmieren und je nach Wis- Augen mit der grafischen Darstellung das wir dann starteten. Interessanterweise
sen sowie Fertigkeit zwischen den beiden durchaus eine gewisse Unterstützung bei war das Ergebnis in Form einer Textaus-
Ansichten zu wechseln. Mit zunehmender der Dokumentation. Wir sehen aber noch gabe nicht identisch, sondern das Power-
Erfahrung dürften sich die Tätigkeiten Optimierungspotenzial durch eine Aus- Shell Studio hatte den Code so ergänzt, dass
mehr und mehr in Richtung der direkten gabe zusätzlicher Informationen zu den mehr ausgegeben wurde beziehungsweise
Programmierung in Codeform verlagern. Objektinhalten. eine Zeile doppelt. Der Vergleich des ur-
Aber die individuelle Vorgehensweise sprünglichen Skripts mit dem aus dem Dia-
spielt nur eine untergeordnete Rolle, Kontinuierliche gramm erzeugten offenbarte auch, dass
Hauptziel der Software ist es, den Einstieg Optimierung des Studios hier eine Zeile ergänzt war, die die zusätz-
in die PowerShell zu erleichtern. Wie eingangs erwähnt hatten wir die Mög- liche Ausgabe erzeugte. Der Effekt war sau-
lichkeit, die Software in einem recht frü- ber reproduzierbar und wir schickten beide
Begrenzte Hilfe hen Stadium als Version 1.0 zu testen. Ne- Skripte zur Analyse an BlueParq. Vier Tage
bei der Dokumentation ben der probeweisen Skriptneuerstellung später erhielten wir eine Antwort, dass das
Neben dem Einsatz als Programmierhilfe nutzten wir auch die zuvor beschriebene Problem nun behoben sei und ein Update
besitzt die Diagrammansicht noch einen Möglichkeit, fertige Skripte zu importieren verfügbar wäre. Nach der bequemen Ak-
weiteren Nutzen, nämlich den der Skript- und zu visualisieren. Die Konvertierung tualisierung unseres Studios probierten wir
dokumentation. Dazu kann ein Program- zwischen Diagramm und Code lässt sich das Skript und dessen Konvertierung er-
mierer die erstellten Diagramme als PNG- durchaus mehrfach durchführen, wobei neut aus und konnten bestätigen, dass nun
oder PDF-Datei erzeugen lassen und so jedes Mal tatsächlich eine Neukonvertie- alles fehlerfrei funktionierte.
abspeichern. BlueParq wirbt damit, dass
sich das Studio für die einfache Doku-
mentation eignet und somit an dieser
Stelle Aufwand und Kosten spart. Wir ha-
ben uns die fertigen Diagramme angese-
hen und mussten feststellen, dass sich der
grundlegende Ablauf mit Abhängigkeiten
und Schleifen durchaus erkennen, die
exakte Funktion aber nur sehr schwer he-
rauslesen lässt. Das liegt unserer Meinung
daran, dass das Diagramm zwar die funk-
tionalen Symbole enthält, aber nichts da-
rüber verrät, wie die einzelnen Optionen
gewählt oder befüllt sind. Es ist möglich,
einzelne Objekte (allerdings nicht alle) Bild 3: Mit farbiger Schrift, Einrückungen und Klammern verbessert BlueParq die
durch einen kurzen Kommentareintrag, Lesbarkeit des PowerShell-Codes.

28 Mai 2018 www.it-administrator.de


Abgesehen davon konnten wir sehen, dass ein importierter
Code bei der Konvertierung in ein Diagramm und wieder zu-
rück durchaus geringfügig in der Syntax verändert wird, weil
der integrierte Codegenerator etwas anders arbeitet, als ein An-
wender es schreiben würde. Das ist aber nicht tragisch, solange
die Funktionsweise nicht verändert wird. Auch verschiedene
Anwender werden etwas unterschiedliche Skripte erzeugen, die
dann das gleiche Ergebnis liefern – was letztendlich zählt. Ein
bereits mit dem PowerShell Studio erzeugter Code veränderte
sich bei mehrfacher Konvertierung in ein Diagramm und zurück
übrigens nicht mehr.

Insgesamt gut gefallen hat uns die prompte Reaktion von


BlueParq, erkannte Fehler zügig zu beseitigen, und wir konn-
ten dieses Bestreben auch im Gespräch feststellen. Es ist ver-
ständlich, dass die Software in einem so frühen Stadium noch
nicht gänzlich fehlerfrei arbeitet, und die Entwickler sind
ITK Training & Consulting
sehr dankbar für entsprechende Hinweise, um die Software
so zu verbessern. So war auch zu Beginn unseres Tests eine
große Bitte seitens BlueParq, dass wir sie auf Probleme und
Fehler hinweisen.
Cloud Services & SDN
Intelligenter Editor integriert Technologie-Know-how
Wer die Programmierung mittels PowerShell bereits beherrscht Cloud-Einsatz
oder auch über die Diagrammfunktion erstellte Skripte nach- Einstieg, Entwicklung und Migration (4 Tage)
bearbeiten möchte, wird sich über den integrierten Editor mit Cloud Computing Plattformen
der sogenannten IntelliSense-Funktion freuen. In der Tat un- Cloud Infrastrukturen und Cloud Security (5 Tage)
terstützt der Editor den Programmierer tatkräftig durch Be-
Cloud Security
fehlsvorschläge beim Tippen. Vom Prinzip her reicht die Eingabe Sicherheitskonzepte im automatisierten Data Center (2 Tage)
eines Buchstaben, um die daraus resultierenden Möglichkeiten
Cloud BootCamp
aufgelistet zu bekommen. Mit jeder weiteren Eingabe reduziert
Prozesse, Infrastruktur, Security, Migration und Marktüberblick (5 Tage)
sich die Auswahl.
OpenStack I, II & III
Grundlagen einer OpenStack-Plattform (5 Tage)
Auch von anderen Editoren her bekannt ist der Einsatz farbiger
Implementierung und Betrieb (5 Tage)
Schrift zur Unterscheidung von Befehlen, Parametern, Optionen
High Availability und Advanced Features (3 Tage)
und Variablen. Das erleichtert die Lesbarkeit. Zusätzlich werden
Schleifen und zusammengehörige Bereiche durch Klammern Docker im SDDC
Implementierung, Betrieb und Sicherheit (3 Tage)
visualisiert. Über kleine Schaltflächen oberhalb und unterhalb
des Programmierfensters kann der Anwender diverse Befehle Application Programmable Interfaces (API)
aufrufen. Dies beginnt beim Ausschneiden und Einfügen, um- Programmierschnittstellen zu Netzwerken (2 Tage)
fasst das einfache Ein- und Ausrücken von Textblöcken, eine Software-Defined Data Center
Umwandlung in Groß- sowie Kleinbuchstaben und bietet eine Konzepte und Implementierungen (2 Tage)
Suchfunktion. Auch kann der Programmierer über eine Schalt- Software-Defined Networking
fläche einen kompakten Code erzeugen, bei dem alle Leerzeilen Konzepte und Implementierungen (3 Tage)
gelöscht werden, eine zweite Schaltfläche erlaubt eine automa- Programmieren für Netzwerker I & II
tische Codeformatierung, die zusammenhängende Textblöcke Einstieg in Python (3 Tage)
in Schleifen oder in der Parameterdefinition einheitlich einrückt Praktische Anwendung im Netzwerk (2 Tage)
und so die Lesbarkeit verbessert.
... und alles mit garantierten Kursterminen!
Über die Schaltflächen am unteren Rand des Programmier-
fensters steht eine gute Handvoll an Assistenten zur Verfügung,
um ein Cmdlet oder eine Schleife einzufügen, ein AD-Objekt
zu ergänzen oder einen WMI-Explorer aufzurufen. Sobald der
Nutzer ein Skript ausführen lässt, wird das Programmierfenster
in der Höhe halbiert und im unteren Bereich erscheint das Aus-
gabefenster mit dem Resultat.
www.experteach.eu/go/katalog
Trainingskatalog anfordern!
www.it-administrator.de
www.experteach.de • www.experteach.at • www.experteach.ch
Te s t s BlueParq PowerShell Studio 1.0

Anwender beim Strukturaufbau unter-


stützt, so dass er nicht bereits an der Syn-
tax scheitert. Welche Befehle und Cmdlets
er aber für seinen Code benötigt, muss
er immer noch selbst wissen, das kann
ihm die Software nicht abnehmen.

Wir sehen das PowerShell Studio in erster


Linie als interessante Unterstützung für
Nutzer an, die bereits Programmierkennt-
nisse in einer anderen Sprache besitzen
und nun PowerShell-Skripte erstellen wol-
len. Durch die Möglichkeit, bereits vor-
handene Skripte in das Studio zu impor-
tieren und dann darin weiter zu bearbeiten,
wahlweise über die Diagrammfunktion
oder im intelligenten Editor, erfordern in-
dividuelle Anpassungen nur wenige Pro-
grammierkenntnisse. Sobald ein Anwen-
Bild 4: Die Square-Community soll den Austausch von Skripten fördern, der mit Hilfe der Software seine Power-
um allen Anwendern die Programmierung zu erleichtern. Shell-Programmiererfahrung ausbauen
konnte, wird das Studio sicher nicht un-
Insgesamt konnten wir feststellen, dass ßen. Der Zugriff erfolgt anschließend interessant werden, denn der leistungsfä-
der Editor natürlich keine Programmier- über das linke Fenster der Studio-Ober- hige Editor erleichtert die Programmierung
kenntnisse ersetzen kann, er erleichtert fläche, wo unter dem Eintrag "Local Blue- auf jeden Fall zu einem günstigen Jahres-
aber die Befehlseingabe, hilft bei der Ver- prints" die abonnierten Blueprints aufge- abonnementpreis. Sofern BlueParq für sein
meidung von Syntaxfehlern und ist er- listet sind. Durch einen Klick auf einen Produkt aktive Nutzer gewinnen kann, ist
freulich intuitiv bedienbar. Angesichts Eintrag kann er das Skript in ein Dia- zu erwarten, dass sich die Community zu-
des Preises dieses PowerShell Studios ist grammfenster laden und dort weiterbe- nehmend mit BluePrints füllt. (jp)
unserer Meinung allein schon der Editor arbeiten beziehungsweise in seinem Code
sein Geld wert. verwenden.
So urteilt IT-Administrator
Arbeitsteilung Auch hier hat uns wie beim übrigen Stu- Visuelle Programmierung 8
in der Community dio die intuitive Integration der Commu-
Mit dem PowerShell Studio hat BlueParq nity gut gefallen. Verständlichweise war Integrierter Editor 8
auch eine Community namens Square ins Square zum Testzeitpunkt noch nicht son-
Leben gerufen. Die Idee dahinter ist, dass derlich gefüllt, sondern nur mit einigen Community-Einbindung 6
Anwender ihre erstellten Skripte bei Beispielen. Ein echter Mehrwert ist erst
Square hochladen, um sie dort als soge- dann zu erwarten, wenn viele Anwender Dokumentation und Hilfe 4
nannte BluePrints anderen Anwendern die Software nutzen und auch ihre Skripte
zur Verfügung zu stellen. Gleichzeitig sol- bei Square ablegen. Einrichtung 9
len sie sich dort bei den Skripten anderer
Programmierer bedienen können – Ge- Fazit Die Details unserer Testmethodik finden Sie
unter www.it-administrator.de/testmethodik
ben und Nehmen ist hier das Motto. Das BlueParq PowerShell Studio ist ein
neuer, aber unserer Meinung nach viel- Dieses Produkt eignet sich
Für eine einfache Bedienung ist der Zu- versprechender Ansatz, um Anwendern
griff auf Square voll in das PowerShell den Einstieg in die PowerShell-Program- optimal für Anwender, die PowerShell erler-
Studio integriert. Klickt der Anwender mierung zu erleichtern. BlueParq wirbt nen wollen und bereits Programmierkennt-
nisse in einer anderen Sprache besitzen.
auf das gelbe Square-Symbol in der Kopf- damit, dass sich über den Diagramm-Mo-
zeile, öffnet sich der Zugriff und er sieht dus PowerShell-Skripte erstellen lassen, bedingt für PowerShell-Spezialisten, denen
die abgelegten Skripte. Über eine Kate- ohne auch nur eine Zeile programmieren die Diagrammfunktion keinen oder nur wenig
gorieliste am linken Rand kann er nach zu müssen. Ganz so einfach ist es ver- Mehrwert bringt. Diese können aber trotz-
Themen filtern. Um ein BluePrint zu nut- ständlicherweise nicht und auch die Pro- dem den intelligenten Editor einsetzen.
zen, muss er nur die dazugehörige Sub- grammierung per Diagramm erfordert nicht für Anwender, die keine PowerShell-
scribe-Schaltfläche betätigen und kann entsprechend Kenntnisse, um die Abläufe Skripte erstellen wollen.
dann das Square-Fenster wieder schlie- korrekt zu erfassen. Vielmehr wird der

30 Mai 2018 www.it-administrator.de


12 Monatsausgaben im
ePaper
Print- & E-Paper-Format

+ Zwei Sonderhefte
im Print- & E-Paper-Format

Jahres-CD

Enthält alle Ausgaben von


Januar 2017 bis Dezember 2017
+ Jahres Archiv-CD
mit allen Monatsausgaben
im PDF-Format

Abo- und Leserservice


IT-Administrator
vertriebsunion meynen
Herr Stephan Orgel
Das Abo All-Inclusive
D-65341 Eltville
Tel: 06123/9238-251
Fax: 06123/9238-252
shop.heinemann-verlag.de
leserservice@it-administrator.de
Softinventive Lab Total Network Monitor 2.3.0

Quelle:Frederic Prochasson – 123RF


Kleine Wellen
im Blick
von Frank-Michael Schlede und von Thomas Bär

Die Überwachung von Ressourcen gehört zum administrativen Tagesgeschäft. Kein IT-Profi möchte
erst von einem Anwender hören, dass ein Dateidienst nicht verfügbar oder ein Router defekt ist.
Mit etwas Geschick und Talent erarbeitet sich der Administrator eine Überwachung mit automa-
tischer Reaktion auf Veränderungen, zum Beispiel mit Total Network Monitor.

en Markt zur Netzwerküberwa- me wie Total Network Monitor (TNM) In Windeseile einsatzbereit
D chung haben sich zumindest im aus dem Hause des US-amerikanischen Die Inbetriebnahme von TNM ist denk-
deutschsprachigen Raum die Produkte Anbieters Softinventive Lab. Die Software bar einfach. Der Download der Software
PRTG, WhatsUp, Nagios und NPM von wurde nach Angaben des Herstellers dafür ist direkt von der Webseite des Herstellers
Solarwinds weitgehend untereinander entwickelt, lokale Netzwerke, Einzelrechner möglich und erfordert keinerlei persön-
aufgeteilt. Alle Lösungen blicken auf eine und Dienste kontinuierlich zu überwa- liche Daten. Dank der überschaubaren
lange Historie zurück und erfreuen sich chen. Anstelle eines Monitorings aller Res- Größe von nicht einmal 9 MByte ist das
einer hohen Beliebtheit. Während Nagios sourcen beschränkt sich der Ansatz bei Herunterladen fix erledigt. Der per Dop-
als freie Software bei der Einrichtung eine TNM auf die Maschinen, die einer beson- pelklick zu startende Installationsvorgang
gewisse Vorbereitung und tiefgreifendes deren Aufmerksamkeit bedürfen. beschränkt sich auf die Bestätigung der
Wissen in Bezug auf die Überwachungs- Oberflächensprache, unter anderem ste-
techniken verlangt, punkten die anderen Neben der reinen Datensammlung über hen Deutsch, Englisch und Französisch
Marktanbieter durch gut gemachte As- das Monitoring bietet das Programm über zur Wahl, das Abnicken der EULA und
sistenten, die eine Implementierung und Aktionen die Möglichkeit, eine oder meh- die Auswahl des Zielpfads. In wenigen
Inbetriebnahme für das Unternehmen rere gezielte Reaktionen automatisiert Sekunden ist das Programm installiert
deutlich vereinfachen. einzuleiten. Im sogenannten "Monitor- und bietet im Anschluss seinen sofortigen
Log" speichert die Software die vollstän- Start an. Konzeptionell arbeitet die Über-
Kleine Überwachungslösung dige Historie der ausgeführten Aktionen wachung mit drei Status: Schwarz, Grün
Für kleinere Firmen und Überwachungs- und erfasst die Werte aller Monitore. Im und Rot. Während eine grüne Darstellung
vorhaben sind die eben genannten Pro- täglichen Netzwerkmanagement erweisen signalisiert, dass alles in Ordnung ist, steht
gramme möglicherweise überdimensio- sich diese Daten möglicherweise als wert- rot für Schwierigkeiten. Schwarz symbo-
niert, zumindest gibt es eine ganze Reihe volle Informationsquelle, um entstandene lisiert, dass es ein organisatorisch-tech-
überschaubarerer Überwachungsprogram- Probleme zu analysieren. nisches Problem gibt. Dies kann beispiels-

32 Mai 2018 www.it-administrator.de


S o f t i n v e n t i v e L a b To t a l N e t w o r k M o n i t o r 2 . 3 . 0 Te s t s

weise passieren, wenn aufgrund von feh-


lerhaften Login-Informationen die Be-
stimmung des verbleibenden freien Fest-
plattenspeichers misslingt.

Dem Internet
auf die Finger schauen
TNM arbeitet nicht mit einem eingebau-
ten Webservice, sondern präsentiert sich
als klassische Windows-Applikation in
einer typischen Dreiteilung des Pro-
grammfensters. Ein gleichzeitiges Arbei-
ten mit mehreren Konsolen steht bei Total
Network Monitor nicht zur Verfügung.

Auf der linken Seite findet sich eine Bild 1: TNM beschränkt sich bei der Überwachung weitgehend auf
Baumstruktur, rechts daneben die Detail- klassische Internet- und Windows-Ressourcen.
ansicht und am unteren Bildschirmrand
eine chronologische Auflistung von Er- Mailserver von Gmail prüfen. Neben dem Diensterkennung gibt. Die Suche be-
eignissen. Dank einer intuitiven Farbwahl ICMP-Ping arbeitet die Überwachung schränkt sich auf die Identifikation von
und einer insgesamt sinnvollen Beschrif- mit DNS-Prüfung auf Port 53, HTTP-Zu- Geräten und arbeitet lediglich mit den
tung kann der Einsteiger auch ohne einen griffen auf Port 80, HTTPS-Aufrufen auf Einträgen IP-Bereich von/bis. Ein Vor-
Blick in die kontextsensitiven Hilfedialoge 443 und SMTP auf 25 sowie 587. blenden des eigenen Netzwerkbereichs
in englischer Sprache mit dem Programm mit Subnetz gibt es ebenfalls nicht. Zwar
arbeiten. Anstelle mit einem leeren Rah- Klickt der Administrator in der Baum- kann der Benutzer beim Anlegen eines
men zu beginnen, startet die Software mit struktur auf eine Ressource, beispielsweise neuen Geräts auch manuell vorgehen und
einigen voreingestellten Internet-Senso- den Eintrag für den Netzwerkausstatter aus einer Auflistung den Eintrag "ESX-
ren, die die Erreichbarkeit einiger Res- Cisco, zeigt die Software im Detailbereich Host" auswählen – hinter diesem verbirgt
sourcen wie Cisco, Facebook oder die die drei eingerichteten Monitore für Ping, sich jedoch nicht mehr als ein Symbol.
HTTP und HTTPS. Eingestellt auf den Nur für Windows-Maschinen gibt es ein
Total Network Monitor 2.3.0 ICMP-Ping-Eintrag gibt die Software im paar zusätzliche Auswertfunktionen wie
Kopfbereich die mittlere Roundtrip-Zeit Zugriff auf die Ereignisanzeige, Dienst-
Produkt
in Millisekunden an. Für die beiden Web- Status-Überwachung, Zugriff auf die Re-
Monitoring-Werkzeug für
kleinere Umgebungen. service-Einträge gibt es lediglich den Hin- gistry oder Auslesen der Systemleistung.
weis, ob der letzte Verbindungsversuch In Bezug auf Datei-Monitoring-Aufgaben
Hersteller
erfolgreich war. Statistische Informationen stehen Präsenz, Größe, Vergleich, Anzahl,
Softinventive Lab
www.softinventive.de/total-network-monitor/ beschränken sich auf die Einträge, wie oft CRC32-Prüfung, Inhalts-Scan und Fest-
sich der Monitor im Status grün, rot oder plattenspeicherprüfung zur Auswahl.
Preis
schwarz befand. Klickt der Benutzer im
Ein Exemplar der Software ohne Limitierung
bei den Monitoren und ohne zeitliche Befris- unteren Fensterbereich auf die Zeitstatis- Aber auch hier machen es die Entwickler
tung kostet 170 Euro. Staatliche Institutio- tik, lässt sich anhand der Blockgrafik in von TNM dem Administrator unnötig
nen, Non-Profit-Organisationen und auch etwa erahnen, wann wohl ein Ausfall ge- schwer. Exemplarisch hierfür die CRC32-
Bildungseinrichtungen erhalten einen wesen sei. Einen zeitlichen Verlauf der Prüfung: Der IT-Profi kann für eine be-
Preisnachlass. Messdaten selbst, wie die sich über die nannte Datei prüfen, ob sich der Hashwert
Systemvoraussetzungen Zeit verändernde Roundtrip-Dauer beim verändert hat, hieraufhin in einen Status
Zur Installation wird ein gängiger Windows- Ping, gibt es nicht. wechseln und über dieses Umstellen eine
Computer mit mindestens 1 GHz Taktfre- automatische Reaktion herbeiführen. Alles
quenz, 512 MByte RAM und rund 35 MByte Sensoren recht spartanisch ganz gut – aber die CRC32-Berechnung
Festplattenspeicher benötigt. Netzwerkseitig Ein Scan-Wizard unterstützt den Admi- für die Datei muss der Administrator in
ist TCP/IP erforderlich. Windows-Sensoren nistrator beim Auffinden von Netzwerk- einem anderen Programm durchführen,
benötigen Windows NT4.0 oder höher, Admi-
geräten. Bei einem wiederholten Scan be- denn TNM erledigt dies nicht.
nistrationsrechte, Zugriff auf ipc$ und ad-
steht zudem die Möglichkeit, diesen auf
min$, Remote-Registry-Rechte und einen of-
fenen Port 135 für den RPC-Zugriff auf WMI.
bisher unbekannte Geräte zu reduzieren. Aktionsköcher nur halb gefüllt
Dateisensoren benötigen NetBIOS/SMB und Die Suche arbeitet mit dem ICMP/ARP- Das Sammeln von Überwachungsdaten
die geöffneten Ports 445 und 139. Ping. Die Eingabe von Login-Informa- ist bekanntlich nur die halbe Miete im
tionen ist nicht notwendig, da es keinerlei Monitoringgeschäft. Automatisierte Re-

www.it-administrator.de Mai 2018 33


Te s t s S o f t i n v e n t i v e L a b To t a l N e t w o r k M o n i t o r 2 . 3 . 0

aktionen und Benachrichtigungen ma- solchen Beliebtheit, dass die Möglichkeit Überwachungsprojekt als Datei
chen aus dem Überwachungsprogramm zur Neuregistrierung Anfang des Jahres Während die meisten Monitoring-Lösun-
ein hoffentlich leistungsfähiges Steue- deaktiviert wurde, doch ansonsten ist das gen über Datenbanken arbeiten, verwen-
rungswerkzeug. Fällt beispielsweise ein XMPP-Chatting als weitgehend ausge- det Total Network Monitor eine dateiba-
Intranet-Service aus, könnte ein Neustart storben zu betrachten. Modernere Be- sierte XML-Ablage. Praktischerweise
des ganzen Servers eine automatische Ak- nachrichtigungsmethoden sieht die Soft- kann der Administrator Überwachungs-
tion darstellen. In den meisten Fällen ge- ware nicht vor. projekte als Datei gespeichert problemlos
hen Administratoren jedoch nicht mit in andere Installationen mitnehmen. Das
dieser Holzhammermethode vor, sondern Bleibt noch die gute alte E-Mail, das klas- Dateimodell gefiel uns im Test gut, da ein
beschränken sich auf gezielte Neustarts sische Vehikel für Nachrichten bei der Ausprobieren von Überwachung und au-
von Diensten oder Benachrichtigungen. Überwachung. Auch hier gibt es die Mög- tomatisierter Reaktion so recht schnell
Praktischerweise unterscheidet TNM die lichkeit, mithilfe der Makro-Variablen ei- möglich ist. Geht etwas daneben, startet
drei Status Schwarz, Grün und Rot und nen vernünftigen Hinweistext zu gene- der Administrator einfach die zuvor ge-
erlaubt unterschiedliche Aktionszuord- rieren. Eine Spam-Flut von Nachrichten speicherte Dateivariante.
nungen je Status in beliebiger Anzahl. kann der Administrator verhindern, in-
dem er die Konditionen klug wählt. Bei- Bei einem Neustart der Software beginnt
Die Benachrichtigung und Protokollie- spielsweise "Ausführen, wenn Monitor TNM stets mit der letztgeöffneten Über-
rung besteht bei TNM aus Nachricht an- auf 'Rot' beim Start '1' mal hintereinan- wachungsdefinition, die dateitechnisch
zeigen, Protokolldatei schreiben, eine der". Eine zeitliche Steuerung wie "Nach- aus einer XML-Konfigurationsdatei und
Taskleisten-Nachricht ausgeben, eine richt nur einmal innerhalb einer Stunde einem Log besteht. Praktischerweise
WAV-Datei als Sound abspielen oder ei- verschicken” oder gar Zeitfenster für eine entdeckt der IT-Profi in den Optionen
nen Eintrag in der Ereignisanzeige anle- gezielte Unterdrückung von Meldungen die Einstellungsmöglichkeit, das Pro-
gen. Über "Anwendung ausführen" ist der für Wartungsintervalle stellt das Pro- gramm automatisch beim Start von
Administrator in der Lage, faktisch jede gramm ebenfalls nicht bereit. Windows zu aktivieren, und dies funk-
beliebige aufrufbare Ressource zu ver- tioniert auch im minimierten Fenster-
wenden. Mit den so genannten Makros, In unserer Teststellung konnten wir den status. Ob das Überwachungsintervall
hierbei handelt es sich um Variablen wie E-Mail-Versand problemlos mit einem greifen soll oder ob bei einem Pro-
"%MONITOR_NAME%" oder "%TIME_ SMTP-Server eines bekannten deutschen grammstart zunächst alle Monitore auf-
STAMP%", ist eine dynamische Übergabe Providers mit Sitz in Montabaur unter zuführen sind, legt der Administrator
an andere Programme realisierbar. Verwendung von STARTTLS prüfen als per Häkchen fest. Selbst wie sich das
auch mit einem lokalen SMTP-Server oh- Programm in der Taskleiste verhalten
Die aktuelle Version von TNM stammt ne Verschlüsselung. Die von Total Net- soll, ob ständig minimiert in der Task-
aus dem Jahr 2017 und doch merkt der work Monitor angebotene Funktion, die leiste oder ob es nur beim Schließen zu
Benutzer an einigen Stellen den Zahn der Verbindungsparameter automatisch zu minimieren ist, regeln Optionsfelder.
Zeit. Das Aktionsmenü bietet das Aus- identifizieren, funktionierte in keiner
senden von Jabber-IRC-Nachrichten auf Konstellation. Seltsam, denn der Thun- Per Default nicht als Dienst
Basis des XMPP-Protokolls. Zwar erfreut derbird-Mailclient vollbringt diese Leis- Spätestens nach dem Lesen des vorherigen
sich der Jabber-Server in Österreich einer tung problemlos. Abschnitts dürften erfahrene Überwa-
chungsprofis hellhörig sein: Wie sich das
Programm beim Start verhält? Lässt sich
eine Monitoring-Software gar per X-Schalt-
fläche im Fenster schließen? Das hat mit
Kontinuität nichts zu tun. Da hilft es wenig,
wenn die maximale Anzahl der gleichzei-
tigen Sensoraktivitäten frei zur Eingabe
bereitsteht. In der Tat arbeitet Total Net-
work Monitor in der Standardauslieferung
als Applikation und nicht als Dienst.

Um TNM als Service zu betreiben, muss


der Anwender im Dialog "Optionen" im
Rahmen "Programm als Dienst ausfüh-
ren" die Schaltfläche "Installieren" mit
Administrationsrechten ausführen. Es
Bild 2: Mit automatisierten Reaktionen ergänzt der Total Network Monitor folgt ein längerer Text in einem Fenster,
die reinen Überwachungsfunktionen. das den Benutzer darüber aufklärt, dass

34 Mai 2018 www.it-administrator.de


Bild 3: Die statistische Auswertung der gesammelten Informationen bei TNM ist äußerst rudimentär.

es sich bei der Anwendung "als Dienst Das kostenfreie Nagios bietet im Ver-
ausführen" zurzeit um keine interne gleich deutlich mehr Funktionen an, setzt
Funktion des Programms handelt. Letzt- aber eine sehr hohe Kompetenz in Über-
endlich wird ein ganz gewöhnlicher wachungsfragen voraus. Für kleinere Pro-
Dienst eingerichtet, den der Anwender jekte oder Firmen ist TNM vielleicht ge-
auch über die Konsole mit net start nau das Richtige, sofern die Sensoren das
TNMService einschalten kann. gewünschte Leistungsprofil abdecken.

Zwar werkelt der Monitor im Service-Be- An sich müsste das Programm jedoch
trieb weitgehend unbemerkt im Hinter- "Total Windows Monitor" heißen, denn
grund, jedoch ohne einen direkten Zugriff mit Ausnahme der Internet-Sensoren
über die grafische Oberfläche. Im aktiven überwacht TNM ausschließlich WMI-Da-
Service-Betrieb bewirkt der Start der Ap-
plikation, dass ein Dialog erscheint, der
ten. Interessenten können die Software 60
Tage ohne Funktionseinschränkung tes- Bekämpfen
den Administrator darüber in Kenntnis ten. Das gibt ausreichend Zeit, um die
setzt, dass die Deaktivierung des Services
nun bis zu 30 Sekunden dauern wird, ehe
Vor- und Nachteile abzuwägen. (ln) Sie Hardware-
die Oberfläche sichtbar ist. Zwar konnten
wir in unseren Tests keine Probleme mit
So urteilt IT-Administrator Probleme mit
dieser eigenwilligen Umsetzung feststellen,
doch wirkt diese Implementierung eines
Einrichtungsassistent 5
PRTG
Daemons doch eher rustikal. Grafische Darstellung 6

Deutlich besser gefiel uns die eingebaute Windows Überwachung 7 Hardware geht genau dann kaputt,
Möglichkeit, Feedbacks zu schicken. Ein- wenn man es am wenigsten braucht.
gebaute Feedback-Typen heißen "Fehler- Nicht-Windows-Überwachung 4 PRTG Network Monitor warnt Sie
bericht", "Feature gefällt mir" oder "Fea- rechtzeitig, damit es gar nicht so
ture gefällt mir nicht". Außerdem ist es Aktionsmöglichkeiten 5 weit kommt.
möglich, eine Feature-Anforderung ab-
Die Details unserer Testmethodik finden Sie
zusenden und eine Textnachricht an die unter www.it-administrator.de/testmethodik Mit PRTG haben Sie alles im Blick –
Entwickler direkt aus dem Programm he- von CPU und RAM, über Festplatten
raus zu verschicken. Bei der Einteilung Dieses Produkt eignet sich
bis hin zu Druckern und Routern.
der Dringlichkeit in "Wie schlimm ist es?"
optimal für kleine Firmen, die primär ihre
beweist der Hersteller durchaus Humor,
Windows-Server überwachen möchten.
da selbst die Option "Hoffnungslos" zur
Verfügung steht. bedingt für mittelgroße Unternehmen, die
bereits andere Überwachungslösungen im
TESTEN SIE PRTG
Fazit Einsatz haben. 30 TAGE KOSTENLOS!
Total Network Monitor kann mit den be- www.paessler.de/hardware
nicht für große Firmen mit verteilten Netz-
kannten Branchengrößen in keiner Leis-
werken, die eine Überwachung von aktiven
tungskategorie mithalten und überzeugt
Netzwerkkomponenten, UNIX/Linux-Syste-
lediglich durch eine recht einfache Be- men oder vSphere-Landschaften benötigen.
dienung und den überschaubaren Preis. Paessler AG
info@paessler.com
www.paessler.de

000161/DE/20180410
www.it-administrator.de
Angriffe erkennen

Quelle: danilov1991xxx – 123RF


und verhindern mit Suricata

Keine Chance
für Einbrecher
von Martin Loschwitz

Suricata ist ein umfangreiches Werkzeug, um Angriffe aus dem Netz von vornherein zu
unterbinden oder wenigstens frühzeitig zu erkennen. Das Tool besticht durch seinen riesigen
Funktionsumfang. Hier erfahren Sie, wie Sie es installieren und in Betrieb nehmen.

rfolgreiche, aber unbemerkte An- schiedene Ansätze diese gleich von vorn- manceprobleme bekommt. Beim IDS geht
E griffe auf Systeme sind das abso- herein verhindern sollen. Suricata ist eine es jedoch wirklich nur um die Erkennung
lute Horrorszenario jedes Administrators. bekannte Kombination aus IPS und IDS – aktiv wird Suricata nicht. Es warnt zwar,
Freilich ist ein Angriff schon dann nicht auf Basis freier Software, die dem Admin wenn es Angriffe erkennt, startet jedoch
schön, wenn der Admin rechtzeitig Notiz beim Absichern seiner Setups unter die keine Gegenmaßnahmen.
davon erlangt, weil ihn etwa eine der vie- Arme greifen möchte.
len CERT-Stellen im Netz darüber infor- Solche Gegenmaßnahmen kommen beim
miert. Doch wenigstens ist es dann mög- Was IDS und IPS unterscheidet IPS-Konzept hinzu: Suricata scannt auch
lich, die Gefahr für andere Nutzer im Wie erwähnt vereint Suricata die Funk- in diesem Szenario den Netzwerkverkehr
Internet und besonders für die anderen tionen eines Intrusion-Prevention- mit auf verdächtige Aktivitäten. Erkennt das
Knoten der eigenen Plattform zu bannen, jenen eines Intrusion-Detection-Systems. Tool einen Angriff, verhindert es durch
indem man das gehackte System kurzer- Zwar verwenden beide Ansätze im Hin- entsprechende Firewall-Regeln automa-
hand aus dem Verkehr zieht und abschal- tergrund oft dieselben Informationen zur tisch, dass die verdächtigen Pakete wei-
tet. Bleibt der geglückte Angriff unbe- Analyse von Netzwerkverkehr, doch an- terhin fließen. Suricata kann für diesen
merkt, besteht diese Möglichkeit nicht sonsten handelt es sich um zwei unter- Zweck auf IPTables zurückgreifen und
und es drohen äußerst unangenehme schiedliche Konzepte. konfiguriert entsprechende Paketfilter-
Konsequenzen. Etwa dann, wenn das Sys- regeln von sich aus. Das IPS-Konzept bie-
tem anschließend für illegale Aktivitäten Die vorrangige Idee bei einem IDS ist es, tet gegenüber IDS insofern den Vorteil,
verwendet wird. einen Angriff zu erkennen, der gerade dass es verdächtige Aktivitäten sofort un-
stattfindet. Damit Suricata diese Aufgabe terbindet. Freilich hat diese Medaille auch
Will der Admin sich wirksam zur Wehr erledigen kann, muss es den Traffic ana- eine Kehrseite: Diagnostiziert Suricata
setzen, muss er seine Installation adäquat lysieren, der auf einem Host ankommt. fälschlicherweise einen Angriff, gehen
absichern. Ein Mittel, um Schutz für die Der Linux-Kernel bietet hierzu die Mög- möglicherweise Pakete verloren, die ei-
eigene Plattform zu realisieren, sind In- lichkeit, ein Interface auf einem Host vir- gentlich noch benötigt würden.
trusion-Detection-Systeme (IDS) und In- tuell zu klonen, also quasi einen lokalen
trusion-Prevention-Systeme (IPS): Erstere Spiegelport für die Traffic-Analyse zu Woher kommen die Daten?
sollen Angriffe schnell und zuverlässig schaffen, damit die "echte" Netzwerk- Bevor der Artikel sich ausgiebig mit Su-
erkennen, während Letztere durch ver- schnittstelle des Servers keine Perfor- ricata beschäftigt, stellt sich noch die Fra-

36 Mai 2018 www.it-administrator.de


Suricata Praxis

eines IDS – das ebenfalls bekannte Snort


kommt üblicherweise in einem solchen
Setup zum Einsatz.

Welche der beiden Varianten zu Ihrem


Netzwerk passt, hängt vorrangig von der
Funktionalität der verbauten Switches ab.
Generell gilt, dass die meisten Enter-
prise-Switche das Mirror-Port-Feature
anbieten, jedoch Unterschiede in der Im-
plementierung seitens der verschiedenen
Hersteller keine Seltenheit sind. Die Va-
riante mit Suricata auf jedem Host hin-
gegen lässt sich immer verwenden, wenn
man die beschriebenen Nachteile in Kauf
zu nehmen bereit ist. Im Folgenden geht
der Artikel von einem einzelnen System
aus, auf dem Suricata läuft, folgt also dem
Ansatz von Option 1.

Bild 1: Für Ubuntu und diverse andere Distributionen stehen vorkompilierte Pakete von Suricata bereit. Suricata installieren
Suricata ist in C geschrieben und lässt
ge, auf welchem Wege die zu analysieren- Engine von Suricata ausgelegt, die sich sich mithin auf praktisch jedem halbwegs
den Daten zu Suricata finden. Wer IDS um die Analyse von Paketen kümmert: aktuellen Linux-System übersetzen und
und IPS in seinem Netzwerk nutzen Suricata startet für die Analyse einzelner nutzen. Das umfasst ausdrücklich auch
möchte, sollte sich darüber frühzeitig Ge- Paket-Flows separate Threads und verteilt die gängigen Enterprise-Distributionen
danken machen – und damit implizit diese auf die vorhandenen CPU-Kerne. wie SUSE Linux Enterprise Server, Red
auch über das Design seines gesamten Hat Enterprise Linux oder Ubuntu LTS.
Netzwerks. Denn klar ist: Suricata kann Mirror Ports Für diesen Artikel haben wir uns für
nur den Traffic analysieren, den es tat- Option 2 folgt einem völlig anderen Prin- Ubuntu 16.04 LTS als Basis entschieden
sächlich sieht. Kommt die Lösung auf ei- zip: Hier existiert ein Server, der für alle (Bild 1), weil aktuelle Suricata-Pakete für
nem Host zum Einsatz, während ein An- Hosts der Installation zentral den durch- dieses System in einem Ubuntu-PPA-Ver-
griff auf einem anderen stattfindet, gehenden Traffic überprüft und im Falle zeichnis vorkompiliert zur Verfügung ste-
bekäme Suricata hiervon zunächst gar eines Falles Alarm schlägt. Letztlich war- hen [1]. Wer Suricata auf einer anderen
nichts mit und wäre nutzlos. tet der Admin also nur eine Suricata-In- Distribution nutzen möchte, greift ent-
stanz auf einem Rechner mit möglichst weder zu fertigen Paketen aus dem Netz
Es ergeben sich zwei grundsätzliche Mög- viel CPU-Leistung und entgeht damit den oder – falls diese nicht vorhanden sind –
lichkeiten, mit dieser Herausforderung negativen Auswirkungen, die Suricata an- übersetzt Suricata selbst. Entsprechende
umzugehen. Option 1 leuchtet sofort ein dernfalls auf die CPUs jedes einzelnen Anleitungen finden sich im Netz für prak-
und besteht darin, Suricata einfach auf Hosts hätte. Im Gegenzug bedingt ein sol- tisch alle gängigen Systeme. Beim Über-
jedem Host innerhalb der Plattform zu ches Setup allerdings professionelle Netz- setzen achten Sie aber besser gleich da-
installieren, der potenzielles Ziel von An- werkswitches, die ein spezielles Feature rauf, dass Sie beim "./configure"-Schritt
griffen werden könnte. Das bedeutet zwar bieten, nämlich die Konfiguration eines die passenden Parameter angeben. Soll
viel Aufwand, weil Suricata auf jedem be- Mirror Ports. Das Prinzip ist simpel: Per Suricata als IPS zum Einsatz kommen,
troffenen Host auszurollen ist. Durch Au- Konfiguration des Switches weist der Ad- benötigt es etwa die Header-Dateien der
tomatisierer wie Ansible lässt sich der zu- min diesen an, sämtlichen Traffic, der Netfilter-Queue-Bibliothek, die meist in
sätzliche Aufwand jedoch meistern. Zu über irgendeinen Port des Switches das Form eines "-dev"-Paketes durch den Ad-
beachten ist aber, dass Suricata für das Netzwerk betritt oder verlässt, direkt auf min zu installieren sind.
Verarbeiten von Netzwerktraffic die lokale einen zweiten, hierfür besonders ausge-
CPU eines Systems in Beschlag nimmt, wählten Switchport zu spiegeln. Der ge- Mit Suricata arbeiten
und das nicht zu knapp. Wer Suricata auf nannte Switchport sieht de facto also Suricatas Kernfunktion ist das, was seine
jedem Host nutzen möchte, sollte also für sämtlichen Netzwerktraffic. An ihm hängt Entwickler als "Signature Language" be-
genügend Reserven sorgen, was die CPU der Server mit Suricata, das folglich eben- zeichnen. Der Begriff der "Signatur"
angeht, und idealerweise gleich zu einer so sämtlichen Traffic sieht und auch ana- kommt Ihnen möglicherweise bereits aus
oder mehreren aktuellen CPUs mit meh- lysieren kann. Das beschriebene Konzept dem Antiviren-Kontext bekannt vor: Als
reren Kernen greifen. Denn auf die ist die ist der klassische Ansatz für den Betrieb Signatur bezeichnen die Hersteller dort

www.it-administrator.de Mai 2018 37


Praxis Suricata

ein spezifisches Angriffsmuster, das An- tion "alarm", die Suricata dazu veranlasst,
Listing 1: Muster für IRC-Trojaner
tivirensoftware anhand verschiedener Kri- in seine Logdatei einen entsprechenden
terien automatisch zu identifizieren ver- Eintrag zu verfassen. Alternativen dazu msg:"ET TROJAN Likely Bot Nick in IRC (USA+
sucht. Ein einfaches Beispiel für eine sind "drop" und reject". Erstere sorgt da- ..)", flow:established.to_server;
flowbits:isset.is_proto_irc; content:"NICK
solche Signatur ist dieses: Falls eine Datei für, dass Suricata beim Einsatz als IPS das "; pcre:"/NICK .*USA.*[0-9]{3,}/i"; class-
mit dem Namen "Virus" an einer be- Paket sofort und ohne Rückmeldung an type:trojan-
stimmten Stelle im Dateisystem existiert die Gegenseite verwirft. Bei "reject" hin- activity;reference:url.doc.emergingthre-
ats.net/2008124;
und die folgende SHA256-Summe als gegen konfiguriert Suricata IPTables so, reference:url.www.emergingthreats.net/cgi-
Checksumme hat, handelt es sich um den dass eine REJECT-Meldung an die Ge- bin/cvsweb.cgi/sigs/VIRUS/TROJAN_IRC_Bots;
bekannten Virus "Beispiel-Virus". genseite erfolgt. sid:2008124; rev:2;)

Suricata geht bei der Erkennung von Alles hinter dem ersten Leerzeichen legt handelt, deren Protokoll IRC ist. "content"
Netzwerkangriffen grundsätzlich ähnlich die Bedingungen fest, die Datenverkehr definiert den Beginn der Nachricht. "pcre"
vor. Wie ein Virenscanner Dateien auf erfüllen muss, damit Suricata sich den leitet einen regulären Ausdruck (regular
der Festplatte überprüft, überprüft Suri- Stream im Detail ansieht. Wer Suricata expression) ein, anhand dessen der Inhalt
cata den Netzwerkverkehr eines Systems. etwa auf einem Gateway zwischen seinem des Pakets genauer untersucht wird. Das
Dabei versucht es, bestimmte Strukturen privaten Netz und dem Internet nutzt, Feld "classtype" legt die Angriffsart fest
automatisch zu erkennen: Geht etwa ein kann hier mittels "tcp $HOME_NET any und die beiden "reference"-Einträge geben
TCP/IP-Paket mit einer spezifischen -> $EXTERNAL_NET any" erreichen, schließlich genauere Hinweise auf den er-
Größe ein, dessen Inhalt dem eines be- dass aus dem privaten Netz in Richtung kannten Angriff, indem sie auf entspre-
kannten Rootkits ähnelt, kann Suricata Internet gehender Traffic untersucht wird. chende Erklärungen im Netz verweisen.
auf dieser Basis einen Angriff erkennen "tcp" legt das Protokoll auf TCP/IP fest, "sid" und "rev" legen fest, unter welcher
und Alarm auslösen oder IPTables in die Variablen "$HOME_NET" und "$EX- ID Suricata die Regel intern führt – das
Gang setzen. TERNAL_NET" sind in Suricata separat ist wichtig, wenn der Admin einzelne Re-
zu definieren und "any" bezieht sich je- geln deaktivieren oder ändern möchte.
Als "Signatursprache" bezeichnen die Ent- weils auf den Ziel- und Quellport.
wickler Suricatas Erkennungsfunktion, Regeln mit
weil die Regeln dafür, wie Erkennungs- Das dritte Feld ist das wichtigste und spe- Oinkmaster verwalten
kriterien formuliert sind, in einer für Su- zifiziert die "Rule Options", gibt also ge- Die nächste Frage ist, wie Sie Suricata mit
ricata entwickelten Syntax verfasst sind. nauere Parameter an, was die jeweilige den wichtigsten Regeln ausstatten. Woll-
Der Admin hat zwei Möglichkeiten, Su- Regel prüfen soll. Ein recht simples Bei- ten Sie für alle Angriffsszenarien selbst
ricata mit Angriffsdefinitionen zu versor- spiel hilft dabei, infizierte Rechner im ei- Regeln definieren, wäre das eine ausufern-
gen: Er legt entsprechende Regeln entwe- genen Netzwerk zu finden, die per IRC- de Fleißarbeit. Das ist aber nicht nötig,
der selbst an oder greift auf vordefinierte Protokoll als Mitglied eines Botnets denn im Netz finden sich entsprechend
Regeln zurück, die im Netz von verschie- ferngesteuert werden (Listing 1). vorbereitete Regeln gratis zum Download.
denen Stellen kostenfrei und kostenpflich- Ein Beispiel ist die Emerging-Threats-
tig angeboten werden. Die Regel ist weniger kryptisch, als sie Liste. Mittels Oinkmaster binden Sie diese
scheint: Jedes Feld ist vom nächsten Feld direkt in Suricata ein – ein Artikel im Su-
Die Suricata-Sprache per Semikolon getrennt; Feld 1 legt die ricata-Wiki zeigt, wie das funktioniert[2].
Festgelegte Regeln für Suricata folgen ei- Nachricht fest, die Suricata auf der Kom- In der Anleitung der Suricata-Entwickler
ner strengen Syntax und bestehen aus drei mandozeile ausgibt oder ins Log schreibt, erfahren Sie auch, wie Sie einzelne Regeln
Feldern. Das erste Feld markiert gleich falls ihm ein entsprechendes Paket über anhand ihrer SID gezielt deaktivieren, oh-
die Aktion, die Suricata für Datenpakete den Weg läuft. Die beiden "flow"-Para- ne Suricata gleich ganz auszuschalten.
ausführen soll, die es im Netzwerkverkehr meter legen fest, dass die Regel greift,
erkennt. In den meisten Fällen ist die Ak- wenn es sich um eine Server-Verbindung Zusätzlich kommt Suricata übrigens ab
Werk auch mit einigen Regeln, die in den
Dateien in "/etc/suricata/rules" definiert
sind. Damit diese Regeln greifen, ist es
jedoch notwendig, die jeweiligen Dateien
in "/etc/suricata/suricata.yml" in der Re-
gelliste zu aktivieren.

Suricata als IDS


Die Nutzung als IDS ohne aktives Ein-
Bild 2: Zwei Beispiele für Logging in Suricata: greifen in die Systemkonfiguration ist der
Hier gibt Suricata seine Alarme wahlweise in eine separate Datei oder ins Syslog aus. Standardmodus von Suricata. In "/etc/su-

38 Mai 2018 www.it-administrator.de


Suricata Praxis

ricata/suricata.yaml" konfigurieren Sie


dazu zunächst den Eintrag "default-log-
dir". Haben Sie Suricata mittels Paketma-
nager installiert, ist der voreingestellte
Wert in der Regel in Ordnung. Zusätzlich
widmen Sie sich in "suricata.yaml" der
"outputs"-Sektion: Dort ist beschrieben,
welche Art von Output Suricata wohin
ausgibt. Es empfiehlt sich, wenigstens das
"fast"-Log zu aktivieren, dann sehen Sie
produzierte Alarme. Aktivieren Sie sämt- Bild 3: In Kombination mit ElasticSearch, LogStash und Kibana
liche Logs, wird Suricata sehr langsam. werden die durch Suricata gesammelten Logs ansehnlich.
Eine ausführliche Beschreibung der Op-
tionen fürs Logging finden Sie im Suri- $ iptables -N SURICATA iptables -A so denkbare Angriffsziele wie typische
cata-Wiki [3]. FORWARD -j SURICATA iptables -A RZ-Infrastruktur. Es schadet deshalb
SURICATA -j NFQUEUE nicht, Suricata auch für dieses Einsatz-
Wenn in "suricata.yaml" das Logging kon- szenario in Erwägung zu ziehen und den
figuriert und die Signaturdateien gemäß Suricata macht sich bei diesem Szenario Traffic zu durchleuchten, der von Clients
den Oinkmaster-Vorgaben aktiviert sind NFQueue zunutze, das in IPTables für ausgeht. Das Setup vieler Firmen spielt
(Bild 2), genügt es, Suricata zu starten ähnliche Zwecke extra eingebaut ist. Dann diesem Use Case sogar in die Hände: Oft
und es dabei auf eine Netzwerkschnitt- starten Sie Suricata wie gewohnt: ist den Clients der direkte Zugriff auf das
stelle loszulassen: Internet gar nicht erlaubt; stattdessen
$ suricata -q 0 -c /etc/suricata/ kommt ein Zwangsproxy zum Einsatz,
$ suricata -c /etc/suricata/surica- suricata.yml der etwa unliebsame Websites anhand
ta.yaml -i bond0 --init-errors-fa- verschiedener Mechanismen erkennt und
tal Wer mehrere Threads für Suricata nutzen den Zugriff auf sie blockiert. Dann kann
möchte, modifiziert dazu einerseits die Suricata etwa auf dem Proxy andocken
Haben Sie Suricata per Paketmanager in- zuvor genannte IPTables-Regel und hängt und den fließenden Datenverkehr dort
stalliert, liegt diesem möglicherweise auch an "-j NFQUEUE" noch "queue-balance unmittelbar überwachen.
ein Init-Skript oder eine Systemd-Unit 0:3" sowie an Suricata die zusätzlichen
bei, die die Steuerung übernimmt. Parameter "-q 1", "-q 2" und "-q 3" an. Fazit
Suricata hinterlässt sowohl als Intrusion
Einsatz als IPS Die Log-Ausgabe von Suricata lässt sich Detection System als auch als Intrusion
Wenn Suricata auch als IPS zum Einsatz mit Werkzeugen wie Grafana oder Kibana Prevention System einen sehr guten Ein-
kommen soll, ist dafür gar nicht so viel visualisieren. Das Setup ist dann aller- druck. Die Technik des Programms wirkt
Umkonfiguration nötig. Wichtig ist je- dings etwas komplexer: Für Kibana sorgt ausgereift und sein Betrieb ist sehr stabil.
doch, dass Sie sich die Suricata-Regeln der Admin zunächst dafür, dass die Log- Minuspunkte gibt es dafür, dass nicht für
anschauen. Dort, wo Regeln "alarm" als dateien von den jeweiligen Systemen ih- jede aktuelle (Enterprise-)Distribution
Aktion beim ersten Feld definiert haben, ren Weg in ein ElasticSearch finden, etwa fertige Pakete zur Verfügung stehen. Im
müssen Sie gegebenenfalls ran: Soll Su- mittels LogStash oder Fluentd. Dort greift schlimmsten Fall muss der Admin also
ricata die entsprechenden Flows verwer- Kibana auf sie zu und bereitet sie so auf, zum Compiler greifen und Suricata selbst
fen, muss hier statt "alarm" wahlweise dass sie für den Admin gut lesbar sind aus den Quellen übersetzen. Wer diese
"drop" oder “reject" stehen. (Bild 3). Wer InfluxDB für Zwecke des Hürde hinter sich gebracht hat, darf sich
Monitorings nutzt, kann die Daten alter- aber über deutlich bessere Analysever-
Danach ist es nötig, mittels IPTables sämt- nativ mittels Telegraf auslesen und sie so fahren im eigenen Netzwerk freuen. Die
liche Pakete so umzuleiten, dass sie bei in InfluxDB ablegen lassen. Das ist zwar im Netz erhältlichen Angriffssignaturen
Suricata vorbeikommen. Kommt Suricata einiger Aufwand, der sich jedoch lohnt. tragen hierzu erheblich bei. (of)
etwa auf einem Gateway zum Einsatz, ist
das feste Anheften an eine Netzwerk- Clients mit Suricata absichern Link-Codes
schnittstelle nicht genug. Schließlich kann Bisher ging es um die Absicherung und
Traffic aus mehreren Richtungen über Überwachung von Servern im Rechen- [1] Suricata für Ubuntu 16.04
I4P61
mehrere Interfaces ankommen oder das zentrum. Das ist aber nur ein Teilbereich
[2] Regeln mit Oinkmaster verwalten
Setup verlassen. Exemplarisch sei anhand des Vektors, den Bösewichte regelmäßig
I4P62
der IPTables-FORWARD-Chain beschrie- für Angriffe verwenden. Desktops, Lap-
[3] Optionen für suricata.yaml
ben, wie Sie allen Traffic an Suricata vor- tops, Smartphones, Tablets und andere
I4P63
beischleusen: Geräte mit alltäglichem Bezug sind eben-

Link-Codes eingeben auf www.it-administrator.de Mai 2018 39


Schulungen mit H5P

Auf der Schulbank


von Dr. Holger Reibold

Mitarbeiter sollten regelmäßig in Sachen IT geschult werden. Denn nicht


nur findet immer wieder neue oder aktualisierte Software ihren Weg ins
Unternehmen, auch die Security-Awareness bleibt nur dank wiederkeh-
render Schulungen erhalten. Um den Unterricht dabei ansprechend und
informativ zu gestalten, bietet sich mit H5P eine interaktive Lernplatt-
form an. Diese ist leicht aufzusetzen und zu bedienen.

Quelle: jenifoto – 123RF

eine Frage: Medienkompetenz (Norwegian Digital Learning Arena) ge- Account auf h5p.org, in zweiten Fall in-
K wird in Zukunft immer wichtiger. fördert. Im Januar 2018 feierte H5P sei- stallieren Sie das Plug-in in einer Dru-
Das gilt für Schüler ebenso wie für die nen fünften Geburtstag. pal-, Moodle- oder WordPress-Website.
Mitarbeiter von Unternehmen. Mit H5P Zur Inbetriebnahme von H5P bedarf es
[1] gibt es eine benutzerfreundliche Lö- Voraussetzungen schaffen einer bestehenden Wirtumgebung. Dru-
sung, mit der auch Nichttechniker pro- Das Projekt verfolgte von Anfang an die pal, Moodle und WordPress stellen In-
blemlos interaktive Lerninhalte erstellen Intention, dass die Inhalte auch ohne stallationsfunktionen für die entsprechen-
können. H5P als Akronym für "HTML5 technische Kenntnisse erstellt werden den Plug-ins bereit. Der einfachste Weg:
Package" ist eine Editorumgebung, mit können. Die Inhalte können über die Sie laden sich die benötigte Erweiterung
der sich interaktive (Lern-)Inhalte ge- H5P-Website oder aber in einer eigenen von der H5P-Website [2] herunter und
nerieren lassen, die dann in bestehende Webumgebung erzeugt und gehostet wer- installieren diese über den Plug-in-In-
Websites integriert werden können. Da- den. Im ersten Fall benötigen Sie einen stallationsmechanismus der jeweiligen
zu bedarf es lediglich eines Wirtssys-
tems, in dem der Content erzeugt und
publiziert wird. Aktuell existieren ent-
sprechende Plug-ins für Drupal, Moodle
und WordPress.

Prinzipiell können die interaktiven H5P-


Inhalte auch in andere Umgebungen ein-
gebettet oder als Laufzeitumgebung aus-
geführt werden. Dazu erzeugen Sie ein
Archiv, das die verwendeten Medien,
Programmbibliotheken (JavaScript, CSS)
und entsprechende Konfiguration
(JSON) umfasst. Insbesondere Medien-
pädagogen schwärmen von den vielfäl-
tigen Anwendungsmöglichkeiten von
H5P: Sie können Lehrvideos anreichern,
Inhalte interaktiv gestalten, Fragebögen
und Multiple-Choice-Tests erstellen, Lü-
ckentexte zum Ausfüllen oder Drag-and-
Drop-Aufgaben mit Bildern und Texten
generieren. Das Projekt wurde ursprüng- Bild 1: H5P ist installiert und kann über das Interface der Host-Umgebung
lich mit öffentlichen Geldern der NDLA (in diesem Beispiel WordPress) eingesetzt werden.

40 Mai 2018 www.it-administrator.de


Schulungen mit H5P Praxis

Host-Umgebung. Besonders einfach ist


der Vorgang unter WordPress. Hier ver-
wenden Sie die Suche der Plug-in-Ver-
waltung, installieren und aktivieren das
Modul. Anschließend finden Sie die
H5P-Funktionen im gleichnamigen Me-
nüeintrag des WordPress-Back-Ends.
Hier können Sie dann erste interaktive
Content-Elemente erstellen oder sich ad-
ministrativen Aufgaben widmen.

Vor der eigentlichen Installation sind wie


bei vielen anderen PHP-basierten Ap-
plikationen Änderungen an der Datei
"php.ini" notwendig. Hier bestimmen Sie,
wie groß die Dateien sein können, die in
das System geladen werden. Damit Sie aus-
reichend große Dateien hochladen können,
sollten Sie der Option "upload_max_file-
size" den Wert "64M" und "post_max_size"
den Wert "128M" zuweisen.

Erste interaktive
Inhalte generieren Bild 2: Das erste interaktive Content-Element entsteht mit H5P.
Nach der Installation der H5P-Plug-ins Mit dem Content-Typ bestimmen Sie die Art des Elements.
ist die Host-Umgebung um mehrere H5P-
Menüeinträge erweitert. Wenn Sie mit anschließend einen Modul-spezifischen können Sie beispielsweise dem Bereich 0
WordPress arbeiten, finden Sie unterhalb Dialog mit verschiedenen Zusatzinfor- bis 30 Prozent das Attribut "Ungenügend",
des "Einstellungen"-Menüs den neu er- mationen und der Installationsmöglich- dem Bereich 31 bis 69 das Attribut "Be-
zeugten Menüeintrag "H5P-Inhalt", über keit. Jedes Modul muss individuell in- friedigend" und dem Bereich 70 bis 100
den Sie neue Inhalte erzeugen, auf die Bi- stalliert werden. Ein einmal installiertes Prozent den Wert "Klasse" zuweisen.
bliotheken zugreifen und die Ergebnisse Modul steht für die spätere Verwendung
von Tests abrufen. Das Plug-in erweitert zur Verfügung, muss also nicht jedes Im Falle des Multi-Choice-Moduls steht
außerdem die Konfiguration der Host- Mal neu installiert werden. Ihnen in den Moduleinstellungen eine
Umgebung. Im Falle von WordPress fin- Fülle weiterer Konfigurationsmöglich-
den Sie im Menü "Einstellungen" das neue Wie wir es von anderen Plattformen ken- keiten zur Verfügung. Sie können bei-
Untermenü "H5P". nen, stehen zu jedem Modul Zusatzin- spielsweise die Wiederholung und die
formationen, Screenshots und Lizenzin- Anzeige der korrekten Lösungen zulas-
Um ein erstes interaktives Content-Ele- formationen zur Verfügung. Betätigen Sie sen. Damit Wiederholer nicht das Mus-
ment zu erzeugen, führen Sie den Be- die "Installieren"-Schaltfläche, um das ter der falschen Antworten bei einem
fehl "Erstellen" des H5P-Menüs aus. Im Multi-Choice-Modul einzurichten. Nach Zweitversuch nutzen können, aktivieren
gleichnamigen Dialog weisen Sie dem der Installation klicken Sie auf "Benutzen", Sie die Option "Zufällige Antworten".
Element zunächst eine Bezeichnung zu. um den Fragebogen anzulegen. Im Falle Das Modul zeigt standardmäßig die er-
Anhand eines einfachen Beispiels sei eines Multiple-Choice-Tests können Sie reichte Punktzahl.
die typische Vorgehensweise erläutert. diesem ein Bild zuweisen. Dann geben
Nehmen wir an, Sie möchten einen On- Sie die Fragen und die möglichen Ant- Sie können auch die Mindestanforde-
linetest zum Thema "Internet-Sicher- worten an. Markieren Sie die richtige Ant- rung für das Bestehen definieren. Die ist
heit" erstellen. Sie öffnen das Auswahl- wort beziehungsweise die richtigen Ant- standardmäßig auf den Wert "100" ge-
menü "Inhaltstyp auswählen" und worten mit "Korrekt!". Sollten weitere setzt. Beachten Sie, dass diese Konfigu-
navigieren zu einem geeigneten Con- Antworten benötigt werden, wählen Sie ration oft keine Wirkung zeigt. Mit ei-
tent-Typ. Alternativ verwenden Sie die "Option hinzufügen". nem abschließenden Klick auf "Erstellen"
Suche, wenn Sie exakt wissen, welchen sichern Sie Ihren ersten Test. Das H5P-
Typ Sie verwenden wollen. In unserem Für die Bewertung der Antworten ver- Menü führt alle erstellten Content-Ele-
Beispiel verwenden wir das Element wenden Sie die Funktion "Gesamt-Feed- mente in Tabellenform auf. Dort können
"Multiple Choice" und klicken auf back". Hier legen Sie Wertebereiche und Sie beispielsweise auf einen Blick erken-
"Übernehmen". H5P präsentiert Ihnen die zugehörigen Bewertungen an. Konkret nen, bei welchen Elementen neue Ergeb-

www.it-administrator.de Mai 2018 41


Praxis Schulungen mit H5P

nisse vorliegen. Auch das Bearbeiten ist Wenn diese ausführbar ist, bedeutet dies, in unterschiedlichen Versionen. Der
am einfachsten über die Content-Ele- dass Sie Inhalte mit dieser Bibliothek er- Übersicht können Sie insbesondere Ab-
mentenliste möglich. stellen können. Nicht ausführbare Biblio- hängigkeiten entnehmen.
theken werden in der H5P-Terminologie
H5P installiert mit jedem neuen vorde- auch als Dienstprogrammbibliothek be- Administrative Aufgaben
finierten Content-Typ spezifische Biblio- zeichnet und greifen ihrerseits auf andere H5P macht sich primär die administra-
theken. In einem H5P-Archiv sind Inhalte Bibliotheken zurück. Das Konzept der Bi- tiven Funktionen der Hostumgebung zu-
sowie eine oder mehrere Bibliotheken ge- bliotheksabhängigkeiten funktioniert ein- nutze, beispielsweise die Benutzerver-
bündelt. Dabei sorgen die Bibliotheken fach: Eine interaktive Videobibliothek ist waltung. Hier müssen Sie primär die
für die Funktionalität und das Design. beispielsweise von der Videobibliothek Funktionen des Hosts anwenden. Wenn
Die eigentlichen Inhalte, also primär Tex- abhängig, wobei diese wiederum für das Sie mit WordPress arbeiten, stehen Ihnen
te, Einstellungen und Mediendateien, Rendern des Videos zuständig ist. Die in- im Menü "Einstellungen / H5P" einige
steuern das Verhalten und die Darstellung teraktive Bibliothek ist wiederum für die Konfigurationsmöglichkeiten zur Verfü-
mit Hilfe der Bibliotheken. Prinzipiell Darstellung aller Interaktionen über das gung. Diese beziehen sich allerdings pri-
kann eine Bibliothek lauffähig sein, muss Video verantwortlich. H5P kennt über mär mehr auf gestalterische Aspekte. Sie
aber nicht. 200 solcher Bibliotheken, viele allerdings können beispielsweise die Ansicht der
Buttons konfigurieren. Sie können au-
Ausgewählte Contenttypen ßerdem Beschränkungen der Inhaltsty-
pen vornehmen und die automatische
Element Beschreibung Erstellung und Übermittlung der Benut-
zerstatistik aktivieren.
Mit diesem Element können Sie einfache Übungen in den vier
Arithmetic Quiz
Grundrechenarten erstellen.
Besonders einfach ist die Übertragung
Erlaubt das interaktive Zusammenfügen verschiedener Inhalte.
Column Bilder, Textbausteine und Trennlinien erlauben eine ansprechen- von einzelnen Mini-Anwendungen zwi-
de Präsentation komplexer Inhalte. schen H5P-Sites. Dazu muss zunächst in
Erlaubt die Gestaltung unterschiedlicher Ausgangsinhalte in den H5P-Einstellungen der Download
Course Presentation Form einer klassischen Präsentation. Kann auch mit Multiple- zugelassen werden. Der kann permanent
Choice-Elementen und interaktiven Videos gespickt werden. unterbunden oder für Redakteure und
Stellt einen Assistenten bereit, mit dessen Unterstützung der für alle Benutzer freigegeben werden.
Documentation Tool Anwender einen Projektleitfaden mit Angaben von Zielen, Pro- Nach der Freigabe können berechtigte
jektarbeiten, Evaluierung und Abschlussbericht erstellt. Nutzer ein Content-Element über den
Texte werden in kleine Bauteile unterteilt und können dann in Download-Link herunterladen. Der Im-
Drag the Words
der richtigen Reihenfolge zusammengesetzt werden. port ist ähnlich einfach: Sie erzeugen ein
Erlaubt das Hochladen von Bildern, bei denen im zweiten Schritt neues Element und verwenden im zuge-
Bereiche erstellt werden, die Informationen zu diesen enthalten.
Image Hotspots hörigen Dialog die Upload-Funktion.
Dabei kann es sich um Texte, aber auch um Audio- und Videoin-
halte handeln.
Hierbei handelt es sich um eines der beliebtesten Content-Ele-
Sicherheit an Bord
mente. Stellt einen einfachen Videoeditor zur Verfügung, mit PHP-basierte Applikationen wie die
Interactive Video möglichen H5P-Hosts WordPress & Co.
dem Sie interaktive Elemente wie Fragen, Links et cetera einbet-
ten können. sind nicht gerade für ihre Sicherheit
Dieser Elementtyp stellt umfangreiche Funktionen für das Er- bekannt. Mit einem eigenen Sicherheits-
stellen von Fragebögen mit verschiedenen Fragetypen zur Verfü- modell versucht die Umgebung, etwai-
Quiz (Question Set) gung. Es können Lückentexte, Drag-and-Drop-Aufgaben mit Bild gen Sicherheitsproblemen entgegenzu-
oder Text, Multiple-Choice-Fragen und Wortmarkierungen in das
wirken. H5P erzeugt Archivdateien mit
interaktive Content-Element eingebettet werden.
der Dateierweiterung "H5P". Bevor eine
Klassisches Memory-Spiel, bei dem der Nutzer zwei verdeckte
Memory Game Karten aufdeckt und zuordnet. Dabei sind verschiedene Zuord-
Datei in ein Archiv gepackt wird, erfolgt
nungen denkbar, beispielsweise Gegensätze oder Vokabelpaare. ein Abgleich mit einer editierbaren
Dieses Element eignet sich für das Erkunden und Ausprobieren Whitelist. Dateien mit einer unbekann-
von Inhalten, mit denen der Schüler noch nicht vertraut ist. Da- ten Dateierweiterung werden nicht in
Summary zu werden Aussagen verwendet. Wählt der Schüler den korrek- das H5P-Archiv aufgenommen.
ten Eintrag, gelangt er zur nächsten Seite. Am Schluss werden
alle Informationen gebündelt präsentiert. H5P führt außerdem bei allen Eingaben
Dieses Element erlaubt die Erstellung eines interaktiven Zeit- eine Gültigkeitsprüfung durch. So werden
Timeline
strahls, der Ereignisse mit Text, Bildern und Videos besitzt.
unsichere Parameter, Protokollangaben
Erlaubt das Einbetten von einfachen Falsch-Richtig-Optionen in oder kritische Eigenschaften vom System
True/False Question
eine Präsentation.
ferngehalten. Die verschiedenen interak-

42 Mai 2018 www.it-administrator.de


tiven Funktionen basieren primär auf JavaScript-Bibliotheken.
Intensiv-Seminar
Jede dieser Bibliotheken ist für das Voranstellen von Dateispei-
Aufbau ein
cherorten mit einem Bibliothekspfad oder einem Inhaltspfad
verantwortlich, damit die Benutzer URLs nicht manipulieren
können. Bisherige H5P-Versionen besitzen eine weitere Angriffs-
unter Win
er PKI
möglichkeit: Die Response wird auf der Client-Seite ausgewertet.
Das bedeutet, dass die korrekte Antwort bereits auf der Clientseite
dows
existiert und manipuliert werden kann. Dieses Problem werden
erst zukünftige Versionen lösen, indem die Verarbeitungsfunk-
tionen auf die Server-Seite verschoben werden.

Wollen Sie den Zugriff auf bestimmte Inhalte und Module re-
glementieren, können Sie diese mit den Access-Control-Me-
chanismen der Host-Applikation schützen. In Foren taucht

Quelle: goodluz – 123RF.com


immer wieder die Frage auf, wie sich der Download von H5P-
Content-Elementen verhindern lässt. Hierfür gibt es keine
wirksame Funktion. Einzig mit dem X-Frame-Options "HTTP
Response Header" können Sie Clickjacking-Attacken verhin-
dern und dass die Elemente in fremde Webseiten eingebettet
werden können.

Entwickler können außerdem funktionale Erweiterungen


und Anpassungen vornehmen. Die notwendigen Informa-
tionen für Button-, Design- und weitere Anpassungen finden 3. bis 5. Juli 2018
Sie in der umfangreichen Dokumentation. Von Vorteil für
Anwender ist außerdem, dass über die Projektwebsite eine Hamburg
Vielzahl von Beispielen bereitsteht, die die praktische Imple-
mentierung von pädagogisch sinnvoll gestalteten Elementen 19. bis 21. September 2018
verdeutlichen.
München
Die Entwickler haben für die Zukunft noch einige interessante
Funktionen angekündigt, die H5P noch spannender machen Anmeldung unter:
werden. So befindet sich beispielsweise eine Auswertungsfunk-
tion für das Backend in Vorbereitung und H5P soll durch Add-
www.it-administrator.de/
ons erweitert werden können. Mobile Apps sollen die Offline- trainings
Nutzung der Lerninhalte ermöglichen. Die Wiederverwert-
barkeit und die Interoperabilität mit anderen Lösungen stehen
Unser Angebot: Seminarpreise:
ebenfalls auf der To-do-Liste der Entwickler.
- Maximal 12 Teilnehmer Sonderpreis für
je Seminar Abonnenten des IT-Administrator:
Fazit
- Einen Rechner für jeden
Mit der Verfügbarkeit von H5P gibt es für Administratoren
Teilnehmer 1.490 Euro
keine Ausreden mehr, die Erstellung von digitalen Lerninhalten (inkl. 19% MwSt.)
- 3-tägiges Intensivseminar, das
für Mitarbeiter wäre zu kompliziert, zu zeitintensiv und zu
am ersten Tag um 10 Uhr für Nicht-Abonnenten:
teuer. Die quelloffene Umgebung zeigt, wie interaktives Lernen beginnt und am 3. Tag
in Zukunft aussehen kann. Selbst weniger versierte Anwender gegen 16 Uhr endet.
1.670 Euro (inkl. 19% MwSt.)
können nach kurzer Einarbeitungszeit interaktive Lerninhalte
generieren. Die wenigen Unzulänglichkeiten von H5P wie die Ihr Dozent: Agenda:
nicht durchgängige Lokalisierung verzeihen wir einer ansons-
- Grundsätzliche PKI-Alternativen & -Voraussetzungen
ten geglückten Lösung. (dr)
- Richtlinien und PKI (Zertifikatrichtlinie, Sicherheitsrichtlinie,
Zertifikatsverwendungserklärung)
Link-Codes - Entwurf einer Zertifizierungsstellenhierarchie
- Organisation der ausstellenden Zertifizierungsstellen
[1] H5P - Auswahl einer Architektur
I5P91 - Identifikation PKI-fähiger Anwendungen
[2] Erweiterungen für H5P - Bestimmung von Anforderungen (Sicherheit, Technik,
Betrieb, Externe, Active Directory)
I5P92
- Grundlagen PKI
- PKI-fähige Anwendungen (Code-Signing, Bereitstellung von
Smartcards, sichere E-Mail et cetera)
- Wifi mit 802.1x Authentifizierung
Link-Codes eingeben auf www.it-administrator.de Michael Buth - Windows Enterprise Zertifikatsdienste nutzen
Personenbezogene Daten für EU-DSVGO identifizieren
für Daten

Quelle: Artem Oleshko – 123RF


Nichts übersehen!
von Martin Kuppinger

Das neue EU-Datenschutzrecht bringt IT-Verantwortlichen


zahlreiche Neuerungen im Umgang mit personenbezoge-
nen Daten. Oft genannt werden die gestärkten Rechte der
Betroffenen, die hohen Bußgelder bei Verstößen und die
umfangreiche Dokumentationspflicht. Doch oft steht die
IT-Mannschaft vor einem scheinbar viel trivialeren Problem:
Wo sind eigentlich die Daten? Denn nur wer weiß, wo
personenbezogene Daten liegen, kann die regulatorischen
Anforderungen erfüllen.

ie EU-DSGVO (Datenschutz- Daten ("right to be forgotten"), aber auch plizit personenbezogene Daten verarbeiten
D Grundverordnung), die am 25. Auskunftsrechte, das Recht auf Datenmit- lassen, als durch die Fälle, in denen Daten
Mai wirksam wird, bringt viele Änderun- nahme oder das Recht, die Verarbeitung fließen, die indirekt geeignet sind, Perso-
gen mit sich. Das beginnt damit, dass sie der eigenen personenbezogenen Daten zu nen zu identifizieren. Aber auch durch die
als "Regulation" im Gegensatz zur "Di- beschränken. Die aus den Rechten der Be- Situationen, in denen solche Daten bei-
rective" das nationale Recht überschreibt troffenen entstehenden Pflichten für Un- spielsweise von Apps weitergegeben wer-
und nicht erst in nationale Gesetze um- ternehmen lassen sich nur umsetzen, wenn den: "Diese App möchte auf ihre Kontakte
gesetzt werden muss. Sie hat auch einen der IT-Verantwortliche weiß, wo welche zugreifen" ist in diesem Zusammenhang
viel größeren Wirkungsbereich als die personenbezogenen Daten liegen, und eine durchaus heikle Anforderung.
bisherigen Regulierungen, weil sie für alle wenn er – was sehr komplex sein kann –
Unternehmen gilt, die mit in der EU an- technisch in der Lage ist, beispielsweise die Ganz konkret wird die Anforderung im Zu-
sässigen Personen Geschäfte machen, wo- Verarbeitung der Daten einer bestimmten sammenhang mit den im Bild gezeigten
zu beispielsweise auch soziale Netzwerke Person zeitweilig zu unterbinden. Standardphasen der Datenschutz-Folgen-
oder Suchmaschinen zählen. abschätzung (DPIA, Data Protection Impact
Auch im Kontext der Regelungen zu Assessment), wie sie von der DSGVO für
Definition personen- Schutzverletzungen ("Data Breaches") ist besonders sensible personenbezogene Daten
bezogener Daten das Wissen darüber, welche personenbe- vorgeschrieben wird. Zu diesen Phasen ge-
Viele der Regelungen innerhalb der zogenen Daten eigentlich wo liegen, wich- hört explizit die Identifikation der Systeme,
DSGVO setzen dabei unmittelbar voraus, tig. Nur dann kann das Unternehmen ent- die personenbezogene Daten verarbeiten.
dass Unternehmen wissen, wo die perso- scheiden, ob eine solche Schutzverletzung
nenbezogenen Daten liegen. Der Begriff vorliegt und damit die in den Artikeln 33 Auch aus weiteren Artikeln der DSGVO
der personenbezogenen Daten ist in der und 34 beschriebenen Benachrichtigungs- lässt sich zumindest indirekt die Anfor-
DSGVO dabei sehr weit definiert und pflichten einerseits der Datenschutzauf- derung ableiten, genau zu wissen, welche
umfasst alle Daten, die sich auf identifi- sichtsbehörden und andererseits der Be- personenbezogenen Daten in welchen
zierte oder identifizierbare Personen be- troffenen erfolgen müssen. Systemen verarbeitet werden. So gibt die
ziehen, wobei Artikel 4 (1) der DSGVO neue Regulierung vor, dass geeignete
auch eine indirekte Identifikation über Ort der Verarbeitung kennen Schutzmaßnahmen für personenbezoge-
eine Kombination von Faktoren explizit Die DSGVO gibt aber auch vor, welche ne Daten auf dem Stand der Technik er-
als personenbezogene Daten definiert. Flüsse von personenbezogenen Daten wie griffen werden müssen. Schützen lässt
dokumentiert werden müssen, beispiels- sich aber nur Bekanntes.
Zu den Regelungen der DSGVO, die kei- weise hin zu externen Datenverarbeitern.
neswegs alle neu für den deutschen Rechts- Auch ein Datenfluss kann nur beschrieben Zusammenhänge zwischen
raum sind, zählen die in den Artikeln 12 werden, wenn er bekannt ist. Die Heraus- Personen: Sonderfall Familie
bis 22 definierten Rechte der Betroffenen. forderung entsteht hier nicht so sehr durch Nicht unmittelbar mit den gespeicherten
Dazu gehören das Recht auf Löschung von Situationen, in denen Unternehmen ex- Daten hängen die Regelungen der

44 Mai 2018 www.it-administrator.de


NEWSLETTER
jetzt abonnieren:

Die wichtigsten Schritte der Datenschutz-Folgenabschätzung laut den von der EU-Kommission
vorgeschlagenen Phasen für eine Datenschutz-Folgenabschätzung.

DSGVO zu den Zustimmungsregelungen Management), sondern um alle Systeme,


(Consent) von Kindern zusammen, die die zentral oder dezentral personenbezo-
in Artikel 8 definiert sind. Hier wird vom gene Daten speichern und verarbeiten –
Datenverarbeiter erwartet, dass er in ver- wobei der Begriff des "Processing" in der
nünftigem Rahmen versucht, die Zustim- DSGVO bereits die Speicherung umfasst.
mung der Eltern respektive Erziehungs-
berechtigten zu erhalten. Aus dieser weiten Definition entsteht eine
spezielle Herausforderung, da beispiels-
Das ändert nichts an der Herausforde- weise auch Excel-Dateien, in denen per-
rung zu wissen, wo personenbezogene sonenbezogene Daten liegen, die aus an-
Daten eines Betroffenen liegen. Allerdings deren Systemen für Analysezwecke
wird die Zuordnung zwischen den per- exportiert wurden, unter die Regelungen
sonenbezogenen Daten, dem Betroffenen der DSGVO fallen. Es ist noch vergleichs-
und denjenigen, die der Verarbeitung zu- weise einfach, einen Überblick über die
stimmen müssen respektive die in den zentralen Systeme zu gewinnen, die per-
Artikeln 12 bis 22 definierten Rechte ein- sonenbezogene Daten verarbeiten. Es ist
fordern können, noch einmal komplexer. aber ausgesprochen komplex, das für die Jede Woche aktuelle
gesamte Vielfalt der Systeme auf die Beine
In der Gesamtsicht auf die verschiedenen zu stellen. Hier gibt es keine einfachen News, freie Artikel
Regelungen bedeutet das, dass Sie sowohl technischen Lösungen. Unternehmen
wissen müssen, wo Daten liegen, als auch müssen sowohl technische als auch orga-
und Admin-Tipps
zu wem sie gehören und welche Zustim- nisatorische Maßnahmen ergreifen, um
mungen der Betroffene oder andere für diese Herausforderungen zu adressieren.
ihn zuständige Personen gegeben haben.
Ein erster Schritt dabei ist ein geeignetes
Die Daten finden IT-Assetmanagement, das die datenverar-
Dass ein Unternehmen wissen muss, wo beitenden (zentralen) Systeme vollständig
seine personenbezogenen Daten liegen, erfasst. Viele, insbesondere größere Unter-
von welchen Systemen sie genutzt werden nehmen, haben solche Werkzeuge bereits
und auch wer sie verarbeitet, ergibt sich im Einsatz. Wichtig dabei ist, dass hier auch
unmittelbar oder mittelbar aus einer Viel- gekennzeichnet wird, ob und welche Daten
zahl an Einzelregelungen innerhalb der die Systeme verarbeiten. Viele Firmen iden-
DSGVO. Dabei geht es keineswegs nur tifizieren heute zwar kritische Assets im
um die zentralen Systeme wie beispiels- Sinne der Auswirkungen auf das Business,
weise das CRM (Customer Relationship wie beispielsweise Handelssysteme in Ban-
www.admin-magazin.de/
newsletter
www.it-administrator.de
Praxis DSGVO: Personenbezogene Daten

ken, durch deren missbräuchliche Nutzung nur die unerlaubte Weitergabe beschrän- Einfluss auf die vertraglichen Regelungen
massive Schäden bis hin zur Gefährdung ken, sondern Unternehmen auch dabei haben, die mit Kunden getroffen werden.
des Unternehmens entstehen können. Sie unterstützen, die Quellen dieser Infor-
beziehen aber die nun durch die DSGVO mationen zu identifizieren. Werkzeuge Auch hier gibt es keinen einfachen Weg:
entstehenden Risiken noch nicht ein. Letzt- für die Informationsklassifizierung wer- Gerade bei der Vermischung von privater
lich bedeuten aber die Regelungen der den häufig in Verbindung mit DLP ein- und geschäftlicher Nutzung von mobilen
DSGVO im Ergebnis, dass auch die nicht gesetzt, weil die Klassifizierungen der Endgeräten ist aber besondere Vorsicht
den Vorgaben entsprechende Verarbeitung DLP bei der Filterung von Inhalten hel- geboten, weil im privaten Umfeld in der
personenbezogener Daten ein System zu fen. Eine Klassifizierung von Informatio- Tendenz deutlich mehr Apps genutzt wer-
einem "kritischen Asset" machen kann. Das nen als "personenbezogen", mit Unter- den, die in viel zu großem Umfang auf
IT-Assetmanagement sollte also konse- stützung sowohl durch automatisierte als Daten auf den Endgeräten zugreifen.
quent nicht nur erfassen, welche Systeme auch manuelle Verfahren, ist damit ein Auch für die Anbieter solcher Apps gilt
es gibt, sondern die Systeme, die personen- weiterer wichtiger Baustein auf dem Weg die DSGVO, sodass es hier sicher zu Ver-
bezogene Daten verarbeiten, entsprechend zur DSGVO-Compliance. änderungen bezüglich des Zugriffs und
identifizieren. der Zustimmungsregeln kommen wird.
Auch IAM (Identity and Access Manage- Dennoch ist in jedem Fall ein granulares
Neben der Erfassung von Systemen geht ment, Benutzer- und Berechtigungsma- Management von mobilen Endgeräten
es im nächsten Schritt auch darum zu do- nagement) oder, weiter definiert, IGA und der darauf installierten Apps wichtig,
kumentieren, wie Daten fließen. Daten, (Identity Governance and Administration) um hier potenziell entstehende Compli-
die sich lokal auf Clients laden lassen kön- hilft dabei, die Herausforderungen der ance-Risiken zu verhindern.
nen, beispielsweise Kontaktdaten oder DSGVO zu adressieren. Neben dem Schutz
Exporte in Excel-Tabellen, sollten konse- von Systemen mit personenbezogenen Da- Fazit
quent dokumentiert werden. Damit lassen ten (wer darf diese wie nutzen?) können Da sich die zweijährige Übergangsphase
sich dann auch die Vorgaben zur Doku- insbesondere Berechtigungsmanagement- bis zum Wirksamwerden der DSGVO dem
mentation des Datenflusses erfüllen. prozesse und Rezertifizierungsprozesse im Ende zuneigt, fehlt die Zeit, um Werkzeuge
Rahmen der Access Governance auch ge- wie eDiscovery-Tools noch vor dem 25.
Dennoch ist es nicht trivial herauszufin- nutzt werden, um Systeme mit personen- Mai 2018 auszurollen und so zum Einsatz
den, wo personenbezogene Daten liegen, bezogenen Daten zu identifizieren. zu bringen, dass ein vollständiges Bild der
insbesondere wenn es um die dezentrale personenbezogenen Daten im Unterneh-
Verarbeitung geht. Hier sollte sich der Blick Alle diese Maßnahmen sind keineswegs men entsteht. Wer bisher noch keine ge-
neben der manuellen, Tool-unterstützten rein technische Maßnahmen. Die Identi- eigneten Maßnahmen implementiert hat,
Dokumentation beispielsweise über das fikation von Systemen, Applikationen, muss daher einerseits die Schritte einleiten,
IT-Assetmanagement insbesondere auf die Apps, Datenbanken und Dateien, in denen um über das IT-Assetmanagement, über
eDiscovery-Werkzeuge richten, die es personenbezogene Daten verarbeitet wer- eDiscovery-Werkzeuge, über die Informa-
schon seit langer Zeit gibt. eDiscovery be- den können, ist immer eine Kombination tionsklassifizierung und über andere Lö-
zeichnet Lösungen, mit deren Hilfe sich von technischen und organisatorischen sungen die erforderliche Übersicht zu und
Dokumente mit spezifischem Inhalt in den Maßnahmen. Zu Letzteren gehört insbe- Kontrolle von personenbezogenen Daten
IT-Systemen identifizieren lassen. Der Fo- sondere auch die klare Definition von Re- zu erlangen. Andererseits müssen aber auch
kus der DSGVO ist zwar wesentlich breiter geln für die Verarbeitung personenbezo- die vorhandenen Werkzeuge wie beispiels-
als die Regulierungen beispielsweise im gener Daten und ihre Kommunikation an weise IAM genutzt werden, um so viele In-
Finanzsektor, für die solche Tools ur- die Mitarbeiter. Die Kollegen müssen ver- formationen wie möglich zu erlangen.
sprünglich eingesetzt wurden – der Ansatz stehen, was im Kontext der DSGVO er-
ist aber vergleichbar. laubt ist und was eben nicht. Nur dann Für diese Sofortmaßnahmen sind auch or-
können sie das eigene Nutzungsverhalten ganisatorische Maßnahmen von großer Be-
Weitere Lösungsansätze kommen aus den anpassen und auch erkennen, wenn es zu deutung. Sie lassen sich vergleichsweise
Bereichen der DLP (Data Leakage Pre- Schutzverletzungen kommt. schnell definieren und umsetzen, um zu-
vention) und der Informationsklassifizie- mindest die heikelsten Systeme und Nut-
rung. DLP-Anwendungen werden heute Herausforderung Mobilgeräte zungsformen identifizieren zu können,
vielfach eingesetzt, um das unerlaubte Eine spezielle Herausforderung stellen über die sich ohnehin (hoffentlich) schon
Versenden und Weitergeben von Infor- mobile Endgeräte dar, auf denen häufig im Blickfeld befindlichen zentralen Systeme
mationen in elektronischer Form zu ver- beispielsweise Kontaktdaten von Kunden wie beispielsweise das CRM hinaus. Der
hindern. Sie können das innerhalb ihrer gehalten werden. Unternehmen müssen Blick auf diesen Teilaspekt macht einmal
technischen Grenzen – beispielsweise der die Regeln für die Nutzung dieser End- mehr deutlich, wie umfassend die Auswir-
genauen Erkennung, um welche Infor- geräte und für Apps im Kontext der kungen der DSGVO sind – weit über die
mationen es sich handelt – auch für per- DSGVO überprüfen, um unerlaubte Da- Umsetzung veränderter Zustimmungsre-
sonenbezogene Daten tun und dabei nicht tenflüsse zu verhindern. Das kann auch gelungen für Benutzer hinaus. (jp)

46 Mai 2018 www.it-administrator.de


Hier werden Sie Windows-10-Insider!
Alles, was Sie über Windows 10 wissen sollten – in einem handlichen Buch!
Die erste Ausgabe der neuen Buchreihe IT-Administrator KOMPAKT bündelt
alle relevanten IT-Administrator-Artikel zum Einsatz des neuen Windows-OS
im Unternehmen: von der Einführung bis zur Sicherheit und allesamt von
unseren renommierten Fachautoren auf den neuesten Stand gebracht.

Sichern Sie sich


jetzt praxiserprobtes
Experten-Know-how zum
Betrieb von Windows 10
im Unternehmen.
Für Abonnenten zum
Vorzugspreis* von
nur Euro 12,90!

Ab sofort in unserem
Onlineshop erhältlich!
Abo- und Leserservice
IT-Administrator
vertriebsunion meynen Tel: 06123/9238-251
* Nichtabonnenten erhalten das Buch für Euro 14,90.
Herr Stephan Orgel Fax: 06123/9238-252 Die Preise verstehen sich inklusive 7% Mehrwertsteuer und Versandkosten im Inland.
D-65341 Eltville leserservice@it-administrator.de

shop.heinemann-verlag.de
Praxis Revisionssichere Datenlöschung

Revisionssichere Datenlöschung im Rahmen der DSGVO

Ausradiert
von Ruud de Wildt

Halten Unternehmen ihre Daten nicht ordnungsgemäß,


löschen diese nicht richtig oder können deren Verbleib
nicht lückenlos belegen, müssen sie mit horrenden
Bußgeldern rechnen. Bei regelmäßig wechselnden
Datenträgern im Unternehmen kann dies zur 3RF
ky – 12
Herausforderung werden. Professionelle domnic
Quelle:
Produkte zur Datenlöschung helfen,
sofern sie wichtige Kriterien erfüllen.

n vielen Unternehmen sind es troffene muss aktiv die Löschung bean- einzelnen Festplatten eines RAID-Sys-
I nicht die aktuell genutzten Fest- tragen. Nach Artikel 17 Absatz 1 DSGVO tems teilweise sensible und geschäftskri-
platten und Storage-Geräte, die eine Si- sind personenbezogene Daten künftig tische Daten wiederherzustellen. Gerade
cherheitslücke darstellen, sondern alte, unverzüglich zu löschen, wenn defekte Datenträger oder Systeme, die im
ausrangierte oder geleaste Platten. Wer- - die personenbezogenen Daten für die Rahmen von Leasing-Verträgen ausge-
den sie nicht korrekt gelöscht, sind sie Zwecke, für die sie erhoben oder auf tauscht werden, müssen unbedingt sicher
eine Bedrohung für das Unternehmen sonstige Weise verarbeitet wurden, gelöscht werden. Sonst lassen sich Infor-
und sollten deshalb weit oben auf der nicht mehr notwendig sind. mationen wie Unterschriftslisten, Kon-
Agenda von IT-Managern stehen. Doch - die betroffene Person ihre Einwilligung taktinformationen, E-Mails oder Fotos
viele Firmen haben weder einen Daten- widerruft und es an einer anderweiti- wiederherstellen. Davon leben Cyberkri-
schutzbeauftragten noch feste Vorgaben gen Rechtsgrundlage für die Verarbei- minelle und Wirtschaftsspione. Wer eine
für die Außerbetriebnahme von Daten- tung fehlt. professionelle Lösung für die Datenlö-
trägern. Eine Studie von techconsult be- - die betroffene Person Widerspruch ge- schung einsetzt, ist auf der sicheren Seite.
ziffert ihren Anteil auf 25 Prozent. Der gen die Verarbeitung einlegt und keine Denn Anbieter zertifizierter Datenlö-
Untersuchung zufolge wurden außerdem vorrangigen berechtigten Gründe für schungen übernehmen die Garantie da-
in jedem fünften Unternehmen bereits die Verarbeitung vorliegen. für, dass Daten tatsächlich gelöscht sind,
einmal defekte, ausrangierte Platten ge- - die personenbezogenen Daten unrecht- und belegen dies lückenlos.
stohlen. Befinden sich darauf personen- mäßig verarbeitet wurden.
bezogene Daten, drohen künftig Bußgel- - die Löschung der personenbezogenen Auswahlkriterien für
der von bis zu 20 Millionen Euro oder Daten zur Erfüllung einer rechtlichen Datenlöschungsdienste
bis zu vier Prozent des gesamten weltweit Verpflichtung nach dem Unionsrecht IT-Administratoren können auf eine Rei-
erzielten Jahresumsatzes im vorangegan- oder dem Recht der Mitgliedstaaten er- he etablierter Lösungen im Markt zurück-
genen Geschäftsjahr. forderlich ist. greifen. Vom Datenlöschungsservice bis
- die personenbezogenen Daten eines zur Cloudlösung bieten Hersteller eine
Recht auf Löschung Kindes in Bezug auf angebotene Diens- breite Palette an Möglichkeiten. Bei der
Der Schutz personenbezogener Daten ist te der Informationsgesellschaft, das Auswahl geeigneter Lösungen für Daten-
eine zentrale Anforderung der DSGVO. heißt Internet-Angebote, wie Medien, löschungen sollte der Administrator be-
Dazu gehören das Recht auf Auskunft Webshops oder Onlinespiele, erhoben sonders auf nachfolgende Punkte achten.
oder Berichtigung, Einschränkungen der wurden.
Verarbeitung, die Datenübertragbarkeit Das BSI gibt Richtlinien für zertifizierte
sowie das Recht auf Widerspruch. Artikel Dokumentationspflicht Datenlöschungen [1] vor, die Hersteller
17 der DSGVO spezifiziert dabei das Der IT-Verantwortliche muss revisions- von Datenlöschprodukten einhalten soll-
"Recht auf Löschung" personenbezogener sicher belegen können, dass die Daten ten. Es gibt jedoch nur wenige Anbieter,
Daten. Dieses Recht muss allerdings gel- sicher gelöscht wurden. Darin liegt die die den höchsten Standard erfüllen. Die
tend gemacht werden, das heißt, der Be- Krux: In Tests gelingt es durchaus, auf erste Wahl sollten Lösungen sein, die ent-

48 Mai 2018 www.it-administrator.de


Revisionssichere Datenlöschung Praxis

sprechend der Common Criteria for In- Schritt nachvollziehen und ohne großen Zwecke Berichte anfertigen. Entsprechend
formation Technology Security Evaluation Aufwand in Reportings präsentieren zu kann es sehr unterschiedliche Anforde-
(ISO/IEC 15408) geprüft sind. Weltweit können. Eine zentrale Managementplatt- rungen an Inhalt und Format geben.
gibt es nur drei Unternehmen, die nicht form ist die beste Möglichkeit, Informa-
nur einen Nachweis über die erfolgte Lö- tionen über Löschungen revisionssicher Um hier einen effizienten Workflow si-
schung erbringen, sondern deren gesam- und übersichtlich vorzuhalten. Sie spart cherzustellen, sollte eine geeignete Da-
ter Löschungsprozess zertifiziert ist. viel Zeit und liefert in verschiedenen For- tenlöschungslösung unbedingt über ein
maten Reports und Audit-Hardware-In- anpassbares Lösch-, Audit- und Hard-
Zusätzlich zur Zertifizierung ist es ratsam, formationen. Idealerweise kann sie die ware-Reporting verfügen, in dem alle
auf das Herkunftsland des Löschungsan- Ergebnisse in die Cloud speichern. Zu Hardware-Informationen individuell
bieters zu achten. Aufgrund der in Europa den bedeutenden Funktionen in diesem wählbar sind und der Anwender ganz
geltenden und weitgehend durchgesetzten Bereich gehören einfach definieren kann, was in das Re-
Datenschutzgesetze sind Unternehmen - die Generierung einzelner Löschbe- porting einfließen soll. Auf diese Weise
mit hiesigem Sitz vertrauenswürdiger als richte als PDF, XML, HTML und XLS. lassen sich Audit-Reports für die weitere
beispielsweise Anbieter aus den USA. - ein integrierter Überprüfungsmecha- Bearbeitung gestalten oder die Daten di-
nismus (hexviewer). Damit lässt sich rekt in ein Web-Portal oder ein ERP-Sys-
Revisionssichere die Löschung visuell überprüfen und tem importieren.
Datenlöschprotokolle Ergebnisse sind sofort ersichtlich.
Zertifizierte Datenlöschungen sollten au- - ein individuell einstellbarer Upload im Seriöse Datenlöschungsanbieter stehen
tomatisch ein Löschprotokoll auslösen, Managementtool (auf dem Speicher- ihren Kunden nicht zuletzt rund um die
das sicher übertragen, gespeichert und medium, manuell oder automatisch). Uhr auch für kurzfristigen Support zur
revisionssicher vorgehalten wird. Kommt Verfügung.
eine cloudbasierte Lösung zum Einsatz, Ein solches Managementtool kann auch
ist es außerdem wichtig, dass sich Lösch- User und Kunden verwalten. Das ermög- Fazit
protokolle und Zertifikate sicher aus der licht die transparente Postenzuordnung Die Rechte der Betroffenen lassen dem
Cloud übertragen und im Netzwerk ab- und Auftragsabwicklung. Gute Datenlö- IT-Administrator oder Datenschutzbe-
legen lassen. Hier ist wichtig, dass das IT- schungslösungen haben außerdem die auftragten wenig Spielraum. Er muss
Sicherheits-Verschlüsselungsprotokoll ei- Funktion automatischer Updates. erprobte, zertifizierte Lösungen für die
nen hohen Standard beim Zugriff auf die Verwaltung und Löschung von Daten
Cloud-Verwaltungsfunktion erfüllt. Als Offline-Datenlöschungen einsetzen. Die Zeiten, in denen Admi-
derzeit sicherster Standard gilt TLS v1.2. Unternehmen, die nicht über die Cloud nistratoren um jeden Euro Budget kämp-
löschen möchten, können sich auch für fen mussten, sollten damit endlich der
Wichtig ist, dass der Prozess der Daten- eine Software entscheiden, die mit den Vergangenheit angehören.
sicherheit während der Übertragung zer- gleichen Leistungsmerkmalen ausgestattet
tifiziert ist. Die Lösung muss tatsächlich auch im Offlinemodus funktioniert. Es Angesichts potenziell horrend hoher
für jeden Prozess zertifiziert sein, nicht gibt Hersteller, die vollautomatisierte Bußgelder dürfte sich für keinen Ent-
nur für die Löschung an sich oder das LAN/PXE-Lösungen zur Datenlöschung scheidungsträger mehr die Kosten-Nut-
Unternehmen selbst. anbieten. Wichtig ist, dass diese möglichst zen-Frage in Bezug auf die Datensicher-
viele Löschmethoden unterstützen, um heit und lückenlose Dokumentation
Die eingesetzte Datenlöschung sollte Anwendern viele Optionen zu bieten. stellen. Die verbleibende Zeit bis zum
möglichst viele Speichermedien unter- Professionelle Produkte unterstützen bis Inkrafttreten der neuen Verordnung
stützen. So werden dem IT-Administrator zu 13 Löschmethoden von Standard müssen Unternehmen und Organisatio-
keine unnötigen Steine in den Weg gelegt. Overwrite über NSA 130-2 bis hin zum nen, die noch nicht hinreichend vorbe-
Besonders wichtig sind zentrale Techno- Gutmann-Algorithmus. reitet sind, vielmehr dazu nutzen, mög-
logien wie SSD, IDE, SATA, SCSI, SAS, liche Lösungen zu evaluieren. (dr)
Fibre-Channel, USB und RAID – die Ausgebaute und erweiterte Datenträger
marktführenden Lösungen unterstützen sollten sich ebenso sicher löschen lassen. Ruud de Wildt ist CEO von Certus
alle Formate. Hierfür gibt es Datenlöschmaschinen, die Software. Das Augsburger Unternehmen
sowohl in der Cloud als auch offline lö- ist auf die zertifizierte und DSGVO-kon-
Einfache und zentrale schen. So lassen sich beispielsweise auch forme Löschung von Daten spezialisiert.
Verwaltung von Löschlizenzen in Hochsicherheitsgebäuden sicher zer-
Die Arbeit des Datenschutzbeauftragten tifizierte Daten löschen. Link-Codes
wird immer komplexer und empfindliche
Bußgelder hängen wie ein Damokles- Individuelles Reporting [1] BSI-Richtlinien
schwert über dem Unternehmen. Er muss Datenschutzbeauftragte oder IT-Verant- für Datenlöschungen
I5P21
deshalb in der Lage sein, jeden einzelnen wortliche müssen für unterschiedliche

Link-Codes eingeben auf www.it-administrator.de Mai 2018 49


Forwarding kryptografischer Keys

Her mit dem Schlüssel


von Thorsten Scherf

Kryptografische Schlüssel liegen zumeist lokal vor

Quelle: thodonal – 123RF


und stehen somit nicht zwingend auch auf entfernten
Rechnern bereit. Der Open-Source-Tipp in diesem Monat
zeigt, wie sich solche kryptografischen Schlüssel auch in
Cloudumgebungen einsetzen lassen.

ryptografische Schlüssel liegen üb- Mittels Agent-Forwarding lässt sich von Wird im Anschluss eine Verbindung zu
K licherweise auf der Festplatte, einer entfernten Rechnern auf diesen Agenten einem der Hosts aus der Domäne "exam-
Smart Card, einem Hardware Security Mo- zugreifen. Beim Aufbau einer Verbindung ple.com" aufgebaut, ist von diesen Hosts
dule (HSM) oder einem USB-Token. Ty- mittels SSH existiert hierfür die Option der Zugriff auf den privaten Schlüssel aus
pische Anwendungen, die auf solche kryp- "-A". Alternativ dazu lässt sich die Option dem lokalen GnuPG-Schlüsselbund mög-
tografischen Schlüssel zurückgreifen, sind natürlich auch in der SSH-Konfigurati- lich. Allerdings muss dazu auf dem Re-
etwa SSH, GnuPG oder Crypto-Frame- onsdatei hinterlegen – hier lautet die Op- mote-System der öffentliche Schlüssel be-
works wie OpenSSL, NSS oder GnuTLS. tion "ForwardAgent". Diese ist standard- reits Teil des Schlüsselbundes sein.
mäßig auf "no" eingestellt. Aktivieren Sie
Agent-Forwarding das Forwarding, sind nach dem Login auf PKCS#11-Forwarding
Werfen wir zuerst einen Blick auf SSH: einem Remote-Rechner nach dem Aufruf Weitaus weniger bekannt ist, dass auch
Möchte sich ein Benutzer mit Public-Key- von ssh-add -l sämtliche Schlüssel zu se- der Zugriff auf das Schlüsselmaterial von
Authentifizierung an einem entfernten hen, die der SSH-Agent kennt. Somit be- PKCS#11-Karten aus der Ferne gelingt.
Rechner anmelden, so muss darauf der steht nun also die Möglichkeit, eine wei- Hierbei kann es sich um klassische Smart
öffentliche Schlüssel des Benutzers ver- tere SSH-Verbindung mittels Public-Key- Cards oder aber auch um die etwas mo-
fügbar sein. Meistens wird dieser mit Hil- basierter Authentifizierung aufzubauen, derneren USB-Varianten, wie etwa die
fe der Anwendung ssh-copy-id zur Ver- indem einfach auf das Schlüssel-Material Yubikeys [1] oder Nitrokeys [2] handeln.
fügung gestellt. Der private Schlüssel des des SSH-Agents zurückgegriffen wird. Diese Karten werden über eine PKCS#11-
Benutzers verlässt den lokalen Rechner Schnittstelle angesprochen, für die es ver-
dabei natürlich nicht. Was passiert aber, Ähnlich verhält es sich mit dem Forwar- schiedene Treiber gibt. Die bekanntesten
wenn es von dem entfernten Rechner wei- ding eines GnuPG-Agent-Sockets, damit Vertreter sind hier Coolkey [3] und
tergehen soll? Beispielsweise weil dieser der Zugriff auf den privaten GnuPG- OpenSC [4].
Rechner nur eine Art Jump-Host darstellt, Schlüssel auch von einem Remote-Rech-
von dem aus dann ein Login auf weitere ner aus funktioniert. Hier müssen Sie al- Das folgende Beispiel zeigt auf Basis von
Systeme im Backend erfolgen kann. Dann lerdings den Socket, den Sie weiterleiten Fedora, wie der Zugriff auf ein Token einer
ist auf dem Remote-Rechner der Zugriff möchten, explizit in der SSH-Konfigura- Smart Card über einen weitergeleiteten
auf den privaten SSH-Schlüssel des Be- tionsdatei "~/.ssh/config" aufführen: PKCS#11-Socket auch von Remote-Syste-
nutzers notwendig. Hierfür dient "ssh- men aus gelingt. Wir gehen davon aus, dass
agent": Diesem Agenten lassen sich mittels Host *.example.com eine Smart Card bereits vorhanden ist und
ssh-add beliebige private SSH-Schlüssel RemoteForward /home/User/.gnupg/ auch schon provisioniert wurde. Als
übergeben, die dieser dann im Speicher S.gpg-agent /home/User/.gnupg/ PKCS#11-Treiber soll OpenSC zum Einsatz
vorhält. Ist ein Zugriff auf einen dieser S.gpg-agent.extra kommen. Das Lesegerät, das wir einsetzen,
Schlüssel notwendig, so lässt sich der ist ein ONNIKEY 3121. Auf den beteiligten
Agent über eine Socket-Datei ansprechen. Außerdem muss in der lokalen Datei Systemen sind zuerst einige Vorbereitungen
Der Name dieser Datei findet sich in der "~/.gnupg/gpg-agent.conf " der Name die- zu treffen, etwa die folgenden Pakete aus
Variablen SSH_AUTH_SOCK: ses "besonderen" Sockets aufgeführt sein: dem Fedora-Repository zu installieren:

# echo "$SSH_AUTH_SOCK" extra-socket /home/User/.gnupg/ # dnf install p11-kit p11-kit-server


/tmp/ssh-j3OzPSWatFUl/agent.2395 S.gpg-agent.extra gnutls-utils libp11

50 Mai 2018 www.it-administrator.de


Open-Source-Tipp Praxis

Nun zeigt "p11tool" aus dem gnutls-utils- # systemctl --user enable --now p11- les/p11-kit-client.module
Paket alle Tokens der Smart Card an: kit-client.service
Danach gelingt auch der Zugriff auf das
# p11tool --list-tokens Das Verzeichnis steht nun zur Verfügung: Token über OpenSSL und das Modul "en-
[...] gine_pkcs11". Für das NSS-Framework
Token 3: # ls -ld /run/user/1000/p11-kit müssen Sie das Modul "p11-kit-client.so"
URL:pkcs11:model=PKCS%2315;manu- drwxr-xr-x. 2 tscherf tscherf 60 mittels modutil einbinden:
facturer=EXAMPLE%20COM;serial=1010 Mar 5 11:28 /run/user/1000/p11-kit
4303570;token=Signature%20PIN%11%2 # modutil -dbdir /etc/pki/nssdb -add
233%20PKI%11Card%00 Schließlich lässt sich nun der eigentliche p11-kit-client -libfile /usr/
[...] PKCS#11-Socket weiterleiten. Im fol- lib64/pkcs11/p11-kit-client.so
genden Beispiel erfolgt dies einfach mit-
Ein solches Token lässt sich nun an ein tels ssh auf der Kommandozeile, aber Anschließend ist ein neuer Eintrag zwi-
beliebiges System "weiterreichen". Das natürlich besteht auch die Möglichkeit, schen den anderen Modulen zu sehen:
p11-kit-server-Paket stellt ein Modul mit einen entsprechenden Eintrag in der
dem Namen "p11-kit-client.so" zur Ver- SSH-Konfigurationsdatei "~/.ssh/config" # modutil -dbdir /etc/pki/nssdb
fügung, mit dessen Hilfe sich das Token vorzunehmen: -list
über diesen Socket ansprechen lässt. Um [...]
den Socket zu erzeugen, rufen Sie p11- # ssh -R /run/user/1000/p11- 3. p11-kit-client
kit zusammen mit der URL des Tokens kit/pkcs11:/run/user/1000/p11- library name:
und dem PKCS#11-Treiber auf: kit/pkcs11-21564 tscherf@tiffy /usr/lib64/pkcs11/p11-kit-
client.so
# p11-kit server --provider /usr/ Ist kein Fehler aufgetreten, sollte der So- uri: pkcs11:library-manufactu-
lib64/pkcs11/opensc-pkcs11.so cket auf dem Remote-System nun zur rer=OpenSC%20Project;library-des-
"pkcs11:model=PKCS%2315;manufactu- Verfügung stehen: cription=OpenSC%20smartcard%20fra-
rer=EXAMPLE%20COM;serial=101043035 mework;library-version=0.17
70;token=Signature%20PIN%11%2233%2 # ll /run/user/1000/p11-kit/ slots: 1 slot attached
0PKI%11Card%00" total 0 status: loaded
P11_KIT_SERVER_ADDRESS=unix:path=/ srw-------. 1 tscherf tscherf 0
run/user/1000/p11-kit/pkcs11-21564 Mar 5 11:36 pkcs11 Wer das weitergeleitete Token zur Au-
P11_KIT_SERVER_PID=21564 thentifizierung einer SSH-Verbindung be-
Und auch der Zugriff auf das Token der nötigt, kann das neue PKCS#11-Modul
Wie an der Variable "P11_KIT_SERVER_ Smart Card sollte nun möglich sein. Für einfach dem ssh-Kommando übergeben:
ADDRESS" zu sehen ist, liegt die Socket- den Zugriff wird das erwähnte Modul
Datei innerhalb des Runtime-Directory ei- "p11-kit-client.so" benötigt: # ssh -I /usr/lib64/pkcs11/p11-kit-
nes Benutzers ("/run/user//p11-kit"). Vor client.so tscherf@kermit
der Weiterleitung des Sockets müssen also # p11tool --provider /usr/lib64/pkcs11
erst einmal zwei Dinge sichergestellt sein: /p11-kit-client.so --list-tokens Fazit
- Das Runtime-Directory des Remote- Token 0: Sensibles Schlüsselmaterial sollte nicht
Users ist in Erfahrung zu bringen. URL:pkcs11:model=PKCS%2315;manu- zwischen Systemen kopiert werden. Wie
- Das Unterverzeichnis, das von p11-kit- facturer=EXAMPLE%20COM;serial=1010 der Artikel zeigt, gibt es wesentlich ele-
client.so verwendet wird, muss im bes- 4303570;token=Signature%20PIN%11%2 gantere und sicherere Methoden, um
ten Fall automatisch angelegt werden. 233%20PKI%11Card%00 trotzdem auf Schlüssel, beispielsweise ei-
[...] ner Smart Card, auch aus der Ferne zu-
Das Runtime-Directory eines Users auf ei- greifen zu können. (of)
nem Remote-System ermitteln Sie per: Damit der Zugriff auf das Token auch aus
den verschiedenen Crypto-Frameworks Link-Codes
# ssh tscherf@tiffy systemd-path heraus funktioniert, müssen diese natür-
[1] Yubikeys
user-runtime lich wissen, dass hierfür das Modul p11-
F6P48
/run/user/1000 kit-client.so notwendig ist. Für OpenSSL
[2] Nitrokeys
sind die folgenden Änderungen nötig:
H7PB2
Durch das Aktivieren des systemd-Ser-
[3] Coolkey
vices "p11-kit-client" auf dem Remote- # mkdir .config/pkcs11/modules/
I5PC3
System wird für den Benutzer das erfor- # echo “module:
[4] OpenSC Git Repository
derliche "p11-kit"-Verzeichnis innerhalb /usr/lib64/pkcs11/p11-kit-
I5PC4
des Runtime-Directory angelegt: client.so” >.config/pkcs11/modu-

Link-Codes eingeben auf www.it-administrator.de Mai 2018 51


Praxis Security-Tipp

Quelle: andreykuzmin – 123RF


OpenLDAP mit Let's Encrypt absichern

Zertifiziert
von Matthias Wübbeling

Vor allem ältere LDAP-Verzeichnisdienste sind noch nicht umfassend


mit TLS abgesichert, insbesondere wenn sie nur im Intranet ihre
Dienste anbieten. Der Security-Tipp in diesem Monat zeigt, wie Sie
Ihre OpenLDAP-Installation mit einem Let's-Encrypt-Zertifikat absichern.

ersion 1.0 von OpenLDAP wurde Let's-Encrypt-Zertifikat nutzen einen Ausweg, wenn Sie keinen internen
V 1998 veröffentlicht. Die kurz zuvor Für die Absicherung mit TLS möchten DNS betreiben. Dann können Sie näm-
als RFC 2251 vorgestellte Version 3 des wir ein Let's-Encrypt-Zertifikat verwen- lich einfach auf einem beliebigen Server
Lightweight Directory Access Protocol den. Der Servername des OpenLDAP- Ihrer Domain das Zertifikat erstellen
(LDAPv3) wurde dabei noch nicht berück- Servers könnte "ldap.it-administrator.de" und anschließend auf den OpenLDAP-
sichtigt. Schon kurz nach der Veröffentli- lauten. Damit die Let's-Encrypt-Server Server übertragen.
chung von OpenLDAP begann der Erfolg Ihre Domain auflösen können, müssen
der Implementierung. Viele Verzeichnis- Sie diese im öffentlichen DNS registrie- Wenn der Dienst direkt auf die Let's-En-
dienste, die heute in Unternehmen zur Au- ren, falls Sie den Dienst bisher nur im crypt-Zertifikate zugreifen soll, müssen
thentifikation von Personen oder für die internen DNS aufgelöst haben. Für die Sie dem OpenLDAP-Nutzer noch ent-
Zuordnung von Eigenschaften wie Hard- Authentifikation müssen Sie eine Chal-
ware zum Einsatz kommen, sind von die- lenge auf dem Webserver hinterlegen,
Listing 1: /tmp/tls.ldif
ser Zeit bis heute gewachsen. Neben der die unter Ihrer Domain erreichbar sein
Umsetzung von LDAPv3 und damit der muss. Die Let's-Encrypt-Software bringt dn: cn=config
changetype: modify
Einführung von TLS/SSL-Unterstützung glücklicherweise einen eingebauten Mi-
replace: olcTLSCACertificateFile
für Version 2.0 war die Einführung der ni-Webserver mit, der nur bei Bedarf, olcTLSCACertificateFile:
Konfigurationsdatenbank in Version 2.3 also während der Zertifikaterstellung, /etc/letsencrypt/live/<domain>/fullchain.pem
eine der maßgeblichen Änderungen in der aktiv ist. -
replace: olcTLSCertificateFile
Entwicklung. Seit 2005 lässt sich damit die olcTLSCertificateFile:
Konfiguration des Dienstes in dem Ver- Benötigen Sie Ihren OpenLDAP-Server /etc/letsencrypt/live/<domain>/cert.pem
zeichnis selbst speichern. Das erlaubt ins- ausschließlich intern, können Sie die Si- -
replace: olcTLSCertificateKeyFile
besondere die Anpassung von Konfigura- cherheit noch erhöhen. Wenn Sie einen olcTLSCertificateKeyFile:
tionsparametern über LDAP selbst. Das Webserver in Ihrer DMZ nutzen, registrie- /etc/letsencrypt/live/<domain>/privkey.pem
Bearbeiten von Textdateien zur Konfigu- ren Sie diesen als Ziel im externen DNS.
ration ist damit (fast) überflüssig gewor- Dieser könnte dann als Reverse-Proxy nur
Listing 2: /etc/openldap/slapd.conf
den. Nur noch ältere Erweiterungen benö- die Anfragen für das Unterverzeichnis
tigen die Konfiguration mittels Textdateien. "/.well-known" an den LDAP-Server in- # Die komplette Zertifikatkette in einer PEM-
Datei
Bei Anpassungen der Konfigurationsda- nerhalb Ihres geschützten Netzbereichs
TLSCACertificateFile
tenbank werden durchgeführte Änderun- weiterleiten. Alle anderen Anfragen an die- /etc/letsencrypt/live/domain/fullchain.pem
gen unmittelbar aktiv, Diensteneustarts se Domain routen Sie einfach entsprechend
oder spezielle Updatekommandos sind da- um. Das klappt natürlich nur dann, wenn # Das Server-Zertifikat in einer PEM-Datei
TLSCertificateFile /etc/letsencrypt/live/do-
mit ebenfalls überflüssig. Sie einen eigenen internen DNS-Server main/cert.pem
verwenden, der auf den richtigen LDAP-
Diesem Artikel liegt OpenLDAP in der Server zeigt. # Der private Schlüssel in einer PEM-Datei
TLSCertificateKeyFile
aktuellen Version 2.4.45 zugrunde. Die
/etc/letsencrypt/live/domain/privkey.pem
im Juni 2017 veröffentlichte Version be- Das Ausstellen von Wildcard-Zertifikaten
hebt dabei noch einige Probleme bei der durch Let's Encrypt wird zum Zeitpunkt
Replizierung über GnuTLS oder der Ver- der Artikelerstellung bereits getestet und Link-Codes
wendung von OpenSSL in Version 1.1. funktioniert vermutlich bereits im Pro-
[1] Let's Encrypt
Falls nötig, sollten Sie also die aktuelle duktivbetrieb, wenn Sie diesen Beitrag I5PD1
Version installieren. lesen. Wildcard-Zertifikate bieten Ihnen

52 Mai 2018 Link-Codes eingeben auf www.it-administrator.de


Security-Tipp Praxis

sprechende Berechtigungen zuweisen. folgende Kommando übernimmt die Argumentliste wählt TLS als bevorzugte
Passen Sie dafür die ACL der Zertifikat- Änderungen: Methode, das zweite "Z" sorgt dafür, dass
dateien an. Für den Benutzer "openldap" ldapsearch TLS erzwingt und im Fehlerfall
geht das wie in folgendem Kommando: # ldapmodify -Y EXTERNAL -H lda- keine Verbindung aufbaut.
pi:/// -f /tmp/tls.ldif
# setfacl -m "u:openldap:r" Neustart nach
/etc/letsencrypt/live/domain/{full Sollten Sie dem root-Benutzer Ihres Sys- Zertifikaterneuerung
chain,cert,privkey}.pem tems keine Rechte im Verzeichnis zuge- Nutzen Sie Konfigurationsdateien für
wiesen haben, verwenden Sie ldapmodify OpenLDAP, sollten Sie in Ihrem Cronjob
In diesem und allen folgenden Befehlen mit dem entsprechenden "binddn" und ge- für Let's Encrypt noch ein Post-Hook-
tragen Sie statt "domain" einfach die ben das Passwort im Prompt ein. Die Ar- Kommando mitgeben, der slapd nach er-
Hauptdomain Ihres Zertifikats ein. gumente lauten dann statt "-Y EXTERNAL" folgreicher Erneuerung der Zertifikate di-
entsprechend "-D binddn" und "-W". Nut- rekt neu startet: certbot renew --quiet
Konfiguration zen Sie für Ihre Installation weiterhin Text- --post-hook "/etc/init.d/slapd restart".
Nutzen Sie das Konfigurationsverzeich- dateien für die Konfiguration, können Sie Wenn Sie hingegen einen Webserver in der
nis von OpenLDAP, können Sie einfach TLS mit kleinen Änderungen in der Datei DMZ für die Zertifikaterstellung nutzen,
in der laufenden Instanz die Pfade für "slapd.conf " konfigurieren, wie in Listing sollten Sie einen Cronjob auf dem LDAP-
das Zertifikat hinterlegen. Dafür legen 2 dargestellt. Nun müssen Sie den Dienst Server anlegen, der regelmäßig die aktuel-
wir zunächst die Konfiguration im "slapd" noch neu starten. Das geschieht bei- len Zertifikatdaten aus der DMZ lädt.
LDAP Data Interchange Format – LDIF spielsweise auf einem OpenRC-System mit
(Listing 1) ab. Wenden Sie diese Ände- /etc/init.d/slapd restart. Fazit
rungen nun auf Ihrem System an. Dafür Mit Let's Encrypt lassen sich nicht nur
nutzen Sie ldapmodify mit externer Verwenden Sie nun ldapsearch mit dem Webserver, sondern auch Verzeichnisdiens-
SASL-Authentifikation. Gemeinsam mit Argument "-ZZ", um die TLS-Verbindung te wie OpenLDAP schützen. Dieser Secu-
ldapi wird dabei der OpenLDAP-Socket zu testen. Wird die Verbindung korrekt rity-Tipp demonstrierte die notwendigen
verwendet und auf die Betriebssystem- aufgebaut, haben Sie die Zertifikate er- Schritte, um Ihren Verzeichnisdienst damit
Authentifikation zurückgegriffen. Das folgreich eingebunden. Das erste "Z" der erfolgreich zu konfigurieren. (dr)

Praxis-Know-how für Admins:


Das IT-Administrator Sonderheft II/2017

Erfahren Sie auf 180 Seiten


alles rund um das Thema:

Troubleshooting
Microsoft-Server
Windows-, Exchange- und SQL-Server-
Probleme erkennen und beheben
Bestellen Sie jetzt zum Abonnenten-
Vorzugspreis* von nur 24,90 Euro!

Abo- und Leserservice


* IT-Administrator Abonnenten erhalten das Sonderheft II/2017 für € 24,90. Nichtabonnenten zahlen € 29,90.
IT-Administrator Alle Preise verstehen sich inklusive Versandkosten und Mehrwertsteuer.
vertriebsunion meynen Tel: 06123/9238-251
Herr Stephan Orgel
D-65341 Eltville
Fax: 06123/9238-252
leserservice@it-administrator.de shop.heinemann-verlag.de
Praxis T i p p s , Tr i c k s & To o l s

Tipps, Tricks und Tools


In jeder Ausgabe präsentiert Ihnen IT-Administrator
Tipps, Tricks und Tools zu den aktuellen Betriebssystemen
und Produkten, die in vielen Unternehmen
im Einsatz sind. Wenn Sie einen tollen Tipp
auf Lager haben, zögern Sie nicht und
schicken Sie ihn per E-Mail an
tipps@it-administrator.de.
Tipps & Tricks ohne Gewähr

"bcdedit.exe". Um Änderungen vorzuneh- Client können Sie entweder manuell, über


men, müssen Sie die Befehlszeile mit Ad- den System Center Configuration Mana-
ministratorrechten starten. Geben Sie ein- ger (SCCM) oder mit Gruppenrichtlinien
fach bcdedit ein, sehen Sie die Daten des installieren. Windows 10 wird ab MBAM
Sind auf einem Rechner mehrere Betriebssysteme Boot-Managers, welche Betriebssysteme 2.5 SP1 unterstützt.
installiert, zum Beispiel Linux oder ältere Win- integriert sind und welches System gerade Der Client ist der zentrale Bereich von
dows-Versionen, ist die Startpartition oft nicht gestartet ist. MBAM. Er setzt auf den Clientcomputern
als aktiv gekennzeichnet. Das ist aber notwendig, Um die Beschreibung eines Betriebssys- die Einstellungen um, die Sie in den
damit Windows 10 booten kann. Können Sie kurz tems im Boot-Manager zu ändern, booten Gruppenrichtlinien für MBAM festgelegt
schildern, wie wir in der Befehlszeile die Konfi- Sie am besten das entsprechende Betriebs- haben. Administratoren können Einstel-
guration entsprechend überprüfen oder reparie- system. Geben Sie dann den Befehl bcdedit lungen ändern oder die Verschlüsselung
ren können? /set {current} description "Beliebige Beschrei- einschränken. Ebenfalls dabei ist eine
Über die Befehlszeile starten Sie zunächst bung" ein. Starten Sie das System beim Webkonsole, mit der Anwender ihre ei-
diskpart. Mit select disk 0 wählen Sie dann nächsten Mal, sehen Sie die neue Bezeich- genen Kennwörter ändern oder einen
die erste Festplatte im System aus. Nun nung. Wollen Sie das Standardbetriebssys- Wiederherstellungsvorgang starten kön-
nutzen Sie select partition 1 für die erste tem des Bootvorgangs ändern, starten Sie nen, wenn der eigene verschlüsselte Com-
Partition der ersten Festplatte. Der nächs- das System und tippen Sie msconfig im puter nicht mehr startet. MBAM unter-
te Befehl ist active. Das funktioniert aber Suchfeld des Startmenüs ein. Wechseln Sie stützt zu diesem Zweck ein rollenbasiertes
nur, wenn es sich bei der Festplatte um auf die Registerkarte "Start", wo Sie das Verwaltungsmodell.
eine MBR-Festplatte handelt, nicht aber Standardbetriebssystem anpassen. (ln) MBAM kann dazu selbst Wiederher-
bei GPT-Festplatten. Startet der Bootma- stellungsschlüssel für BitLocker erstellen
nager noch immer nicht, nutzen Sie den BitLocker stellt unter Windows 10 einen interes- und zuweisen. Die Daten kann das Tool
Befehl bcdboot C:\Windows /s C: /f BIOS. santen Schutz für unsere Rechner bereit. Aller- in SQL-Datenbanken speichern. Ohne
Erscheint ein Fehler, geben Sie bcdboot dings finden wir die zentrale Verwaltung der Ver- MBAM liegen die Daten direkt in der
D:\Windows /s C: /f BIOS ein. Weitere Be- schlüsselung nicht gerade ideal gelöst. Microsoft Active-Directory-Datenbank. Anwender
fehle, die den Boot-Manager reparieren, bietet ja über das Desktop Optimization Pack oder Supportmitarbeiter benötigen also
sind bootsect.exe /nt60 ALL /force und für Unternehmen mit Wartungsvertrag das Tool mit MBAM keinen Zugriff auf die AD-
bootsect.exe /nt60 C: /mbr /force. "Microsoft BitLocker Administration and Moni- Datenbank mehr, wenn Daten wieder-
Gefällt Ihnen die neue Anzeige des toring" (MBAM) an. Können Sie hier eine kurze hergestellt werden sollen. Bestandteil des
Boot-Managers in Windows 10 nicht, kön- Einführung geben? MBAM-Servers sind Vorlagen für Grup-
nen Sie auch die ältere Version von Mit MBAM verwalten Sie zentral die mit penrichtlinien, mit denen Sie MBAM-
Windows 7 aktivieren: bcdedit /set {default} BitLocker verschlüsselten Rechner im Clients verwalten. Haben Sie den Server
bootmenupolicy legacy. Diesen Befehl füh- Netzwerk und erstellen Berichte zur Nut- installiert, rufen Sie die Webkonsole auf,
ren Sie am besten nach dem Start von zung. Bestandteil des MBAM ist ein indem Sie den Namen des Servers und
Windows 10 in einer Eingabeaufforderung MBAM-Server, den Sie über die MDOP- den Port eingeben.
mit administrativen Rechten durch. Mit CD installieren. Die Clients verbinden Nach der Installation des MBAM-Ser-
bcdedit /set {default} bootmenupolicy stan- sich mit dem Server zur zentralen Ver- vers müssen Sie noch die Benutzer in die
dard nutzen Sie wieder das Standardaus- waltung von BitLocker und dem Erstellen entsprechenden lokalen Gruppen auf dem
sehen von Windows 10. Für die Verwal- von Berichten oder der Wiederherstellung Server aufnehmen, um ihnen Zugriff auf
tung des Bootmanagers unter Windows von Daten. Dazu ist ein Agent auf den das Webportal zu gewähren. Die Grup-
10 verwenden Sie das Befehlszeilentool verwalteten Clients notwendig. Den penrichtlinieneinstellungen von MBAM

54 Mai 2018 www.it-administrator.de


T i p p s , Tr i c k s & To o l s Praxis

finden Sie über "Computerkonfiguration/ den Microsoft System Center Configu- Werfen Sie zunächst einen Blick auf die
Richtlinien / Administrative Vorlagen / ration Manager (SCCM) oder Mobile- Daten, die die API-Schnittstelle bereitstellt.
Windows-Komponenten / MDOP MBAM Device-Management-Software. In jedes In unserem Beispiel öffnen Sie dazu die
(BitLocker Management)". Damit diese Amazon-WorkSpaces-Verzeichnis können API-URL "http://api.coindesk.com/
auch auf den Domänencontrollern zur Sie bis zu zwei Stammzertifikate jeweils v1/bpi/currentprice.json" im Browser und
Verfügung stehen, installieren Sie auf die- für macOS- und Windows-Geräte impor- machen Sie sich mit den angebotenen Da-
sen nur die Komponente "Policy Template tieren. Wenn zwei Stammzertifikate im- ten vertraut. Als Nächstes erstellen Sie ein
von MBAM". (ln) portiert sind, zeigt WorkSpaces beide Template in PRTG. Darin legen Sie fest,
Stammzertifikate auf dem Clientgerät an. welche Informationen über die API aus-
Es nutzt das erste Zertifikat, das in einem gelesen und in PRTG angezeigt werden
der Stammzertifikate als Nächstes kommt. sollen. Für unser Beispiel nutzen Sie am
(AWS/ln) besten das unter [Link-Code: I5PE1] zum
Download erhältliche Template mit diver-
sen Informationen: Während der Descrip-
Monitoring tion-Bereich die optionale Erläuterung der
Wir planen in unserem Unternehmen, Amazon Wir möchten gerne Informationen Vorlage enthält, sind im Result-Bereich
WorkSpaces einzusetzen, möchten aber aus Si- einer Internet-Seite mittels der API- die notwendigen Kanäle und Metriken
cherheitsgründen nicht, dass Mitarbeiter sich Schnittstelle abrufen und die gewonnenen Werte enthalten. In unserem Beispiel gibt es drei
mit einem beliebigen Gerät anmelden. Wie stellen in PRTG überwachen. Einige der IT-Kollegen im Kanäle für die verschiedenen Währungen
wir das sicher? Büro beschäftigen sich momentan viel mit dem (Dollar, Pfund, Euro), der Sensortext des
In der Voreinstellung haben sämtliche Thema Bitcoin. Es wäre deshalb interessant, stets Kanals ist der jeweilige Kurswert. Die er-
Devices, die von der Desktop-as-a-Ser- den aktuellen Bitcoin-Kurs abzufragen und den stellte Vorlage speichern Sie nun in PRTG
vice-Lösung unterstützt werden, auf diese Kursverlauf in PRTG anzuzeigen. Wie können wir unter folgendem Pfad: "C:\Program Files
Zugriff. Mitarbeiter können sich also per dafür idealerweise vorgehen? (x86)\PRTG Network Monitor\Custom
Benutzername und Passwort mit einem Sofern die abzufragende Internetseite eine Sensors\rest\". Im nun noch folgenden
Gerät ihrer Wahl (Windows, macOS, iOS, auf JSON beziehungsweise XML basie- Schritt führen Sie die gewonnenen Infor-
Android) einloggen. Es ist jedoch mög- rende RestAPI anbietet, lässt sich die An- mationen zusammen. Richten Sie dazu in
lich, den Zugriff auf einzelne ausgewählte forderung in PRTG mit wenig Aufwand PRTG ein neues Gerät mit dem Namen
Geräte (Trusted Devices/Managed Devi- realisieren. PRTG stellt dafür den Rest- "api.coindesk.com" ein und fügen dort ei-
ces) zu beschränken. Das funktioniert Custom-(BETA)-Sensor zur Verfügung. nen REST-Custom-Sensor hinzu. Den
über digitale Zertifikate. Sie bieten zu- Dieser funktioniert mit nahezu allen End- Sensor konfigurieren Sie folgendermaßen:
sätzliche Sicherheit in Form eines digita- points, die eine JSON- oder eben XML- Timeout: 10s
len Identitätsnachweises, der für einen Ausgabe zur Verfügung stellen. Um den Rest Query:
bestimmten Zeitraum gilt. Dabei kom- aktuellen Bitcoin-Kurs abzufragen, erläu- /v1/bpi/currentprice.json
men im Prinzip zwei Arten von Zertifi- tern wir in den folgenden Schritten die Scanning Interval: 10 Minutes
katen zum Einsatz: Stammzertifikate, Einrichtung einer Kommunikation mit REST Configuration: coindesk.bit-
auch Root-Zertifikate genannt, werden der API-Schnittstelle von coindesk.com. coin.priceindex.template
von einer oberen Zertifizierungsstelle
(Root-CA) ausgestellt und dienen dazu,
die Gültigkeit aller untergeordneten Zer-
tifikate zu validieren. Dazu gehören die
Clientzertifikate, die an ein einzelnes Ge-
rät gebunden sind. Nur Rechnern mit
dem passenden Zertifikat wird der Zugriff
auf die WorkSpaces gewährt.
Über digitale Zertifikate können Sie
den Zugriff auf WorkSpaces von macOS-
und Microsoft-Windows-Clientgeräten
blockieren oder freigeben. Dazu laden Sie
Ihre Stammzertifikate in die Amazon-
WorkSpaces-Managementkonsole hoch
und verteilen Ihre Clientzertifikate auf
diejenigen macOS- und Windows-Geräte,
die Sie als vertrauenswürdig einstufen.
Zum Verteilen Ihrer Clientzertifikate ver- Über die richtige API überwachen Sie mit PRTG nicht nur Ihre Netzwerkumgebung,
wenden Sie Ihre bevorzugte Lösung wie sondern auch den aktuellen Bitcoin-Kurs.

www.it-administrator.de Mai 2018 55


Praxis T i p p s , Tr i c k s & To o l s

Ab jetzt kontaktiert der neu eingerich- Durch das Anwenden des Registrie- Datenspeichers, meist dürfte dies eine
tete Sensor im Abstand von zehn Minuten rungsschlüssels wird NvFBC nur während SSD sein. Nehmen Sie die SSD aus der
die API von coindesk.com, holt die in un- der Anmeldung deaktiviert, wodurch die Halterung. Halten Sie nun die Steher mit
serem Template definierten Daten ab und Nvidia-Treiber nach erfolgter Anmeldung einer Zange fest und drehen Sie die untere
zeigt sie in PRTG an. Im nächsten Schritt trotzdem performant in die Sitzung ein- Schraube heraus, damit Sie die Schiene
können Sie optional die Werte in PRTG gebunden werden, ohne den besagten bewegen können. Schieben Sie die Schie-
auf einer Map visualisieren, Grenzwerte Fehler zu verursachen. (Citrix/ln) ne nun etwas zur Seite, damit sich der
im Sensor hinterlegen oder Benachrich- SIM-Kartenslot öffnen lässt. Setzen Sie
tigungen konfigurieren. Dieses Beispiel die SIM-Karte ein und bauen Sie den LES
lässt sich auf viele weitere Anwendungs- Hardware Network danach wieder zusammen.
fälle übertragen. Sobald eine Internetseite Wir wollen den lüfterlosen Mini- (Thomas-Krenn/ln)
eine RestAPI-Schnittstelle bereitstellt, kön- Server "LES network" von Tho- Viele weitere Tipps und
nen Sie wie eben beschrieben vorgehen. mas-Krenn als SMS-Gateway für das Monitoring Tricks zum Server-Manage-
Ob Fahrplanauskunft, Börsenkurse, Wet- unserer IT-Infrastruktur nutzen. Als wir den Rech- ment, Virtualisierung und Linux finden Sie
teraufzeichnungen oder Preisbeobachtun- ner aufgeschraubt haben, um die SIM-Karte in im Thomas-Krenn-Wiki unter www.tho-
gen – Ihrer Fantasie sind hier kaum Gren- das LTE-Modul einzusetzen, konnten wir den Slot mas-krenn.com/de/wiki/Hauptseite.
zen gesetzt. Neben der PRTG-Vorlage zum aber nicht finden. Können Sie uns hier mit einer
Download finden Sie unter dem erwähn- Anleitung weiterhelfen?
ten Link weitere Informationen zum ge- Leider ist der Slot für die SIM-Karte nicht Tools
schilderten Anwendungsfall.(Paessler/ln) auf den ersten Blick ersichtlich, sobald Die Sicherheitslücken Spectre und
Viele weitere Tipps und eine Festplatte verbaut ist, da er darunter Meltdown haben IT-Verantwort-
Tricks rund um das Thema sitzt. Gehen Sie deshalb folgendermaßen liche vor eine schwierige Wahl gestellt: Entweder
Monitoring mit PRTG fin- vor: Nachdem Sie den LES ausgepackt sie entscheiden sich für einen sofortigen Patch
den Sie Knowledge Base von Paessler un- haben, entfernen Sie alle Portabdeckun- und riskieren dabei mögliche systemweite Pro-
ter https://kb.paessler.com. gen und legen diese bei Seite. Entfernen bleme oder aber sie testen die Patches zunächst
Sie nun die Schrauben der beiden seitli- auf einem oder mehreren für ihr Unternehmen
chen Blenden. Drehen Sie die Schrauben typischen Systemen, setzen sich dabei aber der
der Unterseite heraus und entfernen die Gefahr von Angriffen über eben jene Sicher-
Abdeckung. Eine Seite der Frontblenden heitslücke aus. Zudem ist aktuell noch unklar,
wird durch den Stromanschluss festge- inwieweit die Patches überhaupt umfassenden
halten – entfernen Sie deshalb die Schrau- Schutz bieten. Viele Unternehmen haben diese
Benutzer bekommen in unserer Citrix-Umgebung be des Stromanschlusses mithilfe eines Entscheidung bis heute nicht getroffen, weshalb
nur einen schwarzen Bildschirm angezeigt, wenn Schraubenschlüssels. Trennen Sie nun die viele Endgeräte den Hackern noch immer aus-
sie sich in einen HDX-3D-Pro-Desktop einloggen. Batterie von ihrem Anschluss. Entfernen geliefert sind. Dies gilt insbesondere für Linux-
Wenn Sie die Größe oder den Fokus innerhalb Sie jetzt alle vier Schrauben des verbauten basierte Systeme, für die bisher noch überhaupt
des Desktops ändern (etwa Vollbild/Fenstermo-
dus), wird das Desktopbild wiederhergestellt.
Dies geschieht, wenn die Richtlinie von Microsoft
für "Nachrichtentext für Benutzer, die versuchen,
sich anzumelden" aktiviert ist. Wo liegt denn
hier das Problem?
Das von Ihnen geschilderte Problem ist
leider bekannt, wenn HDX-3D-Pro die
Nvidia-API NvFBC nutzt sowie der An-
meldebanner aktiviert ist. Dann kommt
es zu einer Abweichung in der Monitor-
anzeige, was wiederum in einem schwar-
zen Bildschirm resultiert. Aktualisieren
Sie als Lösung die VDA-Software auf
7.15.1000 oder höher und verwenden Sie
den folgenden Registrierungsschlüssel:
PATH: HKEY_LOCAL_MACHINE\SOFTWARE\
Citrix\HDX3D\BitmapRemotingConfig
NAME: HKLM_DisableMontereyFBCOnInit
VALUE: DWORD Um an den SIM-Karten-Slot des LES Network zu kommen, müssen Sie zunächst den
DATA: 1 eingebauten Datenträger vollständig entfernen.

56 Mai 2018 Link-Codes eingeben auf www.it-administrator.de


T i p p s , Tr i c k s & To o l s Praxis

keine umfassende Schutzlösung ver- mit IPv6 ist dies jedoch zum
öffentlicht wurde. Scheitern verurteilt, weil ein
Hier hilft das kostenlose "Black- Scanvorgang zu viel Zeit erfor-
smith" von SentinelOne. Das dert. NeDi geht deshalb bei der
Tool identifiziert Spectre- und Erfassung aller Komponenten
Meltdown-Exploits auf allen Li- im Netz wesentlich intelligenter
nux-Systemen und ermöglicht vor: Es fragt einige wenige so-
es Linux-Administratoren, An- genannte "Seed Devices" nach
griffe zu stoppen, bevor sie im weiteren Geräten, die diese ken-
System Fuß fassen. Dabei nutzt nen. Per SNMP-Abfragen er-
Blacksmith die Funktion der fährt NeDi beispielsweise vom
Leistungszählung moderner Default-Router alle Nachbarn,
Chipsätze, um Prozesse auf bös- die dieser kennt. Über dieses
artiges Caching-Verhalten hin und ähnliche Verfahren erhält
zu überwachen. Sowohl die NeDi Informationen zu den Ge-
Meltdown- als auch die Spect- räten, arbeitet diese hinsichtlich
re-Schwachstellen erzeugen die- ihrer Nachbarn ab und ermittelt
se Muster während des Exploits, so die Topologie. Nebenbei sam-
und Blacksmith verwendet den melt das Tool zusätzliche Infor-
eingebauten Linux-Mechanis- mationen wie Systemnamen
mus "perf events", um Informa- WhySoSlow findet heraus, was mit der Leistung von und -klassen, Betriebssystem in-
Windows-Rechnern nicht stimmt.
tionen über die laufenden Pro- klusive Versionsnummer, CPU-
zesse zu sammeln. Für ältere Prozessoren ist. Dazu bietet WhySoSlow in seiner Last, Speicherauslastung, Temperatur,
und virtuelle Umgebungen identifiziert "Tools"-Sektion auch gleich passende Hel- Durchsatz und Fehler auf den einzelnen
Blacksmith einen bestimmten Typ von ferlein. Darüber hinaus ist eine dauerhafte Schnittstellen und natürlich alle ange-
Seitenfehlern, der auf Meltdown-Exploit- Überwachung des lokalen Systems mit schlossenen Hosts in den konfigurierten
Versuche hinweist. (jp) WhySoSlow möglich. Dazu lassen sich VLANs. Nach einem Durchlauf hat NeDi
Link-Code: I5PE7 Schwellenwerte etwa für die CPU-Tem- alle notwendigen Informationen für eine
peratur hinterlegen, bei deren Überschrei- Abbildung des kompletten Netzes und
Egal welche Windows-Version zum Einsatz tung eine Alarmierung erfolgt. Als inte- kann Auskunft darüber geben, an wel-
kommt, ein Verhalten zeigen die meisten Rechner ressante Ergänzung hat das Tool ein chem Switch und Port ein bestimmter
mit diesem Betriebssystem: Sie werden mit der Feature namens "AntiFreeze" an Bord. Da- Rechner angeschlossen oder wie ein
Zeit langsamer. Nicht vollständig deinstallierte bei handelt es sich um einen Notfall-Task- Switch an den Core angebunden ist. Das
Software, mehr Programme im Autostart, Pro- manager, der sich selbst dann noch starten Tool kennt alle Verbindungen zwischen
bleme mit der Hardware – die Ursachen dieses lässt, wenn das System eigentlich vollstän- den Geräten. Es beurteilt alle gesammelten
Phänomens sind Legion. Genauso wie die Tools, dig eingefroren ist. WhySoSlow unterstützt Daten bei jedem Durchlauf und gibt In-
die dem Anwender helfen sollen, sein System Windows in 32- und 64-Bit-Varianten ab formationen, Warnungen oder Alarme
wieder flott zu machen. Version 7 beziehungsweise Server 2012; aus, falls es etwas Ungewöhnliches gefun-
Doch während die meisten dieser Werk- hier allerdings nach Herstellerangaben den hat.
zeuge mehr oder weniger zahlreiche Pa- noch nicht Windows Server 2016. (jp) Über die Oberfläche des Tools gelangt
rameter isoliert betrachten, versucht sich Link-Code: I4PE8 der Admin an eine grafisch aufbereitete
das kostenlose "WhySoSlow" in einer ganz- Ausgabe dieser Daten. Zu jeder automa-
heitlichen Analyse der Performancepro- In großen Netzen fällt es oft schwer, den Über- tisch gefundenen Schnittstelle lässt sich
bleme. Dazu untersucht WhySoSlow die blick zu behalten. Aber auch Administratoren eine Grafik für Durchsatz, Fehler, ver-
CPU-Temperatur und -Taktung, die lau- kleiner Infrastrukturen wünschen sich ein Werk- worfene Pakete und Broadcasts abrufen.
fenden Prozesse, RAM-Nutzung, Frag- zeug, das automatisch das Netz durchforstet, Auch stehen Grafiken über die Anzahl
mentierung, Antwortverhalten von An- alle Geräte mit ihren Verbindungen katalogisiert, der angeschlossenen Endgeräte und eine
wendungen und Kernel, das Bios, Treiber alle Hosts kennt, die Infrastruktur grafisch dar- Übersicht der vorhandenen Schnittstellen
und vieles mehr. Vielmehr muss der Nut- stellt und außerdem auf Schwierigkeiten hinweist. und deren tatsächliche Nutzung bereit.
zer letztendlich auch nicht wissen, denn Das kostenlose "NeDi" (kurz für "Network Zusätzlich versucht NeDi, alle entdeckten
nach dem Start des Tools reicht ein Klick Discovery") verspricht, all dies zu leisten. Geräte automatisch nach Standort zu
auf den Analyze-Button für eine Leistungs- Üblicherweise ermitteln vergleichbare klassifizieren. Damit dies vollumfänglich
untersuchung des Rechners. Als Ergebnis Tools Informationen über Router, Switches klappt, steht jedoch der Admin in der
erhält der Anwender innerhalb einer Mi- und Rechner, indem sie die Netze scannen Pflicht, diese Informationen auf allen Ge-
nute einen Bericht, der Empfehlungen aus- und nach verwertbaren Informationen su- räten zu pflegen. (jp)
spricht, wie die Maschine zu optimieren chen. In großen Netzen und besonders Link-Code: I5PE9

www.it-administrator.de Mai 2018 57


Optimierung und Standardisierung
von PowerShell-Skripten

SCHWERPUNKT
tti – 123RF
Quelle: Alfio Sc
ise
In Schönschrift
von Thomas Wiefel

Werden aus PowerShell-


Einzeilern ausgewachsene
Skripte, die unternehmensweit
wirken, müssen sich IT-Verant-
wortliche mit Konzepten aus
der Software-Entwicklung
befassen. Wir zeigen Power-
Shell-Best-Practices zu Skript-
Aufbau, Notation, Fehlerbe-
handlung und Dokumentation.

ckelt. Dieses quasi private Verständnis


bezüglich des Einsatzes der Anwendung
wirkte sich auch auf die verwendeten
Standards aus: Es gab keine. Die üblichen
Prinzipien waren damals:
- Quick and dirty: Nur die Funktion ist
von Bedeutung.
er Einsatz von Skripten im opera- - Dokumentation ist überflüssig: Ich
D tiven Umfeld hat sich in der letzten habe das Skript ja geschrieben.
Dekade stark verändert. Sie dienten zu-
nächst der Abbildung einer Stapelverar- Dass die fehlende Dokumentation sich
beitung mit rudimentären Kontrollstruk- gerade gegen den Autor wendet, kann in
turen, Funktionen und "Executables" Migrationsprojekten zu kostenintensiven
sollten nur in Abhängigkeit von Ereignis- Verzögerungen führen, wenn der Admin
sen und Rückgabewerten aufgerufen wer- selbst seinen Code von vor drei Jahren
den. Der Funktionsumfang der Skript- nicht mehr versteht.
sprache selbst war darum stark auf die
Verarbeitung von Zeichenketten ausge- Grundlegende Prinzipien für
richtet. Die Sprachen des letzten Jahrhun- unternehmenskritische Skripte
derts wie "Perl", "AWK" oder "Bash Shell- Die Bedeutung der PowerShell (WPS) da-
Skript" sind vorzügliche Werkzeuge, um gegen ist aktuell am besten mit "Enter-
mit regulären Ausdrücken Logdateien oder prise Scripting" zu umschreiben. WPS-
Ergebnisse eines Befehls zu analysieren. Skripte sind in vielen Microsoft-Servern
Die PowerShell fokussiert sich dagegen die einzige Möglichkeit einer umfassen-
viel stärker auf die Schnittstellen von Ser- den Administration, wie etwa Exchange
verdiensten, Systemen und Prozessen. Der und das Azure Active Directory zeigen.
Umweg über Rückgabewerte entfällt. Damit erreicht ein Skript unternehmens-
kritische Relevanz. Beim Erstellen müssen
Eine weitere Veränderung des Skripting Sie darum darauf achten, wie unter den
betrifft Relevanz und Konstruktion einer Bedingungen von Mitarbeiterwechseln,
Skriptapp: Skripte wurden Prä-PowerShell Umstrukturierungen und Versionswech-
in der Regel von einem Administrator seln in der Serverarchitektur die Skript-
zur Unterstützung seiner Arbeit entwi- funktionalität erhalten bleibt.

www.it-administrator.de
PowerShell-Skripte optimieren Schwerpunkt

$StrSkriptFolder = (myinvocation.My- "Output" der Speicherort. Dies entspricht


Command).Path |split-Path -Parent zudem der durch die "Comment based
help" vergebenen Struktur, die wir im Ab-
Die relative Struktur lässt sich dann wie- schnitt "Dokumentation" noch erläutern.
derum leicht im Code abbilden:
Steuerungsinformationen (zum Beispiel
$StrOutputFolder = $ActualSkriptPath welche Objekte in welcher Domäne sollen
+ "\output"; […] wie überwacht werden) sollten nicht in-
nerhalb des Quellcodes liegen. Zum einen
Die Unterordner sind den wesentlichen ist dann eine nachträgliche Anpassung
Skriptbestandteilen "Logging", "Bibliothe- schwer möglich, da die Informationen in
Bild 1: Empfohlene Unterordnerstruktur für
PowerShell-Skripte.
ken", "Reports" und "externe Steuerung" der Programmierlogik gefunden werden
zugeordnet. Jedes Skript sollte nachvoll- müssen, zum anderen ist die Übergabe
ziehbare Spuren hinterlassen: Traten bei der Datenpflege an Fachpersonal, das kei-
Die zentralen Prinzipien sind daher War- der Verarbeitung kritische Fehler auf, soll- ne Programmierkenntnisse hat, schwierig.
tungsfreundlichkeit, Auslagerung und ten diese in einem Error-Log landen. Zur Das Prinzip der Wartbarkeit wird somit
Wiederverwendbarkeit sowie ausführliche späteren Analyse empfehlen wir die Spei- verletzt. Der passende Ort für Steuerungs-
Dokumentation. Und im Rahmen der cherung als CSV-Datei mit klar zugewie- informationen ist der "Input"-Ordner.
Skript-Erstellung sollten diese Punkte im senen Spalten: Datum und Uhrzeit des
Fokus stehen: Fehlers, Verarbeitung, die diesen Fehler Neben Daten lassen sich Skriptfragmente
- Standardisierung der inneren und äu- erzeugt hat, Fehlerlevel wie "error","war- und Konstanten auslagern. Für diese
ßeren Struktur eines Skripts. ning", "info" und optional "Zeile im Quell- "Skriptlets" empfiehlt sich im Sinne der
- Modularisierung durch Auslagerung code" sind eine gute Wahl. Für die Stan- Wiederverwendbarkeit ein eigener Ord-
von Komponenten. dardisierung der Error-Logs ist die Ver- ner. In der Geschichte der Software-Ent-
- Namenskonventionen für Variablen wendung einer echten Funktion (im Ge- wicklung hat sich der Ordnername "inc"
und Funktionen. gensatz zu add-content) sinnvoll. Neben – Kurzform für "include" – etabliert.
- Ausnahmebehandlung. Fehlern oder nicht erwarteten Rückgabe-
- Definition einheitlicher Exitcodes. werten sollten Sie immer auch Aktionen Quelltext sauber formatieren
- Templates für Skripte und Funktionen. des Skripts protokollieren, etwa das Erstel- Eine klare innere Struktur vereinfacht die
- Normierte Dokumentation des Codes. len, Löschen, Verschieben und Umbenen- Fehlersuche und deren Behandlung stark.
- Regeln für optimale Ablaufsteuerung. nen von Objekten. Um diese Logs vom Er- Auch hier sollten einheitliche Vorgaben
ror-Log zu unterscheiden, werden sie im vorliegen, wie Bild 2 zeigt: Das Schlüssel-
Zudem wäre es eine Überlegung wert, die Unterordner "functionlog" gespeichert. Er- wort "Region" fasst Bereiche des Quell-
Einhaltung der Normen durch eine Art stellt ein Skript Reporte, ist der Ordner codes zu einer logischen Einheit zusam-
"Skriptbeauftragten" zu prüfen. Auch die
Anlage unternehmensweiter Skript-Re-
positorien wirkt der Redundanz bei der
Entwicklung entgegen.

Stabilen Skript-Rahmen bauen


Eine einheitliche, relative Pfadstruktur er-
möglicht die Portierung der Anwendung
auf andere Systeme. Absolute Pfade sollten
Sie vermeiden, da deren Anpassung einen
unnötigen Aufwand darstellt. Bewährt hat
sich das Anlegen einer Unterordnerstruk-
tur wie in Bild 1 zu sehen: Unterhalb des
Basisordners aller Skriptapps liegen die
einzelnen Anwendungen, hier beispielhaft
"MyApp1" und "MyApp2" genannt. In je-
dem Anwendungsordner lagert nur die
Hauptverarbeitungsdatei mit gleichem Na-
men wie der Anwendungsordner, in die-
sem Beispiel "MyApp1.ps1". Der Anwen-
dungsordner lässt sich dynamisch aus dem
PowerShell-Skript ermitteln: Bild 2: Eine klar Struktur des Skripts erleichtert die Fehlersuche.

www.it-administrator.de Mai 2018 59


Sch w e rp unk t PowerShell-Skripte optimieren

men, doch für die Verarbeitung durch


den Interpreter spielen sie keine Rolle.
Die Regionen lassen sich verschachteln,
also auch auf der Achse "Eltern-Kind" an-
gelegen. Neben den im Bild beschriebe-
nen Basis-Regionen "init", "process",
"clear" ist eine Region "test" empfehlens-
wert. Hier können Sie Pfade im Dateisys-
tem oder externe Bibliotheken auf ihre Bild 3: Die Übersichtlichkeit im Code erhöht sich, wenn Klammern eigene Zeilen erhalten.
Existenz hin überprüfen. Weitere Regions
lassen sich beispielsweise durch inhaltlich Case" geht davon aus, dass Namen in der $StrToolPath = $StrActualSkriptPath
zusammenhängende Einheiten innerhalb Regel aus zusammengesetzten Bestand- + "\tools\tools.ps1";
der Hauptsektionen bilden. teilen bestehen. Ist dies der Fall, sollte $BlnFlag = $FALSE;
jede Teilzeichenkette mit einem Groß-
Zu lesbarem Code gehört auch die Abgren- buchstaben beginnen, wie zum Beispiel Dabei können die grundlegenden Daten-
zung von Anweisungsblöcken. Sobald "fo- "StrUser". Die von Charles Simonyi kon- typen aus der gleichnamigen Tabelle Ver-
reach", "if" und so weiter in verschachtelter zipierte "Ungarische Notation" beschreibt wendung finden.
Form vorliegen, ist eine einheitliche Form durch ein Präfix die Funktion – hier auch
der Einrückung wichtig. Dabei stehen zwei Typ genannt – einer Variablen. Die Prä- Dagegen bestimmen bei der Verarbei-
bis vier Leerzeichen oder Tabulator-Vor- fixe "p" verweisen auf den Typ "pointer", tung von Objekten die schematischen
schübe zur Verfügung. Einige Editoren wie "dn" auf eine Domain, "rg" auf ein Feld. Typen die Präfixe. Neben dem Typ des
etwa Visual Studio Code bieten Unterstüt- Datenspeichers fließt noch die Unter-
zung bei der Formatierung des Quelltexts. Schon durch diese Beispiele wird das Pro- scheidung, ob es sich um ein Element
Besonders die Position der einleitenden blem einer klaren Zuordnung von "Typ" oder eine Liste handelt, in den Varia-
und schließenden geschweiften Klammern deutlich. Ist mit "Typ" der Datentyp oder blennamen ein. Nach den zweistelligen
ist bei Entwicklern umstritten. Die Klam- die Funktion im Programm gemeint? Da Präfixen für den Providertyp würde "l"
mern in eine eigene Zeile zu setzen, ist eine sich dies nicht eindeutig beantworten eine Liste anzeigen, "i" ein einzelnes Ele-
gute Vorgabe, wie Bild 3 zeigt. lässt, hat sich die "Ungarische Notation" ment. Für die Arbeit mit "Microsoft
in zwei Richtungen aufgespalten: "Apps Active Directory" wäre dieser Standard
Normalized Skript Hungarian" als funktionaler Ansatz und als Basis verwendbar:
Notation nutzen "Systems Hungarian" als Datentyp-spe- - Benutzer-Liste: AdUl
Konventionen für die Benennung von Va- zifische Deklaration. Für die Entwicklung - Benutzer-Element: AdUi
riablen, Konstanten und Funktionen sind von Skripten – auch in der PowerShell – - Gruppen-Liste: AdGl
im administrativen Scripting nicht vor- sind beide Ansätze allein aufgrund ihrer - Gruppen-Element: AdGi
handen. Die Folge sind nicht mehr nach- Nachteile nicht praktikabel: - Computer-Liste: AdCl
vollziehbare Abläufe, denn Variablen haben - Präfix schlecht lesbar durch schwierige - Computer-Element: AdCi
eben nicht nur die Funktion eines Werte- Trennung der beiden Bestandteile eines
speichers, sondern erfüllen auch Doku- Namens. Eine Besonderheit stellen Konstanten dar,
mentationsaufgaben. Bei der Vergabe von - "Apps Hungarian" beinhalten altmodische, also Speicher, die sich nach der ersten
Bezeichnern können Sie Konventionen aus C-lastige Datentypen wie "w" (word). Zuweisung nicht mehr ändern lassen. Da
der allgemeinen Software-Entwicklung - Typänderungen in beiden Systemen be- in der PowerShell kein Schlüsselwort
aufgreifen. Die Problematik einer verbind- deuten Neubenennung. "CONST" existiert, um Konstanten von
lichen Notation existiert, seit es Programm- - "System Hungarian" durch Erweiterung Variablen zu unterscheiden, hilft die kom-
entwicklung gibt. Die Ansätze einer Nor- des Typ-Systems zu komplex. plette Großschreibung einer Konstante,
mierung betreffen die Syntax und die wie etwa $STRADSPATH = "ou=Skrip-
Bestandteile eines Variablennamens, be- Eine Spezifikation für die Verwendung ting,dc=Mydom,dc=com".
rücksichtigen also die Fragestellungen "Wie bei administrativen Skripten sollte intuitiv
kann ich die Lesbarkeit eines Bezeichners und einfach umsetzbar sein. Die Verbin- Fallstricke bei der
erhöhen?" und "Wie ist Typ und Funktion dung der genannten Ansätze wäre die Benennung von Funktionen
eines Wertes aus dem Namen ableitbar?". "Normalized Skript Notation". Diese un- Funktionen machen gute Skripte aus.
terscheidet prinzipiell zwischen der Ver- Durch Kapselung von Anweisungen und
Die Konzepte, die für eine Normalisie- arbeitung von Objekten, Strukturen und die Möglichkeit, Parameter zu übergeben,
rung administrativer Skripte interessant Werte-Containern. Bei der Speicherung wird Enterprise Scripting erst möglich.
sind, versuchen diese beiden Probleme von Zeichenketten oder Eigenschaften ei- Wiederverwendbarkeit statt sogenanntem
aufzulösen: "Upper Camel Case" und nes Objektes werden wenige Basisdaten- "Spaghetti Code" – Anweisungen in einer
"Hungarian Notation". "Upper Camel typen verwendet: linearen Abfolge.

60 Mai 2018 www.it-administrator.de


PowerShell-Skripte optimieren Schwerpunkt

nicht ausreichende Berechtigungen, nicht


Grundlegende Datentypen der Normalized Skript Notation erreichbare Server und so weiter auftre-
ten. Um solche Fehler abzufangen, müs-
Typ Präfix
sen Sie zunächst die Einstellungsvariable
String Str "ErroractionPreference" strikter setzen.
Integer Int Voreingestellt ist der Wert "continue", der
Double Dbl nur kritische Fehler behandelt. Um jeden
Boolean Bln Fehler als kritisch einzustufen, setzen Sie
den Wert auf "stop". Dann kann die an-
DateTime Dtm
weisungsbezogene Fehlerbehandlung mit
Object Obj
"try / catch / finally" eingesetzt werden.
Variant Vnt
Wenn als Reaktion auf einen Fehlerfall die
Bei der Benennung lauert aber eine schwer- bungen, Beispiele und Parameterverwen- Anwendung beendet wird, ist es wichtig,
wiegende Fehlermöglichkeit: Soll eine dung sollten das Minimum einer "com- der Anweisung "exit" einen Wert mitzu-
Anwendung zum Beispiel nicht mehr be- ment based help" bilden. geben. Dieser ist über die Umgebungsva-
nötigte Gruppen im Active Directory er- riable "$LastExitCode" abrufbar. Ist die
mitteln, wird die PowerShell Zugriff auf Die Kommentare innerhalb des Quelltex- Skriptapp Teil eines Workflows, könnte sie
die "LDAP Metabase" der AD-Objekte neh- tes stehen immer vor der Anweisung, die dann den Ausstiegspunkt ermitteln.
men müssen, um valide Daten zu erhalten. erläutert werden soll. Der Inhalt sollte da-
Kapseln Sie diesen Zugriff in einer Funk- bei ausführlich und inhaltlich so gestaltet Abschließend noch einige Hinweise, was
tion mit dem Namen "Get-AdObject", ha- sein, dass auch Kollegen, die nicht an der sich nicht in einem Skript befinden sollte:
ben Sie das Prinzip "Verb-Noun" umgesetzt. Entwicklung dieses Programms beteiligt - Die PowerShell erfüllt durch das durch-
Allerdings gibt es ein Cmdlet mit dem glei- waren, die Operationen im Skript nach- gängige Verb-Noun-Prinzip schon ei-
chen Namen im PowerShell-Modul "Ac- vollziehen können. nen selbstdokumentierenden Ansatz.
tiveDirectory". Sobald die Funktion geladen Dies sollte nicht durch irreführende
ist, überschreibt diese das Cmdlet mit un- Ausnahmen behandeln, Aliase, positionierte oder verkürzte Pa-
gewollten Seiteneffekten. Im Ranking der nicht Fehler rameter verschenkt werden.
Verarbeitung gleichlautender Befehle liegt Bei der Entwicklung von PowerShell- - Vorsicht bei häufigem Einsatz der Pipe-
ein Cmdlet nur auf Position 3, hinter Alias Skripten steht vor der Übergabe in die line, da die Gesamtverarbeitungszeit da-
und Function. Produktion eine ausführliche Testphase. runter leidet. Ein Test mit measure-Com-
Unterstützung bieten PowerShell-Module mand schafft darüber schnell Klarheit.
Um dies zu vermeiden, empfiehlt sich die wie "Pester" (get-help about_Pester). Zu- - Fehlende Deklaration von Abhängig-
Verwendung einer Kennzeichnung für dem können Einstellungen des Debug- keiten, notwendiger Hostversion oder
Funktionsnamen. "Verb-DU_Noun" ist ein Levels hilfreich sein: Ausführungsberechtigungen. Abhilfe
gutes Schema, wobei "Verb" für die in der schafft die Steuerung mit #requires"
PowerShell bekannten Aktionen (siehe get- > Set-PSDebug -trace 2 [get-help about_requires].
verb), "UD_" für "User defined" und - Auskommentierte Codeelemente als
"Noun" für das administrative Ziel steht. startet zeilenweises Debugging mit Va- Rest einer Versuchsreihe. Dies wirkt
riablenverfolgung. Doch trotz Sorgfalt bei nur verwirrend. Für unterschiedliche
Software ohne der Entwicklung können Fehler zur Lauf- Wege empfiehlt sich die Arbeit mit
Dokumentation ist wertlos zeit durch fehlende Netzwerkverbindung, "brunches" und Versionierungstools.
Mangelhafte Dokumentation wird Skript-
autoren dann schmerzlich bewusst, wenn Checkliste Fazit
diese ihr Werk nach einigen Monaten be- PowerShell-Fehlerbehandlung Die Freiheit bei der Codierung von
trachten. Ein PowerShell-Skript sollte zwei Folgende Maßnahmen sind Best Practices der Skriptsprachen ist Segen und Fluch zu-
Formen der Dokumentation beinhalten, Fehlerbehandlung: gleich. Sobald die Anwendungen eine
die "comment based help" und eine - "$ErrorActionPreference" auf "stop" wichtige Funktion im Unternehmen über-
"inline documentation". Die "comment setzen. nehmen, ist die Standardisierung Pflicht.
based help" ersetzt den Skript-Header an- - Anweisungsbezogene Fehlerbehandlung Für den IT-Verantwortlichen kann die Si-
derer Sprachen und arbeitet mit Schlüs- mit "try/catch" verwenden. tuation im Team bereits mit einem Skrip-
selwörtern in einem Kommentarblock. - Einsatz von ExitCodes. ter nervenzehrend sein, Teamfähigkeit
Die Bedeutung der einzelnen Abschnitte fängt im Quellcode an. Werden umfas-
- Standardisierung von ExitCodes (tabella-
ist über die integrierte Hilfe per get-help risch bestimmten Fehlertypen zuordnen). sende Leitplanken gesetzt. erhöht das die
about_Comment_Based_Help in der Qualität der PowerShell-Skripte und
- Verwendung von Error-Logs.
PowerShell-Konsole abrufbar. Beschrei- schafft Zukunftssicherheit. (jp)

www.it-administrator.de Mai 2018 61


Datenbankzugriffe mit der PowerShell

Quelle: Adrian Hillman – 123RF


Datenangler
von Dr. Holger Schwichtenberg

Auch zwölf Jahre nach ihrem Erscheinen besitzt die PowerShell noch keine Cmdlets und auch
keinen Navigation Provider für Datenbankzugriffe. Da im Administratoren-Alltag aber immer
wieder Datenbanken gelesen oder beschrieben werden müssen, zeigt dieser Beitrag, wie die
Nutzung von Datenbanken mit Hilfe von .NET-Klassen aus der PowerShell heraus gelingt.

as Microsoft .NET Framework, .NET Framework wird mit folgenden vier ADO.NET-Datenprovider listen Sie über
D das Grundlage für die Windows Datenprovidern ausgeliefert: eine statische .NET-Methode auf:
PowerShell 1.0 bis 5.0 ist, bietet seit seiner 1. System.Data.SqlClient: Spezieller Trei-
ersten Version die Komponente ADO.NET ber für Microsoft SQL Server ab Ver- [System.Data.Common.DbProviderFacto-
(ActiveX Data Objects .NET) für den Da- sion 7.0. ries]::GetFactoryClasses()
tenbankzugriff. In ".NET Core", das Basis 2. System.Data.OracleClient: Spezieller
für Windows PowerShell Core 5.1 sowie Treiber für Oracle-Datenbanken, gilt aber Dies funktioniert aber nicht in .NET Core
die PowerShell 6.0 ist, gibt es seit .NET als veraltet. Microsoft empfiehlt hier, den und damit nicht in PowerShell Core 6.0.
Core 2.0 ebenfalls weite Teile des ursprüng- offiziellen Treiber von Oracle oder einen
lichen ADO.NET. Treiber eines Drittanbieters wie DevArt Zentrale Konzepte von ADO.NET sind
oder DataDirect zu verwenden. Connection-, Command-, DataReader-
ADO.NET als Grundlage 3. System.Data.OLEDB: Brücke zu OLE- sowie DataAdapter-, CommandBuilder-
für DB-Zugriffe DB-Providern, erlaubt die Anbindung und DataSet-Objekte:
ADO.NET ist eine providerbasierte Soft- von Access-Datenbanken, aber auch Mi- - Ein Connection-Objekt dient dazu, die
warekomponente, geschaffen für Software- crosoft SQL Server und andere. Verbindung zu einer Datenbank aufzu-
Entwickler – nicht für Administratoren. 4. System.Data.Odbc: Brücke zu ODBC- bauen mit "Open()". Eine solche Verbin-
In der Dokumentation [1] finden sich da- Treibern, ermöglicht die Anbindung von dung schließen Sie mit "Close()", sobald
her auch nur Beispiele in C#, Visual Basic Datenspeichern, für die es nur alte ODBC- sie nicht mehr gebraucht wird. ADO-
.NET und C++, nicht aber in der Power- Treiber gibt (zum Beispiel DBase). .NET schließt die Verbindung aber nicht
Shell-Sprache. In ADO.NET wird für den wirklich, sondern hält sie noch eine Zeit
Zugriff auf ein konkretes Datenbankma- Weitere Provider (etwa für MySQL, SQ- lang in einem sogenannten "Connection
nagementsystem ein Datenbankprovider Lite, DB2, Sybase, Informix und Ingres) Pool" zur Wiederverwendung vor.
(alias .NET Data Provider oder Managed werden von anderen Herstellern geliefert. - Mit einem Command-Objekt senden
Data Provider) benötigt. ADO.NET im Die auf einem System registrierten Sie einen beliebigen SQL-Befehl zur

62 Mai 2018 www.it-administrator.de


Datenbankzugriffe mit der PowerShell Schwerpunkt

lection" mit DataRow-Objekten für jede


Zeile. Innerhalb eines DataRow-Objekts
lassen sich die Inhalte der Zellen durch
das indizierte Attribut "Item" abrufen.
Item erwartet alternativ den Spaltenna-
men, den Spaltenindex oder ein DataCo-
lumn-Objekt.

Hilfreiche Hilfsroutinen
Die Handhabung des DataSet ist etwas
komplizierter, als die meisten Adminis-
tratoren vermuten. Sie können einem Da-
taSet nicht einfach per SQL-Befehl und
Verbindungszeichenfolge sagen, dass es
eine bestimmte Datenmenge aus einer
bestimmten Datenbank lesen soll. Da das
DataSet darauf ausgerichtet ist, auch
mehrere Datenmengen aus einer oder
sogar verschiedenen Datenbanken auf-
nehmen zu können, sind folgende Schrit-
te notwendig:
Bild 1: Die verschiedenen Datenladestrategien bei DataReader und DataSet. 1. Öffnen einer Verbindung zu der Da-
tenbank mit einem Connection-Objekt:
Datenbank (zum Beispiel SELECT, IN- Set-Objekt besteht auf oberster Ebene aus Hierzu brauchen Sie eine Verbindungs-
SERT, UPDATE, DELETE). einer Menge von DataTable-Objekten zeichenfolge, die den Datenbankprovi-
- Mit dem DataReader lesen Sie Ergeb- (DataTableCollection). Jedes DataTable- der und den Namen der Datenbank
nismengen von SQL-Befehlen (in der Objekt besitzt über das Attribut "DataSet" enthalten muss. Anschließend müssen
Regel SELECT) aus. einen Verweis auf das Dataset, zu dem es Sie "Open()" aufrufen.
- DataAdapter und DataSets sind ein spe- gehört. Das DataTable-Objekt besitzt eine 2. Erstellen eines Command-Objekts:
zielles Konzept, mit dem Sie eine Kopie "DataColumnCollection" mit DataCo- Hierzu benötigen Sie neben dem Con-
einer Teilmenge der Datenbank ins lumn-Objekten für jede einzelne Spalte nection-Objekt einen SQL-SELECT-
RAM laden, dort bearbeiten und später in der Tabelle und eine "DataRowCol- Befehl.
(mit Hilfe von CommandBuilder-Ob-
jekten) Änderungen in einem Rutsch
zur Datenbank übertragen können.

Die Tabelle "Unterschiede zwischen Da-


taReader und DataSet" und Bild 1 zeigen
den entsprechenden Vergleich.

In administrativen Skripten kommt meist


das DataSet zum Einsatz. Zwar ließe sich
der Datenzugriff auch mit Hilfe von Da-
taReader- und Command-Objekten rea-
lisieren, das wäre aber umständlicher. Die
höhere Lesegeschwindigkeit, die ein Da-
taReader gegenüber einem DataSet bringt,
macht sich bei wenigen Datensätzen nicht
bemerkbar. Der Geschwindigkeitsvorteil
wird erst beim Lesen von ein paar tausend
Datensätzen signifikant. So viele Daten-
sätze kommen in administrativen Skrip-
ten meist nicht vor.

Das DataSet-Objekt besteht wieder aus


Unterobjekten (siehe Bild 2). Ein Data- Bild 2: Das Objektmodell eines DataSet-Objekts besteht aus vielen Unterobjekten.

www.it-administrator.de Mai 2018 63


Sch w e rp unk t Datenbankzugriffe mit der PowerShell

3. Erstellen eines DataAdapter-Objekts:


Hierzu dient das Command-Objekt. Unterschiede zwischen DataReader und DataSet
4. Dann können Sie endlich das DataSet
DataReader DataSet
erstellen und mit der Methode "Fill()"
unter Angabe des DataAdapter-Objekts DataTable, DataRow, Data-
Zugehörige Konzepte Command
befüllen. Adapter, CommandBuilder
5. Danach sind die Daten im RAM und Allgemeiner Namensraum
Sie sollten die Verbindung zur Daten- Providerspezifischer Namens- System.Data.DataSet (Data-
Namensraum raum, zum Beispiel System. Adapter und CommandBuil-
bank mit "Close()" schließen.
Data.Sql-Client.SqlDataReader der sind in providerspezifi-
schem Namensraum)
Diese immer wiederkehrende Befehlskette
schreit nach einer Kapselung in Hilfsrou- Daten lesen Ja Ja
tinen. Listing 1 zeigt die selbstdefinierten
PowerShell-Funktionen "Get-DBCon- Daten vorwärts lesen Ja Ja
nection", "Get-DBDataAdapter", "Get-
DBTable" und "Set-DBTable": Daten rückwärts lesen Nein Ja
- "Get-DBConnection" öffnet auf Basis Direktzugriff auf beliebigen
einer Verbindungszeichenfolge eine Da- Nein Ja
Datensatz
tenbankverbindung und liefert ein ge- Direktzugriff auf beliebige
Ja Ja
öffnetes Connection-Objekt zurück. Spalte in Datensatz
- "Get-DBDataAdapter" erwartet ein Nein, nur über separate
Daten verändern Ja (über Datenadapter)
Connection-Objekt und eine SQL-SE- Command-Objekte
LECT-Befehlszeichenkette und liefert Befehlserzeugung Teilweise automatisch
Komplett manuell
ein DataAdapter-Objekt zurück. Dies für Datenänderung (CommandBuilder)
ist eine Hilfsroutine für "Get-DBTable"
Zwischenspeicher für Daten Nein Ja
und "Set-DBTable".
- Der Nutzer dieser Hilfsbibliothek muss
Änderungshistorie Nein Ja
weder "Get-DBConnection" noch "Get-
DBDataAdapter" direkt aufrufen. Er er- Speicherverbrauch Niedrig Hoch
hält die Daten einfach per "Get-DBTa-
ble". Bei der Implementierung von Geeignet für
Nein Ja
"Get-DBTable" fällt auf, dass zwischen Offline-Szenarien
"return" und "$table" ein überflüssiges Geschwindigkeit Hoch Geringer
Komma zu sein scheint. Tatsächlich ist
das Komma nicht überflüssig, denn oh- RAM-Bedarf Gering Höher
ne dies würde die PowerShell auf Basis
eines eingebauten Automatismus nicht
das DataTable-Objekt, sondern eine diesem Fall wird willkürlich in die Spalte nannten drei Befehlen zu beachten sind,
Pipeline gefüllt mit DataRow-Objekten "UserDescription" der ersten Zeile der Er- kann die manuelle Festlegung freilich Sinn
liefern. Wir brauchen aber zum späte- gebnismenge ein neuer Wert geschrieben. ergeben. Der SELECT-Befehl, den Sie bei
ren Speichern von Änderungen das Es mag verwundern, dass Sie bei "Set- "Set-DBTable" für den CommandBuilder
ganze DataTable-Objekt. Das Komma DBTable" den SQL-SELECT-Befehl, den übergeben, muss keineswegs die gleiche
verhindert das Auspacken, weil es eine Sie bei "Get-DBTable" angegeben haben, Datenmenge liefern, die ursprünglich ge-
Pipeline mit einem DataTable-Objekt erneut verwenden müssen. Allerdings ist laden wurde. Es reicht auch ein Befehl,
als Inhalt erzeugt. es zwingend notwendig, hier einen SQL- der keine Datensätze liefern würde (etwa
- Mit "Set-DBTable" können Sie dann SELECT-Befehl für die betreffende Tabelle Select * from users where 1=0). Es geht
später Änderungen an einer Tabelle in anzugeben, weil in "Set-DBTable" die hier lediglich darum, dass der Ole-
die Datenbank zurückschreiben. .NET-Klasse "System.Data.OleDb. OleDb- DbCommandBuilder die Struktur der Ta-
CommandBuilder" zum Einsatz kommt, belle bekommt. Konkrete Datensätze
Konkret bedeutet dies, dass Sie nach dem die aus dem SELECT-Befehl dann einen braucht er nicht.
Einbinden dieser Hilfsroutine via Dot INSERT-, UPDATE- und DELETE-Befehl
Sourcing mit nur einem Aufruf von "Get- ableitet. Wenn Sie dies nicht machen, In den Hilfsroutinen in Listing 1 und
DBTable" eine Datenmenge ins RAM la- müssten Sie den INSERT-, UPDATE- und dem Skript in Listing 2 kommt der
den können (Listing 2). Dort sehen Sie DELETE-Befehl selbst manuell formulie- OLEDB-Provider zum Einsatz. Er ist not-
auch, wie Sie einen Datensatz verändern ren, was keinen Spaß bereitet. In Ausnah- wendig für den Zugriff auf Microsoft Ac-
und mit "Set-DBTable" persistieren. In mefällen, wo Besonderheiten bei den ge- cess. Mit ihm können Sie aber auch Mi-

64 Mai 2018 www.it-administrator.de


Datenbankzugriffe mit der PowerShell Schwerpunkt

Listing 1: Hilfsroutinen für Datenbankzugriffe Listing 2: Testskript für Hilfsrou-


tinen für Datenbankzugriffe
#######################################
# Hilfsroutinen für Datenbankzugriffe #######################################
######################################## # Testskript für Hilfsroutinen für
Datenbankzugriffe
# Öffnen der Verbindung mit OLEDB ########################################
function Get-DBConnection([string] $CONNSTRING)
{ $VerbosePreference = "continue"
# Datenbank öffnen
Write-verbose "Öffne die Datenbank... $CONNSTRING" . i:\skripte\DBUtil.ps1
$conn = New-Object System.Data.OleDb.OleDbConnection($CONNSTRING)
$conn.open() $CONNSTRING =
Write-verbose ("Zustand der Datenbank: " + $conn.State) "Provider=Microsoft.Jet.OLEDB.4.0;Data
return $conn Source=i:\Daten\users.mdb"
} $SQL = "Select * from users where UserSurname
like 'm%' order by UserSurname"
# Einlesen einer Tabelle mit OLEDB
function Get-DBTable([string] $CONNSTRING, [string] $SQL) $tabelle = Get-DBTable $CONNSTRING $SQL
{ $Tabelle | ft UserID, UserFirstName, UserSur-
Write-Verbose "Get-DBRows $SQL..." name, UserContainer, UserGroup
$conn = Get-DBConnection $CONNSTRING
$ada = Get-DBDataAdapter $Conn $SQL $ersteZeile = $Tabelle.Rows[0]
$ds = New-Object System.Data.DataSet
$ada.Fill($ds) | out-null $ersteZeile.UserDescription = "Getestet am "
$table = $ds.Tables[0] + [System.DateTime]::Now
$conn.close() # Verbindung schließen
Set-DBTable $CONNSTRING $SQL $Tabelle
# Ausgabe
Write-verbose ("Anzahl der Tabellen im Dataset: " + $ds.Tables.Count)
Write-verbose ("Anzahl der Datensätze in Tabelle 1: " + $table.Rows.Count)
Write-verbose "Ausgabe der Daten:"
Bit-Version von Microsoft Access in-
return ,$table stalliert, aber die PowerShell im 64-
} Bit-Modus gestartet haben. Sie müssen
in diesem Fall die x86-Variante der
# Erstellen eines Datenadapters
function Get-DBDataAdapter([System.Data.OleDb.OleDbConnection]$conn, [string]$SQL) PowerShell starten.
{ - "Operation must use an updateable
$cmd = New-Object System.Data.OleDb.OleDbCommand($sql,$conn)
query" deutet darauf hin, dass die Mi-
$ada = New-Object System.Data.OleDb.OleDbDataAdapter($cmd)
return $ada crosoft-Access-Datenbank schreibge-
} schützt ist oder Sie keine Schreibrechte
auf der Datei haben.
# Speichern einer Tabelle mit OLEDB
function Set-DbTable([string]$CONNSTRING, [string]$SQL, [System.Data.DataTable] $table)
- "The table users is already opened
{ exclusively by another user, or it is al-
Write-Verbose "Set-DbTable $SQL" ready open through the user interface
$conn = Get-DBConnection $CONNSTRING
and cannot be manipulated" bedeutet,
$ada = Get-DBDataAdapter $Conn $SQL
$cb = new-object System.Data.OleDb.OleDbCommandBuilder($ada) dass Sie die Tabelle in Microsoft Ac-
$cb.DataAdapter = $ada cess im Entwurfsmodus geöffnet ha-
Write-Verbose $cb.GetDeleteCommand().CommandText
ben. Es ist hingegen kein Problem,
Write-Verbose $cb.GetUpdateCommand().CommandText
Write-Verbose $cb.GetInsertCommand().CommandText wenn Sie die Tabelle in der Datenblatt-
$anzahl = $ada.Update($table) ansicht geöffnet haben. Damit kommt
$conn.close() # Verbindung schließen ADO.NET klar.
Write-verbose ("Anzahl gespeicherter Änderungen: " + $anzahl)
}
Fazit
Dass Microsoft keine Cmdlets für Daten-
Link-Codes crosoft SQL Server und andere Daten- bankabfragen mit der PowerShell liefert,
banken ansprechen. sondern auf ADO.NET zurückgreift,
[1] ADO.NET Dokumentation schreckt auf den ersten Blick ab. Doch mit
I5ZA1
Beim Zugriff mit ADO.NET auf Access- diesem Beitrag haben wir das theoretische
[2] PowerShell Commandlet Datenbankdateien sind drei Fehlermel- Fundament für ADO.NET geschaffen. Teil
Extension Library
dungen sehr typisch: 2 liefert dann die Praxis in Form eines Zu-
I5ZA2
- "The Microsoft.Jet.OLEDB.4.0 provi- griffs auf Access per PowerShell. Die Skrip-
[3] Listings zum Download
I5ZA3
der is not registered on the local ma- te des Artikels finden Sie in unserer Down-
chine": Dies bedeutet, dass Sie eine 32- load-Rubrik sowie unter [3]. (jp)

Alle Listings zum Download unter www.it-administrator.de Mai 2018 65


Quelle: Lenar Nigmatullin – 123RF
Security-Module für die PowerShell

Skript-
Kiddies 4.0
von Thomas Wiefel

Für die PowerShell existieren zahlreiche Zusatzmodule, die Sicherheits- und Angriffsfunktionen
bereitstellen. Diese bieten Penetrationstests und forensische Analysen. Wie der Administrator
damit nach Sicherheitslücken im Netzwerk fahndet, zeigt unser Workshop.

enetrationstests versuchen, Schwä- auf der Festplatte zu hinterlassen. Power- gewogene Balance zwischen Funktiona-
Pchen in der Sicherheit eines Sys- Shell-Skripte laufen komplett im Speicher lität und Sicherheit finden. Das Einsatz-
tems zu finden und legal auszunutzen, und sind zudem remote-fähig. Das Modul gebiet ist daher primär simulierte Angriffe
um das Computersystem sicherer zu ver- will IT-Verantwortliche bei folgenden Auf- auf entfernte Rechner.
walten. Über ein automatisiertes Tool gaben unterstützen:
oder eine manuelle Methode (oder als - Code-Execution: Ausführung von Low- Die Invoke-ShellCode-Funktion injiziert
Kombination beider) lassen sich Securi- Level-Code und Code-Injektion. ausführbare Anweisungen im Kontext
ty-Probleme identifizieren. In diesem - Script-Modification: Modifizieren und/ laufender Anwendungen, wobei Sie den
Umfeld kann die PowerShell im Zusam- oder Vorbereiten von Skripten für die Wirtsprozess über die Prozess-ID aus-
menspiel mit invasiven Techniken her- Ausführung auf einer kompromittierten wählen. Eine Zuordnung von Prozessen
vorragende Ergebnisse liefern. Maschine. und Prozess-ID ist über den Befehl:
- Reverse Engineering mit entsprechen-
Die PowerShell bietet dazu Module für den Tools. > Get-Process | Select-Object
"Penetration Testing" und "Exploits". Ei- - Filtern: Zugriff auf sensible Daten von -Property name, ID
nige PowerShell-Erweiterungen vergrö- einer kompromittierten Maschine.
ßern den Befehlsraum und/oder liefern - Chaos: Destruktive Anweisungen. leicht umzusetzen. PowerSploit erwartet
sicherere Alternativen zu Standardver- - Recon: Unterstützung in der Aufklä- eine Liste von Bytes in der Form von
fahren – wie etwa SSH als Alternative zur rungsphase eines Penetrationstests. "0xXX,0xXX,0xXX". Um das korrekte
WINRM-Fernwartung. Sogar Schad- Format zu generieren, ist die Backtrack-
codescanner sind als PowerShell-Kom- Die lokale Installation mittels Install-Mo- Toolsammlung hilfreich:
ponenten implementiert. dule aktiviert unter Umständen Ihren Vi-
renscanner. Wichtig ist zudem, dass Sie > msfpayload windows/exec CMD="cmd
Windows-Systeme testen alle ZIP-Dateien, die Sie vom GitHub Re- /k calc" EXITFUNC=thread C | sed
Für Penetration-Tests und als Schwach- pository herunterladen, entblocken. An- '1,6d;s/[";]//g;s/\\/,0/g' | tr -d
stellenscanner dient das PowerShell-Modul dernfalls scheitert das Laden der nach- '\n' | cut -c2-
"PowerSploit" [1], das für Penetrationstester folgenden Module.
und Reverse Engineers entwickelt wurde. Diese Befehlskette bereitet den Parame-
Die PowerShell ist unter Windows das Durch Kombination von Anwendungen terwert für "-ShellCode” korrekt auf. Bei
ideale "Post-Exploitation Utility". Dies liegt wie Applocker, rigider Beschränkung der der Übergabe an "-ShellCode" und ohne
in ihrer Fähigkeit begründet, eine breite Zugriffsmöglichkeiten und PowerSploit- Angabe einer Prozess-ID startet das In-
Palette von administrativen und Low-Le- Cmdlets kann die optimale Konfiguration voke-ShellCode-Cmdlet den Rechner im
vel-Aufgaben auszuführen, ohne Spuren ermittelt werden. So lässt sich eine aus- Prozessraum der aktuellen PowerShell.

66 Mai 2018 www.it-administrator.de


PowerShell Security-Module Schwerpunkt

Unbekannte Boot Sektor und Analyse


Freigaben finden der Partitionstabelle
Netzwerkfreigaben, die nicht in- - Dateisystem (FAT, NTFS)
ventarisiert sind, deren Berechti- - Windows Registry
gungsstruktur veraltet ist und auf - Spuren der Benutzer im
Benutzer verweisen, die nicht mehr Betriebssystem
im Unternehmen aktiv sind, stellen
ein Sicherheitsproblem dar. Die Die Suche nach Artefakten im
Dokumentation der existierenden Betriebssystem ist dabei der
Shares ist ein notwendiger erster zentrale Punkt des Werkzeugs.
Schritt zur Bereinigung der beste- So lassen sich Einträge in der
henden Struktur und einem kon- Windows-Suche via Get-Fo-
zeptionellen Neubeginn. rensicWindowsSearchHistory-
Cmdlet ermitteln und weiter-
Die Invoke-ShareFinder-Funktion verarbeiten. Als Rückgabetyp
aus PowerSploit ist für diese Ziel- dient dabei ein eigenes Objekt
setzung sehr hilfreich. Diese sucht mit den Schnittstellen "User"
den lokalen Domainnamen für und "Searchstring". Beide lassen
einen Host mit dem Get-NetDo- sich mit Wildcards und regu-
main-Cmdlet und fragt die Do- lären Ausdrücken filtern. Für
main nach allen aktiven Rech- den Zugriff auf den Browser ist
nern (über das Get-NetCom- das Get-ForensicTypedUrl-
Damit der Download weiterer Module klappt, muss für ZIP-Dateien die
puter-Cmdlet). Jeder Server listet Cmdlet vorgesehen.
Blockade des Downloads deaktiviert werden.
aktive Freigaben per Get-Net-
Share-Cmdlet auf. heitstest speichern Sie zunächst die Datei Generell krankt das PowerForensics-Mo-
und laden sie mittels Sourcing in den dul ein wenig an der schlechten Perfor-
Sichere Passwörter Scope der Konsole: mance. Auch gilt bei PowerShell-Modu-
Invoke-Mimikatz ist eine weitere Exploit- len, dass der Wert für den Anwender in
Funktion von PowerSploit. Sie ermöglicht . .\invoke- DllInjection.ps1 erster Linie von der Dokumentation ab-
die Extraktion von Klartext-Anmeldein- hängt. Dass bei den exportierten Funk-
formationen aus dem Speicher, Kenn- Danach steht die gleichlautende Funktion tionen durchweg auf eine Kommentar-
wort-Hashes aus lokalen SAM/NTDS.dit- zur Verfügung. Nun benötigen Sie eine basierte Hilfe verzichtet wurde, erschwert
Datenbanken, erweiterten Kerberos- Schadsoftware in Form einer DLL-Datei deren Verwendung unnötig.
Funktionen und mehr. Die Mimikatz- und einen Prozess samt Prozess-ID:
Codebasis ist in PowerSploit im Vergleich Fazit
zum Original leicht modifiziert, arbeitet > Start-Process c:\windows\system32\ PowerShell-Module bieten ein flexibles
nur im Speicher und hinterlässt keine notepad.exe -WindowStyle Hidden; Verfahren, Funktionalitäten temporär be-
Spuren auf der Festplatte. get-Process -Name notepad; Invoke- reitzustellen. Wird die Konsole geschlos-
DllInjection -ProcessID 251 -Dll sen, verschwinden alle nicht über Profile
DLLs manipulieren C:\temp\test.dll geladenen Erweiterungen aus dem Spei-
Es ist nicht immer nötig, das vollständige cher. Da zudem Aktionen und Skripte
Modul bereitzustellen, gelegentlich reicht Forensische Analyse folgenlos auf Speichermedien bleiben
auch ein einzelner Test. So zum Beispiel, nach Angriffen können, sind die "Penetration Tests" sehr
wenn Sie eine DLL manipulieren möch- Wurde ein System – oder das gesamte wirklichkeitsnah. Fehler in der Sicher-
ten. Die entsprechende Funktion ist un- Netzwerk eines Unternehmens – kom- heitsarchitektur, inklusive einer nicht kon-
ter [2] im Quellcode verfügbar. Der in promittiert, muss die Ursache des Angriffs figurierten Fernwartung, werden dann
dieser Funktion hinterlegte Angriff ver- und die zugrundeliegende Schwachstelle schnell aufgedeckt. (jp)
folgt das Ziel, eine DLL-Datei im Pro- ermittelt werden. Für die PowerShell exis-
zessraum eines anderen Prozesses aus- tiert das Modul "PowerForensics" [3], das Link-Codes
zuführen. Eine DLL ist Sammlung von Sicherheitsbeauftragte und Administra-
[1] PowerSploit
Code beziehungsweise Daten, die von toren bei der Analyse von digitalen Me-
I5Z91
mehreren Anwendungen (oder anderen dien und Computersystemen unterstützt.
[2] DDL-Manipulation
Bibliotheken und Modulen) verwendet
I5Z92
werden können. Somit lässt sich in einer Das PowerForensics-Modul ist in folgen-
[3] Modul "PowerForensics"
solchen Datei beliebiger ausführbarer de Sektionen unterteilt: I5Z93
Schadcode verstecken. Für einen Sicher- - Festplattentools: Zugriff auf den Master

Link-Codes eingeben auf www.it-administrator.de Mai 2018 67


Sch w e rp unk t Crashkurs PowerCLI

Schnelleinstieg in die PowerCLI für VMware vSphere

Skriptessenz
von Dennis Zimmer

Die PowerShell ist heutzutage das mächtigste


Werkzeug im Werkzeugkasten des vSphere-
Administrators. Doch sich in alle Details der
Shell einzuarbeiten, kostet zu viel Zeit,

Quelle: Sergey Kolesnikov – 123RF


wenn Admins nur Routinearbeiten als
Einzeiler speichern wollen. Daher
liefert unser PowerCLI-Crashkurs
kompakt das wichtigste Know-how
und stellt Ressourcen für fertige
Skripte vor.

Mware hat bereits 2007 als einer > Install-Module -Name VMware.Power- Diesen Befehl können Sie auch spontan
V der ersten Nicht-Microsoft-Her- CLI -Scope CurrentUser in einer PowerShell-Session ausführen,
steller den Nutzen der PowerShell erkannt. um die gebräuchlichsten PowerCLI-Be-
Damals startete die Beta der PowerCLI als zurück. Danach ist das PowerCLI- Mo- fehle zu laden.
"VMware Infrastructure Kit" mit genau dul verfügbar und geladen. Alle nutzba-
acht Cmdlets, heute sind es bereits über ren Inhalte zeigt Ihnen nun Get-Module Verbindung zum
600. Zur Historie inklusive einiger Kom- und alle Befehle des PowerCLI-Core- ESXi-Host und vCenter
mentare der wirklich großartigen Com- Moduls liefert: Bevor Sie nun aber richtig loslegen kön-
munity empfehlen wir das Video zum nen, müssen Sie sich entweder direkt mit
zehnjährigen Geburtstag [1]. > Get-Command -Module VMware.VimAu- dem ESXi-System oder dem VMware
tomation.Core vCenter verbinden. Der Befehl für beide
Obwohl bereits "PowerShell Core" verfüg- Vorgänge lautet connect-viserver. Dabei
bar ist, nutzen wir für diesen Artikel haupt- Hier sollten Sie sich merken, dass das können Sie den Vorgang aber auch noch
sächlich die VMware PowerCLI [2], da VMware.VimAutomation.Cis.Core-Modul weit differenzierter angehen. So ist zum
diese aktuell den größten Funktionsum- für die Verbindungen zu VMware ESXi Beispiel Single Sign-On möglich, das
fang bietet. Zum Abschluss des Artikels oder zum vCenter benötigt wird und das heißt, der angemeldete Benutzer hat
gehen wir jedoch genauer auf die zukünf- VMware.VimAutomation.Core-Modul die Rechte im VMware vCenter:
tige Version der PowerShell (Core) und restlichen Cmdlets enthält.
die Ende Februar 2018 veröffentlichte Ver- > Connect-VIServer vCenter IP oder
sion der PowerCLI Core ein. Die Power- Um die PowerCLI immer direkt beim Start DNS-Name
Shell Core bietet den Vorteil, auch auf Li- der PowerShell mitzuladen, nutzen Sie ei-
nux und macOS zu laufen. nen Eintrag im PowerShell-Profil. Dazu Poster aller PowerCLI-Befehle
führen Sie in der gestarteten PowerShell-
PowerCLI installieren Sitzung $profile aus und erhalten so die Lo- Vor einigen Jahren entwarf die Community
In einer PowerShell-Session führen Sie kation der Profildatei. Dieser Datei, die ein PowerCLI-Poster [4], das einen sehr gu-
die Installation der Shell mit einem ein- standardmäßig im Dokumente-Verzeichnis ten Überblick über die Grundlagenbefehle
gibt und anfangs auf einem DINA4-Blatt
zelnen Befehl durch: liegt (etwa "C:\Users \ Benutzer \ Docu-
Platz fand. VMware hat die Poster-Idee
ments \ WindowsPowerShell \ Microsoft.
übernommen und aktualisiert es stetig. Das
> Install-Module -Name PowerShell_profile.ps1"), fügen Sie am En-
letzte Release zur PowerCLI 6.5.2 passt lei-
VMware.PowerCLI de folgende Zeile hinzu: der nicht mehr zu einem Standarddrucker,
sondern eher zu einem Plotter (1 m auf 50
Soll dies nur für den aktuell angemeldeten > Import-Module -name VMware.VimAu- cm wird empfohlen).
Benutzer geschehen, greifen Sie auf tomation.Core

68 Mai 2018 www.it-administrator.de


Crashkurs PowerCLI Schwerpunkt

-Password Passwort -Port 8443


-Protocol https

Sie sollten beachten, dass unterschiedliche


Befehle zur Verfügung stehen, je nachdem,
ob Sie mit VMware vSphere oder VMware
ESXi verbunden sind. Sobald die Verbin-
dung zum vCenter steht, kann es losgehen.
Dann verfügbare, sehr nützliche Befehle
Bild 1: Alle für VMware verfügbaren Module lassen sich in der PowerShell auflisten. zeigt Tabelle 1. Eine sehr gute Sammlung
von PowerShell-Einzeilern und -Skripten
Und so fragen Sie Anmeldedaten ab: DNS-Name -User Benutzername -Password finden Sie unter [3].
> Connect-VIServer vCenter IP Passwort
oder DNS-Name -Credential Berichte erzeugen
(Get-Credential) ZurVerwendung unterschiedlicher Ports Ein sehr nützlicher Bericht ist der "Storage
ist diese Befehlskette gefragt: vMotion Report" [5], der in einer HTML-
Und dieser Befehl gibt Benutzerdaten mit: > Connect-VIServer vCenter IP oder Datei sämtliche vMotion-Aktivitäten der
> Connect-VIServer vCenter IP oder DNS-Name -User Benutzername letzten sieben Tage auflistet. In diesem

Nützliche PowerCLI-Befehle für die vSphere/ESXi-Administration

Aufgabe Befehl

Zusatzinformationen einer VM anzeigen (Status, Get-VMGuest -VM (Get-VM -Name VMName)


IP-Adresse – wenn vorhanden und VMware Tools
installiert – und Gastbetriebssystem).
Liste aller VMs, auf denen Snapshots aktiv sind. Get-VM | Get-Snapshot | Select VM,Name,Created,sizemb

Liste mit VMs, deren Snapshots älter als Get-VM | Get-Snapshot | Select VM,Name,Created,sizemb | Where {$_.Created -lt
sieben Tage sind. ((Get-Date).AddDays(-7))}

Löschen aller Snapshots, die älter als sieben Tage Get-Snapshot | Select VM,Name,Created,sizemb | Where {$_.Created -lt ((Get-Date).
sind. AddDays(-7))} | Remove-Snapshot

Liste aller VMs und dem Datastore, auf dem diese Get-Cluster | Get-VM | select name, @{N="Datastore";E={Get-Datastore -VM $_}} |
registriert sind. sort name

VM über das Betriebssystem herunterfahren (soft). Shutdown-VMGuest -VM (Get-VM -Name "VMname")

Festplatten der virtuellen Maschine anzeigen. Get-VM VMName | Get-HardDisk | ft Parent, Name, Filename, CapacityKB
-AutoSize
CPU-Ressourcen-Limitierungen entfernen. Get-VM | Get-VMResourceConfiguration | Where-Object {$_.CpuLimitMhz -ne ‘-1‘} |
Set-VMResourceConfiguration -CPULimitMhz $null
Speicherressourcen-Limitierungen entfernen. Get-VM | Get-VMResourceConfiguration | Where-Object {$_.MemLimitMB -ne ‘-1‘} |
Set-VMResourceConfiguration -MemLimitMB $null
Anzeige von VMs inklusive MAC-Adresse und Get-VM | Select Name, @{N="Network Adapter";E={$_ | Get-NetworkAdapter| foreach-object
Netzwerk-Portgruppe. {$_.Type}}}, @{N="MacAddress";E={$_ | Get-NetworkAdapter| ForEach-Object {$_.MacAd-
dress}}}, @{N="PortGroup";E={Get-VirtualPortGroup -VM $_}}
VM mit einer bestimmten MAC-Adresse finden. Get-VM | Select Name, @{N="Network";E={$_ | Get-NetworkAdapter | ? {$_.macaddress -eq
"00:50:56:00:00:00"}}} |Where {$_.Network -ne ""}
Netzwerk-Portgruppe auf allen Hosts Get-Cluster "clustername" | Get-VMHost | Get-VirtualSwitch -Name "vSwitch_name" |
im Cluster anlegen. New-VirtualPortGroup -Name "VLAN-xx" -VLanId XX

DataStores und Anzahl der VMs anzeigen. Get-Datastore | Select Name, @{N="NumVM";E={@($_ | Get-VM).Count}} | Sort Name

Multi-Pathing überprüfen. Get-VMHost | Get-ScsiLun | Select VMHost, ConsoleDeviceName, Vendor, MultipathPolicy,


LunType
SSH auf allen ESXi-Hosts aktivieren. Get-VMHost | Foreach {Start-VMHostService -HostService ($_ | Get-VMHostService |
Where { $_.Key -eq "TSM-SSH"} )}
Anzeige aller ESXi-Hosts und deren aktueller Uhrzeit. Get-VMHost | sort Name | select Name,@{Name="Current VMHost Time";Expression={(Get-
View $_.ExtensionData.ConfigManager.DateTimeSystem).QueryDateTime()}}
Liste aller VMs, die mit dem ESXi-Host die Zeit Get-View -viewtype virtualmachine -Filter @{'Config.Tools.SyncTimeWithHost'='True'} |
synchronisieren. select name

Ereignisse herausfiltern, etwa An/Ausschalten von Get-VM VMname | Get-VIEvent | Where {$_.fullFormattedMessage -like "*Power*"}
virtuellen Maschinen.
Storage vMotion ausführen. Get-VM VMname | Move-VM -datastore (Get-datastore "Ziel-Datastore")

www.it-administrator.de Mai 2018 69


Sch w e rp unk t Crashkurs PowerCLI

Skripte als geplanter Task


Speziell Reporting-Skripte laufen übli-
cherweise als Task jeden Tag oder jede
Woche. Dazu eignen sich die geplanten
Tasks unter Microsoft Windows. Aus der
Kommandozeile rufen Sie den Scheduler
Bild 2: Das frei verfügbare "Storage vMotion Report"-Skript untersucht vMotion-Aktivitäten. mit control schedtasks auf. Und hinterle-
gen dort entweder
Skript finden Sie direkt am Anfang eine tur anzulegen und diesen bei späteren Auf-
"# Variables"-Sektion, die Sie auf die je- rufen zum Vergleich zu nutzen. Daher soll- C:\WINDOWS\system32\windowspowers-
weilige Umgebung anpassen müssen. ten Sie das Skript von der Webseite laden hell\v1.0\powershell.exe "&
Wollen Sie zum Beispiel über die sieben und in einer Datei (zum Beispiel "C:\Skrip- Pfad\Skript.ps1"
Tage hinausgehen, passen Sie das Skript te \ vmaudit.ps1") speichern.
entsprechend an: oder
Sollen bestimmte Personen von der Er-
$vmotions = get-motionhistory fassung der Änderungen ausgenommen C:\WINDOWS\system32\windowspowers-
-Entity ($vms) -days 30 | ?{$_. werden, ändern Sie die Zeile "$admins": hell\v1.0\powershell.exe -file
type -eq "svMotion"} "Pfad\Skript.ps1"
$admins = "com.vmware.vadm|adminis-
Sehr häufig benötigt der Administrator trator|IhrAccount" Damit die Skripte auch zuverlässig über
einen schnellen Überblick der Perfor- die PowerCLI-Befehle verfügen, müssen
mance von virtuellen Maschinen inner- Außerdem passen Sie die Zeile mit den Sie sicherstellen, dass die Module geladen
halb einer gewissen Zeit, beispielsweise Angaben zum Mailserver an: sind. Dazu fügen Sie einfach zu Anfang
der letzten Stunde. Dazu dient das Skript des Skripts folgende Zeile hinzu:
in Listing 1, das für alle VMs eine Über- Send-MailMessage -From "E-Mail-Ad-
sicht generiert, die CPU, Memory, Netz- dresse Absender" -To "E-Mail-Ad- > Import-Module -name VMware.VimAu-
werk und Festplattenleistungsdaten der dresse Empfänger" -Subject "vSphe- tomation.Core
letzten Stunde anzeigt. Um hier mehr In- re Audit Report" -BodyasHtml -Body
formationen als nur zur letzten Stunde $body -SmtpServer "SMTP Server" Gesundheit der
zu erhalten – im folgenden Beispiel für Virtualisierung ermitteln
den letzten Tag – modifizieren Sie die Soll das Skript als geplanter Task angelegt Das vCheck-Health-Check-Skript [7] ist
"$Start"-Zeile: "$start = (Get-Date).Add- werden, müssen Sie zu Beginn des Skripts das mit Abstand mächtigste und umfang-
Days (-1)." noch die PowerCLI laden und sich mit reichste PowerShell-Reporting-Pro-
dem vCenter verbinden: gramm, das kostenfrei zur Verfügung
Um die Skriptausgabe in eine Datei (etwa steht. Dieses Skript hat seit Januar eine
eine CSV-Datei) umzuleiten, müssen Sie Import-Module -name VMware.VimAutoma- neue Optik, die auf einer VMware-De-
ein "|"-Zeichen hinter den letzten Eintrag tion.Core Connect-ViServer vCenter signvorlage basiert. Definitiv sehr profes-
stellen und eine Export-Zeile hinzufügen: -username Benutzer -pass Passwort sionell und super strukturiert, liefert es
einen wertvollen Beitrag zur täglichen
@{N='Disk(KBps';E={"{0:N2}" -f Da nur Leserechte benötigt werden, soll- Routine von VMware-Administratoren.
($_.Group | where{$_.MetricId -eq ten Sie hier auch nur einen Benutzer mit Das Skript laden Sie einfach als ZIP-Datei
'disk.usage.average'} | Measure- Read-Only-Rechten im vCenter angeben. herunter und entpacken es in ein belie-
Object -Property Value -Average |
select -ExpandProperty Average)}} Listing 1: VM-Performancereport
|
$vms = Get-VM
Export-Csv .\report.csv -NoTypeIn- $start = (Get-Date).AddHours(-1)
formation -UseCulture Get-Stat -Entity $vms -Start $start -ErrorAction SilentlyContinue |
Group-Object -Property {$_.Entity.Name} |
Audit-Skript für VMware Select @{N='VM';E={$_.Name}},
@{N='CPU(%)';E={"{0:N1}" -f ($_.Group | where{$_.MetricId -eq 'cpu.usage.average'} |
Zum Nachverfolgen von Änderungen an
Measure-Object -Property Value -Average | select -ExpandProperty Average)}},
virtuellen Maschinen wie Hauptspeicher- @{N='Memory(%)';E={"{0:N1}" -f ($_.Group | where{$_.MetricId -eq 'mem.usage.average'} |
erweiterungen oder Netzwerkanpassungen Measure-Object -Property Value -Average | select -ExpandProperty Average)}},
liefert [6] ein fertiges Skript. Dieses sollten @{N='Net(KBps)';E={"{0:N2}" -f ($_.Group | where{$_.MetricId -eq 'net.usage.average'} |
Sie immer im selben Verzeichnis aufrufen, Measure-Object -Property Value -Average | select -ExpandProperty Average)}},
@{N='Disk(KBps';E={"{0:N2}" -f ($_.Group | where{$_.MetricId -eq 'disk.usage.average'} |
da es eine CSV-Datei nutzt, um beim ers-
Measure-Object -Property Value -Average | select -ExpandProperty Average)}}
ten Start den Anfangsstand der Infrastruk-

70 Mai 2018 Alle Listings zum Download unter www.it-administrator.de


Intensiv-Seminar
PowerShe
für Adminll
s

Quelle: goodluz – 123RF.com


Bild 3: Es ist sinnvoll, bestimmte Skript-basierte Reporte über
Windows-Tasks regelmäßig laufen zu lassen.

biges Verzeichnis. Dabei sollten Sie beachten, dass Windows


beim Download von Dateien aus dem Internet eine Sicher-
heitseinstellung vornimmt, die Sie vor dem Extrahieren erst
aufheben müssen.

In einer PowerShell-Sitzung kann das vCheck-Skript direkt auf-


gerufen werden. Besser ist jedoch, es zunächst zu konfigurieren 6. bis 8. Juni 2018
und Einstellungen des vCenters, E-Mail-Servers oder des Inhalts
des Reports festzulegen. Diese Konfiguration starten Sie über Hamburg
den Schalter "-config":
27. bis 29. Juni 2018
> .\vCheck.ps1 -config
München/Garching
Die Konfiguration ist sehr umfangreich, da der Health-Check-
Report zahlreiche Informationen abfragt und später aufbereitet. Anmeldung unter:
Nach der Erstkonfiguration startet der erste vCheck-Aufruf au-
tomatisch und sendet den finalen Report per E-Mail (wenn
www.it-administrator.de/
dies so konfiguriert wurde). Um diesen in einem bestimmten trainings
Verzeichnis abzulegen, das Sie nicht während der Erstkonfigu-
ration angegeben haben, hilft das OutputPath-Argument:
Unser Angebot: Seminarpreise:
> .\vCheck.ps1 -OutputPath C:\vCheckOutput\ - Maximal 12 Teilnehmer Sonderpreis für
je Seminar Abonnenten des IT-Administrator:
Zielverzeichnis
- Einen Rechner für jeden
Teilnehmer 1.090 Euro
PowerShell Core (inkl. 19% MwSt.)
- 3-tägiges Intensivseminar, das
und PowerCLI Core am ersten Tag um 10 Uhr für Nicht-Abonnenten:
Microsoft hat jüngst die Entscheidung bekannt gegeben, dass beginnt und am 3. Tag
PowerShell Core die zukünftige Plattform sein wird und diese gegen 16 Uhr endet.
1.270 Euro (inkl. 19% MwSt.)
war zur Drucklegung in Version 6 verfügbar. Sie läuft nicht
nur auf Microsoft Windows, sondern auch auf Linux- und Ihr Dozent: Agenda:
macOS-Systemen. Die PowerCLI-Module funktionieren al-
· Einführung und Basiswissen
lerdings noch nicht zu 100 Prozent unter PowerShell Core,
Architektur der PowerShell und Versionsunterschiede / Cmdlets,
werden aber stetig verbessert. Daher sind einige Skripte, die Cmdlet-Parameter und Hilfefunktionen / Objekt-Pipeline und
aktuell zu finden sind – auch das vCheck-Skript – noch nicht Ausgabefunktionen / Navigationsmodell (PowerShell-Provider)
unter PowerCLI Core lauffähig. · Scripting
PowerShell Language (PSL): Variablen und Kontrollstrukturen /
Objektorientiertes Programmieren mit Klassen (ab PowerShell
Trotz dieser Einschränkungen ist es ein enormer Schritt, die 5.0) / Sicherheitsfunktionen (Execution Policy) / Vordefinierte
PowerShell und die PowerCLI Core unter diesen Betriebs- Variablen, Fehlerbehandlung und Fehlersuche / Scripting mit
systemen universell verwenden zu können. Außerdem wird PowerShell Integrated Scripting Environment (ISE)
· Aufbauwissen
Fernaufruf/Fernadministration mit WS-Management
(Remoting) / Serververwaltung Active Directory und
www.it-administrator.de Thomas Wiefel Automatisierung von Azure
Sch w e rp unk t Crashkurs PowerCLI

die Windows PowerShell nicht mehr sion mit PowerShell-Core-Unterstüt- Invoke-VMScript-Cmdlet vornehmen –
weiterentwickelt und erhält nur noch si- zung. Dazu führen Sie einfach in einer hier als Beispiel die Änderung der IP-
cherheitsrelevante Updates. PowerShell bestehenden PowerShell-Core-Sitzung Adresse im Gast:
Core setzt auf die plattformübergreifen- folgenden Befehl aus:
de .NET-Core-2.0-Runtime und ist für $ipAddr = "192.168.10.25"
Windows, macOS sowie für die Linux- > Install-Module -Name VMware.Power- $subMask = "255.255.255.0"
Distributionen Debian, Ubuntu, Cent- CLI -Scope CurrentUser $gw = "192.168.10.1"
OS, RedHat Enterprise, OpenSUSE und $netsh = "c:\windows\system32\
Fedora verfügbar. Außerdem gibt es in- Sind keine gültigen Zertifikate im vCenter netsh.exe interface ip set address
offizielle Versionen für Arch Linux, Kali hinterlegt, sollten Sie folgenden Befehl ""Local Area Connection"" static
Linux und Appimage sowie experimen- ausführen, damit die PowerCLI auch in $ipAddr $subMask $gw 1"
telle Fassungen für die ARM-Version diesem Fall eine Verbindung mit dem Invoke-VMScript -VM $VM -GuestCre-
von Windows und für Raspbian. vCenter herstellt: dential $creds -ScriptType bat
-ScriptText $netsh
Leider war es (bis zur Drucklegung) > Set-PowerCLIConfiguration -Inva-
noch nicht möglich, PowerCLI Core lidCertificateAction Ignore Neue PowerCLI-Versionen laden Sie üb-
unter PowerShell Core zu installieren. rigens ganz einfach mit dem Update-Mo-
Daher müssen Sie einen Fling [8] von Danach laden Sie die Module mit dule-Befehl:
VMware nutzen. Zudem ist die Power-
Shell Core aktuell nicht in den Systemen > Get-Module -ListAvailable VMware* > Update-Module VMware.PowerCLI
direkt integriert, sondern nur als Funk- | Import-Module
tion aktivierbar. Daher laden Sie die für Fazit
Ihr Betriebssystem verfügbare Version Sie können sich jetzt per Connect-ViServer Auch Nicht-PowerShell-Experten unter
von der GitHub-Seite [9] von Microsoft verbinden. den vSphere-Administratoren sollten die
herunter. Diese Webseite wird übrigens im Artikel vorgestellten Einzeiler und
offiziell auf der Microsoft-PowerShell- Folgende PowerCLI-Befehle werden nicht Skripte die tägliche Routine deutlich er-
Website angegeben, um neue Versionen mehr unterstützt: leichtern. Die PowerShell und PowerCLI
herunterzuladen. Mit einer Standard- - Get-VMGuestNetworkInterface sind tolle und vielfältige Werkzeuge, die
installation landen die Daten in "C:\ - Set-VMGuestNetworkInterface immer wichtiger werden, je häufiger glei-
Program Files \ PowerShell" bezie- - Get-VMGuestRoute che Aufgaben zu erledigen sind und je
hungsweise in "PowerShell $env:Pro- - New-VMGuestRoute größer die Infrastruktur wird. Vielleicht
gramFiles \ PowerShell". Die seit 28. - Remove-VMGuestRoute hat unser Crashkurs ja Appetit auf mehr
Februar 2018 verfügbare PowerCLI 10 gemacht. (jp)
lässt sich hingegen sehr einfach instal- Netzwerkeinstellungen, die auf diesen
lieren und ist die erste PowerCLI-Ver- Cmdlets beruhen, müssen Sie mit dem Link-Codes

[1] VMworld 2017 Power Hour:


vSphere PowerCLI
10th Birthday Edition
I5ZC1
[2] VMware PowerCLI
I5ZC2
[3] Skripte auf virtu-al.net
I5ZC3
[4] PowerCLI-Poster
I5ZC4
[5] Storage vMotion Report
I5ZC5
[6] PowerCLI Report
I5ZC6
[7] vCheck-Skript
I5ZC7
[8] PowerCLI Core
I5ZC8
[9] PowerShell auf GitHub
Bild 4: Das kostenlose vCheck-Health-Check-Skript liefert I1P31
Statusinformationen aus der Virtualisierungsumgebung.

72 Mai 2018 Link-Codes eingeben auf www.it-administrator.de


Praxis-Know-how zum Vorbestellen:
Das IT-Administrator Sonderheft II/2018

Erfahren Sie auf 180 Seiten


alles rund um das Thema:

IT-Sicherheit
für KMUs
Konzepte, Werkzeuge
und Best Practices

Bestellen Sie jetzt zum Abonnenten-


Vorzugspreis* von nur 24,90 Euro!
Erhältlich
O k t o b e r
ab
Abo- und Leserservice
2018
IT-Administrator
vertriebsunion meynen Tel: 06123/9238-251 * IT-Administrator Abonnenten erhalten das Sonderheft II/2018 für € 24,90. Nichtabonnenten zahlen € 29,90.
IT-Administrator All-Inclusive Abonnenten "zahlen" für Sonderhefte nur € 16,00 - diese sind im Abonnement
Herr Stephan Orgel Fax: 06123/9238-252
dann automatisch enthalten. Alle Preise verstehen sich inklusive Versandkosten und Mehrwertsteuer.
D-65341 Eltville leserservice@it-administrator.de

shop.heinemann-verlag.de
Windows-Client-Management mit Puppet und WSUS

Quelle: irontrybex – 123RF


Tanz nach der Pfeife
von Tam Hanna

AMD-Workstations starben nach dem Einspielen von Microsofts Meltdown-Patch einen schnellen
Tod – gut weg kamen all jene, die ihre Update-Infrastruktur von der Microsoft’schen abgekoppelt
hatten. Das Werkzeug der Wahl ist seit jeher der WSUS-Server – seine Eintragung auf Seiten des
Clients übernimmt nun bei Bedarf Puppet.

m mögliche Missverständnisse von PuppetLabs offiziell unterstütztes Versionen sind andere Repositories zu
U schon vorab auszuräumen: wsus_ Plug-in. Ärgerlicherweise steht es um die verwenden:
client ist kein Werkzeug zur Konfigura- Kompatibilität nicht zum Besten (Bild 2),
tion des WSUS-Servers. Das Werkzeug und die Puppet-Enterprise-Versionen sind $ wget https://apt.puppetlabs.com/
befasst sich mit der Konfiguration des generell besser unterstützt als das frei ver- puppet5-release-xenial.deb
WSUS-Subsystems auf den auserwählten fügbare Puppet. Wir setzen uns an dieser $ sudo dpkg -i puppet5-release-
Clients – die Auswahl der zu installieren- Stelle frech über die Beschränkung auf xenial.deb
den Updates, ihr Herunterladen und an- maximal Puppet 5.0.0 hinweg. $ sudo apt update
dere Dinge erfolgen nach wie vor aus- $ sudo apt-get install puppetserver
schließlich am WSUS-Server. Erzeugen Sie zuerst eine neue virtuelle
Maschine auf Basis von Ubuntu Server Aufgrund des fehlenden Arbeitsspeichers
Wir wollen in den folgenden Schritten 16.04 und weisen Sie ihr nur 2 GByte muss die Datei "/etc/default/puppetserver"
eine kleine Infrastruktur aus einer Gruppe RAM zu. Damit wollen wir an dieser Stel- angepasst werden. Suchen Sie die mit "JA-
von virtuellen Maschinen errichten, um le auch die Konfiguration eines "speicher- VA_ARGS" beginnende Zeile und passen
die Möglichkeiten und Grenzen von armen" Puppet-Masters demonstrieren. Sie sie folgendermaßen an:
wsus_client kennenzulernen. Neben ei- Wichtiger ist das Vergeben des Hostna-
nem als WSUS-Deployer dienenden mens "puppet", da es sonst beim Verbin- JAVA_ARGS="-Xms512m -Xmx1g"
Windows Server 2012 benötigen wir auch dungsaufbau zu Fehlern bei der Zertifi-
einen unter Linux laufenden Puppetmas- katerzeugung kommt. Puppet läuft in einer Java-VM und ist
ter. Bild 1 zeigt die resultierende Archi- dementsprechend den Einstellungen der
tektur, die als Beispiel für andere Deploy- Zur Installation einer aktuellen Version Umgebung unterworfen. Xms und Xmx
ments dienen darf. von Puppet müssen Sie im ersten Schritt sind der klassische Zweikampf der VM-
die Repositories einpflegen, um danach Parametrierung – die beiden Variablen
Kompatibilitäts-Spiele den Downloadbefehl anzustoßen. Die legen gemeinsam fest, in welchem Bereich
Der wsus_client ist laut der unter [1] be- hier abgedruckten Kommandos gelten der Speicherbedarf der JVM liegen darf.
reitstehenden Webseite des Moduls ein nur für Ubuntu 16.04 – für andere OS- Die Installation erfolgt nach einem Neu-

74 Mai 2018 www.it-administrator.de


Puppet und WSUS Schwerpunkt

sich bei den Parametern an die Windows-


Registry erinnert fühlt, liegt nicht falsch
– mehr dazu weiter unten.

Server herbei
Zum Testen des Plug-ins brauchen wir
logischerweise eine Installation von
Windows Server 2012, im Interesse des
einfacheren Handlings entscheiden wir
uns für eine vollwertige Version samt
GUI. Puppet unterstützt in der Commu-
nity-Edition neben den Servern nur
Windows 10 Enterprise, die Bezahlversion
Bild 1: wsus_client ist aus architektonischer Sicht nicht sehr kompliziert. des Produkts ist in Sachen Unterstützung
etwas breiter aufgestellt.
start des Puppet-Servers (oder der ganzen geben Sie hier einen Wert, der Ihren Be-
VM) mittels puppet module install: dürfnissen entspricht – die Installation Besuchen Sie im Server sodann die URL
des WSUS-Servers selbst ist in der MSDN http://downloads.puppetlabs.com/win-
$ puppet module install puppetlabs- hinreichend beschrieben und soll uns hier dows/puppet5/, um die Datei puppet-
wsus_client --version 1.0.3 nicht weiter aufhalten. Zur Laufzeit prüft agent-5.3.3-x64.msi herunterzuladen.
Puppet nur, ob der Wert mit dem String Achten Sie darauf, beide virtuelle Maschi-
Ein Ärgernis für Quereinsteiger ist, dass "http" oder "https" beginnt. nen in ein gemeinsames Netzwerk ein-
die Firewall von Ubuntu Server den für zubuchen – der als Agent bezeichnete
die Kommunikation mit Clients erforder- In der Praxis sollten Sie zumindest einen Client sollte den Puppet-Master schon
lichen Port 8140 blockiert. Dieses Pro- Aktualisierungsplan festlegen. Eine Ba- während der Installation auffinden.
blem lässt sich mit iptables schnell lösen: sisversion der dazu notwendigen Config-
Klasse sieht folgendermaßen aus: Von geradezu lebensbedeutender Wich-
$ sudo ufw disable tigkeit ist es, dass sich Puppetmaster und
$ sudo iptables -I INPUT -m state -- class { 'wsus_client': Puppetagent unter dem selben Namen
state NEW -m tcp -p tcp --dport server_url => ansprechen: Wer die IP-Adresse des Pup-
8140 -j ACCEPT 'http://myserver:8530', petmasters im Installationsassistenten des
auto_update_option => "Schedu- Agenten eingibt, bekommt zur Laufzeit
Zu guter Letzt müssen Sie den Puppet- led", eine Fehlermeldung über ein nicht veri-
master anwerfen – das Kommando scheduled_install_day => "Tues- fiziertes Zertifikat.
nimmt einige Zeit in Anspruch. Prüfen day",
Sie zudem, ob der Dienst in der Ausgabe scheduled_install_hour => 2, Da das Einrichten eines DNS-Servers in
von netstat -ln auftaucht: } VirtualBox unnötige Arbeit verursacht,
editieren wir stattdessen die Datei "C:\
$ sudo systemctl start puppetserver "auto_update_option" legt hierbei fest, Windows\System32\drivers\etc\hosts".
wie der WSUS-Server mit eingehenden Sie verhält sich analog zu ihrem Unix-
Alle meine Klassen Updates umgehen soll. Übergeben Sie Gegenstück "/etc/hosts" und erlaubt das
Auch wenn sich wsus_client auf die Ver- "NotifyOnly", werden die Nutzer nur über Anlegen von "virtuellen" DNS-Aliasen.
waltung von Windows-Elementen kon- das Vorhandensein von Updates infor- Deklarieren Sie die Addresse der VM und
zentriert, bleibt der logische Aufbau der- miert. "AutoNotify" lädt automatisch he- weisen Sie den Namen "puppet" zu. Nach
selbe. Deployments lassen sich über eine runter, lässt dem Nutzer aber die alleinige einem Neustart (oder einem Refresh des
Klasse vom Typ wsus_client steuern – die Wahl über den Deployment-Zeitpunkt. DNS-Caches per ipconfig) sind Sie für
Basisversion sieht folgendermaßen aus: Der hier verwendete Wert liefert automa- den nächsten Schritt bereit.
tisch aus und installiert zu einem be-
class { 'wsus_client': stimmten Zeitpunkt, während die Option Für einen ersten Verbindungsversuch
server_url => 'http://myserver:my- "AutoInstall" eine vollständige Automa- reicht es aus, die Startmenüverknüpfung
port', tisierung anweist. "Run Puppet Agent" zu aktivieren. Dies
} sollte nicht mit einer roten Verbindungs-
"scheduled_install_day" und "scheduled_ fehlermeldung scheitern – das Ausgeben
Server_URL ist hierbei der wichtigste Pa- install_hour" legen dann den Zeitpunkt eines grünen Texts mit Informationen
rameter: Er beschreibt, wo der jeweilige fest, wann das eigentliche Deployment über fehlende Serverzertifikate ist derweil
Client den WSUS-Server vorfindet. Über- der Aktualisierungen zu erfolgen hat. Wer kein Problem. Beachten Sie, dass die Ein-

www.it-administrator.de Mai 2018 75


Sch w e rp unk t Puppet und WSUS

Ab diesem Zeitpunkt bekommt der je-


weilige WSUS-Server Informationen über
den Updatevorgang – beachten Sie, dass
Microsoft in der Dokumentation das Auf-
teilen zwischen Auslieferungs- und Re-
porting-Server explizit verbietet.

Wer seine WSUS-Installation unter


Nutzung der weiter oben vorgestellten
Bild 2: Die Kompatibilität zu den Puppet-Enterprise-Versionen ist besser als zur freien Version. Klasse einrichtet, freut sich darüber, dass
alles problemlos funktioniert. Normaler-
gabe von puppet cert list beim Arbeiten das Setzen von "no_auto_reboot_with_ weise geht dies gut – interessant wird es,
als "Normaluser" keine Resultate liefert – logged_on_users" an – als Parameter sind wenn es plötzlich nicht mehr funktioniert.
die anstehenden Ergebnisse werden nur "true" und "false" zulässig: Zum Verständnis: wsus_client ist eine Art
dann angezeigt, wenn man Puppet als su- Einstellungsassistent für WSUS-Clients
do ausführt. Unter Ubuntu Server kommt class { 'wsus_client': auf Windows-Zielen. Der WSUS wird le-
es dabei allerdings zu einem Fehler. ... diglich konfiguriert, nimmt selbst aber
no_auto_reboot_with_logged_on_users keine Befehle von Puppet entgegen.
Die Ursache des Problems ist, dass Puppet => true, Windows-erfahrene Entwickler wissen,
die Arbeitsumgebung des Superusers nicht dass die Einstellungen in der Registry un-
korrekt parametriert. Als Brutallösung wsus_client ist in der Lage, vom Admi- ter "HKLM\Software\Policies\Micro-
bietet sich das Finden der Datei mittels nistrator angegebene Anweisungen in soft\Windows\WindowsUpdate" bereit-
which an, die daraufhin zur Signierung mehrstufige Parametrierungsprozesse stehen. wsus_ client hat aber darauf kein
der Requests zweimal in Folge aufgerufen umzusetzen. Als Beispiel dafür die beiden Exklusivabonnement. Wer WSUS über
wird. Das Nutzen des "all"-Parameters sig- folgenden Befehle, die die Aktualisie- Gruppenrichtlinien oder mittels eines
niert alle anstehenden Requests: In einem rungsrate entweder auf eine Stunde oder Skripts steuert, muss damit rechnen, dass
produktiven Deployment sollten Sie da- aber auf Null setzen: sich die Konfigurationswerkzeuge in die
rauf achten, nur jene Clients zu signieren, Quere kommen.
die Konfigurationsdaten beziehen dürfen. class {'wsus_client':
An dieser Stelle verhält sich der Windows- server_url => Wer mehr über das Problem erfahren
Node im Großen und Ganzen so, wie Sie 'http://myserver:8530', möchte, findet im Code des Moduls Hilfe.
es von einem unter Unix laufenden Pup- detection_frequency_hours => 1 Puppet Labs deklarieren am Beginn der
pet-Agenten erwarten würden. } Datei "manifests/init.pp" die zur Verfü-
class {'wsus_client': gung stehenden Parameter – hier findet
Ein "smoke test" mit einer .pp-Datei und server_url => 'http://my- sich ein gutes Dutzend alter Bekannter:
dem Puppet-Apply-Brecheisen scheitert server:8530',
bei Ausführung am unter Ubuntu laufen- detection_frequency => false class wsus_client (
den Puppetmaster mit einem Verweis auf } $server_url
fehlende Bibliotheken. Arbeiten Sie unter = undef,
Windows in einem Kommandozeilenfens- Puppet erkennt, dass der zweite Fall die $enable_status_server
ter, so müssen Sie das fehlende Modul vor automatisierte Suche deaktiviert – steht = undef,
der erstmaligen Benutzung herunterladen. dort stattdessen ein numerischer Wert, $accept_trusted_publisher_certs
Die korrekte Einrichtung des WSUS-Ser- setzt Puppet den "allgemeinen" Aktivie- = undef,
vers lässt sich per Regedit überprüfen – rungsschlüssel in der Registry. wsus_client $auto_update_option
auch mit dem an sich nicht unterstützten bietet einen weiteren Parameter, mit dem = undef, #2..5 valid values
Puppet 5.3.3 landen die Schlüssel dort, wo Sie den in WSUS integrierten Reporting- $auto_install_minor_updates
man sie erwartet. Assistenten aktivieren können: = undef,
$detection_frequency_hours
Deep config... class { 'wsus_client': = undef,
Schlecht konfigurierte Auto-Updater trei- server_url => $disable_windows_update_access
ben Nutzer zur Weißglut – in einem be- 'http://myserver:8530', = undef,
freundeten Rüstungsbetrieb brachten ge- enable_status_server => true, $elevate_non_admins
quälte Mitarbeiter irgendwann eigene } = undef,
Firewall-Appliances mit, um die lästigen $no_auto_reboot_with_logged_on_
automatisierten Neustarts zu unterbinden. Steht "enable_status_server" auf true, setzt users = undef,
Zur Umgehung des Problems bietet sich Puppet den Schlüssel "WUStatusServer". $no_auto_update

76 Mai 2018 www.it-administrator.de


= undef, Hashtabelle aus den im Skript anzuge-
$reboot_relaunch_timeout_minutes benden Werten entsteht:
$reboot_warning_timeout_minutes
= undef, day_hash = {'Everyday' => 0,
$reschedule_wait_time_minutes
= undef,
'Sunday' => 1,
'Monday' => 2, NEWSLETTER
$scheduled_install_day 'Tuesday' => 3,
= undef, 'Wednesday' => 4, jetzt abonnieren:
$scheduled_install_hour 'Thursday' => 5,
= undef, 'Friday' => 6,
$always_auto_reboot_at_scheduled_ 'Saturday' => 7}
time = undef,
$always_auto_reboot_at_scheduled_ wsus_client ist unserer Ansicht nach eines
time_minutes = undef, der besser geschriebenen Plug-ins für
$target_group Puppet. Wer mehr über Puppet-Module
= undef, für Windows erfahren möchte, kann den
$purge_values gut strukturierten Code studieren.
= false,
Englischsprachige Quellen versprachen
Weiter unten findet sich die Deklaration nach dem Erscheinen des Clients das
des Schlüssels, der WSUS konfiguriert. baldige Nachliefern eines Moduls, das
Damit ist bewiesen, dass die Theorie der die Konfiguration des WSUS-Servers
"Konfiguration durch Setzen von Regis- beackert. Leider gibt es hier keine po-
try-Werten" korrekt ist: sitiven Informationen zu vermelden.
Andererseits sind WSUS-Server sehr
$_basekey = $::operatingsystemre- effizient: Laut Berichten sind 100.000
lease ? { Clients pro Server beim Anpassen der
default => 'HKLM\Software\Poli- von Microsoft eher konservativ einge-
cies\Microsoft\Windows\WindowsUp- stellten Variable "MaximumAllowed-
date' Computers" kein Problem. Zur Ermitt-
} lung ihres aktuellen Werts hier noch ein
kleines PowerShell-Skript:
Das Herausschreiben der Werte erfolgt
mit Hilfe der Settings-Klasse, die im Git- $config = (Get-WsusServer).GetConfi-
hub-Repository an separater Stelle bereit- guration()
steht. Als Beispiel hier noch der Aufruf, $config.MaximumAllowedComputers
um den Wert von "AcceptTrustedPubli-
sherCerts" in den Konfigurationsspeicher Fazit Jede Woche aktuelle
des Clients zu schieben: Wenn Windows-Clients ihre Konfigura-
tion per Puppet erhalten und ein WSUS- News, freie Artikel
wsus_client::setting { Server zur Verfügung steht, spricht nichts
"${_basekey}\\AcceptTrustedPublis- dagegen, wsus_client eine Chance zu ge-
und Admin-Tipps
herCerts": ben. Schließlich bedeutet jeder automa-
data => $accept_trus- tisiert ablaufende Schritt eingesparte Ar-
ted_publisher_certs, beitszeit, die sich anders produktiver
has_enabled => false, nutzen lässt. Ob sich das Deployen von
validate_bool => true, Puppet ausschließlich zur Verwaltung der
} WSUS-Einstellungen lohnt, ist schwerer
zu beantworten – bedenken Sie, dass Mi-
Interessant ist auch das in "puppetlabs- crosoft mit den Gruppenrichtlinien ein
wsus_client/lib/puppet/parser/functions/ ähnliches Werkzeug anbietet. (of)
parse_scheduled_install_day.rb" liegende
Parsing des weiter oben besprochenen Link-Codes
Installationstages. Microsoft speichert in
[1] wsus_client
der Registry ein von null bis sieben lau-
I5Z31
fendes Integer, das unter Nutzung einer
www.admin-magazin.de/
newsletter
Link-Codes eingeben auf www.it-administrator.de
Quelle: pressmaster – 123RF
Kostenlose Editoren im Überblick

Alles im Griffel
Dr. Holger Reibold

Gleich, ob Sie nun eine Konfigurationsdatei bearbeiten, eine Protokolldatei analysieren oder eine
einfache App programmieren wollen: Sie benötigen keine komplexe Entwicklungsumgebung,
meist genügt ein leistungsfähiger Texteditor. IT-Administrator hat kostenlose Editoren unter
die Lupe genommen.

ällt das Stichwort "Editor", denken Neben einer Handvoll Klassiker existieren upfunktionen, einer eigenen Projekt -
F viele Windows-Anwender gleich durchaus interessante kostenlose Alter- verwaltung, integriertem FTP-Client,
an Notepad – und der einfache Texteditor nativen, die einen Blick wert sind. In die- Exportmöglichkeiten und einer erweiter-
hat durchaus seine Berechtigung, wenn sem Artikel nehmen wir acht Textedito- baren Architektur. Gerade bei den Zu-
es um das Bearbeiten simpler CONF-, ren unter die Lupe und arbeiten Stärken satzfunktionen gibt es zum Teil erhebliche
INI- oder TXT-Dateien unter Windows und Schwächen heraus. Unterschiede. Last but not least sind auch
geht. Doch für komplexe Aufgaben ist die Bedienung und das Programmhand-
das Programm nicht zu gebrauchen, Prinzipiell muss ein Editor unterschied- ling ein wichtiger Aspekt.
denn es fehlen essenzielle Funktionen liche Codierungen sowie Programmier-
wie eine intelligente Eingabehilfe, Auto- und Auszeichnungssprachen unterstüt- Die Klassiker: Emacs und Vim
vervollständigung, Rechtschreibprüfung, zen. Auch Autovervollständigung, einen An der Frage, welcher der beste Texteditor
Syntaxhervorhebung, Such- und Ver- Makrorecorder für die Aufzeichnung wie- für Administratoren und Entwickler ist,
gleichsfunktion; ganz zu schweigen von derkehrender Arbeiten und eine leis- reiben sich bereits Generation von Unix-
Makro- oder Projektmanagement- oder tungsfähige Suchfunktion gehören zur Anwendern auf. Als Höhepunkt dieses
gar von Backupfunktionen. Grundausstattung. Ein praxistauglicher Wettstreits gilt der selbstausgerufene "Edi-
Texteditor kann außerdem Textpassagen tor War" [1]. Das Kernproblem von
Ein Blick in Software-Archive zeigt, dass für die Wiederverwendung verwalten. Emacs und Vim: Die beiden Editoren be-
es eine Vielzahl von Texteditoren gibt. Komfortabel wird der Umgang mit Back- sitzen eine sehr flache Lernkurve. An-

78 Mai 2018 www.it-administrator.de


Editoren Schwerpunkt

wender müssen viel Zeit inves- für unterschiedliche Skript-


tieren, um einen der Editoren und Programmiersprachen.
zu beherrschen. Die meisten Notepad++ verfügt zwar über
Administratoren entscheiden einen Makrorecorder, mit dem
sich daher für einen der beiden Sie Aktionen aufzeichnen und
Editoren. Unabhängig davon bei Bedarf abspielen können,
sind sie natürlich in der Lage, doch bietet er kaum Bearbei-
sich relativ schnell in die grund- tungs- und Strukturierungs-
legenden Funktionen des ande- möglichkeiten.
ren Editors einzuarbeiten.
Für Web-Entwickler interes-
Ein Blick auf Emacs und Vim sant: Notepad++ kann Quell-
weckt Assoziationen mit längst dateien in verschiedene For-
vergangenen Zeiten. Beide Edi- mate exportieren, auch nach
toren wirken, als wäre die Zeit HTML, und die Exporte mit
stehen geblieben. Insbesondere Hilfe des integrierten FTP-
Linux-Administratoren schwö- Clients auf einen entfernten
ren aber auf sie, weil sie die Pro- Server übertragen. Der schlan-
gramme permanent geöffnet Bild 1: Emacs in Aktion. Auch wenn das Handling gewöhnungsbedürftig ist, ke Editor kann außerdem dank
lassen und administrative Auf- schwören viele Administratoren auf den Klassiker. seiner Setup-Möglichkeiten ein-
gaben erledigen können. Der fach auf USB-Sticks installiert
Emacs-Editor (Bild 1) kann in verschie- Windows ausgeführt werden. Funktional und eingesetzt werden. Wiederkehrende
denen Modi betrieben werden, die für die gibt es an Vim wenig Kritik zu äußern: Elemente verwalten Sie mit dem Block-
Erstellung von Quelltext in unterschied- Das Programm bietet alle wichtigen Editor. Mit der F12-Taste lässt sich der
lichen Programmier- beziehungsweise Funktionen für das Editieren von Code- Post-it-Modus aktivieren, der alle Bedien-
Auszeichnungssprachen relevant sind. und Textdateien, darunter Standardfunk- elemente des Editors ausblendet und den
tionen wie einen Makrorecorder und eine Editor im Vordergrund fixiert. Für um-
Emacs kann beispielsweise als HTML- Vergleichsfunktion. Um Einsteigern Vim fangreiche Arbeiten stellt Notepad++ eine
Editor eingesetzt werden und übernimmt schmackhaft zu machen, wurden im Lau- Projektverwaltung zur Verfügung. Wenn
wie alle anderen hier vorgestellten Werk- fe der Zeit verschiedene Modifikationen Ihnen die Basisfunktionalität nicht ge-
zeuge Syntaxüberprüfungen. Die meisten entwickelt. Die bekannteste dürfte die nügt, können Sie das Programm um Er-
dieser Betriebsarten bieten Syntaxhervor- GUI gVim sein, die dem Editor eine Be- weiterungen funktional aufbohren.
hebung. Emacs unterstützt auch Überset- nutzerschnittstelle verpasst, wie man sie
zungsvorgänge und bietet einen Debug- von anderen Texteditoren kennt. Für den Der Unbekannte: PSPad
ger. In der Basiskonfiguration verfügt Einsatz von Vim sprechen seine Kom- Es müssen nicht immer die benannten
Emacs über einen Kalender, mehrere paktheit und Schnelligkeit. und vermeintlich etablierten Werkzeuge
News- und Mailreader mit POP- und sein, die eine gute Figur machen. Zu den
IMAP-Support, eine eingebaute Shell und Der Klassiker: Notepad++ zu Unrecht weniger beachteten Textedi-
einen FTP-Client. Außerdem können ver- Ein echter Klassiker unter den Textedi- toren gehört PSPad (Bild 3). Auf den ers-
schiedene Tools in Emacs integriert wer- toren ist Notepad++, das als Ersatz für ten Blick wirkt die Benutzerschnittstelle
den, sogar Webserver. Emacs bildet die den Windows-Standard-Editor konzipiert ein wenig altbacken, doch funktional
Basis für verschiedenste Klone und Wei- ist (Bild 2). Wie viele Konkurrenzpro- muss sich der von Jan Fiala entwickelte
terentwicklungen – auch kommerzielle. gramme wirkt auch bei diesem Werkzeug Editor nicht hinter anderen Werkzeugen
Neben Linux- existieren auch Windows- die Benutzerschnittstelle antiquiert. Das verstecken – im Gegenteil.
Portierungen, die sich funktional kaum mag auch daran liegen, dass dieses Genre
unterscheiden. nur eine begrenzte Zielgruppe hat und PSPad ist laut Angaben des Entwicklers
diese tendenziell weniger auf Benutzer- ein für Programmierer und Webdesig-
Bei Vim (Vi Improved) handelt es sich komfort als auf Funktionalität setzt. Wie ner zugeschnittener Unicode-fähiger
um eine Weiterentwicklung des Unix- bei vielen anderen Editoren wirkt die Editor für Windows. Zu seinen beson-
Texteditors vi. Der freie Editor kann wie Oberfläche überladen und auf den ersten deren Merkmalen gehört das einfache
Emacs auf eine lange Tradition zurück- Blick wenig schlüssig. Arbeiten mit verschiedenen Entwick-
blicken und wird seit 1991 federführend lungsumgebungen. Der Editor bietet
von Bram Moolenaar entwickelt. Vim Notepad++ bietet eine Fülle von Stan- Syntaxhervorhebung für unzählige Pro-
kennt wie Emacs verschiedene Betriebs- dardfunktionen wie Syntaxhervorhebung, grammiersprachen. Für Webdesigner
Modi. Eine weitere Parallele zu Emacs: Code-Prüfung, Autovervollständigung steht eine HTML-Vorschau zur Verfü-
Auch Vim kann unter Linux und und die Verwendung von Farbschemata gung, die ein Tastendruck öffnet. Mit der

www.it-administrator.de Mai 2018 79


Sch w e rp unk t Editoren

die Entwicklung in einer vertrauten Um-


gebung erfolgen kann und es nicht zu
Kompatibilitätsproblemen beim Einsatz
von Add-ons, Makros, Templates oder
sonstigen Erweiterungen kommt.

Da für die Ausführung von jEdit eine


JRE-Installation benötigt wird, sollte der
Rechner über ausreichende Ressourcen
verfügen, damit ein flüssiges Arbeiten
möglich ist. Anwender, die aus der Win-
dows-Welt kommen, müssen sich ein we-
nig einarbeiten, weil das Handling sich
nicht immer sofort erschließt. Unterschie-
de gibt es beispielsweise bei den Öffnen-
und Speichern-Dialogen.

Bild 2: Notepad++ gehört zu den Klassikern unter den kostenlosen Texteditoren für Windows, bietet Zu den Highlights von jEdit gehört die
aber letztlich nur Hausmannskost. Suchfunktion, mit der Sie die Suche auf
bestimmte Dateien, Richtungen, Ver-
Integration von HTML Tidy kann nutzerkomfort. Sowohl für Autoren als zeichnisse und weitere Kriterien be-
HTML-Code validiert und in CSS, XML, auch Entwickler bietet das Programm alle schränken können. Auch die Verwendung
XHTML umgewandelt werden. wichtigen Funktionen – ein gelungener weiterer Filter ist möglich. Über den Plug-
Mix, der ihn zu einem der besten Text- in-Manager können Sie die Basisfunktio-
PSPad besitzt den Funktionsumfang eines editoren für Windows-Anwender macht. nalität um zusätzliche Module, Werkzeuge
professionellen Editors bei gleichzeitig Einziges Manko: Die Weiterentwicklung und Bibliotheken erweitern.
geringer Dateigröße, kann aber prinzipiell ist seit 2015 ins Stocken geraten. Daher
beliebig große Dateien editieren. Im Un- ist unklar, ob und wenn ja wann mit einer Auch wenn jEdit sich funktional eher im
terschied zu anderen Editoren verfügt neuen Version zu rechnen ist. Mittelmaß der hier vorgestellten Werk-
PSPad über ein eigenes Projektmanage- zeuge bewegt, zählen die Makrofunktio-
ment. Die Suche kann dateiübergreifend Plattformübergreifend: jEdit nen zweifelsohne zu den Highlights des
angewendet werden. Autoren profitieren Der Java-basierte Editor jEdit (Bild 4) ist Editors. jEdit erlaubt nicht nur die Auf-
von der Autokorrektur und der Suchfunk- insbesondere für die Administratoren in- zeichnung, sondern stellt umfangreiche
tion. Auch hinsichtlich der Erweiterbar- teressant, die auf verschiedenen Plattfor- Funktionen für die Nachbearbeitung zur
keit und Automatisierung macht das Pro- men arbeiten. So ist sichergestellt, dass Verfügung. Lob hat sich außerdem die
gramm eine gute Figur, da der Editor die
Skriptsprachen des Windows Scripting
Hosts verwendet. Mit Hilfe des Makro-
Rekorders können Sie Makros aufneh-
men, speichern und wiederverwenden.

PSPad erlaubt den Vergleich von Dateien


mit farbiger Hervorhebung der Unter-
schiede. Überall dort, wo das Programm
an seine Grenzen stößt, können externe
Programme eingebunden werden. Auch
die Integration von externen Compilern
für das Auffangen des Outputs ist mög-
lich. In der Praxis sind es manchmal die
kleinen Dinge, die das Leben einfach ma-
chen: So können Sie farbige Hervorhe-
bung der Syntax bei der Druckausgabe
und der Druckvorschau verwenden.

PSPad bietet in der Summe eine tolle Bild 3: Zwar längst kein Geheimtipp mehr, doch präsentiert sich der weniger bekannte Editor PSPad
Funktionsvielfalt gepaart mit hohem Be- als bester Allrounder in diesem Vergleich.

80 Mai 2018 www.it-administrator.de


Editoren Schwerpunkt

umfangreiche Hilfe verdient, die den An-


wender in die wesentlichen Konzepte des
Programms einführt und jede Menge In-
formationen zur Makro-Entwicklung und
-Bearbeitung bietet.

Geheimtipp: SynWrite
Auch der SynWrite-Editor (Bild 5) gehört
zu den weniger bekannten Texteditoren
und wird häufig zwischen den bekannten
Werkzeugen übersehen. Bereits die Web-
site des Projekts macht einen eher redu-
zierten Eindruck, doch der Editor bietet
für Administratoren und Entwickler eine
ganze Menge. Rein optisch erinnert Syn-
Write sehr an PSPad und Notepad++. Die
Benutzeroberfläche wirkt auf den ersten
Blick unübersichtlich und daran ändert
sich auch nach dem ersten Kennenlernen
nur wenig.
Bild 4: Administratoren und Entwickler, die auf mehreren Betriebssystemplattformen unterwegs sind,
Über die Werkzeugleiste stehen die ver- sind mit dem Java-basierten jEdit bestens bedient.
schiedenen Funktionen wie der Dateiex-
plorer und FTP-Client zur Verfügung. Write die Baumstruktur aller Program- Der Editor führt über die Inhalte Buch,
Die Stärken des Programms liegen ein- mierroutinen ein. Das sorgt für einen bes- die Sie in die Zwischenablage kopiert ha-
deutig bei den Programmierfunktionen. seren Überblick und vereinfacht die Na- ben. Per Mausklick können spezifische
Bei unterstützten Code-Dateien liest Syn- vigation in den Programmierprojekten. Elemente erneut verwendet werden.

Praxis-Know-how für Admins:


Das IT-Administrator Sonderheft I/2018

Erfahren Sie auf 180 Seiten


alles rund um das Thema:

Exchange Server 2016


Migration, Verwaltung
und Optimierung

Bestellen Sie jetzt zum Abonnenten-


Vorzugspreis* von nur 24,90 Euro!

Abo- und Leserservice


* IT-Administrator Abonnenten erhalten das Sonderheft I/2018 für € 24,90. Nichtabonnenten zahlen € 29,90.
IT-Administrator Alle Preise verstehen sich inklusive Versandkosten und Mehrwertsteuer.
vertriebsunion meynen Tel: 06123/9238-251
Herr Stephan Orgel
D-65341 Eltville
Fax: 06123/9238-252
leserservice@it-administrator.de shop.heinemann-verlag.de
Sch w e rp unk t Editoren

Betriebssystem entwickelt. Inzwischen ist


das Projekt allerdings eingestellt und wird
als BBEdit 12 weiterentwickelt.

TextWrangler ist ein Allzweck-Code- und


Texteditor, der die identische Benutzer-
schnittstelle wie der HTML- und Texte-
ditor BBEdit verwendet. Von Haus aus
bietet der Editor lediglich Basisfunktionen
für die Bearbeitung von Code- und Text-
dateien. Eines der wenigen Highlights ist
die Vergleichsfunktion, die Unterschiede
zwischen zwei Dateien identifiziert. Die
Suchfunktion kann sich ebenfalls mit de-
nen anderer hier vorgestellter Editoren
messen. Für das Erstellen von Skripts grei-
fen Sie zum integrierten Skript-Editor.
Doch auch der bietet kaum mehr als
grundlegende Funktionen.

Immerhin: TextWrangler kann Dateien


Bild 5: Trotz manch funktionaler Schwächen und einer wenig gelungenen von entfernten FTP-Servern laden, be-
Benutzerführung ist SynWrite bestens für Entwickler geeignet. arbeiten und auch wieder dort ablegen.
Eine Integration von anderen Diensten
Außerdem verfügt SynWrite über leis- SynWrite liegen zweifelsohne mehr bei ist nicht vorgesehen. Wenn Sie primär
tungsfähige Makrofunktionen, mit denen Programmieraufgaben als bei der Bear- HTML-Dokumente bearbeiten wollen,
Sie nahezu beliebige Prozeduren automa- beitung von Dateien. werden nach Angaben der Entwickler
tisieren und bei Bedarf abspielen lassen. die aktuellen W3C-Standards nicht voll-
Entwickler profitieren von den Plausibi- Ein Muss für Mac-Anwender: ständig unterstützt. Ein Live-Preview ist
litäts- und Gültigkeitsprüfungen, die be- TextWrangler ebenfalls nicht verfügbar. TextWrangler
reits während der Programmierarbeit den Mac-Anwender müssen schon einige Mü- bietet auch keine durchgängige Textver-
Code unter die Lupe nehmen und auf he aufbringen, um einen leistungsfähigen vollständigung oder komfortablen Funk-
mögliche Probleme hinweisen. Texteditor zu finden. Noch schwieriger tionen für den Umgang mit Code- oder
wird es, wenn es sich um einen kosten- Textbausteinen sowie zwischenkopierten
Ein Highlight von SynWrite trägt die Be- losen Editor handeln soll. Mit TextWrang- Elementen. Projektmanagementfunktio-
zeichnung "Document mini-map". Da- ler (Bild 6) hat Bare Bones Software einen nen lässt das Tool genauso wie Work-
hinter verbirgt sich eine Visualisierung guten kostenlosen Texteditor für Apples flow-Unterstützung vermissen. Alles in
eines geladenen Dokuments. Auch dieses
Feature vereinfacht die Navigation in Tex-
ten. Nicht minder interessant sind neben
den Projekt- die Backupfunktionen, die
das Erstellen von Sicherheitskopien er-
lauben. Mit Hilfe der leistungsfähigen
Suchfunktionen spüren Sie jedes Element
in Dateien auf. Dabei können auch regu-
läre Ausdrücke verwendet werden.

Längst keine Selbstverständlichkeit: Für


den englischsprachigen Editor steht
auch die deutsche Sprachdatei zum
Download bereit. Diese muss allerdings
manuell installiert werden. Ein echtes
Manko von SynWrite ist die mangelhafte
Benutzerführung. Das Programmhand-
ling ist bisweilen umständlich und Bild 6: TextWrangler ebnet für macOS-Anwender den Einstieg in die Welt der kostenlosen
schwer nachvollziehbar. Die Stärken von Texteditoren, ohne allerdings wirklich zu überzeugen.

82 Mai 2018 www.it-administrator.de


Editoren Schwerpunkt

Editoren im Überblick
Notepad++ SynWrite TextWrangler Visual Studio
Emacs 25.3 jEdit 5.4.0 PSPad 4.6.2 Vim 8.0p
7.5.5 6.40 5.5.2 Code 1.12.1
Richard Bram
Verschiedene Bare Bones
Entwickler Stallman, Guy Don Ho Jan Fiala UVViewSoft Moolenaar und Microsoft
Freiwillige Software
L. Steele Jr. u.a. andere
Lizenz GPL GPL GPL Freeware GPL Freeware GPL MIT-Lizenz
Linux/Unix, Linux/Unix, Linux/Unix, Linux/Unix,
System-
macOS, macOS, Windows Windows Windows macOS macOS, macOS,
voraussetzungen
Windows Windows Windows Windows

Ausstattung

Makrorecorder Nein Ja Ja Ja Ja Nein Ja Nein


Über FTP-
FTP-Client Ja Über Add-in Über Add-in Ja Ja Ja Über Plug-in
Extension
Projektverwaltung Nein Nein Nein Ja Ja Nein Nein Ja
Backupfunktionen Ja Nein Nein Nein Nein Nein Nein Nein
Erweiterbare
Ja 200+ Plug-ins Ja Ja Python Plug-ins Nein Ja Ja
Architektur
Erweiterungen,
Flexibilität, Stil- Erweiterungen, Document
Besonderheiten Code-Faltung Visual Mode Aufgabenver-
Versionkontrolle Konfiguration Hex-Editor mini-map
waltung

Funktionen

Über Plug-in
Textfunktionen Ja Nein Ja Ja Ja Ja Ja
TextFX
Text-/Code-
Ja Ja Ja Ja Ja Ja Ja Ja
Bausteine
Rechtschreibprüfung Ja Ja Ja Ja Eingeschränkt Ja Ja Nein
Verwaltung
Ja Ja Ja Ja Ja Ja Ja Ja
Zwischenablage
Suchen&Ersetzen Ja Ja Ja Ja Ja Ja Ja Ja
Syntaxhervorhebung Ja Ja Ja Ja Ja Ja Ja Ja
Farbschema Ja Ja Ja Ja Ja Ja Ja Ja
Referenz Nein Nein Nein Ja Nein Nein Nein Nein
54, über Plug-
Unterstützte Sprachen k. A. 200+ ins weitere Über 30 Über 75 k. A. 500+ k. A.
möglich
Export Ja Nein Ja Ja Ja Ja Ja Ja
Druck/Vorschau Ja / Nein Ja / Nein Ja / Nein Ja / Ja Ja / Ja Ja / Nein Über Hardcopy Nein / Nein

ITA-Bewertung Gut Gut Gut Sehr gut Gut Befriedigend Gut Befriedigend

allem ist TextWrangler kein schlechter, Laut Microsoft soll Visual Studio Code facht. Visual Studio Code enthält inte-
aber eben doch nur ein rudimentär aus- das blitzschnelle Programmieren in Hun- grierte Unterstützung für die Intelli-
gestatteter Texteditor. derten Sprachen erlauben, doch sind an- Sense-Code-Vervollständigung, seman-
dere hier vorgestellte Editoren dank einer tisches Code-Verständnis und -Navigation
Multi-Plattform-Code Editor: schlanken Code-Basis subjektiv schneller. sowie Code-Refactoring. Visual Studio
Visual Studio Code Visual Studio Code bietet klassische Code verfügt über einen interaktiven De-
Auch Microsoft bietet für Administrato- Funktionen eines Programmierwerkzeugs bugger, mit dem Sie den Quellcode und
ren und Entwickler interessante kosten- wie die Syntaxhervorhebung, Klammer- Variablen prüfen können.
lose Werkzeuge – und das sogar für den anpassung, automatische Einrückung,
plattformübergreifenden Einsatz. Mit Vi- Boxauswahl und Snippets. Über indivi- Visual Studio Code integriert außerdem
sual Studio Code (Bild 7) stellt Microsoft duell anpassbare Tastaturkürzelzuord- verschiedene Build- und Scripting-Tools,
seit 2016 einen Code-Editor bereit, der nungen wird das Navigieren in umfang- mit denen Sie häufige Aufgaben bewälti-
nativ nicht nur unter Windows arbeitet, reichen Projekten einfach. Serielles gen und die Arbeitsabläufe beschleunigen.
sondern auch für Linux entwickelt wird. Codieren wird durch Textblöcke verein- Eine weitere Besonderheit: Visual Studio

www.it-administrator.de Mai 2018 83


Sch w e rp unk t Editoren

Außer Konkurrenz: UltraEdit


"Einer für alles" lautet das Motto von Ultra-
Edit [2] (Bild 8). Seinen exzellenten Ruf ver-
dankt UltraEdit seiner enormen Funktions-
vielfalt. Manchen Einsteiger wird das
Angebot an Funktionen regelrecht erschla-
gen, doch kann die Benutzerschnittstelle an
die jeweiligen Wünsche angepasst werden.
UltraEdit kennt alle wichtigen Programmier-
und Skriptsprachen und bietet dafür Syntax-
Hervorhebung. Mit Hilfe von Themes und
Layouts kann die Umgebung an die eigenen
Wünsche angepasst werden. Die integrierte
Vergleichsfunktion arbeitet schnell und be-
nutzerfreundlich. Der integrierte FTP-Client
überträgt die Daten auf jedes beliebige Ziel.
Bei größeren Projekten profitieren Anwender
von dem Datei- und Projektmanager. Einen
guten Eindruck hinterlässt die Suchen- und
Ersetzen-Funktion.
Anwender, die mit mehreren Systemen arbei-
Bild 7: Visual Studio Code tut, was es soll – nicht mehr, aber auch nicht weniger. ten, profitieren von der 3-für-1-Lizenz: Beim
Erwerb einer Lizenz kann UltraEdit auf drei
unterstützt Git, das heißt, Sie können mit Erweiterbarkeit des Editors sind einfacher. Endgeräten eingesetzt werden. Da es sich bei
der Quellcodeverwaltung arbeiten, ohne Laut Microsoft soll Visual Studio Code UltraEdit um eine Multiplattform-Lösung
den Editor zu verlassen. in Zukunft so erweitert werden, dass die handelt, steht einem parallelen Einsatz unter
Plug-in-Schnittstelle auch von externen macOS, Linux und Windows nichts im Wege.
Die technologische Basis von Visual Stu- Entwicklern genutzt werden kann. Für knapp 100 Euro erhält man mit UltraEdit
dio Code bildet der Atom-Editor von Git- einen erstklassigen Editor, der auch an-
spruchsvolle Anwender glücklich macht.
hub, wobei Visual Studio Code eine adap- Auch für Visual Studio Code gilt: Der
tierte Variante der in Atom eingesetzten Editor ist sicherlich kein schlechtes Werk-
Electron Shell verwendet, die Node.js und zeug, kann aber hinsichtlich der Ausstat- Fazit
Chromium zur Darstellung der Oberflä- tung und des Benutzerkomforts nicht Welcher im Einzelfall der optimale Editor
che nutzt. Der entscheidende Vorteil die- wirklich mit anderen hier vorgestellten ist, hängt primär vom Anwendungsbereich
ser Architektur: Die Portierbarkeit und Werkzeugen mithalten. ab. Alle hier vorgestellten Editoren ver-
richten ihren Dienst und machen bei Ba-
sisfunktionen eine gute Figur. Die Spreu
trennt sich vom Weizen, wenn es um Zu-
satzfunktionen wie eine Projektverwaltung
geht. Als bester Allrounder, der für Admi-
nistratoren genauso geeignet ist wie für
Autoren und Entwickler, entpuppte sich
der weniger bekannte PSPad. Wer mehr
Funktionalität und Benutzerkomfort be-
nötigt, muss wohl oder übel ein wenig
Geld in eine UltraEdit-Lizenz investieren.
Liegt der Fokus auf klassische administra-
tive Aufgaben, machen Sie mit Emacs und
Vim nichts falsch. (of)

Link-Codes

[1] Emacs vs. Vim


I5Z81
[2] UltraEdit
Bild 8: UltraEdit macht seinem Namen alle Ehre und bietet
I5Z82
eine schier unerschöpfliche Funktionsvielfalt. Mehr geht kaum für knapp 100 Euro.

84 Mai 2018 Link-Codes eingeben auf www.it-administrator.de


Kompetentes
Schnupperabo
sucht neugierige
Administratoren
Sie wissen, wie man Systeme
und Netzwerke am Laufen hält.
Und das Magazin IT-Administrator weiß,
wie es Sie dabei perfekt unterstützt:

Mit praxisnahen Workshops, aktuellen


Produkttests und nützlichen Tipps und
Tricks für den beruflichen Alltag.

Damit Sie sich Zeit,


Nerven und Kosten sparen.

e n S i e j e t z t
Test
A u s g a b e n zum
sechs i !
i s v o n d r e
Pre

Abo- und Leserservice IT-Administrator

shop.heinemann-verlag.de
vertriebsunion meynen Tel: 06123/9238-251
Herr Stephan Orgel Fax: 06123/9238-252
D-65341 Eltville leserservice@it-administrator.de
Management-Helfer
für Vim-Plug-ins

Schreib-
hilfe
von Bruce Byfield
Quelle: bowie15 – 123RF

Vim ist einer der beliebtesten Editoren und eines der beliebtesten Open-Source-Tools
überhaupt. Ein Grund für seine Popularität ist seine über Plug-ins erweiterbare Funktionalität,
von denen es über 1500 gibt. Die hier vorgestellten Tools helfen dabei, diese Erweiterungen
zu installieren und zu verwalten.

ie meisten Anwender verwenden eine Registry verfügbarer Erweiterungen für jede Vim-Erweiterung ein eigenes
D wahrscheinlich weniger als ein in "/usr/share/vim", ein Quellverzeichnis Verzeichnis anzulegen, was das Manage-
Dutzend Plug-ins für ihren Editor, aber "/usr/share/vim/addons" und ein Instal- ment sehr erleichtert. Allerdings kann
selbst eine so geringe Zahl zu managen, lationsziel "$HOME/.vim" für einzelne Pathogen Plug-ins nicht automatisch ak-
ist schon nicht ganz einfach. Liegen sie User oder "/var/lib/vim/addons" für alle tualisieren oder löschen.
unbeachtet im Verzeichnis "$HOME Anwender zurück. Diese Verzeichnisse
/.vim/plugin", wird die Aktualisierung lassen sich mit den Aufrufschaltern "-r", Weil Pathogen eine andere Verzeichnis-
schon schwierig. Deshalb gibt es einige "-s" und "-t" ändern. Um verfügbare Plug- struktur nutzt als Standard-Vim, sollten
Plug-in-Manager, die dabei helfen, Plug- ins anzuzeigen, verwenden Sie: Sie vor der Installation die alten Verzeich-
ins zu installieren, zu aktualisieren und nisse und Files wie ".vim" und ".vimrc"
zu löschen: Vim-Addon-Manager, Patho- $ vim-addons list speichern und umbenennen. Um Patho-
gen sowie dessen Ableger Vundle und gen zu installieren, legen Sie zuerst zwei
Neobundle. Welche Lösung Sie verwen- Sie sehen dann zu jeder Erweiterung den Verzeichnisse an und laden das Plug-in
den, hängt von Ihren spezifischen Be- Status (installed, removed, disabled, bro- über die Homepage des Autors Tim Pope
dürfnissen ab, aber sie alle helfen dabei, ken, unavailable), den Sie für einzelne von Github herunter:
Vim-Plug-ins einfacher zu verwalten. Plug-ins mit vim-addons status Plug-in
ermitteln. Ein Plug-in installieren Sie mit $ mkdir -p ~/.vim/autoload
Vim-Addon-Manager ~/.vim/bundle
Anders als die anderen Lösungen wird $ vim-addons install Plug-in $ curl -LSso ~/.vim/autoload/patho-
der Vim-Addon-Manager unabhängig gen.vim
von Vim als extra Paket installiert. Das Pathogen https://tpo.pe/pathogen.vim
ist nicht schwer, denn das Tool ist Teil Anders als der Vim-Addon-Manager ist
vieler Linux-Distributionen, etwa Debian, Pathogen selbst ein Vim-Plug-in. Am bes- Nun fügen Sie der Datei "~/.vimrc" die
Ubuntu und Fedora. Typischerweise ten lässt es sich mit Github als Quelle für folgenden Zeilen hinzu:
kommt es im Gespann mit einem Paket Extensions nutzen, denn viele Vim-Ewei-
von etwa zwei Dutzend der beliebtesten terungen werden heute dort gehostet. Die execute pathogen#infect()
Vim-Plug-ins. Üblicherweise greift es auf Innovation von Pathogen besteht darin, filetype plugin indent on

86 Mai 2018 www.it-administrator.de


Vim-Plug-ins Schwerpunkt

Diese Zeilen starten Pathogen vor allen letzten Zeile sollen die anderen von endif
anderen Plug-ins, sodass es sich um alle Vundle verwalteten Plug-ins folgen.
anderen Vim-Erweiterungen kümmern set runtimepath+=~/.vim/bundle/neo-
kann. Optional hängen Sie noch die fol- Die Installation von Vundle stattet Vim bundle.vim/
genden Zeilen an: zusätzlich mit vier weiteren Befehlen aus, call
die sich im Editor aufrufen lassen und de- neobundle#begin(expand('~/.vim/bun
call ren Namen selbsterklärend sind: "Bun- dle/'))
pathogen#runtime_append_all_bund- dleList", "BundleInstall", "BundleSearch" NeoBundleFetch
les() und "BundleClean". Künftig sollen die Be- 'Shougo/neobundle.vim'
call pathogen#help_tags() fehle umbenannt werden und statt "Bun- call neobundle#end()
dle" die Vorsilbe "Plugin" verwenden. filetype plugin indent on
Damit wird bei jedem Start von Vim auch
die eingebaute Hilfe aktualisiert. Weitere NeoBundle Wenn Sie ein neues Plug-in installieren,
Plug-ins installieren Sie, indem Sie in das Wie Vundle baut auch NeoBundle auf stellen Sie sicher, dass in der Konfigura-
Verzeichnis "~/.vim/bundle" wechseln Pathogen auf. Eine Zeit lang war es tion der entsprechende Aufruf von "Neo-
und dort den Extension-Code entpacken schwierig, NeoBundle zu verwenden, weil Bundle" steht, etwa
oder direkt von Github auschecken. es kontinuierlich weiterentwickelt wurde
und die Dokumentation nur auf Japa- NeoBundle "Shougo/vimshell"
Vundle nisch verfügbar war. Seit kurzem ist es
Das Vim-Paket "Vundle", dessen Name in einen Maintenance-Mode eingetreten Hier dürfen Sie auch eine spezifische Ver-
ein Portmanteau aus "Vim" und "Bundle" und auch englischsprachige Dokumen- sion angeben, um sie für ein Plug-in fest
ist, wurde ausgehend von Pathogen wei- tation ist vorhanden. einzutragen:
terentwickelt. Dementsprechend verwen-
det auch Vundle eine von Standard-Vim NeoBundle besitzt alle Funktionen von NeoBundle "Shougo/vimshell" {'rev':
abweichende Verzeichnisstruktur. Im Ge- Vundle und sogar noch einige zusätzliche. Version}
gensatz zu Pathogen kann Vundle aber So beherrscht es neben Git auch die Ver-
selbständig die installierten Plug-ins auf sionskontrollsysteme Mercurial und Sub- Die mit NeoBundle ausgelieferten Utilities
dem laufenden Stand halten. version. Außerdem verträgt es sich gut sind: NeoBundleUpdate/NeoBundleIn-
mit anderen Plug-ins aus der Hand seines stall, die Vim-Plug-ins installieren res-
Windows-Anwender kommen sogar in Erfinders Shougu Matsushita. Fortge- pektive aktualisieren. Ohne weitere Zu-
den Genuss einer GUI, wenn sie mit schrittene Vim-Anwender etwa könnten sätze verwendet, werden alle installierten
Vundle Vim-Erweiterungen installieren. Gefallen an seinem Unite-Plug-in finden, Plug-ins aktualisiert, aber es lassen sich
Die Installation von Vundle selbst lässt das die Suche in Files, Copy-and-Paste auch Versionsnummern angeben. Neo-
sich unter Linux in einem einzigen Schritt und Funktionen für den Umgang mit BundleList zeigt die installierten Erwei-
erledigen: Vim-Buffern mitbringt. terungen an, während NeoBundleClean
unbenutzte Plug-ins löscht. NeoBundle
$ git clone https://github.com/Vund- Neobundle setzt Vim 7.2.051 oder neuer bindet wie oben gezeigt ein Plug-in ein.
leVim/VundleVim.git ~/.vim/bund- voraus. Die Integration mit anderen Er- Wird eine Versionsnummer angegeben,
le/Vundle.vim weiterungen wie etwa Unite erfordert versucht NeoBundle nie ein Update.
noch weitere Module wie vimproc. Um
Anders als Pathogen wird Vundle aber NeoBundle zu installieren, klonen Sie wie Fazit
nicht in "~/.vim/bundle/" direkt installiert, gehabt das Quellcode-Verzeichnis in das Um Plug-ins in Vim zu installieren und
sondern in einem Unterverzeichnis. Um Vim-Bundle-Directory: anstehende Updates zu managen, gibt es
automatische Updates zu aktivieren, ver- einige Möglichkeiten. Bahnbrechend war
wenden Sie die folgenden Einträge in $ mkdir ~/.vim/bundle Pathogen, das eine Zeit lang quasi der De-
"~/.vimrc": $ git clone https://github.com/Shou- facto-Standard für die Aufgabe war. Seit-
gu/neobundle.vim her sind aber Nachfolger wie NeoBundle
set rtp+=~/.vim/bundle/Vundle.vim ~/.vim/bundle/neobundle.vim und Vundle angetreten, um dem Anwen-
call vundle#begin() der noch mehr Features zu bringen, etwa
Plugin "VundleVim/Vundle.vim" Zur Konfiguration können Sie das Bei- ein automatisiertes Update der installier-
spiel ".vimrc" von der Github-Seite he- ten Plug-ins.
Die obigen Zeilen setzen den Runtime- ranziehen. Die wesentlichen Zeilen daraus
Pfad "rtp" auf das Vundle-Verzeichnis sind die folgenden: Dass das Ende hier noch nicht erreicht
"~/.vundle/bundle/Vundle.vim", initiali- ist, zeigt der Versuch des NeoBundle-Au-
sieren das Plug-in und weisen Vundle an, if &compatible tors, der bereits an einem Nachfolger sei-
sich selbst zu managen. Unterhalb der set nocompatible ner Lösung arbeitet. (of)

www.it-administrator.de Mai 2018 87


Sch w e rp unk t Bash-Skripte automatisiert debuggen

Bash-Skripte automatisiert debuggen

Auf Käferjagd
von Tam Hanna

In Zeiten von nahezu unendlicher Rechenleistung


kommt es einem Frevel gleich, sich beim Skript-
Debugging keine technische Unterstützung zu holen,
sondern quasi mit Ausdruck und Lupe zu arbeiten.
Wir stellen deshalb in diesem Workshop einige Erweite-

F
rungs-Frameworks vor, die das Leben von Entwicklern

3R
– 12
und Administratoren leichter machen.

ya
ka
ols
st od
lle:
Que
ls Erstes wollen wir einen Blick auf die Eclipse-IDE verständliches Format
A die integrierte Entwicklungsum- bringt. Das neu angelegte Projekt weist zu }
gebung (IDE) Eclipse werfen. Die IDE Beginn keine Inhalte auf. Klicken Sie es set -o functrace
mag sehr umfangreich sein, bietet aller- daher mit der rechten Maustaste an und trap _________DEBUG_TRAP DEBUG
dings diverse Komfortfunktionen. Laden wählen Sie die Option "New / Other...",
Sie im ersten Schritt unter Nutzung des um ein neues Skript hinzuzufügen. bashdb nutzt das Trap-Feature des Betriebs-
Eclipse Installers die Variante "Eclipse systems zur Einrichtung einer Funktion,
IDE for Java Developers" [1] herunter – Schon jetzt können Sie Shell-Skripte unter die vom Remote-Debugger eingehende Be-
die folgenden Schritte basieren auf der Nutzung der Syntaxhervorhebung von fehle entgegennimmt und in der offenen
Version Oxygen.2 vom Dezember 2017. Eclipse bearbeiten und lokal ausführen. Session parst. Aus der Logik folgt, dass dies
Problematischerweise ist es noch nicht nicht unbedingt sicher ist – die Arbeit in
Besorgen Sie sich im nächsten Schritt die möglich, Breakpoints zu setzen. Hierzu einem sicheren Netzwerk sollte allerdings
Shell-Erweiterung für Eclipse, die unter müssen Sie zunächst das unter [3] bereit- kein allzu großes Risiko darstellen.
[2] bereitsteht. Der Install-Knopf lässt stehende ZIP-Archiv des "BASH Debug-
sich per Drag-and-Drop an seinen Platz ger Project" (bashdb) herunterladen und Kopieren Sie die Datei in das Verzeichnis
bringen, worauf die Installation der Shell- extrahieren. Im nächsten Schritt wandern des Projekts und legen Sie sodann das aus-
Erweiterung automatisch startet. Achten die beiden JAR-Dateien bei herunterge- zuprobierende Skript an. Unser Testobjekt
Sie allerdings darauf, dass sie den Knopf fahrener IDE in das Verzeichnis "/home/ ist in den folgenden Schritten eine Gruppe
nicht versehentlich auf dem Welcome- home/java-oxygen/eclipse/dropins". von Bash-spezifischen Sprachkonstrukten:
Bildschirm ablegen, sondern auf einer
leeren Editor-Seite (Bild 1). Der in neuen Beachten Sie, dass Eclipse bei der Nut- . _DEBUG.sh
Versionen von Eclipse integrierte Markt- zung von OpenJDK leider zu diversen echo $SHELL
platz-Client beginnt dann automatisch Fehlern neigt. Stellen Sie deshalb sicher, a=1234567890
mit der Installation des Plug-ins. dass Sie Eclipse in einer Oracle-JDK-Um- echo ${a}
gebung ausführen. echo ${a:3}
Eclipse einrichten
Ärgerlicherweise nutzt das Eclipse-Plug-in Pfade korrekt anpassen Von besonderer Bedeutung ist hier das
in der Standardeinstellung die Dash-Shell, Die eigentliche Kommunikation zwischen Einbinden des Debug-Skripts, das anhand
die mit Bash in Sachen Komfort nicht ver- BASH Debugger und Eclipse erfolgt über des weiter oben abgedruckten Codes eine
gleichbar ist. Klicken Sie deshalb auf "Win- ein Skript namens "_DEBUG.sh", das fol- Verbindung zwischen der Shell und der
dow / Preferences / Shell Script / Interpre- genden Inhalt aufweist: Entwicklungsumgebung herstellt.
ters" und legen Sie wie in Bild 2 gezeigt
einen neuen Interpreter vom Typ "bash" an. exec 33/dev/tcp/localhost/33333 Im nächsten Schritt müssen Sie eine
function _________DEBUG_TRAP () Ausführungskonfiguration anlegen. Kli-
Im nächsten Schritt legen Sie unter "File { cken Sie hierzu auf "Run / Debug Con-
/ New / Other" ein neues Shell-Skript-Pro- local _________DEBUG_COMMAND figurations" und erstellen Sie eine neue
jekt an. Es handelt sich dabei um einen read -u 33 _________DEBUG_COMMAND Konfiguration auf Basis der Vorlage
Container, der die Shell-Skripte in ein für eval $_________DEBUG_COMMAND "Bash script...". Der von der normalen

88 Mai 2018 www.it-administrator.de


Bash-Skripte automatisiert debuggen Schwerpunkt

bezüglich veralteter Zertifikate auswirft.


Ab diesem Zeitpunkt können Sie Skripte
im Großen und Ganzen so debuggen,
wie sie es von Java- oder C-Code ge-
wohnt sind.

Fehlersuche auf
Kommandozeilenebene
Das Hantieren mit Eclipse ist bequem, in
der Praxis aber nicht immer möglich, et-
wa auf einem Server ohne grafische Ent-
wicklungsumgebung. Auch wenn bashdb
für Eclipse in der Lage ist, mit auf frem-
den Servern laufenden Shell-Skripten
Bild 1: Um die Shell-Erweiterung für Eclipse zu installieren, ziehen Sie den Install-Knopf Kontakt aufzunehmen, so ist diese Vor-
per Drag-and-Drop auf eine leere Editor-Seite. gehensweise nicht sonderlich komforta-
bel. Als bessere Alternative bietet sich
Arbeit mit Eclipse bekannte Ausfüh- BASH Debugger auf Seite von Eclipse ei- BASH Debugger an, der sich durch Ein-
rungskonfigurations-Generator bietet nen bestimmten Editor-Pfad voraussetzt. gabe von sudo apt-get install bashdb auf
Ihnen sodann einen Einstellungsassis- Ihrer Workstation installieren lässt.
tenten an, den Sie wie in Abbildung drei Die Lösung des Problems besteht darin,
gezeigt parametrieren. Der Debugger- die eigentlich abgekündigte Sourceforge- Nach dem erfolgreichen Durchlaufen der
Port lautet übrigens immer 33333 – zu- Webseite des ShellEd-Projekts [4] zu be- Installation können Sie Skripte durch Vo-
mindest solange, wie sie "_DEBUG.sh" suchen. Ignorieren Sie die Hinweise, dass ranstellen des Kommandos bashdb in-
nicht eigenmächtig anpassen. die dort enthaltenen Informationen veraltet strumentiert ausführen. Unser weiter
sind und laden Sie die Datei "net.source- oben erzeugtes und im Eclipse-Work-
Letzte Eclipse- forge.shelled-site-2.0.3.zip" herunter. space liegendes Skript starten Sie bei-
Erweiterung einbinden spielsweise folgendermaßen:
Im nächsten Schritt klicken Sie in Eclipse Öffnen Sie im nächsten Schritt Eclipse
auf "Debug", um die Programmausfüh- und klicken Sie auf "Help / Install new tamhan@TAMHAN14:~/workspace/ ITATest1$
rung anzustoßen. Achten Sie darauf, dass software". Im nun erscheinenden Dialog bashdb ./firsttest.sh
die IDE selbst nicht in der Lage ist, unser zum Hinzufügen neuer Programmfunk- bash debugger, bashdb, release 4.2-
kleines Skript anzuwerfen. Klicken Sie tionen müssen Sie im ersten Schritt auf 0.8
stattdessen auf das Perspektivenwechsel- den "Add"-Button neben der Adresszeile . . .
symbol in der oberen rechten Bildschirm- klicken, um das Fenster zum Einfügen
ecke, um einen Perspektivenwechsel in von lokalen Repositories zu öffnen. Nut- bashdb ist ein klassischer schrittweiser
die Debugger-Perspektive von Eclipse zen Sie dort das Feld "Location", um einen Debugger, der gut zwei Dutzend Kom-
durchzuführen. Öffnen Sie sodann ein Verweis auf unser Archiv einzupflegen. mandos mitbringt. Eine Komplettliste
neues Shell-Fenster, in dem sie durch Ein- finden sie auf der entsprechenden Sour-
gabe von bash ./Skriptname die Ausfüh- Nach dem Bestätigen beginnt der Instal- ceforge-Seite. Die Kommandozeile des
rung des Skripts anweisen: lationsprozess, der einen Neustart der Programms gibt sich allerdings etwas
IDE voraussetzt und einige Warnungen verwirrend – als Beispiel wollen wir uns
tamhan@TAMHAN14:~/work- folgenden Extrakt ansehen:
space/ITATest1$ bash
./firsttest.sh :
/bin/bash 3:a=1234567890
1234567890 bashdb<2>
4567890
Der Debugger informiert bei jeder
In der vorliegenden Ausfüh- Zeile darüber, in welchem Skript
rungskonfiguration reagiert wir uns gerade befinden und wel-
Eclipse darauf mit der Ein- che Anweisungen die jeweilige
blendung einer Fehlermel- Zeile enthält. Darunter findet sich
dung der Bauart "Unable to der bashdb-Prompt, der für das ei-
open editor, unknown editor Bild 2: Die Einrichtung des Bash-Interpreters für die Shell-Erweiterung von gentliche Eingeben der Komman-
ID". Das liegt daran, dass Eclipse gestaltet sich nicht sonderlich kompliziert. dos verantwortlich ist.

www.it-administrator.de Mai 2018 89


Sch w e rp unk t Bash-Skripte automatisiert debuggen

zwischen dem for- und dem echo-State-


ment. Ist Ihnen diese Vorgehensweise ir-
gendwann langweilig, können sie bashdb
durch Eingabe von finish bashdb anwei-
sen, den aktuellen Ausführungskontext
zu verlassen. Dabei muss es sich allerdings
um eine ins Skript geladene Datei oder
eine aufgerufene Funktion handeln – zum
gegenwärtigen Zeitpunkt ist es nicht mög-
lich, eine "klassische" Schleife auf diese
Art und Weise zu verlassen.

Bild 3: Achten Sie darauf, die Pfade beim Debugging mit Eclipse an Ihre Situation anzupassen. Mit Breakpoints arbeiten
Das "lineare Ausführen" von Code gerät
Interessant ist der in spitzen Klammern echo "arbeiter sagt: " $i spätestens dann zum Ärgernis, wenn Ihr
gehaltene Wert. Die normalerweise nur done Shell-Skript einige hundert oder gar einige
fortlaufende Zahl wird ein- oder mehrfach } tausend Zeilen umfasst. Zur Umgehung
eingeklammert, wenn sich die Ausführung echo "los!" dieses Problems bietet es sich an, Break-
tiefer in Stackframes verschachtelt. arbeiter points zu verwenden. Sie verhalten sich
echo "ende!" in bashdb im Großen und Ganzen so, wie
Wer einfach Schritt für Schritt durch den sie es von anderen Programmiersprachen
Code wandern möchte, kann dies durch Wer das vorliegende Programm in bashdb her gewohnt sind.
mehrfaches Eingeben von next bewerk- ausführt, stellt fest, dass er nur dreimal
stelligen – das Resultat ist in Bild 4 ge- next eingeben muss. Der gesamte Korpus Entwickler haben an dieser Stelle zwei
zeigt. Bedenken Sie, dass bashdb nach von "arbeiter" wird in einem Schritt ab- Möglichkeiten: Erstens können Sie die
dem Ende der Programmausführung gearbeitet. Die Kontrolle kehrt erst bei gewünschten Breakpoints nach dem Start
nicht terminiert – drücken Sie daher auf der Zeile "echo 'ende!'" zurück. der bashdb-Sitzung anlegen. Der Debug-
"q" und "Enter", um die Debugger-Maske ger kennt verschiedene Breakpoint-
letztendlich zu verlassen. Als Alternative bieten sich die Befehle Deklarationen, die das Ansprechen von
step und finish an. Dies ist eine Beson- Zeilennummern, Dateien und Funktions-
Stufenweise Analyse derheit von bashdb – Zeilen wie unsere namen ermöglichen. Beginnen wir mit
mit Exit-Option For-Schleife "for i in `seq 1 10`;" haben dem Setzen eines Breakpoints in der
Mit dem GNU Debugger aufgewachsene die unangenehme Eigenschaft, aus meh- Funktion "arbeiter":
Entwickler wissen, dass stufenweise vor- reren Statements zu bestehen. Mit dem
gehende Debugger eine vergleichsweise Befehl step weisen sie den Debugger an, 9: echo "los!"
komplexe Kommandozeile implementie- einen Schritt tiefer in ihr Programm zu bashdb<0> break arbeiter
ren, über die der Nutzer auch Informa- gehen. Jede Programmzeile wird dabei Breakpoint 1 set in file /home/tam-
tionen über die Inhalte der gerade gela- nur ein einziges Mal angesprungen: Im han/workspace/ITATest1/functest.sh
denen Variablen beziehen kann. Der Fall unserer Schleife wechseln Sie also , line 1.
momentan aktuelle Inhalt einer Variable
lässt sich beispielsweise über das Kom-
mando examine ausgeben, wenn Ihnen
der Variablenname bekannt ist:

bashdb<6> examine a
declare -- a="1234567890"

Bash-Skripte lassen sich durch Funktionen


und Schleifen verschachteln. Als Beispiel
wollen wir folgendes Skript annehmen,
das innerhalb einer Funktion eine als
Platzhalter dienende Berechnung ausführt:

function arbeiter {
for i in `seq 1 10`; Bild 4: Regelmäßiges Eingeben von next führt beim Debugging
do mit Eclipse Schritt für Schritt durch das Programm.

90 Mai 2018 www.it-administrator.de


Bash-Skripte automatisiert debuggen Schwerpunkt

entweder mit next agieren oder durch debugger ; : ; :" – wozu die beiden "toten"
bashdb in komfortabel
Eingabe von cont einen weiteren Durch- Semikolons erforderlich sind, ist gemäß
Microsofts Javascript-basierte Entwicklungs- lauf befehlen. Wenn Sie sich stattdessen Dokumentation wohl selbst den bashdb-
umgebung Visual Studio Code hat im Bereich für spezifische Änderungen von Variablen Autoren nicht ganz klar.
der Shellskript-Programmierung mittlerweile interessieren, sollten Sie Watchpoints nut-
massiv Anhänger gewonnen. Das unter [5] zen. Ihre Einrichtung erfolgt mittels Eine wichtige Bemerkung zum Schluss:
bereitstehende Plug-in ermöglicht die Inte- watch. Die Vorgehensweise ist analog zu Beachten Sie sowohl in bashdb als auch
gration in bashdb, was beim Vorhandensein klassischen Breakpoints. in Eclipse, dass ablaufende Bash-Skripte
eines GUI-Stacks Zeit und Nerven spart.
Shell-Skripte sind und bleiben. Löschen
Viel Code, viel Arbeit Sie also etwa während des Debuggings
Als Alternative dazu bieten sich die fol- Das permanente Neusetzen von Break- eine Datei, so lässt sich diese danach nicht
genden drei Statements an: points artet in Arbeit aus. Das von Py- wiederherstellen.
thonDB, Gdb und Co bekannte Save-
break 28 Kommando ist in bashdb nicht vorhanden. Fazit
Breakpoint 2 set in file parm.sh, Zur Umgehung des Problems legen wir Wer Fehler in Bash-Skripten von Hand
line 28. die Debugger-Anweisungen im Shell- sucht, verschwendet in Zeiten von Acht-
break parm.sh:29 Skript ab. Das ist auch deshalb vernünftig, kern-Workstations seine Zeit. Wer mit Shell-
Breakpoint 3 set in file parm.sh, weil die Ausführung eines Skripts inner- Skript arbeitet, sollte jedoch auf jeden Fall
line 29. halb des Debuggers mit einer wesentlichen einige Zeit in das Studium der Werkzeuge
break 28 if x==5 Verlangsamung einhergeht. Bei einem klei- investieren. Aufgrund der immensen Ver-
Breakpoint 4 set in file parm.sh, nen Skript ist dies irrelevant. Wer aber ei- breitung von Bash ist es im Rahmen eines
line 28. nen kompletten Compile-Vorgang analy- kürzeren Fachartikels allerdings nicht mög-
siert, leidet selbst auf schnellen Maschinen. lich, eine komplette Übersicht zum Debug-
Statement Nummer eins setzt einen ging zu bieten. Für weitere Information ma-
Breakpoint in der angegebenen Zeile der Hierzu müssen Sie im ersten Schritt die chen Sie etwa auf Seiten wie "stackover-
gerade geöffneten Datei. Statement zwei Datei "bashdb-trace" laden. Der hier ab- flow.com" mit dem Suchbegriff "shell script
demonstriert das Ansprechen "ferner" gedruckte Pfad stimmt auf der Worksta- debugger" eine Vielzahl von Diskussionen
Dateien – leider ist es hier nicht möglich, tion des Autors, könnte auf Ihrer Maschi- zu diversen Methoden ausfindig. (ln)
Funktionsnamen anzugeben. ne aber anders ausfallen:
Link-Codes
Zu guter Letzt gibt es noch konditionale source /usr/share/bashdb/bashdb-trace
[1] Eclipse IDE for Java Developers
Breakpoints. Es handelt sich dabei um eine
I5Z51
spezielle Art von Unterbrechung, die nur function arbeiter {
[2] Eclipse Shell Script (DLTK)
dann aktiviert wird, wenn ihre Bedingung . . .
I5Z52
erfüllt ist. In allen Fällen erfolgt das Lau- }
[3] Debugger BashEclipse
fenlassen eines mit Breakpoints versehe- I5Z53
nen Programms durch Eingabe von cont: echo "los!"
[4] Sourceforge ShellEd-Projekt
arbeiter I5Z54
bashdb<1> cont _Dbg_debugger ; : ; :
[5] Debugging with the BASH debugger
echo "ende!" I5Z55
Nach der Eingabe von cont läuft der Code [6] Visual Studio Code Bash Debug
so lange, bis bashdb die Aktivierung einer Das eigentliche Anwerfen des Debuggers I5Z56
Unterbrechung erkennt. Dann dürfen Sie erfolgt dann durch das Konstrukt "_Dbg_

Lesen Sie den IT-Administrator als E-Paper


Testen Sie kostenlos und unverbindlich die elektronische
IT-Administrator Leseprobe auf www.it-administrator.de.
Wann immer Sie möchten und wo immer Sie sich gerade befinden –
Volltextsuche, Zoomfunktion und alle Verlinkungen inklusive.
Klicken Sie sich ab heute mit dem IT-Administrator einfach
von Seite zu Seite, von Rubrik zu Rubrik! Auch als App
fürs iPad, Android
Infos zu E-Abos, E-Einzelheften und Kombiangeboten finden Sie auf:
und Amazon!
www.it-administrator.de/
magazin/epaper
Quelle: ammentorp – 123RF
Server-Konfigurationen testen
mit Testinfra

Wie läuft's?
von Tim Schürmann

Ob alle Server korrekt konfiguriert sind,


prüft halbautomatisch das kleine Tool
Testinfra. Es nutzt dabei ein etabliertes
Framework aus der Software-Entwicklung
und nimmt so dem Administrator
einige Arbeit ab.

ippfehler in Konfigurationsdateien selbstständig auf jedem System an, führt mindestens Python 2.6 und dessen Pa-
T fallen nach Murphys Gesetz im- dort dann eine Reihe vorgegebener Tests ketmanager "pip" installiert sind. An-
mer erst im Betrieb auf – beispielsweise aus und liefert am Ende einen detaillier- schließend holen Sie mit folgendem Kom-
wenn die Datenbank aufgrund einer fal- ten Bericht. Dieser ist zudem nützlich, mando Testinfra hinzu:
schen Zeichenkodierung alle Umlaute um gegenüber Kunden oder Vorgesetzten
zerbröselt zurückliefert. Konfigurations- die ordnungsgemäße Konfiguration zu $ pip install testinfra
werkzeuge wie Ansible, Puppet, Chef und protokollieren.
Co. helfen hier nur bedingt, verlangen sie Im Fall von Python 3 müssen Sie gege-
doch vom Administrator komplex aufge- Allerdings gibt es ein paar kleine Haken: benenfalls "pip3" verwenden, für eine sys-
baute und somit ebenfalls fehleranfällige Testinfra basiert auf dem Test-Framework temweite Installation den Befehl zudem
Konfigurationsrezepte. Wer alternativ Do- Pytest, mit dem eigentlich Python-Pro- als Benutzer "root" absetzen beziehungs-
cker nutzt, greift gerne auf vorgefertigte grammierer ihre Software testen. Dieses weise via "sudo" aufrufen. In jedem Fall
Container-Images zurück, vorzugsweise Framework erweitert Testinfra in Form holt "pip" alle benötigten Abhängigkeiten
aus dem Docker Hub. Das Ergebnis ist eines Plug-ins um zusätzliche Fähigkeiten, hinzu, einschließlich Pytest. Für einen
dann häufig eine Black Box, von der man dank denen Pytest auch Serverkonfigu- ersten Test erstellen Sie eine neue Text-
nicht weiß, ob sie tatsächlich den eigenen rationen überprüft. Die einzelnen Tests datei namens "test_ssh.py" mit dem Inhalt
Anforderungen genügt. formulieren Administratoren dabei als aus Listing 1. Dieses Python-Skript findet
kleine Python-Skripte. Letztgenannte ver- heraus, ob auf dem zu prüfenden System
Lieber testen wenden zwar eine recht einfache Syntax, das Programm "ssh" verfügbar ist.
Insbesondere in produktiven Umgebun- sodass Sie für die ersten Gehversuche we-
gen kommt man somit nicht umhin, die der Python- noch Pytest-Kenntnisse be- Die erste Zeile definiert einen neuen Test
Konfiguration der gestarteten Systeme nötigen. Das volle Potenzial von Testinfra namens "test_ssh_is_available". Technisch
zu prüfen. Das sollte sicherheitshalber kann jedoch nur ausschöpfen, wer sich handelt es sich dabei um eine Python-
auch immer wieder im laufenden Betrieb mit der Skriptsprache und dem Test- Funktion, die Testinfra beziehungsweise
geschehen, etwa nach einem Neustart Framework auskennt. Darüber hinaus fo- Pytest später automatisch aufruft und
oder einer Konfigurationsänderung. Je kussiert sich Testinfra derzeit noch fast ausführt. Ihr Name muss mit "test" be-
mehr Systeme ein Administrator jonglie- vollständig auf Linux- und BSD-Systeme,
ren muss, desto schwieriger und aufwen- wenngleich auch eine rudimentäre Un- Listing 1: Einfache Prüfung
diger gestalten sich allerdings solche Tests. terstützung für Windows existiert. von SSH (test_ssh.py)
def test_ssh_is_available(host):
Glücklicherweise gibt es das kleine Test- Um Testinfra nutzen zu können, stellen assert host.exists("ssh")
werkzeug Testinfra [1]. Es meldet sich Sie zunächst sicher, dass auf Ihrem System

92 Mai 2018 www.it-administrator.de


Te s t i n f r a Schwerpunkt

sitzt. Dazu ruft sie im ersten Schritt "host.


file()" auf. Diese Funktion liefert ein Ob-
jekt zurück, das die angegebene Datei re-
präsentiert. Über dieses Objekt lassen sich
insbesondere die Dateieigenschaften ab-
fragen. Listing 2 testet auf diese Weise
nacheinander, ob die Datei überhaupt
existiert ("mysqlcnf.exists"), ob der Be-
sitzer der Datei "root" heißt ("mysqlcnf.
user == "root""), ob die Datei der Gruppe
"root" zugewiesen ist ("assert mysqlcnf.
Bild 1: Wie die letzte Zeile bescheinigt, hat hier die Ausführung eines Tests 0,02 Sekunden gedauert. group == "root"") und ob die derzeitigen
Zugriffsrechte der Oktalnotation 0644
ginnen, ansonsten können Sie ihn belie- Das Ergebnis der Prüfung zeigt Bild 1. entsprechen ("mysqlcnf.mode == 0o644").
big wählen. Da er später im Abschluss- Im generierten Bericht finden Sie zu- Sofern es sich wie im Beispiel um eine
bericht auftaucht, sollten Sie sich wie in nächst allgemeine Informationen über Textdatei handelt, dürfen Sie sogar ihren
Listing 1 für einen möglichst sprechenden das System sowie die Python-Umgebung. Inhalt inspizieren:
Namen entscheiden. Die Funktion be- Ganz unten bescheinigt die Zeile
kommt in den Klammern ein Objekt assert mysqlcnf.contains("!include-
übergeben, das den zu überprüfenden test_ssh.py::test_ssh_is_installed[l dir /etc/mysql/conf.d/")
Computer repräsentiert. Python- und Py- ocal] PASSED
test-Kenner dürfte interessieren, dass es Mit dieser Zeile würde Testinfra zusätzlich
sich dabei um ein sogenanntes Fixture dass die Funktion "test_ssh_is_installed()" prüfen, ob der Text "!includedir /etc/
handelt. Über dieses Objekt namens ordnungsgemäß auf dem lokalen System mysql/conf.d/" in der Konfigurationsdatei
"host" lassen sich unter anderem System- ("[local]") durchgelaufen und somit der vorkommt und somit MySQL im Beispiel
informationen abfragen. Das macht sich Test bestanden ist ("PASSED"). Sollte "ssh" die weiteren Konfigurationsdateien im
direkt die zweite Zeile in Listing 1 zunut- auf Ihrem System nicht installiert sein, Unterverzeichnis "/etc/mysql/conf.d/" be-
ze: Dort fragt die Funktion "hosts.exists()" erhalten Sie hingegen eine entsprechende rücksichtigt.
das System, ob das Programm "ssh" zur Fehlermeldung.
Verfügung steht. Es muss dazu in einem Startet der Dienst beim Booten?
Verzeichnis liegen, das im Suchpfad ein- Test für MySQL Die letzte Funktion "test_mysql_enab-
gebunden ist, unter Unix-Systemen also Alle von Ihnen benötigten Tests kapseln led_and_running()" testet schließlich
in der Umgebungsvariable "$PATH" steht. Sie nach dem gezeigten Prinzip jeweils in noch, ob der MySQL-Dienst schon beim
Im Erfolgsfall gibt die Funktion "true" einer eigenen Funktion. Listing 2 zeigt Booten hochfährt und derzeit läuft. Dazu
zurück. Das vorangestellte "assert" prüft dafür ein Beispiel: Es prüft, ob MySQL liefert "host.service("mysql")" ein Objekt
abschließend, ob der dahinterstehende installiert ist, dessen Konfigurationsdatei zurück, das den laufenden Dienst namens
Ausdruck "true" ergibt. Nur dann gilt die mit korrekt gesetzten Rechten existiert "mysql" repräsentiert. Mit seiner Hilfe
entsprechende Prüfung als bestanden. und die Datenbank gerade im Hinter- prüft die Funktion, ob der Dienst aktiviert
grund läuft.
Prüfung ausführen Listing 2: Einfache Prüfung
Den kompletten Test können Sie jetzt pro- Die erste Funktion "test_mysql_is_instal- einer MySQL-Installation
beweise auf Ihr eigenes System ansetzen: led()" testet zuerst, ob das Paket "mysql- (test_mysql.py)
server" installiert ist. Dazu holt sie mittels def test_mysql_is_installed(host):
$ py.test -v test_ssh.py "host.package()" ein Objekt, das wieder- mysql = host.package("mysql-server")
um das Paket namens "mysql-server" re- assert mysql.is_installed
assert mysql.version.startswith("5.7")
Dieser Befehl startet die Tests im Skript präsentiert. Mit ihm prüft die dritte Zeile,
"test_ssh.py" auf dem aktuellen System. ob das Paket überhaupt installiert ist def test_mysql_conf_file(host):
Der Parameter "-v" sorgt dabei für einen ("mysql.is_installed" wäre in diesem Fall mysqlcnf =
host.file("/etc/mysql/mysql.cnf")
etwas ausführlicheren Bericht. In älteren "true"). Die dann folgende Zeile kontrol- assert mysqlcnf.exists
Testinfra-Versionen erfolgte der Start noch liert zusätzlich noch, ob die Versionsnum- assert mysqlcnf.user == "root"
über das Skript "testinfra". Dieses gilt zwar mer des vorhandenen MySQL-Servers assert mysqlcnf.group == "root"
assert mysqlcnf.mode == 0o644
mittlerweile als veraltet, liegt dem Testin- mit "5.7" beginnt. Die nächste Funktion
fra-Paket aber weiterhin bei. Sollten Sie "test_mysql_conf_file()" überprüft, ob die def test_mysql_enabled_and_running(host):
in Beispielen oder der offiziellen Testin- zentrale Konfigurationsdatei von MySQL mysql = host.service("mysql")
assert mysql.is_enabled
fra-Dokumentation noch über "testinfra" ("/etc/mysql/mysql.cnf ") überhaupt exis- assert mysql.is_running
stolpern, ersetzen Sie es durch "py.test". tiert und ob sie die korrekten Rechte be-

Alle Listings zum Download auf www.it-administrator.de Mai 2018 93


Sch w e rp unk t Te s t i n f r a

Entfernte Ausführung
Bislang hat Testinfra immer nur das Sys-
tem unter die Lupe genommen, auf dem
Sie es aufgerufen haben. In der Regel
möchte man jedoch externe Server tes-
ten. Die dazu notwendige Kommunika-
tion wickelt Testinfra über sogenannte
Back-Ends ab. Diese Komponenten bau-
en zunächst eine Verbindung auf und
führen dann auf dem entfernten System
die notwendigen Befehle remote aus. Je-
des Back-End kümmert sich dabei um
Bild 2: Hier hat Testinfra auf dem lokalen System drei Tests ausgeführt: MySQL ist installiert, eine konkrete Verbindungsart.
die Konfigurationsdatei ist an der richtigen Stelle und der Dienst läuft im Hintergrund.
Soll Testinfra via SSH auf die entfernten
ist ("mysql.is_enabled") und ob er derzeit Testinfra rekursiv aus, indem Sie einfach Server zugreifen, dürfen Administratoren
läuft ("mysql.is_running"). Die Bezeich- py.test -v aufrufen. zwischen zwei verschiedenen Back-Ends
nung des Dienstes entspricht unter Linux wählen: Testinfra kann die Verbindung
dem von Systemd beziehungsweise SysV- Sofern im Beispiel MySQL nicht läuft, er- mithilfe des Kommandozeilenprogramms
Init genutzten Namen. halten Sie eine Fehlermeldung. Wie Bild "ssh" aufbauen oder aber Paramiko ein-
3 zeigt, markiert Pytest dort zunächst die spannen. Letztgenanntes ist eine SSHv2-
Kapselungen fehlgeschlagene Zeile im Test-Skript mit Implementierung für Python und gleich-
Welche Prüfungen Sie in welchen Funk- einem ">". Darunter sehen Sie die Feh- zeitig die von den Testinfra-Entwicklern
tionen verstauen, bleibt prinzipiell Ihnen lerbeschreibung. Wenn sie Ihnen zu kryp- bevorzugte Variante [2]. In beiden Fällen
überlassen. Der in einer Funktion gekap- tisch erscheint, sollten Sie sie von unten kann Testinfra allerdings keine SSH-Pass-
selte Test gilt allerdings nur dann kom- nach oben durchgehen. In Bild 3 können wörter abfragen. Sie müssen folglich SSH
plett als bestanden, wenn in ihm alle mit Sie so ablesen, dass der Dienst "mysql" vorab so konfigurieren, dass Sie sich ohne
"assert" markierten Ausdrücke zutreffen. nicht läuft ("isrunning" ist "false"). Bei Passworteingabe auf dem entfernten Sys-
Läuft etwa im Beispiel aus Listing 2 der mehreren Fehlern werden die Meldungen tem anmelden können. Das gelingt ent-
MySQL-Server munter in der Version 5.6 oft ziemlich lang und unübersichtlich. weder über den Austausch von Schlüsseln
im Hintergrund, würde der komplette Hier hilft im Extremfall nur, die Ausgaben oder mithilfe des "ssh-agent". Sofern Sie
erste Test "test_mysql_is_installed" fehl- in eine Textdatei umzuleiten und dann eine Verbindung via Paramiko aufbauen
schlagen, da dieser explizit die Version in Ruhe Schritt für Schritt durchzugehen. wollen, holen Sie zunächst auf Ihrem Sys-
5.7 abfragt.

In jedem Fall führt Testinfra immer alle


im Skript enthaltenen Funktionen aus
(wie in Bild 2 zu sehen). Sofern die Tests
aufeinander aufbauen, kann das zu zu-
sätzlichen Fehlermeldungen führen. Wäre
etwa im Beispiel aus Bild 2 der MySQL-
Server gar nicht installiert, würde sich
Testinfra auch noch munter über die feh-
lende Konfigurationsdatei beschweren
und obendrein den nicht laufenden
Dienst bemängeln. Eine gute Planung der
gewünschten Tests erleichtert später die
Fehlersuche.

Als weitere Hilfe dürfen Sie die Tests auf


mehrere Skripte verteilen. Auf diese Wei-
se könnten Sie beispielsweise in einem
Skript die MySQL-Installationen prüfen,
während sich ein zweites Skript die Web-
server zur Brust nimmt. Alle im aktuel- Bild 3: Hier ist der MySQL-Server zwar installiert (der erste Test lief durch), doch wie die rote
len Verzeichnis lagernden Skripte führt Fehlermeldung belegt, läuft er aber derzeit nicht im Hintergrund.

94 Mai 2018 www.it-administrator.de


Te s t i n f r a Schwerpunkt

tem per "pip install paramiko" das ent-


sprechende Python-Paket hinzu.

Jetzt starten Sie die Tests im Skript "test_


mysql.py" auf dem Server mit der Adresse
192.168.1.102 mit folgendem Befehl:

$ py.test -v --hosts=admin@
192.168.1.102:22 test_mysql.py

Wenn Sie anstelle von Paramiko das be-


reits installierte Kommandozeilenpro-
gramm "ssh" verwenden möchten, brau-
chen Sie noch einen weiteren Parameter:
Bild 4: Hier liefen zwei Prozesse gleichzeitig: Der erste "[gw0]" hat den entfernten Rechner geprüft,
$ py.test -v --connection=ssh -- der zweite "[gw1]" hat sich hingegen um den "localhost" gekümmert.
hosts=admin@192.168.1.102:22
test_mysql.py können Sie die MySQL-Tests auf die Da- ner "mysql" die Tests aus "test_mysql.py"
tenbank-Server beschränken. zu starten, genügt dank des Docker-
Hinter "--hosts=" folgt die IP-Adresse Back-Ends folgender Aufruf:
oder der Hostname des entfernten Rech- In jedem Fall verbindet sich Testinfra
ners. "admin" ist der Benutzername, mit nacheinander mit den Servern. Eine Pa- $ py.test -v --connection=docker
dem sich Testinfra dort anmeldet. Die rallelverarbeitung können Sie über das --hosts=mysql test_mysql.py
Angabe des Ports (im Beispiel 22) ist op- Pytest-Plug-in "pytest-xdist" erreichen.
tional. Falls notwendig, binden Sie mit Das installieren Sie zunächst via: Hinter "--hosts=" folgen durch Kommas
dem zusätzlichen Parameter "--ssh-con- getrennt die Namen oder die IDs der zu
fig=/pfad/zur/ssh_config" eine alternative $ pip install pytest-xdist testenden Docker-Container. Diese müs-
SSH-Konfigurationsdatei ein. sen allerdings schon laufen.
Beim Start der Tests übergeben Sie mit
Parallele Prüfungen "-n" die Anzahl der gleichzeitig laufenden Fazit
Hinter "--hosts=" können Sie auch meh- (Test-)Prozesse. Der folgende Befehl wür- Dank seines Kommandozeileninterfaces
rere Server auflisten, die Testinfra dann de die Tests auf allen drei Systemen pa- arbeitet Testinfra auch mit anderen Werk-
alle der Reihe nach prüft: rallel ausführen: zeugen zusammen, wie etwa Nagios. In
der offiziellen Dokumentation finden Sie
$ py.test -v --hosts=localhost,ad- $ py.test -n 3 --hosts=localhost,ad- dazu einige Beispiele. Dort wartet zudem
min@192.168.1.102:22,admin@exam- min@192.168.1.102:22,admin@exam- in der Rubrik "Modules" eine Referenz
ple.com test_mysql.py ple.com test_mysql.py mit allen von Testinfra angebotenen Ob-
jekten beziehungsweise Klassen. Wer mit
Bei sehr vielen Systemen wird die Kom- Aufgrund der gleichzeitigen Ausführung Ansible, Salt oder Puppet arbeitet, be-
mandozeile recht lang. Sie können des- mischen sich allerdings die Ausgaben im kommt sogar einige darauf zugeschnittene
halb auch die Server direkt im Test-Skript Abschlussbericht. Welche Meldungen zu- Funktionen angeboten. Auf diesem Weg
vorgeben. Dazu fügen Sie ganz am An- sammengehören, kennzeichnen die An- lassen sich beispielsweise elegant Puppet-
fang des Skripts folgende Zeile hinzu: gaben in eckigen Klammern vor jeder Ressourcen abfragen. Um die vollen Mög-
Zeile (wie in Bild 4). lichkeiten richtig auszuschöpfen, sollten
testinfra_hosts = ["localhost", " sich Administratoren jedoch unbedingt
admin@192.168.1.102:22", Container testen auch in Pytest einarbeiten. (of)
"admin@example.com"] Neben dem Verbindungsaufbau via SSH
existieren noch weitere Back-Ends, die Link-Codes
In den eckigen Klammern stehen die zu unter anderem laufende Docker-Contai-
prüfenden Server jeweils durch ein Kom- ner testen, auf einem Salt-Server Kom- [1] Testinfra
I5Z11
ma getrennt und in Anführungszeichen mandos über die Salt Connection Chan-
eingerahmt (dies definiert eine Liste in nels ausführen, die Ansible-Python-API [2] "Paramiko öffnet
SSH-Verbindungen", ADMIN 06/2012
Python). Wenn Sie die Server direkt in nutzen, in Kubernetes laufende Container I5Z12
einem Test-Skript hinterlegen, führt Test- prüfen und via Pywinrm auf das Windows
[3] Pywinrm
infra nur auf ihnen die im Skript enthal- Remote Management (WinRM) zurück- I5Z13
tenen Prüfungen aus. Auf diese Weise greifen [3]. Um etwa im Docker-Contai-

Link-Codes eingeben auf www.it-administrator.de Mai 2018 95


Sch w e rp unk t Phishing-Domains aufspüren

Phishing-Domains aufspüren mit dnstwist

Fallensteller
von Thomas Bär und Frank-Michael Schlede

Es gibt viele Möglichkeiten, Nutzer mit


RF
ihrem Browser auf einen anderen als den – 123
pintar
: james
Quelle
eingegebenen Domänennamen umzulenken:
Als probates Mittel dafür hat sich beispielsweise
die Variation der URL durch Buchstabendreher und
ähnliche Namen erwiesen. Mit einem kleinen Skript
können Administratoren Phishing-Domains ausfindig machen
und gleichzeitig prüfen, ob sie die eigene Webseite imitieren.

er für Betrieb und Pflege einer Un- kowski, der als Security Consultant bei So- $ sudo apt-get install python-dnspy-
W ternehmenswebseite zuständig ist, ny tätig ist, hat bereits vor mehr als zwei thon python-geoip python-whois \
kennt sicher die unterschiedlichsten Be- Jahren ein Python-Skript entwickelt, das python-requests python-ssdeep
schwerden und Notrufe seiner Nutzer, diese Arbeiten sehr schnell und zuverlässig python-cffi
dass eben diese Seite nicht erreichbar sei. ausführt. Er erläutert dazu auf seiner Web-
Häufig stellt sich dann heraus, dass die seite, dass ein Nutzer, der per Hand alle Das funktionierte auf unserer Plattform
Nutzer sich einfach vertippt haben. Das Varianten von "google.com" überprüfen ohne Probleme. So wurden alle zusätzli-
wird erst dann zum Problem, wenn eine wollte, dafür eine Anzahl von mehr als chen Pakete auf unserem System mittels
solche falsche Adresse auf eine Seite führt, 300.000 Anfragen benötigen würde und dieses Aufrufs nach einer Nachfrage des
die auf dem Rechner des Nutzers Schaden dass sich diese Zahl beispielsweise für Systems ebenfalls heruntergeladen und
verursacht, beispielsweise durch die In- facebook.com dann schon auf über fünf auch installiert. Das Skript arbeitete ohne
stallation von Malware. Millionen Anfragen erhöhen würde. Fehler mit der auf dem System standard-
mäßig installierten Python-Version 2.7.14
Noch schlimmer wird es, wenn beispiels- Ein guter Grund, diese Tätigkeit seinem zusammen. Der Entwickler weist explizit
weise Kunden auf die vermeintliche Web- Python-Skript "dnstwist" zu überlassen. darauf hin, dass dieses Skript alle Mög-
seite der Firma gelangen, es sich dabei je- Die Arbeitsweise dieses Skripts ist dabei lichkeiten erst dann entfalten kann, wenn
doch um eine böswillig angelegte Kopie recht einfach: Es bekommt einen Domä- die folgenden Python-Module ebenfalls
handelt, die den Nutzer bestenfalls nur ver- nennamen übergeben. Danach verwendet auf dem System installiert sind, was bei
wirrt oder ihm im schlimmsten Fall Schad- es diesen Namen, um Domänennamen unserer Installation automatisch geschah:
software installiert oder finanziellen Scha- mit unterschiedlichen, passenden Abwei- - A DNS toolkit for Python: Dieses Tool-
den zufügt. Deshalb kann es beispielsweise chungen und Veränderungen zu generie- kit unterstützt fast alle Record-Typen
für die IT-Mitarbeiter, die die Firmenweb- ren und zu überprüfen, die beispielsweise von DNS und kann sowohl für Abfra-
seite verantworten, sinnvoll sein, nach Do- für Phishing-Angriffe eingesetzt werden gen, Zone-Transfers als auch für dyna-
mänen mit ähnlichem Namen zu suchen. könnten. Im Anschluss kontrolliert das mische Updates eingesetzt werden.
Dann können sie überprüfen, ob diese Skript, ob diese Namen im DNS regis- - Python GeoIP: GeoIP-Datenbank der
eventuell gefährliche Inhalte verbreiten, triert sind, und zeigt an, auf welche IPv4- Firma MaxMind.
und die eigenen Nutzer davor warnen. oder auch IPv6-Adresse sie verweisen. - Python WHOIS: Python-Modul/Bi-
bliothek, mit deren Hilfe WHOIS-In-
Automatische Namensfindung Wir haben dnstwist auf einem Ubuntu- formationen von Domänen abgefragt
Natürlich ist es nun möglich, per Hand die System 17.10 (64-Bit-Version) installiert. werden können.
verschiedenen Kombinationsmöglichkeiten Das System lief virtualisiert unter VM- - Requests: HTTP for Humans: Eine Apa-
eines Domänen-Namens durchzuprobie- ware-Workstation. Laut Angaben auf der che2-lizenzierte HTTP-Bibliothek, ge-
ren. Das ist nicht nur umständlich, sondern GitHub-Seite zu dieser Open-Source- schrieben in Python, für das vereinfach-
dauert auch definitiv lange und ist fehler- Software kann das Skript ab der Ubun- te Arbeiten mit HTTP/1.1 in Python.
anfällig. Eine solche Aufgabe kann und tu-Version 15.04 mit folgendem Aufruf - ssdeep Python wrapper: Ein Python-
sollte automatisiert werden. Marcin Uli- auf das System gebracht werden: Wrapper für ssdeep. Diese Bibliothek

96 Mai 2018 www.it-administrator.de


Phishing-Domains aufspüren Schwerpunkt

verarbeitet sogenannte "Context Trig-


gered Piecewise Hashes (CTPH)", die
auch als "Fuzzy Hashes" bezeichnet
werden.

Weiterhin gibt der Entwickler Hinweise


auf die Möglichkeit, das Skript unter mac-
OS via Homebrew (eine Paketverwaltung
für die Apple-Systeme) oder als offizielles
Docker-Image direkt vom Docker-Hub
zu installieren. Nach der Installation auf
dem Linux-System stehen im Verzeichnis
"dnstwist" neben der eigentlichen Python-
Datei "dnstwist.py" auch noch Verzeich-
nisse mit der Dokumentation und einem
Ein erster Aufruf ohne Parameter bringt zwar viele Permutationen des Domänen-Namens hervor, zeigt
zusätzlichen Tool in Form eines Shell-
aber auch sofort, dass die meisten dieser ähnlichen Namen zu diesem Zeitpunkt nicht registriert sind.
Skripts bereit. Die Dokumentation be-
schränkt sich dabei im Wesentlichen auf
eine Readme-Datei und Beispielscans der ist es grundsätzlich sehr schwer bis un- Fazit
Webseite "google.com" im CSV- und möglich, bei einer dynamisch erstellten Insgesamt ist dnstwist ein sehr nützliches
JSON-Format, die im Unterverzeichnis Webseite eine Übereinstimmung von 100 Werkzeug, das alle IT-Administratoren, die
"examples" zu finden sind. Prozent zu erreichen. Aber Administra- für eine Webdomäne verantwortlich sind
toren bekommen so einen guten Anhalts- oder auch den Namen ihres Unternehmens
Phisher aufspüren punkt, welche der angezeigten Webseiten vor Phishing-Angriffen schützen wollen,
Angreifer, die mittels einer Phishing-At- mit einem hohen Prozentsatz der Über- in ihrer virtuellen Werkzeugkiste haben
tacke auf die Unternehmensseite zielen, einstimmung sie sich einmal genauer an- sollten. Wer allerdings nicht mit Linux ar-
versuchen die Nutzer oft auf eine geklon- schauen sollten. beitet (ein nur kurzer Versuch, dnstwist
te Version der Webseite zu locken, um unter Python auf Windows zu starten,
sie dort dann beispielsweise mit Schad- Vielfach versuchen Angreifer auch E- misslang uns) oder im eigenen Unterneh-
software zu infizieren. Nun ist es eben- Mails abzufangen, die mit einem Tipp- men auch keinen Mitarbeiter besitzt, der
falls sehr unpraktisch und zeitraubend, fehler in der Adresse gesendet wurden. die Geheimnisse der Kommandozeile be-
all die durch das Skript gefundenen Sei- In einem solchen Szenario könnte diese herrscht, wird Einsatz und Bedienung viel-
ten manuell im Browser aufzurufen, um Seite dann alle E-Mails, die an diese fal- leicht etwas gewöhnungsbedürftig finden
festzustellen, ob dort eine Phishing-Seite sche Domäne geschickt würden, entspre- oder vielleicht grundsätzlich Mühe und
beziehungsweise ein Klon der eigenen chend einsammeln. Dnstwist besitzt eine Aufwand scheuen, die in diesem Fall mit
Unternehmenswebseite eingerichtet wur- Möglichkeit, einen simplen Test auf jeden Einrichtung und Betrieb eines Linux-Sys-
de und betrieben wird. Um dieses Pro- Mailserver auszuführen, der durch den tems verbunden wären. Für diese Fälle bie-
blem in den Griff zu bekommen, ver- DNS MX-Record angegeben wird, um tet sich als Alternative "dnstwister report"
wendet dnstwist "Fuzzy Hashes". Dieses festzustellen, welcher davon für diese [2] an. Optionen wie "--ssdeep" oder das
Konzept und die dazu eingesetzte ssdeep- Zwecke eingesetzt werden kann. Entspre- Feststellen des geografischen Ortes stehen
Bibliothek ermöglichen es, zwei Eingaben chende Server werden dann bei der Aus- allerdings nicht zur Verfügung. Aber die
– bei denen es sich in diesem Fall um gabe mit der Kennzeichnung "Spying- Webseite erlaubt es beispielsweise, das Er-
HTML-Code handelt – zu vergleichen MX" versehen. Dazu ist ein Aufruf der gebnis so zu filtern, dass nur registrierte
und eine grundlegende Übereinstim- folgenden Form notwendig: Domänen angezeigt werden. Auch der Ex-
mung festzustellen. port der Ergebnisse in eine JSON- oder
$ dnstwist.py --mxcheck example.com CSV-Datei ist mit Hilfe der Webseite mög-
Wird dnstwist mit dem Argument "-- lich, sodass sie eine interessante Alternative
ssdeep" (beziehungsweise "-s") aufgerufen, Der Entwickler weist allerdings darauf für Nutzer darstellt, die das Skript nicht
lädt das Skript für jeden generierten Do- hin, dass einige Mail-Server aus Sicher- selbst aufsetzen wollen. (dr)
mänennamen vom antwortenden HTTP- heitsgründen so konfiguriert werden, dass
Server Inhalt herunter. Dabei folgt es auch sie falsch adressierte E-Mails zwar anneh- Link-Codes
eventuellen Redirects. Dann wird der Fuz- men, diese aber dann sofort verwerfen.
zy Hash dieses Inhalts mit dem der Ori- Alle Ergebnisse eines Aufrufs des Skripts [1] DNS-Twist
I5Z21
ginal-Webseite verglichen. Das Skript gibt können über die Optionen "--csv" oder
[2] dnstwister report
dann den Grad der Übereinstimmung in "--json" auch direkt in entsprechende
I5Z22
Form einer Prozentzahl mit aus. Natürlich Textdateien ausgegeben werden.

Link-Codes eingeben auf www.it-administrator.de Mai 2018 97


Quelle: uwebergwitz – 123RF
Python-Modul Boto3
für die Amazon-Cloud

Wär' doch
gelacht
von Oliver Frommel

Das Boto-Modul hilft dabei, Ressourcen in der Amazon-Cloud mit Python zu managen. Dieser Artikel
gibt eine Einführung in die Programmierung mit dem offiziell von Amazon unterstützten Modul.

m in der Amazon-Cloud mal eben wie die ausführliche Dokumentation un- dem S3-Storage-Dienst anstellen, der nur
U eine VM zu starten, genügt die ter [2] belegt. über einen globalen Namespace verfügt,
webbasierte AWS Console. Wer aber seine weshalb man sich nicht um Regionen und
Clouddienste automatisieren möchte, Installiert ist das Framework mit den Availability Zones kümmern muss:
kommt kaum an einem etwas ausgefeil- üblichen Python-Paketmechanismen
teren Tool oder einer skriptgesteuerten schnell. Es genügt ein Aufruf des Paket- import boto3
Lösung vorbei. Um Letzteres soll es in managers "pip", eventuell zur Vergabe s3res = boto3.resource('s3')
diesem Artikel gehen. Das Tool respektive der passenden Rechte noch mit "sudo" for bucket in s3res.buckets.all():
Framework der Wahl ist Boto [1] (be- gekoppelt: print(bucket.name)
nannt nach dem Amazonas-Flussdelfin),
eine Sammlung von Python-Modulen, $ sudo -H pip install boto3 Dieses Beispiel geht von Python 3 und
die ursprünglich von Mitchell Garnett ge- der darin enthaltenen Print-Funktion aus.
schrieben wurde, der später bei Amazon Wer auf seinem System neben Python 2 Wer Python 2 einsetzt, kann die Print-
angestellt war. auch Version 3 betreibt, kann den ent- Funktion über die Anweisung "from __fu-
sprechenden Paketmanager mit pip3 ... ture__ import print_function" als erste
In der Zwischenzeit wurde Boto einmal aufrufen. Am allerbesten ist es natürlich, Zeile des Skripts importieren, dann funk-
gründlich von Grund auf umgeschrieben für sein Projekt mit "virtualenv" ein eige- tioniert es mit beiden Python-Versionen.
und wird nun als Boto3 auch von Ama- nes Verzeichnis anzulegen, in das die be-
zon unterstützt und gepflegt. Das bringt nötigten Module lokal installiert werden. Während der Namespace von S3 global
den Vorteil, dass Amazon sich darum ist, sind einzelne Buckets dennoch in be-
kümmert, dass alle der nicht gerade we- Nach der Installation von Boto3 steht der stimmten Regionen angesiedelt – irgend-
nigen angebotenen AWS-Dienste von komplette Funktionsumfang in eigenen wo müssen die Daten ja schließlich liegen.
dem Framework unterstützt werden. Der- Python-Skripten zur Verfügung. Ein ein- Wo das ist, finden Sie mit dem folgenden
zeit sind dies weit mehr als 100 Services, facher Test lässt sich beispielsweise mit Aufruf heraus:

98 Mai 2018 www.it-administrator.de


Boto3 Schwerpunkt

Eine interessante Alternative oder Ergän-


zung dazu ist es, die von Boto an AWS
geschickten HTTP-Requests zu untersu-
chen. Dies erlaubt außerdem einen tiefe-
ren Einblick darin, was hinter den Kulis-
sen passiert. Hierbei ist lediglich noch
das Problem zu lösen, dass alle Requests
zur Amazon-Cloud per TLS verschlüsselt
sind. Hierzu bieten Proxys wie mitmproxy
[4] eine Lösung, die darin besteht, dem
Client ein eigenes Zertifikat zu präsen-
tieren und gegenüber dem Server selbst
als Client aufzutreten.

Man in the Middle hilft


beim Debugging
Ist mitmproxy gestartet, bietet er einen
Betriebsmodus, in dem er selbst als Web-
server auftritt, um Informationen sowie
Bild 1: Mit dem mitmproxy und passenden Zertifikaten lassen die Zertifikate auszuliefern. Dazu müssen
sich auch verschlüsselte Anfragen an AWS untersuchen. Sie ihn beispielsweise im Webbrowser als
Proxy einstellen und dann die Adresse
location = mandline-Tools. Haben Sie also mit aws "http://mitm.it" aufrufen. Nun könnten
boto3.client('s3').get_bucket_lo- configure den Access Key und den Secret Sie die Zertifikate im Browser installie-
cation(Bucket=bucket.name)['Loca- Key eingetragen, können Sie Boto einfach ren, was in unserem Fall aber nichts
tionConstraint'] verwenden – vorausgesetzt der entspre- nützt, weil wir den Proxy ja mit Boto ver-
chende User besitzt die nötigen IAM-Rol- wenden möchten.
Dateien laden Sie mit dem folgenden len für das, was sie machen wollen. Al-
Code in S3 hoch. Der "key" entspricht da- ternativ können Sie die beiden Keys auch Trotzdem können Sie hier die Zertifikate
bei praktisch dem Dateinamen des Ob- in ihren Skripts als Parameter eintragen: "herunterladen". Dann legen Sie sie im
jekts im Bucket. passenden Verzeichnis ab, unter Ubuntu
session = boto3.Session( etwa in "/usr/local/share/ca-certificates/",
bucket_name = "my-aws-bucket" aws_access_key_id=ACCESS_KEY, und führen anschließend sudo update-ca-
key = "upload-file" aws_secret_access_key=SECRET_KEY certificates --verbose aus. Funktioniert al-
s3res = boto3.resource('s3') ) les, sehen Sie eine Meldung wie "I already
bucket = s3res.Bucket(bucket_name) trust 149, your new list has 150". Um si-
bucket.upload_file("upload.txt", Davon wird aber im Allgemeinen abge- cherzugehen, dass das Zertifikat in der
key) raten, da auf solchem Weg die Schlüssel Keychain gelandet ist, verwenden Sie bei-
zu leicht den Weg an die Öffentlichkeit spielsweise den folgenden Aufruf:
Eine praktische Ergänzung zu Boto beim finden, etwa wenn Skripts bei Github
Umgang mit S3 ist das "smart_open"-Mo- hochgeladen werden. Weitere Möglich- $ awk -v cmd='openssl x509 -noout
dul [3], mit dem sich S3-URLs (wie auch keiten zur Authentifizierung, über die die -subject'
HDFS) transparent öffnen und wie lokale Boto-Dokumentation informiert, sind '/BEGIN/{close(cmd)};{print |
Files verwenden lassen. Umgebungsvariablen oder ein Shared- cmd}' < /etc/ssl/certs/ca-certifi-
Credentials-File. cates.crt
Zusätzlich ist zu beachten, dass die Liste
von Objekten bei Boto und S3 auf 1000 Logging und Debugging Haben Sie dem System die Zertifikate des
begrenzt ist. Benötigen Sie mehr, müssen Um zu sehen, was Boto macht, können mitmproxy untergeschoben, können Sie
Sie sogenannte Paginators verwenden, die Sie das eingebaute Logging-Modul ver- den Proxy von Boto3-Skripts aus verwen-
es erlauben, mit weiteren Requests die wenden, das je nach Logging-Level (etwa den, indem Sie ihn bei der Konfiguration
verbleibenden Objekte zu laden. INFO, TRACE oder DEBUG) unter- eines Clients als Parameter übergeben,
schiedlich viele Informationen ausgibt. etwa so:
Authentifizierung
Um sich gegenüber AWS als berechtigter import logging ec2 = boto3.resource('ec2',
User auszuweisen, verwendet Boto3 die- boto3.set_stream_logger('', log- config=Config(proxies={'https':
selben Credentials wie die AWS-Com- ging.DEBUG) 'localhost:8080'}))

www.it-administrator.de Mai 2018 99


Sch w e rp unk t Boto3

Außerdem müssen Sie dem Python- seln, ist, sie in eine JSON-Datenstruktur
Listing 1: Security Groups
Skript noch mitteilen, dass es die Zerti- zu wandeln und dann mit dem Tool "jq"
fikatsliste verwenden soll, die das mitm- weiterzuverarbeiten. Ein JSON-Modul, from __future__ import print_function
proxy-Zertifikat enthält. Dies geschieht das Sie mit import json importieren, liefert import boto3
import json
über eine Umgebungsvariable, die Sie in Python bereits mit. Mit einem einzigen import sys
einem Python-Skript so setzen: Aufruf wandeln Sie ein Dictionary in
JSON um: ec2client = boto3.client('ec2',
region_name='us-east-1')
os.environ['REQUESTS_CA_BUNDLE'] =
groups = ec2client.describe_security_groups()
os.path.join('/etc/ssl/certs/', j = json.dumps(groups) print(json.dumps(groups))
'ca-certificates.crt')
Mit der "dumps"-Methode liefert das Mo-
Nun können Sie sich im mitmproxy-Fens- dul einen String zurück. Alternativ ver- Mit dem folgenden Aufruf von JQ iterie-
ter die Requests und die Antworten von wenden Sie "dump", dem Sie einen File- ren Sie über die als Liste gespeicherten
Amazon ansehen (Bild 1). deskriptor übergeben, zum Beispiel die "SecurityGroups" und geben dabei zu je-
Standardausgabe Stdout: der den GroupName aus:
An dieser Stelle noch ein Wort zu den in
Boto3 verwendeten Client- und Resour- json.dump(groups, sys.stdout) $ python3 sg.py | jq '.Security-
ceklassen: Vermutlich aus historischen Groups[].GroupName'
Gründen sind manche Funktionen als JQ verschönert und
Methoden der Clientklasse, andere aber durchsucht JSON Um das Layout der Ausgabe selber zu be-
als Methoden der jeweiligen Resource- In jedem Fall können Sie die JSON-Aus- stimmen, verwenden Sie die sogenannte
Klasse implementiert (etwa oben die S3- gabe mit JQ weiterverarbeiten, etwa um String Interpolation, die JQ bietet. Dabei
Resource). Die Clientfunktionen sind eher an einen in der tief verschachtelten Struk- wird jede Variable mit einem Backslash
low-level, während die Resourcen kom- tur versteckten Wert zu gelangen oder und zwei Klammern umschlossen. Der
fortablere Funktionen zum Umgang mit sich die Ausgabe formatiert und farblich Rest des Strings wird so dargestellt wie
AWS bieten. Als Beispiel sei EC2 genannt, markiert auszugeben (Bild 2). Der Code angegeben:
bei dem die Resource verschiedene Me- in Listing 1 liest die vorhandenen Security
thoden zum Erzeugen von Instanzen, Groups einer Region aus. Auch hier be- $ python3 sg.py | jq '.Security-
Netzwerken, Volumes und so weiter bie- kommt der Boto-Client die Region als Groups[] | "\(.GroupName):
tet. Zum Beenden einer Instanz müssen Keyword-Argument übergeben. \(.GroupId)"'
Sie aber den EC2-Client und "default: sg-0cba197b"
dessen Methode "terminate_in- "default_elb_3966756d-9722-
stances" verwenden. 3604-a7aa-aeb3277e84a3: sg-
3f65ff48"
Im Zweifelsfall müssen Sie in "launch-wizard-1: sg-
der Dokumentation nachsehen 7f4af20b"
und die entsprechende Klasse
instanziieren, die die gewünsch- Bei der Verarbeitung per JQ be-
te Funktion bietet. Die Kon- finden Sie sich natürlich dann
struktoren beider Klassen erlau- auf Shell-Ebene, was in Ord-
ben es, eine AWS-Region als nung ist, wenn Sie am Ende ei-
Parameter anzugeben, um eine nes Skripts Daten ausgeben, die
andere als die konfigurierte Sie sich anschauen oder mit ei-
Default-Region zu verwenden: nem anderen Skript weiterver-
arbeiten wollen. Weniger sinn-
ec2client = voll ist der Einsatz von JQ,
boto3.client('ec2', regi- wenn Sie innerhalb des Skripts
on_name='us-east-1') die Daten verarbeiten möchten.

Verarbeitung von JSON Dafür verwenden Sie besser


Die von AWS zurückgelieferten ein Python-Modul, das sich auf
Werte sind verschachtelte Py- die Suche in verschachtelten
thon-Dictionaries, die nicht im- Listen und Dictionaries spe-
mer sehr gut zu überblicken zialisiert hat, wie etwa "nested
sind. Eine Alternative dazu, sie Bild 1: Mit Hilfe von JQ lässt sich die JSON-Ausgabe von Boto3 besser lookup" oder "dpath", oder eins
in Python näher aufzuschlüs- formatieren und farblich unterlegen. der Module, die eine Abfrage-

100 Mai 2018 Alle Listings zum Download auf www.it-administrator.de


Boto3 Schwerpunkt

Wenn Sie nun etwa eine Security Group Autoscaling Group entsprechend anzu-
Listing 2: Instanzen und
mit der Methode "delete_security_group" passen. Ein entsprechendes Skript ist in
Autoscaling Groups
löschen möchten, kann es sein, dass Sie Listing 2 zu sehen.
from __future__ import print_function mit einer Fehlermeldung wie der folgen-
import boto3
den konfrontiert werden: Besser warten
asclient = boto3.client('autoscaling', regi- Da viele Ressourcentypen in Amazon
on_name='us-east-1') >> ec2client.delete_security_group nicht unmittelbar nach dem Erzeugen be-
ec2client = boto3.client('ec2',
(GroupID='sg-29b81b5e') reitstehen, beispielsweise Instanzen, bietet
region_name='us-east-1')
... Boto3 noch einen Mechanismus, um auf
for i in asclient.describe_auto_scaling_in- botocore.exceptions.ClientError: An diesen Zeitpunkt zu warten, die soge-
stances()['AutoScalingInstances']: error occurred (DependencyViolati- nannten Waiter. Wenn Sie beispielsweise
print(i['InstanceId'], i['AutoScaling-
GroupName'])
on) when calling the DeleteSecuri- eine EC2-Instanz starten, können Sie ei-
instanceid = i['InstanceId'] tyGroup operation: resource sg- nen Waiter verwenden, der den Ablauf
asgroupname = i['AutoScalingGroupName'] 29b81b5e has a dependent object stoppt, bis die Instanz den Zustand "run-
response =
asclient.update_auto_scaling_group(Auto-
ning" erreicht hat:
ScalingGroupName=asgroupname, MinSize=0) Der Grund dafür ist, dass das zu löschen-
if response is not None: de Objekt noch in einem anderen Objekt instance.wait_until_running()
print(response)
als Referenz vorkommt. Bevor dieser Ver-
response = asclient.detach_instances(In- weis nicht gelöscht ist, dürfen Sie das Ob- Ein weiteres Beispiel ist der LoadBalan-
stanceIds=[instanceid], AutoScalingGroup- jekt nicht löschen. Im Fall von Security cer-Service, dessen verfügbare Waiter Sie
Name=asgroupname, ShouldDecrementDesired- Groups können Sie zur Lösung des Pro- mit dem Attribut "waiter_names" in Er-
Capacity=True)
if response is not None:
blems alle Security Groups durchgehen fahrung bringen:
print(response) und in den "UserIdGroupPairs" nachse-
hen, ob das fragliche Objekt vorhanden elbclient = boto3.client('elbv2',
ec2client.terminate_instances(Instan-
ist. Wenn ja, löschen Sie die Referenz, da- region_name='us-east-1')
ceIds=[instanceid])
nach dürfen Sie auch das Objekt löschen, print elbclient.waiter_names
auf das verwiesen wird. ['load_balancer_available',
for g in 'load_balancer_exists', 'load_ba-
asclient.describe_auto_scaling_groups()['A
utoScalingGroups']:
Autoscaling Groups lancers_deleted', 'target_deregis-
asgroupname = g['AutoScalingGroupName'] Ein ähnliches Beispiel sind die Autosca- tered', 'target_in_service']
asclient.delete_auto_scaling_group(Auto- ling Groups (AG), die dafür sorgen, dass
ScalingGroupName=asgroupname)
bestimmte EC2-Instanzen laufen. Häufig Damit können Sie im eigenen Code war-
print(g['AutoScalingGroupName'])
werden nämlich EC2-Instanzen nicht ten, bis der "loadbalancer_available" ist.
von Hand gestartet, sondern es gibt Au-
sprache für JSON analog zu XPath für toscaling Groups, über die Anwender Fazit
XML implementieren, etwa "jsonpath- deklarativ bestimmen, dass bestimmte Boto3 ist ein umfangreiches Python-Mo-
ng". Ansonsten iterieren Sie wie üblich Ressourcen vorhanden sein müssen, dul, mit dem sich sämtliche Aspekte der
über die Liste und können dabei die während die Umsetzung dann automa- AWS-Cloud per Skript steuern lassen. Die
Werte ausgeben: tisch geschieht. Komplexität hat aber ihren Preis und
nicht immer ist eine Standard-Aufgabe
for g in groups['SecurityGroups']: Dies hat zur Folge, dass es sinnlos ist, so einfach zu erledigen, wie es sein könn-
print(g['GroupName'], g['Grou- solcherart gestartete Instanzen manuell te. Hier könnte Amazon sicher noch ein-
pId']) zu löschen, denn Sie werden von AWS fachere APIs bereitstellen, die es ermög-
immer wieder neu gestartet, um die An- lichen komplexere Dinge mit weniger
Filter reduzieren Resultate forderungen der AG zu erfüllen. In die- Zeilen Code zu erledigen.
Darüber hinaus unterstützen viele Boto- sem Fall sind zum Beenden einer In-
Methoden auch Filter, die es ermöglichen, stanz die entsprechenden Autoscaling Link-Codes
Einschränkungen der gefragten Daten be- Groups zu aktualisieren. Die entspre-
reits auf dem Server anzuwenden und so- chende Methode "detach_instances" [1] Boto3 auf Github
I5Z71
mit die übertragenen Datenmengen zu zum Herauslösen einer Instanz aus der
[2] Boto3-Dokumentation
reduzieren, zum Beispiel hier bei der Su- AG besitzt einen weiteren Parameter na-
I5Z72
che nach laufenden AWS-Instanzen: mens "ShouldDecrementDesiredCapa-
[3] smart_open
city", der dafür sorgt, dass anstelle der
I5Z73
result = ec2.instances.filter(Fil- Instanz nicht eine neue gestartet wird.
[4] mitmproxy
ters=[{'Name': 'instance-state-na- Darüber hinaus ist es, je nach Konfigu- I5Z74
me', 'Values': ['running']}]) ration, noch nötig, die "MinSize" der

Link-Codes eingeben auf www.it-administrator.de Mai 2018 101


Buchbesprechung

Windows Scripting lernen


Die PowerShell ist fen, der der Autor ebenfalls Platz in sei- diensten. Wie erwähnt, findet sich auch
momentan in aller nem Buch einräumt. die PowerShell 5.0 in dem Buch wieder,
Munde, bietet sie Natürlich unterstützt der Windows wenn auch nur auf rund 80 Seiten.
Admins vielseitige Script Host auch andere Sprachen wie et-
Möglichkeiten der wa JScript, doch bietet sich VBScript für Fazit
Rechnerverwaltung Admins als Arbeitspferd an, da sie einfa- Während einige Admins auf Scripting
sowie Automatisie- cher zu erlernen und an das ebenfalls ge- schwören, ist das Programmieren von Ab-
rung. Angesichts bräuchliche Visual Basic angelehnt ist. So läufen für andere noch immer ein Buch
des Hypes, der auch fokussiert auch Dr. Schwichtenberg die mit sieben Siegeln. Dr. Holger Schwich-
seitens Microsoft Sprache. Scripting- und Programmierun- tenberg führt die Leser in seinem Buch
vorangetrieben wird, sind Alternativen erfahrene müssen sich jedoch keine Sor- behutsam an die Thematik heran und
in Sachen Windows-Scripting aus dem gen machen, denn der Autor holt auch geht mit ihnen Schritt für Schritt die
Fokus geraten. Doch lassen sich auch mit Leser ab, die bei Adam und Eva anfangen. verschiedenen Einsatzszenarien des Win-
dem Windows Script Host (WSH) und Und praktisch dabei: Alle aufgeführten dows-Scripting durch. Beispielcode und
Visual Basic Script nützliche kleine Helfer Beispiele lassen sich auf einem Testrechner Screenshots veranschaulichen perma-
erstellen. In seinem Buch "Windows nachspielen. Nach einer Einführung in nent die aufgezeigte Theorie und ma-
Scripting lernen" beleuchtet Dr. Holger Sachen WSH widmet sich der Autor den chen Lust auf praktische Fingerübungen
Schwichtenberg deren vielfältigen Mög- Grundlagen von VBScript und erläutert am eigenen Rechner.
lichkeiten. Das rund 520-seitige Werk den Aufbau der Sprache samt Konstanten, Daniel Richey
liegt inzwischen in der sechsten Auflage Variablen, Operatoren, Bedingungen oder
vor, um auch die Neuerungen in auch Schleifen. Anschließend folgt der Autor Dr. Holger Schwichtenberg
Windows 10 und Windows Server 2016 Einsatz der Sprache in der Administration, Verlag Carl Hanser
Preis 34,99 Euro
zu berücksichtigen. Dazu sei jedoch ge- etwa in der Benutzerverwaltung, der
ISBN 978-3446448001
sagt, dass diese die PowerShell 5.0 betref- Computerverwaltung oder den System-

Den Tätern auf der Spur


Die wenigsten Fir- organisatorische Maßnahmen ab – Fazit
men sprechen ger- Handlungsanweisungen für IT-Verant- Sind wir ehrlich: Alle Firmen sind von
ne über Cyberan- wortliche. Sicherheitsvorfällen betroffen, manche
griffe, denen sie Dörsam gibt zunächst einige grund- kommen mit einem blauen Auge davon,
zum Opfer gefallen legende Hinweise zu Sicherheitsvorfäl- andere gehen unter. Je größer die Bereit-
sind. Das ist scha- len, bevor es an einzelne Beispiele geht. schaft der IT-Verantwortlichen ist, aus
de, denn nur so Dazu gehören etwa das Risikomanage- Fehlern anderer zu lernen, desto größer
können IT-Verant- ment und das Erkennen von sicherheits- ist die Chance, mit Cyberangriffen fertig
wortliche anderer relevanten Ereignissen. Immer wieder zu werden.
Unternehmen von streut der Autor praktische Tipps ein, In diese Kerbe schlägt Alexan-
Fehlern ihrer Kollegen lernen und An- etwa zur gerichtsverwertbaren Siche- der Dörsam mit seinem Buch. Er zeigt
greifern das Leben schwerer machen. rung von Daten oder zu Kernfragen für anhand anonymisierter Fälle aus der Pra-
Natürlich gibt es inzwischen Initiativen, die Bewertung von Sicherheitsvorfällen. xis, wie Sicherheitsvorfälle abgelaufen
die den Austausch technischer Securi- Die exemplarischen Ereignisse, die Dör- sind. Abschließend gibt er den Lesern
ty-Informationen ermöglichen sollen. sam in seinem rund 180-seitigen Werk hilfreiche Tipps dazu, wie sie die IT-Se-
Und auch IT-Sicherheitsanbieter haben vorstellt, sind aus der Praxis gegriffen. curity in ihrem Unternehmen organisie-
einen übergreifenden Blick über die Be- Darunter natürlich die Klassiker CEO- ren sollten. Insgesamt stehen nicht tech-
drohungslandschaft. Für Admins, die Fraud und der Befall mit Ransomware. nische Schutzmaßnahmen, sondern
sich eher nebenher in diesem Themen- Auch der Zugriff durch Unbefugte auf menschliche wie organisatorische As-
feld weiterbilden möchten, hat Alexan- Firmendaten spielt eine Rolle, ebenso pekte im Vordergrund.
der Dörsam sein Buch "Den Tätern auf wie Administratoren als Angreifer. Den Daniel Richey
der Spur" geschrieben. Darin beleuchtet Abschluss bildet ein Kapitel zur Vorbe-
er verschiedene reale Cyberattacken auf reitung auf den Ernstfall. Darin gibt Autor Alexander Dörsam
Firmen und beschreibt deren Umgang Dörsam Tipps zur organisatorischen Si- Verlag Springer
Preis 14,99 Euro
damit. Dabei stellt er weniger auf rein cherheit oder auch dem Erkennen von
ISBN 978-3658164652
technische, sondern vor allen Dingen Sicherheitsvorfällen.

102 Mai 2018 www.it-administrator.de


Fa c h a r t i k e l o n l i n e

Besser informiert:
Mehr Fachartikel auf
www.it-administrator.de
Unser Internetauftritt versorgt Sie jede
Woche mit neuen interessanten Fachartikeln.
Als Heftleser können Sie über die Eingabe des Link-Codes
schon jetzt exklusiv auf alle Onlinebeiträge zugreifen.

Automatisierung Troubleshooting in
mit der PowerShell virtualisierten Umgebungen
Administratoren wenden einen großen Teil Fehlerbehebung gehört zu den elementarsten
Mit SIEM die
ihrer Arbeit für stets wiederkehrende Anwen- Techniken, die IT-Profis beherrschen sollten.
Multi Cloud überwachen
dungsfälle auf. Durch die Automatisierung Dennoch wird sie oft übersehen. Grund dafür
von Aufgaben und eine Delegation von Tätig- ist meistens Zeitmangel, denn Troubleshoo- Sicherheit ist ein Dauerthema und bei der
keiten lässt sich viel Zeit sparen. Der Online- ting – besonders in einer virtualisierten Infra- Multi Cloud keine einfache Angelegenheit.
Workshop schildert Herausforderungen und struktur – ist angesichts der Vielzahl der Ein System für Security Information and Event
Erfahrungen beim Umgang mit der Power- betroffenen Elemente und der zahlreichen Management (SIEM) hilft dabei, ungewöhnli-
Shell und erklärt anhand eines Beispiels, wie Abstraktionsebenen besonders zeitaufwän- chen Datenverkehr und damit potenzielle
Administratoren vom Cmdlet über das Skript dig. Der Fachartikel auf unserer Webseite Sicherheitsvorfälle aufzudecken. Es analysiert
zu einer Vorgangsautomation gelangen. Da- geht auf die größten Herausforderungen bei alle Datenströme im Netzwerk und triggert
bei gehen wir auch auf eine mögliche Sicher- der Fehlerbehebung in virtualisierten Umge- einen Alarm, wenn Anomalien auftreten.
heitsarchitektur für die PowerShell in auto- bungen ein und gibt Tipps, wie sich IT-Exper- Der Onlinebeitrag zeigt, wie definierte Use
matisierten IT-Prozessen ein. ten besser vorbereiten können. Cases und eine angepasste Informationsbasis
Link-Code: I5W51 Link-Code: I5W52 an Log-Quellen für einen zielführenden
SIEM-Einsatz innerhalb von Multi-Cloud-
Umgebungen sorgen.
Link-Code: I5W53

Installation von vCenter Server 6


Die zentrale Verwaltung von vSphere-Infrastrukturen leistet das vCenter. Als unverzichtbares Ele-
ment liegt es jedoch in zwei Varianten vor: als Windows-basierter Server und als Linux-Appliance.
IT-Sicherheit
VMware hat die Leistungsfähigkeit der Appliance-Variante deutlich aufgestockt. Dadurch ist diese
an der Rennstrecke
zumindest für die avisierte Kundschaft in kleinen und mittleren Unternehmen eine echte Alternati-
ve, zumal dann keine externe Die Sicherheit der Fahrer steht bei der Formel 1
Datenbank notwendig ist. an erster Stelle. Doch wie sieht es mit der IT-
Doch erreicht die Umgebung Sicherheit aus? Gerade bei internationalen
eine gewisse Größe, zeigen Events wie der Formel 1 gilt es, sich auf die
sich hier Limitierungen. Wir jeweiligen Rahmenbedingungen einzustellen.
gehen in unserem exklusiven Ein umfassender Schutz der IT-Systeme ist
Online-Workshop Schritt für unerlässlich. Der Veranstalter setzt hierzu auf
Schritt durch beide Installati- einen Managed Security Service Provider. Wie
onsvarianten. Dabei beschäf- die Auslagerung der IT-Überwachung in der
tigen wir uns auch mit dem Praxis funktioniert und wie dabei Hard- und
Anlegen eines Clusters und Software zusammenspielen, zeigt der Anwen-
der Möglichkeit einer Migra- derbericht auf unserer Webseite.
tion von vCenter Server zur Link-Code: I5W54
Appliance.
Link-Code: I5W55

Link-Codes eingeben auf www.it-administrator.de Mai 2018 103


Alle Theme
auf einen n
Blick
Terminkalender

Termin Thema Ort Status Link-Code*

07.05.2018 GPO für Windows 10 München nur noch Warteliste TIW03

08.05.2018 IT Security mit Active Directory München nur noch wenige Plätze TIWG1

17.05.2018 IT-Notfallplanung für KMUs Darmstadt TIWI1

06.-08.06.2018 Intensiv-Seminar PowerShell für Admins Hamburg nur noch wenige Plätze TIWI2

14.06.2018 GPO für Windows 10 Darmstadt TIW03

21.06.2018 IT-Notfallplanung für KMUs Dortmund TIWI1

27.-29.06.2018 Intensiv-Seminar PowerShell für Admins München/Garching TIWI2

03.-05.07.2018 Intensiv-Seminar Aufbau einer PKI unter Windows Hamburg TIWI3

18.09.2018 Drucker in Window-Netzwerken Hamburg TIW06

19.-21.09.2018 Intensiv-Seminar Aufbau einer PKI unter Windows München/Garching TIWI3

23.10.18 Drucker in Windows Netzwerken Frankfurt/Dietzenbach TIW06

*Link-Code eingeben auf www.it-administrator.de

Anmeldung online unter:


www.it-administrator.de/trainings

Der IT-Administrator bietet seinen Abonnenten regelmäßig Haben Sie Fragen zu unseren
kostenfreie Workshops sowie einzelne Trainingstage und Trainings, Intensiv-Seminaren
mehrtägige Intensiv-Seminare zu attraktiven Konditionen. oder Workshops?

Die halb- oder ganztägigen Workshops finden bundesweit


statt und sind für alle Abonnenten des IT-Administrator kosten-
Sabine Scherzer
los. Die tiefer gehenden, sogenannten IT-Administrator Trainings, Eventmanager
finden ganztägig statt, sind auf 25 Teilnehmer begrenzt und
kostenpflichtig – mit einem Vorteilspreis von Euro 238 Tel. + 49 - 89 - 444 540 825
Fax + 49 - 89 - 444 540 899
(inklusive MwSt.) für Abonnenten.
sabine.scherzer@heinemann-verlag.de

Die seit dem Jahr 2015 neu stattfindenden IT-Administrator


Intensiv-Seminare laufen über mehrere Tage und sind auf
sechs bis zehn Teilnehmer begrenzt. Auch hier erhalten
Abonnenten attraktive Vorzugspreise! Heinemann Verlag GmbH · Leopoldstraße 87 · D-80802 München
Aus dem Forschungslabor

Vergittert
von John Pardey

Wären Quantencomputer morgen früh um 9 Uhr kommerziell verfügbar,

Quelle: EVGENII SIDOROV – 123RF


wäre jede Internetkommunikation spätestens um 10 Uhr unsicher. Denn
deren besondere Rechenkraft ist in der Lage, es mit jeder heute gängi-
gen Verschlüsselung aufzunehmen. Und obwohl es noch etwas dauern
wird, bis sich im Regal neben den neuesten Tablets ein solch exotischer
Rechner findet, fragt sich die IT-Industrie schon heute, wie Verschlüsselung
auch zukünftig Sicherheit bieten kann.

ie wichtigsten Verschlüsselungs- dass sich die Sicherheit eines Verschlüsse- Eine Verschlüsselung auf Basis solch eines
D standards im Internet verwenden lungsalgorithmus nicht mathematisch be- Gitters halten Forscher weltweit derzeit für
asymmetrische Kryptografie auf der Basis weisen lässt. Hält eine Verschlüsselung also stark genug gegen einen Quantencomputer.
von RSA. So lässt sich beispielsweise ein klassischen Angriffsverfahren stand, ist da- Genau genommen nehmen sie es nur "stark
Verschlüsselungsschema mit öffentlichen durch keine Aussage über ihren Wert ge- an", denn beweisen lässt sich dies, wie er-
Schlüsseln realisieren, mit dem eine ver- genüber einem Quantencomputer bekannt wähnt, nicht ohne einen ausreichend star-
schlüsselte E-Mail-Nachricht gesendet – es sei denn, der Forscher hat selbst Zugriff ken Quantencomputer.
werden kann, ohne dass zuvor ein sym- auf einen derartigen Rechner.
metrischer Schlüssel ausgetauscht werden Weitere Nutzen der Gitter
muss – der öffentliche Schlüssel des Emp- Gitter sollen uns abschirmen Zwar lässt sich aktuell noch nicht sagen,
fängers reicht aus. Ein weiteres Einsatz- Forscher arbeiten weltweit an einer ganzen ob die gitterbasierte Kryptografie oder
gebiet sind digitale Signaturen für Daten. Reihe neuer Verschlüsselungsverfahren ein anderer Ansatz unser zukünftiges Ver-
Seit der Arbeit von Peter Shor aus dem für die anstehende Ära des Quantencom- fahren ist, wenn wir Daten sicher trans-
Jahr 1994 ist allerdings bekannt, dass RSA puters. Wir wollen uns in diesem Artikel portieren wollen. Doch das Gitter kommt
gegenüber Angriffen von Quantencom- eines davon näher ansehen, die "gitterba- mit zwei weiteren attraktiven Features
putern anfällig ist. Shors Algorithmus, sierte Kryptografie" (Lattice-based Cryp- daher: Zum einen deuten Forschungser-
ausgeführt auf einem Quantencomputer, tography). Diese hat beispielsweise IBM gebnisse darauf hin, dass gitterbasierte
ermöglicht das Faktorisieren des öffent- als eines der führenden Forschungsunter- Kryptografie sogar weniger Ressourcen
lichen Schlüssels des RSA-Systems. Somit nehmen in Sachen Quantencomputer als benötigt als die heute gängigen Verfahren.
fällt die Sicherheit aller auf RSA (und ver- sein Mittel der Wahl auserkoren, wenn es Somit wäre diese Verschlüsselung sogar
gleichbaren Methoden) basierenden um zukünftige Sicherheit geht. Und Goo- ohne die Bedrohungen durch Quanten-
Schlüsselaustausch- und Signaturverfah- gle experimentierte damit schon 2016 im computer wirtschaftlich interessant. Da-
ren auf einen Wert nahe Null. Chrome-Browser. rüber hinaus bildet die Gitterbasierte
Kryptografie die Grundlage der "Fully
Das Problem im Problem Gitterbasierte Kryptografie fußt auf folgen- Homomorphic Encryption" (homomor-
Als Reaktion auf dieses über 20 Jahre alte dem mathematischen Problem: Stellen wir phe Verschlüsselung). Diese soll zukünftig
Problem haben sich im Laufe der Zeit zahl- uns ein Gitter vor, das an einer Stelle einen erlauben, dass Daten, selbst wenn sie ak-
reiche neue Verschlüsselungsalgorithmen Nullpunkt besitzt. Überall dort, wo sich tuell verarbeitet werden – etwa in einer
als mögliche Antwort positioniert. Doch zwei Linien kreuzen, liegen weitere Punkte, ERP-Anwendung –, nicht mehr ent-
neben der Herausforderung einer weltwei- die wir Kreuzungspunkte nennen. Frage: schlüsselt werden müssen.
ten Umstellung des genutzten Verschlüs- Welcher Kreuzungspunkt liegt am nächsten
selungsverfahrens zeigten sich die meisten beim Nullpunkt? Für ein zweidimensiona- Ob sich die gitterbasierte Kryptografie
der Ansätze als schlicht nicht sicher. Zudem les Gitter ist dieses Problem leicht zu lösen; letztendlich durchsetzt, bleibt offen. Ne-
verschlangen die meisten von ihnen zu viele auch in einem dreidimensionalen Gitter ben der Sicherheit wird insbesondere der
IT-Ressourcen und waren in der prakti- könnten wir die Antwort relativ schnell Ressourcenbedarf auf dem Prüfstand ste-
schen Anwendung daher zu langsam. finden. Aber je mehr Dimensionen hinzu- hen, denn das Verfahren muss sich bei-
kommen, desto schwieriger wird die Auf- spielsweise auch auf elektronischen Aus-
Ein grundlegendes Problem auf diesem Feld gabe. Und ab etwa 500 Dimensionen lässt weisen, in Smartcards und IoT-Geräten
bleibt zudem bis auf weiteres die Tatsache, sich das Problem nicht mehr effizient lösen. unterbringen lassen.

www.it-administrator.de Mai 2018 105


Vo r s c h a u

Die Ausgabe 6/18 erscheint am 4. Juni 2018

Storage-Management & -Virtualisierung


Das lesen Sie in den
nächsten Ausgaben des
■ Im Test: Datamate Fellow KMU-Server
■ Strategien bei der SAN-Datenmigration In der Juli-Ausgabe mit dem Schwerpunkt Asset- &
Lifecycle Management werfen wir einen Blick auf
■ Tiering in hybridem Storage die Software-Inventarisierung mit der PowerShell und
schauen uns an, was der AWS Systems Manager zu
■ Speicheroptionen für bieten hat. Auch beleuchten wir in der Ausgabe, wie
sich die Betriebs- und Systemdokumentation am bes-
Windows-Server und -Clients ten erledigen lässt und welche Rolle RFID sowie IoT
im Asset-Management spielen. In einem großen Ver-
gleichstest treten Spiceworks, OCS Inventory, GLPI,
Snipe-IT in Sachen Inventarisierung und Asset-Ma-
nagement gegeneinander an. Im August-Heft folgt der
Die Redaktion behält sich Themenänderungen aus aktuellem Anlass vor. Schwerpunkt E-Mail und Messaging.

Impressum

Redaktion Produktion / Anzeigendisposition All-Inclusive Jahresabo ISSN So erreichen Sie den Leserservice
John Pardey (jp), Chefredakteur Lightrays: A. Skrzypnik, L. Mueller (incl. E-Paper Monatsausgaben, 2 Sonder- 1614-2888 Leserservice IT-Administrator
verantwortlich für den redaktionellen Inhalt dispo@it-administrator.de heften und Jahres-CD): € 188,00
Tel.: 089/4445408-88 All-Inclusive Studentenabo: € 120,50 Urheberrecht Stephan Orgel
john.pardey@it-administrator.de
Fax: 089/4445408-99 Auslandspreise: Alle in IT-Administrator erschienenen Bei- 65341 Eltville
Daniel Richey (dr), Stellv. Chefredakteur/CvD Titelbild: Jahresabo: € 150,- träge sind urheberrechtlich geschützt. Alle Tel.: 06123/9238-251
daniel.richey@it-administrator.de Andreas Skrzypnik Studentenabo: € 75,- Rechte, einschließlich Übersetzung, Zweit- Fax: 06123/9238-252
Jahresabo mit Jahres-CD: € 163,50 verwertung, Lizenzierung vorbehalten. Re-
Druck E-Mail: leserservice@it-administrator.de
Oliver Frommel (of), Leitender Redakteur Studentenabo mit Jahres-CD: € 88,50 produktionen und Verbreitung, gleich wel-
oliver.frommel@it-administrator.de Brühlsche Universitätsdruckerei All-Inclusive Jahresabo: € 203,00 cher Art, ob auf digitalen oder analogen
GmbH & Co. Kg All-Inclusive Studentenabo: € 128,00 Bankverbindung für Abonnenten
Am Urnenfeld 12 Medien, nur mit schriftlicher Genehmigung
Lars Nitsch (ln), Redakteur/Textchef E-Paper-Einzelheftpreis: € 8,99 des Verlags. Aus der Veröffentlichung kann Kontoinhaber: Vertriebsunion Meynen
lars.nitsch@it-administrator.de 35396 Gießen
E-Paper-Jahresabo: € 99,- nicht geschlossen werden, dass die be- Postbank Dortmund
Vertrieb E-Paper-Studentenabo: € 49,50 schriebenen Lösungen oder verwendeten
Markus Heinemann, Schlussredakteur Anne Kathrin Heinemann Jahresabo-Kombi mit E-Paper: € 168,- IBAN: DE96440100460174966462
Bezeichnungen frei von gewerblichen
markus.heinemann@email.de Vertriebsleitung BIC: PBNKDEFFXXX
(Studentenabos nur gegen Vorlage einer Schutzrechten sind.
kathrin@it-administrator.de
Tel.: 089/4445408-20 gültigen Immatrikulationsbescheinigung)
Autoren dieser Ausgabe Haftung So erreichen Sie die Redaktion
Thomas Bär, Bruce Byfield, Abo- und Leserservice Alle Preise verstehen sich inklusive der Für den Fall, dass in IT-Administrator unzu-
gesetzlichen Mehrwertsteuer sowie Redaktion IT-Administrator
Ruud de Wildt, Tam Hanna, Jürgen Heyer, Vertriebsunion Meynen GmbH & Co. KG treffende Informationen oder in veröffent-
inklusive Versandkosten. lichten Programmen, Zeichnungen, Plänen Heinemann Verlag GmbH
Martin Kuppinger, Martin Loschwitz, Stephan Orgel
Dr. Holger Reibold, Thorsten Scherf, Große Hub 10 oder Diagrammen Fehler enthalten sein Leopoldstr. 87
Verlag / Herausgeber
Frank-Michael Schlede, Tim Schürmann, 65344 Eltville sollten, kommt eine Haftung nur bei gro- 80802 München
Heinemann Verlag GmbH
Dr. Holger Schwichtenberg, leserservice@it-administrator.de ber Fahrlässigkeit des Verlags oder seiner Tel.: 089/4445408-10
Tel.: 06123/9238-251 Leopoldstraße 87
Mitarbeiter in Betracht. Für unverlangt ein- Fax: 089/4445408-99
Torben Volkmann, Thomas Wiefel, 80802 München
Fax: 06123/9238-252 gesandte Manuskripte, Produkte oder
Matthias Wübbeling, Dennis Zimmer Tel.: 089/4445408-0 E-Mail: redaktion@it-administrator.de
Vertriebsbetreuung sonstige Waren übernimmt der Verlag
DPV GmbH Fax: 089/4445408-99 keine Haftung.
www.dpv.de (zugleich Anschrift aller Verantwortlichen) So erreichen Sie die Anzeigenabteilung
Anzeigen lange.guido@dpv.de Manuskripteinsendungen
Die Redaktion nimmt gerne Manuskripte Anzeigenverkauf IT-Administrator
Anne Kathrin Heinemann, Anzeigenleitung Web: www.heinemann-verlag.de
Erscheinungsweise an. Diese müssen frei von Rechten Dritter Anne Kathrin Heinemann
verantwortlich für den Anzeigenteil E-Mail: info@heinemann-verlag.de
monatlich sein. Mit der Einsendung gibt der Verfasser Heinemann Verlag GmbH
kathrin@it-administrator.de Eingetragen im Handelsregister des
Bezugspreise die Zustimmung zur Verwertung durch die Leopoldstr. 87
Tel.: 089/4445408-20 Amtsgerichts München unter
Einzelheftpreis: € 12,60 Heinemann Verlag GmbH. Sollten die Ma-
Es gilt die Anzeigen- HRB 151585. 80802 München
Inlandspreise: nuskripte Dritten ebenfalls zur Verwertung
preisliste Nr. 15 vom Jahresabo: € 135,- Geschäftsführung / Anteilsverhältnisse angeboten worden sein, so ist dies anzuge-
01.11.2017 Studentenabo: € 67,50 Geschäftsführende Gesellschafter zu ben. Die Redaktion behält sich vor, die Ma- Tel.: 089/4445408-20
Jahresabo mit Jahres-CD: € 148,50 gleichen Teilen sind Anne Kathrin nuskripte nach eigenem Ermessen zu bear- Fax: 089/4445408-99
Studentenabo mit Jahres-CD: € 81,00 und Matthias Heinemann. beiten. Honorare nach Vereinbarung. E-Mail: kathrin@it-administrator.de

Aikux S. 25 Paessler S. 35 Inserentenverzeichnis


Baramundi S. 05 Rheinwerk Verlag S. 19
Centron S. 21 Symplasson S. 05 Die Ausgabe enthält eine
Experteach S. 29 Thomas Krenn S. 02 Vollbeilage der Firma MATESO und
Hewlett Packard S. 108 Tuxedo S. 107 eine Teilbeilage der Firma hackattack.

106 Mai 2018 www.it-administrator.de


EINE PC ENTSCHEIDUNG IST IMMER AUCH
EINE SICHERHEITSENTSCHEIDUNG

STEIGEN SIE UM AUF HP ELITE PCS MIT


INTEL® CORE™ VPRO™ PROZESSOREN

INTEL, DAS INTEL-LOGO, INTEL INSIDE, INTEL CORE, UND CORE INSIDE SIND MARKEN DER INTEL CORPORATION ODER IHRER
TOCHTERGESELLSCHAFTEN IN DEN USA UND/ODER ANDEREN LÄNDERN.

H P E M P F I E H LT W I N D O W S 1 0 P R O .

Vous aimerez peut-être aussi