Upload
nine-internet-solutions-ag
View
40
Download
3
Embed Size (px)
Citation preview
Orchestrierung von Security-Updates
für Linux-Serversysteme
Bachelorarbeit HSR, FS 2016Ueli Bosshard, Philipp Christen a
Team● Ueli Bosshard
○ Informatiker
○ > 15 Jahre Erfahrung in der Systemtechnik
○ Linux, Web-Hosting, Security
○ Universität Zürich
● Philipp Christen○ Frontend-Developer
○ > 5 Jahre Erfahrung in der Web-Entwicklung
○ Javascript
○ SRF
2
Agenda● Anforderungen an ein Update-Management
● Vorstellung von upd89
● Update-Management mit upd89
● Demo
● Sicherheit bei einer verteilten Lösung
● Entwicklung mit Rails
3
Updatemanagement bisher● Wenig Übersicht
● ~ 1500 Virtual Servers
● Update der Systeme mittels
Bash-Script
● Aufwand: ~ 1 Tag pro Woche
4
Anforderungen
5
“Orchestrierung von Security-Updates für Linux-Serversysteme”
Anforderungen● Reporting
● Nachvollziehbarkeit
● Regeln & Abhängigkeiten
● Open-Source
● Sicherheit
● Qualität
6
● Technologien○ Web-Applikation
○ Rails, Ruby
○ PostgreSQL
○ Ubuntu 12.04/14.04
Updatemanagement mit upd89● Automatisierte Installation
● Web-Applikation
● Reduzierter Aufwand
● Gesammelte Informationen
7
Komponenten
8
AgentLäuft auf jedem verwalteten Server, meldet und installiert Updates
Control CenterZentrale Komponente, bietet Benutzer Übersicht und Verwaltungsmöglichkeiten
Arbeitsablauf
9
TaskSammlung der zu installierenden Updates für ein einzelnes System
JobAuftrag des Benutzers, enthält einen oder mehrere Tasks
J
T
T T
API - Registrierung
10
AgentControl Center
Registrierung
Status
Name, OS, URN, Adresse
Update-Vorgang1. Agent sammelt und sendet
verfügbare Updates
2. Control Center zeigt Update an
3. Benutzer löst Update aus
4. Agent installiert Update
5. Agent meldet Ergebnis
12, 3
4
5
11
API - Inkrementelle Vorgänge
12
AgentControl Center
Verfügbare Updates
Status, Bekannte Hashes
Anzahl Updates, Hash-Liste
API - Inkrementelle Vorgänge
13
AgentControl Center
Verfügbare Updates
Status
Anzahl Updates, Paket-Liste
1. Zertifikat des Control Centers prüfen2. Vertraulichkeit des Agents feststellen3. Serverzertifikat prüfen4. Benutzer aufgrund von Passwort
vertrauen
Sicherheit
15
Sicherheit in der API
16
● Eigene CA (Vertrauensbasis)
● Gegenseite Authentisierung
Gems (Auswahl)
17
will_paginate Pagination von ActiveRecord-Einträgen
filterrific Unterstützung für Filter und Sortiermöglichkeiten.
sucker_punch Asynchrone Hintergrund-Aufträge
faraday Bibliothek für HTTP-Zugriffe mit HTTPS-Support.
sorcery Benutzer-Authentifizierung und Login-Funktionalität.
cancancan Berechtigungen auf Aktions-Ebene (CRUD).
Gems (Visuell)
18
will_paginate
filterrific
font_awesome_rails
Herausforderungen● Concurrency
● Administrate o.Ä.
● Zeitnahe Informationsreplikation
● Balance Redundanz <-> Traffic-Minimierung
● apt-Anbindung mit Ruby
19
Fragen
?20
Danke! Und immer schön updaten!
21