Integrating Lustre with User Security Administration. LAD 15 // Chris Gouge // 2015 Sep



Similar documents
Active Directory and Linux Identity Management

Integration with Active Directory. Jeremy Allison Samba Team

How To Use Directcontrol With Netapp Filers And Directcontrol Together

Integrating UNIX and Linux with Active Directory. John H Terpstra

ACE Names and UID/GID/SIDs

IDENTITIES, ACCESS TOKENS, AND THE ISILON ONEFS USER MAPPING SERVICE

Interoperability Update: Red Hat Enterprise Linux 7 beta and Microsoft Windows

Integrating Red Hat Enterprise Linux 6 with Microsoft Active Directory Presentation

SSSD Active Directory Improvements

Authentication in a Heterogeneous Environment

Windows Security and Directory Services for UNIX using Centrify DirectControl

VINTELA AUTHENTICATION SERVICES

Windows Security. CSE497b - Spring 2007 Introduction Computer and Network Security Professor Jaeger.

CONFIGURING ACTIVE DIRECTORY IN LIFELINE

Univention Corporate Server. Operation of a Samba domain based on Windows NT domain services

Chapter 3 Authenticating Users

Active Directory Integration

IBM Rational ClearCase 4.x and Active Directory

USING USER ACCESS CONTROL LISTS (ACLS) TO MANAGE FILE PERMISSIONS WITH A LENOVO NETWORK STORAGE DEVICE

Managing Access Control in PresSTORE

ONEFS MULTIPROTOCOL SECURITY UNTANGLED

Handling POSIX attributes for trusted Active Directory users and groups in FreeIPA

LDAP and Integrated Technologies: A Simple Primer Brian Kowalczyk, Kowal Computer Solutions Inc., IL Richard Kerwin, R.K. Consulting Inc.

SAMBA VI: As a Domain Controller

Building Open Source Identity Management with FreeIPA. Martin Kosek

ICANWK504A Design and implement an integrated server solution

Framework 8.1. External Authentication. Reference Manual

Using LDAP Authentication in a PowerCenter Domain

Transparent fileservices for Windows, Unix and Mac

IPA Identity, Policy, Audit Karl Wirth, Red Hat Kevin Unthank, Red Hat

Centrify-Enabled Samba

Using NFS v4 ACLs with Samba in a multiprotocol environment

Security with LDAP. Andrew Findlay. February Skills 1st Ltd

Mac OS X and Directory Services Integration

Clustered Data ONTAP 8.2

Configuring User Identification via Active Directory

Setting up a DNS MX Record for mail.corp.com p. 327 Installing Fedora on the Front-End Mail Server with the Postfix and SpamAssassin Packages

Likewise Security Benefits

Centrify's Solution for Migrating UNIX Directories to Active Directory

Analisi di un servizio SRM: StoRM

Configuring and Using the TMM with LDAP / Active Directory

Allowing Linux to Authenticate to a Windows 2003 AD Domain. Prepared by. Thomas J. Munn, CISSP 11-May-06

Using SUSE Linux Enterprise Desktop with Microsoft * Active Directory Infrastructure

CA Unified Infrastructure Management Server

NAStorage. Administrator Guide. Security Policy Of NAStorage Under UNIX/LINUX Environment

How To Configure Vnx (Vnx) On A Windows-Only Computer (Windows) With A Windows 2.5 (Windows 2.2) (Windows 3.5) (Vnet) (Win

Allion Ingrasys Europe. NAStorage. Security policy under a UNIX/LINUX environment. Version 2.01

Configuring the Cisco ISA500 for Active Directory/LDAP and RADIUS Authentication

Replacing legacy twofactor. with YubiRADIUS for corporate remote access. How to Guide

Vintela Authentication from SCO Release 2.2. System Administration Guide

SSSD. Client side identity management. LinuxAlt 2012 Jakub Hrozek 3. listopadu 2012

The manual contains complete instructions on 'converting' your data to version 4.21.

Red Hat Enterprise ipa

How To Manage File Access On Data Ontap On A Pc Or Mac Or Mac (For A Mac) On A Network (For Mac) With A Network Or Ipad (For An Ipad) On An Ipa (For Pc Or

LDAP User Guide PowerSchool Premier 5.1 Student Information System

LDAP-UX Client Services B with Microsoft Windows Active Directory Administrator's Guide

FreeIPA 3.3 Trust features

Identity Management based on FreeIPA

CIS 551 / TCOM 401 Computer and Network Security

Migration of Windows Intranet domain to Linux Domain Moving Linux to a Wider World

owncloud Architecture Overview

HP Device Manager 4.7

GuardianOS Data Migration Tool Enables Ease of Snap Server Deployment and Data Consolidation WHITE PAPER

Active Directory Integration

Samba in the Enterprise : Samba 3.0 and beyond

The Integration of LDAP into the Messaging Infrastructure at CERN

RHEL Clients to AD Integrating RHEL clients to Active Directory

Remote Authentication and Single Sign-on Support in Tk20

Cross-Realm Trust Interoperability, MIT Kerberos and AD

How to Use Microsoft Active Directory as an LDAP Source with the Oracle ZFS Storage Appliance

Adam Retter. Security. in exist-db. Security in exist-db

TIBCO Spotfire Platform IT Brief

Integrating Linux systems with Active Directory

EMR Link Server Interface Installation

Engineering a NAS box

Instructions for Adding a MacOS 10.4.x Server to ASURITE for File Sharing. Installation Section

Integrating HP-UX 11.x Account Management and Authentication with Microsoft Windows 2000 White Paper

Using Single Sign-on with Samba. Appendices. Glossary. Using Single Sign-on with Samba. SonicOS Enhanced

SAP Certified Technology Professional - Security with SAP NetWeaver 7.0. Title : Version : Demo. The safer, easier way to help you pass any IT exams.

SharePoint AD Information Sync Installation Instruction

owncloud Architecture Overview

StorHouse/CIFS Installation and Configuration Guide

HelpSystems Web Server User Guide

LDAP User Service Guide 30 June 2006

SonicOS Enhanced 3.2 LDAP Integration with Microsoft Active Directory and Novell edirectory Support

Quick Start - NetApp File Archiver

This section discusses the protocols available for volumes on Nasuni Filers.

University of Oregon Information Services. Likewise Enterprise 5.3 Administrator s Guide

Using Active Directory as your Solaris Authentication Source

Best Practices Guide for NerveCenter System and Security Administrators. Windows and UNIX Version 5.x Version 6.x. July 2011 NCBPSA

SonicOS Enhanced 3.2 LDAP Integration with Microsoft Active Directory and Novell edirectory Support

Transcription:

Integrating Lustre with User Security Administration LAD 15 // Chris Gouge // 2015 Sep

Topics User Security in Linux POSIX Permissions The Requirement for Upcall in Lustre Upcall Utilities Overview Upcall with Samba Gateways 2

User Security in Linux

User Security: Authentication vs. Authorization Establishes: By means of: Authentication Identity Login Authorization Access Permission check 4

Common Linux Frameworks for User Security PAM (Pluggable Authentication Module) framework for logging into a Linux system, i.e. proving identity result of login is a user account (username/uid/default gid) multiple methods of login are supported as hinted by the name NSS (Name Service Switch) framework for queries to various name services, including user/group records can be used to resolve group membership while checking permissions multiple kinds of name services are supported as hinted by the name 5

Common Choices for User Security in Lustre Environments Many nodes requires synchronization of user accounts across all nodes LDAP (Lightweight Directory Access Protocol) AD (Active Directory) Mostly LDAP compatible; older versions have quirks NIS (Network Information System) Local files (/etc/passwd and others) Replicated manually, or via puppet, etc. to all nodes 6

User Security for Lustre Users login on the nodes (compute nodes) User accounts configured using PAM and NSS on these nodes Upon login, users get their uid and default gid on these client nodes This is all irrelevant to the Lustre filesystem. Upon file I/O requests, the passes the uid/gid to the Lustre MDS for permissions check Users do not login to the Lustre MDS directly, or otherwise directly interact with any Lustre server. 7

POSIX Permissions

POSIX Identity User account username systemwide unique name uid systemwide unique number default gid Group account groupname systemwide unique name gid systemwide unique number member list (a list of usernames) Supplemental groups groups other than the default group, that a user belongs to 9

POSIX I/O Request Each process running in the system maintains: effective uid effective gid In the simplest case, these are the uid and default gid of the logged-in user. The process sends these 2 numbers in each I/O request to the filesystem. 10

POSIX File Permissions The finest granularity of POSIX filesystem permissions is a file. Each file has the following permission info recorded in its directory record: owner uid owner gid read/write/execute bits for the owner uid read/write/execute bits for the owner gid read/write/execute bits for everyone else Access Control Lists (ACLs) are optional, and stored in extended attributes. Lustre supports ACLs; stored on MDS 11

POSIX Permission Checking: Examples

Permission Check Scenario #1 Suppose we have a file: filename foo.txt uid gid 1003:3001 user/group/other rwxr-x--x And the filesystem gets a write request for this file with uid=1003 and gid=3001 The uids match, so the owner uid (or user ) permission bit for write is checked. Writes are allowed to this file. In fact rwx means reads and executes are also allowed for user 1003. 13

Permission Check Scenario #2 Suppose we have a file: filename foo.txt uid gid 1003:3001 user/group/other rwxr-x--x And the filesystem gets a read request for this file with uid=1071 and gid=3001 The uids don t match; user bits are ignored. The owner gid (or group ) permission bit for read is checked. Reads are allowed, due to r-x, for users in group 3001. (Or really, processes running with that effective gid.) 14

Permission Check Scenario #3 Suppose we have a file: filename foo.txt uid gid 1003:3001 user/group/other rwxr-x--x And the filesystem gets a read request for this file with uid=1071 and gid=3449 The uids don t match; user bits are ignored. The gids don t match but now we have an interesting question: Is user 1071 in group 3001? The filesystem cannot answer this on its own, it must call out (or call up) to user security services. 15

Scenarios with Lustre

User Security for Lustre (redux) Users login on the nodes (compute nodes) User accounts configured using PAM and NSS on these nodes Upon login, users get their uid and default gid on these client nodes This is all irrelevant to the Lustre filesystem. Upon file I/O requests, the passes the uid/gid to the Lustre MDS for permissions check Users do not login to the Lustre MDS directly, or otherwise directly interact with any Lustre server. 17

Lustre User Login - 1 of 4 Security Service Jane MDS 18

Lustre User Login - 2 of 4 Security Service MDS jane/h3llo 19

Lustre User Login - 3 of 4 Security Service MDS jane/h3llo? 20

Lustre User Login - 4 of 4 Security Service MDS uid:3013 gid:4069...done! 21

Lustre File Access

Lustre File Access (Simple) - 1 of 2 Security Service MDS May jane [uid:3013/gid:4069] access foo.txt [owner: 3013/4443] [modes:-rwxr-x---]? Notes: jane is uid 3013 foo.txt owner is 3013 jane owns this file and owner has rwx permission 23

Lustre File Access (Simple) - 2 of 2 Security Service MDS file handle for foo.txt...done! 24

Lustre File Access (Group Upcall) - 1 of 2 Security Service MDS May jane [uid:3013/gid:4069] access secret.log [owner: 3456/4443] [modes:-rwxr-x---]? Notes: jane does not own the file jane s default gid does not match What is jane s permission? MDS does not know. 25

Lustre File Access (Group Upcall) - 2 of 2 Is [uid:3013] in group [gid:4443]? Security Service MDS MDS must have an upcall utility in place to be able to contact the security service 26

Upcall Utilities

Upcall Utilities for Lustre External / Separate from Lustre / Not part of Lustre Although, a default is provided And it works well enough for most sites The Magic Incantation: [root@mgs] # lctl conf_param myfs-mdt0000.mdt.identity_upcall= /usr/sbin/l_getidentity No reason there can t be other ways of doing it 28

Common Lustre Upcall Utilities l_getidentity (used to be l_getgroups) Default Looks for user/group membership on the MDS using NSS NSS, in turn, relies on: Separate configuration of external security service Locally-defined user/group accounts on the node This is both versatile & vulnerable Any kind of user/group account configuration can be used. But users should never need to login to these nodes! l_adsidentity Looks for user/group membership on an Active Directory server Mostly relevant to older AD server implementations Supports only 1 AD server, no SSL connection 29

l_getidentity versus l_adsidentity l_getidentity can do anything that l_adsidentity can! * with correct configuration of relevant Linux services Protocol for Active Directory is LDAP Schema configurable via nslcd.conf RFC2307bis Active Directory mappings (current schema) Microsoft Services For Unix l_getidentity can do even more! * indirectly, by leveraging Linux services Backup servers SSL connections Alternate Bind methods 30

Limitations of l_getidentity Requires extensive configuration of the base system Its greatest strength is its weakness If you do the minimal configuration to make Lustre work, then users will be able to login to Lustre server nodes. This is a security issue at some sites Multiple ways to prevent this: Set user shell to /sbin/nologin Disable PAM modules etc. Requires even more configuration!. 31

Introducing l_getidentity_nss Leverages NSS without requiring PAM configuration LDAP (including Active Directory) NIS others Supports local user/group definition without creating any accounts passwd and group files in /etc/lustre Supports multiple types of security service (user/group definitions) at once Search order is set separately from nsswitch.conf 32

l_getidentity versus l_getidentity_nss l_getidentity_nss can do anything that l_getidentity can! * relevant to Lustre l_getidentity_nss doesn t open up user logins on Lustre servers in its simplest usage Both still require configuration of the base system. Maybe l_getidentity_nss requires a little bit less in some cases. 33

Is l_getidentity_nss even needed? We don t hear a lot of users clamoring for new upcall utilities We do hear general concerns about securing systems Every site has different policies and different focus areas Preventing server logins is a concern for some sites Some Lustre developer opinions (my paraphrasing) It s a small thing. Not worth bothering anyone to commit it upstream. Is there any interest? 34

Upcall with a Samba Gateway

Samba Gateway as a Lustre Client Security Service(s) jane/h3llo jane/h3llo uid:3013 gid:4069 uid:3013 gid:4069 Samba gateway Lustre client jane/h3llo access file? access file? MDS 36

Upcall due to CIFS Client of Samba Gateway Security Service(s) jane/h3llo desktop login jane/h3llo jane/h3llo uid:3013 gid:4069 jane/h3llo access file? jane/h3llo connect share Samba gateway upcall Lustre client uid:3013 gid:4069 access file? MDS 37 Windows access file? jane/h3llo

Security Service: NIS + AD + ID Mapping Service NIS server ID Mapper Active Directory POSIX logins jane/h3llo l Windows logins jane/h3llo upcal uid:3013 gid:4069 Presumably AD has no POSIX uid/gid support in this scenario. Otherwise the 3rd-party ID Mapper (eg. Centrify) would be redundant. 38

Questions? chris.gouge+lad@seagate.com