A Secure JBoss Platform Nicola Mezzetti Acknowledgments: F. Panzieri.

Slides:



Advertisements
Similar presentations
Message Passing Vs Distributed Objects
Advertisements

Towards Remote Policy Enforcement for Runtime Protection of Mobile Code Using Trusted Computing Xinwen Zhang Francesco Parisi-Presicce Ravi Sandhu
MicroKernel Pattern Presented by Sahibzada Sami ud din Kashif Khurshid.
Windows 2000 Security --Kerberos COSC513 Project Sihua Xu June 13, 2014.
Operating System Security
TAPASDelivMarch04 1 TAPAS Deliverables for March 04 (Trusted and QoS-Aware Provision of Application Services) Santosh Shrivastava Newcastle University.
Understanding WebLogic Security
Copyright © 2001 Qusay H. Mahmoud RMI – Remote Method Invocation Introduction What is RMI? RMI System Architecture How does RMI work? Distributed Garbage.
Network Isolation Using Group Policy and IPSec Paula Kiernan Senior Consultant Ward Solutions.
Approaches to EJB Replication. Overview J2EE architecture –EJB, components, services Replication –Clustering, container, application Conclusions –Advantages.
Environmental Council of States Network Authentication and Authorization Services The Shared Security Component February 28, 2005.
Fundamentals of Computer Security Geetika Sharma Fall 2008.
Dorian Grid Identity Management and Federation Dialogue Workshop II Edinburgh, Scotland February 9-10, 2006 Stephen Langella Department.
Component Patterns – Architecture and Applications with EJB copyright © 2001, MATHEMA AG Component Patterns Architecture and Applications with EJB JavaForum.
6/4/2015Page 1 Enterprise Service Bus (ESB) B. Ramamurthy.
Technical Brief v1.0. Communication tools that broadcast visual content directly onto the screens of computers, using multiple channels and formats Easy.
K. Salah 1 Chapter 31 Security in the Internet. K. Salah 2 Figure 31.5 Position of TLS Transport Layer Security (TLS) was designed to provide security.
Enterprise Applications & Java/J2EE Technologies Dr. Douglas C. Schmidt Professor of EECS.
Communication in Distributed Systems –Part 2
A Heterogeneous Network Access Service based on PERMIS and SAML Gabriel López Millán University of Murcia EuroPKI Workshop 2005.
J2EE Security and Enterprise Java Beans Mrunal G. Dhond Department of Computing and Information Sciences Master of Science, Final Defense February 26,
Jonas Thomsen, Ph.d. student Computer Science University of Aarhus Best Practices and Techniques for Building Secure Microsoft.
A Framework for Smart Proxies and Interceptors in RMI Nuno Santos P. Marques, L. Silva CISUC, University of Coimbra, Portugal
JVM Tehnologic Company profile & core business Founded: February 1992; –Core business: design and implementation of large software applications mainly.
Module 10: Designing an AD RMS Infrastructure in Windows Server 2008.
1 TAPAS Workshop Nicola Mezzetti - TAPAS Workshop Bologna Achieving Security and Privacy on the Grid Nicola Mezzetti.
Bologna, 19th-20th February 20045th Plenary TAPAS Workshop JBoss Clustering and Configuration Service Implementation Giorgia Lodi
Java Security Shmuel Babad CEO MidLink Computing LTD
Objectives Configure routing in Windows Server 2008 Configure Routing and Remote Access Services in Windows Server 2008 Network Address Translation 1.
Presented by Xiaoyu Qin Virtualized Access Control & Firewall Virtualization.
Bologna, September 2003 Giorgia Lodi Department of Computer Science University of Bologna V.Ghini, F. Panzieri.
JAAS Qingyang Liu and Lingbo Wang CSCI Web Security April 2, 2003.
第十四章 J2EE 入门 Introduction What is J2EE ?
Wireless Access and Terminal Mobility in CORBA Dimple Kaul, Arundhati Kogekar, Stoyan Paunov.
Security Protocols and E-commerce University of Palestine Eng. Wisam Zaqoot April 2010 ITSS 4201 Internet Insurance and Information Hiding.
Chapter 21 Distributed System Security Copyright © 2008.
Source: Peter Eeles, Kelli Houston, and Wojtek Kozaczynsky, Building J2EE Applicationa with the Rational Unified Process, Addison Wesley, 2003 Prepared.
Authentication Mechanism for Port Control Protocol (PCP) draft-wasserman-pcp-authentication-01.txt Margaret Wasserman Sam Hartman Painless Security Dacheng.
1 Security Protocols in the Internet Source: Chapter 31 Data Communications & Networking Forouzan Third Edition.
SEC835 Runtime authentication Secure session management Secure use of cryptomaterials.
SCALABLE EVOLUTION OF HIGHLY AVAILABLE SYSTEMS BY ABHISHEK ASOKAN 8/6/2004.
RMI remote method invocation. Traditional network programming The client program sends data to the server in some intermediary format and the server has.
1 Securing Internet Sessions with Sorbet Fred Long, Robert Seacord, Scott A. Hissam, John Robert August, 1999 Software Engineering Institute Carnegie Mellon.
Secure Systems Research Group - FAU SW Development methodology using patterns and model checking 8/13/2009 Maha B Abbey PhD Candidate.
Copyright 2007 SpringSource. Copying, publishing or distributing without express written permission is prohibited. Introduction to Spring Remoting Simplifying.
Copyright  2002 Urbancode Software Development, Inc. All Rights Reserved. Developing with JAAS Presented by Maciej Zawadzki
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.
Eric Tryon Brian Clark Christopher McKeowen. System Architecture The architecture can be broken down to three different basic layers Stub/skeleton layer.
Pertemuan #10 Secure HTTP (HTTPS) Kuliah Pengaman Jaringan.
Need for Security Control access to servicesControl access to services Ensure confidentialityEnsure confidentiality Guard against attacksGuard against.
KIM: Kuali Abstraction Layer for Identities, Groups, Roles, and Permissions.
Preface IIntroduction Objectives I-2 Course Overview I-3 1Oracle Application Development Framework Objectives 1-2 J2EE Platform 1-3 Benefits of the J2EE.
Application Communities Phase II Technical Progress, Instrumentation, System Design, Plans March 10, 2009.
Web Services Security Patterns Alex Mackman CM Group Ltd
Secure middleware patterns E.B.Fernandez. Middleware security Architectures have been studied and several patterns exist Security aspects have not been.
DEVELOPING ENTERPRISE APPLICATIONS USING EJB
15 Copyright © 2004, Oracle. All rights reserved. Adding JAAS Security to the Client.
Remote Method Invocation A Client Server Approach.
Newcastle uopn Tyne, September 2002 V. Ghini, G. Lodi, N. Mezzetti, F. Panzieri Department of Computer Science University of Bologna.
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()
Enterprise Java v040918JBoss Security Setup1 Setting up Security in JBoss References: “Getting Started with JBoss, J2EE applications on the JBoss 3.2.x.
DEVELOPING WEB SERVICES WITH JAVA DESIGN WEB SERVICE ENDPOINT.
Enterprise Java Beans. Contents  Understanding EJBs  Practice Section.
IAB-Feb 04 1 TAPAS Progress Report (Trusted and QoS-Aware Provision of Application Services) Santosh Shrivastava Newcastle University.
IBM Certified WAS 8.5 Administrator
Knowledge Byte In this section, you will learn about:
Enterprise Service Bus (ESB) (Chapter 9)
Presentation transcript:

A Secure JBoss Platform Nicola Mezzetti Acknowledgments: F. Panzieri

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Outline Scenario JBoss Invocation Mechanism JBoss Security J2EE Security (JAAS based) JBoss Custom Security (Security Proxy) Using RMI over SSL in JBoss Conclusions References

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Presentation Scenario Inter-Org. Interaction Regulation QoS Monitoring + Violation Detection QoS Manag. + Monit. + Adapt. Trusted Transport Layer QoS Enabled Application Server Application

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Invocation Mechanism Key Abstractions: – Invocation: actual call made by the client – Dynamic Proxy From client it is seen to implement the interfaces it offers; – Invocation Handler (IH): Processes invocations on behalf of the dynamic proxy – Interceptor: Implements a behaviour specific for a given service; – Invoker: Carry the invocations in JMX target node masks phisical details to the client proxies

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Invocation Mechanism: the Client Side Dynamic Proxy Invocation Handler Invoke(A,p[ ]) Method A(p[ ]) Invocation Interceptors Invoker Typed Interface

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Interceptors Implement transparency – Each service the EJB relies may have an associated interceptor to enrich IPCs instances with specific meta-information e.g., Security Interceptor adds principal name and credential – They are MBeans as well InterceptorProxy at client side, Interceptor at server side

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Invokers IPC Transparency – Each transport protocol has its specific invoker Invokers are the actual IPC endpoints JBoss provides JRMP, HTTP and IIOP – JBoss allows the integration with custom Invokers They are MBeans as well – InvokerProxy at client side, Invoker at server side

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Invocation Mechanism: the Server Side I JMX Microkernel Remote Invoker EJB Container Interceptors EJB Instance Invocation The Remote Invoker is directly connected to the EJB Container; the invoker lets the microkernel route the invocation.

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Invocation Mechanism: the Server Side II The RemoteInvoker captures the invocation and passes it to the container – RemoteInvoker enables remote invocations The invocation is passed to the container through the JMX server The invocation passes through the invocation handler that captures information added at client side for enabling the services

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Security In JBoss, the EJB security layer extends the Interceptor Abstraction supporting – J2EE declarative security model (RBAC) JAAS based – custom security via SecurityProxy architecture Designed for enabling application specific security

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JAAS declarative security JAAS Abstractions: – Subject: The abstraction of an individual Collection of principals and credentials (public and private); – Principal: A unique identifier of an individual within a specific application; – Credential: Object bound to a specific principal that is used to carry out authentication; – Role: A name that qualifies the permissions of a principal within an application.

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Access Control: Client Authentication and Role Assignment Authentication steps: – SecurityInterceptor encapsulate principal and credential into the invocation; – At server side, principal and credential are checked – Authentication creates Subject with PrincipalsSet containing: One or more principals A group of role names from the application domain An optional group corresponding to the caller principal

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Client Authorization RMI MBean “Nicola” mzzncl Login Authentication happens at server side: - In standard JBoss passwords are trasmitted in clear - JBoss is independent from authentication technologies

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Authentication By default JBoss maintains a password based authentication mechanism – Custom authentication infrastruction can be integrated by implementing: Callback CallbackHandler Configuration LoginContext LoginModule – An implementation of Secure Remote Password protocol is included

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Access Control: Role Membership Check Authorizing access to an EJB home or remote interface method consists of: – Obtaining the names of the roles allowed to invoke the method (from the Deployment Descriptor) and… – Invoking doesUserHaveRole(Principal,Set) from RealmMapping interface If the RealmMapping grants the Principal with at least one of the roles in Set, then the access to the method is granted.

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Access Control: SecurityDomain SecurityDomain: – Application wide security manager Extends SecurityManager and RealmMapping It is responsible for implementing both principal authentication and authorization – Base for a multi-domain security architecture to support ASPs

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Access Control: SecurityManager and RealmMapping SecurityManager – Validates credentials associated with principals RealmMapping – Responsible for principals and role mapping Validates the roles to which an environment principal belongs Validates a principal to belong to a role

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February JBoss Access Control: SecurityProxy SecurityProxy: – Designed to Implement application specific policies; Additional authorization is performed after any declarative authorization checks (enfoced by SecurityDomain); Invocation parameters are passed to the security proxy via – invokeHome(method, args[]) – invoke(method, args[]) SecurityProxy can reject access by throwing a SecurityException

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Considerations on JBoss Security RMI technologies do not provide us with security guarantees It does not protect against replay attacks Configuration is complex and timely-expensive – If application security is not properly configured, different applications can interfere with each other e.g., an EJB could illegitimately invoke another EJB’s operation – configuration is considerably time consuming (compared with application development time)

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Secure Socket Layer SSL technology provides – Authentication: SSL handshake Both the communicating parties trust the identity of each other – Secrecy: Shared key Shared session key efficiently provides secrecy – Integrity: Message Authentication Code (MAC) MAC enables to identify message changes in transit

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Using RMI over SSL in JBoss SecurityDomain interface provides operations for supporting secure transport layers – Customizable keyStore, KeyManagementFactory and TrustManagementFactory JBoss comes with an SSL implementation of – RMIClientSocketFactory – RMIServerSocketFactory An EJB Invoker for RMI over SSL Socket has to be implemented

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Future Work I We are going to – evaluate JBoss with Secure Socket Layer – assess the RMI over SSL within JBoss performance loss by using ECperf And compare it with standard JBoss performances If loss is considerable, a solution based on SRP and adequate role configuration could provide a good security tradeoff

N. Mezzetti - A Secure JBoss Platform TAPAS 5th Plenary Workshop - Bologna, February Concluding Remarks JBoss enables the integration with custom security mechanisms at different logical layers – SecurityProxy and Interceptors for masking application dependent techniques – Invokers for transport layer techniques RMI over SSL is to be tested for understanding how much inter-EJB authentication affects JBoss platform performances