Vattenf rvaltning webservices-s kerhet-infrastruktur smhi ...07 Esa Falkenroth - SMHI webbtjänster.pdf · Sekretess och skydd av data Hantering av sekretessbelagd närmast informationen

Post on 01-Feb-2020

0 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

SMHI webservices

Bakom kulissernaInfrastruktur och säkerhetslösningarDemonstration av webservices

Esa Falkenroth, Informationsarkitekt, SMHI.

OBS: Några av dessa webservice-länkarär nåbara externt. Andra öppnas omdet kommer önskemål.

Webbtjänster inom vatten

2

Bakom kulisserna?� Bakom kulisserna: Live Demo av två olika typer av webservice

� Vi “låtsas” vara en dator som ska hämta data.

� Hämtning av vanliga kartskikt från en geoserver

� Nerladdning av stora datamängder via webservice� Hämtning av information om avrinningsområden.

� Bakom kulisserna: Vi vill utveckla nya tjänster fort

� …….men hur skyddar vi interna system mot angrepp??� Säker infrastruktur / Autentisering / Övervakning

� Hantering av sekretess och dataskydd

� Säkerhetsrutiner

� Kort lista på teknikval som fungerat bra för SMHI

Webbtjänster inom vatten

3

Traditionell infrastruktur säkra webservice� En osäker zon (DMZ) med kopia av de data som ska exponeras� Interna resurser skyddad eftersom ingen ingående trafik tillåts.

� Att hålla kopior av flera terabyte data kostar mycket!

� Elektroniska tryckpressen (publicerar data utan att veta om de behövs)

INTERNET

DEMILITARIZED ZONE (DMZ)

INTERNA RESURSER

BACKUP

Webbtjänster inom vatten

4

Infrastruktur för säkra webservice� Ett osäkert lager (DMZ) utan kopior av stora interna databaser� Speciella accessmoduler som begränsar åtkomst till interna resurser

� Brandväggsregler och olika protokoll in och ut i A-net ökar säkerhet.

� Interna resurser åtkomliga men ändå skyddade från osäkra zonen.

INTERNET

DEMILITARIZED ZONE

ACCESS-MODULER (A-NET)

INTERNA RESURSER

Webbtjänster inom vatten

5

Webservice för att nå data

� Kartor via standardiserade WMS- och WFS-tjänster

� Nerladdning av stora mängder data.

� Interna webservice ”bakom kulisserna” för hämta av data från databaser

Webbtjänster inom vatten

6

Vanliga WMS-anrop för kartor

En applikation anropar webbserver pss som en webbläsare

Anropet skickas till en karttjänst (t.ex. en Geoserver)

Karttjänsten skickar tillbaka en karta till applikationen.Ofta är applikationen javaskript som kör i en webbläsare.

http://map.smhi.se/geoserver/wms?bbox=1009259.6227719582,6036447.5032413,2226407.6960645295,7821210.570555659&styles=&Format=image/png&request=GetMap&version=1.1.1&layers=SMHI_vatten:huvudavrinningsomraden2008_2&width=415&height=550&srs=EPSG:3021

GetMap&version=1.1.1&Layers=SMHI_vatten:huvudavrinningsomraden2008_2 &width=415 &height=550 &srs=EPSG:3021

Webbtjänster inom vatten

7

� Visning genom en webbapplikation (indirekta WMS-frå gor):http://www.geodata.se

Webbtjänster inom vatten

8

Helt vanlig kartlösning bakom kulisserna� Openlayers i webbläsaren.� Anrop går via Apache-front

� Geoserver svarar på WMS-anrop

� Cachade bilder för alla zoomnivåer för prestanda i kartan (ca 1 miljon bilder).� Resultatet är bilder

� Lite WFS-tjänster för att visualisera mätstationer och ”valda områden”

� Ganska vanlig lösning….

Webbtjänster inom vatten

9

En helt annan typ av webservice- Nerladdning av stora mängder data

� Slutresultatet resultat från simuleringar och mätningar snarare än kartor

� Liknande sätt att hämta data:

� En applikation anropar webserver på samma sätt som en webbläsare� URL http://maskinnamn.smhi.se/nerladdningstjänst/sökvillkor/sökvillkor

� HTTP method (GET/ POST/ PUT/ DELETE)

� REST-teknik skapar en illusion av att data finns i en katalogstruktur

� Topp-kataloger motsvara metadata� Längst ner ligger data.

� Undersöka vilka mätstationer SMHI har

� http://homevatten-utv:5555/wiskiws/v1/stations� Hämta ner tidsserier från 1923-08-01 till 2011-01-17 för Kukkasjärvi

� http://homevatten-utv:5555/wiskiws/v1/stations/1160/Q/DayMean

Webbtjänster inom vatten

10

Exempel hämta simuleringsdata via webservice (annan ”drill-down” )

� Utvecklat för VISS men kan efter överenskommelse användas av vem som helst

� GET /v1 (Vilka nerladdningar stöds?)

� GET /v1/downloadSetup1/ (Vilka områden finns det data för)� GET /v1/downloadSetup1/613954-134879/ (Vilka data för ett område)

� https://vattenwebws-tst.smhi.se/v1/

� https://vattenwebws-tst.smhi.se/v1/downloadsetup1� https://vattenwebws-tst.smhi.se/v1/downloadsetup1/614578-138391

� REST gör det lätt att utforska metadata.� vilka delavrinningsområden finns

� Vilka data kan man hämta för dessa delavrinningsområden?

� Applikation kan direkt gå in databaser och hämta senaste data.

Webbtjänster inom vatten

11

Ytterligare ett exempel:Hämta data från SVAR via webben

� http://produkter.smhi.se/svar/sws/sws.php?aroid=650452-150081

Webbtjänster inom vatten

12

Bakom kulisserna: REST-standarden

package com.suryasuravarapu.jersey; import javax.ws.rs.GET; import javax.ws.rs.Path; import javax.ws.rs.Produces;

@Path ("/helloworld") public class HelloWorldResource { @GET@Produces ("text/plain") public String sayHello() { return "Hello World"; } }

Tredjepartsprodukter Apache/Tomcat/Jersey tar hand om anropet från ”maskinen”

Jersey bygger på Representational statetransfer (REST) JSR 311(JAX-RS) standarden.

Svar från webservice kan formatteras:- Excel- XML- Text etc, etc..

Arbete på SMHI för att möjliggöra snabbare utveckla webservice utan att riskera viktiga produktionssystem

Webbtjänster inom vatten

14

Infrastruktur för säkra webservice� Ett osäkert lager (DMZ) utan kopior av stora interna databaser� Speciella accessmoduler som begränsar åtkomst till interna resurser

� Brandväggsregler och olika protokoll in och ut i A-net ökar säkerhet.

� Interna resurser åtkomliga men ändå skyddade från osäkra zonen.

INTERNET

DEMILITARIZED ZONE

ACCESS-MODULER (A-NET)

INTERNA RESURSER

Webbtjänster inom vatten

15

Säkerhet: Infrastruktur/användarhantering

� Säker infrastruktur (flera nätverkszoner, brandväggsregler, minimala portöppn)

� Skydd mot Denial-of-Service attacker mot interna databaser genom att Access-moduler reglerar trafiken mot interna system.

� Säkra tredjepartsprogramvaror med mycket stort antal användare (patchar)

� Redhat Linux, Apache, Tomcat, Postgres.

� Säker användarhantering � Applikationer kör på användaridentiteter med reducerade rättigheter.

� Separata identiteter för läsning och skrivning i databaser.

� Central katalog för autentisering av användare (Active Directory via LDAP/S)� Inloggning skyddar mot riktade attacker.

� Övervakning av webbapplikationens status (OP5/Unicenter)

� Stora delar av driftsättningar automatiserade (rpm/ppm mgmt)

� Rättigheter sätt i installationsskript (mindre risk att missa något).

Webbtjänster inom vatten

16

Säkerhetsarbete

� Egna periodiska portskanningar och simulerade attacker� Nessus.org

� Gransning med fokus på säkerhet � Klassning av informationstillgångar� Design-granskning av arkitektfunktion och

säkerhetsansvarig � Rutiner för hantering av incidenter

Webbtjänster inom vatten

17

Sekretess och skydd av data

� Hantering av sekretessbelagd närmast informationen

� Databasen lämnar ut NULL ifall man frågar efter sekretessbelagda tidsserier

� Accessmodulen har listor på ”öppna data” och släpper bara igenom öppen information till access-nätet (A-net)

� Säker autentisering via AD/LDAP-S� Accessmoduler implementerar endast hämtning (ingen skrivning i

interna databaser… for now).

Framtidsvision: Ge användare data såde kan presenteras & sampresenteras

Webbtjänster inom vatten

19

� Visning genom en egen webbapplikation (indirekta WM S-frågor):http://produkter.smhi.se/svar/svar2008.htm

Webbtjänster inom vatten

20

� Visning genom en extern webbapplikation (indirekta WMS-frågor):http://www.geodata.se

Webbtjänster inom vatten

21

Visning av tjänster genom ArcMap

Topografisk karta från lokalt på SMHI (grön)

Brunnar, WMS från SGU(blå punkter)

DelavrinningsområdenWMS från SVAR, SMHI(röda linjer)

Webbtjänster inom vatten

22

Metadata ISO-19115

Webbtjänster inom vatten

23

Nyfiken på teknikval som fungerat bra?

� Säker stabil webbserver: Apache� Köra webbapplikation i java: Tomcat� Hantering av webservice-anrop: Jersey� Kartserver: Geoserver med cachade bilder för zoomnivåer (ca 1,000,000 bilder).

� Excelgenerering: Apache POI� Databas-lösning. Postgres 8.4

� Koppling mot databas: JDBC� Loggning: log4j

top related