Greg Quinn Computer Sciences Department University of Wisconsin-Madison Privilege Separation in Condor.

Slides:



Advertisements
Similar presentations
Building a secure Condor ® pool in an open academic environment Bruce Beckles University of Cambridge Computing Service.
Advertisements

Greg Thain Computer Sciences Department University of Wisconsin-Madison Condor Parallel Universe.
Greg Quinn Computer Sciences Department University of Wisconsin-Madison Condor on Windows.
Ian D. Alderman Computer Sciences Department University of Wisconsin-Madison Condor Week 2007 Signed.
Efficiently Sharing Common Data HTCondor Week 2015 Zach Miller Center for High Throughput Computing Department of Computer Sciences.
Lecture 7 Access Control
Condor Project Computer Sciences Department University of Wisconsin-Madison Security in Condor.
Jaeyoung Yoon Computer Sciences Department University of Wisconsin-Madison Virtual Machine Universe in.
Jim Basney Computer Sciences Department University of Wisconsin-Madison Managing Network Resources in.
Chapter 7 WORKING WITH GROUPS.
Jaeyoung Yoon Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Derek Wright Computer Sciences Department, UW-Madison Lawrence Berkeley National Labs (LBNL)
Linux Shell. 2 Linux Command-Line Interface ■ Linux shells: A shell is a command interpreter that allows you to type commands from the keyboard to interact.
Condor Project Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison Virtual Machines in Condor.
Zach Miller Computer Sciences Department University of Wisconsin-Madison What’s New in Condor.
Guide to Linux Installation and Administration, 2e1 Chapter 8 Basic Administration Tasks.
Hao Wang Computer Sciences Department University of Wisconsin-Madison Security in Condor.
Greg Thain Computer Sciences Department University of Wisconsin-Madison cs.wisc.edu Interactive MPI on Demand.
Guide to Linux Installation and Administration, 2e1 Chapter 7 The Role of the System Administrator.
Agenda Getting Started: Using Unix Unix Structure / Features Elements of the Unix Philosophy Unix Command Structure Command Line Editing Online Unix Command.
Managing Users  Each system has two kinds of users:  Superuser (root)  Regular user  Each user has his own username, password, and permissions that.
Privilege separation in Condor Bruce Beckles University of Cambridge Computing Service.
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 18: Protection Goals of Protection Objects and Domains Access Matrix Implementation.
Silberschatz, Galvin and Gagne ©2009 Operating System Concepts – 8 th Edition, Protection (Chapter 14)
The Roadmap to New Releases Derek Wright Computer Sciences Department University of Wisconsin-Madison
Todd Tannenbaum Computer Sciences Department University of Wisconsin-Madison Quill / Quill++ Tutorial.
Chapter 3 & 6 Root Status and users File Ownership Every file has a owner and group –These give read,write, and execute priv’s to the owner, group, and.
Linux Security. Authors:- Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel, of CodeSourcery LLC published by New Riders Publishing.
Linux+ Guide to Linux Certification, Third Edition
Derek Wright Computer Sciences Department University of Wisconsin-Madison Condor and MPI Paradyn/Condor.
Derek Wright Computer Sciences Department University of Wisconsin-Madison New Ways to Fetch Work The new hook infrastructure in Condor.
CS 346 – Chapter 11 File system –Files –Access –Directories –Mounting –Sharing –Protection.
Pilot Factory using Schedd Glidein Barnett Chiu BNL
The Unix File system (UFS) Presented by: Gurpreet Singh Assistant Professor Department of School of Computing and Engineering Galgotias University.
Ian D. Alderman Computer Sciences Department University of Wisconsin-Madison Condor Week 2008 End-to-end.
Tony Kombol.  man  on-line user manual  man command_you_want_info_on  type q to exit  examples:  for ls (list directory) ▪ man ls  for cp (copy)
Dan Bradley Condor Project CS and Physics Departments University of Wisconsin-Madison CCB The Condor Connection Broker.
BIF713 Introduction to Linux. Agenda Getting Started: Using Linux Unix and Linux - Structure / Features Elements of the Linux Philosophy Linux Command.
Todd Tannenbaum Computer Sciences Department University of Wisconsin-Madison Condor NT Condor ported.
Jaime Frey Computer Sciences Department University of Wisconsin-Madison Condor and Virtual Machines.
CSE Operating System Principles Protection.
HTCondor Security Basics HTCondor Week, Madison 2016 Zach Miller Center for High Throughput Computing Department of Computer Sciences.
Chapter 29: Program Security Dr. Wayne Summers Department of Computer Science Columbus State University
Gabi Kliot Computer Sciences Department Technion – Israel Institute of Technology Adding High Availability to Condor Central Manager Adding High Availability.
Operating System Structure Lecture: - Operating System Concepts Lecturer: - Pooja Sharma Computer Science Department, Punjabi University, Patiala.
2Operating Systems  Program that runs on a computer  Manages hardware resources  Allows for execution of programs  Acts as an intermediary between.
Privileges: who can control what
SE Linux Implementation Russell Coker. What is SE Linux? A system for Mandatory Access Control (MAC) based on the Linux Security Modules (LSM) framework.
SYSTEM ADMINISTRATION PART I by İlker Korkmaz and Kaya Oğuz
HTCondor Security Basics
Operating Systems Protection Alok Kumar Jagadev.
Dynamic Deployment of VO Specific Condor Scheduler using GT4
Privileges: who can control what
Privilege Separation in Condor
Chapter 14: Protection.
HTCondor Security Basics HTCondor Week, Madison 2016
Basic Grid Projects – Condor (Part I)
Initial job submission and monitoring efforts with JClarens
Chapter 14: Protection.
Chapter 14: Protection.
Chapter 29: Program Security
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
Rootly Powers Chapter 3.
Figure 6-13: Managing Permissions
Preventing Privilege Escalation
Access Control and Audit
Presentation transcript:

Greg Quinn Computer Sciences Department University of Wisconsin-Madison Privilege Separation in Condor

Principle of Least Privilege › “Every program and every user of the system should operate using the least set of privileges necessary to complete the job.”  Saltzer and Schroeder, 1975

user User IDs in Condor › An unprivileged account for Condor’s files and processes › Unprivileged accounts for regular users who submit jobs to Condor › The machine-wide superuser condoruserroot

Un-Separated Condor Condor Daemon condorroot Files Processes user

PrivSep: Goals 1. Reduce the part of Condor that runs with superuser privileges to a small “PrivSep Kernel” 2. Restrict actions that Condor can perform via the PrivSep Kernel to a reasonable minimum for Condor’s operation

PrivSep Kernel Condor Daemon PrivSep Kernel checks if requested operation is authorized PrivSep Kernel

PrivSep Kernel Operations › File Operations  Change ownership of a directory tree  Delete a directory tree  Perform an open or rename operation as a regular user › Process Operations  Execute program as a regular user  Signal a process  Suspend, continue, or kill a process family  Get process family usage info

PrivSep Kernel Implementation › Switchboard  Supports the file system operations and ability to create processes as regular users › ProcD  Support the rest of the process operations

Implementation: The PrivSep Switchboard › root-owned setuid binary › Configured to allow a single account (condor) to use its operations › Limits on what actions it will perform are defined in a root-owned configuration file

Switchboard: rm -rf StartD Switchboard “remove the directory tree at /condor/execute/dir_1234” “dir_1234 is in a Condor-managed directory, so I’ll go ahead”

Switchboard: Open as User SchedD Switchboard “open file X as user gquinn”

Implementation: The ProcD › Tracks the “family tree” of the Condor Master › Allows Condor to signal and gather accounting data for processes under its control › Runs as root (it’s part of the PrivSep Kernel) › Like the Switchboard, only accepts commands from the condor user account

Implementation: The ProcD ProcDMaster StartD Starter Job BJob A “send a SIGTERM to Job B” SIGTERM

Execute Side Master StartD Starter ProcD Switch- board › PrivSep Kernel provides everything needed for full privilege separation › File transfer is accomplished by changing the ownership of the job’s sandbox to the condor user temporarily

Submit Side Master SchedD Shadow ProcD Switch- board › Cannot take care of file transfer via chown › File transfer logic needs to be executed in a separate, user- owned process (the TransferD)

The TransferD SchedD Shadow TransferD sends data to the execute side

Current Status › PrivSep Kernel is implemented completely on UNIX, ProcD-only on Windows › Execute-side has been modified to use the PrivSep Kernel, and can now run as an unprivileged user › TransferD implementation is complete › Submit-side integration with PrivSep Kernel and TransferD yet to come

Questions?