IBM Websphere Ondernemingskans of IT risico?
Scriptie ter afronding van de postgraduate IT Audit opleiding aan de VU Datum: 2008-04-03 Versie 1.0
Auteurs: Walter Borgstein, Eric den Haan, Jacques Putters Teamnummer: 820 VU begeleider: Dhr. C.W.P.J. van Hoof RE Bedrijfscoach: Dhr. E. de Vries RE CIA CISA Afstudeerdatum: nog te bepalen
WebSphere
IBM Websphere Ondernemingskans of IT risico
Walter Borgstein Eric den Haan Jacques Putters
Amsterdam, april 2008
Pagina |I
WebSphere
P a g i n a | II
Woord vooraf Deze scriptie is geschreven ter afsluiting van de postgraduate IT Audit opleiding aan de Vrije Universiteit (VU) te Amsterdam. De drie auteurs zijn allen werkzaam bij de interne audit afdeling van ABN AMRO Bank N.V. en in die hoedanigheid betrokken bij interne audits binnen de automatiseringsomgeving. Omdat er bij het audit management een behoefte bestaat aan het vergaren van meer kennis over IBM WebSphere en de IT Audit aspecten die daarbij een rol spelen, is besloten WebSphere als onderwerp te kiezen voor de afsluitende scriptie. Deze scriptie zou niet tot stand zijn gekomen zonder de begeleiding vanuit de VU door Kees van Hoof en de interne begeleiding door Erik de Vries (Audit manager). Tevens willen wij de medewerkers van IBM, Shell en ABN AMRO bedanken voor hun input en het beantwoorden van onze vele vragen. Dankzij hun informatie zijn wij in staat geweest WebSphere in een breder perspectief te plaatsen. Daarnaast willen wij ook onze collega’s en partners bedanken voor hun steun en bijdragen tijdens de uitvoering van ons onderzoek.
Walter Borgstein, Eric den Haan, Jacques Putters Amsterdam, april 2008
WebSphere
P a g i n a | III
Inhoud SAMENVATTING .................................................................................................................................... 1 1
INLEIDING ....................................................................................................................................... 3 1.1 ONDERZOEKSVRAAG............................................................................................................................... 3 1.2 ONDERZOEKSAANPAK ............................................................................................................................. 4 1.3 OPBOUW VAN DE SCRIPTIE ...................................................................................................................... 4
2
WAT IS WEBSPHERE EN HOE HEEFT HET ZICH ONTWIKKELD? ......................................................... 5 2.1 DEFINITIE ............................................................................................................................................. 5 2.2 ONTSTAANSGESCHIEDENIS VAN WEBSPHERE .............................................................................................. 6 2.3 WEBSPHERE COMPONENTEN ................................................................................................................... 7 2.3.1 People Integration ...................................................................................................................... 8 2.3.2 Process Integration ..................................................................................................................... 9 2.3.3 Information Integration ............................................................................................................ 10 2.3.4 Application Integration ............................................................................................................. 11 2.3.5 Application and transaction infrastructure ............................................................................... 12 2.3.6 Accelerators .............................................................................................................................. 12 2.4 UITWERKING AUDIT ASPECTEN COMPONENTEN .......................................................................................... 13
3
WAT MAAKT WEBSPHERE INTERESSANT VANUIT EEN BUSINESSPERSPECTIEF? ............................ 14 3.1 CONCURRENTEN .................................................................................................................................. 14 3.2 BEWEEGREDENEN INZET WEBSPHERE ...................................................................................................... 15
4
ENKELE TOEPASSINGEN VAN WEBSPHERE IN DE PRAKTIJK ........................................................... 17 4.1 ABN AMRO INTERNET BANKIEREN OMGEVING ........................................................................................ 17 4.1.1 WebSphere componenten ......................................................................................................... 17 4.1.2 Architectuur .............................................................................................................................. 19 4.2 SHELL SUPPLY CHAIN MANAGEMENT ...................................................................................................... 20 4.2.1 WebSphere componenten ......................................................................................................... 20 4.2.2 Architectuur .............................................................................................................................. 20
5
IT AUDIT ASPECTEN ............................................................................................................... 22 5.1 INLEIDING .......................................................................................................................................... 22 5.2 VOORBEELD CONFIGURATIE ................................................................................................................... 23 5.3 UITWERKING IT AUDIT ASPECTEN ........................................................................................................... 24 5.4 LOGISCHE TOEGANGSCONTROLE ............................................................................................................. 25 5.5 CONFIGURATIE ASPECTEN ...................................................................................................................... 26 5.5.1 Configuratie WAS en NDM. ....................................................................................................... 27 5.5.1.1 WAS .................................................................................................................................. 27 5.5.1.2 Operating system ............................................................................................................. 28 5.5.1.3 Logging ............................................................................................................................. 28 5.5.2 Configuratie MQ ....................................................................................................................... 28 5.6 BERICHTEN UITWISSELING ..................................................................................................................... 29 5.6.1 WAS........................................................................................................................................... 29 5.6.2 MQ ............................................................................................................................................ 30 5.7 INFRASTRUCTUUR VULNERABILITIES ......................................................................................................... 31 5.8 OVERZICHT VAN RISICO'S EN MITIGERENDE MAATREGELEN ........................................................................... 31
6
CONCLUSIE ................................................................................................................................... 34 6.1 PERSOONLIJKE REFLECTIE....................................................................................................................... 35
7
BIBLIOGRAFIE ............................................................................................................................... 36
8
DEFINITIELIJST .............................................................................................................................. 37
WebSphere
9
P a g i n a | IV
BIJLAGEN ...................................................................................................................................... 38 9.1 BIJLAGE 1: VOLLEDIG OVERZICHT VAN IBM WEBSPHERE PRODUCTEN ........................................................... 39 9.2 BIJLAGE 2: INFORMATION INTEGRATION COMPONENTEN............................................................................. 42 9.3 BIJLAGE 3: PRODUCT VERGELIJKING TUSSEN WEBSPHERE EN WEBLOGIC ........................................................ 43 9.4 BIJLAGE 4 BEHEER ROLLEN BINNEN WAS ................................................................................................. 45 9.5 BIJLAGE 5: VULNERABILITY VOORBEELDEN ................................................................................................ 46 9.6 BIJLAGE 6: AANVULLENDE IT AUDIT ASPECTEN .......................................................................................... 47 9.6.1 Overbelasting ............................................................................................................................ 47 9.6.2 Applicatiebeveiliging ................................................................................................................. 47 9.7 BIJLAGE 7: TOP 10 WEB APPLICATION VULNERABILITIES (2007).................................................................. 49
10
INDEX ........................................................................................................................................ 50
WebSphere
Pagina |1
Samenvatting
Zakendoen in de huidige tijd is ondenkbaar zonder web presence. De uitdaging voor ondernemingen ligt in het ontsluiten van hun applicaties en data via een gebruikersvriendelijke interface op een veilige manier. Uit de drie grote spelers in de markt van commerciële webapplicatie server software is IBM’s WebSphere gekozen als scriptieonderwerp. Het onderzoek richt zich op de vraag wat WebSphere is, waarom ondernemingen WebSphere willen gebruiken, hoe ondernemingen WebSphere implementeren en welke risico’s het gebruik van WebSphere introduceert. WebSphere is een merknaam voor een suite van software producten van IBM die ingezet worden om ontwikkeling en beheer van web applicaties te ondersteunen. De totale suite bestaat uit ruim 60 componenten. Hoofdbestanddeel van deze suite is de WebSphere Application Server (WAS) waarop webapplicaties kunnen worden gehost/gedraaid. Voor het beheer van de WAS is de Network Deployment Manager nodig. Connectiviteit met (legacy) back-end systemen kan worden ingevuld met WebSphere MQ. Voor wat betreft webapplicatie functionaliteit (programmeer mogelijkheden) onderscheidt WebSphere zich niet van concurrent WebLogic van Oracle. Een belangrijke drijfveer om WebSphere te gebruiken is de mogelijkheid om (legacy) back-end systemen te ontsluiten. Wanneer de back-end systemen IBM mainframes zijn, dan geniet IBM nog de voorkeur van bedrijven. Doorgaans hebben grote ondernemingen die gebruik maken van IBM mainframes reeds een jarenlange relatie met IBM. IBM is een internationale onderneming met een aanzienlijke historie die waarborgen biedt voor continuïteit in haar bedrijfsvoering, productontwikkeling en ondersteuning. Mede gezien de internationale klantenkring en het internationale netwerk voor ondersteuning en advies is WebSphere een aantrekkelijke keuze voor ondernemingen. Toch is gezien de implementatiekosten WebSphere pas aantrekkelijk als infrastructureel platform indien een kritische massa is bereikt wat betreft het aantal te hosten applicaties. Voor kleinere ondernemingen of enkele applicaties op één server heeft IBM tegenwoordig ook een Express editie van WebSphere ontwikkeld. In het kader van deze scriptie zijn twee praktijk situaties onderzocht: de Internet Bankieren implementatie bij ABN AMRO en een Supply Chain management implementatie bij Shell. Deze implementaties laten zien dat WebSphere wordt gebruikt voor ontsluiting van back-end systemen op (IBM) mainframes. De webapplicaties van deze ondernemingen verschillen in functionaliteit, maar dat is gezien het verschil in bedrijfsactiviteit vanzelfsprekend. Webapplicaties kunnen via browsers worden benaderd door zowel klanten als medewerkers. Het implementeren van een WebSphere infrastructuur is complex, omdat er meerdere software componenten bij betrokken zijn met elk afzonderlijke configuratie mogelijkheden. De mogelijkheden per component gecombineerd met het aantal betrokken componenten introduceren een groot aantal risico’s. De risico’s kunnen in de meeste gevallen worden gemitigeerd, op een enkele inherente tekortkoming na (in het bijzonder MQ – tijdigheid en volledigheid). De tekortkomingen op MQ kunnen wel deels worden gemitigeerd op applicatieniveau.
WebSphere
Pagina |2
Afsluitend kan geconcludeerd worden dat WebSphere voor grote bedrijven met legacy systemen een ondernemingskans vormt met betrekking tot de ontsluiting van applicaties en data op mainframes via browsers voor zowel klanten als medewerkers. De WebSphere infrastructuur kent door haar complexiteit en blootstelling aan het internet de nodige risico’s. Deze risico’s zijn echter mitigeerbaar, op een enkele inherente tekortkoming na.
WebSphere
1
Pagina |3
Inleiding
In de online wereld van tegenwoordig zetten ondernemingen steeds vaker webtechnieken in om zowel klanten als medewerkers toegang te geven tot informatie en om transacties uit te kunnen voeren, zoals het plaatsen van bestellingen en het doen van betalingen. Het belang van een continue beschikbaarheid op internet (24x7) en de eisen ten aanzien van de integriteit en vertrouwelijkheid van de gegevens die via webtoepassingen worden verwerkt stellen direct eisen aan de opzet, bestaan en werking van de onderliggende IT infrastructuur. Om (legacy) backend-systemen en databanken via web services te ontsluiten maken met name grote organisaties wereldwijd steeds meer gebruik van IBM WebSphere1. Zo ziet Shell bijvoorbeeld web services als belangrijke ‘enablers’ om de uitwisseling van informatie binnen het bedrijf en daarbuiten naar een hoger niveau te tillen en is mede daarom een partnership aangegaan met IBM2. Een ander voorbeeld is autoverhuurder AVIS die in 2004 met IBM in zee is gegaan om met behulp van WebSphere producten het delen van gegevens tussen nieuwe webapplicaties en het bestaande systeem voor reserveringen, verhuur en informatiemanagement mogelijk te maken3. Ook ABN AMRO maakt gebruik van WebSphere producten om verschillende bedrijfsprocessen te ondersteunen. Eén van de belangrijkste WebSphere implementaties is die voor internetbankieren (zie hoofdstuk 4.1).
1.1 Onderzoeksvraag Het toenemende gebruik van IBM WebSphere betekent dat ook de IT audit gemeenschap de nodige kennis en ervaring ten aanzien van deze producten zal moeten hebben. Wij hopen daar middels deze scriptie een bijdrage aan te kunnen leveren. Als uitgangspunt voor onze scriptie is de volgende onderzoeksvraag geformuleerd:
“IBM WebSphere: Ondernemingskans of IT risico?” Om hierop een antwoord te kunnen geven is de onderzoeksvraag opgedeeld in een aantal deelvragen. De eerste vraag heeft betrekking op de achtergrond van WebSphere en de belangrijkste vraag: “Wat is WebSphere en hoe heeft het zich ontwikkeld?” Als een IT auditor betrokken raakt bij strategische besluitvorming ten aanzien van IT infrastructuur en daarbij te maken krijgt met WebSphere dan is het hebben van basiskennis van de voor- en nadelen van de inzet WebSphere van toegevoegde waarde. Om de IT auditor hierbij van dienst te zijn is er in deze scriptie gekeken welke afwegingen bedrijven hebben gemaakt om WebSphere in te voeren en welke specifieke componenten daarbij gekozen zijn. De tweede deelvraag luidt derhalve: “Wat maakt WebSphere interessant vanuit een business perspectief?”. Naast de vraag wat WebSphere is en de reden waarom ondernemingen voor het gebruik daarvan kiezen is het zinvol om een concreet beeld te krijgen van mogelijke toepassingen van verschillende WebSphere componenten. De derde deelvraag die geformuleerd is luidt daarom: “Hoe zetten ondernemingen WebSphere in de praktijk in?”.
1 In 2005 was IBM marktleider op het gebied van applicatie servers met een marktaandeel van 37% (http://websphere.sys-con.com/read/113157.htm) 2 http://www-306.ibm.com/software/ebusiness/jstart/casestudies/shell.shtml 3 http://whitepapers.silicon.com/0,39024759,60098435p,00.htm?
WebSphere
Pagina |4
En tot slot, als de IT auditor een opdracht aanvaardt waarbij ook WebSphere componenten binnen de scope vallen dan is het van belang te weten welke mogelijke risico’s er te onderkennen zijn. De vierde en laatste deelvraag die daarom geformuleerd is, is: “Welke IT audit aspecten, risico’s en mitigerende maatregelen zijn er te onderkennen ten aanzien van WebSphere?”.
1.2 Onderzoeksaanpak Voor ons onderzoek hebben wij de volgende aanpak gehanteerd: Literatuuronderzoek Om de achtergronden van WebSphere in kaart te brengen is voornamelijk gebruik gemaakt van bronnen op het internet. Hiervoor is in het bijzonder de website van IBM geraadpleegd, maar daarnaast is ook gestreefd naar het vinden van meer onafhankelijke bronnen (bijvoorbeeld onderzoeksresultaten van Gartner). Interviews Er zijn uitgebreide gesprekken gevoerd met WebSphere subject matter experts, zowel van IBM als van in de scriptie (zie hoofdstuk 4) genoemde bedrijven die gebruik maken van WebSphere. Analyse Om inzichtelijk te maken hoe de WebSphere suite is opgebouwd is een schematisch overzicht opgesteld om de verschillende WebSphere componenten te positioneren en hun onderlinge relaties in kaart te brengen. Het oorspronkelijke plan om een ‘risk-based’ selectie van WebSphere componenten uit te voeren voor nadere analyse is niet uitgevoerd omdat het aantal componenten dat tot de Websphere suite gerekend wordt te groot is. Het bestuderen en vergelijken van alle componenten zou dermate veel tijd hebben gevergd dat er voor analyse geen tijd meer zou zijn. Daarom is gekozen voor het uitwerken van IT audit aspecten van WebSphere componenten die zich in de operationele productie omgeving bevinden (WAS, NDM en MQ). Conclusie Met behulp van de resultaten uit het literatuuronderzoek, de interviews en de analyses zijn de antwoorden op de onderzoeksvragen geformuleerd.
1.3 Opbouw van de scriptie In de volgende hoofdstukken komt per hoofdstuk één van de vier deelvragen aan de orde. In hoofdstuk twee wordt uitgelegd wat WebSphere is, uit welke componenten het bestaat en wat hun onderlinge relatie is en welke componenten een rol spelen binnen de operationele productie omgeving. Deze laatste groep is als basis gebruikt voor hoofdstuk vijf. Hoofdstuk drie gaat in op de vraag wat de toegevoegde waarde van WebSphere is, waarbij de aandacht niet alleen uitgaat naar WebSphere functionaliteit, maar ook naar de IBM dienstverlening. In hoofdstuk vier komen enkele toepassingen van WebSphere in de praktijk aan de orde, waarbij ook gekeken wordt naar de beweegredenen om te kiezen voor bepaalde componenten. Hoofdstuk vijf is gewijd aan de vraag welke IT audit aspecten, risico’s en mitigerende maatregelen er te onderkennen zijn ten aanzien van WebSphere componenten binnen de operationele productieomgeving. In hoofdstuk zes ten slotte zijn de conclusies ten aanzien van de deelvragen en de centrale onderzoeksvraag geformuleerd.
WebSphere
2
Pagina |5
Wat is WebSphere en hoe heeft het zich ontwikkeld?
Dit hoofdstuk is gewijd aan de vraag wat WebSphere nu eigenlijk is. In het eerste deel van dit hoofdstuk volgt een aantal definities. Het tweede gedeelte gaat in op de ontstaansgeschiedenis van WebSphere. Het derde deel van dit hoofdstuk ten slotte behandelt de voornaamste WebSphere producten en hun onderlinge relaties.
2.1 Definitie Aangezien WebSphere door IBM ontwikkeld is lag het voor de hand om eerst te bekijken welke definitie IBM voor WebSphere hanteert. Op de website van IBM is WebSphere als volgt omschreven: “WebSphere is het integratie software platform van IBM. Het omvat de gehele middleware infrastructuur – zoals servers, services en tools – die benodigd zijn voor het schrijven, laten draaien en monitoren van 24x7 ‘industrial-strength’, on demand web applicaties en cross-platform en crossproduct toepassingen. WebSphere levert betrouwbare, flexibele en robuuste integratie software.” (IBM) Op de website van IBM wordt verder nog gesteld dat WebSphere Application Server de basis van de WebSphere suite vormt. Alle andere WebSphere producten zijn daaraan gekoppeld. Over IT onderwerpen zoals besturingssystemen, netwerken en programmeertalen is een grote diversiteit aan boeken voorhanden. Tijdens ons onderzoek is gebleken dat er echter weinig, vrij toegankelijke, algemene literatuur over WebSphere beschikbaar is. Dit komt vermoedelijk doordat producten zoals WebSphere voornamelijk door (grote) organisaties worden ingezet. Wel zijn er handleidingen en IBM redbooks te vinden, die specifieke WebSphere onderwerpen behandelen. Een bron die WebSphere in zijn algemeenheid beschrijft is het boek ‘What is WebSphere?’ van Cameron McKenzie (McKenzie, 2005). De definitie van WebSphere in dit boek is: “WebSphere is een marketing term, een handelsmerk van IBM en een IBM productrange.” (McKenzie, 2005) Een ruime bron voor definities van WebSphere is het internet. Wikipedia hanteert de volgende definitie: “WebSphere is een merknaam voor een serie van IBM softwareproducten voornamelijk gericht op web-technologie en het ontsluiten van databanken en back-end systemen. WebSphere heeft de term middleware algemeen bekend gemaakt en is ontworpen om toepassingen voor elektronisch zaken doen te maken, te draaien en te integreren.” (WebSphere - Wikipedia, 2007)
WebSphere
Pagina |6
Een vierde definitie ten slotte wordt gegeven op SearchDomino.com, een website gericht op IT professionals die zich bezighouden met Lotus Notes en Domino (eveneens IBM producten): “WebSphere is zowel een merk als een technologie. Het WebSphere merk omvat een hele reeks (host) van technologieën die bij elkaar komen om business oplossingen te creëren. Vanuit een technisch oogpunt wordt met de term WebSphere meestal gedoeld op het WebSphere Application Server – kortweg WAS – product.” (SearchDomino) Hoewel deze definities onderling niet exact hetzelfde zijn, komt een aantal gezamenlijke kenmerken naar voren. De verschillende definities samenvattend is WebSphere: -
Een merknaam van IBM; Niet één product maar een serie van middleware producten; Voornamelijk gericht op webtechnologie en het ontsluiten van back-end systemen; (Vanuit technisch oogpunt) voornamelijk de WebSphere Application Server (WAS).
Middleware is systeemsoftware die er voor zorgt dat applicaties met verschillende platformen kunnen samenwerken en dezelfde manier van gegevenstoegang kunnen gebruiken, onafhankelijk van waar deze gegevens zich bevinden. Middleware is de laag tussen (vandaar ‘middle’) de applicatiesoftware en de communicatie- en besturingssoftware. Middleware is populair geworden vanaf de jaren tachtig omdat het een oplossing bood voor het koppelen van nieuwe applicaties met oudere legacy systemen, draaiend op mainframes. Dergelijke legacy systemen zijn een voorbeeld van de zogeheten back-end systemen. Back-end systemen (ook bekend als de data-tier) zijn de systemen die de data bevatten die voor gebruikers via bijvoorbeeld een web browser (de front-end of client-tier) kunnen worden ontsloten en die transacties verwerken. WebSphere producten vormen (mede) de middleware die zorgt voor ontsluiting van deze backend systemen naar andere platformen en fungeert als basis voor hedendaagse webtechnologie.
2.2 Ontstaansgeschiedenis van WebSphere In de jaren negentig van de vorige eeuw was de functionaliteit van websites nog vrij beperkt. Webservers deden eigenlijk weinig meer dan het doorsturen van statische documenten naar web browsers, zodat gebruikers de informatie op deze pagina’s tot zich konden nemen. In 1997 kwam Sun Microsystems met de eerste specificaties voor Java Servlets4 die een belangrijke factor waren voor de ontwikkeling van het internet. Van een systeem dat op aanvraag statische gegevens leverde veranderde dit in een situatie waarbij via webapplicaties interactief gegevens uitgewisseld en transacties uitgevoerd kunnen worden. In 1998 kwam IBM als één van de eersten op de markt met webservers die Java Servlets ondersteunden, nadat ze het product ‘Servlet Express’ (een servlet engine plug-in die gewone webservers verandert in Java-enabled webservers) hadden ingebouwd in hun WebSphere Application Server. Java is in de afgelopen jaren verder doorontwikkeld. Aan het begin van deze eeuw werd duidelijk dat de standaard Java ontwikkelomgeving niet meer voldeed om moderne, gedistribueerde enterprise toepassingen te ontwikkelen. Tegelijkertijd was de ontwikkelomgeving ook niet handzaam voor het ontwikkelen van kleine applicaties voor bijvoorbeeld mobiele telefoons en PDA’s. Er zijn toen 3 verschillende Java smaken ontstaan:
4
Java is een programmeertaal. Een Java Servlet is een bepaald type ‘application programming interface’, kortweg API. Kort gezegd zorgt een API ervoor dat applicaties onderling kunnen communiceren.
WebSphere
-
Pagina |7
Java 2 Standard Edition (J2SE) voor de standaard Java ontwikkelomgeving; Java 2 Micro Edition (J2ME) voor het ontwikkelen van kleine applicaties voor ‘handhelds’; Java 2 Enterprise Edition (J2EE), bedoeld voor het ontwikkelen van grote, robuuste enterprise applicaties.
Centraal binnen de WebSphere productrange staat, zoals eerder in dit hoofdstuk gemeld, de WebSphere Application Server (WAS). WAS is J2EE gecertificeerd, wat wil zeggen dat ondernemingen die WAS willen inzetten er op kunnen vertrouwen dat WAS de functionaliteiten van J2EE ondersteunt en daarmee applicaties die in J2EE ontwikkeld zijn. Een vrij recente ontwikkeling in de IT wereld is het fenomeen ‘Service Oriented Architecture’ (SOA). Dit is niet zozeer een techniek, maar een softwarearchitectuurmodel dat er op gericht is bedrijfsprocessen en IT middelen aan elkaar te linken. Om op de ontwikkeling van SOA in te spelen heeft IBM een aantal specifieke WebSphere componenten ontwikkeld, waaronder de WebSphere Process Server (gebaseerd op WAS) en de WebSphere Enterprise Servicebus. Voor enterprise webontwikkeling is er slechts een beperkt aantal aanbieders op de markt. Naast IBM WebSphere zijn de voornaamste andere producten WebLogic van Oracle (voorheen van BEA Systems) en .NET van Microsoft. IBM heeft in de loop van de tijd de volgende WebSphere edities ontwikkeld: - Application Server; Voor gebruik in een single server omgeving, beperkte J2EE 1.4 configuratie - Application Server Community Edition; ‘lightweight’ application server gebaseerd op open source Apache Geronimo - Application Server – Express; Voor gebruik in een single server omgeving, volledige J2EE 1.4 configuratie - Application Server for z/OS; Voor gebruik op IBM mainframe - Application Server Network Deployment. Voor bedrijfskritische applicaties die ‘near-continuous’ beschikbaarheid vergen, volledige J2EE 1.4 configuratie Het vervolg van de scriptie is gericht op de Application Server Network Deployment editie die op UNIX draait.
2.3 WebSphere componenten IBM heeft onder de verzamelnaam WebSphere niet één product maar een serie van middleware producten beschikbaar gesteld. Binnen de WebSphere suite zijn de producten onderverdeeld in groepen. Elk van deze groepen ondersteunt bepaalde bedrijfsprocessen. Deze groepen zijn weergegeven in Figuur 1. Op deze manier heeft IBM onderscheid gemaakt tussen de business mogelijkheden (processen) en de technische invulling. Als een onderneming keuzes maakt op het niveau van business mogelijkheden kan de IT organisatie de daarbij behorende technische invulling bepalen. De keuzes die de IT organisatie op het gebied van de technische invulling moet maken is niet expliciet meegenomen in deze scriptie. Tijdens het lezen van de beschrijvingen zal duidelijk worden dat een bepaalde keuze ten aanzien van de business mogelijkheden niet inhoudt dat het noodzakelijk is om binnen elke onderneming de volledige suite van producten te implementeren. Daarnaast is het zo dat een gekozen oplossing niet uitsluitend uit WebSphere of andere IBM componenten hoeft te bestaan. Het is ook mogelijk WebSphere componenten aan ander producten te koppelen. In dit hoofdstuk is daar niet specifiek op ingegaan en zijn enkel
WebSphere
Pagina |8
IBM WebSphere componenten genoemd. In bijlage 9.1 is een totaal overzicht van alle beschikbare WebSphere componenten opgenomen. In de volgende paragrafen van dit hoofdstuk worden de verschillende groepen binnen de suite toegelicht en wordt ingegaan op de diverse componenten die zich binnen de groepen bevinden. Aanvullend is aangegeven welke componenten zich binnen de operationele omgeving bevinden die verder in de scriptie aan bod komen bij de uitwerking van de IT audit aspecten (zie hoofdstuk 5).
People Integration
-
Websphere Portal Websphere Everyplace en Voice
Process Integration
-
-
Websphere Business Modeler Websphere Business Monitor
Information Integration
Websphere Product Center
Application Integration Websphere Enterprise Service Bus Websphere Message Broker Websphere ESB WebSphere MQ
Operationele omgeving
Application infrastructure Websphere Application Server (WAS) Network Deployment Manager (NDM)
Accelerators Figuur 1: Overzicht WebSphere mogelijkheden en afkadering van de Operationele omgeving (IBM)
2.3.1 People Integration Het ‘People Integration’ deel van de WebSphere suite fungeert als een standaard IBM presentatielaag van de onderliggende mogelijkheden. Dit geldt in het bijzonder voor WebSphere implementaties voor een specifieke oplossing. Internet pagina’s voor ondernemingen moeten zelfstandig door de onderneming op een webserver ontwikkeld worden. Voor de interne logica kan dan de WAS ingezet worden (zie paragraaf 2.3.5). De ontsluiting van informatie en bedrijfsprocessen kan plaats vinden via diverse kanalen. Met het ontsluiten van bedrijfsprocessen wordt het toegankelijk maken van de bedrijfsprocessen voor klanten, leveranciers en interne medewerkers bedoeld. De begrippen Business-to-Consumer (B2C), en Business-to-Business (B2B) hebben betrekking op de vorm van communicatie die extern plaatsvindt met de onderneming. Dit gaat om communicatie met klanten (consumer) of andere ondernemingen (business). Deze communicatie kan plaats vinden via het internet, telefonisch of direct. Voor Business-to-Employee (B2E) communicatie valt ook de ontsluiting van legacy bedrijfsprocessen binnen People Integration. Het gaat er dan om bedrijfsinformatie toegankelijk te maken voor medewerkers. Welke specifieke WebSphere componenten maken dit mogelijk?
WebSphere
Pagina |9
WebSphere Portal (B2E) Met de WebSphere Portal kunnen ondernemingen diverse applicaties, nieuws en andere informatiebronnen via één interface aan hun medewerkers aanbieden. Het begrip portal is hier gebruikt om aan te geven dat de medewerkers via één ingang alle ondernemingsbronnen kunnen raadplegen. De input voor de portal wordt gerealiseerd door het gebruik van API’s. Binnen de portal kan het personeel door het gebruik van single sign-on, na één keer inloggen alle informatie en applicaties waarvoor zij geautoriseerd zijn benaderen. Dit kan overigens via diverse kanalen waaronder het internet, gsm of pda. WebSphere Everyplace en Voice (B2C, B2B) Daarnaast is er nog een aantal componenten om bedrijfsprocessen te ontsluiten via de mobiele telefoon. Voorbeelden hiervan zijn WebSphere Everyplace (Wireless on WebSphere) en WebSphere Voice. Met behulp van Everyplace kunnen klanten of leveranciers transacties via de mobiele telefoon uitvoeren. De Voice component zorgt voor een callcenter opzet waarbij er interactief met een informatie systeem gesproken kan worden voor bijvoorbeeld het opvragen van saldi of het uitvoeren van zoekopdrachten.
2.3.2 Process Integration De Process Integration componenten zijn gericht op applicatieontwikkeling. Ze zijn bedoeld om business processen te beschrijven in een model en daar vervolgens de proceslogica en componenten aan te koppelen. In Figuur 2 is een model opgenomen dat beschrijft hoe de ontwikkeling van bedrijfsprocessen binnen WebSphere in verschillende lagen is opgedeeld.
Figuur 2: Ontwikkellagen
In de ‘business logic’ laag zijn de bedrijfsprocessen op abstract niveau beschreven. Hierin worden de processen door middel van blokken uitgebeeld, waarbij er binnen elk blok een processpecifieke taak wordt uitgebeeld. Het werken op een dergelijke abstract niveau maakt ontwerpen in een grafische user interface mogelijk. Dit stelt procesanalisten, zonder specifieke technische kennis, in staat procesbeschrijvingen op te zetten die in de volgende stappen van het ontwikkelproces als basis gebruikt worden. De daadwerkelijke uitwerking van de afzonderlijke procestaken door programmeurs vindt plaats in de volgende ontwikkelfases. In Figuur 2 is een mogelijke verbinding tussen de procesbeschrijving in de Business logic laag, de werkelijke service componenten (webservice, informatiebronnen) in de Service components laag en uiteindelijk de technische implementatie binnen de IT infrastructuur (programmatuur, databases) in de Implementation laag inzichtelijk gemaakt.
WebSphere
P a g i n a | 10
Op deze manier kunnen bedrijfsprocessen regelmatig gebruikte componenten zoals het opvragen van klantinformatie hergebruiken door verbindingen tussen de ontwikkellagen uit Figuur 2 aan te brengen. Tevens kan de ontwikkeling van nieuwe geautomatiseerde bedrijfsprocessen door dit model versneld worden. Business analisten en programmeurs kunnen onafhankelijk van elkaar werken, maar ook onderling overleg verbeterd hierdoor. Elk van de specialismen krijgen door de samenhang van dit ontwikkelmodel eenzelfde beeld van de te ontwikkelen processen, waardoor elk specialisme de samenhang ziet met zijn specifieke kennis en het uiteindelijke einddoel. De business analist geeft door zijn uitwerking in procesblokken de ontwikkelaars inzicht in de componenten die benodigd zijn. Daarbij kunnen de ontwikkelaars richting de business analist duidelijk maken in welke fase van ontwikkeling zij zich bevinden en welke componenten hergebruikt kunnen worden om de doorlooptijd te verkorten. Binnen een bedrijfsproces kunnen eisen zijn gesteld aan de tijdigheid van een proces (hoelang mag een stap, of het totale proces duren), maar ook aan gebruik van een proces (hoeveel transacties lopen er langs). De WebSphere Business Modeler component ondersteunt deze mogelijkheid. In Figuur 3 is een algemeen voorbeeldmodel te zien van een klantenbestelling. KPI’s
Figuur 3: Websphere Business Modeler
In het model zijn geautomatiseerde handelingen opgenomen, maar ook handmatige zoals het uitvoeren van een credit card betaling. Nadat het bedrijfsproces is beschreven kunnen software architecten en ontwikkelaars deze als basis gebruiken om in de volgende stappen de onderliggende services te ontwerpen en bouwen. In dit voorbeeld van een bedrijfsproces zijn ook KPI’s5 opgenomen. Het gaat hier om de verwachte hoeveelheid van het type betaling (40% cash, etc). Door het gebruik van dashboards waarin de, voor het proces gedefinieerde KPI’s, grafisch zijn weergegeven, krijgt het management inzicht in de effectiviteit van de bedrijfsprocessen en kan op basis daarvan bijsturen. Hiervoor heeft IBM de WebSphere Business Monitor ontwikkeld.
2.3.3 Information Integration Information Integration is op zichzelf weer een verzameling van diverse WebSphere componenten, maar daar is in dit verband niet dieper op ingegaan. Wel zijn deze componenten opgenomen in bijlage 9.2. Met behulp van Information Integration kunnen ondernemingen verschillende vormen van informatie binnen één systeem aan elkaar koppelen. Voor een 5 Key Performance Indicators (ook wel Kritieke Prestatie Indicatoren), afgekort KPI's, zijn variabelen om prestaties van ondernemingen te analyseren.
WebSphere
P a g i n a | 11
integraal overzicht van beschikbare producten binnen de onderneming kan WebSphere Product Center ingezet worden. Hierbinnen is productinformatie gekoppeld aan leveranciersinformatie en afzetlocaties. Information Integration is bedoeld voor het koppelen van informatie uit diverse bronbestanden onafhankelijk van de locatie. Hiermee is de informatie uit (legacy) database management systemen (DBMS) te ontsluiten.
2.3.4 Application Integration Een van de uitgangspunten van ondernemingen om WebSphere in te zetten is de ontsluiting van legacy informatie. Het koppelen van oude en nieuwe systemen is mogelijk als beide systemen dezelfde taal spreken. Om de oude systemen hiervoor geschikt te maken zijn echter veel wijzigingen in de oude infrastructuur nodig. Met behulp van Application Integration is het mogelijk een tussenlaag in te richten die de communicatie tussen oude en nieuwe systemen verzorgt. Deze tussenlaag kan echter ook gebruikt worden om diverse platformen en zelfs ondernemingen onderling te verbinden. De communicatie vindt plaats door het uitwisselen van berichten. Een Enterprise Service Bus (ESB) is een generieke communicatiearchitectuur waarmee de communicatie tussen de afnemers van diensten (“service”) en aanbieders hiervan, vereenvoudigd wordt. In Figuur 4 is schematisch weergegeven wat de positie en rol van een ESB is. De ESB verzorgt de uitwisseling van berichten tussen twee componenten.
Figuur 4: Opzet Enterprise Service Bus
De service interface vanuit de ESB met de componenten kan voor beide aangesloten services verschillen qua vorm en opzet. Een voordeel van het gebruik van ESB is de standaardisatie van berichtenuitwisseling en de mogelijkheid de berichtenstroom te monitoren naar gebruik. IBM heeft verschillende uitvoeringen van de ESB ontwikkeld, waaronder de WebSphere Message Broker en de Websphere Enterprise Service Bus. WebSphere Message Broker De WebSphere Message Broker is een IBM implementatie van een ESB en zorgt voor een integratie van applicaties en services. WebSphere Message Broker kan informatie routeren tussen services, conversie uitvoeren tussen transport/netwerk protocollen en berichten formaten. De message broker vormt zo een essentieel onderdeel van een SOA. MQ is al beschikbaar sinds 1992 onder de naam MQSeries, maar sinds 2002 ondergebracht in de WebSphere suite. MQ is een onderdeel van de eerder genoemde WebSphere Message Broker en levert transport mogelijkheden van berichtenverkeer tussen verschillende platformen en netwerk protocollen. WebSphere Enterprise Service Bus WebSphere ESB is ontwikkeld voor gebruik binnen de WebSphere Application Server (WAS, zie paragraaf 2.3.5) en verzorgt de communicatie tussen meerdere WAS.
WebSphere
P a g i n a | 12
2.3.5 Application and transaction infrastructure Een aantal van de belangrijkste WebSphere componenten bevindt zich binnen het Application Infrastructure gedeelte van de WebSphere suite. Deze componenten bieden functionaliteit om ontwikkelde applicaties en legacy informatiesystemen beschikbaar te stellen binnen de Java runtime omgeving. Het vormt de basis voor de integratie van eerder beschreven componenten. In Figuur 5 is een overzicht weergegeven van de WebSphere Application Server (WAS) en de daarbij behorende onderdelen.
WebSphere Application Server NDM
Figuur 5: WebSphere Application Server (WAS) overzicht
De WAS omgeving is een run-time omgeving waarbinnen java applicaties draaien (servlets, JSPs, Enterprise JavaBeans etc). Binnen een WAS kunnen zich meerdere van dergelijke omgevingen, ook wel Java Virtual Machine’s (JVM) genoemd, bevinden. Het voordeel van een dergelijke virtuele omgeving is dat deze zorgt voor afscherming van andere processen die draaien binnen de WAS. Hierdoor worden afzonderlijke processen niet beïnvloed door effecten of fouten binnen andere processen. Voor het beheer van WAS is de Network Deployment Manager (NDM) bestemd. De NDM controleert alle application servers binnen een cel. Een cel is een logische eenheid van applicatie servers die zich op 1 of meerdere fysieke machines kunnen bevinden. Voor het beheer van de application servers is een web interface beschikbaar die draait op NDM. Met behulp van de NDM kunnen applicaties worden geïnstalleerd en kunnen configuratie parameters van de WAS in de Configuration Repository worden gezet. Er kan gebruik worden gemaakt van een Webserver welke zich binnen de WAS omgeving bevindt, maar doorgaans wordt hiervoor een aparte server opgezet in een afgeschermd deel van het netwerk dat het internet scheidt van het interne netwerk.
2.3.6 Accelerators WebSphere biedt ondernemingen de mogelijkheid een specifieke inrichting voor bedrijfsprocessen op te zetten. IBM biedt zelf enkele standaard inrichtingen aan, “Accelerators” genoemd. Door het gebruik van voorgedefinieerde inrichtingen kunnen inrichtingsactiviteiten versneld worden. Hieronder vallen ook adapters die de communicatie met diverse
WebSphere
P a g i n a | 13
standaardpakketten zoals SAP, PeopleSoft of Oracle afhandelen. Maar ook ondersteuning voor standaard interfaces naar email protocollen (SMTP, POP3) en bestandsoverdracht (ftp) wordt hiertoe gerekend. De accelerators worden echter steeds meer integraal in de WebSphere componenten opgenomen, maar nog wel als zodanig apart vermeld.
2.4 Uitwerking audit aspecten componenten Vanwege de veelheid van componenten beperken wij ons in de scriptie tot een drietal componenten, dat bij een groot gedeelte van ondernemingen met een WebSphere implementatie aanwezig zal zijn. Het betreft hier de WAS, NDM en MQ. Deze componenten bevinden zich in het centrum van de operationele productieomgeving en worden in hoofdstuk vijf verder uitgewerkt.
WebSphere
3
P a g i n a | 14
Wat maakt Websphere interessant vanuit een businessperspectief?
In het vorige hoofdstuk is behandeld wat onder de term WebSphere wordt verstaan. Dit hoofdstuk gaat in op de beweegredenen van organisaties om WebSphere componenten aan te schaffen en in te zetten als middleware om zodoende back-end systemen te kunnen ontsluiten. Waarom kiezen organisaties nu juist voor IBM WebSphere en niet voor een andere leverancier? Met andere woorden: wat maakt WebSphere interessant vanuit een business perspectief?
3.1 Concurrenten Elk kwartaal publiceert Gartner, een Amerikaanse organisatie die zich bezighoudt met onderzoek en advisering in de IT-industrie, een overzicht van leveranciers van application servers. In dit ‘Magic Quadrant’ deelt Gartner de leveranciers en hun producten in vier groepen in: de ‘niche players’, de ‘challengers’, de ‘leaders’ en de ‘visionaries’ (zie Figuur 6).
Figuur 6: Magic Quadrant for Enterprise Application Servers, 2Q06 (Bron: Gartner, augustus 2006)
Dit overzicht (‘leaders’ kwadrant) onderstreept duidelijk de leidende posities van IBM en Oracle (inclusief BEA). Tijdens het onderzoek zijn gesprekken gevoerd met WebSphere subject matter experts (SME) van ABN AMRO, Shell en van IBM zelf. Tijdens deze gesprekken is aan de orde gekomen dat er in feite slechts twee grote spelers waren op het moment (eind jaren negentig) dat deze drie bedrijven een keuze moesten maken ten aanzien van web applicatie servers, namelijk WebLogic en WebSphere. Beide servers zijn J2EE gecertificeerd, dus in staat in om in Java ontwikkelde applicaties te draaien. Voor Microsoft was op dat moment slechts een bijrol weggelegd. De WebSphere SME’s gaven aan dat WebLogic aanvankelijk een voorsprong had op WebSphere wat betreft functionaliteit, maar dat IBM die achterstand snel heeft ingehaald. Ter illustratie van de overeenkomsten ten aanzien van functionaliteit is in bijlage 9.3 is een overzicht opgenomen waarin WebSphere Application Server versie 6.0 is vergeleken met WebLogic Server 9 (de meest recente versies van beide servers).
WebSphere
P a g i n a | 15
3.2 Beweegredenen inzet WebSphere Uit het onderzoek bij ABN AMRO en Shell is verder gebleken dat met name de aansluiting op de installed base (de reeds aanwezige IBM infrastructuur) en de jarenlange relatie met IBM zeer belangrijke overwegingen zijn geweest om uiteindelijk voor Websphere te kiezen. De relatie met IBM leidt enerzijds tot toegang tot usergroups en development labs om gebruikerswensen en problemen geadresseerd te krijgen. Anderzijds leidt het tot IBM commitment om gebreken en tekortkomingen op afzienbare termijn6 op te lossen. De in samenspraak met de klant tot stand gekomen roadmap van WebSphere ontwikkeling geeft de klant de zekerheid dat er naar hem geluisterd wordt en dat er aan een oplossing gewerkt wordt. In de roadmap is de richting beschreven waarin het product zich zal ontwikkelen, welke problemen worden opgelost en welke nieuwe features worden geïntroduceerd. Dat die oplossing er ook daadwerkelijk komt heeft alles te maken met de bedrijfsomvang van IBM. De omvang van een onderneming als IBM geeft een garantie voor enerzijds continuïteit en anderzijds voor de beschikbaarheid van de middelen voor productontwikkeling en verbetering. De relatie garandeert ook ondersteuning van IBM tijdens de installatie van het product en het aanbrengen van bedrijfsspecifieke aanpassingen. Door de grote klantenkring beschikt IBM over veel ervaring bij andere klanten. Daardoor is er een grote kans dat problemen met het product zelf of in de samenwerking met andere producten al eens eerder is opgetreden en dat er een oplossing of workaround voorhanden is. De klantenwensen richten zich naast nieuwe functionaliteit ook op portabiliteit, compatibiliteit en schaalbaarheid. ABN AMRO en Shell hebben aangegeven grote waarde te hechten aan platform onafhankelijkheid (portabiliteit) van de applicaties. Daarvoor is het vereist dat applicatie ontwikkeling en de daarvoor gebruikte toolsets gebaseerd zijn op open standaarden. IBM’s WebSphere Application Server heeft met betrekking tot dit aspect een slechte start gehad vanwege het gebruik van proprietary software, maar vanaf versie 3.5 is dit sterk verbeterd en vanaf versie 5.0 is Websphere zelfs geheel op open standaarden gebaseerd. De eerder genoemde compatibiliteit met de aanwezige infrastructuur richt zich niet alleen op de ondersteunde platformen (Unix en mainframe), maar ook op de elkaar opvolgende software versies. Daarnaast is applicatie compatibiliteit gewenst, zodat applicaties geen ingrijpende wijzigingen hoeven te ondergaan wanneer ondernemingen een nieuwe versie van Websphere invoeren. Deze gebruikerswens is ingevuld vanaf WebSphere versie 6.0. Tot slot is de schaalbaarheid genoemd als belangrijke factor ten aanzien van de keuze voor WebSphere. Deze schaalbaarheid wordt bereikt door een combinatie van workload management, clustering en cloning. Door middel van clustering is het mogelijk meerdere machines zich als één geheel te laten gedragen. Per machine/server kunnen één of meerdere application servers worden geconfigureerd die elk in een Java Virtual Machine (JVM)7 draaien. De JVM biedt volledige isolatie (crash protection) per application server. Met behulp van cloning is het mogelijk meerdere kopieën van een application server te maken. Een load balancer kan vervolgens de werklast over deze kopieën verdelen. De performance karakteristieken worden uiteindelijk beperkt door de beschikbare systeemresources (CPU tijd en geheugen), maar kunnen binnen die grenzen worden geoptimaliseerd. Hierboven werd Microsoft al even kort genoemd. Eind jaren negentig, toen de in het onderzoek betrokken ondernemingen hun keuzes ten aanzien van applicatieservers hebben gemaakt, kon Microsoft niet concurreren met de WebSphere en WebLogic producten. Inmiddels heeft 6 7
IBM hanteert een systeem van ‘severity codes’, voor elke code geldt een maximale doorlooptijd. Een Java Virtual Machine is een platform onafhankelijke omgeving voor het uitvoeren van Java programma’s.
WebSphere
P a g i n a | 16
Microsoft met .NET een serieus alternatief. Shell blijkt één WebSphere implementatie zelfs uit te faseren ten gunste van .NET. Uit de gesprekken blijkt dat Shell deze beslissing heeft genomen omdat de aanvankelijk generiek beoogde WebSphere implementatie zodanig specifiek geworden was voor drie afzonderlijke regio’s dat het voordeliger bleek om drie separate oplossingen op basis van .NET te implementeren, dan verder te gaan met de bestaande WebSphere implementatie, die per regio gemodificeerd moest worden. Ook het model van interne kostenverrekening dat Shell hanteert speelde een rol bij deze keuze: Shell hanteert het criterium dat alle investeringen in IT infrastructuur binnen één jaar moeten worden terugverdiend. De kosten worden daarbij toegerekend aan de bedrijfsonderdelen die gebruik maken van de infrastructuur. Naarmate dit aantal kleiner is nemen de kosten per bedrijfsonderdeel sterk toe. Dit leidt tot terughoudendheid om (als eerste) gebruik te maken van nieuwe IT oplossingen.
WebSphere
4
P a g i n a | 17
Enkele toepassingen van Websphere in de praktijk
Tijdens het onderzoek naar praktische toepassingen voor WebSphere zijn twee internationaal opererende ondernemingen benaderd. Vanuit de financiële dienstverlening is Internet Bankieren bij ABN AMRO bekeken. Bij energiemaatschappij Shell is gekeken naar een Supply Chain management implementatie. Hieronder is kort beschreven voor welke toepassingen de afzonderlijke onderneming WebSphere gebruiken en in de paragrafen daarna is de inrichting per onderneming behandeld. ABN AMRO zet WebSphere componenten in om klanten (rekeninghouders) in staat te stellen financiële handelingen via internet te verrichten, zoals het opvragen van saldi, overboekingen invoeren, betalingen inplannen, incasso’s terugboeken en het opdracht geven tot aan- en verkopen op beurzen. Shell gebruikt WebSphere onder andere als portal naar informatie over haar diensten en producten. Als basis voor een Supply Chain Management systeem, draagt het bij aan de optimalisering van de afstemming tussen productie en transport richting afnemers. Shell kan de vraag vanuit de markt door het gebruik van historische data beter voorspellen en daarop ook de transportbehoefte afstemmen.
4.1 ABN AMRO Internet Bankieren omgeving Om enerzijds aan de wens van klanten tegemoet te komen om zoveel mogelijk zelfstandig bankzaken te regelen op momenten dat het de klant uitkomt en anderzijds de werklast van call centers, helpdesks en back office afdelingen belast met orderverwerking te verlichten, is de webinterface naar ABN AMRO ingericht. In 1998 werden de voorbereidingen getroffen om over te gaan van het telefonisch inbelsysteem Home Net (voor particulieren) naar een enkele ingang voor meerdere applicaties. De ABN AMRO Internet Bankieren omgeving biedt een uiteenlopende reeks applicaties aan die als volgt is te clusteren: - In en uitloggen (identificatie en autenticatie); - Klantbeeld applicaties (inzicht in klanten- en contracten informatie voor medewerkers); - Betalingen; - Beurs applicaties (invoer dialogen opdrachten beurs transacties); - Verkoop applicaties; - Monitoring applicaties; - Mandje applicatie (autoriseren van meerdere transacties tegelijkertijd).
4.1.1 WebSphere componenten In Figuur 7 is de IT architectuur opgenomen van de ABN AMRO Internet Bankieren omgeving. De omgeving wordt gevormd door een WebSphere inrichting op IBM hardware (midrange Pseries met AIX operating system) en verbindingen met de legacy informatiesystemen op het mainframe. ABN AMRO heeft er voor gekozen om de WebSphere omgeving niet op de mainframe omgeving te implementeren, maar op een separate midrange oplossing. Uit gesprekken met betrokken IT architecten blijkt dit een financiële afweging te zijn geweest. Een WebSphere implementatie op midrange was qua aanschaf van hardware en schaalbaarheid de beste business case.
WebSphere
HTTP
P a g i n a | 18
WAS on AIX
port
HTTP-1a
WAS-1a
port 2
HTTP-2a
WAS-2a
port ..
HTTP-..
WAS-..
port ..
HTTP-..
WAS-..
port ..
HTTP-..
WAS-..
port N
HTTP-Na
WAS-Na
Mainframe Cbus/ MQ DB2 type 4 driver Msec agent
IP-1 WAS on AIX port 1
HTTP-1b
WAS-1b
port 2
HTTP-2b
WAS-2b
port ..
HTTP-..
WAS-..
port ..
HTTP-..
WAS-..
port ..
HTTP-..
WAS-..
port N
HTTP-Nb
WAS-Nb
IMS
Msec Web services
NDM on AIX
SiteMinder agent
DB2 connect gateway
DB2 databases
IMS
sec agent DB2 type 4 driver
NDM on AIX
Cbus/ MQ
IMS
Figuur 7: ABN AMRO Internet Bankieren overzicht
De AIX servers zijn gepartitioneerd (opgesplitst in logical partitions, LPAR’s8).De LPAR’s zijn specifiek ingericht voor de volgende services: - HTTP, Hyper Text Transfer Protocol server node; - NDM, Network deployment Manager node; - WAS, WebSphere Application server node. HTTP servers De http servers zijn verantwoordelijk voor het ontvangen en beantwoorden van http requests van clients (web browsers). De informatie in de antwoorden kan bestaan uit web pagina’s zoals HTML documenten en linked objects zoals afbeeldingen. Network Deployment Manager (NDM) Via de NDM vindt het beheer van de WAS plaats: het stoppen/starten, configureren van instellingen en implementeren van nieuwe software packages op de WAS. WebSphere Application Server (WAS) De WAS zorgen voor het aanbieden van de Internet Bankieren applicaties. De communicatie tussen de applicaties van Internet Bankieren en DB2 databases op het mainframe verloopt via DB2 connect gateways op de NDM nodes, gehost op AIX servers. Dit is gebaseerd op Cbus/MQ. Cbus is een ABN AMRO specifieke implementatie van een Common Bus. Het gebruikt WebSphere MQ als transport laag. Per WAS node is een MQ Queue Manager geïnstalleerd en geconfigureerd. De Queue Managers zijn geclusterd per omgeving in een MQ cluster. In Cbus is een security exit geïmplementeerd die de berichten (met transactie data) versleuteld. De access control van applicaties en transacties wordt uitgevoerd door een voor ABN AMRO specifieke toepassing Msec. Elke WAS node heeft een Msec-agent die communiceert met de SiteMinder agent op de Msec Web Services servers. Deze Msec Web Services communiceren op hun beurt met de Msec Policy servers welke de specifieke access control lijsten bevat (niet ingetekend). Hierin is opgenomen welke autorisaties er zijn toegewezen aan de klant.
8
Logical Partition, ook wel LPAR genoemd; is een deelverzameling van server hardware welke opereert als virtueel server. Op deze manier kan een fysieke server zijn opgedeelde in meerdere virtuele servers met een logische onderling scheiding.
WebSphere
P a g i n a | 19
4.1.2 Architectuur Vanuit een continuïteitsoptiek is de gehele Internet Bankieren infrastructuur dubbel uitgevoerd (zie Figuur 8). EIG
Isolatie zone
Intern netwerk
DMZ Active
Access Router
Firewall
SSL Accelerator / Reverse Proxy
Firewall
Choke Router
HTTP server
Router met ACL
WAS Server
Load balancer service
Site Balancer
Not active
Active
Access Router
Firewall
SSL Accelerator / Reverse Proxy
Firewall
Choke Router
Not active
Mainframe
HTTP server
Router met ACL
WAS Server
Figuur 8: Overzicht van het internet bankieren netwerk
Er is een één-op-één koppeling tussen http servers en WebSphere Application Servers. De werklast wordt over de http servers (en daarmee dus over de WAS-sen) verdeeld door loadbalancers. De loadbalancers hebben tevens een functie als fail-over mechanisme ten einde een hoge beschikbaarheid mogelijk te maken. Uit beveiligingsoogpunt is het netwerk gesegmenteerd waarbij de volgende onderdelen zijn te onderscheiden: - European Internet Gateway (EIG); De EIG is de ingang voor klanten naar de Internet Bankieren omgeving. Onderdeel van de EIG is de DeMilitarized Zone (DMZ). Hier wordt de SSL encryptie van de communicatie met de klant opgezet en middels firewalls de toegang voor onbevoegden geblokkeerd. - Isolatie zone; Binnen de isolatie zone vindt de afhandeling van http request plaats door de http servers. - ABN AMRO Bank (AAB) interne netwerk. Binnen het interne netwerk vindt de communicatie plaats tussen WAS en de legacy informatie systemen (DMBS, etc.).
WebSphere
P a g i n a | 20
4.2 Shell Supply Chain Management De bedrijfsprocessen van Shell zijn grofweg in te delen in upstream en downstream. Upstream betreft de ontginning van olievelden en downstream is het proces van raffineren en distributie naar afnemers. Voor de downstream processen heeft Shell een supply-chain optimalisatie informatie systeem ontwikkeld. Het systeem bepaalt aan de hand van historische bestelgegevens van de afnemers de verwachte behoefte aan geraffineerde producten in de toekomst. Op basis van deze behoefte worden dan vervolgens de orders voor de raffinaderijen ingepland. Aansluitend wordt de distributieplanning hierop afgestemd, door de juiste hoeveelheid pijpleiding capaciteit, scheepstransport en transporttrucks in te plannen om het gereed gekomen product naar de afnemers te transporteren. Voor het uitvoeren van deze applicatie maakt Shell gebruik van een WebSphere implementatie. Daarnaast maken nog andere applicaties gebruik van de WebSphere infrastructuur, maar het gebruik hiervan is niet specifiek meegenomen in deze beschrijving.
4.2.1 WebSphere componenten Als webserver in de DMZ wordt Netscape Enterprise 3.0 gebruikt en WebSphere Application Server (versie 3.0.2) is ingezet als applicatieserver. De opslag van data vindt plaats in Oracle databases. In eerste instantie is geen gebruik gemaakt van WebSphere security functionaliteiten. Applicatiefunctionaliteit is afgeschermd met applicatiespecifieke access control lists.
4.2.2 Architectuur In Figuur 9 is een IT architectuur overzicht opgenomen van de WebSphere implementatie bij Shell. Uit dit overzicht blijkt dat Shell heeft gekozen voor het scheiden van de webserver en de web applicatie server. De redenen voor deze scheiding zijn: - Door specifieke werklast te splitsen kan de overall performance worden verbeterd; - Flexibiliteit ten aanzien van deployment op beide omgevingen. Production Environment
Client
Internet
Internal User
Intranet
Firewall
Security 1
Load Balance
Web Server
Load Balance
Web Service
Cache Service
File Service
Firewall
Security 2
Application Server Application Service
Database Server Integration Service
File Service
Relational Database
Operating Units Environment
Import Facility
Data Systems
File Service Call Centre
Security Runtime
Mail Service
Security Service
Directory Service
Directory Service
Physical Machine Boundary
Figuur 9: Shell WebSphere overzicht
Vanuit het oogpunt van beschikbaarheid van het informatie systeem en performanceoptimalisatie is besloten tot de invoering van redundante hardware (zie Figuur 10). De volgende infrastructuur componenten zijn dubbel uitgevoerd: - Loadbalancer; - Webserver; - WebSphere Application Server; - Database server (Oracle database).
WebSphere
Firewall
P a g i n a | 21
Load Balance
Web Server
Firewall
Application Server
Database Server
IB M
Web 1
App 1
Load Prime IB M
Firewall
Take-over Database
Firewall
Load Backup Web 2
App 2
Figuur 10: Redundante hardware in Shell Websphere infrastructuur
Shell legt de nadruk op scheiding van applicaties omdat een uitgangspunt is dat de applicaties elkaar niet onderling mogen beïnvloeden om zodanig de vertrouwelijkheid en integriteit van informatie per systeem te waarborgen. Daarnaast is ook de beschikbaarheid een reden voor de scheiding. Storingen of overmatig gebruik van resources mogen geen invloed hebben op de overige systemen.
WebSphere
5
P a g i n a | 22
IT Audit aspecten
5.1 Inleiding De definitie van de het vakgebied van IT auditing is als volgt verwoord door Van BieneHershey “IT auditing is an independent and impartial assessment leading to a clear opinion about information systems, cybernetic systems, technical systems as they are used by the enterprise; as well as all parts of the organisation with any relationship to those systems; in particular those parts of the organisation responsible for developing, maintaining, introducing and operating automated systems, as well as the management of the infrastructures relied upon by the enterprise” (Van Biene-Hershey, 1996)
De relatie met WebSphere is evident gezien de rol die WebSphere binnen organisaties speelt met betrekking tot de ontsluiting en beschikbaarstelling van bedrijfsprocessen. Deze rol in de vormgeving van de automatisering kan per onderneming anders zijn. Wanneer WebSphere verregaande koppelingen ondersteunt tussen legacy en webbased systemen vormt dit een bron van informatievoorziening binnen de onderneming en daarmee een object dat binnen het domein van de IT auditor valt. In dit hoofdstuk wordt ingegaan op de deelvraag welke IT audit aspecten, risico’s en mitigerende maatregelen te onderkennen zijn ten aanzien van WebSphere. IBM rekent ruim 60 producten tot de WebSphere suite. Wij hebben besloten om ons in het kader van deze scriptie te beperken tot een drietal componenten welke bij een groot gedeelte van ondernemingen met een WebSphere implementatie aanwezig zullen zijn. Het betreft hier de WAS, NDM en MQ. Deze componenten bevinden zich in het centrum van de operationele productieomgeving. Voor de uitwerking van dit hoofdstuk is gekozen voor een voorbeeldconfiguratie met daarin de hierboven genoemde drie componenten. Het doel van deze configuratie is niet om volledig te zijn, maar om inzicht te bieden in de risico’s die binnen een WebSphere implementatie onderkend kunnen worden. Eerst wordt een uitleg gegeven over de opbouw en functionaliteit van de voorbeeldconfiguratie. Daarna worden onderkende risico’s gecategoriseerd en nader uitgewerkt en gerelateerd aan de kwaliteitsaspecten beschikbaarheid, integriteit en vertrouwelijkheid (NOREA, 1998). Aansluitend op de risico’s zijn mitigerende maatregelen behandeld.
WebSphere
P a g i n a | 23
5.2 Voorbeeld configuratie Een WebSphere implementatie bestaat minimaal uit een WAS en NDM component. Daarnaast wordt de MQ component vaak aangetroffen. Deze componenten vormen daarom de kern van onderstaande voorbeeldconfiguratie (Figuur 11). Deze voorbeeldconfiguratie stelt een klant of medewerker in staat om met een browser toegang te krijgen tot een applicatie op de WAS. WebSphere Application Server (WAS)
Application Server Java Virtual Machine (JVM) Browser
HTTP
Web Server
JDBC HTTP
Java Policy File
MQ JMS Server WAS
Admin Browser
HTTP
Application DB
MQ IMS
Network Deployment Manager (NDM)
Figuur 11: Voorbeeld WebSphere configuratie
Gebruikerscommunicatie De gebruikers maken met een browser via het internet verbinding met de webserver. De webserver vormt de overgang van het internet naar het interne netwerk van de onderneming. De webserver is verbonden met de WAS waarop binnen één JVM de applicatie draait. In deze configuratie draait WAS op een UNIX server. Medewerkers kunnen ook gebruik maken van de applicatie op de WebSphere infrastructuur. Hun werkstation is echter verbonden met het interne netwerk, zodat de verbinding met de applicatie server niet via het internet verloopt. Beheerders kunnen zich aanmelden via een aparte pagina (Admin Browser) om toegang te krijgen tot het WAS console op de NDM. Via het console kunnen beheerders bijvoorbeeld onderdelen stoppen/starten en nieuwe applicaties in de WAS opvoeren. WebSphere componenten De WAS en webserver zijn beide op aparte servers opgezet. De applicatie heeft in deze configuratie een verbinding met een database via een Java Database Connectivity (JDBC) verbinding. Middels JDBC kan de applicatie informatie uit de database lezen en naar de database schrijven. Voor het uitvoeren van transacties in back-end informatiesystemen wordt gebruik gemaakt van MQ componenten aan kant van de WAS en de legacy informatie systemen (in dit voorbeeld IMS9). De werking van deze opzet is als volgt: - de applicatie op WAS geeft transactie-informatie door aan JMS; - JMS plaats de informatie op de MQ message queue; 9 IBM Information Management System; hiërarchische database en transactie manager (ondersteunt communicatie over en weer met gebruikers en programma’s)
WebSphere
-
P a g i n a | 24
MQ zorgt voor het beheer van de queues en voor het transport tussen de WAS en legacy informatie systemen; IMS leest de MQ message queue uit en verwerkt de transacties.
JMS is onderdeel van de open standaard J2EE en kan door gebruik te maken van speciale MQ Java classes de communicatie met MQ vanuit de WAS omgeving verzorgen. De toegang tot en de functionaliteit van de applicatie is beheerst door gebruik te maken van een Java policy file waarin user credentials en autorisaties zijn opgeslagen. De user credentials hebben de vorm van een gebruikersnaam en een wachtwoord. De autorisaties hebben de vorm van een url (bijvoorbeeld www.bedrijfsnaam.com/applicatienaam/start.html) waarvoor een gebruiker geautoriseerd kan zijn. Bij het deployen van applicatie software worden de Java files ‘uitgepakt’ en naar vooraf gedefinieerde directories gekopieerd (kunnen naast executable code ook policies zijn). Expliciet buiten beschouwing gelaten voor de IT audit aspecten, maar wel opgenomen voor inzicht in de positionering zijn de componenten IMS, JDBC, JVM, JMS Server en de webserver. IMS, JDBC en de webserver bevinden zich niet binnen de scope van Websphere. Verder is JVM een open standaard en als zodanig niet WebSphere specifiek.
5.3 Uitwerking IT Audit aspecten In de opzet van een complexe IT infrastructuur zijn diverse IT audit aspecten te onderkennen. Voor de behandeling van WebSphere is daarom gekozen voor een indeling in groepen, welke gestructureerd worden uitgewerkt. Aan de hand van de configuratie in Figuur 11 is een indeling gemaakt in de IT audit aspecten: - Logische toegangscontrole; - Configuratie aspecten; - Berichtenverkeer; - Infrastructuur vulnerabilities; - Overig. Het aspect overig is opgenomen om diverse IT audit attentiepunten te benoemen die niet expliciet binnen het bereik van WebSphere vallen, maar daar zeer dicht tegen aan liggen. De genoemde punten zijn minder in detail uitgewerkt maar geven aan waar de IT auditor zelf nog nader onderzoek moet verrichten. Per aspect zal worden ingegaan op de specifieke risico’s en de kwaliteitsaspecten (beschikbaarheid, integriteit en vertrouwelijkheid) die daarmee samen hangen.
WebSphere
P a g i n a | 25
In Tabel 1 is een overzicht opgenomen van de IT audit aspecten in relatie tot de kwaliteitsaspecten beschikbaarheid, integriteit en vertrouwelijkheid. IT audit aspecten Logische toegangscontrole Configuratieaspecten
beschikbaarheid x x
integriteit x x
vertrouwelijkheid x x
Berichtenverkeer
x
x
x
Infrastructuur vulnerabilities
x
x
x
Overig (bijlage 9.6)
-
-
-
Tabel 1: IT audit aspecten.
In de volgende paragrafen zijn de IT audit aspecten logische toegangscontrole, configuratie aspecten, berichtenverkeer, infrastructurele vulnerabilities en overig uitgewerkt.
5.4 Logische toegangscontrole
-
-
WAS Afschermen toegang tot kritische bestanden; waaronder de policy file en de diverse configuratie bestanden. Afschermen WAS programma bestanden. Stoppen/Starten
-
NDM Afschermen van configuratiebestanden; Afschermen van beheer functionaliteit (stoppen/starten, deployen applicaties etc.).
-
MQ Afschermen van berichten op de queue; Afschermen van beheer functionaliteit (stoppen/starten etc.).
Tabel 2: Logische toegangscontrole aspecten
In Tabel 2 zijn per WebSphere component de belangrijkste audit aspecten in een overzicht opgesomd. Het overzicht is hieronder verder uitgewerkt. Een goede werking van de WebSphere componenten is afhankelijk van kritische resources die de werking bepalen. De kritische resources van de WAS zijn configuratie bestanden, executable files en de policy file. De configuratie bestanden bevatten de parameters waarmee onder andere de security settings kunnen worden bepaald. De executable files zijn de bestanden die de programma’s bevatten om de WAS te kunnen laten draaien. De policy file bevat de gebruikers en hun rechten. De kritische resources van NDM zijn de user interfaces (Admin browser en wsadmin) en de beheerfuncties die deze interfaces bieden. De beheerfuncties zijn onder andere het stoppen en starten van de WAS, het opvoeren van gebruikers (applicatie accounts) en toekennen van rechten (in de policy file en interne configuratie files) en het deployen van applicaties. De Admin browser is een grafische interface waarin beheer functies worden uitgevoerd door het invullen van velden in schermen. Wsadmin is een niet-grafische interface. Wsadmin commands kunnen via een (Unix) shell (dus interactief) worden gegeven of via een script. Er is voor wsadmin een aparte scripttaal. Voor MQ tot slot zijn de kritische resources de queue’s en de beheerfunctie. Op de queues staan voor korte (local en remote queue’s) of langere tijd (DLQ) de berichten in clear text. Behalve dat de data kan worden gelezen, kan deze ook worden gemanipuleerd (aangepast of verwijderd). Met de beheerfunctie kan de queue configuratie (queue naam, type, dimensionering) worden bepaald, kunnen queue’s worden gestopt en gestart en kunnen gebruikers (applicatie accounts) worden opgevoerd en rechten worden toegekend (in aparte MQ configuratie files).
WebSphere
P a g i n a | 26
Het ongeautoriseerd wijzigen van elk van bovengenoemde kritische resources introduceert risico’s voor de beschikbaarheid van de applicaties die op deze infrastructuur draaien en risico’s voor de integriteit en vertrouwelijkheid van de data die door deze applicaties wordt verwerkt. De risico’s kunnen worden gemitigeerd door beheersing van de toegang tot de kritische resources. In het geval van de voorbeeldconfiguratie waarbij de WS componenten op Unix draaien heeft het root account te allen tijde de hoogste/mutatie rechten op alle bestanden. Het is dus zaak om het gebruik van het root account af te schermen. De taken die een beheerder kan uitvoeren via de beheerinterfaces, zowel grafisch als niet grafisch, worden bepaald door de rol die aan hem is toegekend. Met behulp van de WAS beheer rollen (zie voor een overzicht van de WAS 6.x beheer rollen bijlage 9.4) kan functiescheiding worden geïmplementeerd. De volgende rollen zijn beschikbaar: - Monitor; Alleen leesrechten. - Configurator; Leesrechten en update rechten op de WAS configuratie bestanden. - Operator; Leesrechten en uitvoeren van operator commands, waaronder het stoppen en starten van application servers. - Administrator; Combinatie van configurator en operator rol, plus toegang tot WAS kritische data zoals server wachtwoord en encryptie sleutels. - AdminSecurityManager. Opvoeren van gebruikers en groepen, toewijzen van beheer rollen. Bij het toekennen van een rol aan een account bestaat het risico dat een rol ten onrechte wordt toegekend of dat de rol langer wordt behouden dan nodig voor het uitoefenen van de functie (bijvoorbeeld bij wisseling van functie of uitdiensttreding). Daarnaast kunnen aan een account één of meerdere rollen worden toegekend. Bij het toekennen van meerdere rollen bestaan er risico’s voor doorbreking van functiescheiding. Deze risico’s kunnen procedureel worden gemitigeerd door periodieke controle van de accounts en hun toegangsrechten. Bij installatie van WAS worden voor beheer standaard onpersoonlijke accounts opgevoerd die een risico voor accountability introduceren. Dit risico kan worden gemitigeerd door de beheerders alleen onder hun persoonlijke accounts hun werkzaamheden te laten uitvoeren en het gebruik van de standaard meegeleverde accounts te blokkeren. De diverse Administrator en Configurator rollen zijn enkel nodig tijdens het aanbrengen van wijzigingen op de configuratie. Deze rollen kunnen voor de duur van een wijziging worden toegewezen aan het betreffende account van een beheerder. De Monitor en Operator rol zijn uitsluitend bestemd voor de operators die toezien op de 24/7 beschikbaarheid van de IT infrastructuur. Door onafhankelijke analyse van de systeemlog bestanden kunnen de activiteiten van de operators (en administrator wijzigingen) gecontroleerd worden.
5.5 Configuratie aspecten Tijdens de installatie en configuratie van WebSphere componenten kunnen keuzes worden gemaakt met betrekking het instellen van parameters. De parameters kunnen betrekking hebben op uiteenlopende zaken. Gewoonlijk kunnen definities (bijvoorbeeld bestandsnamen, programma’s en vorm van gebruikersnaam), dimensionering (bijvoorbeeld de grootte van MQ queues) en security instellingen worden opgegeven. De security gerelateerde parameters in het bijzonder zijn van belang vanuit een audit perspectief. In Tabel 3 zijn de aspecten opgenomen welke betrekking hebben op het configureren van WAS, MQ en NDM. In de volgende paragrafen zijn deze verder uitgewerkt.
WebSphere
-
P a g i n a | 27
WAS Key Management; Global Security Separate gebruiker (WASUSER) Audit logging
-
NDM Configuratie Audit logs
-
MQ Prioritering Grootte queues Dead Letter Queue configureren Encryptie configureren.
Tabel 3: Configuratie aspecten WAS, NDM, MQ
5.5.1 Configuratie WAS en NDM. Voor de uitwerking van risico’s met betrekking tot de WAS, is gebruik gemaakt van versie 6.x.
5.5.1.1 WAS De communicatie in de laatste versie (6.x) van WAS met het console vindt plaats via HTTPS. Voor de encryptie op SSL niveau wordt bij de initiële installatie van de WAS een standaard SSL sleutelpaar geleverd. De naam van de private key is DummyServerKeyFile. Doordat alle ondernemingen deze private key krijgen, is het voor de vertrouwelijkheid van het berichtenverkeer noodzakelijk hiervoor een nieuw keypair te verkrijgen. Daarnaast kan het verlopen van de geldigheid van een certificaat een risico vormen voor de beschikbaarheid. De organisatie zal een key management proces moeten inrichten wat ervoor zorgt dat certificaten tijdig worden verlengd of vervangen. In WAS versie 6.1 is authenticatie voor administrators afgedwongen door het systeem, voor vorige versies was dit niet het geval. Daarom dient bij eerdere versies gelet te worden op instelling van de global security parameter. Indien de parameter niet is gezet kan iedereen die via het netwerk contact kan leggen met de admin browser daarop beheertaken uitvoeren. Het inzien van configuratie bestanden of het stoppen/starten van een WAS vormt een risico voor de beschikbaarheid, integriteit en vertrouwelijkheid. De standaard instelling voor de parameter Java 2 security is ‘disabled’. Deze parameter heeft invloed op de applicatie programma’s die binnen JVM draaien. Zolang Java 2 Security niet is geactiveerd hebben de applicaties ongehinderd toegang tot alle JVM resources, waaronder API’s naar de administratieve WAS functies. Creatieve applicatie programmeurs kunnen deze API’s misbruiken en vormen als zodanig een risico voor de beschikbaarheid. Het activeren van de security parameter vergt wel de nodige administratieve handelingen om per applicatie te definiëren welke toegang alsnog is toegestaan. Mitigerende maatregelen hiervoor zijn ondermeer het uitvoeren van code review en een gecontroleerde scheiding tussen ontwikkeling en productie. Bij de installatie van WAS worden voorbeeldscripts meegeleverd die beheerders kunnen gebruiken voor beheerwerkzaamheden. Deze voorbeeldscripts kunnen ondermeer configuratie informatie tonen (showCfg en snoop Servlets). Deze configuratie informatie dient als vertrouwelijk te worden beschouwd omdat zij inzicht geeft in de opzet van de applicatie server en daarmee eventueel foutieve instellingen. De voorbeeldscripts moeten daarom zo snel mogelijk verwijderd worden van systemen bestemd voor productie. Voor communicatie van en naar de WAS kunnen poorten worden opengezet. Poorten waarop geen communicatie verwacht wordt, maar toch geactiveerd zijn lopen het risico op misbruik. Dit kan gemitigeerd worden door het deactiveren van deze ongebruikte poorten. Een voorbeeld hiervan is de WC_defaulthost*, welke standaard poorten activeert, die mogelijk niet gebruikt worden. WAS maakt gebruik van een caching mechanisme om wachtwoorden in het geheugen op te slaan. Hierdoor kan het voor komen dat verouderde wachtwoord informatie gebruikt wordt,
WebSphere
P a g i n a | 28
ondanks dat het werkelijke wachtwoord in de registry al veranderd of geblokkeerd is. Dit kan worden voorkomen door gebruik te maken van de volgende parameter : com.ibm.websphere.security.util.authCacheEnabled= BasicAuthDisabled. Het kan voor performance redenen desondanks toch raadzaam zijn deze parameter geactiveerd te laten. Dat is een afweging die per configuratie gemaakt moet worden. In principe kunnen de webserver en de WAS op één en dezelfde fysieke server worden geïnstalleerd. Vanuit security oogpunt is het echter ‘best practice’ om een scheiding aan te brengen en de WAS in het interne netwerk op te nemen. De webserver wordt dan in een DeMilitarized Zone (DMZ) ondergebracht. Als de WAS zich in de netwerkzone bevindt die direct is verbonden met het internet, vergroot dit het risico op aanvallen van hackers. De DMZ zorgt door inzet van firewalls dat enkel geautoriseerde communicatie tot stand komt tussen de webserver en de WAS. Om de interne communicatie met de Web console af te schermen is het tevens raadzaam tussen de WAS console en het interne netwerk een firewall op te nemen om het risico op netwerk aanvallen van binnenuit te mitigeren.
5.5.1.2 Operating system De WAS omgeving zelf bestaat uit diverse bestanden, waaronder configuratiebestanden en programma’s. Onbedoelde of niet geautoriseerde aanpassingen en/of verwijderingen vormen een risico voor de integriteit en beschikbaarheid van de WAS omgeving. Om dit risico te mitigeren kan de bevoegdheid voor schrijven en lezen van deze bestanden, aan één UNIX account (bijvoorbeeld WAS) worden toegekend. Tijdens installatie op het UNIX platform moet de umask waarde voor het root account op 022 ingesteld worden. Hierdoor kunnen bestanden waarvan de root eigenaar is enkel door de root beschreven en verwijderd worden. De overige accounts hebben dan maximaal leesrechten op de bestanden.
5.5.1.3 Logging De NDM legt alle configuratie wijzigingen op de WAS omgeving vast in een audit log. De informatie uit dit log is van belang om te kunnen achterhalen wie elke wijziging heeft doorgevoerd en voor de analyse van verstoringen (incidenten). Om de integriteit van dit logbestand te waarborgen moet de IT auditor rekening houden met de logische toegangscontrole maatregelen en back-up processen. Daarnaast zijn er nog WAS systeem log bestanden waarin interne WAS gebeurtenissen worden weggeschreven. De “serious event stream” is hier een voorbeeld van en bevat meldingen van kritische gebeurtenissen. Het monitoren van deze gebeurtenissen is van belang om een goede werking van de omgeving te kunnen waarborgen. De IT auditor mag hiervoor een proces verwachten wat beschrijft welke analyse er plaatsvindt op de log informatie en hoe vervolg acties geïnitieerd worden.
5.5.2 Configuratie MQ Communicatie tussen de WAS en de back-end systemen verloopt in de voorbeeldconfiguratie via MQ. MQ is een vorm van persistent asynchrone communicatie. Asynchrone communicatie wil zeggen dat de zendende applicatie niet hoeft te wachten tot de ontvangende applicatie beschikbaar is. Het verzonden bericht wordt in een buffer (een queue) gezet totdat de ontvangende applicatie het bericht afneemt. De zendende applicatie kan direct verder gaan met andere taken. Persistent betekent dat het bericht net zolang in de queue bewaard blijft totdat het wordt afgenomen. Het bericht komt dus niet te vervallen. Dit in tegenstelling tot transient synchrone communicatie. Daarbij moet de zendende applicatie beschikbaar blijven tot de
WebSphere
P a g i n a | 29
ontvangende applicatie het bericht afneemt of zelfs verwerkt heeft. De zendende applicatie is gedurende deze periode niet beschikbaar voor andere activiteiten. Hoewel de doorlooptijd/response tijd van de MQ berichtenuitwisseling niet kan worden gewaarborgd, is het voor de WAS efficiënter om user requests te blijven afhandelen dan te wachten op antwoord. Voor de eindgebruiker heeft het als nadeel dat de responsetijd van de applicatie ook niet is gewaarborgd. Een risico van opslag van berichten in een queue is dat de queue volloopt door bijvoorbeeld beschikbaarheidsproblemen van de ontvangende applicaties. In dat geval kunnen er geen nieuwe berichten meer op de queue worden geplaatst. Deze nieuwe berichten zullen dan verdwijnen. Standaard worden de berichten die via MQ worden verzonden niet versleuteld. Door het berichtenverkeer tussen queue’s af te luisteren kan kennis genomen worden van de inhoud van de berichten. Het onjuist configureren/parametriseren van MQ introduceert risico’s voor de tijdigheid van de verwerking van user requests, voor de volledigheid van verwerking van de requests en de vertrouwelijkheid van de berichtenuitwisseling tussen queue’s. De risico’s van tijdigheid kunnen worden gemitigeerd door gebruik te maken van high priority queue’s. Berichten die de hoogste eisen aan transportsnelheid stellen dienen via deze queue’s te worden gerouteerd. Het vollopen van de queue’s kan worden gemitigeerd door: - De queue’s voldoende groot te dimensioneren; - De verblijftijd van berichten op de queue te beperken; - De status van de queues te monitoren. Berichten die te lang op de queue verblijven of niet meer op de queue kunnen worden geplaatst kunnen naar een zogenaamde Dead Letter Queue (DLQ) worden geschreven. Hiermee wordt in ieder geval gewaarborgd dat er geen berichten verdwijnen. Verwerking van berichten op de DLQ vereist handmatig ingrijpen. Ook de DLQ kan vollopen, waarna berichten alsnog verdwijnen. Een restrisico voor wat betreft volledigheid van verwerken blijft daarom bestaan. De risico’s voor de vertrouwelijkheid van de berichten tijdens transport tussen queue’s kunnen worden gemitigeerd door het enablen van Secure Sockets Layer (SSL) op het MQ channel. Met SSL kunnen enerzijds de berichten worden versleuteld en anderzijds de sessie partners worden ge-authenticeerd.
5.6 Berichten uitwisseling In Tabel 4 staat een overzicht van de risico’s met betrekking tot het berichtenverkeer en de kwaliteitsaspecten waarop zij betrekking hebben. In de volgende paragrafen worden ze uitgewerkt voor de WAS en MQ. -
WAS Vertrouwelijkheid verkeer webserver -WAS; Vertrouwelijkheid verkeer admin browser-WAS
NDM -
-
MQ Vertrouwelijkheid van berichten Integriteit van berichten
Tabel 4: Aspecten berichtenverkeer
5.6.1 WAS Berichtenuitwisseling met WAS vindt plaats vanaf de webserver, de beheer interfaces en MQ. De IT audit aspecten met betrekking tot MQ worden in de volgende paragraaf behandeld.
WebSphere
P a g i n a | 30
De berichtenuitwisseling tussen WAS versies voorafgaand aan 6.x en de webserver betreft http verkeer over het interne netwerk van de onderneming. Het verkeer is niet versleuteld. De berichten kunnen informatie bevatten als user credentials en input voor de applicatie of output van de applicatie. De berichtenuitwisseling tussen WAS en de beheerinterfaces verloopt via NDM. Het verkeer tussen (de grafische beheer interface) Admin browser en NDM gebruikt het http protocol; tussen NDM en WAS geldt een IBM (proprietary) protocol. Het verkeer tussen Admin browser en NDM (via http) is niet versleuteld. De berichten kunnen informatie bevatten als administrator credentials, waarden voor WAS parameters en operator commands (bijvoorbeeld: stop WAS1). Het verkeer tussen het werkstation van de beheerder en de niet-grafische beheerinterface “wsadmin” op de Unix server kan verlopen via een Telnet sessie. Het Telnet protocol ondersteunt versleuteling van berichten niet. Berichtenverkeer over het http protocol en het Telnet protocol introduceert risico’s voor de integriteit en vertrouwelijkheid van de data, omdat het verkeer niet is versleuteld en kan worden afgeluisterd. De risico’s voor integriteit en vertrouwelijkheid kunnen worden gemitigeerd door het berichtenverkeer over een secure protocol te laten plaatsvinden. SSL wordt ondersteund door WAS, webserver, Admin browser en Windows werkstations. In de WAS versie 6.x is dit risico reeds gemitigeerd door standaard gebruik te maken van https.
5.6.2 MQ Berichten die worden verstuurd van een applicatie op de WAS naar een applicatie op het backend systeem (bijvoorbeeld een IMS applicatie) via MQ, gaat over verbindingen tussen: - WAS en JMS; - JMS en MQ local queue; - MQ local queue en MQ remote queue (het message channel); - MQ remote queue en IMS. Op deze verbindingen ondersteunt MQ alleen versleuteling van berichten over het messagechannel. Op applicatie niveau bestaan er risico’s voor de vertrouwelijkheid van de berichten omdat MQ alleen op message channel kan versleutelen. Er bestaan tevens risico’s voor de integriteit van de berichten omdat berichten op de queue’s kunnen worden gewijzigd. Eveneens op applicatie niveau bestaan er integriteitsrisico’s voor de verwerking van berichten omdat voor de bestemmings queue’s niet is gewaarborgd dat alle berichten zijn aangekomen en dat ze in de juiste volgorde zijn aangekomen. Wanneer de applicatie op de WAS berichten naar meerdere remote queue’s stuurt, dan kan de volgorde van aankomst van de berichten vanwege de asynchrone verzending door MQ veranderen. Het vollopen van queue’s of foutief adresseren kan aankomst van berichten op de bestemde queue verhinderen/belemmeren. De risico’s kunnen worden gemitigeerd door implementatie van maatregelen op MQ niveau en op applicatie niveau. Op MQ niveau kunnen berichten worden voorzien van ‘sequence numbering’ waardoor de afnemende applicaties de berichten in de gewenste volgorde kunnen verwerken. Hiermee kunnen de risico’s met betrekking tot volledigheid worden gemitigeerd.
WebSphere
P a g i n a | 31
De overige risico’s ten aanzien van vertrouwelijkheid en integriteit kunnen niet met maatregelen op MQ niveau worden gemitigeerd. Het vertrouwelijkheidsrisico kan worden gemitigeerd door implementatie van end-to-end encryptie op applicatie niveau. Het risico ten aanzien van de juistheid (integriteit) van berichten kan worden gemitigeerd door aan de berichten een controlegetal of hash toe te voegen en dit door de applicatie die de berichten afneemt te laten controleren.
5.7 Infrastructuur vulnerabilities Tijdens de ontwikkeling van programmatuur kunnen onvoorziene fouten lijden tot onvoorzien gedrag van de uiteindelijke software. Deze fouten worden vulnerabilities genoemd. Analyse van dit onvoorziene gedrag kan leiden tot misbruik, waardoor bijvoorbeeld verhoogde autorisatie kan worden verkregen. Platform software (operating systems) en de Websphere Application Server (WAS) (en MQ) worden gerekend tot de middleware infrastructuur omdat ze applicaties ondersteunen. Misbruik van vulnerabilities op infrastructureel niveau kan leiden tot ongeautoriseerde toegang tot systemen en data. Ook WebSphere componenten kunnen gevoelig zijn voor dit type vulnerabilities. Er zijn organisaties (SANS, NIST10) die exploiteerbare fouten inventariseren en publiceren. Zij maken tevens een inschatting van de impact van de vulnerability. In bijlage 9.5 is een overzicht opgenomen van enkele onderkende vulnerabilities voor WebSphere componenten Om risico’s ten aanzien van vulnerabilities en eventuele exploits te vermijden kan de IT auditor ondernemingen adviseren een patchingsproces in te voeren met als doel publicaties over vulnerabilities en beschikbare oplossingen te monitoren en deze zo spoedig mogelijk gecontroleerd te implementeren via een change management proces.
5.8 Overzicht van risico's en mitigerende maatregelen In de voorgaande paragrafen zijn diverse risico’s ten aanzien van de WebSphere componenten WAS, NDM en MQ onderkend. De bijgevoegde Tabel 5 op pagina 32 en 33 bevat een overzicht van al deze risico’s. Per risico is een mitigerende maatregel bijgevoegd en is een verwijzing naar de Code of Practice (CoP11) opgenomen. De tabel kan dienen als basis voor het opstellen van een audit programma, waarbij de te hanteren normset dient te worden toegesneden op de specifieke situatie.
10 11
NIST: Vulnerability database (http://nvd.nist.gov/nvd.cfm) Code of practice for information security management, de ISO standaard voor de beveiliging van informatie.
WebSphere
P a g i n a | 32
CoP referentie
Risico
Mitigerende maatregel
11.2 User access management; 11.5 Operating system access control; 10.10.3 Protection of log information
Ongeautoriseerde toegang tot de kritische resources: - WAS configuratie bestanden, executable files en policy file - NDM beheer interfaces en log bestanden - MQ berichten op de queues
-
11.2 User access management; 11.5 Operating system access control
Ongeautoriseerde toegang tot operator commands als stoppen/starten van: - WAS - MQ queue's Standaard onpersoonlijke beheeraccounts niet geblokkeerd.
11.2 User access management; 11.5 Operating system access control 12.3.2 Key management 12.3.2 Key management 11.2 User access management; 11.5 Operating system access control 12.4 Security of system files
12.4 Security of system files 11.4.4 Remote diagnostic and configuration port protection 12.4 Security of system files
11.4 Network access control 11.2 User access management
Standaard SSL keys (DummyServerKeyFile) niet vervangen na installatie SSL keys worden niet tijdig verlengd/vervangen. Admin browser via netwerk toegankelijk voor ongeautoriseerde personen (voor WAS versie 6.x). Applicaties hebben ongehinderde toegang tot alle JVM resources, waaronder API's naar administratieve beheerfuncties. Vertrouwelijke configuratie informatie zichtbaar via standaard meegeleverde voorbeeld scripts. Ongeautoriseerde toegang tot bestanden of beheerfuncties via open poorten op de WAS. Verouderde wachtwoordinformatie nog bruikbaar door caching mechanisme.
WAS is gevoelig voor aanvallen van hackers door installatie op zelfde fysieke machine als de webserver. Ongeautoriseerd toegang tot WAS bestanden door gebruikers via het UNIX operating system.
Afschermen van kritische resources door middel van implementeren van toegangscontrole maatregelen. - Functiescheiding kan worden geïmplementeerd voor WAS beheerrollen. - NDM log files periodiek back-up proces inrichten. - Voor MQ op applicatie niveau inrichten van end-toend encryptie en meesturen van hash. Toekennen van operator rol uitsluitend op geautoriseerd verzoek en periodieke controle van toegekende rechten/rollen.
WebSphere Component
WAS
NDM
MQ
x
x
x
x
Standaard meegeleverde accounts blokkeren; Beheerders persoonlijke accounts toewijzen (accountability). Default keys vervangen door nieuwe.
x
Inrichten van key management proces gericht op tijdige verlenging/vervanging van de keys. Global Security parameter activeren.
x
Java 2 Security parameter activeren (nadat per applicatie geanalyseerd is welke toegang wel is toegestaan).
x
Verwijderen van standaard meegeleverde voorbeeld scripts. Deactiveren van ongebruikte poorten.
x
-
Parameter com.ibm.websphere.security.util.authCacheEnabled= BasicAuthDisabled instellen (afhankelijk van eisen ten aanzien van performance). Webserver installeren op aparte server en onderbrengen in DMZ. Bevoegdheid voor lezen en schrijven van WAS bestanden beperken tot één UNIX account.
x
x
x x
x x
x
WebSphere
P a g i n a | 33
CoP referentie
Risico
Mitigerende maatregel
12.4 Security of system files
Ongeautoriseerde toegang tot data op de UNIX server door WAS processen onder root te laten draaien Onbeschikbaarheid van berichten door vollopen queue, door bijvoorbeeld onbeschikbaarheid van afnemende applicatie.
WAS processen niet onder root
WebSphere Component
WAS 10.3.1 Capacity management; 10.10.2 Monitoring system use
12.2.3 Message integrity
Berichten worden te laat ontvangen.
12.2.3 Message integrity 10.6 Network security management.
Berichten worden in verkeerde volgorde afgeleverd. Berichten worden 'afgeluisterd' tijdens transport: over MQ message channel tussen webserver en WAS tussen beheer interface en WAS/NDM (voor WAS 6.x) Ongeautoriseerde toegang tot systemen en data door misbruik van infrastructuur vulnerabilities.
12.6.1 Control of technical vulnerabilities
Bij configureren queues rekening houden met pieken. Daarnaast een DLQ configureren voor berichten die ook na geruime tijd niet afgenomen kunnen worden. Ook dienen de queue's gemonitored te worden. Configureren van high priority queues voor berichten met hoge(re) urgentie. Berichten voorzien van sequence numbering. SSL activeren om berichten tijdens transport te versleutelen.
Inrichten patch proces.
Tabel 5: Overzicht IT audit aspecten, maatregelen en CoP referentie
NDM
MQ
x x
x
x
x x
x
x
WebSphere
6
P a g i n a | 34
Conclusie
WebSphere is een merknaam voor een suite van software producten van IBM die ingezet worden om ontwikkeling en beheer van web applicaties te ondersteunen. Hoofdbestanddeel van deze suite is de WebSphere Application Server waarop web-applicaties kunnen worden gehost/gedraaid. Voor het beheer van de WAS is de Network Deployment Manager nodig. Communicatie met (legacy) back-end systemen kan worden ingevuld met WebSphere MQ. Voor wat betreft webapplicatie functionaliteit (programmeer mogelijkheden) onderscheidt WebSphere zich niet van haar concurrent WebLogic van Oracle. Een belangrijke drijfveer om WebSphere te gebruiken is de ontsluitingsmogelijkheden van (legacy) back-end systemen. Wanneer de back-end systemen IBM mainframes zijn, dan geniet IBM nog de voorkeur van bedrijven. Doorgaans hebben grote ondernemingen die gebruik maken van IBM mainframes reeds een jarenlange relatie met IBM. IBM is een internationale onderneming met een aanzienlijke historie die waarborgen biedt voor continuïteit in haar bedrijfsvoering, productontwikkeling en ondersteuning. Mede gezien de internationale klantenkring en het internationale netwerk voor ondersteuning en advies is WebSphere een aantrekkelijke keuze voor ondernemingen. Toch is gezien de implementatiekosten WebSphere pas aantrekkelijk als infrastructureel platform indien qua aantal te hosten applicaties een kritische massa is bereikt. Voor kleinere ondernemingen of enkele applicaties op één server heeft IBM tegenwoordig ook een Express editie van WebSphere ontwikkeld. De praktijk situaties die zijn onderzocht laten zien dat WebSphere wordt gebruikt voor ontsluiting van back-end systemen op IBM mainframes. De webapplicaties die daarvoor worden gebruikt verschillen in functionaliteit, maar dat is gezien het verschil in bedrijfsactiviteit vanzelfsprekend. Webapplicaties kunnen via browsers worden benaderd door zowel klanten als medewerkers. Implementatie van een WebSphere infrastructuur is complex, omdat er meerdere software componenten bij betrokken zijn met elk afzonderlijke configuratie mogelijkheden. Deze mogelijkheden dienen goed op elkaar te zijn afgestemd om geen onvoorziene risico’s te introduceren. De mogelijkheden per component gecombineerd met het aantal betrokken componenten introduceert een groot aantal risico’s. De risico’s kunnen in de meeste gevallen worden gemitigeerd, op een enkele inherente tekortkoming na (voornamelijk betreffende MQ – tijdigheid en volledigheid). De tekortkomingen op MQ kunnen wel deels worden gemitigeerd. Afsluitend kan worden geconcludeerd dat voor (grote) bedrijven met (legacy) back-end systemen WebSphere een ondernemingskans vormt met betrekking tot de ontsluiting van applicaties en data. De WebSphere infrastructuur kent door haar complexiteit en blootstelling aan het internet de nodige risico’s. Deze risico’s zijn echter mitigeerbaar, op een enkele inherente tekortkoming na. Ten einde objectief vast te stellen dat de risico’s in deze complexe omgeving zijn gemitigeerd, zijn periodieke controles door IT auditors vereist.
WebSphere
P a g i n a | 35
6.1 Persoonlijke reflectie De opdracht om als afsluiting van de EDP audit opleiding een scriptie te schrijven heeft ons de gelegenheid geboden om een audit object, dat wij in onze dagelijks audit praktijk tegenkomen, nader te bekijken. Bij de aanvang van ons onderzoek was het begrip WebSphere nog redelijk onbekend bij ons. Dat het om meerdere componenten zou gaan was ons al duidelijk, maar dat het er ruim 60 zijn hadden we niet verwacht. Aanvankelijk was het onze bedoeling om alle componenten te betrekken in een nog uit te werken risico model, teneinde een risk-based selectie te kunnen maken van componenten waarvan we de IT audit aspecten nader wilden onderzoeken. Vanwege het enorm grote aantal componenten hebben wij dat plan los moeten laten. In plaats daarvan hebben wij ons gericht op de componenten die mimimaal worden aangetroffen in een WebSphere implementatie: de WebSphere Application Server, Network Deployment Manager en MQ (die niet altijd maar wel meestal deel uit maakt van de implementatie). Van deze drie componenten hebben wij meer kennis verkregen welke wij tijdens audit werkzaamheden kunnen toepassen. Uit diverse gesprekken die wij hebben gevoerd bleek, tegen onze verwachting in, dat het vaak niet zozeer de financiële business case is die uiteindelijk de doorslag geeft om een WebSphere implementatie op te zetten, maar veeleer de reeds aanwezig infrastructuur, de mate van vertrouwen in toekomstvastheid van de leverancier en persoonlijke voorkeuren. Verder is ons tijdens het onderzoek opgevallen dat er ten tijde van het onderzoek weinig neutrale informatie beschikbaar was, bijvoorbeeld onderzoeksrapporten waarin productvergelijkingen worden gedaan. Dat soort informatie is tegen betaling natuurlijk via organisaties als Gartner verkrijgbaar, maar niet vrij toegankelijk. Het heeft ons dan ook veel speurwerk gekost om de juiste bronnen aan te boren. Al met al blikken wij terug op een leerzaam onderzoek. De WebSphere materie is behoorlijk complex en wij hebben in het kader van deze afstudeeropdracht slechts een aanzet kunnen geven door de componenten te positioneren en van een drietal daarvan de IT audit aspecten te beschrijven. Wellicht zien andere studenten van de IT audit opleidingen in deze scriptie aanknopingspunten voor verdere bestudering. Walter Borgstein Eric den Haan Jacques Putters
WebSphere
7
P a g i n a | 36
Bibliografie
McKenzie, C. (2005). What is WebSphere. PulpJava Publishing. SearchDomino. (6 september, 2004). SearchDomino.com. Opgeroepen op 3 maart, 2008, van SearchDomino.com: http://searchdomino.techtarget.com/expert/KnowledgebaseAnswer/0,289625,sid4_gci1005153,0 0.html WebSphere - Wikipedia. (12 september, 2007). Opgeroepen op 1 maart, 2008, van Wikipedia: http://nl.wikipedia.org/wiki/WebSphere NOREA, IT-auditing aangeduid. NOREA geschrift No 1. NOREA, 1998 Drs. M. van Dijk RE en R.A. Holsbeek RE RA, (2005), Betrouwbaarheid berichtenuitwisseling op basis van Message Queuing, in: De EDP-Auditor, nummer 4, 2005. Weiss, Aaron. Opgeroepen 29 februari, 2008, van Serverwatch: http://www.serverwatch.com/trends/article.php/3713471 IBM. (2006, mei). WebSphere Application Server for Distributed Platforms, Version 6.1. Securing Applications and their environment. IBM. (2006, mei). WebSphere Application Server for Distributed Platforms, Version 6.1. Setting up the application serving environment. IBM Redbook. (2006, november) WebSphere Application Server v6.1. System Management and Configuration. IBM Redbook. (2003, mei) WebSphere MQ Security in an Enterprise Environment IBM Redbook. (2006, oktober) WebSphere MQ Version 6 and Web Services IBM. (sd). Opgeroepen op 3 maart, 2008, van IBM DeveloperWorks: New to WebSphere: http://www.ibm.com/developerworks/websphere/newto/ White paper - WP101014 WSADMIN Primer, 8 mei 2007, Don Bagwell, IBM Washington Systems Center,
[email protected] Botzum, Keys. IBM. (2006, mei). WebSphere Application Server, Version 6 Security: Infrastructure Hardening. (http://download.boulder.ibm.com/ibmdl/pub/software/dw/wes/pdf/0611_botzum-WAS-60Security-Hardening.pdf) Van Biene-Hershey, M.E. van (1996). IT Auditing, An Object Oriented Approach. Delwel publishers. Rowley, J. (2001, Maart). Shell. WebSphere eBusiness Architecture NIST. National Vulnerability Database. (http://nvd.nist.gov/nvd.cfm) Code of practice for information security management (ISO/IEC 17799:2005 (E))
WebSphere
8
P a g i n a | 37
Definitielijst
API JVM Logical Partition
NDM MQ
SSL WAS
Application programming interface’, een API zorgt ervoor dat applicaties onderling kunnen communiceren. Een Java Virtual Machine is een platform onafhankelijke omgeving voor het uitvoeren van Java programma’s. ook wel LPAR genoemd; is een deelverzameling van server hardware welke opereert als virtueel server. Op deze manier kan een fysieke server zijn opgedeelde in meerdere virtuele servers met een logische onderlinge scheiding. Netwerk Deployment Manager MQ is een onderdeel van de eerder genoemde WebSphere Message Broker en levert transport mogelijkheden van berichtenverkeer tussen verschillende platformen en netwerk protocollen. SSL is een cryptografisch protocol voor beveiligde communicatie. WebSphere Application Server
Bijlagen
9
P a g i n a | 38
Bijlagen
9.1
BIJLAGE 1: VOLLEDIG OVERZICHT VAN IBM WEBSPHERE PRODUCTEN ...................................... 39
9.2
BIJLAGE 2: INFORMATION INTEGRATION COMPONENTEN ........................................................ 42
9.3
BIJLAGE 3: PRODUCT VERGELIJKING TUSSEN WEBSPHERE EN WEBLOGIC ................................. 43
9.4
BIJLAGE 4 BEHEER ROLLEN BINNEN WAS................................................................................... 45
9.5
BIJLAGE 5: VULNERABILITY VOORBEELDEN ............................................................................... 46
9.6
BIJLAGE 6: AANVULLENDE IT AUDIT ASPECTEN ......................................................................... 47
9.7
BIJLAGE 7: TOP 10 WEB APPLICATION VULNERABILITIES (2007) ................................................ 49
Bijlagen
P a g i n a | 39
9.1 Bijlage 1: Volledig overzicht van IBM WebSphere producten (overzicht zoals beschikbaar op IBM website d.d. 27 februari 2008) WebSphere Adapters WebSphere Adapters Allow customers to create processes that exchange information between systems. WebSphere Application Server WebSphere Application Server A Powerful Foundation Supporting e-business On Demand WebSphere Application Server - Express Provides J2EE and Web services for dynamic on demand applications. WebSphere Application Server Community Edition Provides a lightweight J2EE application server built on Apache Geronimo technology. WebSphere Business Integration WebSphere Business Integration Express Enables small and medium businesses to quickly and easily integrate their applications. WebSphere Business Integration Server WebSphere Business Integration Server for Financial Networks Provides a single platform for high-volume and mission-critical financial payment messaging. WebSphere Business Modeler WebSphere Business Modeler Provides tools to design, test, and communicate complex business processes. WebSphere Business Modeler Publishing Server Provides tools to design, test, and communicate complex business processes. WebSphere Business Monitor WebSphere Business Monitor Delivers real-time business monitoring with metrics, visual displays, and alerts. WebSphere Business Services Fabric WebSphere Business Services Fabric Integrated SOA platform for enabling and delivering dynamic business level services. WebSphere Commerce WebSphere Commerce - Express Helps mid-market firms quickly and affordably build and maintain e-commerce Web sites. WebSphere Commerce Helps create, develop, and test a store in a single, consolidated environment. WebSphere Commerce Enterprise Provides a robust platform for sophisticated B2B and multichannel B2C e-commerce sites. WebSphere Commerce Developer Editions WebSphere Commerce Developer Editions Professional Helps increase site functionality, enhance customer experiences and leverage existing back-end systems. WebSphere Customer Center WebSphere Customer Center An enterprise customer hub providing a unified customer view and customer services. WebSphere Dashboard Framework WebSphere Dashboard Framework WebSphere Dashboard Framework is a powerful and flexible tool for rapidly building SOA dashboards for WebSphere® Portal. WebSphere Data Event Publisher WebSphere Data Event Publisher Provides change-data-capture of DB2 data for extract-transform-load and business integration. WebSphere Data Interchange WebSphere Data Interchange Delivers the latest and most capable stand-alone EDI translator in the market today. WebSphere DataStage WebSphere DataStage High performance data extraction, transformation, and loading between multiple sources and targets. WebSphere Developer Debugger WebSphere Developer Debugger for System z IDE that supports traditional (COBOL and PL/I), RAD and J2EE application development. WebSphere Development Studio Client WebSphere Development Studio Client for System i Offers a comprehensive suite of tools to speed iSeries application development. WebSphere Enterprise Service Bus WebSphere Enterprise Service Bus Provides Web services connectivity and service oriented integration for your business.
Bijlagen
P a g i n a | 40
WebSphere Everyplace Mobile Portal WebSphere Everyplace Mobile Portal Enable Extends portal and serves content to mobile users and devices. WebSphere Everyplace Server WebSphere Everyplace Server for Telecom Giving enterprises a new opportunity to bridge voice and data applications. WebSphere Extended Deployment WebSphere Extended Deployment Delivers a dynamic, goal-directed, high performance environment for WebSphere applications. WebSphere Federation Server WebSphere Federation Server Accesses and integrates information across sources as if from a single source. WebSphere Front Office WebSphere Front Office for Financial Markets Provides an integrated, vendor-neutral solution designed for today's low-latency, time-sensitive applications. WebSphere Host Access Transformation Services WebSphere Host Access Transformation Services Provides all the tools to quickly and easily extend legacy applications. WebSphere Host Integration Solution WebSphere Host Integration Solution Reduces the costs, complexity and risks of exploiting Internet technologies. WebSphere IP Multimedia Subsystem Connector WebSphere IP Multimedia Subsystem Connector Helps accelerate the deployment of IMS services and applications WebSphere Information Analyzer WebSphere Information Analyzer Profiles and establishes an understanding of source systems and monitors data rules. WebSphere Information Integrator WebSphere Information Integrator Content Edition Real-time content views of content and workflow across disparate unstructured content sources. WebSphere Information Integrator Content Starter Edition Helps deploy applications and workflow spanning IBM and third-party content sources. WebSphere Integration Developer WebSphere Integration Developer Simplifies integration with rich features that break down the barriers to Service Oriented Architecture. WebSphere MQ WebSphere MQ WebSphere MQ - Connect applications and Web services across more than 80 supported platforms configurations. WebSphere MQ Extends the reach of on demand applications to the mobile environment. WebSphere MQ Extended Security Edition Provides an open, scalable, industrial-strength messaging backbone. WebSphere MQ Everyplace WebSphere MQ Everyplace Low Latency Messaging Provides a high-throughput, low-latency messaging transport for one-to-many or many-to-many data exchange. WebSphere MQ Workflow WebSphere MQ Workflow for Multiplatforms Aligns and integrates organizational resources and capabilities with business strategies. WebSphere Message Broker WebSphere Message Broker for TIBCO RV for Multiplatforms Extends Message Broker with plugin Node support for TIBCO Rendezvous messaging service. WebSphere Message Broker Extender WebSphere Message Broker Extender for Multiplatforms Transforms and enriches in-flight information. WebSphere Partner Gateway WebSphere Partner Gateway Enables trading partner business-to-business (B2B) integration. WebSphere Partner Gateway - Express Light-weight, easy to use, cost-effective B2B connectivity tool. Leverages EDIINT AS2 and HTTP for transmitting documents securely over the Internet. WebSphere Partner Gateway Advanced Edition Enables trading partner business-to-business (B2B) integration. Licensed by the number of trading partner connections. WebSphere Partner Gateway Enterprise Edition Enables trading partner business-to-business (B2B) integration. Licensed with an unlimited number of trading partner connections. WebSphere Portal WebSphere Portal Provides a single point of personalized interaction with applications, content, processes, people. WebSphere Portal Enable for z/OS Provides personalized access to key business assets.
Bijlagen
P a g i n a | 41
WebSphere Portal Express WebSphere Portal Express offers collaboration, document management, Web content management, presence awareness, and instant messaging in a single easy to deploy solution with flexible pricing options. WebSphere Portlet Factory WebSphere Portlet Factory Portlet Factory is a dedicated portlet creation environment for WebSphere Portal. WebSphere Presence Server WebSphere Presence Server Enables the extension of services with real-time collaboration information. WebSphere Process Server WebSphere Process Server Single, integrated, process server for improved business flexibility. WebSphere Product Center WebSphere Product Center Product Information Management solution for centralizing, managing and linking product data enterprisewide. WebSphere QualityStage WebSphere QualityStage for z/OS A data quality solution to standardize customer, location, and product facts. WebSphere RFID Information Center WebSphere RFID Information Center Supply chain visibility, shipment verification through standards, performance, scale-ability and security. WebSphere RFID Premises Server WebSphere RFID Premises Server Helps customers connect the edge of the environment with the enterprise WebSphere Real Time WebSphere Real Time Delivers predictable response times using Java standards. WebSphere Remote Server WebSphere Remote Server Delivers flexible and security-rich platform for remote environments. WebSphere Replication Server WebSphere Replication Server Replicates data between DB2 and other databases to address high availability requirements. WebSphere Service Registry and Repository WebSphere Service Registry and Repository An industrial-strength tool that helps you get business value from your SOA. WebSphere Studio Asset Analyzer WebSphere Studio Asset Analyzer Helps you understand, enhance, and interconnect enterprise assets via Web-based infrastructures. WebSphere Telecom Web Services Server WebSphere Telecom Web Services Server Secure standards-based third party access to gateway across legacy and IMS networks. WebSphere Transformation Extender WebSphere Transformation Extender Powerful transformation for many-to-many and complex data integration. WebSphere Transformation Extender for Message Broker Extends WebSphere Message Broker's transformation capabilities. WebSphere Translation Server WebSphere Translation Server Provides Web pages, e-mail messages and chat conversations in multiple languages. WebSphere Voice Response WebSphere Voice Response for AIX Provides a voice processing platform for AIX voice recognition applications.
Bijlagen
9.2 Bijlage 2: Information Integration componenten WebSphere Federation Server WebSphere Federation Server Accesses and integrates information across sources as if from a single source. WebSphere Replication Server WebSphere Replication Server Replicates data between DB2 and other databases to address high availability requirements. WebSphere DataStage WebSphere DataStage High performance data extraction, transformation, and loading between multiple sources and targets. WebSphere QualityStage WebSphere QualityStage for z/OS A data quality solution to standardize customer, location, and product facts.
P a g i n a | 42
Bijlagen
P a g i n a | 43
9.3 Bijlage 3: Product vergelijking tussen WebSphere en WebLogic Een productvergelijking tussen de meest recente versies van de WebLogic Server en WebSphere Application Server laat zien dat er niet veel verschillen bestaan tussen de features van de twee producten: Server Type Latest Version Rating Vendor Description
BEA WebLogic Server
WebSphere
APPLICATION 9
APPLICATION 6.0
5 BEA Systems Enterprise-level application server that supports EJB, clustering, and ERP connectivity
5 IBM J2EE 1.3 compliant app server capable of scaling from a single mobile installation to complex, distributed enterprise system
Features Administration
Administration
GUI configuration
GUI configuration
GUI setup
GUI setup
Remote administration
Remote administration
SNMP configurable/monitorable
SNMP configurable/monitorable
Futureproofing/scalability
Futureproofing/scalability
.Net compliant
.Net compliant
64-bit port
64-bit port
Cluster support
Cluster support
IPv6 support
IPv6 support
J2EE 1.4 certified
J2EE 1.4 certified
J2EE 1.4 compliant
J2EE 1.4 compliant
Other Features
Other Features
Multiple logs
Multiple logs
Supports Microsoft ISAPI
Supports Microsoft ISAPI
Virtual servers
Virtual servers
Web-based user interface
Web-based user interface
Programming/Scripting
Programming/Scripting
Includes source
Includes source
Own API
Own API
Own scripting/batch language
Own scripting/batch language
Supports external scripting/batch language
Supports external scripting/batch language
Security
Security
ActiveDirectory authentication
ActiveDirectory authentication
Antispam features
Antispam features
Antivirus features
Antivirus features
Built-in firewall capabilities
Built-in firewall capabilities
Built-in proxy capabilities
Built-in proxy capabilities
Internal user access scheme
Internal user access scheme
LDAP authentication
LDAP authentication
Other/system authentication
Other/system authentication
SSL (hardware)
SSL (hardware)
Bijlagen
P a g i n a | 44
SSL (software) Support
SSL (software) Support
Commercial support available
Commercial support available
Forum support
Forum support
Free telephone support
Free telephone support
GSA scheduled
GSA scheduled
Mailing list support
Mailing list support
Service-level agreement offerings available
Service-level agreement offerings available
(Bron: Serverwatch.com (http://www.serverwatch.com/stypes/compare/index.php/compare2_18315,18343))
Bijlagen
P a g i n a | 45
9.4 Bijlage 4 Beheer rollen binnen WAS The following administrative roles provide different degrees of authority that are needed to perform certain application server administrative functions: Administrator The administrator role has operator permissions, configurator permissions, and the permission that is required to access sensitive data including server password, Lightweight Third Party Authentication (LTPA) password and keys, and so on. Operator The operator role has monitor permissions and can change the run-time state. For example, the operator can start or stop services. Configurator The configurator role has monitor permissions and can change the WebSphere Application Server configuration. Monitor The monitor role has the least permissions. This role primarily confines the user to viewing the application server configuration and current state. Adminsecuritymanager The adminsecuritymanager role has privileges for managing users and groups from within the administrative console and determines who has access to modify users and groups using administrative role mapping. Only the adminsecuritymanager role can map users and groups to administrative roles, and by default, AdminId is granted to the adminsecuritymanager. iscadmins The iscadmins role has administrator privileges for managing users and groups from within the administrative console only.
Bijlagen
P a g i n a | 46
9.5 Bijlage 5: Vulnerability voorbeelden Bron : Vulnerability database (http://nvd.nist.gov/nvd.cfm) WAS Vulnerabilities CVE-2008-0741 Summary: Unspecified vulnerability in the PropFilePasswordEncoder utility in IBM WebSphere Application Server (WAS) before 6.0.2 Fix Pack 25 (6.0.2.25) has unknown impact and attack vectors. Published: 2/12/2008 CVSS Severity: 10.0 (High) CVE-2007-3397 Summary: The web container in IBM WebSphere Application Server (WAS) before 6.0.2.21, and 6.1.x before 6.1.0.9, sends response data intended for a different request in certain circumstances after a closed connection error, which might allow remote attackers to obtain sensitive information. Published: 6/26/2007 CVSS Severity: 5.0 (Medium) MQ CVE-2008-1130 Summary: Unspecified vulnerability in IBM WebSphere MQ 6.0.x before 6.0.2.2 and 5.3 before Fix Pack 14 allows attackers to bypass access restrictions for a queue manager via a SVRCONN (MQ client) channel. Published: 3/3/2008 CVSS Severity: 6.6 (Medium)
Bijlagen
P a g i n a | 47
9.6 Bijlage 6: Aanvullende IT Audit aspecten Naast de direct aan WebSphere gerelateerde IT audit aspecten, zijn er ook nog enkele aspecten die niet specifiek voor WebSphere gelden, maar daar wel in sterke mate mee te maken hebben. Het gaat hier bijvoorbeeld om risico’s met betrekking tot het internet, applicatieontwikkeling, etc. (zie Tabel 6) -
Internet Overbelasting Distributed Denial of Service attack
-
-
Applicatie beveiliging Cross Site Scripting (XSS); Injection flaws; Malicious file execution.
Tabel 6: Overige IT audit aspecten
9.6.1 Overbelasting Het verwerken van een berichtenstroom door de infrastructuur van het bedrijf wordt begrensd door de capaciteit van (het interne netwerk en) de servers. Ten einde acceptabele response tijden voor klanten te realiseren dienen de servers over toereikende verwerkingscapaciteit (rekenkracht en geheugenruimte) te beschikken. De infrastructuur dient zo te zijn gedimensioneerd dat ook pieken in de werklast kunnen worden opgevangen. Overbelasting kan leiden tot een verminderde beschikbaarheid van de applicatie en mogelijk zelfs tot gehele uitval. Dit kan optreden onder diverse omstandigheden: - Onverwachte toestroom van gebruikers veroorzaakt door populariteit, nieuwsgierigheid of plotselinge wijziging van marktomstandigheden; - Denial of Service (DoS) aanvallen, waarbij vanaf een bepaalde locatie via het Internet enorme aantallen requests worden gedaan voor de doelpagina van het te benadelen bedrijf. Een variant op de klassieke DoS aanvallen is de Distributed DoS, waarbij vanaf meerdere locaties wordt aangevallen. Risico’s ten aanzien van de beschikbaarheid van de applicatie door een onverwachte toestroom kunnen worden gemitigeerd door te zorgen voor overcapaciteit en redundantie. Denial of Service (DoS) aanvallen kunnen worden herkend doordat ze van één ip-adres afkomstig zijn. In netwerk componenten kan logica worden ingebouwd om dergelijke patronen te herkennen. Indien een aanval zich voordoet en als zodanig herkend wordt, dan kunnen deze berichten worden gesmoord (door choke routers), waardoor ze het interne netwerk en de applicatie servers niet belasten. Distributed DoS aanvallen zijn lastiger af te slaan, maar ook lastiger uit te voeren. Omdat het risico ‘slechts’ beschikbaarheid betreft en de aanvaller niet direct persoonlijk gewin heeft, is de kans op DDoS aanvallen afhankelijk van de exposure van een onderneming. In het bijzonder grote internationale ondernemingen en staatsinfrastructuur (NORRAD, FBI) zijn veel voorkomende doelen.
9.6.2 Applicatiebeveiliging Tijdens de ontwikkeling van software moet rekening gehouden worden met standaard applicatie controls waaronder data input validatie, logische toegangsbeveiliging, afhandeling van uitzonderingen en loggen van activiteiten. Doordat het hier applicaties betreft welke bloot staan aan het internet moet de auditor rekening houden met algemene bedreigingen hiervan. Marktonderzoek heeft geleid tot een top tien van meest kritische security vulnerabilities van 2007 (zie bijlage 9.7), waarvan de volgende drie het meest voorkomend zijn:
Bijlagen
-
P a g i n a | 48
Cross Site Scripting (XSS); Injection flaws; Malicious file execution.
De drie meest voorkomende vulnerabilities zijn voor een deel te ondervangen met inputvalidatie aan de server kant. De input moet worden gecontroleerd op lengte, type, syntax en eventueel business logica. De gebruikte karakters moeten worden gevalideerd tegen een white list bestaande uit een lijst van toegestane karakters. Alle input die niet door de validatie komt mag niet worden verwerkt. In aanvulling op voorgaande dienen ter mitigatie van de Injection flaws voor database toegang bij voorkeur zo laag mogelijke toegangsautorisaties te worden gebruikt. Ten behoeve van mitigatie van Malicious file execution dienen maatregelen op de firewall te worden genomen om nieuwe sessies met onbekende externe websites op te zetten.
Bijlagen
P a g i n a | 49
9.7 Bijlage 7: Top 10 Web Application Vulnerabilities (2007) A1 – Cross Site Scripting (XSS)
XSS flaws occur whenever an application takes user supplied data and sends it to a web browser without first validating or encoding that content. XSS allows attackers to execute script in the victim’s browser which can hijack user sessions, deface web sites, possibly introduce worms, etc.
A2 – Injection Flaws
Injection flaws, particularly SQL injection, are common in web applications. Injection occurs when usersupplied data is sent to an interpreter as part of a command or query. The attacker’s hostile data tricks the interpreter into executing unintended commands or changing data.
A3 – Malicious File Execution
Code vulnerable to remote file inclusion (RFI) allows attackers to include hostile code and data, resulting in devastating attacks, such as total server compromise. Malicious file execution attacks affect PHP, XML and any framework which accepts filenames or files from users.
A4 – Insecure Direct Object Reference
A direct object reference occurs when a developer exposes a reference to an internal implementation object, such as a file, directory, database record, or key, as a URL or form parameter. Attackers can manipulate those references to access other objects without authorization.
A5 – Cross Site Request Forgery (CSRF)
A CSRF attack forces a logged-on victim’s browser to send a pre-authenticated request to a vulnerable web application, which then forces the victim’s browser to perform a hostile action to the benefit of the attacker. CSRF can be as powerful as the web application that it attacks.
A6 – Information Leakage and Improper Error Handling
Applications can unintentionally leak information about their configuration, internal workings, or violate privacy through a variety of application problems. Attackers use this weakness to steal sensitive data or conduct more serious attacks.
A7 – Broken Authentication and Session Management
Account credentials and session tokens are often not properly protected. Attackers compromise passwords, keys, or authentication tokens to assume other users’ identities.
A8 – Insecure Cryptographic Storage
Web applications rarely use cryptographic functions properly to protect data and credentials. Attackers use weakly protected data to conduct identity theft and other crimes, such as credit card fraud.
A9 – Insecure Communications
Applications frequently fail to encrypt network traffic when it is necessary to protect sensitive communications.
A10 – Failure to Restrict URL Access
Frequently, an application only protects sensitive functionality by preventing the display of links or URLs to unauthorized users. Attackers can use this weakness to access and perform unauthorized operations by accessing those URLs directly.
(bron: OWASP Top 10 2007. http://www.owasp.org/index.php/Top_10_2007, The Open Web Application Security Project)
Bijlagen
P a g i n a | 50
10 Index
.NET ....................................................................... 16 ABN AMRO ........................................................... 17 accountability.......................................................... 26 Business-to-Business (B2B) ..................................... 8 Business-to-Consumer (B2C) ................................... 8 Business-to-Employee (B2E).................................... 8 Code of Practice (CoP) ........................................... 31 compatibiliteit ......................................................... 15 enablers ..................................................................... 3 IBM........................................................................... 5 IT auditing .............................................................. 22 J2EE.......................................................................... 7 Java ........................................................................... 6 KPI’s ....................................................................... 10 Logging ................................................................... 28
Logical Partition ..................................................... 18 Magic Quadrant ...................................................... 14 Microsoft ................................................................ 15 Middleware ............................................................... 6 Network Deployment Manager ............................... 12 Oracle ..................................................................... 13 Overbelasting .......................................................... 47 PeopleSoft............................................................... 13 SAP ......................................................................... 13 schaalbaarheid......................................................... 15 Shell ........................................................................ 17 Sun Microsystems ..................................................... 6 Supply Chain Management systeem ....................... 17 WAS omgeving ...................................................... 12 WebLogic ............................................................... 14