barbus & barbares finistjug

69
B a r b u s & B a r b a r e s

Upload: francois-le-droff

Post on 11-Feb-2017

469 views

Category:

Technology


0 download

TRANSCRIPT

Page 1: barbus & barbares finistjug

Barbus

&

Barbares

Page 2: barbus & barbares finistjug

@rpelisse

Romain

Page 3: barbus & barbares finistjug

@francoisledroff

François

Page 4: barbus & barbares finistjug

Un Audit de sécurité ? •!Audit

Page 5: barbus & barbares finistjug

Non •!Audit ?

Page 6: barbus & barbares finistjug

La Sécurité c’est toi

SEC-UR-IT-Y

Page 7: barbus & barbares finistjug

Quelles Menaces ? Threat Modeling

Page 8: barbus & barbares finistjug

Identifier les menaces

STRIDE •!Spoofing Identity •!Tampering with Data •!Repudiation •! Information Disclosure •!Denial of Service •!Elevation of Privilege

Page 9: barbus & barbares finistjug

Prioritiser les menaces

DREAD •!Damage Potential •!Reproducibility •!Exploitability •!Affected Users •!Discoverability

Page 10: barbus & barbares finistjug

Notre Cas d’étude

Page 11: barbus & barbares finistjug

jHipster

jHipster https://jhipster.github.io/

Page 12: barbus & barbares finistjug

Yo jHipster

Page 13: barbus & barbares finistjug

Spring Security •! Various Auth support

–! OAuth1 & OAuth 2 –! SAML –! Kerberos –! etc

•! Role •! HSTS •! XFrame Option / XSS •! CRSF Protection •! Security Auditor

Page 14: barbus & barbares finistjug

En Intranet

Page 15: barbus & barbares finistjug

En Intranet

"The only secure computer is one with no power, locked in a room, with no user.”

http://www.arnoldit.com/articles/10intranetSecAug2002.htm

Page 16: barbus & barbares finistjug

Firewall

Muraille ? ligne Maginot ?

Page 17: barbus & barbares finistjug

Reverse Proxy

Le grand nettoyage

Page 18: barbus & barbares finistjug

Nos Données

Page 19: barbus & barbares finistjug

Nos données?

•! PII •! Internal •! Confidential •! Restricted

Y a plus qu’ à chiffrer

Page 20: barbus & barbares finistjug

Chiffrer le front https & SSL c’est bien… mais •! les clefs

–! doivent être •! protégées •! longues

–! peuvent être •! cassées •! subtilisées

•! choisis tes algos –! Heard of POODLE ?

•! les clients –! de confiance ?

Page 21: barbus & barbares finistjug

Chiffrer le back •! Sécuriser Mongo –!Authentication –!Role Based Access Control

•! https://github.com/jhipster/generator-jhipster/issues/733

–!Audit

•! SSL with Mongo

Page 22: barbus & barbares finistjug

Chiffrage au repos

Chiffrer •! au niveau de l’applicatif •! au niveau du stockage

Page 23: barbus & barbares finistjug
Page 24: barbus & barbares finistjug

Auth Authentification &

Autorisation

Page 25: barbus & barbares finistjug
Page 26: barbus & barbares finistjug

Votre mot de Passe ?

http://xkcd.com/936/

Page 27: barbus & barbares finistjug

https://twitter.com/francoisledroff/status/643365403545219072

Page 28: barbus & barbares finistjug

1 Mot de Passe ?

Page 29: barbus & barbares finistjug

156 mots de passe ?

Page 30: barbus & barbares finistjug

1 chien ?

Page 31: barbus & barbares finistjug

Des secrets ?

Page 32: barbus & barbares finistjug

100% 100% des attaques en 2014

impliquent des mots de passe dérobés http://www.idtheftcenter.org/

Notre but : •! N’être qu’un fournisseur de service •! Identifier un fournissseur d’identité, de confiance •! S’y interfacer

Page 33: barbus & barbares finistjug

1 IDP ?

Page 34: barbus & barbares finistjug

SAML •! SAML –! un standard •!SSO du navigateur •!http://www.ssocircle.com •!Juste un standard

Page 35: barbus & barbares finistjug

SAML

Page 36: barbus & barbares finistjug

SAML & JHipster •! Support dans Spring Security •!Pas de Support dans JHipster –!#695 –!Francois à quand un PR ?

Page 37: barbus & barbares finistjug

Click?

Page 38: barbus & barbares finistjug
Page 39: barbus & barbares finistjug
Page 40: barbus & barbares finistjug
Page 41: barbus & barbares finistjug
Page 42: barbus & barbares finistjug

http://www.wired.com/2012/08/apple-amazon-mat-honan-hacking/

Page 43: barbus & barbares finistjug
Page 44: barbus & barbares finistjug

2FA twofactorauth.org

Page 45: barbus & barbares finistjug

SAML2 + OAuth2

•! SAML v2 •!enterprise SSO

•!OAuth v2 •!Autoriser l’accès à des données, à une API •!Etablir une chaine de confiance entre une app

et un fournisseur de service

Page 46: barbus & barbares finistjug
Page 47: barbus & barbares finistjug

Autres options

•!OAuth 1.0 •!Kerberos •!Radius •!X509 auth •!Combinations of the above –!including SAML & OAuth 2.0

Page 48: barbus & barbares finistjug
Page 49: barbus & barbares finistjug

Intégration Continue &

Gestion des Secrets

Page 50: barbus & barbares finistjug

Ségrégation des secrets?

https://github.com/francoisledroff/devoxx2015/search?utf8=%E2%9C%93&q=secret https://www.google.ie/search?q=%22.git%22+intitle:%22Index+of%22&gws_rd=cr,ssl&ei=hTMRVfHtONbXapDogrgG

Page 51: barbus & barbares finistjug

Ségrégation des secrets? https://twitter.com/capotribu/status/550079317368381441 http://www.devfactor.net/2014/12/30/2375-amazon-mistake/

Page 52: barbus & barbares finistjug

Gestion des Secrets

https://twitter.com/jtimberman/status/568124542553423872

Page 53: barbus & barbares finistjug

UX/Dev/QA/Ops

dev QA prod stage

Chef-server

https RSA private key Auth

chef-client chef-client chef-client chef-client

https RSA private key Auth •! Chef encrypted data bags •! Encrypted for

•! admin users •! whitelisted nodes

•! Managed by chef-vault ruby gem

Chef-vault

Page 54: barbus & barbares finistjug

Git

UX/Dev/QA/Ops

dev QA prod stage

Chef-server

https RSA private key Auth

chef-client chef-client chef-client chef-client

https RSA private key Auth •! Ségrégation de la production

par organisation •! Sécuriser le Chef Server •! Elasticité https://wiki.jenkins-ci.org/display/JENKINS/chef-identity+plugin

Ségrégation de la production

Chef-vault ?

Non prod organization

prod organization

Page 55: barbus & barbares finistjug

Jenkins sécurisé •! Sécurise tes jenkins –!SAML est aussi une option

•!Cloudbees •!Automatise –!Short live

https://twitter.com/morlhon/status/554899543150850048

Page 56: barbus & barbares finistjug

workstation

Git

github

Artifact Repository

webjar rubygem

Artifact RepositoryArtifact Repository

Chef-server nodes

RSA key Auth

ssh

https

githubgithub rubygemrubygemmaven redhat maven

RSA key Auth

opscode opscode npm npm

Gestion sécurisée des dépendances

Page 57: barbus & barbares finistjug

Et le Cloud ?

Page 58: barbus & barbares finistjug
Page 59: barbus & barbares finistjug
Page 60: barbus & barbares finistjug
Page 61: barbus & barbares finistjug

!"#$%&'(!"#$%&'(

Page 62: barbus & barbares finistjug

Prêt à te faire hacker?

Page 63: barbus & barbares finistjug

Allo les pompiers ?

Page 64: barbus & barbares finistjug

Y a la maison qui brûle

Détecteur de fumée –!HSM –!IDS

•! Porte coupe-feu –!SELinux –!SecurityManager

Page 65: barbus & barbares finistjug

De DevOps à DevSec DevOpsDevOps

Page 66: barbus & barbares finistjug

Ce qu’il fallait retenir

Page 67: barbus & barbares finistjug

Ce qu’il fallait retenir •!La securite c'est toi •!Penses-y •!T’es jamais à l'abri –! tes données non plus

•!Gère tes secrets •!Passe à l’authentication forte

Page 68: barbus & barbares finistjug

Ce qu’il fallait retenir •! l'expérience utilisateur n'est pas un

prétexte pour une mauvaise sécurité •!n'oublie pas l'extension du domaine de la

lutte •! traite tes serveurs comme du bétail •! sois prêt(e) à combattre le feu

Page 69: barbus & barbares finistjug

@francoisledroff @ @rpelisse @

Des questions ? Vraiment ? Pourtant c’était clair non ?