TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates für...

Post on 15-Feb-2017

38 views 3 download

Transcript of TechTalkThursday 27.10.2016: upd89.org - Orchestrierung von Security-Updates für...

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

Demo● Auth

● Dashboard

● Update auslösen

● Reporting

14

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