RBAC in Solaris 10. Darren J Moffat Staff Engineer, Networking & Security Sun Microsystems, Inc. 7 th October 2004

Similar documents
Data Security and Privacy. Unix Discretionary Access Control

Case Study: Solaris Trusted Extensions

<Insert Picture Here> Oracle Solaris 11 Security

CSE 565 Computer Security Fall 2018

Access Control. CMPSC Spring 2012 Introduction Computer and Network Security Professor Jaeger.

Why secure the OS? Operating System Security. Privilege levels in 80X86 processors. The basis of protection: Seperation. Privilege levels - A problem

Operating system security models

FreeBSD Advanced Security Features

Policy vs. Mechanism. Example Reference Monitors. Reference Monitors. CSE 380 Computer Operating Systems

CSE 380 Computer Operating Systems

Secure Architecture Principles

Secure Architecture Principles

Solaris TM 10 Security Overview

Secure Architecture Principles

CIS 5373 Systems Security

OS Security III: Sandbox and SFI

Secure Architecture Principles

Configuring TACACS+ About TACACS+

An Overview of Security in the FreeBSD Kernel. Brought to you by. Dr. Marshall Kirk McKusick

Actual4Test. Actual4test - actual test exam dumps-pass for IT exams

UNIX/Linux Auditing. Baccam Consulting, LLC Training Events

Information Security CS 526

Solaris 10 Security. Deep Dive. Glenn Brunette Distinguished Engineer Sun Microsystems, Inc.

Exam Questions 1Z0-881

OS security mechanisms:

Security. Advanced Operating Systems and Virtualization Alessandro Pellegrini A.Y. 2017/2018

Oracle 1Z Oracle Solaris 10 Security Administrator Certified Expert. Download Full Version :

TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control

Hardware. Ahmet Burak Can Hacettepe University. Operating system. Applications programs. Users

Most of the work is done in the context of the process rather than handled separately by the kernel

Configuring TACACS+ Finding Feature Information. Prerequisites for TACACS+

Operating System Security

Explicit Information Flow in the HiStar OS. Nickolai Zeldovich, Silas Boyd-Wickizer, Eddie Kohler, David Mazières

Configuring TACACS+ Information About TACACS+ Send document comments to CHAPTER

Privilege Separation

Q) Q) What is Linux and why is it so popular? Answer - Linux is an operating system that uses UNIX like Operating system...

Nicolas Williams Staff Engineer Sun Microsystems, Inc.

CSE Computer Security

Best Practices for keeping your Oracle Solaris workloads secure CON6298

Oracle Corporation 1

Access Control Lists. Don Porter CSE 506

1C HAPTER 1. Security Services (Overview) System Security

Configuring User Accounts and RBAC

Chapter 13: Protection. Operating System Concepts Essentials 8 th Edition

CS2506 Quick Revision

CS420: Operating Systems. OS Services & System Calls

Novell Nsure Identity Manager Fan-Out Driver

SUN. Sun Certified System Administrator for the Solaris 10 Operating System Upgrade

Capabilities. Linux Capabilities and Namespaces. Outline. Michael Kerrisk, man7.org c 2018 March 2018

CSE543 - Introduction to Computer and Network Security. Module: Operating System Security

Chapter 14: Protection. Operating System Concepts 9 th Edition

Introduction to Computer Security

Beyond Init: systemd

Introduction to UNIX/LINUX Security. Hu Weiwei

SUDO(8) System Manager s Manual SUDO(8)

Configuring User Accounts and RBAC

Outline. UNIX security ideas Users and groups File protection Setting temporary privileges. Examples. Permission bits Program language components

A Survey of Access Control Policies. Amanda Crowell

Operating system security

PROCESS CONTROL BLOCK TWO-STATE MODEL (CONT D)

Computer Security. 04r. Pre-exam 1 Concept Review. Paul Krzyzanowski. Rutgers University. Spring 2018

Mac OS X 10.4 Tiger. What's New for UNIX Users?

Security Architecture

TEL2821/IS2150: INTRODUCTION TO SECURITY Lab: Operating Systems and Access Control

CS370 Operating Systems

Xcalar Installation Guide

Module 4: Access Control

IS 2150 / TEL 2810 Information Security and Privacy

Bamuengine.com. Chapter 7. The Process

IT Service Delivery And Support Week Four - OS. IT Auditing and Cyber Security Fall 2016 Instructor: Liang Yao

1Z Oracle Linux 5 and 6 System Administration Exam Summary Syllabus Questions

Secure Architecture Principles

Prerequisites for Controlling Switch Access with Terminal Access Controller Access Control System Plus (TACACS+)

Privilege Escalation

HP-UX System Administration

CIS Operating Systems File Systems Security. Professor Qiang Zeng Fall 2017

CPSC 341 OS & Networks. Processes. Dr. Yingwu Zhu

We ve seen: Protection: ACLs, Capabilities, and More. Access control. Principle of Least Privilege. ? Resource. What makes it hard?

Configuring User Accounts and RBAC

Chapter 2: Operating-System Structures. Operating System Concepts 9 th Edit9on

GSS Context Management for NFS: The NFS PAG. William A. (Andy) Adamson Connectathon 2014

TELE 301 Lecture 8: Post

Configuring Switch-Based Authentication

Confinement (Running Untrusted Programs)

CS 290 Host-based Security and Malware. Christopher Kruegel

You can also view the full syntax and options of the subcommand by typing asadmin help restart-domain at the command line.

SUDO(8) System Manager s Manual SUDO(8)

Discretionary Access Control

CSE 265: System and Network Administration

412 Notes: Filesystem

Unix Processes. What is a Process?

UNIX System Administration

Sandboxing. (1) Motivation. (2) Sandboxing Approaches. (3) Chroot

Secure Software Programming and Vulnerability Analysis

? Resource. Announcements. Access control. Access control in operating systems. References. u Homework Due today. Next assignment out next week

Configuring Role-Based Access Control

Linux Capability Exploration Lab

SUDO(8) System Manager s Manual SUDO(8)

Least-Privilege Isolation: The OKWS Web Server

Systems Programming/ C and UNIX

Transcription:

RBAC in Solaris 10 Darren J Moffat Staff Engineer, Networking & Security Sun Microsystems, Inc. 7 th October 2004

Agenda Least Privilege / RBAC in Solaris 10 SMF - Service Management Framework Zones (N1 Grid Containers) Solaris Cryptographic Framework Other security releated features in Solaris 10 2

Traditional Method All powerful root user BSD/SunOS use of wheel group Must be in wheel group Must know the password Wrapper scripts & setuid 3

What is Role Based Admin? Application of Principle of Least Privilege Roles ~ Job Function Printer Admin / User Admin / Database Admin Give only the commands needed Give only the privileges needed 4

Least Privilege in Solaris 10 Traditional UNIX is root or user Kernel checks explicitly for uid = 0 or object owner CMW and later (expired) POSIX specifications on least privilege. Solaris 10 privileges evolution of 10+ years of experience in Trusted Solaris. 5

Solaris Privileges 50+ fine grained privileges instead of uid == 0 Each process has 4 privilege sets in its' kernel creds: Inheritable set (I) The set of privileges child processes get on exec. Permitted set (P) The maximum set of privileges for the process Effective set (E) Subset of P that are currently asserted as needed by the process Limit set (L) Upper bound a process and its children can obtain (takes effect on exec) 6

Viewing process privileges NFS daemon # ppriv `pgrep nfsd` 357: /usr/lib/nfs/nfsd flags = PRIV_AWARE E: basic,!file_link_any,!proc_exec,!proc_fork,!proc_info,!proc_ session,sys_nfs I: basic,!file_link_any,!proc_exec,!proc_fork,!proc_info,!proc_ session P: basic,!file_link_any,!proc_exec,!proc_fork,!proc_info,!proc_ session,sys_nfs L: basic,!file_link_any,!proc_exec,!proc_fork,!proc_info,!proc_ session # pcred `pgrep nfsd` 357: e/r/suid=1 e/r/sgid=12 7

Viewing process privileges Normal user shell $ ppriv $$ 2337: ksh flags = <none> E: basic I: basic P: basic L: all 8

What privileges do I need? Privilege Debug mode allows you to determine this: $ ppriv -D $$ $ cat /etc/shadow cat[3003]: missing privilege "file_dac_read" (euid = 35661, syscall = 225) needed at ufs_iaccess+0xd2 cat: cannot open /etc/shadow $ cp /usr/sbin/ping /tmp $ /tmp/ping jurassic ping[3016]: missing privilege "net_icmpaccess" (euid = 35661, syscall = 230) for "devpolicy" needed at so_socket+0xa7 /tmp/ping: socket Permission denied 9

Basic Privileges New for Solaris 10 are basic privileges. Not in previous Trusted Solaris implementations. These are things all normal users can normally do. proc_fork, proc_exec, proc_session, proc_info, file_link_any Dropping proc_fork and proc_exec from system daemons that should never fork or exec gives extra protection against buffer overflow exploits that attempt to get a shell 10

What is a Role in Solaris? User account with normal attributes Can't be logged into directly only su or assumed in smc Normally has a set of Rights Profiles Normally has a profile shell as $SHELL /bin/pfsh, /bin/pfcsh, /bin/pfksh All these are links to normal shell but use / bin/pfexec to run with privilege if needed. 11

Solaris RBAC configuration exec_attr: Execution profiles specify commands and the user, group ids and default/limit privileges prof_attr: Rights Profiles are collections of execution profiles and authorizations auth_attr: Authorizations Definition user_attr: Profiles, Authorizations, Roles (grant & define), Projects All tables are multi-field with extensible key-value pairs: C APIs provided. 12

RBAC & privileges RBAC profiles list the privileges the process will inherit when run. Examples: Process Management:solaris:cmd:::/usr/bin/nice:privs=proc_owner,proc_priocntl Process Management:solaris:cmd:::/usr/bin/kill:privs=proc_owner File System Management:solaris:cmd:::/usr/sbin/umount:privs=sys_mount Network Management:solaris:cmd:::/usr/sbin/ifconfig:privs=sys_net_config 13

How is RBAC used? Rights profiles allow for a hierarchical definition Authorizations checked by privileged programs: SMC Administration Interface and internal use SMF Service Management Facility Device Commands: allocate, cdrw Projects for accounting and resource management/billing. Admin via SMC and/or usermod/rolemod 14

SMF Service Management Framework SMF Service Management Framework Dependancy based system service startup SMF service definitions (manifests) security attributes: Assign uid/gid/default and limit privileges to services Provide a Solaris RBAC authorization that is required to administer the service. $ svcadm restart svc://network/lp That restarts the lp service as a normal user if the user had the authorization. Provides distinction between configured/enabled Service can be fully configured but disabled 15

Zones Multiple virtualized application environments from a single Solaris kernel Process containment Resource usage & security isolation No direct access to hardware Zones appear as separate hosts from outside the Solaris instance Zones have unique set of 0 or more IP addresses. 16

Zones Each Zone in Solaris 10 has a subset of the available privileges. Zones don't have any of the system management privileges and are missing some of the privileges for Dtrace. In addition to this processes in Zones can't send signals to other zones even if they do have proc_session or proc_owner Can only see processes in same Zone (except global zone) Separate uid/gid namespace Separate filesystem space 17

Solaris Cryptographic Framework User and kernel cryprographic framework. Userland is PKCS#11 OpenSSL to PKCS#11 ENGINE Kernel support used by IPsec, Kerberos (NFS) Userland used by Kerberos, IKE, OpenSSL ENGINE apps Java 1.5 uses Solaris PKCS#11 out of the box. Seemless access to hardware crypto Kernel load balances between hardware/software Pluggable kernel & user interfaces. cryptoadm(1m) command for policy 18

Password enhancements N failed login attempts can now lock account Accounts can be marked as no lock Password history Improved control over password sanity checks Including cracklib support Support for pluggable crypt(3c) interface [ Solaris 9 ] Supports Linux/BSD MD5 & Blowfish 19

Questions?

Solaris Security Darren J Moffat darren.moffat@sun.com

sudo vs Solaris RBAC Feature Solaris RBAC Sudo Authorisations Y N PAM Y Y Cross Platform N Y Kerberos Support Y[6] Y Solaris BSM Audit Y N RUID Y Y[9] EUID Y N[9] RGID Y N EGID Y N Hierarchical Profiles Y N[11] Network Wide Policy Y [1] N [2] Host Specific Policy Y [3] Y [4] Notes Netgroup Policy N Y 1 All supported Nameservices Require Password N[12] Y 2 Assumes rdist Allow no Password Y [5] Y 3 Follows nsswitch: files can override remote nameservice Cached Authentication N [6] Y 4 Host/network/netgroup policy in config Restrict Users Y N 5 Not for NIS+ roles Profile Shells Y N 6 When configured for su(1) in pam.conf(4) Control cmd arguments N Y 7 No for Roles but Yes for just profiles Privileges/Capabilities Aware Y[10] N 8 When used as a role su(1) rules apply Authenticate as Self N[7] Y 9 stay_setuid provides similar functionality Control Sensitive Environment Variables Y[8] Y 10 Only used in Trusted Solaris Control UMASK N Y 11 Profiles are approximately the same as sudo Cmd_Alias Fine grained Policy Admin Y N 12 Roles may require a passord[5] profile shells don't Default Profiles for OS Admin Y N 22

Layered Trusted Solaris Trusted Solaris 8 Future Trusted Solaris Trusted Networking Trusted Desktop Label- Aware Services Trusted Networking Trusted Desktop Label- Aware Services Modified TCP/IP Trusted's Labels Trusted's Privileges TCP/IP Zones Privileges Solaris 10 Benefits: Software portability Patch compatibility Shorter release window More familiar 23