Local Accounts and Privileges in Likewise Storage Server Rafal Szczesniak EMC Isilon



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

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

Windows Server 2008/2012 Server Hardening

MSRPC NULL sessions. Exploitation and protection. Jean-Baptiste Marchand

ONEFS MULTIPROTOCOL SECURITY UNTANGLED

Security Content Update Release Notes for CCS Update

Windows servers. NT networks

Web. Security Options Comparison

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

A COMPARISON BETWEEN THE SAMBA3 AND LIKEWISE LWIOD FILE SERVERS

Unifying Authorization Models

These notes are for upgrading the Linko Version 9.3 MS Access database to a SQL Express 2008 R2, 64 bit installations:

PROTECTING DATA IN TRANSIT WITH ENCRYPTION IN M-FILES

About Microsoft Windows Server 2003

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

How to Secure a Groove Manager Web Site

Microsoft Auditing Events for Windows 2000/2003 Active Directory. By Ed Ziots Version 1.6 9/20/2005

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

Windows security for n00bs part 1 Security architecture & Access Control

EMC Celerra Network Server

SYMANTEC BACKUPEXEC2010 WITH StorTrends

Before deploying SiteAudit it is recommended to review the information below. This will ensure efficient installation and operation of SiteAudit.

Objectives. Windows 7 Security. Desktop OS Market Share. Windows Background. CS140M Fall Lake

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

Computer Security: Principles and Practice

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

Integrating LANGuardian with Active Directory

CIS 551 / TCOM 401 Computer and Network Security

White Paper BMC Remedy Action Request System Security

Windows Security Environment

Configuring and Using the TMM with LDAP / Active Directory

EMC VNXe Series. Security Configuration Guide. Version REV 04

Using Windows Administrative Tools on VNX

IMF Tune Quarantine & Reporting Running SQL behind a Firewall. WinDeveloper Software Ltd.

Implementing a SAS Metadata Server Configuration for Use with SAS Enterprise Guide

Avatier Identity Management Suite

User Setup for SQL Security

Managing Access Control in PresSTORE

The Win32 Network Management APIs

FreeIPA Cross Forest Trusts

6231B: Maintaining a Microsoft SQL Server 2008 R2 Database

EMC ISILON MULTIPROTOCOL DATA ACCESS WITH A UNIFIED SECURITY MODEL

Windows Server 2003 default services

STEALTHbits Technologies, Inc. StealthAUDIT v5.1 System Requirements and Installation Notes

Active Directory and Linux Identity Management

SANS Institute First Five Quick Wins

Tool Tip. SyAM Management Utilities and Non-Admin Domain Users

Security Options... 1

Solaris CIFS Service CIFS. Alan Wright

Windows NT Server Operating System Security Features Carol A. Siegel Payoff

SAMBA VI: As a Domain Controller

Using Microsoft Windows Authentication for Microsoft SQL Server Connections in Data Archive

ESM s management across multi-platforms eliminates the need for various account managers.

User Rights vjj 1

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

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

Achieving PCI COMPLIANCE with the 2020 Audit & Control Suite.

Installing Kaspersky Security Center 10.0 on Microsoft Windows Server 2012 Core Mode

Security White Paper The Goverlan Solution

FILE SYSTEM AUDITING WITH EMC ISILON AND EMC COMMON EVENT ENABLER

CONFIGURING ACTIVE DIRECTORY IN LIFELINE

6WRUP:DWFK. Policies for Dedicated SQL Servers Group

CIS 551 / TCOM 401 Computer and Network Security. Spring 2005 Lecture 4

Implementing Alternate Data Streams in Likewise Storage Services Wei Fu Software Engineer Likewise Software

Using LDAP Authentication in a PowerCenter Domain

About the Authors Fundamentals p. 1 Introduction to LDAP and Active Directory p. 3 A Brief History of Directory Services p. 3 Definition of LDAP p.

Cloud Services ADM. Agent Deployment Guide

Likewise Open Installation and Administration Guide

Using NFS v4 ACLs with Samba in a multiprotocol environment

Introduction to Computer Security

Using Likewise Enterprise to Boost Compliance with Sarbanes-Oxley

Comprehensive List of XenDesktop Event Log Entries

SQL Server Automated Administration

CSE331: Introduction to Networks and Security. Lecture 34 Fall 2006

ADO and SQL Server Security

SQL Tuning and Maintenance for the Altiris Deployment Server express database.

FreeIPA 3.3 Trust features

PRiSM Security. Configuration and considerations

Synthetic Application Monitoring

Connection Broker Managing User Connections to Workstations, Blades, VDI, and More. Quick Start with Microsoft Hyper-V

OPAS Prerequisites. Prepared By: This document contains the prerequisites and requirements for setting up OPAS.

Xerox DocuShare Security Features. Security White Paper

General DBA Best Practices

Getting Started with Clearlogin A Guide for Administrators V1.01

SerNet. Samba Status Update. Munich 13. March Volker Lendecke SerNet Samba Team. Network Service in a Service Network

Manipulating Microsoft SQL Server Using SQL Injection

How to Create a Delegated Administrator User Role / To create a Delegated Administrator user role Page 1

User Migration Tool. Note. Staging Guide for Cisco Unified ICM/Contact Center Enterprise & Hosted Release 9.0(1) 1

Installation Guide NetIQ AppManager

WirelessOffice Administrator LDAP/Active Directory Support

Managing Celerra for the Windows Environment

Redpaper Axel Buecker Kenny Chow Jenny Wong

NTP Software File Auditor for NAS, EMC Edition

IBM Security Identity Manager Version 6.0. Security Guide SC

Server Installation Procedure - Load Balanced Environment

EventSentry Overview. Part I Introduction 1 Part II Setting up SQL 2008 R2 Express 2. Part III Setting up IIS 9. Part IV Installing EventSentry 11

Transcription:

Local Accounts and Privileges in Likewise Storage Server Rafal Szczesniak EMC Isilon

Introduction to LSASS Likewise Security and Authentication Subsystem Service Identity mapping Name SID/UID/GID Authentication Security Local Accounts Local Privileges 2

LSASS Overview 3

Local Accounts 4

What is an authentication provider? 5

Authentication Provider API Resolving LSA_SECURITY_OBJECTs Checking group memberships Authentication Modifying the underlying database contents (add/query/update/delete accounts) 6

Authentication Providers teamwork Each provider has its chance until operation succeeds ERROR_NOT_HANDLED I don t know what you re asking for or I don t know how to do that Operation fails if one of providers returns some specific error code or all of them say not handled 7

The Local Provider 8

Local Provider Supports local user and group accounts Supports well-known provisioned accounts (BUILTIN domain) BUILTIN\Administrators a way of making someone a superuser in the local system Potentially any other provisioned account as needed 9

Local Provider (contd.) The provider does not store objects itself, storage layer handles this task Validation layer (thin but expanding) Sam API Storage and more extensive validation layer - SamDb API Default implementation utilises external database for local accounts storage Provisioned upon the first local provider start 10

SAM database 11

SAM database Three types of object types stored: Domain User Local Group One internal object class Foreign Security Principal (for representing foreign SIDs) Windows account information stored Unix account information is optional (if account is unix-enabled) 12

SAM database (contd.) SamDb API provides basic operations Find/Enumerate Add/Update/Delete Get/Set Membership Query/Set Security Default SamDb implementation utilises sqlite backend for database operations thread-safe transaction-protected Sam API called by local provider and rpc server 13

SAM database (backend details) Three SQL tables SamDb Objects Local group memberships Database state (version and id counters) Each SamDb* call turned into SQL statement Executed as root (security checks are up to the caller) 14

Local Interface Lsa client library (lsa/lsa.h) - common for accessing all authentication providers LsaOpenServer to get the connection handle LsaFindObjects to return the security object(s) LsaOpenEnumObjects, LsaEnumObjects, LsaCloseEnum to enumerate objects LsaAddUser2, LsaModifyUser2, LsaDeleteUser2 LsaCloseServer to close the connection 15

RPC interface Interface described in [MS-SAMR] (\pipe\samr) UserInfo and AliasInfo types accessible via ACCOUNT_HANDLE from builtin and local domains SamrLookupName, SamrLookupRid SamrEnumUsers, SamrEnumAliases SamrCreateUser, SamrOpenUser SamrQueryUserInfo, SamrSetUserInfo SamrClose 16

RPC interface (contd.) 17

RPC interface (contd.) Interface described in [MS-LSAT] (\pipe\lsarpc) Name/SID resolver accessible via POLICY_HANDLE LsarLookupName[23] LsarLookupSid[2] 18

RPC interface (contd.) 19

Privileges 20

What are the privileges for? Securing functionality that cannot be protected with Security Descriptors Security by-pass for certain (typically systemlevel) operations Apply to the local system only Can be granted to any security object identifable by a SID (e.g. domain user accounts) 21

What are the privileges for? (contd.) Examples: SeChangeTimeZonePrivilege SeRemoteShutdownPrivilege SeBackupPrivilege ISI_PRIV_HTTP ISI_PRIV_SMB 22

Privileges and Lsa Accounts 23

Privileges and Lsa Accounts No multiple-provider model All LsaPriv* client calls are handled by the Privileges (and Lsa Accounts) server 24

Privileges Storage 25

Privileges Stored in in-memory hash table mapping privilege names to values The database is initialised from two sources: Builtin (hardcoded) table Registry key The privilege value is represented by LUID (Locally Unique Identifier) in fact a 64-bit number 26

Lsa Accounts Storage 27

Lsa Accounts Lsa Account attributes: Account SID Privileges granted (fixed-size array) System Access Rights granted Security Descriptor Lsa Account is not the same as Local Account 28

Lsa Accounts (contd.) Stored in in-memory hash table holding LSA_ACCOUNT objects indexed by Lsa Account SID Hash table initialised from the registry database after the privileges table is ready All LSA_ACCOUNT updates in the hash table end up in the registry database as well 29

System Access Rights Bitmask controlling how the local system can be accessed Allow or Deny: Interactive access Network access Remote Interactive access Limited use right now since Likewise server is accessed primarily via SMB/SMB2 (network access) 30

Local Interface Employs Account Rights concept referring to Privileges and System Account Rights collectively by their unique names (see [MS- LSAD]) LsaPrivsAddAccountRights LsaPrivsEnumAccountRights LsaPrivsRemoveAccountRights 31

RPC Interface Interface described in [MS-LSAD] (\pipe\lsarpc) Functionality accessible via LSAR_ACCOUNT_HANDLE: LsaCreateAccount, LsaOpenAccount LsaAddPrivilegesToAccount, LsaRemovePrivilegesFromAccount LsaGetSystemAccessAccount, LsaSetSystemAccessAccount... as well as POLICY_HANDLE and Account Rights semantics 32

RPC Interface 33

The Big Picture 34

The Big Picture What do other parts of the system need Map Names/SIDs/UIDs/GIDs Create ACCESS_TOKEN Query group memberships What parts? LWIO I/O service and foundation for the multi-protocol fileserver SRVSVC SMB server configuration service Potentially every new service 35

LwMapSecurity Interface 36

Access Token Doing security checks with Security Descriptors requires the Access Token representing a user requesting an access Access Token includes (among others): TOKEN_GROUPS (all group memberships) TOKEN_PRIVILEGES (privileges granted) Can be created from user name, SID, UID, GID, login principal or security context LwMapSecurityCreateAccessTokenFrom* 37

Access Token (contd.) Before using, privileges in Access Token have to be enabled Only a few are enabled by default (in the database) Checking required privileges is possible by calling RtlPrivilegeCheck (just like RtlAccessCheck for security descriptor checks) 38

Name/SID information Other compontents often need to identify a security object (e.g. user, group, machine) Security object can be found by its name, SID, GID, UID LwMapSecurityGetSidFromName, LwMapSecurityGetNameFromSid LwMapSecurityGetSidFromId, LwMapSecurityGetIdFromSid 39

Thank you! Questions? Rafal Szczesniak rafal.szczesniak@isilon.com 40