SlideShare una empresa de Scribd logo
1 de 52
Descargar para leer sin conexión
Cache Security 1

Katherine Reid, Mike Moulckers
Goals

 • Understand Cache security model
 • How to apply it to a simple web application
Academy Agenda

 • Introduction
 • Authentication
 • Authorization
 • Auditing
Configuration Details

 • Username and Password:
    – User: Admin
    – Password: academy
Introduction
Security Components


1. Authentication
2. Authorization
3. Auditing
Security Configuration At Install

 • Determines the initial configuration
                                            Minimal
   settings for Caché Services and
   Security                                 Normal
 • Changes:                               Locked Down
    – System-wide settings
    – User accounts
    – Service properties
System Management Portal
   • Portal redesigned for 2011.1
      – Granular security
System wide settings
Exercise 1: Password Validation

 • Test password validation and explore examples of what it
   can be used for.
Demo: ZEN Application
Exercise 2: Creating a User

 • Create a user to use in the Inventory application.
User Profile
Authentication
Authentication




          What is authentication?
Authentication Methods

• Unauthenticated
• Password
• Operating System
• LDAP
• Delegated Authentication
• Kerberos
Unauthenticated

 • No username or password required.
 • Always logged in as ‘UnknownUser’.
Cache Password Authentication
 • Simple
 • Easy to set up for a single instance
 • User data stored in local instance
OS Authentication
 • User identified to Caché by OS user identity
 • User authenticates to the OS using the native mechanism
 • Only available for server-side processes
    – Terminal
LDAP

• Already in use at many sites.
• Allows centralized user storage.
Delegated

 • User-defined authentication mechanism
 • Re-use existing custom/legacy authentication code for new,
   modern applications.
 • Code is in the ZAUTHENTICATE routine.
 • The authentication code can be any user-defined:
       •   Caché ObjectScript
       •   Embedded SQL
       •   Class Method(s)
       •   $ZF callout code.
Kerberos

 • Most secure authentication type.
 • Used by Windows.
 • Requires a Kerberos Domain Controller
    – eg, Windows Domain Controller
Services
Service Detail
Authentication Options
Exercise 3: Authentication Types

 • Change the authentication types allowed in the Inventory
   application to make users have to provide a username and
   password to log in.
Authorization
Authorization




          What is authorization?
Terminology

 • Asset: something that is protected:
    – A Caché database
    – Caché SQL connection
    – Ability to perform a backup
Terminology

 • Resource: something which protects an asset:
    –   Database Resource (i.e. %DB_Samples)
    –   Administrative Resource (i.e. %Admin_Manage)
    –   Development Resource (i.e. %Development)
    –   Service Resource (i.e. %Service_CSP)
    –   User Defined
Terminology

 • Permission: allows you to perform an action
    – Read (R): View (but not change) the contents of a resource
    – Write (W): View or change the contents of a resource
    – Use (U): Use a resource, such as an Application or Service
Terminology

 • Privilege: grants permission to do something with a resource
   protecting one or more assets
    – A privilege is written as a resource name followed by a permission
      separated by a colon:
       Example: %DB_SAMPLES:Read
More about Privileges…
 • Privileges can be made Public.
 • Effectively, this is equivalent to all users holding that privilege
    – Example: if the %Service_CacheDirect:Use privilege is Public, then
      any user can connect to Caché using the Caché Direct technology

 • Caché provides a function to check on privileges held by the
   current process:
     – $SYSTEM.Security.Check(Resource,Permission)
Exercise 4: Public Resource

 • We've decided that all authenticated users of our system
   should be allowed to run this application. We will make the
   database which holds the code publicly readable so that
   everyone can run it.
Roles

 • Role: a named collection of privileges
    –   Multiple users typically need the same set of privileges.
    –   Sets of privileges can be defined once and shared.
    –   Privileges are only assigned to roles.
    –   Privileges are not assigned directly to users.
    –   A user can have more than one role.
Exercise 5: Roles and Resources

 • We will add code to our Inventory application to individually
   control access to the functions in the application, and create
   roles and resources to allow users to access them
Three ways to get Roles...

 • At user login
 • Granted by an application
 • Code stored in CACHESYS can set $Roles
Application Roles

 • Everyone running the application gets application roles
Exercise 6: Application Roles

 • Instead of having database access in the roles, we will have
   the application give this to users. The application will
   control access to the database.
Matching Roles

 • Only the users who have the first role get the second role.
Exercise 7: Matching Roles

 • We may not want all users to be able to access all the data
   on entering the application. Demonstrate how matching
   roles can be assigned to selected users.
Granular Security in the SMP
Granular Security in the SMP
Exercise 8: Granular Security in the SMP

 • Demonstrate the new granular security in the System
   Management Portal
Auditing
Why Audit?

 • Allows monitoring of system
 • Deterrent
What events are audited?

 • System defined events
 • User defined events
Where is it kept?

 • Audit data is stored in a database called CACHEAUDIT.
 • Protected by the %DB_CACHEAUDIT resource.
    – No user should have access to this resource directly.
 • View via SMP, terminal utilities, SQL, APIs, etc.
Exercise 9: Viewing the Audit Log

 • We demonstrate using the audit log to see what has
   happened on the system.
What’s in an audit record?
Join the Global Summit Community

 We’ve established an online community where you can:

    •   talk about the Global Summit
    •   get helpful product information
    •   share your thoughts about sessions
    •   ask questions of presenters
    •   assemble a group to meet for dinner or social events,
        etc.

            community.intersystems.com
Questions?

Más contenido relacionado

La actualidad más candente

2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET MembershipDaniel Fisher
 
Hive contributors meetup apache sentry
Hive contributors meetup   apache sentryHive contributors meetup   apache sentry
Hive contributors meetup apache sentryBrock Noland
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaLorenzo Carnevale
 
Deep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons LearnedDeep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons LearnedPriti Desai
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack webhostingguy
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaLorenzo Carnevale
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...lucenerevolution
 
CIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve MartinelliCIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve MartinelliCloudIDSummit
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStackSteve Martinelli
 
Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2MICTT Palma
 
Design Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionDesign Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionMichele Leroux Bustamante
 
Security_of_openstack_keystone
Security_of_openstack_keystoneSecurity_of_openstack_keystone
Security_of_openstack_keystoneUT, San Antonio
 
Self-Service x Hashicorp Vault
Self-Service x Hashicorp VaultSelf-Service x Hashicorp Vault
Self-Service x Hashicorp VaultMartin Conraux
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorSantosh Kumar Kar
 
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...Hermann Burgmeier
 

La actualidad más candente (20)

2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership2009 - NRW Conf: (ASP).NET Membership
2009 - NRW Conf: (ASP).NET Membership
 
Hive contributors meetup apache sentry
Hive contributors meetup   apache sentryHive contributors meetup   apache sentry
Hive contributors meetup apache sentry
 
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (kilo) by Lorenzo Carnevale and Silvio Tavilla
 
Deep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons LearnedDeep Dive into Keystone Tokens and Lessons Learned
Deep Dive into Keystone Tokens and Lessons Learned
 
SQL Server Security - Attack
SQL Server Security - Attack SQL Server Security - Attack
SQL Server Security - Attack
 
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio TavillaOpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
OpenStack Identity - Keystone (liberty) by Lorenzo Carnevale and Silvio Tavilla
 
A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...A Novel methodology for handling Document Level Security in Search Based Appl...
A Novel methodology for handling Document Level Security in Search Based Appl...
 
CIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve MartinelliCIS 2015- Building IAM for OpenStack- Steve Martinelli
CIS 2015- Building IAM for OpenStack- Steve Martinelli
 
Ad ds ws2008 r2
Ad ds ws2008 r2Ad ds ws2008 r2
Ad ds ws2008 r2
 
Building IAM for OpenStack
Building IAM for OpenStackBuilding IAM for OpenStack
Building IAM for OpenStack
 
Advanced Java
Advanced JavaAdvanced Java
Advanced Java
 
WebLogic for DBAs
WebLogic for DBAsWebLogic for DBAs
WebLogic for DBAs
 
Websphere - Introduction to SSL part 1
Websphere  - Introduction to SSL part 1Websphere  - Introduction to SSL part 1
Websphere - Introduction to SSL part 1
 
Active directory ds ws2008 r2
Active directory ds ws2008 r2Active directory ds ws2008 r2
Active directory ds ws2008 r2
 
Design Practices for a Secure Azure Solution
Design Practices for a Secure Azure SolutionDesign Practices for a Secure Azure Solution
Design Practices for a Secure Azure Solution
 
Security_of_openstack_keystone
Security_of_openstack_keystoneSecurity_of_openstack_keystone
Security_of_openstack_keystone
 
Self-Service x Hashicorp Vault
Self-Service x Hashicorp VaultSelf-Service x Hashicorp Vault
Self-Service x Hashicorp Vault
 
Writing simple web services in java using eclipse editor
Writing simple web services in java using eclipse editorWriting simple web services in java using eclipse editor
Writing simple web services in java using eclipse editor
 
Active Directory
Active DirectoryActive Directory
Active Directory
 
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
Mixing OAuth 2.0, Jersey and Guice to Build an Ecosystem of Apps - JavaOne...
 

Similar a Cache Security- The Basics

IAM Introduction and Best Practices
IAM Introduction and Best PracticesIAM Introduction and Best Practices
IAM Introduction and Best PracticesAmazon Web Services
 
IAM Best Practices to Live By - Pop-up Loft Tel Aviv
IAM Best Practices to Live By - Pop-up Loft Tel AvivIAM Best Practices to Live By - Pop-up Loft Tel Aviv
IAM Best Practices to Live By - Pop-up Loft Tel AvivAmazon Web Services
 
Introduction to IAM + Best Practices
Introduction to IAM + Best PracticesIntroduction to IAM + Best Practices
Introduction to IAM + Best PracticesAmazon Web Services
 
Aws security best practices
Aws security best practicesAws security best practices
Aws security best practicesSundeep Roxx
 
Aws iam best practices to live by
Aws iam best practices to live byAws iam best practices to live by
Aws iam best practices to live byJohn Varghese
 
Jericho Project Overview
Jericho Project OverviewJericho Project Overview
Jericho Project OverviewJaco Koekemoer
 
Federated Authentication in a Campus System
Federated Authentication in a Campus SystemFederated Authentication in a Campus System
Federated Authentication in a Campus SystemMatthew Hanlon
 
Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...aish006
 
session and cookies.ppt
session and cookies.pptsession and cookies.ppt
session and cookies.pptJayaprasanna4
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloadsRuncy Oommen
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Mary Joy Sabal
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and TricksMaksym Bruner
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersRyanISI
 
Geek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data AccessGeek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data AccessIDERA Software
 
Hybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized DeduplicationHybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized DeduplicationPrem Rao
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsIDERA Software
 

Similar a Cache Security- The Basics (20)

IAM Introduction and Best Practices
IAM Introduction and Best PracticesIAM Introduction and Best Practices
IAM Introduction and Best Practices
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
 
IAM Best Practices to Live By - Pop-up Loft Tel Aviv
IAM Best Practices to Live By - Pop-up Loft Tel AvivIAM Best Practices to Live By - Pop-up Loft Tel Aviv
IAM Best Practices to Live By - Pop-up Loft Tel Aviv
 
IAM Best Practices
IAM Best PracticesIAM Best Practices
IAM Best Practices
 
Introduction to IAM + Best Practices
Introduction to IAM + Best PracticesIntroduction to IAM + Best Practices
Introduction to IAM + Best Practices
 
Aws security best practices
Aws security best practicesAws security best practices
Aws security best practices
 
Aws iam best practices to live by
Aws iam best practices to live byAws iam best practices to live by
Aws iam best practices to live by
 
Jericho Project Overview
Jericho Project OverviewJericho Project Overview
Jericho Project Overview
 
Chapter 7
Chapter 7Chapter 7
Chapter 7
 
Federated Authentication in a Campus System
Federated Authentication in a Campus SystemFederated Authentication in a Campus System
Federated Authentication in a Campus System
 
Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...Decentralized cloud firewall framework with resources provisioning cost optim...
Decentralized cloud firewall framework with resources provisioning cost optim...
 
session and cookies.ppt
session and cookies.pptsession and cookies.ppt
session and cookies.ppt
 
Security for cloud native workloads
Security for cloud native workloadsSecurity for cloud native workloads
Security for cloud native workloads
 
Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18Wellington MuleSoft Meetup 2021-02-18
Wellington MuleSoft Meetup 2021-02-18
 
REST Api Tips and Tricks
REST Api Tips and TricksREST Api Tips and Tricks
REST Api Tips and Tricks
 
iOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for BeginnersiOS Application Penetration Testing for Beginners
iOS Application Penetration Testing for Beginners
 
Geek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data AccessGeek Sync | Handling HIPAA Compliance with Your Data Access
Geek Sync | Handling HIPAA Compliance with Your Data Access
 
Hybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized DeduplicationHybrid Cloud Approach for Secure Authorized Deduplication
Hybrid Cloud Approach for Secure Authorized Deduplication
 
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
EVOLVE'13 | Enhance | Permission Sensitive Caching | Paul McMahon & Jason Rap...
 
Geek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure EnvironmentsGeek Sync | Deployment and Management of Complex Azure Environments
Geek Sync | Deployment and Management of Complex Azure Environments
 

Último

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesManik S Magar
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Strongerpanagenda
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Mark Goldstein
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityIES VE
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructureitnewsafrica
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfNeo4j
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observabilityitnewsafrica
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024TopCSSGallery
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 

Último (20)

MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotesMuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
MuleSoft Online Meetup Group - B2B Crash Course: Release SparkNotes
 
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better StrongerModern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
Modern Roaming for Notes and Nomad – Cheaper Faster Better Stronger
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
Arizona Broadband Policy Past, Present, and Future Presentation 3/25/24
 
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptxA Deep Dive on Passkeys: FIDO Paris Seminar.pptx
A Deep Dive on Passkeys: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Decarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a realityDecarbonising Buildings: Making a net-zero built environment a reality
Decarbonising Buildings: Making a net-zero built environment a reality
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical InfrastructureVarsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
Varsha Sewlal- Cyber Attacks on Critical Critical Infrastructure
 
Connecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdfConnecting the Dots for Information Discovery.pdf
Connecting the Dots for Information Discovery.pdf
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security ObservabilityGlenn Lazarus- Why Your Observability Strategy Needs Security Observability
Glenn Lazarus- Why Your Observability Strategy Needs Security Observability
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024Top 10 Hubspot Development Companies in 2024
Top 10 Hubspot Development Companies in 2024
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 

Cache Security- The Basics

  • 1. Cache Security 1 Katherine Reid, Mike Moulckers
  • 2. Goals • Understand Cache security model • How to apply it to a simple web application
  • 3. Academy Agenda • Introduction • Authentication • Authorization • Auditing
  • 4. Configuration Details • Username and Password: – User: Admin – Password: academy
  • 6. Security Components 1. Authentication 2. Authorization 3. Auditing
  • 7. Security Configuration At Install • Determines the initial configuration Minimal settings for Caché Services and Security Normal • Changes: Locked Down – System-wide settings – User accounts – Service properties
  • 8. System Management Portal • Portal redesigned for 2011.1 – Granular security
  • 10. Exercise 1: Password Validation • Test password validation and explore examples of what it can be used for.
  • 12. Exercise 2: Creating a User • Create a user to use in the Inventory application.
  • 15. Authentication What is authentication?
  • 16. Authentication Methods • Unauthenticated • Password • Operating System • LDAP • Delegated Authentication • Kerberos
  • 17. Unauthenticated • No username or password required. • Always logged in as ‘UnknownUser’.
  • 18. Cache Password Authentication • Simple • Easy to set up for a single instance • User data stored in local instance
  • 19. OS Authentication • User identified to Caché by OS user identity • User authenticates to the OS using the native mechanism • Only available for server-side processes – Terminal
  • 20. LDAP • Already in use at many sites. • Allows centralized user storage.
  • 21. Delegated • User-defined authentication mechanism • Re-use existing custom/legacy authentication code for new, modern applications. • Code is in the ZAUTHENTICATE routine. • The authentication code can be any user-defined: • Caché ObjectScript • Embedded SQL • Class Method(s) • $ZF callout code.
  • 22. Kerberos • Most secure authentication type. • Used by Windows. • Requires a Kerberos Domain Controller – eg, Windows Domain Controller
  • 26. Exercise 3: Authentication Types • Change the authentication types allowed in the Inventory application to make users have to provide a username and password to log in.
  • 28. Authorization What is authorization?
  • 29. Terminology • Asset: something that is protected: – A Caché database – Caché SQL connection – Ability to perform a backup
  • 30. Terminology • Resource: something which protects an asset: – Database Resource (i.e. %DB_Samples) – Administrative Resource (i.e. %Admin_Manage) – Development Resource (i.e. %Development) – Service Resource (i.e. %Service_CSP) – User Defined
  • 31. Terminology • Permission: allows you to perform an action – Read (R): View (but not change) the contents of a resource – Write (W): View or change the contents of a resource – Use (U): Use a resource, such as an Application or Service
  • 32. Terminology • Privilege: grants permission to do something with a resource protecting one or more assets – A privilege is written as a resource name followed by a permission separated by a colon: Example: %DB_SAMPLES:Read
  • 33. More about Privileges… • Privileges can be made Public. • Effectively, this is equivalent to all users holding that privilege – Example: if the %Service_CacheDirect:Use privilege is Public, then any user can connect to Caché using the Caché Direct technology • Caché provides a function to check on privileges held by the current process: – $SYSTEM.Security.Check(Resource,Permission)
  • 34. Exercise 4: Public Resource • We've decided that all authenticated users of our system should be allowed to run this application. We will make the database which holds the code publicly readable so that everyone can run it.
  • 35. Roles • Role: a named collection of privileges – Multiple users typically need the same set of privileges. – Sets of privileges can be defined once and shared. – Privileges are only assigned to roles. – Privileges are not assigned directly to users. – A user can have more than one role.
  • 36. Exercise 5: Roles and Resources • We will add code to our Inventory application to individually control access to the functions in the application, and create roles and resources to allow users to access them
  • 37. Three ways to get Roles... • At user login • Granted by an application • Code stored in CACHESYS can set $Roles
  • 38. Application Roles • Everyone running the application gets application roles
  • 39. Exercise 6: Application Roles • Instead of having database access in the roles, we will have the application give this to users. The application will control access to the database.
  • 40. Matching Roles • Only the users who have the first role get the second role.
  • 41. Exercise 7: Matching Roles • We may not want all users to be able to access all the data on entering the application. Demonstrate how matching roles can be assigned to selected users.
  • 44. Exercise 8: Granular Security in the SMP • Demonstrate the new granular security in the System Management Portal
  • 46. Why Audit? • Allows monitoring of system • Deterrent
  • 47. What events are audited? • System defined events • User defined events
  • 48. Where is it kept? • Audit data is stored in a database called CACHEAUDIT. • Protected by the %DB_CACHEAUDIT resource. – No user should have access to this resource directly. • View via SMP, terminal utilities, SQL, APIs, etc.
  • 49. Exercise 9: Viewing the Audit Log • We demonstrate using the audit log to see what has happened on the system.
  • 50. What’s in an audit record?
  • 51. Join the Global Summit Community We’ve established an online community where you can: • talk about the Global Summit • get helpful product information • share your thoughts about sessions • ask questions of presenters • assemble a group to meet for dinner or social events, etc. community.intersystems.com