24
Migrating Security Policies from SQL to NoSQL November 26, 2013 With Panelist Adam Retter and Michael Allen Dan Adam Michael

NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

Embed Size (px)

DESCRIPTION

In the past, many NoSQL systems came with minimal security features and put security functions in the application layer. However, some newer NoSQL databases are supporting fine-grain security policy management. In this webinar we will discuss the trends in NoSQL security and the ability for new releases of some NoSQL databases to address in-database security concerns. We will see how security policies can be migrated from SQL to NoSQL systems.

Citation preview

Page 1: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

Migrating Security Policies from SQL

to NoSQL

November 26, 2013With Panelist Adam Retter and Michael Allen

DanAdam Michael

Page 2: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Summary

• In the past, many NoSQL systems came with minimal security features and put security functions in the application layer. However, some newer NoSQL databases are supporting fine-grain security policy management. In this webinar we will discuss the trends in NoSQL security and the ability for new releases of some NoSQL databases to address in-database security concerns. We will see how security policies can be migrated from SQL to NoSQL systems. We will also be interviewing NoSQL vendors that have added security to the database layer and discuss their experiences with security conscious customers.

2Copyright Kelly-McCreary & Associates

Page 3: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Four Areas of DB Security

3

Authentication

Are users and requests from the people they claim to be?

Authorization

Can we track who read or updated data and when they did it.?

Encryption

Can we convert data to a form that can not be used by unauthorized viewers?

Do users have read or/write access to the appropriate data?

Audit

Copyright Kelly-McCreary & Associates, LLC

Page 4: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Security Policies

• Written statements, usually in English language text, that describes how your data is protected

• Examples of policy statements– Passwords must contain at least 6 characters

(Authentication)

– Only "managers" can approve travel requests (Authorization)

– All transactions that change data must be audited (Audit)

– All credit card information must be stored in encrypted fields (Encription)

4Copyright Kelly-McCreary & Associates

Page 5: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

NoSQL Database Patterns

Relational Analytical (OLAP) Key-Value

Column-Family DocumentGraph

key value

key value

key value

key value

5Copyright Kelly-McCreary & Associates, LLC

Page 6: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Enterprise Security Requrments

6

Must have

single project

Need for in

database

security

Not required

Nice to havemultiple projects

enterprise wide

regulated

multi-division reporting

Enterprise rollout timeline

role-based access control

Page 7: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Review of RDBMS Security

• Authentication is usually done using

– external client

– internal database login/password

• Authorization is done on tables using DDL

– SQL "GRANT" statements

– Read, write, update, delete

– Views allow fine-grain control rows/columns

– Stored procedures allows "amplified" permissions

• Most RDBMS products have mature audit tools

• Most RDBMS systems use applications to encrypt data

7Copyright Kelly-McCreary & Associates

Page 8: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Review of Analytical Security

• Focus on who can access what "cubes"

• Some portions of fact tables (dimensions) can be restricted by user or group

• Minimal cell size restrictions in reports to prevent inference

• Example:

– What is the average math score of female Asian children in the 4th grade at this school?

– If there is only a single person in this set the privacy rules will not show any results

8Copyright Kelly-McCreary & Associates

Page 9: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Most New NoSQL Products

• Did not focus on security in the database

• Focused on application-level security

• Only more mature "release 2.0" systems

tend to add security

• Many regulated business (healthcare,

finance) could not use early NoSQL

systems but are not starting to adopt

NoSQL systems

9Copyright Kelly-McCreary & Associates

Page 10: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Implementing Security

• Many projects can put security at the application level

• Reporting tools frequently go directly against a database

10

Firewall

Database

Internet App Server

ReportingTools

Firewalls and application servers protect databases from unauthorized access

Reporting tools run directly on a database so the database may need its own security layer

Page 11: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Simple Circles, Simple Policies

• Simple authorization security policies can be drawn as Venn Diagrams

• Complex security policies have 100s of overlapping circles

11

databaseadministrators

authenticated users

intranet users

general public

Page 12: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Implementing Auth and Auth

12

Database

Request

Lookup

groups or

roles

Id in

header?

Y

Company

Directory

Get/Put

data

Role has

access to

data?

Y

Login

Login

OK

Database

Return

result

N

Return error

YDeny access

N

N

AuthorizationAuthentication

Page 13: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Security Grain

13

Data-base

Collection

Document

Element

Course grain access control

– little performance impact

Fine grain access control

– large performance impact

• Version "1.0" of many NoSQL databases only control

access based on collections

• Fine-grain access control can limit performance on

distributed systems

Page 14: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Collections, Document and Elements

• Applies to some types of NoSQL systems

14

Databasedatabase root collection

department collection

application collection

document

element

Page 15: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

The UNIX file system model

15

• HDFS and eXist-db both support the UNIX security model

owner group others

RWX RWX RWX

110 110 100

The permissions for anyone outside your group are

Read=true, Write=false and Execute=false

The letters RWX are for Read, Write and Execute Permissions

Your own permissions Your group's permissions Everyone else

Page 16: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Role-Based Security Models

• Sample UML diagram for role-based

security

16

Page 17: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Simplified RBAC Model

• Role based access control models

decouple the user from the resource

17

User RolePermission

(read, write)

Resource

(collection, document)

Resources are associated with a permission for each role.

Each user has one or moreroles in the database.

Roles are associated with one or more permissions.

Page 18: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

MarkLogic Security Model

• Sample RBAC model in MarkLogic

18

User Role Permission

Roles exist in a hierarchy and lower roles inherit permissions from upper roles.

Document

Collection

Execute Privilege

URI Privilege

Amplified Permission (AMP)

Users and roles both have default permissions for documents and

collections.

Multiple roles can be associated with special privileges on functions, queries and URIs.

Each permission record , stored with a document or collection, associates a single capability(read, write, update or execute) with a single role.

Each document and collection is associated with a URI and permissions.

Page 19: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Apache Accumulo

• Visibility is a 64-bit field that holds authorization information. Only users that have the right visibility settings can see the value

19

Row IDFamily Qualifier

Timestamp Value

Key

Column

Visibility

Page 20: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Amazon S3 Security Models

20

Allow

Actions:PutObject

Resourceaws:s3:::bucket_kma/*

IAM Policy

Allow WhoAnnDan

Actions:PutObject

ResourceAws:s3::bucket_kma/*

Bucket Policy

Is the same as

Ann Dan

Page 21: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

eXist-db

Kelly-McCreary & Associates, LLC21

http://exist-db.org

Page 22: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

Migrating Security Policies from SQL

to NoSQL

November 26, 2013With Panelist Adam Retter and Michael Allen

DanAdam Michael

Page 23: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Sample Slides

• Encryption and Security in Accumulo

• Michael Allen

• Sqrrl Data Inc.

• http://www.slideshare.net/DonaldMiner/acc

umulo-oct2013bofpresentation

23Copyright Kelly-McCreary & Associates

Page 24: NoSQL Now! Webinar Series: Migrating Security Policies from SQL to NoSQL

M

D

Thank You

• @dmccreary

• @adamretter

24Kelly-McCreary & Associates, LLC