3monkeys / play.rules

Un e-book sur Play!Framework / an e-book about Play!Framework
http://3monkeys.github.com/play.rules/
76 stars 21 forks source link

Ajout authentification par certificat dans le chap03 #28

Closed javathought closed 12 years ago

javathought commented 13 years ago

Plus quelques correctifs chap 01 Chap02 déjà traité je crois, faudrait que je fasse rollback sur mon fork.

BrunoVernay commented 12 years ago

L'utilisation des certificats utilisateurs me semble largement overkill. Je pense que c'est déjà bien d'expliquer les certif serveur pour avoir le HTTPS.

(L'utilisation de keytool permettrait peut être aussi de sauter l'installation d'OpenSSL et simplifier encore un peu, mais bon.)

Dans tout les cas c'est essentiel de parler TLS / HTTPS pour du Web !!

loicdescotte commented 12 years ago

je vais mettre ça dans une annexe pour la partie TLS / HTTPS

javathought commented 12 years ago

En même temps c'est pas la meilleure pratique de mettre la terminaison SSL sur le serveur web.

BrunoVernay commented 12 years ago

@javathought : comprend pas. C'est quoi la "terminaison SSL" ?

javathought commented 12 years ago

@BrunoVernay C'est le composant qui héberge le certif serveur pour faire le https : pour les motifs de sécurité, tu ne met pas le certificat sont ton serveur Web sinon tu crées un tunnel qur lequel tu ne peux pas faire d'analyse pour contrer les attaques.

BrunoVernay commented 12 years ago

C'est de moins en moins clair.

Le "composant qui héberge le certif serveur pour faire le https" : le keystore ?

Le keystore est un fichier au format JKS en général pour Java. On peut le créer dans ce cas on le met où on veut pourvu qu'on indique son emplacement à la JVM, sinon elle prend son fichier keystore par défaut.

"ne met pas le certificat sont ton serveur Web" ? Je le met où alors ?

"sinon tu crées un tunnel" Ben un tunnel TLS, c'est le but: faire du HTTPS.

"tu ne peux pas faire d'analyse pour contrer les attaques" Analyser quoi ? Avec le TLS le but est d'avoir un tunnel du serveur Web au Browser. Même un firewall ne fera pas d'analyse sur le contenu des trames TLS.

Avec TLS il y a deux choses: l'authentification et l'encryption. Le certificat serveur permet:

javathought commented 12 years ago

Je suis d'accord avec toi, sauf que la faiblesse est que tu ne te protège pas contre les attaques, donc tu utilises un LB évolué pour mettre ton certificat serveur qui est dans ton réseau et donc dans une zone sûre. Donc le https se fait entre ton LB et le client web. Ensuite l'échange se fait en http entre ton LB et ton serveur web et passe par ton FW pour permettre l'analyse du flux.

Il faut donc un LB avec les fonctionnalités SSL.

loicdescotte commented 12 years ago

modifs mergées, reste à faire l'annexe

BrunoVernay commented 12 years ago

" ... donc tu utilises un LB ..." Je suppose que c'est un Load Balancer. Pourquoi introduire un Load Balancer ? (Si c'est bien un Load Balancer)

Si quelqu'un en est à ce type d'architecture, il ira chercher les explications dans un autre livre.

loicdescotte commented 12 years ago

j'approuve, le but du livre est d'expliquer simplement comment développer avec play, pour la prod etc c'est un autre sujet

sauf bien sur pour des choses spécifiques play, comme générer un war pour le lancer sur tomcat par exemple

Loic Descotte

Le samedi 26 novembre 2011 à 19:39, Bruno Vernay a écrit :

" ... donc tu utilises un LB ..." Je suppose que c'est un Load Balancer. Pourquoi introduire un Load Balancer ? (Si c'est bien un Load Balancer)

Si quelqu'un en est à ce type d'architecture, il ira chercher les explications dans un autre livre.


Reply to this email directly or view it on GitHub: https://github.com/3monkeys/play.rules/pull/28#issuecomment-2883168

javathought commented 12 years ago

Oui, c'est Load Balancer. Dans ce cas de figure, il faut savoir comment le LB et le serveur web échangent les informations d'authentification, en général dans les en-têtes http.

Un chapitre sur la gestion des en-têtes dans Play serait pas mal peut-être.