Understanding WebLogic Security

Slides:



Advertisements
Similar presentations
Authentication.
Advertisements

Enabling Secure Internet Access with ISA Server
Windows 2000 Security --Kerberos COSC513 Project Sihua Xu June 13, 2014.
Chapter 14 – Authentication Applications
Authentication Applications. will consider authentication functions will consider authentication functions developed to support application-level authentication.
Authenticating Users. Objectives Explain why authentication is a critical aspect of network security Explain why firewalls authenticate and how they identify.
Cryptography and Network Security Third Edition by William Stallings Lecture slides by Lawrie Brown.
Grid Security. Typical Grid Scenario Users Resources.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
DESIGNING A PUBLIC KEY INFRASTRUCTURE
Dorian Grid Identity Management and Federation Dialogue Workshop II Edinburgh, Scotland February 9-10, 2006 Stephen Langella Department.
16.1 © 2004 Pearson Education, Inc. Exam Planning, Implementing, and Maintaining a Microsoft® Windows® Server 2003 Active Directory Infrastructure.
T Network Application Frameworks and XML Service Federation Sasu Tarkoma.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
WEB2P security Java web application security Dr Jim Briggs.
(Remote Access Security) AAA. 2 Authentication User named "flannery" dials into an access server that is configured with CHAP. The access server will.
FIREWALLS & NETWORK SECURITY with Intrusion Detection and VPNs, 2 nd ed. 10 Authenticating Users By Whitman, Mattord, & Austin© 2008 Course Technology.
Access Control in IIS 6.0 Windows 2003 Server Prepared by- Shamima Rahman School of Science and Computer Engineering University of Houston - Clear Lake.
Pay As You Go – Associating Costs with Jini Leases By: Peer Hasselmeyer and Markus Schumacher Presented By: Nathan Balon.
Understanding Active Directory
11 CERTIFICATE SERVICES AND SECURE AUTHENTICATION Chapter 10.
Course 6421A Module 7: Installing, Configuring, and Troubleshooting the Network Policy Server Role Service Presentation: 60 minutes Lab: 60 minutes Module.
Delivering Excellence in Software Engineering ® EPAM Systems. All rights reserved. ASP.NET Authentication.
Chapter 10: Authentication Guide to Computer Network Security.
70-294: MCSE Guide to Microsoft Windows Server 2003 Active Directory Chapter 9: Active Directory Authentication and Security.
Session 11: Security with ASP.NET
Java Security Shmuel Babad CEO MidLink Computing LTD
JAAS Qingyang Liu and Lingbo Wang CSCI Web Security April 2, 2003.
第十四章 J2EE 入门 Introduction What is J2EE ?
J2EE Structure & Definitions Catie Welsh CSE 432
Kerberos: An Authentication Service for Open Network Systems Jennifer G. Steiner Clifford Neuman Jeffrey I. Schiller.
Java Security Pingping Ma Nov 2 nd, Overview Platform Security Cryptography Authentication and Access Control Public Key Infrastructure (PKI)
SSL, Single Sign On, and External Authentication Presented By Jeff Kelley April 12, 2005.
Unit 1: Protection and Security for Grid Computing Part 2
Module 5 Configuring Authentication. Module Overview Lesson 1: Understanding Classic SharePoint Authentication Providers Lesson 2: Understanding Federated.
SAML CCOW Work Item HL7 Working Group Meeting San Antonio - January 2008 Presented by: David Staggs, JD CISSP VHA Office of Information Standards.
Simplify and Strengthen Security with Oracle Application Server Allan L Haensgen Senior Principal Instructor Oracle Corporation Session id:
Kerberos Named after a mythological three-headed dog that guards the underworld of Hades, Kerberos is a network authentication protocol that was designed.
A Flexible Access Control Model for Web Services Elisa Bertino CERIAS and CS Department, Purdue University Joint work with Anna C. Squicciarini – University.
Harshavardhan Achrekar - Grad Student Umass Lowell presents 1 Scenarios Authentication Patterns Direct Authentication v/s Brokered Authentication Kerberos.
SECURITY ISSUES. Introduction The.NET Framework includes a comprehensive set of security tools –Low-level classes and an overall framework –Managing code.
Module 11: Securing a Microsoft ASP.NET Web Application.
SOA-39: Securing Your SOA Francois Martel Principal Solution Engineer Mitigating Security Risks of a De-coupled Infrastructure.
A Secure JBoss Platform Nicola Mezzetti Acknowledgments: F. Panzieri.
Guide to MCSE , Second Edition, Enhanced1 The Windows XP Security Model User must logon with: Valid user ID Password User receives access token Access.
Copyright  2002 Urbancode Software Development, Inc. All Rights Reserved. Developing with JAAS Presented by Maciej Zawadzki
Cryptography and Network Security Chapter 14 Fourth Edition by William Stallings Lecture slides by Lawrie Brown.
MEMBERSHIP AND IDENTITY Active server pages (ASP.NET) 1 Chapter-4.
Jaas Introduction. Outline l General overview of Java security Java 2 security model How is security maintained by Java and JVM? How can a programmer.
Copyright © 2003 Jorgen Thelin / Cape Clear Software 1 A Web Services Security Framework Jorgen Thelin Chief Scientist Cape Clear Software Inc.
Security fundamentals Topic 5 Using a Public Key Infrastructure.
Configuring and Troubleshooting Identity and Access Solutions with Windows Server® 2008 Active Directory®
Creating and Managing Digital Certificates Chapter Eleven.
Web Services Security Patterns Alex Mackman CM Group Ltd
Introduction to Active Directory
DEVELOPING ENTERPRISE APPLICATIONS USING EJB
Java Programming: Advanced Topics 1 Enterprise JavaBeans Chapter 14.
Active Directory. Computers in organizations Computers are linked together for communication and sharing of resources There is always a need to administer.
15 Copyright © 2004, Oracle. All rights reserved. Adding JAAS Security to the Client.
4.1 © 2004 Pearson Education, Inc. Exam Managing and Maintaining a Microsoft® Windows® Server 2003 Environment Lesson 12: Implementing Security.
Securing Web Applications Lesson 4B / Slide 1 of 34 J2EE Web Components Pre-assessment Questions 1. Identify the correct return type returned by the doStartTag()
LINUX Presented By Parvathy Subramanian. April 23, 2008LINUX, By Parvathy Subramanian2 Agenda ► Introduction ► Standard design for security systems ►
Pertemuan #8 Key Management Kuliah Pengaman Jaringan.
Cryptography and Network Security
Configuring and Troubleshooting Routing and Remote Access
Radius, LDAP, Radius used in Authenticating Users
Introduction How to combine and use services in different security domains? How to take into account privacy aspects? How to enable single sign on (SSO)
IBM Certified WAS 8.5 Administrator
Enterprise Service Bus (ESB) (Chapter 9)
Presentation transcript:

Understanding WebLogic Security Introduction to Security Realms

Security Realm

Security Realm A security realm comprises mechanisms for protecting WebLogic resources. Each security realm consists of a set of: Users Groups Security roles Security policies Configured security providers A user must be defined in a security realm in order to access any WebLogic resource belonging to that realm. When a user attempts to access a particular WebLogic resource, WebLogic Server tries to authenticate and authorize the user by checking the security role assigned to the user in the relevant security realm and the security policy of the particular WebLogic resource.

WebLogic Server Security Realm

Users Users are entities that can be authenticated in a security realm. A user can be: A person (application end user) A software entity (a client application) Other instance of WebLogic Server. Authentication a user is assigned an identity (principal) each user is given a unique identity within the security realm! If WebLogic can verify the identity of the user (based on the username and credential), WebLogic Server associates the principal with a thread that executes code on behalf of the user. Users (or groups) are associated with security roles. Authorization: before the thread begins executing code, WebLogic Server checks the security policy of the WebLogic resource and the principal to make sure that the user has required permissions to continue.

Groups Groups are logically ordered sets of users. Groups are used to provide different levels of access to WebLogic resources to different users, depending on their functions. Managing groups is more efficient than managing large numbers of users individually. All user names and groups must be unique within a security realm.

Security Roles A security role is a privilege granted to users (groups) based on specific conditions. Like groups, security roles allow to restrict access to WebLogic resource for several users at once. Unlike groups, security roles: Are computed and granted dynamically, based on conditions (user name, group membership, time of the day). Can be scoped to specific WebLogic resources within a single application in a WebLogic Server domain (groups are always scoped to an entire WebLogic Server domain). Granting a security role to a user (group) confers the defined access privileges to that user (group), as long as the user is “in” the security role. Multiple users or groups can be granted a single security role.

Security policies A security policy is an association between a WebLogic resource and one or more users, groups, or security roles. Security policies protect the WebLogic resource against unauthorized access. A policy condition – a condition under which a security policy will be created. WebLogic Server provides a set of default policy conditions. WebLogic Server includes policy conditions that access HTTP Servlet Request Session attributes EJB method parameters. Date and Time policy conditions are included in the Policy Editor.

Security providers Security providers are modules that provide security services to application to protect WebLogic resources. You can: Use the security providers that are provided as part of the WebLogic Server product. Purchase custom security providers from third-party security vendors. Develop your own custom security providers.

Security Provider Databases Contains Users Groups Security roles Security policies Credentials The security provider database can be: The embedded LDAP server An external LDAP server A properties file A production-quality, customer-supplied database. The security provider database should be initialized the first time security providers are used. When a WebLogic Server instance boots. When a call is made to one of the security provider’s MBeans.

WebLogic Security Service Architecture

Security Providers

Types of security providers Authentication Providers Assertion Providers Principal Validation Providers Authorization Providers Adjudication Providers Role Mapping Providers Auditing Providers Credential Mapping Providers CerthPath Providers Keystore Providers WebLogic Realm Adapter Providers

The Authentication process

Authentication Providers Allow WebLogic Server to establish trust by validating a user. The default (active) security realm for WebLogic Server includes a WebLogic Authentication Provider. It supports: Delegated username/password authentication. WebLogic server security digest and certificate authentication. HTTP certificate authentication proxied through an external Web server. Allows to edit, list and manage users and group membership. WebLogic Server provides additional Authentication Providers: A set of LDAP Authentication providers A set of Database Base Management System (DBMS) Authentication Providers SQL Authentication Provider Read-only SQL Authentication Provider Custom DBMS Authentication Provider A Windows NT Authentication Provider

Authentication: “Who are you?” Authentication is the mechanism by which callers prove that they are acting on behalf of specific users or systems. Authentication answers the question “Who are you?” using credentials such as username/password combination. Types of Authentication: Username/Password Authentication A user ID and password are requested from the user and sent to WebLogic Server. WebLogic Server checks the information and if it is trustworthy, grants access to the protected WebLogic resource. Certificate Authentication When an SSL or HTTPS client request is initiated, WebLogic Server responds by presenting its digital certificate to the client. The client then verifies the digital certificate and an SSL connection is established. Digest Authentication Perimeter Authentication

Identity Assertion providers An Identity Assertion provider is a specific form of Authentication provider that allows user or system processes to assert their identity using tokens. When used with a LoginModule, Identity Assertion providers support single sign-on. The LoginModule that an Identity Assertion provider uses can be: Part of a custom Authentication provider you develop. Part of the WebLogic Authentication provider that BEA developed and packaged with WebLogic Server. Part of a third-party vendor’s Authentication provider. Identity Assertion providers support user name mappers, which map a valid token to a WebLogic Server user. You develop Identity Assertion providers to support the specific types of tokens.

Principal Validation Providers A Principal Validation Provider is a special type of security providers that primarily acts as a “helper” to an Authentication provider. Authentication providers rely on Principal Validation providers to provide additional security protections for the principals contained within the subject. Reasons: Some LoginModules can be remotely executed on behalf of RMI clients. The client application code can retain the authenticated subject between programmatic server invocations. Principal Validation providers provide additional security protection by signing and verifying the authenticity of the principals. Each of Authentication providers configured in the security realm mast have a corresponding Principal Validation provider.

The Authorization Process

Authorization Providers Authorization providers control access to WebLogic resources based on the security role. An Access Decision is the part of the Authorization provider that actually determines whether a subject has permission to perform a given operation on a WebLogic resource. The Access Decision responds with a result of: PERMIT DENY ABSTAIN

Adjudication Providers Adjudication involves resolving any authorization conflicts that may occur when more than one Authorization provider is configured in a security realm by weighting the result of each Authorization provider’s Access Decision. In WebLogic Server an Adjudication provider is used to tally the results that multiple Access Decisions return and determines the final PERMIT or DENY decision. An Adjudication provider may also specify what should be done when an answer of ABSTAIN is returned from a single Authorization provider’s Access Decision

Authorization: “What can you access?” Authorization is the process whereby the interactions between users and WebLogic resources are controlled, based on there identity or other information. A WebLogic resource is a structured object used to represent an underlying WebLogic Server entity, which can be protected from unauthorized access using security roles and security policies.

The Role Mapping Process

Role Mapping Providers Support dynamic role associations by obtaining a computed set of security roles granted to a requestor for a given WebLogic resource. The WebLogic Security Framework determines which security roles to a particular subject at the moment that access is required for a given WebLogic resource by: Obtaining security roles from the J2EE and WebLogic deployment descriptor files. Using business logic and the current operation parameters to determine security roles. A Role Mapping provider supplies Authorization providers with this security role information so that the Authorization provider can answer the “is access allowed?” question for WebLogic resources that use role-based security.

The Auditing Process

Auditing Providers Collect, stores and distributes information about operating requests and the outcome of those requests for the purposes of non-repudiation. Auditing providers can write the audit information to: LDAP directory Database Simple file The WebLogic Auditing provider also records the event data associated with security requests and the outcome of the requests.

The Credential Mapping Process

Credential Mapping Providers A credential map is a mapping of credentials used by WebLogic Server to credentials used in a legacy or remote system. A Credential Mapping provider can handle several different types of credentials: Username/Password combinations SAML assertions Public key certificates Alias/credential combinations If you only want to map WebLogic Server users and groups to username/password credentials in another system, then the WebLogic Credential Mapping provider is sufficient.

Certificate Lookup and Validation Providers The Certificate Lookup and Validation providers complete certificate paths and validate X509 certificate chains. There are two types of CLV providers: CertPath Builder – Receives a certificate, a certificate chain or certificate reference from a web service or application code. The provider looks up and validates the certificates in the chain. CertPath Validator – Receives a certificate from the SSL protocol, a web service or application code and performs extra validation (ex. revocation checking) WebLogic Server provides the functionality of the CLV providers in the WebLogic CertPath provider and the Certificate Registry.

Keystore Providers With WebLogic Server, a keystore creates and manages password-protected stores of private keys (and their associated public key certificates) and trusted certificate authorities. The WebLogic Keystore provider that is include as a part of the WebLogic Server product is used to obtain secured private keys from keystores.

Realm Adapter Providers Realm Adapter Providers provide backward-compatibility with 6.x WebLogic security realms by allowing the use of existing, 6.x security realms with the security features in this release of WebLogic Server.

WebLogic Security Providers in a Security Realm

More about Authentication

Digest Authentication The client makes an un-authenticated request to the server. The server sends a response with a digest authentication challenge indicating that it supports Digest authentication. The client generates a nonce and sends it to the server along with a timestamp, digest and username. (The digest is a cryptographic hash of the password, nonce and timestamp.) The client requests the resource again this time sending the username and a cryptographic hash of the password combined with the nonce value. The server generates the hash itself, and if the generated hash matches the hash in the request, the request is allowed. The advantage of Digest authentication is – it is resistant to replay attacks. The implementation maintains a cache of used nonces/timestamps for a specified period of time. All requests with a timestamp older than the specified timestamp are rejected as well as any requests that use the same timestamp/nonce pair as the most recent timestamp/nonce pair still in the cache.

Perimeter Authentication Perimeter authentication is the process of authenticating the identity of a remote user outside of the application server domain. How is Perimeter Authentication Accomplished? Perimeter authentication is typically accomplished by the remote user specifying an asserted identity and some form of corresponding proof material (password, credit card number, Personal Identification Number etc.), which is used to perform the verification. The authentication agent – the entity that actually vouches the identity can take many forms (Virtual Private Network, firewall, an enterprise authentication service etc.) Their common characteristic: they all perform an authentication process that results in an artifact or token that must be presented to determine information about the authenticated user at a later time. How does WebLogic Server support Perimeter Authentication? Provided as a critical piece of the WebLogic Security Framework, the concept of identity assertion allows WebLogic to use the authentication mechanism provided by perimeter authentication schemes such as: The Security Assertion Markup Language (SAML). The Simple and Protected GSS-API Negotiation Mechanism (SPNEGO). Enhancements of protocols such as Common Secure Interoperability (CSI) v2.

Perimeter Authentication

Java Authentication and Authorization Service (JAAS) WebLogic uses the JAAS classes to reliably and securely authenticate to the client. JAAS implements a Java version of the Pluggable Authentication Module (PAM) framework, which permits applications to remain independent from underlying authentication technologies. Authentication providers and LoginModules In WebLogic Server Authentication providers are used to prove the identity of users or system processes. Authentication providers also remember, transport, and make identity information available to various components of a system when needed. A LoginModule is a part of an Authentication provider that actually performs the authentication of a user or system.

JAAS Control Flags If a security realm has multiple Authentication providers configured, the Control Flag attribute determines the ordered execution of the Authentication providers. The values for the Control Flag are: REQUIRED – this LoginModule must succeed. Even if it fails, authentication proceeds down the list of LoginModules for the configured Authentication providers. This setting is the default. REQUISITE – this LoginModule must succeed. If other Authentication providers are configured and this LoginModule succeeds, authentication proceeds down the list of LoginModules. Otherwise, return control to the application. SUFFICIENT – this LoginModule needs not succeed. If it does succeed, return control to the application. If it fails and other Authentication providers are configured, authentication proceeds down the LoginModule list. OPTIONAL – the user is allowed to pass or fail the authentication test of this Authentication provider. However, if all Authentication providers configured in a security realm have the JAAS Control Flag set to OPTIONAL, the user must pass the authentication test of one of the configured providers.

CallbackHandlers A CallbackHandler is a highly-flexible JAAS standard that allows a variable number of arguments to be passed as complex objects to a method. There are three types of CallbackHandlers: NameCallback (returns the username) PasswordCallback (returns the password) TextInputCallback ( is used to access the data users enter into any additional fields on a login form). An application implements a CallbackHandler and passes it to underlying security services so that they may interact with the application to retrieve specific authentication data (usernames, passwords) or to display certain information (error and warning messages).

The End