WebSphere Application Server 8.5 Security Hardening

June 29, 2016 | Author: velvetvamp | Category: Types, Presentations
Share Embed Donate


Short Description

Steps and information to configure properly the security features on was 8.5....

Description

IBM Software Group

WebSphere Application Server Version 7, 8, 8.5 Security: Infrastructure Hardening Sept 2012

Martin Lansche, Senior Management Consult ant [email protected] Keys Botzum, formerly Senior Technical Staff Member © 2012 IBM Corporation

IBM Software Services for WebSphere http://www.ibm.com/WebSphere/developer/services

last update:June 12, 2013

IBM Software Group | WebSphere software

WebSphere Security Presentation Series  This presentation is part of the WebSphere Security Presentation Series formerly led by Keys Botzum with help from so many others – Available internally at http://pokgsa.ibm.com/~lansche/documents/securitySeries

 Related presentations – We assume you’ve seen or are familiar with

• • •

Core Concepts Key, Certificate, and SSL Management Security Introduction – You may be interested in

• • • • • • • •

Firewalls Hardening MQ SSL Configuration Application Isolation Application Hardening Cross Cell SSO Service Integration Bus PCI Considerations WPS Security Overview Materials may not be reproduced in whole or in part without the prior written permission of IBM

2

IBM Software Group | WebSphere software

Change is the Only Constant  This presentation reflects – Our current opinions regarding WAS security – The product itself continues to evolve (even in fix packs) • Presentation is based on WAS V7, V8 and V8.5 – This will be revised as we learn more

Fixed in V8.5

Fixed in V8

– Your thoughts and ideas are welcome

– Disclaimer: Information regarding potential future products is intended to outline our general product direction and it should not be relied on in making a purchasing decision. The information mentioned regarding potential future products is not a commitment, promise, or legal obligation to deliver any material, code or functionality. Information about potential future products may not be incorporated into any contract. The development, release, and timing of any future features or functionality described for our products remains at our sole discretion.  Scope – WebSphere Application Server (WAS) V7 thru 8.5 Distributed (Unix, Linux and Windows) • Previous versions are not discussed – There are significant additional issues in previous versions Liberty V8.5 – Includes 8.5 Liberty Profile details – WAS on other platforms is similar, but not covered here – Web Services Security specific issues are not covered

Materials may not be reproduced in whole or in part without the prior written permission of IBM

3

IBM Software Group | WebSphere software

WHY HAVE SECURITY?

A secure infrastructure protects your system from unwanted intrusions. WAS is one key part of that infrastructure. We are going to discuss how to secure WAS.

WAS isn't the only infrastructure component you need to secure. Identify and document all of the threats you wish to protect yourself from. Many are internal. Materials may not be reproduced in whole or in part without the prior written permission of IBM

4

IBM Software Group | WebSphere software

Potential Intrusions  People and systems with IP connectivity to your network – Outsiders on the Internet – Insiders on your Intranet

• •

In many ways more dangerous as they have knowledge, access, and possibly a grudge Several sources state that the majority of attacks are internal – Even if you trust everyone in your building (a dangerous assumption) are you also certain they are all computer security experts? > What about email/browser exploits that serve as entry points to the company network? > What about “free” software that includes dangerous code? > What about your employees inserting unknown CDs or USB keys into your computers?

 WAS provides a robust infrastructure for addressing most of these challenges…. with some assembly required.

Materials may not be reproduced in whole or in part without the prior written permission of IBM

5

IBM Software Group | WebSphere software

Table of Contents     

Introduction Hardening – High Importance Hardening – Medium Importance Hardening – Low Importance Other Considerations

Materials may not be reproduced in whole or in part without the prior written permission of IBM

6

IBM Software Group | WebSphere software

Basic Topology

Materials may not be reproduced in whole or in part without the prior written permission of IBM

7

IBM Software Group | WebSphere software

Attack on multiple levels  Network - subvert network level protocols by altering traffic, or just looking at traffic with confidential information  Machine - leverage machine access to see and modify what they shouldn’t  External Application – legitimate and illegitimate users that leverage application level protocols (RMI/IIOP, HTTP, etc) to try to do things they shouldn’t be doing. These attacks usually require the least skill and are potentially the most dangerous.  Internal Application Isolation - legitimate applications that try to get around application server and Java runtime restrictions. Not covered in this presentation.

The type of attack(s) that a measure defends against is highlighted on the relevant slides

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

8

IBM Software Group | WebSphere software

Secure By Default  WAS V6.1 has greatly improved security hardening along several key dimensions – Secure by default

• • •

Administrative security is on by default Most subsystems default automatically to a reasonable level of authentication, authorization, and encryption This presentation will discuss areas where you may want to improve on the defaults

– Certificates are automatically generated and managed by default

 This presentation ASSUMES you accepted the defaults during the initial configuration – If you have changed the initial configuration without careful consideration, you may have weakened security – If you have migrated a cell to WAS V6.1 or later from a previous version, the cell does NOT assume the latest security defaults – it remains as (in)secure as it was before the migration! This is a particular concern when migrating from releases prior to V6.1 where there were significant weaknesses

Materials may not be reproduced in whole or in part without the prior written permission of IBM

9

IBM Software Group | WebSphere software

Administrative Security and the Liberty Profile  Traditional Profile based on remote administrative model.  Admin Console  wsadmin  JMX  Multiple JVMs in cell, NodeAgents, DMgr

 V8.5 Liberty Profile based on local OS file access.

Liberty V8.5

 Remote admin access is enabled via JMX Connector features

• •

localConnector-1.0 requires “remote” access application to run on same server, under same OS userid. restConnector-1.0 requires ssl-1.0 and appSecurity-1.0. − Without an admin user defined, connector cannot authenticate and connect to Liberty server.

 All Profiles:  R/W Local OS file access enables complete admin control.

10

IBM Software Group | WebSphere software

Priority Order  The hardening slides are organized in rough priority order – High



Items that should be addressed in all production environments – Failure to address them is very dangerous • Notice that many significant issues from previous release are gone! – Medium



Items that should be addressed in any environment where security is taken seriously – Low



There are real risks here but they are obscure and difficult for a hacker to leverage > Some reasonable people will ignore these issues > Highly sensitive systems should address these as well – Many of the issues raised are judgment calls, so carefully consider your own requirements and security policies

Materials may not be reproduced in whole or in part without the prior written permission of IBM

11

IBM Software Group | WebSphere software

Agenda     

Introduction Hardening – High Importance Hardening – Medium Importance Hardening – Low Importance Other Considerations

Materials may not be reproduced in whole or in part without the prior written permission of IBM

12

IBM Software Group | WebSphere software

Use Firewalls - The “Standard” Configuration MQ S erver A pplication S erver

W eb S erver

A pplication S erver w ith ME

I, W

MQ W, M

H

S ession & S IB DB

J

J

H F W B row ser

F W

A pplication S erver

J W

S

L

N ode A gent N ode W eb S ervices

A pp DB

L W

I

LD A P D eploym ent M anager

L

H W

(1) Two firewall DMZ E JB  No WAS in the DMZ C lient (2) Firewall protecting production from intranet  See Firewall presentation for more

FW

w sadm in

A dm in B row ser

Materials may not be reproduced in whole or in part without the prior written permission of IBM

NMEI 13

IBM Software Group | WebSphere software

(3) Do not put On Demand Router in the DMZ  ODR is a full Java environment  Proxy it with Web Server  Alternative: use DataPower SOA Appliance with Application Optimization (AO) feature

NMEI 14

IBM Software Group | WebSphere software

(4) Use HTTPS from the Browser  If your site performs any authentication or has any confidential information then configure your Web server to support HTTPS – For maximum protection you should use SSL for all pages in an application that has ANY sensitive information

• •

An intruder might even be able to modify web page content for public pages which could also confuse your users This is because an intruder might be able to capture cookies sent in the clear (before or after login) and then act as that user • This attack has been demonstrated at public WiFi access points

 Configuring/Enforcing – Refer to your Web server’s documentation for instructions – Popular web browsers ship with 100s of ‘pre-trusted’ CA certificates. You’ll likely want to support one of them. Purchase a certificate from a well-known CA. – You may need to configure a virtual host alias for the HTTPS port (WAS assumes port 443 by default) – WAS can enforce that HTTPS is used by an application by specifying a data constraint in web.xml

– Testing  Go to “www.ssllabs.com”  Select “Server Test” and input your website Materials may not be reproduced in whole or in part without the prior written permission of IBM

NMEI 15

IBM Software Group | WebSphere software

(5) Keep Up to Date with Patches and Fixes  The IBM Support Website provides you with information on Security-related Updates – http://www.ibm.com/software/webservers/appserv/was/support/ – http://www.ibm.com/support/mysupport

 Several ways to monitor updates

• • •

Subscribe to IBM Flashes via “Request Email Updates” Monitor updates by subscribing to an RSS Feed “News Feeds of New Content” By monitoring the security bulletins – http://www01.ibm.com/support/docview.wss?rs=180&uid=swg21368398

– By reading the websphere security zone – http://www.ibm.com/developerworks/websphere/zones/was/security/ – We’ve been collecting the most significant recent vulnerabilities in this presentation and they are at the end

 Keep up to date with all your infrastructure components – Operating Systems, LDAP, Database, Web Server etc – not just WAS

NMEI

Materials may not be reproduced in whole or in part without the prior written permission of IBM

16

IBM Software Group | WebSphere software

(6) Enable Application Security  Enable application security so that applications can leverage Java EE security

– Experience shows that very few applications can develop their own custom authentication mechanism successfully – most are laughably insecure – It is not necessary to enable Java 2 security

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

17

IBM Software Group | WebSphere software

Enabling application security in Liberty

Liberty V8.5

appSecurity-1.0

18

IBM Software Group | WebSphere software

(7) Use ldapRegistry instead of quickStartSecurity or the basicRegistry Liberty V8.5

 V8.5 Liberty Profile includes two trivial security registry configurations ideal for development environments.  They should not be used beyond basic integration testing environments.

19

IBM Software Group | WebSphere software

(8) Restrict Access to WebSphere MQ Messaging  Two ways to connect WAS to MQ – Bindings Mode • No built in fine grained authentication, relies on process level authentication • Userid/password info specified on JMS resource is ignored • All that matters is that the process id that WAS runs as has access to MQ – should be in the appropriate MQ group, etc. – Client/Server Mode (remote TCP access) • By default, does not perform any user authentication – totally insecure! • Userid/password info specified on JMS resource is passed to MQ but ignored by default by MQ

 To ensure that there is meaningful authentication of the MQ connection – Custom security exits for client authentication. These exits can access the userid/password information on the connection. – A simpler approach is to implement custom MQ authentication using SSL client authentication, and to ensure that MQ only trusts the certificate possessed by WAS

 See MQ SSL presentation or the paper on securing WAS/MQ links in references section  Warning: These changes are only discussing how to secure the WAS to MQ link. These do not “make MQ secure.” Significant work is required to secure MQ. Contact ISSW for help.

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

20

IBM Software Group | WebSphere software

(9) Harden the Web Server and Host  Your Web Server might be running in the DMZ – the first point for external connections, so – Harden the operating system; limit other running processes – Harden the Web server

• • •

Limit the Web server modules being loaded Review the Web server configuration; minimise the opportunity for attack Consider limiting the SSL strength allowed - e.g., do you want to allow 40-bit export quality encryption? Consider using FIPS 140-2 or SP800-131 compliant ciphers (see #38) • Refer to Apache hardening book in references – Ensure that the WAS plugin is configured to only forward traffic for the right applications (if WAS generates the plugin-cfg.xml file this should happen naturally)

 WAS 6.0 and later can manage Web servers as part of a cell – Two options

• •

Managed Node – a regular Node Agent collocated with Web server (likely in the DMZ) IHS Admin Server – Both approaches increase the attack surface – Not recommended for use in a DMZ for a production environment (although convenient for a test environment)

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

21

IBM Software Group | WebSphere software

(10) Remove JREs from Web Servers in DMZ  Remove the JREs installed when installing the Web server and the Web server plugin – You won’t be able to run the patch installer or ikeyman (both depend on Java) – Zip/tar up these JREs just in case

22

IBM Software Group | WebSphere software

(11) Harden the Proxy Host  Harden whatever is in the DMZ – Maybe your Web server isn’t in the DMZ

• •

You are using an proxy server E.g., Tivoli Access Manager WebSEAL – Standard operating system hardening applies – Harden the proxy – Ensure that the proxy is only forwarding requests that should be forwarded



E.g., look at the URLs it is proxying and make sure the list is just what is needed and no more

 Best bet for Web services proxy: DataPower





Hardened, application solution – Purpose built operating system – not a general computing device, insanely secure and fast – Supports WS-security and many other related standards – Provides for XML threat protection – nearly impossible to secure Web services without something like DataPower!! Note: WAS V7 proxy is not a replacement for DataPower with Web Services – no XML threat protection

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

23

IBM Software Group | WebSphere software

Beware Proxy or Web Server Bypass  Web servers may perform security critical action such as certificate authentication  Proxy servers provide many useful functions  Authentication  Authorization  Auditing  Custom headers over HTTP that applications can leverage (maybe)

 Unfortunately, there is a trust gap in the architecture WAS Web Container Proxy Browser

HTTPS

Authn Authz Audit Add Headers

user misc headers HTTPS

Web Server

user misc headers

TAI

HTTPS

Application - get User Identity - get Headers

Potential Trust Gap What prevents bypass?? Evil Client

user misc headers

HTTPS

Materials may not be reproduced in whole or in part without the prior written permission of IBM

24

IBM Software Group | WebSphere software

Proxy Server Bypass - Real World Example

25

IBM Software Group | WebSphere software

Proxies and Web Server Bypass  If I can connect directly to the web server or web container I can potentially seriously breach system security  Bypassing proxy auditing and authorization dangers  If proxy auditing isn’t done what are the implications?  Does the application do sufficient authorization independently of the proxy?



Perhaps it would be best if applications repeat authorizations done by proxy

 Forging HTTP headers can be done easily using any browser and a graphical plugin such as Tamper Data. I could then  Forge certificate information by sending it directly to web container if web server is performing certificate authentication (see next slide)  Possibly trick applications by falsifying proxy or web server provided headers



Do your applications look at HTTP headers to make security decisions? − How do you know that an evil HTTP client hasn’t specified forged values for those headers?  Possibly act as someone other than myself by falsifying identity information provided by proxy or web server



How do your applications determine identity? − If they use a TAI, is it configured securely? − If they examine HTTP headers, see previous point Materials may not be reproduced in whole or in part without the prior written permission of IBM

26

IBM Software Group | WebSphere software

A Proxy Bypass Example  The user accesses an application via the proxy and authenticates  E.g., https//proxy.ibm.net/EasyApp

 The proxy authenticates the user, - builds an authentication header, and authorizes the user for EasyApp  Request is securely sent to the Web Container. The identity is asserted after confirming it travelled through the proxy server.  An LtpaToken2 cookie for *.ibm.net is returned  The attacker now bypasses the proxy directly accessing the Web Container or Web Server  https://wasserver.ibm.net/RestrictedApp or https://webserver.ibm.net/RestrictedApp



Webserver of course blindly forwards headers onto wasserver  Because there is an LtpaToken2 cookie, request is allowed  Notice that proxy authorization and auditing on this next request has been bypassed  Notice that proxy headers the application uses could be forged

 Note: virtual hosts do not help at all with this  The attacker can set the $WS* headers to trick the web container that the request was sent to proxy.ibm.net:80

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

27

IBM Software Group | WebSphere software

Client Certificate Authentication Bypass Risk  When a web application is configured to accept client certificate authentication, a vulnerability is opened – Certificate information comes via the SSL handshake if web client connects directly to web container – Certificate information comes from web server if it fronts web container (thus terminating SSL connections)



Certificate description is actually in hidden HTTP headers sent to web container

 How does WAS know if the client sending certificate description really is the trusted web server?  It doesn’t!!!! Danger!!!  If using certificates for direct connections to the web container  Disable trusted assertion of information by setting “trusted” property to false on Web Container custom properties  Note that this means you cannot authenticate to a web server using certificates and expect that information to propagate  If you have a web server and use client certificate authentication to it, read on

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

28

IBM Software Group | WebSphere software

Bypass Prevention  Firewalls  Typically a firewall will prevent access from the internet to the web server and web container  What about users on the internal network?  You should have internal firewalls as well



What about legitimate administrators? − How many people have legitimate access to your production network?  Firewalls are a good first line of defense, but may not be sufficient

• • •

Number of people with access to the production network may be large Difficult to validate that the configuration remains correct over time Make a mistake and you are silently insecure

 Thought question: is there really a security perimeter?  Only good guys are inside and only bad guys are outside?  What about attacks that compromise the browsers of your trusted admins on the inside?

Materials may not be reproduced in whole or in part without the prior written permission of IBM

29

IBM Software Group | WebSphere software

Bypass Prevention  Preventing bypass using transport tricks  Configure every web server to listen only to proxy server IP address and every web container to listen only to web server IP address  Configure every web server to require mutual SSL and trust only proxy server certificates and configure every web container to require mutual SSL and trust only web server certificates

• •

Extremely difficult to configure (see appendix) Additional issues as with previous item  But, previous approaches are problematic

• • •

May prevent legitimate access to web server or web container – what about internal web services or REST calls? How do you keep current the trusted server information as you add new web servers and proxy servers Are difficult to configure and leave you laughably insecure if you make a mistake, e.g., − If I forget to limit the trusted IPs (or add one I shouldn’t) system is wide open − If I leave open an HTTP transport or add too many signers to the trust store system is wide open Materials may not be reproduced in whole or in part without the prior written permission of IBM

30

IBM Software Group | WebSphere software

Detecting Bypass  Detecting bypass at web container is the “best” option  Verify that request really did come from trusted web server or proxy server  While may be complicated to configure, if configuration is wrong, system will fail rather than being insecure

 For authentication must verify trust path during authentication step  WAS calls TAIs automatically at that point



A proper TAI will create a trusted identity which is good for applications that use JEE security  If using certificate authentication to the web server, you’ll need a custom TAI to verify the certificate authentication trust path (see next slide)

 For HTTP header usage, audit bypass, and authorization bypass, EVERY single request must verify trust path  This will require custom application code  If only concerned about HTTP headers, my preference is to ban the use of HTTP headers by applications

• •

Find another way to get same information Perhaps collect during TAI execution or query from LDAP Materials may not be reproduced in whole or in part without the prior written permission of IBM

31

IBM Software Group | WebSphere software

Detecting Bypass – More Details  Two suggested approaches for trust path verification (there are others)  Verify a secret password that is part of the request



This is what the WebSEAL TAI does  Use certificate authentication and authorize the request based upon the certificates

 Leverage WAS specific APIs to look at the certificate used to connect  

 

to the web container and JEE APIs to see the certificate used to connect to the web server http://publib.boulder.ibm.com/infocenter/wasinfo/v7r0/index.jsp?topic =/com.ibm.websphere.express.doc/info/exp/ae/csec_trust.html Authorize request if direct certificate used to connect to web container is on trusted list  If authenticating end user using certificates, then JEE provided certificate is end user’s certificate. A TAI could use this as the user’s idenity  If validating trust path from proxy, then JEE provided certificate is proxy’s certificate and you can authorize request based upon this Refer to programming hints and tips for more ISSW has an asset that demonstrates how to do the above Materials may not be reproduced in whole or in part without the prior written permission of IBM

32

IBM Software Group | WebSphere software

(12) Detecting Bypass - Configure and Use TAIs Carefully  Trust Association Interceptors (TAIs) extend the trust domain – They must be carefully designed and carefully deployed



Make sure you understand the implications of configuring and using a TAI

– Mistakes result in serious security weaknesses



Weak point is usually server to server trust – how does TAI know caller is server trusted to assert identity information

 Bad Examples – We’ve seen TAIs that validate the host name in the HTTP header as an indicator of “trust”



Since headers can be trivially forged this is laughably insecure

– Long ago deprecated WebSEAL TAI can be configured insecurely if you are not careful

• •



Do you understand how to do this properly? mutualSSL=true − Property on TAI means “assume that HTTP input is completely trusted and do no validation” – Not supported by the newer TAMPlus TAI since most people got this wrong Password authentication (verifies AUTHORIZATION header userid & password) – If no loginId property specified then ANY valid userid and password combination is assumed to be a trusted server! – Loginid mandatory with the newer TAMPlus TAI NM Materials may not be reproduced in whole or in part without the prior written permission of IBM

EI

33

IBM Software Group | WebSphere software

(13) Use certificate authentication carefully  Revocation  You must plan for WHEN not IF a private key is compromised.  Without revocation, there is only One way to stop the use of a compromised key.

• •

Use a different CA – and reissue/distribute all certificates. $$$$  Online Certificate Status Protocol (OCSP)



Not supported by V8.5 Liberty servers.  Certificate Revocation List

Liberty V8.5

 Self-Signed certs.

 Web Authentication trust risk  SSL is point-to-point.  If SSL is terminated by Web Server, certificate details flow from Plugin to WAS via unverified headers ($WSCC). See item #14.  If SSL is terminated at Web Container, see next chart.

34

IBM Software Group | WebSphere software

How to Disable trust of unverified certificate headers.  If SSL clients authenticate directly to Web client,  Liberty:

Liberty V8.5

 Full Profile

35

IBM Software Group | WebSphere software

(14) Authenticate Web Servers to Web Container  Scenarios:  User is authenticated at Web Server or other proxy  User identity flows via “custom” header



Also applies to SSL Client Auth to Web Server

 Mitigation:  Use SSL Client Auth to Web Container (Direct Connection Peer)



(New 7.0.0.7) HTTP request attribute com.ibm.websphere.ssl.direct_connection_peer_certificates • Confirm only authorized SSL Direct connections Peers  Use SSL Tunnel with Self-signed certs.

36

IBM Software Group | WebSphere software

(15) Don’t Run Samples in Production  WAS ships with several excellent samples which demonstrate various aspects of WAS and can serve as diagnostic tools

– Samples aren’t designed to be secure – Some samples, such as Snoop reveal a wealth of information about your production environment  When creating a profile for production, uncheck the samples

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

37

IBM Software Group | WebSphere software

(16) Choose an Appropriate Process Identity  The WAS processes must run under some Operating System identity, so let’s discuss the choices – Everything as Root/Privileged User – Node Agent as Root/Privileged User, Application Servers as Normal User – Everything as Normal User

 Option #1: Everything as Root/Privileged User – Default, out of the box configuration if installed by root – no configuration required – Can use local OS as user registry – All WAS processes have read/write access to all WAS related files (and everything else) – WAS administrators have implicit root authority – Can configure so that nothing else (other than root) has access to WAS files

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

38

IBM Software Group | WebSphere software

Choose an Appropriate Process Identity  Option #2: Node Agent as root and application servers under different OS identities – Assign separate OS user accounts for each application server



Can limit access to files not owned by that application server (doesn’t address application servers running multiple applications)

– Node agent must run as root (or root-like) OS user in order to start application servers

• •

Read & write privileges for the configuration data WAS administrators have implicit root authority because they can ask the node agent to start any application server as any user

– Can use LocalOS registry by using WAS_UseRemoteRegistry property – Difficult to configure



What do you do about the WAS configuration files? – Application servers need to read access to most of this and it’s shared

– People often choose this in order to isolate applications – it doesn’t work!!

• •

WAS is managed as single trust domain Has almost no meaningful impact on security – Using WAS JMX APIs malicious applications can easily circumvent these restrictions (in fact running the node agent as root makes this worse!)

– Can be useful for application server level accounting by OS identity Materials may not be reproduced in whole or in part without the prior written permission of IBM

NMEI 39

IBM Software Group | WebSphere software

Choose an Appropriate Process Identity  Option #3: Everything as a Normal user – Default, out of the box configuration if you install as non-root – no configuration required

• •

Easy to configure post install if you did the install as root Simple chmod/chown of the WAS files and you are on your way – All Application Servers must run under the same, non-privileged OS user as the Node agent – The OS user needs read/write access to WAS directories. All WAS processes have equal read/write access to WAS directories. – WAS administrators don't have root access

 Variation of this option – Could run node agents with different userids



Then all applications on those nodes will share that common userid, but different nodes can have different userids • Could even run multiple node agents on a single machine – Doesn’t scale well if you need lots of userids (one node agent per id per host) – Not a big fan of this, but it is workable in limited circumstances

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

40

IBM Software Group | WebSphere software

Options Summary – Choose Run as non-root User All as root Node as user root

All as nonroot

WAS admins have implicit root authority

Some WAS admin tasks may require root access Can’t use Operating System Registry

Fairly complex file ownership/permission issues

Application isolation cannot be addressed by operating system permissions. Need Java 2 security and MUCH more. Refer to application isolation materials. Materials may not be reproduced in whole or in part without the prior written permission of IBM

41

IBM Software Group | WebSphere software

(17) Protect Your Configuration Files & Private Keys  There are numerous files in a typical WAS install that need to be protected because of what they contain – The configuration repository XML files under config – contain topology information and many embedded passwords (e.g., LDAP, databases, enterprise systems, etc) • Note 1: As of WAS 6.0.2, clients can write their own custom password module to encrypt them (see Programming Hints & Tips presentation) • Note 2: VMM file repository stores password hashes, not the passwords – Lots of key stores containing the private keys for every node and Web server – The LTPA encryption keys – with this I can forge LTPA credentials and act as anyone – sas.client.props or soap.client.props - files may contain a userid and password – installedApps – files for applications that have been installed. User’s other than WAS shouldn’t be able to modify. Might contain sensitive information.

 Leverage operating system protection to protect file system – Start everything owned by WAS. Read/Write by no one else. – Grant read access selectively as needed – such as to log files

 Don’t put private keys on a shared file system  Don’t share private keys between test and production environments  Use caution when sending configuration files externally – they contain passwords!

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

42

IBM Software Group | WebSphere software

(18) Encrypt LDAP Link  The Application Servers, Node Agents and Deployment Manager communicate with LDAP – Each send user passwords, including Admin passwords, to LDAP for verification – Queries lots of information which may be sensitive

 To protect this link – Create a new trust store for LDAP at the global scope



WAS needs to be able to complete the SSL handshake so it needs the signer certificate for the LDAP server or the certificate itself • Put into the trust store either the LDAP server’s signing certificate or the LDAP server’s certificate – Create an SSL configuration for LDAP at the global scope



Define it to use the new trust store – Specify “SSL enabled” on the LDAP User Registry page and choose the SSL configuration created earlier

 If using a Custom User Registry, ensure this link is encrypted and authenticated – method will vary by User Registry

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

43

IBM Software Group | WebSphere software

Specifying SSL Configuration for LDAP

NMEI Materials may not be reproduced in whole or in part without the prior written permission of IBM

44

IBM Software Group | WebSphere software

Encrypting LDAP connections in Liberty ssl-1.0

Liberty V8.5

View more...

Comments

Copyright ©2017 KUPDF Inc.
SUPPORT KUPDF