Application Sandboxing with systemd

Slides:



Advertisements
Similar presentations
Copyright line. Configuring Server Roles in Windows 2008 Exam Objectives New Roles in 2008 New Roles in 2008 Read-Only Domain Controllers (RODCs) Read-Only.
Advertisements

SSL & SharePoint IT:Network:Applications. Agenda Secure Socket Layer Encryption 101 SharePoint Customization SharePoint Integration.
A Complete Tool For System Penetration Testing Presented By:- Mahesh Kumar Sharma B.Tech IV Year Computer Science Roll No. :- CS09047.
Microsoft ® Office Outlook ® 2007 Training Manage your mailbox II: Understand your choices for storing Doña Ana Community College presents:
The Linux Operating System Lecture 7: Tonga Institute of Higher Education.
EventsMastery – HOW TO MANAGE CORPORATE EVENTS SUCCESSFUL (HTMCES) eMentorship Portal (eMP) “HOW TO USE PORTAL GUIDE” Managed by.
File Upload Competitive Analysis. Catalyst - Browse in-line Of interest:
Extending Forefront beyond the limit TMG UAG ISA IAG Security Suite
10.1 Silberschatz, Galvin and Gagne ©2005 Operating System Principles 10.4 File System Mounting A file system must be mounted before it can be accessed.
Downloading and Installing Autodesk Revit 2016
Downloading and Installing Autodesk Inventor Professional 2015 This is a 4 step process 1.Register with the Autodesk Student Community 2.Downloading the.
Linux Security. Authors:- Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel, of CodeSourcery LLC published by New Riders Publishing.
Networks, Topology, & Architecture Mrs. Wilson Dreamweaver for College & Business.
1 12-Jan-16 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Data Communications is the Real World OSI Layers 1 & 2 a.k.a TCP/IP Network Interface Layer.
Working with the interface and interacting with the iPad app.
Internet Flow By: Terry Hernandez. Getting from the customers computer onto the internet Internet Browser
1 28-Sep-16 S Ward Abingdon and Witney College CCNA Exploration Semester 1 OSI network layer CCNA Exploration Semester 1 Chapter 5.
Emdeon Office Batch Management Services This document provides detailed information on Batch Import Services and other Batch features.
© 2006 Cisco Systems, Inc. All rights reserved.Cisco Public 1 OSI network layer CCNA Exploration Semester 1 – Chapter 5.
OPERATING SYSTEMS STRUCTURES Jerry Breecher 2: Operating System Structures 1.
OpenShift & SELinux Dan Walsh Twitter: #rhatdan
GoToMeeting Attendee Guide
Core ELN Training: Office Web Apps (OWA)
Chapter Objectives In this chapter, you will learn:
The Distributed Application Debugger (DAD)
Partners – MaaS360 Portal Management
Self Service BRANDING INPUTS
Android Content Providers & SQLite
Obtain Your Dream Certification
application into a Flatpak
Standardizing privileged
Grid Security.
Multicast Outline Multicast Introduction and Motivation DVRMP.
C without OMMERCIAL PRODUCT Without Product
10 Tips for Staying Safe Online
Servlet Sessions and Cookies
is short for electronic mail!
Holdings – vital to library success
Gnome SDK A better way to ship apps Alexander Larsson Red Hat, Inc
For children born between 1st September 2013 and 31st August 2014
ICT Communications Lesson 1: Using the Internet and the World Wide Web
AppArmor Update 2014 Linux Security Summit
AppArmor Update 2015 Linux Security Summit
Giving Back Contributing to Debian and the New Maintainer Process
Fast Action Links extension A love letter to CiviCRM
Microsoft 365 Business Customer Targeting 2/6/18
ETS Inside Product Launch
5.8 Presentation.
Azure AD Application Proxy
Microsoft Connect /15/2018 3:03 AM
11/19/2018 4:38 AM Microsoft 365 Business Customer Targeting Janine Brittain - EXEED 2/6/18 © Microsoft Corporation. All rights reserved. MICROSOFT.
Using the Electrocon Online Forum
has many aspects that work together to give people almost instant communication from any computer on the internet to any other computer There.
X Windows.
Computer Basics: Inside a Computer Part II
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Part Three: Topic Sentences & Evidence
Distributed File Systems
Distributed File Systems
CSE 451: Operating Systems Spring Module 21 Distributed File Systems
DHCP and NAT.
Distributed File Systems
CSE 451: Operating Systems Winter Module 22 Distributed File Systems
Training 101 : Accessing iBoomerang Tools
Distributed File Systems
Services for Non-Volatile Storage
QUICK GUIDE TO CIRCULATION IN ALMA
Distributed File Systems
Real-time reporting and report creation with a focus on BSP
Presentation transcript:

Application Sandboxing with systemd Containers and wayland and kdbus, oh my!

kdbus Domain - fs mount Bus - named object inside a domain used to exchange messgaes Endpoint - access point onto bus - every bus gets a default endpoint Skip - Connection, pool, well-known-name, message, item, Policy - Set of rules define which connections can see, talk or own a well known name, attached to endpoint. Endpoitn policy set on creation, but can be updated. Privalaged - CAP_IPC_OWNER lifetimes domain - mount lifetime bus - control fd used for KDBUS_CMD_BUS_MAKE endpoint - fd used for KDBUS_CMD_ENDPOINT_MAKE

Endpoint policy Authorisation Anyone can make a bus - the only person you can harm is yourself! Only the bus owner or a privalaged user can create an endpoint. connecting to an endpoint is whether you have file system access? For example, a set of policy rules may look like this

Endpoint policy KDBUS_ITEM_NAME: str='org.foo.bar' KDBUS_ITEM_POLICY_ACCESS: type=USER, access=OWN, id=1000 KDBUS_ITEM_POLICY_ACCESS: type=USER, access=TALK, id=1001 KDBUS_ITEM_POLICY_ACCESS: type=WORLD, access=SEE KDBUS_ITEM_NAME: str='org.blah.baz' KDBUS_ITEM_POLICY_ACCESS: type=USER, access=OWN, id=0 KDBUS_ITEM_POLICY_ACCESS: type=WORLD, access=TALK

systemd remember that bus lifetime is ties to the fd you used to create the bus? So the root systemd is the owner of teh sstem bys, when you do a user login you get a user systemd that creates and owns the user bus. Custom endpoints ---------------- Currently the only way to make an endpoint is to use a unit to launch a system service, and you can create a custom endpoint for that service to use and attach a policy

BusPolicy BusPolicy=org.freedesktop.systemd1 talk BusPolicy=org.foo.bar see BusPolicy=org.foo.baz own

The tricky bit I've put together a patchset for systemd-nspawn, but Alex Larsson has gnome-sdk-helper in gnome-sdk, which is a real minimal container, just limits namespaces and does some nosetuid,nodev bind mounts and some fiddly bits for home directory, pulseaudio, XDG, dbus and X11 Maybe it should be a systemd template service? sandbox@$APP? Lennart wants eventually to have it be like the new apparoch for Desktop file handling - using bus activation? Needs more discussion, but I'll probably just submit the patchset for nspawn anyhow (once its rebased and cleanedup) and see where the discussion goes

Wayland Currently wayland-drm pretty much requires that clients can open /dev/dri/card0. This is bad for a number of reasons 1) Security issues with card0 interface - flink in insecure - buffer names leak information and can allow clients to access each other buffers (as i understand it!) 2) we need to bindmount /dev/dri into the container - ideally we only want it to have access to dummy devices 3) mixes up display controller (mode setting) and renderers(gl), e.g. Tegra, multi card systems Render nodes - /dev/dri/renderD<num> these are the cool, dma-buf no flink, seperates display controller from rendering - no modestting, no DRI-auth, no legacy pre-KMS - ask David Herrmann... Daniel Stone has suggested we extend the wayland-drm protocol to allow the compositor to open the fd to a render node and pass this fd to the client. this would be perfect

Pulseaudio? Sound ----- So much to do, the ideal way forward here is for pulseaudio to use kdbus for everything. Stream over kdbus? No reason why not Policy is tricky – record from microphone? How to do the interation well and how to support doing the interaction well Limit backgound apps Lot to do yet!

Questions?

Links http://www.freedesktop.org/wiki/Software/systemd/ https://github.com/alexlarsson/gnome-sdk https://gitlab.com/rob.taylor/systemd https://dvdhrm.wordpress.com/tag/render-nodes/ GimpNet - #gnome-os Freenode - #systemd, #kdbus Email: rob.taylor@codethink.co.uk

Copyright Bright Eyes ©originalpozer @flickr Uh oh ©Daniel Bogan @flickr German police dog ©Brian Snelson @flickr Oh Ceiling Cat - I worship thee ©Katrine Thielke @flickr Sad dog eyes – Patches ©Tiggamiru @flickr Momma's Little Hipster ©kizzzbeth @flickr DJ Norman ©Ana Belén Ramón @flickr Topanga, hat model ©Claire @flickr