Use Cases, Issues, Proposed Solutions: Software and Environment Non Privileged User Package Management Francois-Denis Gonthier Kryptiva inc.

Slides:



Advertisements
Similar presentations
MODULE 3: OS & APP LAYERS. Agenda Preparing and importing a gold image Creating and understanding Install Machines Creating basic Application layers Understanding.
Advertisements

Mello-Dee Simmons Liza Klosterman.  Who We Are ‣Largest community-owned utility in Florida and the eighth largest in the United States. ‣Electric system.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment Chapter 9: Implementing and Using Group Policy.
Lesson 18: Configuring Application Restriction Policies
Monitor Linux OS health & performance Monitor log files Monitor JEE app servers Monitor line-of-business applications Monitor databases and web.
Julie McEnery1 Installing the ScienceTools The release manager automatically compiles each release of the Science Tools, it creates a set of wrapper scripts.
Hyrax Installation and Customization Dan Holloway James Gallagher.
1 Introduction to Tool chains. 2 Tool chain for the Sitara Family (but it is true for other ARM based devices as well) A tool chain is a collection of.
Microsoft ® Official Course Module 9 Configuring Applications.
Working with Applications Lesson 7. Objectives Administer Internet Explorer Secure Internet Explorer Configure Application Compatibility Configure Application.
Linux Operations and Administration
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
70-290: MCSE Guide to Managing a Microsoft Windows Server 2003 Environment, Enhanced Chapter 9: Implementing and Using Group Policy.
26/4/2001VMware - HEPix - LAL 2001 Windows/Linux Coexistence : VMware Approach HEPix – LAL Apr Michel Jouvin
SUSE Linux Enterprise Server Administration (Course 3037) Chapter 4 Manage Software for SUSE Linux Enterprise Server.
SKA/KAT SPIN Presentation Software Engineering (!?) Robert Crida.
Eric Keller, Evan Green Princeton University PRESTO /22/08 Virtualizing the Data Plane Through Source Code Merging.
11 MANAGING AND DISTRIBUTING SOFTWARE BY USING GROUP POLICY Chapter 5.
CN1176 Computer Support Kemtis Kunanuraksapong MSIS with Distinction MCT, MCTS, MCDST, MCP, A+
Version control Using Git Version control, using Git1.
Microsoft SharePoint Server 2010 for the Microsoft ASP.NET Developer Yaroslav Pentsarskyy
CERN Manual Installation of a UI – Oxford July - 1 LCG2 Administrator’s Course Oxford University, 19 th – 21 st July Developed.
© Blackboard, Inc. All rights reserved. Deploying a complex building block Andre Koehorst Learning Lab Universiteit Maastricht, the Netherlands July 18.
SUSE Linux Enterprise Desktop Administration Chapter 6 Manage Software.
Guide to Linux Installation and Administration1 Chapter 4 Running a Linux System.
Copyright © cs-tutorial.com. Overview Introduction Architecture Implementation Evaluation.
02/09/2010 Industrial Project Course (234313) Virtualization-aware database engine Final Presentation Industrial Project Course (234313) Virtualization-aware.
Troubleshooting Security Issues Lesson 6. Skills Matrix Technology SkillObjective Domain SkillDomain # Monitoring and Troubleshooting with Event Viewer.
1 Linux Security. 2 Linux is not secure No computer system can ever be "completely secure". –make it increasingly difficult for someone to compromise.
1 Network Information System (NIS). 2 Module – Network Information System (NIS) ♦ Overview This module focuses on configuring and managing Network Information.
Security Vulnerabilities in A Virtual Environment
Yannick Patois - Datagrid Software Repository Presentation - March, n° 1 Datagrid Software Repository Presentation CVS, packages and automatic.
National Energy Research Scientific Computing Center (NERSC) CHOS - CHROOT OS Shane Canon NERSC Center Division, LBNL SC 2004 November 2004.
Linux Operations and Administration
ITMT Windows 7 Configuration Chapter 7 – Working with Applications.
Aaron Corso COSC Spring What is LAMP?  A ‘solution stack’, or package of an OS and software consisting of:  Linux  Apache  MySQL  PHP.
MESA A Simple Microarray Data Management Server. General MESA is a prototype web-based database solution for the massive amounts of initial data generated.
Linux Basics Part 2. VIM Editor vi improved Installed on most Linux machines Can be a bit confusing at first... o Cheat sheets FTW Other popular editors:
WebYaST Remote Web Based System Management
Chapter 9 Managing Software
Backing Up Your System With rsnapshot
Let's talk about Linux and Virtualization in 'vLAMP'
Containers as a Service with Docker to Extend an Open Platform
Dag Toppe Larsen UiB/CERN CERN,
Large Scale Parallel Print Service
Dag Toppe Larsen UiB/CERN CERN,
Version control, using Git
IM-pack: Software Installation Using Disk Images
A Security Review Process for Existing Software Applications
IT Atoumation / Conf. Mgmt...
CVS revisions UML diagram
Fedora in Education BalCCon2k17 17th September 2017 Nemanja Milošević
June 2011 David Front Weizmann Institute
Lecture 13 RPM and its advantages.
Oracle Solaris Zones Study Purpose Only
More Scripting & Chapter 11
Service Fabric Patterns & Best Practices
Lesson #8 MCTS Cert Guide Microsoft Windows 7, Configuring Chapter 8 Configuring Applications and Internet Explorer.
INSTALLING AND SETTING UP APACHE2 IN A LINUX ENVIRONMENT
System And Application Software
IS3440 Linux Security Unit 4 Securing the Linux Filesystem
Data Security for Microsoft Azure
Unit 9 NT1330 Client-Server Networking II Date: 8/9/2016
Chapter 2: The Linux System Part 1
IS3440 Linux Security Unit 8 Software Management
OPS235 PACKAGE MANAGEMENT
SUSE Linux Enterprise Desktop Administration
Tools and Explanations for Mac Beginners
Preparing for the Windows 8.1 MCSA
Presentation transcript:

Use Cases, Issues, Proposed Solutions: Software and Environment Non Privileged User Package Management Francois-Denis Gonthier Kryptiva inc. Steven Pigeon Département de Génie Logiciel et des Technologies de l’Information (ETS)

Issues of system installs Users depends on Administrators – Annoys administrators Users install packages themselves – Problems with Dependencies – Problems with Security – Problems with Redundancy

Objections Policies Redundancy Automatic Updates Security “Root” packages Sudo Delegation “sudoers”

Policies Users may lack essential skills – May or mayn't be familiar with Linux – Are often oblivious of other users Users ignore any policies they can

Redundancy If users each install their packages from tarballs – Many copies of the same may be found – No simple means of pooling installs

Automatic Updates Packages installed by users – May or mayn't be of the correct version for the current install – Are not automatically updated with the rest of the system

Security If users each install their packages from tarballs – They can install software from unauthenticated repositories – They can install software from incompatible repositories

“Root” Packages Some packages are inherently “root” – Kernel modules (and drivers) – Applications and services with restricted ressources usage

Sudoers Delegating Installs using “sudoers” – Basically gives root access to users – Malignant users can modify global configuration – Users can install broken or malicious packages from unauthenticated sources

Alternatives? Sudo Delegation “sudoers” – Already shown to be bad PackageKit Vserver (... or virtual machines)

What is PackageKit? ● Priviledged dbus service ● Uses distributor backend Conary RPM Apt PackageKit App. Dbus & PolicyKit

PackageKit Good Allow users to install software Potentially supports policies and filtering Bad No protection against bad packages... or bad users

What is Vserver? ● Isolated Linux instances ● Shared kernels (Vserver)... or not (VMs) Host machine Guest

Vserver Good Total control by user Isolation Bad Ressource cost Heavy redundancy Recursive problem

Proposed Solution Unprivileged User Installs Relocatable packages Multiple package databases Environment setup

Relocatable Packages Currently, package relocation – Partially supported by RPM – Breaks maintainers scripts Package content must be made relocatable Maintainer script be must be aware of new location

Multiple databases Currently, package database – Writable by root user only – Multiple database are not supported Must be accessible to user “Merged” with the system database

Relocatable packages File relocation (prefix based) Maintainer scripts support Software – Use relative paths – Environment variables

Multiple databases Package database local to user (or group) Local database “linked” with system database – Aware of system-installed dependencies – Make local version override possible

Setting Up Software Environment Environment setup – Prepare the software environment – Run all package specific initialization Executed through – PAM – Traditional session-initialization script

User package install 1. Reads local database 2. Reads system database 3. Merges both database 4. Resolves dependencies

System package install 1. Reads system database 2. Reads all user databases 3. Resolves dependencies Query for confirmation in case of conflicts Uninstall user-package if needed 4. Installs system packages

Dependencies, conflict resolution General rule – System package rule over user package – Might uninstall user packages (with confirm.) – Refuse to install non-relocatable package User – Can install earlier/other compatible versions

Repository policies Repository management – Allow/disallow custom repositories – White/black list of repositories – Distribution-specfic white/black list

Install policies Filters – By package “tags” (ie: exclude games) – By sections – Regular expressions – etc.

Modification to existing Package Management Software Development tools Maintainer scripts Database format (name, location) Conflict resolution Apt changes

Development tools Automate repetitive tasks – Setup common binary paths –... library paths –... manual paths... and that is all that is needed in some case

Program changes Relative path – FHS hierarchy –... relative to the program location

Maintainer scripts and conflict resolution Maintainer scripts – Must be made aware of location Conflict resolution – Rules already explained

Apt/Dpkg Read user database Handle policies – Apply policy before downloading – Support repository policies –... install policies

Conclusion Useful Nothing really impossible Can be made stable Little modifications needed in some case