Les tests de securite en DevOps dans un environnement de déploiement continue - Présentation effectuée à "Open Source Summit 2016" par Christophe Villeneuve
La présentation montre qu'on n'échappe pas à la sécurité et qu'il faut anticiper cela
3. Ce qu'il vous attend...
● Aborder les tests de sécurité
● Mesurer votre qualité de sécurité Web
● Le DevOps de la sécurité avec vos outils Open Source
5. L'importance des tests
● Pourquoi c'est utile ?
‐ Le code peut casse
‐ Changer le nom d'un fichier
‐ Pas le temps d'en faire
‐ C'est long manuellement
● Et l'intérêt…
‐ Coûte du temps au début
‐ En fait gagner ensuite
‐ Nécessite de la rigueur et de la
constante
6. Les différents types de tests
● Tests unitaires
● Tests fonctionnels
● Tests intégrations
● Tests Automatisés
● Tests de charges
● Tests d'ergonomie
● Tests de sécurité
9. Les risques
● Ne connaissent pas
‐ L'étendue des risques liés à la sécurité de leur site
● Significations du terme « piratage »
‐ voir définition Wikipedia
● Et surtout :
‐ Vol d'informations
‐ Usurpation d'identité
‐ Indisponibilité de service
‐ Défiguration de site
‐ Désinformation
10. La vie du hacker
● Des sites référencent
‐ Sur les failles
‐ Les alertes (veilles / R&D)
● Leurs métiers
● Des scanners
● ...
17. Identifier les risques
● Systèmes trop verbeux
‐ DNS / Réseaux
● Système d'authentification faible
‐ SSH
● La gestion des droits
‐ Maillons faibles
● Les mots de passes systèmes
‐ Admin du poste / compte utilisateur
● Bases de données
‐ Stockage des informations sensibles
● Partage de fichiers
‐ Périphériques hardwaire
● Serveurs à l'abandon
● Vulnérabilités web
‐ Voir les rapports OWASP
18. Le mode parano
● Pour le service informatique
‐ Les tests de pénétration
● Tous les sites
‐ Les Firewall / Parefeu web
● Toutes les 3 à 4 semaines
‐ Analyser le code
● Toutes les 2 semaines
21. Quoi faire ?
● Un processus dans un déploiement continue
‐ En différentes petites étapes
● Exemple : Regardons les sites actuels
‐ Dans leur cycle de déploiement
22. Contrôle de sécurité (1/2)
● Intégrer les Risques IT
‐ Stratégie métier et modèle opérationnel à la cartographie
● Développer les synergies
‐ Des filières Risque, Contrôle, Sécurité et Continuité
● Adopter un modèle de protection
‐ Les secrets et données personnelles proportionné
● Industrialiser
‐ Un accompagnement de sécurité des projets métiers
23. Contrôle de sécurité (2/2)
● Stimuler
‐ La gestion des identités et des accès
● Outiller
‐ La détection et la réaction aux incidents
● Innover et soutenir les équipes projets
‐ Notamment dans la relation avec leurs multiples sous-traitants
https://www.beijaflore.com/fr-fr/expertises/syst%C3%A8mesdinformation/risquessi,s%C3%A9curit%C3%A9contr%C3%B4les.aspx
26. Plan de sécurité
● Identifier les API et les frameworks ● Imprimez les portions du code de
sécurité (mécanisme)
‐ Authentification
‐ Mot de passe
● Planifiez-le● Anticipez les problèmes
réglementaires
27. Sensibiliser les développeurs
● Les rapports OWASP
‐ TOP 10 Web
‐ TOP 10 mobile
‐ TOP 10 IoT
● Analyser le code dans l'Intégration continue
28. Equiper les développeurs
● Utilisation des frameworks sécurisés et reconnus
‐ Spring Security, JAAS, Apache Shiro, Symfony2, Drupal...
● Le framework OWASP
‐ ESAPI
● Outils de Feedback sur la sécurité avant l'étape de validation
‐ Ex : librairie SCA dans un IDE
ATTENTION : Librairies externes / anciennes
29. Automatisation
● Associé dans les outils de déploiement (Build)
‐ Jenkins, Bamboo, TeamCity, etc.
● Test de sécurité statiques de vos API
‐ (SAST = Static Application Security Testing)
‐ Top 10 Strategic Technology Trends
● Test dynamique de sécurité des applications
‐ (DAST = Dynamic Application Security Testing)
Résultat faible
Bloquer le processus
30. Outils de tests de sécurité automatisé
● Plateforme de tests d'intrusion
‐ Metasploit, Aircrack-ng
● Tests résistence d'un password
‐ John the ripper
● Audit de monitoring, réseaux sans fil
‐ Aircrack-ng
● Sniffer, analyseur protocoles réseau & applicatif
‐ Wireshark
● Scanner de ports, vulnérabilités
‐ Nmap
● Récupération mot de passe
‐ Cain & Abel
● Emulation Navigateur web
‐ Paros Proxy, charles proxy
● Capture de requêtes, proxy applicatif
‐ Zed Attack Proxy, Paros Proxy
● Audit des applications web
‐ Burp Suite, Wfuzz, spiderfoot, cerveau
31. Les tests en déploiement continue
Développement
Serveur
validation
Serveur
intégration
Outils SCA
Tâches répétitives
- Analyse de code
- Contrôle du code
- Déclencheur Build
Serveur
Préprod
Serveur
production
Tests de sécurité
automatisé
Report
&
Notification
32. Au final
● La sécurité en DevOps, c'est maintenant
‐ Il est toujours temps de s'en préoccuper
● La sécurité ne doit pas être comprise
● Il ne faut pas accablé
● Commencer petit