HTCondor Security Basics

Slides:



Advertisements
Similar presentations
Jaime Frey Computer Sciences Department University of Wisconsin-Madison OGF 19 Condor Software Forum Routing.
Advertisements

Overview of local security issues in Campus Grid environments Bruce Beckles University of Cambridge Computing Service.
Current methods for negotiating firewalls for the Condor ® system Bruce Beckles (University of Cambridge Computing Service) Se-Chang Son (University of.
Building a secure Condor ® pool in an open academic environment Bruce Beckles University of Cambridge Computing Service.
Pharos Uniprint 8.3.
Dan Bradley Computer Sciences Department University of Wisconsin-Madison Schedd On The Side.
Greg Quinn Computer Sciences Department University of Wisconsin-Madison Condor on Windows.
HIPAA Security Standards What’s happening in your office?
DESIGNING A PUBLIC KEY INFRASTRUCTURE
System and Network Security Practices COEN 351 E-Commerce Security.
(Remote Access Security) AAA. 2 Authentication User named "flannery" dials into an access server that is configured with CHAP. The access server will.
HTCondor Security Mechanisms Overview “Padlock” by Peter Ford © 2005 Licensed under the Creative Commons Attribution 2.0 license
Efficiently Sharing Common Data HTCondor Week 2015 Zach Miller Center for High Throughput Computing Department of Computer Sciences.
Condor Overview Bill Hoagland. Condor Workload management system for compute-intensive jobs Harnesses collection of dedicated or non-dedicated hardware.
Condor Project Computer Sciences Department University of Wisconsin-Madison Security in Condor.
Zach Miller Condor Project Computer Sciences Department University of Wisconsin-Madison Lockdown of a Basic Pool.
Designing Security In Web Applications Andrew Tomkowiak 10/8/2013 UW-Platteville Software Engineering Department
Zach Miller Condor Project Computer Sciences Department University of Wisconsin-Madison Securing Your Condor Pool With SSL.
Edwin Sarmiento Microsoft MVP – Windows Server System Senior Systems Engineer/Database Administrator Fujitsu Asia Pte Ltd
Zach Miller Computer Sciences Department University of Wisconsin-Madison What’s New in Condor.
Copyright © 2002 ProsoftTraining. All rights reserved. Operating System Security.
Chapter-4 Windows 2000 Professional Win2K Professional provides a very usable interface and was designed for use in the desktop PC. Microsoft server system.
Track 1: Cluster and Grid Computing NBCR Summer Institute Session 2.2: Cluster and Grid Computing: Case studies Condor introduction August 9, 2006 Nadya.
Hao Wang Computer Sciences Department University of Wisconsin-Madison Security in Condor.
18-jan-962. ETH-W4 (ra)1 security on the Web l security l authentication l privacy.
CPT 123 Internet Skills Class Notes Internet Security Session A.
1 Vulnerability Assessment of Grid Software James A. Kupsch Computer Sciences Department University of Wisconsin Condor Week 2007 May 2, 2007.
Hao Wang Computer Sciences Department University of Wisconsin-Madison Authentication and Authorization.
Privilege separation in Condor Bruce Beckles University of Cambridge Computing Service.
CS795.Net Impersonation… why & How? Presented by: Vijay Reddy Mara.
Linux Security. Authors:- Advanced Linux Programming by Mark Mitchell, Jeffrey Oldham, and Alex Samuel, of CodeSourcery LLC published by New Riders Publishing.
File System Security Robert “Bobby” Roy And Chris “Sparky” Arnold.
Zach Miller Computer Sciences Department University of Wisconsin-Madison Securing Condor.
Kerberos Guilin Wang School of Computer Science 03 Dec
Zach Miller Computer Sciences Department University of Wisconsin-Madison Securing Condor.
Condor Project Computer Sciences Department University of Wisconsin-Madison Grids and Condor Barcelona,
The world leader in serving science Overview of Thermo 21 CFR Part 11 tools Overview of software used by multiple business units within the Spectroscopy.
Ian D. Alderman Computer Sciences Department University of Wisconsin-Madison Condor Week 2008 End-to-end.
1 Chapter 13: RADIUS in Remote Access Designs Designs That Include RADIUS Essential RADIUS Design Concepts Data Protection in RADIUS Designs RADIUS Design.
Dan Bradley Condor Project CS and Physics Departments University of Wisconsin-Madison CCB The Condor Connection Broker.
Security-Enhanced Linux Stephanie Stelling Center for Information Security Department of Computer Science University of Tulsa, Tulsa, OK
HTCondor Security Basics HTCondor Week, Madison 2016 Zach Miller Center for High Throughput Computing Department of Computer Sciences.
Maryknoll Wireless Network Access Steps for Windows 7 As of Aug 20, 2012.
1 Example security systems n Kerberos n Secure shell.
Tutorial: Condor on Windows
HTCondor Annex (There are many clouds like it, but this one is mine.)
Module Overview Installing and Configuring a Network Policy Server
Grid Security.
Examples Example: UW-Madison CHTC Example: Global CMS Pool
Workload Management System
Outline What does the OS protect? Authentication for operating systems
High Availability in HTCondor
Building Grids with Condor
Outline What does the OS protect? Authentication for operating systems
Integration of Singularity With Makeflow
Privilege Separation in Condor
HTCondor Security Basics HTCondor Week, Madison 2016
Computer Security Distributed System Security
Condor Glidein: Condor Daemons On-The-Fly
Upgrading Condor Best Practices
Operating System Security
King of France, Louis XVI Restorer of French Liberty
Topic 5: Communication and the Internet
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
Preventing Privilege Escalation
6. Application Software Security
Credential Management in HTCondor
We Need To Talk Security
PU. Setting up parallel universe in your pool and when (not
Presentation transcript:

HTCondor Security Basics Jaime Frey Center for High Throughput Computing Department of Computer Sciences University of Wisconsin-Madison

Overview What are the threats? Who do you trust? What are the mechanisms? Other security concerns?

Threats The purpose of HTCondor is to accept arbitrary code from users and run it on a large number of machines

Threats The purpose of HTCondor is to accept arbitrary code from users and run it on a large number of machines The purpose of a botnet is to take arbitrary code and run it on a large number of machines

Threats So what’s the difference? You wish to prevent unauthorized access Ultimately, it just comes down to who can use your pool, and how they can use it.

Basic Concepts “Who can use your pool” is really two concepts: The “Who” is authentication The “can use” is authorization

Basic Concepts Authentication is finding out WHO some entity is. How is this done? Common methods: Present a secret that only you should know Perform some action that only you can do Present a credential that only you could have

Basic Concepts Authorization is deciding what someone is allowed to do. You must know who they are before you can decide this!

Basic Concepts I’m using “they” pretty loosely here. “They” could be: A user A machine An agent/daemon/service

Basic Concepts In the context of an HTCondor pool: You want only machines that you trust to be in the pool You want only people you trust to submit jobs

Assumptions of Trust HTCondor relies on trusting the “root” user of a machine If this is compromised, all bets are off HTCondor daemons trust each other You need to trust your friendly HTCondor administrator

Assumptions of Trust How about users? HTCondor places some restrictions on users: zmiller cannot submit, remove, or manipulate jobs belonging to another user But ”bad” users can still cause problems Running fork bomb: while(1) { fork() } Intentionally interfering with the system

Assumptions of Trust So, users are trusted to some degree Preventing every possible bad behavior makes the system too cumbersome for good users Security is always a balancing act with usability Decide how much you want to prevent versus punish

Restricting Users SUBMIT_REQUIREMENT allows the administrator to restrict what jobs are able to enter the queue Can be used to prevent users from lying about what groups they belong to: SUBMIT_REQUIREMENT_NAMES = GROUP1 SUBMIT_REQUIREMENT_GROUP1= (Accounting_Group != “group1”) || (Accounting_Group == “group1” && (Owner==“zmiller” || Owner==“tannenba”)) SUBMIT_REQUIREMENT_GROUP1_REASON=“User not in group1”

Restricting Users SUBMIT_REQUIREMENT allows the administrator to restrict what jobs are able to enter the queue Can be used to allow only certain executable files, number of CPUs requested for a job, anything else that is part of the Job ClassAd

Authentication When users submit jobs, HTCondor authenticates them The HTCondor SCHEDD daemon now “owns” the jobs, and acts on their behalf.

Authentication So how can we trust the SCHEDD? Daemon-to-daemon authentication

Authentication For a secure pool, both users and HTCondor daemons must authenticate themselves HTCondor supports several mechanisms: File System Password Kerberos SSL GSI

Other Security Mechanisms In addition to authenticating network connections, you may also wish to use: Integrity Checks (MD5) Allows HTCondor to know if traffic has been tampered with Encryption (3DES, Blowfish) Allows HTCondor to transmit encrypted data so it cannot be spied on while in transit

Example “Strong” Configuration SEC_DEFAULT_AUTHENTICATION = REQUIRED SEC_DEFAULT_AUTHENTICATION_METHODS = Kerberos SEC_DEFAULT_ENCRYPTION = REQUIRED SEC_DEFAULT_INTEGRITY = REQUIRED

Security Negotiation When first contacting each other, HTCondor daemons have a short negotiation to find out which mechanisms are supported and what features are required for the connection server client I want to submit a job You must authenticate w/ kerberos KERBEROS normal submit protocol

Security Negotiation Policy Reconciliation Example: CLIENT POLICY SEC_DEFAULT_ENCRYPTION = OPTIONAL SEC_DEFAULT_INTEGRITY = OPTIONAL SEC_DEFAULT_AUTHENTICATION = OPTIONAL SEC_DEFAULT_AUTHENTICATION_METHODS = FS, GSI, KERBEROS, SSL, PASSWORD SERVER POLICY SEC_DEFAULT_ENCRYPTION = REQUIRED SEC_DEFAULT_INTEGRITY = REQUIRED SEC_DEFAULT_AUTHENTICATION = REQUIRED SEC_DEFAULT_AUTHENTICATION_METHODS = SSL RECONCILED POLICY ENCRYPTION = YES INTEGRITY = YES AUTHENTICATION = YES METHODS = SSL

Security Configuration I’m going to skip the detailed configuration of each particular security mechanism. Security is not one-size fits all If you are interested in details, please talk to us.

Configuration Security Are your condor_config files secured? They should be owned and only modifiable by root. If you use a config directory, make sure only root can create files in it

Configuration Security HTCondor can allow configuration changes using a command-line tool: condor_config_val –set Name Value However, this behavior is off by default and needs to be enabled on a case-by-case basis for each config parameter… use carefully only if you really need it

HTCondor Privilege HTCondor typically runs “as root” Why? Impersonating users Process isolation Reading secure credentials When it isn’t actively using root, it switches effective UID to another user (“condor”)

HTCondor Privilege HTCondor will never launch a user job as root. There is a “circuit breaker” at the lowest level to prevent it. If not using system credentials, the Central Manager can run without root priv Let’s examine some different Startd configurations

StartD Configurations Startds have a few different options for running jobs: Run jobs as the submitting user Run jobs as the user “nobody” Allows jobs to interfere with one another Run jobs as a dedicated user per slot Keeps jobs running as a low-privilege user Isolates jobs from one another Makes it easy to clean up after a job

Singularity Allows HTCondor daemons to be run without root privilege, yet protects them from running jobs Very useful for glidein jobs

Encrypted File Transfer Even if that admin has not required encryption for all network connections, user jobs can specify per-file for both input and output if the files should be encrypted: Encrypt_Input_Files = file1, *.dat Encrypt_Output_Files = data.private

Encrypt Execute Directory On Linux with ecryptfs installed and Windows, you can have HTCondor encrypt the execute directory on disk, offering extra protection of sensitive data. Can be enabled pool-wide by the admin: ENCRYPT_EXECUTE_DIRECTORY = True Or per-job in the submit file: encrypt_execute_directory = True

Vulnerabilities HTCondor has been assessed by an independent research group. That was many years ago. Another audit will be coming “soon” Our vulnerability reporting process is documented and vulnerability reports publicly available: http://research.cs.wisc.edu/htcondor/security/

Questions?