Data Security Lighthouse Software Solutions Rick Bielawski 2042 Wooddale Dr. Suite 125 St. Paul, MN 55125 On the web at lssinc.com.

Slides:



Advertisements
Similar presentations
Managing User, Computer and Group Accounts
Advertisements

II.I Selected Database Issues: 1 - SecuritySlide 1/20 II. Selected Database Issues Part 1: Security Lecture 2 Lecturer: Chris Clack 3C13/D6.
Security Pertemuan 7 Matakuliah: T0413 Tahun: 2009.
1 Chapter 8 Fundamentals of System Security. 2 Objectives In this chapter, you will: Understand the trade-offs among security, performance, and ease of.
Access Control Methodologies
Logins, Roles and Credentials Lesson 14. Skills Matrix.
Chapter 9 Chapter 9: Managing Groups, Folders, Files, and Object Security.
Chapter 7 HARDENING SERVERS.
Information Networking Security and Assurance Lab National Chung Cheng University The Ten Most Critical Web Application Security Vulnerabilities Ryan J.W.
11 SUPPORTING LOCAL USERS AND GROUPS Chapter 3. Chapter 3: Supporting Local Users and Groups2 SUPPORTING LOCAL USERS AND GROUPS  Explain the difference.
Hands-On Microsoft Windows Server 2003 Administration Chapter 5 Administering File Resources.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 4 Profiles, Password Policies, Privileges, and Roles.
Chapter 10 Overview  Implement Microsoft Windows Authentication Mode and Mixed Mode  Assign login accounts to database user accounts and roles  Assign.
Esri UC2013. Technical Workshop. Technical Workshop 2013 Esri International User Conference July 8–12, 2013 | San Diego, California Administering Your.
7-Access Control Fundamentals Dr. John P. Abraham Professor UTPA.
Database Security Managing Users and Security Models.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Administration of Users Dr. Gabriel. 2 Documentation of User Administration Part of the administration process Reasons to document: –Provide a paper trail.
ISOM MIS3150 Data and Info Mgmt Database Security Arijit Sengupta.
Maintaining a Microsoft SQL Server 2008 Database SQLServer-Training.com.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 3 Administration of Users.
Introduction to SQL Server 2000 Security Dave Watts CTO, Fig Leaf Software
Managing User Accounts, Passwords and Logon Chapter 5 powered by dj.
With Windows XP, you can share files and documents with other users on your computer and with other users on a network. There is a new user interface.
Security Planning and Administrative Delegation Lesson 6.
Database Security and Auditing: Protecting Data Integrity and Accessibility Chapter 4 Profiles, Password Policies, Privileges, and Roles.
Chapter 6 : Designing SQL Server Service-Level Security MCITP Administrator: Microsoft SQL Server 2005 Database Server Infrastructure Design Study Guide.
| nectar.org.au NECTAR TRAINING Module 5 The Research Cloud Lifecycle.
Security David Frommer Principal Architect Business Intelligence Microsoft Partner of the Year 2005 & 2007.
SSL, Single Sign On, and External Authentication Presented By Jeff Kelley April 12, 2005.
MICROSOFT SQL SERVER 2005 SECURITY  Special Purpose Logins and Users  SQL Server 2005 Authentication Modes  Permissions  Roles  Managing Server Logins.
Session 7 LBSC 690 Information Technology Security.
Module 4: Managing Security. Overview Implementing an Authentication Mode Assigning Login Accounts to Users and Roles Assigning Permissions to Users and.
Planning a Microsoft Windows 2000 Administrative Structure Designing default administrative group membership Designing custom administrative groups local.
Module 14: Securing Windows Server Overview Introduction to Securing Servers Implementing Core Server Security Hardening Servers Microsoft Baseline.
Database Role Activity. DB Role and Privileges Worksheet.
Module 4 Planning for Group Policy. Module Overview Planning Group Policy Application Planning Group Policy Processing Planning the Management of Group.
Permissions Lesson 13. Skills Matrix Security Modes Maintaining data integrity involves creating users, controlling their access and limiting their ability.
Database Security. Multi-user database systems like Oracle include security to control how the database is accessed and used for example security Mechanisms:
1 Chapter Overview Managing Object and Container Permissions Locating and Moving Active Directory Objects Delegating Control Troubleshooting Active Directory.
MA194Using WindowsNT1 Topics for the day… WindowsNT Security WindowsNT File System (NTFS) Viewing/Setting Document and Folder Permissions Access Control.
Database Security Cmpe 226 Fall 2015 By Akanksha Jain Jerry Mengyuan Zheng.
Configuring and Deploying Web Applications Lesson 7.
SQL Server 2005 Implementation and Maintenance Chapter 6: Security and SQL Server 2005.
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 12: Implementing Security.
Unit 7 ITT TECHNICAL INSTITUTE NT1330 Client-Server Networking II Date: 2/3/2016 Instructor: Williams Obinkyereh.
Secure Data Access with SQL Server 2005 Doug Rees Associate Technologist, CM Group
C Copyright © 2007, Oracle. All rights reserved. Security New Features.
1 BCS 4 th Semester. Step 1: Download SQL Server 2005 Express Edition Version Feature SQL Server 2005 Express Edition SP1 SQL Server 2005 Express Edition.
Overview of Security Investments in SQL Server 2016 and Azure SQL Database Jamey Johnston 1/15/2016Security Investments in SQL Server 2016 and Azure SQL.
Microsoft Advertising 16:9 Template Light Use the slides below to start the design of your presentation. Additional slides layouts (title slides, tile.
Data Security Superior Consulting Services Rick Bielawski 350 West Burnsville Parkway Suite 550 Burnsville, MN
Lighthouse Software Solutions
Securing Data with SQL Server 2016
Chapter 5 : Designing Windows Server-Level Security Processes
Access, Users, Permissions
Introduction to SQL Server 2000 Security
Common Security Mistakes
Designing Database Solutions for SQL Server
Implementing Security inside SQL Server
Auditing in SQL Server 2008 DBA-364-M
or: How I Learned to Stop Using EXECUTE AS and Love Certificates
Intermediate Security Topics in SQL SERver
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
BACHELOR’S THESIS DEFENSE
PLANNING A SECURE BASELINE INSTALLATION
February 11-13, 2019 Raleigh, NC.
Designing IIS Security (IIS – Internet Information Service)
Security Planning and Administrative Delegation
Presentation transcript:

Data Security Lighthouse Software Solutions Rick Bielawski 2042 Wooddale Dr. Suite 125 St. Paul, MN On the web at lssinc.com

Lighthouse Software Solutions 10/10/2015Session Title Here2 |  Thank you Sponsors! o Please visit the sponsors during the vendor break from 2:45 – 3:15 and enter their end-of-day raffles  Event After Party o Dave and Buster’s in Southdale Center. 3 rd floor by Macy’s starting at 6:15  Want More Free Training? o PassMN meets the 3 rd Tuesday of every month.

Agenda Infrastructure Security Data security requires a comprehensive environment-pervasive plan. Database security requires more than access controls. SQL Server Security The Database instance service account Logins vs Users Ownership Chaining Impersonation Certificate Signing TRUSTWORTHY & DB_CHAINING

Limits to what I can cover There are thousands of points of vulnerability Hundreds of tools readily available An infinite combination of implementation strategies What are ‘Best Practices’ & who decides? Data security is an enormous topic To cover the basics of every feature would take 2 days.

Design Best Practices Easier to troubleshoot Easier to enhance Easier to secure IOW: Over time – cost less to maintain than other design choices. Design practices that, over time, have proven to be:

The single most important Design best-practice Build to interfaces not implementations In the database world (almost) NOBODY seems to follow this rule TABLES are IMPLEMENTATIONS!

Data Access Design Pattern Create at least two types of schemas: Public and Private. Use a naming convention to denote the schema type. 1.Tables are ALWAYS in a private schema. NOBODY is granted access to these. 2.Access is only granted to interface schemas. These schemas NEVER contain tables! Views in an interface schema always specify “WITH VIEW_METADATA” 3.Optionally a ‘Protected’ schema type used to join data from multiple private schemas for use by multiple public schemas.

Top 5 Security Best Practices 1.Least Privileges 2.Least Privileges 3.Least Privileges 4.Monitor access failures 5.INVESTIGATE access failures! If you don’t stop an attacker BEFORE they succeed they WILL eventually succeed!

What are you securing? What about printed copies Only policies and procedures can protect these. What about backups Can they be stolen? If the building is destroyed can you still recover? What about transient locations Memory scraping, network sniffing, paging file access, EMF monitoring… Is it really just the database?

Barriers to access The vast majority of important data is not deliberately accessible from the internet 1.Physical access 2.ID/Password 3.Encryption The more barriers you have the harder you make it to reach your data.

Terms Unsecure Accessible and readable without much or any manipulation. Secured Access mechanisms refuse to present the data. Obfuscated Information to return to clear text is available. Encrypted Additional information is required to get clear text. Hashed Can’t be reversed. Many data blocks produce the same hash.

ID/Password Obfuscating words is not effective against programs Replacing O with 0 or S with $.... Use MORE than 14 characters So the easily broken legacy LM Hash is not computed. Phrases or sentences are easier to remember than Passwords can contain ANY Unicode character Single sign-on systems reduce your options to the LCD. If forced: Use a keyboard pattern rather than words. If possible include non-ASCII characters like 0176 (° degree). Don’t use predictable patterns DPAPI must store all prior passwords for EFS to work.

Physical Access The machine holding the data A network with access to the machine Backups of the machine User hardcopies User storage media (phone, thumb drive…) Means Access to:

Key Sweeper video Nullifying the Physical Access Barrier

Nullifying the ID/Password barrier Network sniffing EMF sniffing Written or easily guessed passwords Malware introduced by user activity Malware introduced through lack of barriers Malware introduced due to barrier weaknesses EXCESSIVE ACCESS

Nullifying Encryption Having strong keys and protecting them is paramount. Microsoft SQL Server uses DPAPI which is vulnerable to certain software attacks. (See It can’t protect its keys from an ‘inside job’. Where security is truly critical a 3 rd party hardware based encryption system (using the EKM interface) is almost mandatory. These have no interface to reveal their keys. Only the box can decrypt what it encrypts.

Microsoft SQL Server Service Account Needs very little more than access to the directories where data, log and snapshot files are stored. Don’t give it more. Certainly not admin access! Configure credentials for use in specific cases where additional authority is required for other tasks; be they agent jobs, replication, service broker etc. Nothing else should ever be allowed to run under the service account. DPAPI protects the keys protecting credentials, certificates and data so anything using the same account can compromise those keys.

Understanding LOGINs At the ‘Server Instance’ level the Instance: Deals only with LOGINs (Stored in Master) Performs all authentication A Login only needs connect authority to be authenticated (given a session) in the instance (unless they specify an initial catalog which is contained) Once a session is granted Server level permissions control what server level operations can be performed. None are required. Database permissions control database level activity

Understanding USERs At the Database level a database Deals only with USERs Delegates any authentication back to the instance (Contained databases are only a technical exception) Any unknown login is mapped to the GUEST user if enabled (It’s not, by default) If a login, certificate or asymmetric key isn’t mapped to a user NO access is granted

Ownership Chaining There are always 2 sets of permissions in effect when a procedure is running: Yours & the procedure’s. Works for row level access & execute only. If you have access to a view, function or procedure, that access automatically extends to any other view, function, procedure or table owned by that object’s owner. No extra authority needs to be granted. Applies to any view, function or procedure you can use (for any reason: grant, chaining, execute-as, signing certificate). Includes cross database access in specific cases. This permission is NOT affected by a DENY on the user executing the statement.

Ownership Chaining Giving Permissions through Stored Procedures Read & Execute

Ownership Chaining Doesn’t work when: Referenced objects are owned by another user. (breaks chain) Dynamic SQL is executed. (no owner - breaks chain) In cross database situations where: The SERVER LEVEL setting of ‘cross db ownership chaining’ is off (off by default). The request isn’t made by a Login mapped to a user in the referenced database (not a user) EXECUTE AS is specified. Only Logins can make cross database calls.

Impersonation CREATE … WITH EXECUTE AS {owner|caller|self} CREATE … WITH EXECUTE AS [user = ] 'dbUser' CREATE … WITH EXECUTE AS LOGIN = 'Domain\User' Works on Multi-statement functions, stored procedures, triggers and queues. Operates as if that ID executed the function or procedure. DO NOT impersonate authoritative users such as dbo, OWNER or SELF (violates least privilege). Ownership chaining continues to work

Certificate Signing Permissions are assigned by granting them to the user (or login) associated with the certificate. Works on Multi-statement functions, stored procedures, triggers and queues. An object can be signed by multiple certificates. The permissions the signature imparts are not inherited by referenced objects. Ownership chaining continues to work CREATE CERTIFICATE CertForUser … CREATE USER CertUser FROM CERTIFICATE CertForUser ADD SIGNATURE TO SensitiveProc BY CERTIFICATE CertForUser …

Differences between certificate user and a user without login You can assign a procedure permissions from multiple certificates but you can only execute AS a single user or login Execute AS persists as nested calls are made (unless another EXECUTE AS intervenes) Execute AS changes CURRENT_USER() thus auditing should refer to ORIGINAL_LOGIN() Certificate permissions don’t persist (although ownership chaining does)

Test Script

Chaining

Certificate

Execute AS

Trustworthy Pros: This server level permission is granted to a specific database, not all databases. A database used only by the SA has the potential to be a ‘trustworthy’ database. Cons: Once granted, the database can impersonate any login – including logins with SA access!

Database Chaining Pros: No system level permissions can be compromised because only EXEC and row-level operations are affected Cons: The setting isn’t database specific. All databases are affected. As a DBO I can add any ID that exists in another database then use chaining to read/update/delete rows in any table.

Concepts I didn’t have time to cover Implications to allowing contained databases SSL – Requiring encrypted connections Dedicated Admin Connection considerations Impersonating non-database users Auditing Using the Login trigger & CONTEXT_INFO() Allowing non-SA users to perform bulk insert. Implementing row level security Encryption (backups, TDE, Columns)

10/10/2015Session Title Here36 |  Remember to fill out your online evaluations for the event and any sessions you have attended. They will be online until 10/17/ valuation.aspx