Securely integrating with QEMU

Slides:



Advertisements
Similar presentations
MyProxy: A Multi-Purpose Grid Authentication Service
Advertisements

©2006 Microsoft Corporation. All rights reserved. Windows Vista Security Tidbits Steve Riley Senior Security Strategist Microsoft Corporation
ASP.NET 2.0 Chapter 6 Securing the ASP.NET Application.
Network Security. Contents Security Requirements and Attacks Confidentiality with Conventional Encryption Message Authentication and Hash Functions Public-Key.
Lecture 2: Message Authentication Anish Arora CSE5473 Introduction to Network Security.
MongoDB Sharding and its Threats
Privilege Levels Cisco IOS provides for 16 different privilege levels ranging from 0 to 15. Cisco IOS comes with 2 predefined user levels. User mode.
Directory and File Transfer Services Chapter 7. Learning Objectives Explain benefits offered by centralized enterprise directory services such as LDAP.
Active Directory Administration Lesson 5. Skills Matrix Technology SkillObjective DomainObjective # Creating Users, Computers, and Groups Automate creation.
1 Infrastructure Hardening. 2 Objectives Why hardening infrastructure is important? Hardening Operating Systems, Network and Applications.
VPN AND SECURITY FLAWS Rajesh Perumal Clemson University.
Wireless security & privacy Authors: M. Borsc and H. Shinde Source: IEEE International Conference on Personal Wireless Communications 2005 (ICPWC 2005),
1 Chapter Overview Configuring Account Policies Configuring User Rights Configuring Security Options Configuring Internet Options.
Network Security David Lazăr.
Planning a Microsoft Windows 2000 Administrative Structure Designing default administrative group membership Designing custom administrative groups local.
1 Lecture 19: PEM and S/MIME history PEM –establishing keys –public key hierarchy –message structure –message headers –encryption and integrity protection.
Web Technology – Web Server Setup : Chris Uriarte Meeting 4: Advanced Topics, Continued: Securing the Apache Server and Apache Performance Tuning Rutgers.
SQL Server 2005 Implementation and Maintenance Chapter 6: Security and SQL Server 2005.
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 12: Implementing Security.
CSCI 530 Lab Passwords. Overview Authentication Passwords Hashing Breaking Passwords Dictionary Hybrid Brute-Force Rainbow Tables Detection.
C Copyright © 2007, Oracle. All rights reserved. Security New Features.
Secure remote management with virtualization Daniel P. Berrangé.
Implementing a Security Policy in Laserfiche 8 LAB 201 Steve Hackney.
Network security Presentation AFZAAL AHMAD ABDUL RAZAQ AHMAD SHAKIR MUHAMMD ADNAN WEB SECURITY, THREADS & SSL.
DataPower Security Details: Crypto Objects and AAA
Virtualization Mini Summit, Austin 2008 mmm, tasty penguins...
Secure Connected Infrastructure
Jun Rao co-founder at Confluent, Inc
Module 4: Configuring Site to Site VPN with Pre-shared keys
Section 4 Block Storage with SES
Security Using Armstrong Numbers and Authentication using Colors
Security is one of the most widely used and regarded network services
Wireless Protocols WEP, WPA & WPA2.
100% Exam Passing Guarantee & Money Back Assurance
Tutorial on Creating Certificates SSH Kerberos
London OpenStack Meetup, July 2012 libvirt & KVM with OpenStack Nova
Configuring Windows Firewall with Advanced Security
Chapter 18 IP Security  IP Security (IPSec)
Secure Sockets Layer (SSL)
UNIT.4 IP Security.
Router Startup and Setup
CSCE 715: Network Systems Security
Active Directory Fundamentals
Radius, LDAP, Radius used in Authenticating Users
PPP – Point to Point Protocol
Active Directory Administration
VCE Practice Test Questions Answers
Tutorial on Creating Certificates SSH Kerberos
Using Tweak to Study Ccrypt
IBM Certified WAS 8.5 Administrator
Originally by Yu Yang and Lilly Wang Modified by T. A. Yang
2018 Real Cisco Dumps IT-Dumps
CS 465 TLS Last Updated: Oct 31, 2017.
Chapter 8: Monitoring the Network
Security in the Internet: IPSec, SSL/TLS, PGP, VPN, and Firewalls
csci5233 computer security & integrity (Chap. 4)
Security Of Wireless Sensor Networks
Chapter 28: User Security
Platform Architecture
Router Startup and Setup
Transport Layer Security (TLS)
Security of Wireless Sensor Networks
Designing IIS Security (IIS – Internet Information Service)
Security at the Transport Layer
Virtual Private Network zswu
CRYPTOGRAPHY & NETWORK SECURITY
Review of Cryptography: Symmetric and Asymmetric Crypto Advanced Network Security Peter Reiher August, 2014.
Lecture 36.
Lecture 36.
Presentation transcript:

Daniel P. Berrangé <berrange@redhat.com> Securely integrating with QEMU Guidance for Open Source virtualization developers Daniel P. Berrangé <berrange@redhat.com>

Scope of talk Host management security eg libvirt, openstack Not QEMU/KVM guest ABI security Authentication, authorization and encryption

Passwords / keys “secret” object type (v2.6.0) raw or base64 plain text or encrypted inline or file RBD, iSCSI, CURL, LUKS, x509 cert One global master secret via file Per object secrets inline & encrypted

Secret setup Password inline as clear text (insecure) -object secret,id=sec0,data=letmein Password from a clear text file (secure) -object secret,id=sec0,file=passwd.txt Password from a base64 clear text file (secure) -object secret,id=sec0,file=passwd.b64,format=base64 Password inline as aes256 cipher text (secure) -object secret,id=sec0,file=master.aes \ -object secret,id=sec1,data=CIPHERTEXT,\ keyid=sec0,iv=NNNNNNNNNNNNNNN,

Secret usage Disks with “password-secret” property -drive driver=rbd,\ filename=rbd:pool/image:id=myname:\ auth_supported=cephx,password-secret=secret0 TLS cert with “passwordid” property -object tls-creds-x509,dir=/etc/tls/qemu,\ id=tls0,endpoint=server,\ verify-peer=yes,paswordid=sec0

TLS credentials “tls-creds-anon” object type (v2.5.) Anonymous DH-params Insecure, only for back compat with legacy VNC VeNCrypt “tls-creds-x509” object type (v2.5.0) directory to x509 PEM files optionally require client certs secret key passwords (v2.6.0) cipher priority (v2.7.0)

TLS credentials Usage with VNC, chardev, migration, NBD One set of creds per host, or... One set of creds per service, or... One set of creds per network, or.. Sanity checking Basic constraints Key purpose / usage Verify signing chain

TLS encryption VNC Character devices (v2.6.0) NBD server/client (v2.6.0) Migration (v2.7.0)

Disk encryption: old Terminally flawed cryptographic design Hardcoded cipher mode, AES-CBC with plain64 IV Allows watermarking attack Directly encrypted with provided ascii “key” No password change without re-encryption No secure delete without shredding entire volume Preventing its ongoing use Deprecated v2.3.0 Broken v2.4.0 (accidental but helpful :-) Blocked v2.7.0 (for system emulators) Use qemu-img to liberate data

Disk encryption: new LUKS / dm-crypt / cryptsetup Widely adopted, proven & reviewed design, extensible crypto Layer over block device Layer over loopback or qemu-nbd backed devices Requires admin privileges QEMU luks driver (v2.6.0) Interoperable with dm-crypt/cryptsetup Use with any QEMU block driver Use unprivileged & on any platform QEMU I/O test suite + dm-crypt interop tests

Disk encryption: future Key slot management Secure deletion Integrate into QCow2 Tuning pbkdf2 iters / time Detached header volume Performance benchmarking / optimization

Disk encryption: defaults Cipher: AES-256, mode: XTS, IV gen: plain64 pbkdf2 iters: 1 second Payload alignment 2 MB keyslot 1

Disk encryption: usage Provide password via sects --object secret,id=sec0,file=passphrase.b64 Plain file, default parameters qemu-img [SECRET-OPT] create \ -o key-secret=sec0 \ -f luks demo.luks 10G Plain file, CBC + ESSIV -o key-secret=sec0,cipher-mode=cbc,ivgen=essiv \

Disk encryption: usage RBD volume qemu-img [SECRET-OPT] create \ -o key-secret=sec0 -f luks \ rbd:mypool/demo.img:mon_host=10.73.75.52 10G

Authorization General framework for plugging authorization systems “qauthz-simple” object type (v2.8.0 ?) simple access control lists allow / deny per list entry exact or glob matching global default policy for non-matching Integrates with VNC, chardev, migration, NBD (v2.8.0 ?) TLS x509 distinguished name (all) SASL username (VNC only)

Authorization: PAM “qauthz-pam” object type (v2.8.0 ?) Integrates with PAM for LDAP, SQL DB, & more Usage with VNC x509 dname validation -object authz-pam,id=acl0,service=qemu-vnc \ -vnc :1,tls-creds=tls0,tls-acl=acl0 /etc/pam.d/qemu-acl account requisite pam_listfile.so item=user sense=allow file=/etc/qemu/vnc.allow /etc/qemu/vnc.allow CN=client.foo.acme.com,O=ACME- Corp,L=London,ST=London,C=GB

Daniel P. Berrangé <berrange@redhat.com> Your questions ? Daniel P. Berrangé <berrange@redhat.com>