Virtuelle Sicherheit Mandatory Access Control und TPM in XEN c 2007 Ralf Spenneberg OpenSource Training Ralf Spenneberg Webereistr. 1 48565 Steinfurt http://www.opensource-training.de http://www.os-t.de c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 1 / 31
Vorstellung Wer bin ich? UNIX-Administrator seit 1989 Linux-Administrator seit 1994 Freier UNIX/Linux Dozent und Berater seit 1999 Buchautor Intrusion Detection für Linux-Server (M+T) VPN mit Linux (AWL) Intrusion Detection und Prevention mit Snort + Co. (AWL) Linux Firewalls mit Iptables + Co. (AWL) Zeitschriftenautor Linux-Magazin, ix, Linux-User, SysAdmin Magazine Sprecher auf Konferenzen LinuxTag, Frühjahrsfachgespräch, Linux-Kongress Black Hat Briefings USA, SANS Conference etc. c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 2 / 31
Gliederung 1 XEN 2 shype 3 vtpm c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 3 / 31
XEN Einführung XEN Einführung Open Source Hypervisor Virtual-Machine-Monitor Paravirtualisierung Modifikation des Gastbetriebssystems erforderlich Fast native Geschwindigkeit Suspend, Resume, Live Migration Gäste: Linux 2.6, FreeBSD und Solaris Full Virtualization Intel Vanderpool Technology AMD Pacifica Keine Modifikation des Betriebssystem erforderlich Treiber werden von Qemu zur Verfügung gestellt c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 5 / 31
XEN Gründe Gründe für den Einsatz von Xen Viele Gründe sprechen für den Einsatz einer Virtualisierungslösung Server Konsolidierung Hardware Unabhängigkeit Gleichzeitige Nutzung mehrerer Betriebssysteme Flexible Zuteilung von Ressourcen Reduktion des Wartungsfensters Einfache Administration Trennung der Funktionalitäten c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 6 / 31
XEN Sicherheit Sicherheit durch XEN Sicherheit durch Isolation Trennung der Funktionalitäten Getrennte Root-Konten Ähnlich physikalisch getrennten Maschinen c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 7 / 31
XEN Sicherheitsprobleme Sicherheitsprobleme bei dem Einsatz von XEN Probleme bei dem Einsatz von Xen VM Verwaltung Gleichzeitiger Betrieb von zwei unterschiedlichen VMs Zugriff auf gleiche Ressourcen Einsatz von TC für die Überprüfung des Systems c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 8 / 31
XEN Allgemeine Lösungsansätze Allgemeine Ansätze Allgemeine Lösungsansätze Trennung der Netzwerkfunktionen durch Custom Bridges Härtung der Domäne 0 Device-Driver Domain c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 9 / 31
shype shype shype - Mandatory Access Control shype FLASK Architektur Trennung von Reference Monitor und Access Control Policy Access-Control-Modul (ACM) Distributed Workload Protection across Workload Balancing and Virtual I/O c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 11 / 31
Wo erfolgt die Kontrolle? shype Hypervisor Architektur c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 12 / 31
shype Workflow Xen Usermanual shype Workflow c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 13 / 31
shype Workflow Xen Konfiguration ACM ist meist nicht Standard Config.mk ACM_SECURITY=yes FC6-RPMs: http://www.spenneberg.org/xen c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 14 / 31
shype Erzeugung der Policy Erzeugung der Policy xensec_ezpolicy xensec_gen c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 15 / 31
shype Erzeugung der Policy Verwaltung der Policy Speicherung der Policies in /etc/xen/acm-security/policies Übersetzung: xm makepolicy example.chwall_ste.chinawall-wld Konfiguration als Boot-Policy xm cfgbootpolicy example.chwall_ste.test-wld Manuelles Laden: xm loadpolicy example.chwall_ste.test-wld c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 16 / 31
Labeling shype Labeling [root@supergrobi ~]# xm label Mailservers Mailservers.Gateway Mailservers.Intranet Mailservers.SpamFilter Mailservers.VirusFilter SystemManagement WebServers WebServers.Advertisements WebServers.E-Commerce WebServers.Intranet [root@supergrobi ~]# xm addlabel Mailservers.Gateway dom fc6-mailservers.gateway [root@supergrobi ~]# xm addlabel Mailservers.Gateway res file:/vmware/xen/fc6-mailservers.gateway. img c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 17 / 31
Domain Labeling shype Labeling kernel= /boot/vmlinuz-2.6.18-1.2849.nopaexen ramdisk= /boot/domu-initrd.img name = "fc6-mailservers.gateway" memory = "128" disk = [ file:/vmware/xen/fc6-mailservers.gateway.img, sda1,w, ] vif = [ ] nographic=1 vcpus=1 on_reboot = restart on_crash = restart root = /dev/sda1 extra = ro selinux=0 access_control = [ policy=example.chwall_ste.test-wld, label=mailservers.gateway ] c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 18 / 31
Resource Labeling shype Labeling resources = { file:/vmware/xen/fc6-mailservers.gateway.img : ( example.chwall_ste.test-wld, Mailservers. Gateway ), file:/vmware/xen/fc6-mailservers.intranet.img : ( example.chwall_ste.test-wld, Mailservers. Intranet ), phy:hda2 : ( example.chwall_ste.test-wld, Mailservers.SpamFilter ), file:/vmware/xen/fc6-mailservers.spamfilter.img : ( example.chwall_ste.test-wld, Mailservers.SpamFilter ), } c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 19 / 31
shype Labeling Demonstration Anzeige der Domäne 0 mit Label Start einer ungelabelten Domäne Start einer gelabelten Domäne Start einer zweite Domäne mit Konflikt Zugriff auf eine falsch gelabelte Ressource c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 20 / 31
vtpm Trusted Computing Trusted Computing Software Integrität Hardware Based Root of Trust TPM vtpm c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 22 / 31
vtpm Trusted Computing TPM Platform-Configuration-Register (PCR) PCR werden zum Bootzeitpunkt initialisiert PCR-Extension-Operation Extend(PCR N, Wert) = SHA1(PCR N Wert) BIOS, Bootloader und OS können so die Integrität messen c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 23 / 31
vtpm Trusted Computing Versiegelung Verschlüsselung der Daten Entschlüsselung nur bei Erreichen des identischen Zustandes möglich Schlüssel Endorsement Key (EK, Gültigkeit des TPM) Attestation-Identity-Keys (AIK, erzeugt durch TPM, beglaubigt durch Privacy CA) Storage-Root-Key (SRK, Speicherung von Anwenderschlüsseln) c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 24 / 31
vtpm Probleme und Implementierung vtpm Probleme Chain of Trust Unterschied: Virtuelle und Physikalisches TPM (Live) Migration c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 25 / 31
vtpm Probleme und Implementierung Implementierung Jeder Gast erhält ein vtpm Jedes vtpm besitzt einen eigenen Keyring und einen SRK Je vtpm ein EK c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 26 / 31
vtpm Kombination aus TPM und vtpm Probleme und Implementierung c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 27 / 31
vtpm Probleme und Implementierung Vertrauen Wie überprüft man die Integrität des TPM? Wer erstellt die Zertifikate des EK? Lösungsvorschläge: Zertifikatskette vom vtpm zu Hardware-TPM Austellen der vaiks direkt mit dem AIK des Hardware-TPM Lokale CA für die Erzeugung der Zertifikate des vek c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 28 / 31
vtpm Potentieller Nutzen Potentieller Nutzen Secure Grub Sichere Schlüsselspeicher Software Attestation ecryptfs c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 29 / 31
vtpm ecryptfs ecryptfs POSIX Verschlüsselung einzelner Dateien "gnupgfs" Natives Linux Dateisystem (2.6.19) Unterstützung für TPM-Keyring und Trousers c 2007 Spenneberg (OS-T) Virtuelle Sicherheit 30 / 31
vtpm ecryptfs Fragen? OpenSource Training Ralf Spenneberg Webereistr. 1 48565 Steinfurt c 2007 Spenneberg (OS-T) Schulungen direkt vom Autor System und Netzwerk Administration Apache 2.0, Samba, Postfix VPN, Firewall, IDS Virtuelle Sicherheit 31 / 31