Vorstellung einer modernen Update-Verwaltung für Ubuntu-Systeme mit Schwerpunkt auf der zeitnahen Ausführung von spezifischen Updates auf vielen Systemen und dem Reporting auf einer zentralen Weboberfläche.
2. 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
3. Agenda
● Anforderungen an ein Update-Management
● Vorstellung von upd89
● Update-Management mit upd89
● Demo
● Sicherheit bei einer verteilten Lösung
● Entwicklung mit Rails
3
4. Updatemanagement bisher
● Wenig Übersicht
● ~ 1500 Virtual Servers
● Update der Systeme mittels
Bash-Script
● Aufwand: ~ 1 Tag pro Woche
4
8. Komponenten
8
Agent
Läuft auf jedem verwalteten Server, meldet und
installiert Updates
Control Center
Zentrale Komponente, bietet Benutzer Übersicht und
Verwaltungsmöglichkeiten
9. Arbeitsablauf
9
Task
Sammlung der zu installierenden Updates für ein
einzelnes System
Job
Auftrag des Benutzers, enthält einen oder mehrere
Tasks
J
T
T T
15. 1. Zertifikat des Control Centers prüfen
2. Vertraulichkeit des Agents feststellen
3. Serverzertifikat prüfen
4. Benutzer aufgrund von Passwort
vertrauen
Sicherheit
15
16. Sicherheit in der API
16
● Eigene CA (Vertrauensbasis)
● Gegenseite Authentisierung
17. 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).