Urbanisation des SI Conduite du changement IT 20/03/09. Patrick CHAMBET http://www.chambet.com



Documents pareils
Responsable du cours : Héla Hachicha. Année Universitaire :

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Formation SSO / Fédération

Single Sign On. Nicolas Dewaele. Single Sign On. Page 1. et Web SSO

Sécurisation des architectures traditionnelles et des SOA

Shibboleth. David Verdin - JOSY "Authentification centralisée pour les applications web" - Paris - 4 février mai

Tour d horizon des différents SSO disponibles

DenyAll Protect. Sécurité & accélération. Parefeux pour applications et services Web. de vos applications.

CIBLE DE SECURITE CSPN DU PRODUIT PASS. (Product for Advanced SSO)

Sécurité des Web Services (SOAP vs REST)

Sécurité des sites Web Pas un cours un recueil du net. INF340 Jean-François Berdjugin

ENVOLE 1.5. Calendrier Envole

Oauth : un protocole d'autorisation qui authentifie?

Bee Ware. Cible de Sécurité CSPN. Validation Fonctionnelle Validation Fonctionnelle Bon pour application AMOA BEEWARE BEEWARE

IPS-Firewalls NETASQ SPNEGO

Qu'est ce qu'une Fédération d'identités? Définitions Fonctionnement de base Fonctionnement détaillé Les principaux composants

Tech-Evenings Sécurité des applications Web Sébastien LEBRETON

Ce document décrit une solution de single sign-on (SSO) sécurisée permettant d accéder à Microsoft Exchange avec des tablettes ou smartphones.

Gestion des Identités : 5 règles d'or. Patrice Kiotsekian Directeur Evidian France

PASS v2.0 : solution d authentification unique basée sur les composants Shibboleth Service Provider v2.5.1 et Identity Provider v2.3.

La Latecion protection anti-intrusion Web Web Le concept «Zero effort Security» La protection des applications Extranet

Vulnérabilités et sécurisation des applications Web

Introduction. aux architectures web. de Single Sign-On

Urbanisme du Système d Information et EAI

La sécurité des processus métiers et des transactions. Stéphane Marcassin Bull Services Sécurité

Les Services Web. Jean-Pierre BORG EFORT

Groupe Eyrolles, 2004, ISBN :

Sécurité. Objectifs Gestion de PKI Signature Cryptage Web Service Security

Présentation de la solution Open Source «Vulture» Version 2.0

Les Architectures Orientées Services (SOA)

Formations. «Règles de l Art» Certilience formation N SIRET APE 6202A - N TVA Intracommunautaire FR

Vulnérabilités et solutions de sécurisation des applications Web

La suite logicielle Lin ID. Paris Capitale du Libre 25 septembre 2008

Web Services ADFS. Etudiant : Pellarin Anthony. Professeur : Litzistorf Gérald. En collaboration avec : Sogeti. Date du travail :

Business et contrôle d'accès Web

25 septembre Migration des accès au Registre national en protocole X.25 vers le protocole TCP/IP, pour les utilisateurs du Registre national

Sécurité des réseaux sans fil

Gestion des identités

MINISTÈRE DES SOLIDARITÉ ET DE LA COHÉSION SOCIALE

Fédération d'identités et propagation d'attributs avec Shibboleth

OWASP Open Web Application Security Project. Jean-Marc Robert Génie logiciel et des TI

Solutions Microsoft Identity and Access

Revue de code Sécuritéou Test d Intrusion Applicatif. Quel est le plus efficace pour évaluer un niveau de sécurité applicatif?

Drupal et les SSO Nicolas Bocquet < nbocquet@linalis.com >

WEBSERVICES. Michael Fortier. Master Informatique 2ème année. A308, Université de Paris 13


La démarche SOA et l interopérabilité applicative

TUNIS LE : 20, 21, 22 JUIN 2006

SAML et services hors web

PortWise Access Management Suite

Présenté par : Ould Mohamed Lamine Ousmane Diouf

Note Technique Sécurité. Système d'authentification. Authentification hors APN LuxGSM Authentification 3G/APN. Système de notification

Principales failles de sécurité des applications Web Principes, parades et bonnes pratiques de développement

Séminaire EOLE Dijon 23/24 novembre Architecture Envole/EoleSSO

Newsletter DenyAll 2014

Solutions d accès sécurisées pour opérer une Market Place Saas multitenante

La sécurité des données hébergées dans le Cloud

ASIP Santé DST des interfaces MSSanté des Clients de messagerie v /02/ / 95

Architectures de fédération d'identités et interopérabilité

Le protocole SSH (Secure Shell)

Guide Share France. Web Single Sign On. Panorama des solutions SSO

Le cadre des Web Services Partie 1 : Introduction

Digital DNA Server. Serveur d authentification multi-facteurs par ADN du Numérique. L authentification de confiance

RTE Technologies. RTE Geoloc. Configuration avec Proxy ou Firewall

S28 - La mise en œuvre de SSO (Single Sign On) avec EIM (Enterprise Identity Mapping)

DESCRIPTION DU COMPOSANT

[ Sécurisation des canaux de communication

[APPLICATON REPARTIE DE VENTE AUX ENCHERES]

Déploiement de l infrastructure SOA. Retour d expérience Août 2013

Augmenter l efficacité et la sécurité avec la gestion des identités et le SSO

État Réalisé En cours Planifié

4. SERVICES WEB REST 46

Authentification avec CAS sous PRONOTE.net Version du lundi 19 septembre 2011

DÉVELOPPER DES APPLICATIONS WEB SÉCURISÉES

L'AAA, késako? Bruno Bonfils, fr.org>, Novembre Sous ce terme d'apparence barbare est regroupé l'ensemble des concepts suivants :

Application des Spécifications détaillées pour la Retraite, architecture portail à portail

Mettre en place un accès sécurisé à travers Internet

La fédération d identités, pourquoi et comment? Olivier Salaün, RENATER ANF Mathrice 2014

Un exemple d'authentification sécurisée utilisant les outils du Web : CAS. P-F. Bonnefoi

Protocole industriels de sécurité. S. Natkin Décembre 2000

La sécurité des PABX Le point de vue d un constructeur Les mesures de sécurisation des équipements lors du développement et de l intégration

Supplément de renseignements : Examens d applications et pare-feux d applications web clarifiés Normes : Normes en matière de sécurité des données de

Evidian IAM Suite 8.0 Identity Management

Traçabilité des administrateurs internes et externes : une garantie pour la conformité. Marc BALASKO Ingénieur Avant-vente

Architecture Orientée Service, JSON et API REST

Expérience d un hébergeur public dans la sécurisation des sites Web, CCK. Hinda Feriani Ghariani Samedi 2 avril 2005 Hammamet

Authentification et contrôle d'accès dans les applications web

Formation en Logiciels Libres. Fiche d inscription

A. À propos des annuaires

Single Sign-On open source avec CAS (Central Authentication Service)

Extraction de données authentifiantes de la mémoire Windows

AccessMaster PortalXpert

Mise en œuvre des serveurs d application

Réseau - Sécurité - Métrologie - Data Center. Le leader du marché allemand des UTM débarque en France avec des arguments forts!

PRIMAVERA P6 ENTERPRISE PROJECT PORTFOLIO MANAGEMENT WEB SERVICES

Firewall IDS Architecture. Assurer le contrôle des connexions au. Sécurité 1

SÉCURITÉ RÉSEAUX/INTERNET, SYNTHÈSE

Transcription:

Urbanisation des SI Conduite du changement IT 20/03/09 Sécuriser ses Web Services Patrick CHAMBET http://www.chambet.com Bouygues Telecom Direction Gouvernance, Outils et Architecture / Sécurité du SI

Sommaire Vulnérabilités des Web Services Sécurisation des Web Services Authentification des accès Confidentialité et authenticité des messages Audit et traçabilité des actions Recommandations d implémentation

Rappel: les Web Services Une infrastructure d'échange applicatifs A base de messages XML Sur les protocoles «Web» (HTTP, HTTPS) en général Entre un client et des applications A l aide d un simple browser Web Ou entre applications Interface décrite en langage WSDL (Web Services Description Language) Possibilité d utiliser SOAP (Simple Object Access Protocol) pour l'échange des messages Très à la mode (cf SOA, SaaS, Cloud computing, )

Web Services et sécurité (1/2) Avantages des Web Services L interopérabilité est prioritaire L hétérogénéité des applications disparaît: accès transparent à tout type de plate-forme Briques indépendantes (les services) Peuvent remplacer les bus (de type Tuxedo) WS 2 Utilisateur Passerelle XML WS 1 WS 3

Web Services et sécurité (2/2) Un défi pour la sécurité Traversent les firewalls et arrivent au cœur du SI Sont souvent ouverts aux partenaires externes (ex: Rosettanet, ) Services sans état par défaut (donc pas de sessions) Pas de centralisation Forte résistance des MOE face à la sécurisation de ce type d architectures Comment authentifier les accès? Comment protéger les données sensibles échangées? Comment assurer la traçabilité des actions?

Vulnérabilités des Web Services (1/2) Héritent des vulnérabilités des applications Web traditionnelles Saisie de données hostiles Buffer overflows, injections SQL, Cross Site Scripting (XSS), corruption de BD Contournement de l authentification, vol de session, tentatives de rejeu Vulnérabilités des navigateurs Cross Site Request Forgeries (CSRF) Possèdent leurs propres vulnérabilités Envoi de code XML malformé ou XML overflow -> déni de service XML (XDoS) Il existe des fuzzers pour XML (ex: http://untidy.sourceforge.net) Inclusion dans le XML d'attachements MIME ou de binaires Injections XPath Injection de XML dans les champs XML -> changement de la structure et de la signification du message XML Exécution de commandes sur le système d'exploitation

Vulnérabilités des Web Services (2/2) Installations par défaut des progiciels Mots de passe par défaut Mots de passe en clair dans les fichiers de configuration Login/mot de passe générique unique pour l accès aux WS Y compris lorsque les WS sont exposés sur Internet!

Sommaire Vulnérabilités des Web Services Sécurisation des Web Services Authentification des accès Confidentialité et authenticité des messages Audit et traçabilité des actions Recommandations d implémentation

Sécurisation des accès aux WS Authentification des utilisateurs (ou des autres applications) Login / mot de passe (le moins sécurisé) Niveau transport ou message (transmission à d autres WS) Kerberos (en interne) Jeton de session de type HTTP (mais on n est plus sans état) Certificats X.509 SAML (Security Assertion Markup Language): fédération d identités avec des partenaires externes) WS-Security Lorsque rien de tout cela n est possible: au minimum, filtrage sur les adresses IP sources des serveurs clients Contrôle d accès aux fonctionnalités du Web Service Gestion des permissions d accès des utilisateurs en fonction de leur profil WS 2 Utilisateur Passerelle XML WS 1 WS 3

SAML Standard de propagation de bout en bout du contexte de sécurité Basé sur XML Permet la description et l'échange des informations de sécurité (codes d'accès, privilèges, méthode d'authentification,...) exprimées sous la forme d'assertions L'enregistrement, appelé jeton, est encapsulé dans SOAP et permet l'accès à des services sans nouvelle identification (SSO) Il définit pour chaque application et chaque individu, un objet (l'entité), et lui a associe des privilèges (les attributs) SAML est géré par l'oasis

SAML: exemple de jeton <saml:conditions NotBefore="2009-03-03T18:12:33Z" NotOnOrAfter="2009-03-03T23:22:33Z"> <saml:audiencerestrictioncondition> <saml:audience>https://www.mysite.com/</saml:audience> </saml:audiencerestrictioncondition> </saml:conditions> <saml:authenticationstatement AuthenticationMethod="urn:oasis:names:tc:SAML:1.0:am:password" AuthenticationInstant="2009-03-03T20:29:23Z"> <saml:subject> <saml:nameidentifier Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"> jdupond@bbox.fr </saml:nameidentifier> </saml:subject> </saml:authenticationstatement> <saml:attributestatement> <saml:subject>... </saml:subject> <saml:attribute AttributeName="Group" AttributeNamespace="http://schemas.xmlsoap.org/claims"> <saml:attributevalue> Utilisateur </saml:attributevalue> </saml:attribute> </saml:attributestatement> <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">... </Signature>

WS-Security Security (1/2) WS-Security Définit une série d'extensions SOAP Plus large que SAML, intègre le traitement de l'authentification, du chiffrement et de l'intégrité des données Accueille les spécifications tierces comme SAML, Kerberos, X.509,... Deux spécifications majeures ont été définies XML-Encryption : chiffrement total ou partiel des champs XML XML-Signature : authentification des interlocuteurs et intégrité du message

WS-Security Security (2/2) Autres spécifications de WS-Security

WS-Security: Security: ex. de UserNameToken <S11:Envelope xmlns:s11="..." xmlns:wsse="..."> <S11:Header> <wsse:security> <wsse:usernametoken> <wsse:username>jdupond</wsse:username> <wsse:password>plouf</wsse:password> </wsse:usernametoken> </wsse:security> </S11:Header> </S11:Envelope> <S11:Envelope xmlns:s11="..." xmlns:wsse="..." xmlns:wsu= "..."> <S11:Header> <wsse:security> <wsse:usernametoken> <wsse:username>jdupond</wsse:username> <wsse:password Type="...#PasswordDigest"> wfyi4nxd8pjnovjscjev7t4rghe4rx==</wsse:password> <wsu:created>2009-03-03t01:24:32z</wsu:created> </wsse:usernametoken> </wsse:security> </S11:Header> </S11:Envelope>

WS-Security: Security: SOAP Message Security <?xml version="1.0" encoding="utf-8"?> <S11:Envelope xmlns:s11="..." xmlns:wsse="..." xmlns:wsu="..." xmlns:ds="..."> <S11:Header> <wsse:security> <wsse:binarysecuritytoken ValueType="...#X509v3" EncodingType="...#Base64Binary" wsu:id="x509token">miiezycba9cgbwibahiqemtjxc0rqrjh5i...</wsse:binarysecuritytoken> <ds:signature> <ds:signedinfo> <ds:signaturemethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/> <ds:reference URI="#myBody"> <ds:digestmethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/> <ds:digestvalue>ezldeytso2...</ds:digestvalue> </ds:reference> </ds:signedinfo> <ds:signaturevalue>bl7jdftfeb2l/vxbmzpnjpov...</ds:signaturevalue> <ds:keyinfo> <wsse:securitytokenreference> <wsse:reference URI="#X509Token"/> </wsse:securitytokenreference> </ds:keyinfo> </ds:signature> </wsse:security> </S11:Header> <S11:Body wsu:id="mybody">... </S11:Body> </S11:Envelope>

Ex. d implémentation (Weblogic) package examples.webservices.security_jws.client; import weblogic.security.ssl.trustmanager; import weblogic.xml.crypto.wss.provider.credentialprovider; import weblogic.xml.crypto.wss.wssecuritycontext; import weblogic.wsee.security.bst.clientbstcredentialprovider; import weblogic.wsee.security.unt.clientuntcredentialprovider; (...) import java.security.cert.x509certificate; public class SecureHelloWorldClient { public static void main(string[] args) throws Throwable { } } //username or password for the UsernameToken String username = args[0]; String password = args[1]; //client private key file String keyfile = args[2]; //client certificate String clientcertfile = args[3]; String wsdl = args[4]; SecureHelloWorldService service = new SecureHelloWorldService_Impl(wsdl + "?WSDL" ); SecureHelloWorldPortType port = service.getsecurehelloworldserviceport(); //create credential provider and set it to the Stub List credproviders = new ArrayList(); //client side BinarySecurityToken credential provider -- x509 CredentialProvider cp = new ClientBSTCredentialProvider(clientCertFile, keyfile); credproviders.add(cp); //client side UsernameToken credential provider cp = new ClientUNTCredentialProvider(username, password); credproviders.add(cp); Stub stub = (Stub)port; stub._setproperty(wssecuritycontext.credential_provider_list, credproviders); (...)

Protection des données échangées Chiffrement du flux HTTPS (SSL/TLS), IPSec Chiffrement des champs XML Assure la confidentialité des données Signature des champs XML Assure l intégrité des données (non répudiation également) Attention: le chiffrement ne protège pas contre les intrusions!

Durcissement applicatif Changer les mots de passe par défaut Ne pas faire confiance aux données XML reçues Filtrage des données côté serveur Validation du schéma XML et du contenu des champs Analyse du contenu Des relais filtrants («firewalls XML» ou «firewalls applicatifs») sont spécialisés dans la validation de données XML Ex: IBM DataPower, DenyAll, BeeWare, Sous forme d appliances ou de services à installer sur un serveur Assurent aussi l authentification et le chiffrement SSL

Traçabilité des actions (1/2) Les actions effectuées doivent être tracées C est parfois une obligation légale (ex: accès Internet pour un FAI) Sinon, cela permet de se couvrir en cas d enquête Gestion de journaux d événements / de logs Enregistrement pour chaque appel à un Web Service Utilisateur Action effectuée Données sensibles manipulées

Traçabilité des actions (2/2) Si pas de possibilité de logs applicatifs Logs du serveur HTTP (requêtes GET / POST, utilisateur, adresse IP source, ) Logs des firewalls Logs des proxies HTTP Logs des firewalls applicatifs XML

Recommandations d implémentation (1/2) Intégrer les bonnes pratiques dans les normes de sécurité des développements informatiques de l entreprise Faire particulièrement attention aux accès externes qui arrivent au cœur du SI Utiliser une architecture d accès sécurisée Passer par des relais de filtrage applicatif situés en DMZ Filtrer sur les adresses sources des partenaires externes quand c est possible (au niveau des firewalls externes) WS 2 Utilisateur externe Passerelle XML WS 1 Firewall DMZ Firewall WS 3

Recommandations d implémentation (2/2) Utiliser les fonctionnalités d authentification et de filtrage des données proposées en standard par les environnements de développement et les serveurs d applications Ex: Weblogic supporte l intégration Kerberos Windows Ne pas publier son catalogue WSDL Surtout à l extérieur (sur Internet) Ex: chercher "filetype:wsdl" sur Google Y compris dans les annuaires UDDI (Universal Description Discovery and Integration) Séparer le réseau d administration des Web Services du réseau de production

Exemple de description WSDL

Conclusion La sécurisation des Web Services est un sujet complexe Mais du fait du succès des Web Services, leur sécurisation est de plus en plus incontournable dans la plupart des SI La protection des données échangées est souvent une obligation légale C est indissociable de la prise en compte de la sécurité dans les projets informatiques Un grand nombre d acteurs sont impliqués, de bout en bout des processus de l entreprise

Pour aller plus loin Vulnérabilités des applications Web OASIS http://www.chambet.com/publications/sec-web-apps/ http://www.oasis-open.org/committees/wss/ http://www.oasis-open.org/news/oasis-news-2009-02-05.php Microsoft Web Services Security Patterns http://msdn.microsoft.com/en-us/library/aa480545.aspx Securing Weblogic Web Services SAP http://download.oracle.com/docs/cd/e12840_01/wls/docs103/webserv_sec/ https://www.sdn.sap.com/irj/scn/articles-webservices-all OpenLiberty secure identity Web Services http://www.openliberty.org/

Questions