Systembeskrivning idportalen - Stockholms stads Identifieringsportal Version 2.25 2004-10-20 Revisionshantering Vernr Datum Notering Ansvarig 2.0 061003 Modifierad version Arne Fredholm 2.1 061016 Mindre justeringar Arne Fredholm 2.2 061020 Rättningar Arne Fredholm 2.25 061024 Rättningar efter granskningsmöte Arne Fredholm
Sammanfattning Detta dokument beskriver idportalen, Stockholms stads identifieringsportal, systemets funktioner, logik och ingående komponenter. Målgrupp är de som vill ha en djupare kunskap om stadens identifieringsportal samt de som skall göra en implementation mot idportalen. 2 (14)
Innehållsförteckning 1 Introduktion... 4 1.1 Syfte... 4 1.2 Tillgänglig dokumentation... 4 1.3 Övergripande systembeskrivning... 4 2 Klienter... 5 3 Systemlogik vid identifiering och exekvering av regelverk... 5 4 Förutsättningar... 7 5 Standarder... 7 6 Systemkomponenter... 8 6.1 Siteminder... 8 6.2 Utökade funktioner idportalen... 8 6.3 Delegerad administration av tillgång till applikationer... 9 6.4 Loggar... 10 6.5 Katalogtjänst... 10 6.6 Loginservrar... 10 6.7 SSL... 10 6.8 Webbserver... 10 6.9 Operativsystem för Siteminder... 10 6.10 Reverseproxy... 10 7 Systemskisser... 11 7.1 IdPortalen med Reverseproxy... 11 7.2 IdPortalen med Agent... 12 8 Ordlista... 12 3 (14)
1 Introduktion 1.1 Syfte Stockholm stad har applikationer som skall kunna nås från Internet och i framtiden kan man förvänta sig fler sådana applikationer utvecklas för t.ex. 24- timmarsmyndigheten. idportalen skall hjälpa till med att förenkla inloggningsprocessen för både systemägarna och dess kunder, t.ex. medborgare, anställda och företag genom att användarna bara behöver ett användarid för alla olika tillämpningar. Systemägaren möts av diverse utmaningar som t.ex.: Inloggningmetoder Felmeddelanden Accesskontroll Single Sign On mellan applikationer SSL Lastbalansering / Feltolerans Administration av användarna Säkerhetspolicy Kunden till Stockholm Stad skulle kunna mötas av flera olika identiteter och inloggningsmetoder med olika grafiska utseenden. idportalen skall hjälpa till med den utmaningen. 1.2 Tillgänglig dokumentation All dokumentation rörande idportalen finns tillgänglig på IT-avdelningens intranät. http://intranat.stockholm.se/pages/default.aspx?id=3916 1.3 Övergripande systembeskrivning idportalen skyddar åtkomst till webbservrar och dess innehåll. Genom att integrera en webbserver i systemet tvingas klienten att identifiera sig mot applikationen. Identifieringen kan idag bestå av hårda, mjuka certifikat, BankId, SMS, Safeword dosor, användarid med lösenord. När klienten försöker nå webbservern eller webbapplikationen som skyddas av idportalen aktiveras ett regelverk som talar om vilka krav som ställs på åtkomst till applikationen. Om kraven uppfylls ges klienten tillgång till applikationen. Uppfylls inte kraven avvisas klienten. Det kan ske på olika sätt, t.ex. skickande till en felsida. När 4 (14)
klienten etablerar kontakt med applikationen etableras 128- bitars SSLkryptering. Krypteringen sker på applikationsnivå, vilket innebär att idportalen är relativt oberoende för vilken typ av transportmedia klienten använder sig av. Ä ven Single Sign on - SSO kan skapas via idportalen. SSO kan tolkas på två olika sätt: SSO mellan olika applikationer skyddade av idportalen. Om en användare har rätt till olika applikationer, alla skyddade av idportalen, som kräver samma nivå av identifiering, räcker det med att användaren identifierar sig en gång, för att få tillgång till samtliga applikationer. Kräver någon av applikationerna ytterligare identifiering, eller starkare grad av identifiering måste klienten återigen autenticera sig. SSO mellan idportal och applikation. Siteminder kan ställas in att skicka med information från användardatabaserna ner till webbservrarna för SSO mot webbapplikationen. Informationen kan skickas till webbservern via http-headers eller cookie. en måste sedan ta hand om datat som skickas ned. 2 Klienter De krav som idportalen ställer på klienter är att de ska ha en webbläsare med kryptering samt eventuellt giltiga certifikat installerade. Hårda certifikat kräver kortläsare och programvara för kommunikation mellan kortläsare och klientens Operativsystem. Kortläsare och programvara förutsätts stödja standarden PC/SC. Webbläsare konfigurerad för att ta emot cookies. 3 Systemlogik vid identifiering och exekvering av regelverk För att kunna identifiera sig är följande regelverk och systemlogik definierad. När en klient försöker nå en skyddad applikation exekveras följande. 1. Webbagenten skyddas enligt aktuell identifieringsmetod och omdirigerar klienten till denna metods identifiering. 2. Klienten identifierar sig via ett (i det här fallet) certifikat. Certifikatets giltighetkontrolleras av Siteminder mot aktuell utgivare, CA. 3. Om certifikatet är godkänt jämförs personnumret på certifikatet jämförs med personnummer i systemets LDAP- katalog. Finns inte personnumret kommer användaren att avvisas. Autentiseringen är nu klar och auktorisationen kan genomföras. 5 (14)
4. Överensstämmer personnummer på certifikat och uppgift i katalogen skickas en förfrågan vidare till Siteminder. I systemet kontrollerar Siteminder vilka regler som gäller för åtkomst till applikationen och om klienten uppfyller dessa. Uppfyller klienten kraven påbörjas sessionen, om inte, avvisas klienten. Detta kan ske på flera olika sätt, t.ex. skickande till en felsida. 5. en är skyddad av Siteminder antingen genom att: a. ens URL är definierad i en reverseproxy. Klienten dirigeras via WebbAgenten i reverseproxy till regelverket när man söker applikationen b. En WebbAgent är installerad på den aktuella webbservern. När klienten söker applikationen returnerar agenten klienten till regelverket innan tillträde till applikationen ges. Bägge ovanstående metoderna kan användas i kombination. T.ex. om det finns anledning att ha en inloggning mot applikationen via Internet, och en annan från intranätet. Alla metoderna reverseproxy, agent eller kombination, leder till samma sak, dvs. klienten kan bara nå applikationen med de regler som ställts för tillträde till applikationen. Båda metoderna gör också att klienten enbart kan nå den aktuella applikationen endast den väg som definierats i regelverket. Om reverseproxy eller Agent ska användas för att skydda en applikation får avgöras från fall till fall vid applikationsintegrering. Fördelarna med reverseproxy är att ingen programvara behöver installeras på den aktuella webbservern. Dock kan reverseproxy funktionen ha vissa begränsningar i sitt användningssätt. Vissa applikationer klarar inte av att hanteras av reverseproxy. Det beror oftast inte på agenten i sig utan i webbservern Apache, som är basen för reverseproxyagenten. Siteminder agenten installeras på den aktuella webbservern som ett ISAPI/NSAPI filter. Agenten är att föredra vid integrering av applikationer med många användare eller om man vill ha skyddet direkt på webbservern. Reverseproxyn framstår som mer önskvärd som metod när man inte vill eller kan installera en Siteminderagent på webbservern. I idportalen har vi i dags datum funnit att bägge metoderna fungerar. Vilken metod man väljer är något man får utvärdera under implementeringen. Man kan även kombinera agent på både en revproxy och webbservern för att uppnå olika skalskydd beroende på var trafiken kommer ifrån. T.ex. internt och Internet. Lastbalanseraren terminerar också SSL- kryptering mot webbläsaren. Detta sker av både prestanda- och säkerhetsskäl. På detta sätt definieras en väg som 6 (14)
klienten kan nå skyddade resurser igenom. Genom att terminera SSL vid lastbalanseraren, inte vid webbservern, kan verktyg för spårning och felsökning användas, för att kontrollera vilken aktivitet som sker från klienten under en pågående applikationssession. De stora förtjänsterna är dock att SSLcertifikathanteringen hanteras via lastbalanceraren i stället för på varje enskild webbserver som skyddas samt att prestanda för webbservrarna förbättras avsevärt. SSL administrationen förenklas också avsevärd med en centraliserad hantering. Det går att använda SSL hela vägen ner till webbservern om det så krävs. 4 Förutsättningar idportalen ger kryptering och ett regelverk för att kunna skydda applikationer som presenteras bakom ett webbgränssnitt. idportalen använder sig endast av den befintliga användarinformationen som finns i respektive katalog/databas. Vilka regler som skall användas via idportalen bestäms av systemägarna i enlighet med Stockholms Stads IT-säkerhetsregler som grund. idportalen påverkar aldrig det interna regelverk som finns uppsatt i de webbapplikationer som ska skyddas. idportalen kan ge ytterligare skydd och funktioner för att komma fram till en applikation, som t.ex. SSO (Single Sign On). idportalen förutsätter att de applikationer som skyddas är konstruerade enligt Stockholms stads tekniska plattform. en måste stödja FQDN. FQDN består av hostnamn och domännamn dvs. hostnamn.domän.se Exempel på fungerande hostnamn: http://info.stockholm.se https://www.sbk.stockholm.se http://www.stokab.se/email http://stockholm.se Exempel på icke fungerande namn: http://info http://193.13.56.24 5 Standarder idportalen använder sig av följande standarder SSL.v3 (Secure Socket Layer) Krypteringsstandard 7 (14)
SAML 1.1/2.0 OCSP, Online Certificate Status Protocol (certifikatverifieringsstandard) CRL, Certificate Revocation List (certifikatverifieringsstandard) LDAP v3 (Lightweight Directory Access Protocol) Mjuka certifikat #PKCS12 (filformatet) Hårda certifikat #PKCS15 (filformatet). Standarden för kortet är X.509 6 Systemkomponenter idportalen består av nedanstående systemkomponenter Katalogtjänst: edirectory, Novell Autentisering/Auktorisering: etrust Siteminder, CA Reverseproxy: Apache Lastbalansering/feltolerans: BigIp SMS broker/otp server: Netsize/NordicEdge. Webbservers: Microsoft IIS/ Apache SSL: BigIp Administration: Identity Manager, NordicEdge. 6.1 Siteminder Siteminder är en programvara som fungerar som systemlogik och regelverk för idportalen. Via en reverseproxy eller via en på webbservern installerad siteminderagent omdirigeras klienten från Siteminders (policyservrar) till loginservrar som efter identifiering exekverar det regelverk som definierats för applikationen. Autentiseringen av klienten sker via Siteminder med de metoder som har valts att aktiveras för den aktuella applikationen. Regelverket för åtkomst till applikationen, dvs. vilka kriterier som krävs för att få tillgång till applikationen, efter godkänd identifiering, verkställs i Siteminder. Siteminder hanterar användardatabaser såsom LDAP, AD, SQL och RACF m.fl. vilket görs att användarna kan identifiera sig via befintlig användarinformation. Detta görs genom att en befintlig användardatabas knyts till Siteminder. Siteminder ställer då identifieringsfrågan till de databaser som anslutits till systemet. 6.2 Utökade funktioner idportalen idportalen har t.ex. även funktioner som: 8 (14)
Lösenordservice kan hantera lösenord och även konton som är låsta med centrala felmeddelandensidor. Självregistrering Användare kan anmäla sig på en webbsida. Om användaren har ett e-id räcker det för att användaren skall vara godkänd. Siteminder kan ställas in att skicka med information från användardatabaserna ner till webbservrarna för t.ex. SSO mot webbapplikationen. Informationen kommer ner till webbservern via http-headers eller cookie. Man kan via Siteminderagent ställa in ett antal regler redan där som begränsar rättigheterna t.ex. PUT,GET etc... Andra begränsningar/inställningar kan även justeras på agenten. Man kan aktivera många händelser på ett stort urval parametrar t.ex. omdirigering till en annan sida om man gör något som inte är tillåtet. Man kan granulera webbserverns sidor så att vissa sidor kräver bara SMS medan andra kräver en högre autentisering t.ex. hårt certifikat. Användaren blir då omdirigerad till den metoden automatiskt. Man kan ha flera olika inloggningsmetoder mot samma tjänst för att kunna utöka flexibiliteten för användarna. Reporting Services presenterar statistik för applikationer och användare via ett webbinterface. Denna tjänst finns inte implementerad idag. Har stöd för flera olika webbapplikationer och protokoll. T.ex. HTTP, FTP, WebDAV, Servlet, Weblogic. För mer optioner gå till: http://www.netegrity.com/products/products.cfm?page=solutionmodules 6.3 Delegerad administration av tillgång till applikationer idportalen innehåller delegerad administration av användare. Systemet heter Identity Manager. Identity Manager är ett webbbaserat gränssnitt mot LDAP som gör att man kan administrera rättigheter mot sina applikationer. Gränssnittet kan anpassas till varje organisations regelverk. I idportalens fall konstrueras ett gränssnitt mot en gemensam LDAP- katalog där varje applikation motsvaras av, oftast, en auxiliaryclass. En användare som har fått rätt auxiliaryclass tilldelat till sitt användarobjekt får därigenom rätt att köra mot applikationen. Konkret innebär det att systemägarna via webbgränssnitt kan göra sökningar på personnummer i alla de databaser som idportalen använder som källor i applikationens fall. Efter att ha sökt ett personnummer och fått ett svar, kan sedan administratören klicka i en ruta, och därmed ge personen tillgång till applikationen. Administratören kan lägga till eller ta bort användare mot sin 9 (14)
applikation, samt titta på de uppgifter som systemägaren har rätt till som finns om personen. Staden har olika användarkataloger. Användarinformation synkroniseras mellan de lokala katalogerna och en central metakatalog. Detta medför att administratörerna kan arbeta i ett gränssnitt de är vna vid.. 6.4 Loggar Systemloggar genereras som ger en spårbarhet genom systemet. Nivån på loggarna är olika beroende på krav och funktion. Varje funktion har sin loggning, t.ex. identifiering har sin, auktorisering, administration och accounting har sina. 6.5 Katalogtjänst Som LDAP tjänst i systemet används Novells edirectory. I LDAP lagras användarinformationen som Siteminder använder sig av. Förutom interna LDAP- kataloger som används (Metakatalogen m.fl.) så finns en katalog som består av externa användare, då framförallt medborgare. Som operativsystem används Novell Netware. För mer information om metakatalogen hänvisas till dess systembeskrivning. 6.6 Loginservrar Det finns centrala loginservrar. Dessa använders Windows Server som operativsystem. 6.7 SSL För SSL - terminering används F5 BigIP. Det är en hårdvarubaserad lösning för SSL kryptering. 6.8 Webbserver Som webbservers används Microsofts IIS och Apache 6.9 Operativsystem för Siteminder Operativsystem för policyservrarna är Sun Solaris. 6.10 Reverseproxy Reverseproxy funktionen i Siteminder använder sig av Apache webbserver. OS plattformen är Sun Solaris. Varje virtuell webbserver har en ipadress som även har en virtuell agent på sig. 10 (14)
7 Systemskisser 7.1 idportalen med Reverseproxy 11 (14)
7.2 idportalen med Agent 8 Ordlista Auxiliaryclass CA En utökning av X.500 katalogtjänstens schema. RFC 2256 Certificate Authority Utgivare av digitala certifikat. http://www.ietf.org/html.charters/pkix-charter.html CRL Certificate Revocation List Protokoll för verifiering av certifikat RFC 2587 DirXML Produkt från Novell som är till för att synka information mellan t.ex. två databaser. http://www.novell.com/sv-se/products/dirxml/ DMZ Demilitarized Zone Del av nätverk som ligger mellan Internet och intranätet. FTP File Transfer Protocol 12 (14)
RFC 959 FQDN Fully Qualified Domain Name datornamn inklusive domännamn. T.ex. www.stockholm.se RFC 2109 ISAPI Internet Server Application Programming Interface Programmeringsspråk för Microsoft IIS. LDAP Lightweight Directory Access Protocol Accessprotokoll mot X.500 kompatibla katalogtjänster http://www.mozilla.org/directory/standards.html OCSP Online Certificate Status Protocol Protokoll för verifiering av certifikat. RFC 2650 OTP One Time Password Används t.ex. med SMS eller safeword dosa. PC/SC Personal Computer/Smart Card Standardprotokoll för smarta kort. http://www.pcscworkgroup.com/ PKI Private Key Infrastructure En kombination av standards, protokoll och mjukvara för support av digitala certifikat. http://www.ietf.org/html.charters/pkix-charter.html Proxycache Funktion/agent som agerar mellanhand mellan klient och server. Mellanlagrar även viss data. Reverseproxy Funktion/ som agerar mellanhand mellan klient och server, svarar webbläsaren i webbservern ställe. Siteminder Mjukvara tillverkad av CA SMS broker Tjänst för att leverera SMS till olika teleoperatörers nät. SSL URL WebDAV Secure Socket Layer För att kryptera trafiken mellan två värdar (hosts). http://www.netscape.com/eng/ssl3/ Uniform Resource Locator T.ex. www.stockholm.se RFC 1738 Web Distributed Authoring and Versioning. För att kunna spara data mot en webbserver istället för att bara läsa data. 13 (14)
www.webdav.org/specs/ WebbAgent Etrust Siteminder WebbAgent. Programvara som installeras på webbservern och som fungerar som ett ISAPI, NSAPI filter. X.500 OSI standard för katalogtjänster (T.ex. edirectory, #PKCS12 iplanet, AD) http://www.mozilla.org/directory/standards.html Certifikat filformat. Refereras ibland som.pfx. #PKCS15 Filformat för Smartcard 14 (14)