Security By Design: Cas concret avec la sauvegarde automatisée de Kerberos

David Aparicio

DevOps Cloud and Bigdata

GDG Cloud and IoT Lyon (13 Février 2020)

Pitch

IF 2014

Il ne suffit pas d’aller à la Mer (de Glace) pour faire de l’écologie..

  • Définition Sécurité dès la conception
  • Retour d’expérience à AMADEUS
  • Q/A

Sécurité dès la conception

95/ SdD-“Privacy By Design”

97/ Loi allemande

10-12/ Congrès

DevSecOps

DevSecOps dodcio.defense.gov

Pas copier-coller StackOverFlow

98% snippets sur la sécurité/crypto sont insecures

Fisher et al., 2017; Nadi et al., 2016; Das et al, 2014 Prevent cryptographic pitfalls by design

Attention avec Docker

Docker vulnerabilities The state of open source security – 2019

Attention avec vos dépendences

Dependencies vulnerabilities The state of open source security – 2019

Bonnes pratiques

  • Principe de moindre privilège !root
  • Diminuer surface d’attaque (scratch, distroless)
  • Pas de secrets dans les Docker images
  • Pas de données sensibles dans les GUI
  • Mettre à jour infra/docker images (CI/CD|GitOps)
  • Ne pas afficher de stacktrace (pas debug)
  • Ni de version/nom de framework
  • Vérifier les entrées/sorties (injection/XSS)
  • PaaS (BUILD/RUN) 🇪🇺 OVHCloud/CleverCloud

OWASP

Prendre du recul /code

C

«David, c’est quand que tu vas mettre des paillettes dans ma vie ?»

Outils

Linter/npm-audit (Code), SonarQube (Quality), Gitlab SAST/Argo/GitHub (CI/CD), Clair/Anchore/Dagda (CVE),

OpenSCAP (Audit), Cilium (Network), gVisor/Kata (Sandbox), Istio/maesh (SSL), Notary (Sign.),

Falco (Monitoring K8s), 42Crunch (API Scanner), Burp Suite (Vuln.Web), OWASP ZAP (Proxy),

GitGuardian (Secret), Kali (OS), YesWeHack (Bounty)

Sonar

Sonar

CI/CD

Gitlab

Falco

Falco Kris Nova, Fixing the Kubernetes clusterfuck @FOSDEM

Why?

OWASP OWASP Top 10

Gendarmerie Nationale

L’entrée en vigueur du RGPD modifie la posture des acteurs (des traitements) qui doivent tenir compte des impératifs de sécurité dès la conception d’un produit ainsi que son cycle de vie. Le label « by design » devient un label de qualité qui constituera un atout commercial.

2022

  • 90% des développements logiciels se déclaront DevSecOps (+40% 2019)
  • 25% des développements IT selon DevOps (+10% 2019)

Gartner/Techwire

Et pour éviter cela

Windows 3.1

Ou ceci

Crypto

Snyk TL;DR

TL;DR

ReX @AMADEUS

Ce n’est pas ça

Mozart

Mais plutôt ceci

Cryptic

AMADEUS

  • 30 ans
  • Au début, 3 (AF, Lufthansa, Iberia)
  • 700 compagnies aériennes / 50%
  • Le voyageur au coeur du métier
  • 1 an avant jusqu’au décollage

A la loupe (2015)

2015

BigData

Eco

Usecase

Overview

Cluster PoC en Prod?

RPi

2018

  • OVH->On-Premise->GCP
  • MapR, Puppet 3, RHEL
  • 200 noeuds Hadoop

Specs

  • 9800 Cores
  • 65 TB RAM
  • 4500 disks
  • 6/13 PB
  • 1-3 HDD/week

Infos

  • SSP/IHG/Kayak
  • 120 000 TPS (peak)
  • Crash&Burn->DEV->QA->UAT->PROD
  • 3h du matin
  • Environnement sécurisé (PCI-DSS)

Big Data

Architecture

Contexte

Kerberos est un SPOF (Point individuel de défaillance)

Pas de ressource pour le rendre HA (Haute Disponibilité)

Vite fait & Bien fait

Story telling

Pourquoi la sécurité

Why?

Outage

Kerberos: kézako?

Kerberos

Source (EN): Kerberos pour les manageurs

Authentification | Autorisation

Authentication/Authorization

Kerberos++

Cours du MIT (EN):

Fall 2014 Lecture 13: Kerberos

Où stocker la sauvegarde ?

  • Git
  • NFS
  • HDFS (Hadoop Distributed File System)

Architecture générale

Architecture

Résultat

Architecture avec la sauvegarde

SSH

StackOverFlow

Réponse 98%

Réponse

Impatience

Réponse

Réponse correcte

Réponse

Solution

Solution

Tests

Que se passe-t’il lorsqu’on sauvegarde/restaure?

Comment les jobs Map/Reduce ou Spark se comportent pendant l’absence/build du GMock ?

Après les Unit Tests, Chaos Monkey

Chaos

QA

QA

Détection d’un effet de bord

QA

Modèle de menace/Threat model

Qui sont nos masters ? 😈

Single/🔒 Source of Truth

Puppet Master avec la gestion des certificats

(SSOT)

Utilisateur applicatif

Area

Documentation

Doc

Configuration optionnelle

Customization

Quelques (autres) problèmes

  • Rotation backup pour éviter pb disque fatal
  • Chiffrement backup mot de passe + sel UUID
  • Cluster sans Kerberos (MapR ticket)
  • Pas de 50/50 avec le PO
  • != Sécurité ?
  • Temps de livraison / Story point
  • Accompagnement du Management
  • Parler ROI / RGPD (4% CA) / BigData

Au final

List

Pour aller plus loin

Analogie

« Nul n’est censé ignorer la loi »

Ma devise

« Nul développeur n’est censé ignorer la sécurité »

David Aparicio

15/ DD INSA de Lyon / UNICAMP (Brésil) Facebook Open Academy / MIT AppInventor

17/ Dev(Sec)Ops @ AMADEUS (Nice, 2 ans)

19/ DataOps @ OVHCloud (Lyon)

Merci

oscar

Questions ?

chien

Pas de MEP -> Failure Fridays

DevOps

PagerDuty, 121, 200 tickets opened, 3 full AZ failures