Formation 1 - Formation Sécurité JAVA Sécurité JAVA.

Slides:



Advertisements
Présentations similaires
Projet de fin d'étude pour l'obtention du Diplôme Nationale d'Ingénieur en Informatique Conception et développement des modules de GED pour l’ indexation.
Advertisements

Single Sign On et Web SSO Page 1 Nicolas Dewaele Single Sign On.
Projet tuteuré 2009 Les clients légers Alexandre Cédric Joël Benjamin.
Guide Share France Web Single Sign On Panorama des solutions SSO.
Séminaire EOLE Dijon Octobre 2008 Eole SSO.
- Formation Web Services
Les systèmes d'information 1- Une pratique quotidienne 2- Les données 3- Approche conceptuelle 4- Notion de serveur 5- Conception d'un système d'information.
Formation 1 - Formation INTEGRATION CONTINUE Intégration continue et méthodes agile.
Messagerie Open Source à la DGCP Implémentation réalisée par IBM et Pilot Systems Sylvain Viollon.
Introduction aux technologies du Web Mercredi 12 décembre 2007 Patrice Pillot
SSO : Single Sign ON Authentification unique Il y a 10 ans : Un luxe Il y a 3 ans : Un composant à part entiere Aujourd'hui : Incontournable Demain : Le.
1 Les technologies XML Cours 3 : XML et les architectures N-tiers Janvier Version 2.0 -
1 Observer le paramétrage d’un réseau. 2 Dans notre réseau téléphonique habituel, les postes, reliés à un auto-commutateur... …peuvent dialoguer, car.
- Formation ActiveMQ 1 1.
Formation 1 Formation ESB ServiceMix ESB ServiceMix.
1 Y a-t-il une place pour Opensocial dans l'enseignement supérieur ? David Verdin RENATER JRES - Toulouse – novembre 2011.
1 Identifier les composants d’un réseau local. 2 Les composants d’un réseau Des ordinateurs, appelés stations... …munis d’une carte réseau leur permettant.
TP Sécurité - Sécuriser l’accès d’administration en utilisant
Folios, une application au service des parcours éducatifs
Communication client-serveur
Mise en place d’un système de partage de fichiers
Introduction à la cryptographie
SIG 7.5 Sécurité des échanges
Présentation Scribe NG Serveur pédagogique.
Réf. CS&S/ISE/DFC/TES,xxxx/-/02
Folders Access Manager Capacte
Wifi sécurisé et Windows
INSIA SRT 3 PAM !.
Sécurisation de l’accès Internet
L'utilisation des certificats à la DR15
Identication & Authentication
Chiffrement de bout en bout
KeePass Introduction - Les services Conseils I6T.
Séminaire EOLE Dijon Octobre 2010
Installation et Configuration Internet Information Server (IIS 5)
Sécurité Web Protocole HTTPS.
Projet 1789 : Plateforme d'enseignement innovante
La sécurité Pour les développeurs.
Sécurité - Configuration de
Sécurité - Configuration de -
Comment fonctionne RADIUS?
FARAH.Z "Cours sécurité1" /2016
Développement Mobile : Android
Cours VI – Cryptographie symétrique
Cyril Bras Journée « Sécu »
File Transfer Protocol Secure
HTTP DNS NTP FTP R231 RJ45 definition HTTP DNS NTP FTP R231 RJ45.
Module 2 : Implémentation d'une structure de forêt et de domaine Active Directory.
Bureau distant sur Windows Vista /2008 Server
1 IPSec : IP Security Protocole fournissant un mécanisme de sécurisation au niveau IP. RFC 2401 concernant IPSEC RFC 2402 concernant le mode AH (authentification)
Mise en place d'un Serveur Radius pour la sécurité d'un réseau Wireless sous Windows Serveur Présenter par le Stagiaire : Etienne Mamadou Guilavogui.
Observatoire de la Sécurité des Systèmes d'Information et des Réseaux
TP N°4 Développement d’ une application client / Serveur en utilisant les Sockets TCP.
Auditeur: Léonardo AMODIO Cours: NFE107
Intro Sécurité pour le WiFi
Single Sign-On open source avec CAS (Central Authentication Service)
Exposé de système / réseaux IR3
Remote Authentication Dial In User Service RADIUS GAUTHIER Julien.
Single Sign-On open source avec CAS (Central Authentication Service)
FRAMEWORKS : XMLBEANS / STRIPES
AUTORITE DE CERTIFICATION SOUS WINDOWS SERVEUR 2012 R2. HISSEIN BANAYE HASSAN
Présentation des missions en entreprise et formation
REUNION RUPN Transition d’année - Archivage
Implémentation de FTP Rappel sur FTP Relation entre un site Web et FTP
Qu’est ce qu’une page web? Comment fonctionne un site web?
TP N°4 Développement d’ une application
INFRASTRUCTURE À CLÉS PUBLIQUES || PUBLIC KEY INFRASTRUCTURE. | HISSEIN BANAYE HASSAN
Role-Based Access Control (RBAC) Les permissions d’administration
Role-Based Access Control (RBAC) Contrôle d’accès basé sur les rôles
Transcription de la présentation:

Formation Formation Sécurité JAVA Sécurité JAVA

- Formation SPRING A propos d’Objis…  Centre de formation depuis 2005  Spécialiste technologies Java/J2ee  Formations intra/inter entreprises  70% de pratique  Paris – Lyon – Dakar  Sponsor salon Solutions Linux  + de 100 tutoriaux Java/j2ee sur Formation Sécurité JAVA

- Formation SPRING Sommaire  Périmètre Sécurité JAVA  API Sécurité Java  Notions clés Cryptographie  Sécurité applications J2EE (JAAS)  Outils Formation Sécurité JAVA

- Formation SPRING Objectifs  1) Comprendre périmètre et Architecture Sécurité JAVA  2) Identifier les différentes APIs / outils  3) Mettre en oeuvre stratégie sécurité Applications Formation Sécurité JAVA

- Formation SPRING Introduction  2 aspects sécurité JAVA Sécurité plateforme Sécurité outils & API  Architecture Sécurité JAVA  Authentification  Controle d'accès  Sécurité J2EE avec JAAS  Déploiement sécurité Formation Sécurité JAVA

- Formation SPRING Introduction  Java pensé avec objectif de sécurité  2 aspects sécurité JAVA Sécurité plateforme Sécurité outils & API  Dév. Appli sécurisés : APIs Cryptographie + PKI  Control accès : API Authentification & Autorisation  Services implémentés sous forme de 'provider' java.security.Provider Formation Sécurité JAVA

- Formation SPRING Périmètre sécurité JAVA 7 2: cryptographi e 5: infrastructure à clé publique (PKI) 4: communicati ons réseau 3:authentifica tion & contrôle d'accès 1: plateforme - Formation Sécurité JAVA

- Formation SPRING Périmètre sécurité JAVA (1/5) : La plateforme  Java pensé avec objectif de sécurité typage fort gestion mémoire Charger seulement les classes 'légitimes' Vérification bytecode Chargement de classe sécurisé  Plateforme sécurisée  Contribue à la robustesse du code  Specs langage :  Specs JVM : Formation Sécurité JAVA

- Formation SPRING Périmètre sécurité JAVA (2/5) la cryptographie  API de services Cryptographie : signature numérique message digest chiffrement simétrique / asymétrique généréteurs de clés  Support algorithmes standard : Triple DES, RSA, DSA, SHA, PKCS#5 Jeton PKCS#11  Java Cryptography Architecture toSpec.html toSpec.html Formation Sécurité JAVA

- Formation SPRING Périmètre sécurité JAVA (3/5) : authentification & controle d'accès  API d'authentification pouvant inclure différents mécanisme de login.  API de 'Policy' et de 'Permissions' permettant au développeur de créer et administrer des applications dont certaines ressources necessitent un niveau fin de sécurité  Exemple : mise en oeuvre Single Sign On (SSO)  Java Security architecture :  JAAS Formation Sécurité JAVA

- Formation SPRING Périmètre sécurité JAVA (4/5) : Sécurisation communications  Protocoles de communication sécurisées Transport Layer Security (TLS) Secure Socket Layer (SSL) Kerberos Simple Authentication & Security Layer (SASL) HTTPS  Java SASL:  Java Socket Secure Extensions (JSSE) Formation Sécurité JAVA

- Formation SPRING Périmètre sécurité JAVA (5/5) : Infrastructure à clé publique  Faciliter développement d'applications avec sécurité basée sur certificats  Gestion clés, certificats, liste révocation  Certificats X.509  KeyStores : PKCS#11, PKCS#12  Certificate Store : LDAP, java.util.Collection  Certificat et liste de révocation  Java PKCS#11 Ref guide : Formation Sécurité JAVA

- Formation SPRING Liens utiles Sécurité JAVA  Présentation Sécurité JAVA  Bonnes pratiques dév. JAVA pour sécurité  Sécurité Java 6  Sécurité Java 5  Sécurité Java Formation Sécurité JAVA

- Formation SPRING Historique approche sécurité JAVA Formation Sécurité JAVA 1 3 2

- Formation SPRING Notion clé cryptographie N°1 : fonction de hachage Formation Sécurité JAVA

- Formation SPRING Notion clé cryptographie N°2 : Crypographie à clé secrète Formation Sécurité JAVA

- Formation SPRING Notion clé cryptographie N°3 : Crypographie à clé publique / privée Formation Sécurité JAVA

- Formation SPRING Notion clé cryptographie N°4 : Serveur de clés Formation Sécurité JAVA

- Formation SPRING Sécurité code et documents  Si vous envoyez du code (applet, application) ou document de haute importance, le destinataire a besoin d'un moyen pour vérifier que : Vous êtes l'émetteur Le message n'a pas été modifié en route  Les éléments suivants contribuent à la sécurité : Signature numérique Certificat KeyStore Formation Sécurité JAVA

- Formation SPRING Sécurité code et documents  Si vous envoyez du code (applet, application) ou document de haute importance, le destinataire a besoin d'un moyen pour vérifier que : Vous êtes l'émetteur Le message n'a pas été modifié en route  Les éléments suivants contribuent à la sécurité : Signature numérique Certificat KeyStore Formation Sécurité JAVA

- Formation SPRING Signature numérique  Vous 'signez' un document ou un code en utilisant votre clé privée (générée via outil keytool ou API)  Vous générez une signature numérique via jarsigner  Vous envoyez le document signé au destinataire  Vous envoyez votre clé publique au destinataire  Le destinataire utilise votre clé publique pour vérifier : le document provient de vous Le document n'a pas été altéré Formation Sécurité JAVA

- Formation SPRING Certificat  Le destinataire a besoin de vérifier que la clé publique que vous lui avez envoyée est authentique,provient bien de vous.  Vous envoyez en fait un certificat contenant Votre clé publique La signature d'une autorité de certification (Certificate Authority) se portant garant de l'authenticité de votre clé publique.  Analogie Certificat / Passeport  Exemple : le site de la banque BNP Paribas pour permettre à ses clients de voir compte en ligne. Analyser certificat Formation Sécurité JAVA

- Formation SPRING Exemple certificat Formation Sécurité JAVA

- Formation SPRING Certificat Formation Sécurité JAVA 1

- Formation SPRING Certificat Formation Sécurité JAVA 1

- Formation SPRING keytool  L'outil keytool est disponible dan le répertoire bin du JDK et permet : Créer des clés privées et certificats clé publique Créer des demande de certificat (CSR) Importer les certificats obtenus d'une autorité Importer des clés publiques via certificats  Vous envoyez en fait un certificat contenant Votre clé publique La signature d'une autorité de certification (Certificate Authority) se portant garant de l'authenticité de votre clé publique.  Keytool -list -keystore cacerts -storepass changeit Formation Sécurité JAVA

- Formation SPRING Savoir-faire  Créer une paire de clés dans un store keytool -genkey -alias objiscert -keyalg RSA -keysize dname "CN=objis.com,OU=Formation,O=intra,L=Paris,S=Paris,C =FR" -keypass changeit -keystore objisKS.jks - storepass changeit  Analyser le contenu cacerts (/lib/security/cacerts) keytool -list -keystore cacerts -storepass changeit  Faire une demande de certificat à autorité VeriSign keytool -certreq -v -alias objiscert -file objiscert-csr.pem -keypass changeit -storepass changeit -keystore objisKS.jks Formation Sécurité JAVA

- Formation SPRING

Savoir-faire  Analyser le contenu cacerts (/lib/security/cacerts) keytool -list -keystore cacerts -storepass changeit  Créer une paire de clés keytool -genkey -alias objiscert -keyalg RSA -keysize dname "CN=objis.com,OU=Formation,O=intra,L=Paris,S=Paris,C =FR" -keypass changeit -keystore objisKS.jks -storepass changeit  Créer un certificat 'auto-signé' keytool  Faire une demande de certificat à autorité VeriSign  Signer une livraison de type 'war' Formation Sécurité JAVA

- Formation SPRING Sécurité JAAS : contexte 30

- Formation SPRING Sécurité conteneur web  Sécurité déclarative avec JAAS  QUOI ?  QUI ?  OU ? (stockage login/pwd) (File, DB, Ldap...)  COMMENT ? (BASIC, FORM, CLIENT-CERT...) 31 web.xml Coté serveur+ sun-web.xml web.xml

- Formation SPRING Sécurité web : exemple configuration web.xml

- Formation SPRING Sécurité web : exemple configuration sun-web.xml Correspondance entre les roles j2ee définis dans web.xml et la notion de groupe de GlassFish

- Formation SPRING Sécurité : transport (SSL) client-serveur  Balise dans web.xml CONFIDENTIAL : communication client / Serveur sous SSL uniquement. Encryption totale INTEGRAL : encryption non totale mais Intégrité données vérifiable NONE : le serveur accepte http et https 34

- Formation SPRING Sécurité programmative conteneur web : méthodes disponibles  String getRemoteUser()  boolean isUserInRole()  Principal getUserPrincipal()  String getAuthType()  void login(String username, String password)  void logout()  String getSheme() 35

- Formation SPRING Sécurité programmative conteneur web : annotaions 36 Equivalence

- Formation SPRING Sécurité programmative conteneur web : les alias 37 Ecrit 'en dur' Rôle configuré par admin

- Formation SPRING Sécurité conteneur web : Bonnes pratiques gestion session  Utiliser danbs web.xml  Utiliser HttpSessionListener  Encrypter les informations qui sont en session  Invalider toutes les sessions après un temps absolue (Ex : 10 heures) ou après temps relatif d'inactivité (Ex : 30 min).  Proposer fonctionalité Logout à l'utilisateur  Eviter les informations inutiles en session et supprimer une info dès qu'elle n'est + utile. 38

- Formation SPRING Outils  Jar  Jarsigner  Keytool  Policytool  Klist  Kinit  Ktab  39

- Formation SPRING Outil : keytool  Jar  Jarsigner  Keytool  Policytool  Klist  Kinit  Ktab  Summary.html 40