Archives de catégorie : Non classé

Kubernetes pour les débutants

Kubernetes et les conteneurs

Pour comprendre ce qu’est Kubernetes, il faut d’abord savoir ce qu’est un conteneur :

  • En gros, la virtualisation par conteneur est une méthode de cloisonnement au niveau de l’OS basé sur la technologie de virtualisation Linux LXC, pour Linux Containers.
  • Le principe est de faire tourner des environnements Linux isolés les uns des autres dans des conteneurs tout en se partageant le même noyau Linux, le Kernel donc.

Le conteneur virtualise seulement l’environnement d’exécution (comme le processeur, la mémoire vive ou le système de fichier…) et ne virtualise donc pas la machine entière comme pour une VM (Pas de virtualisation d’OS inviténotamment dans un conteneur par rapport à une VM).

Le conteneur est donc plus léger que la VM, ce qui permet de créer beaucoup plus de conteneurs que de VM sur un même serveur. Docker est un exemple de technologie de virtualisation par container.

A noter que pour le reste de la vidéo, je vais prendre l’exemple des conteneurs Docker pour illustrer les fonctionnalités de kubernetes.

Et justement comme un conteneur est fortement relié au kernel, le conteneur n’a pas “conscience” de ce qui se passe en dehors de ce kernel et de la machine hôte.

Et c’est là que Kubernetes intervient :

  • c’est Kubernetes qui va apporter l’orchestration et la gestion des conteneurs sur des clusters de serveurs
  • Dis autrement, Kubernetes permet ainsi de prendre en charge plusieurs kernel et pouvoir gérer les conteneurs sur ces différents serveur hôtes Linux (qu’ils soient physique ou virtuel d’ailleurs). Ces clusters peuvent couvrir des hôtes situés dans des clouds publics, privés ou hybrides.
Les fonctionnalités de Kubernetes

Les fonctionnalités d’orchestration de Kubernetes vous permettent de :

  • créer des services applicatifs ( que ce soir front end ou backend) et ceci sur plusieurs conteneurs,
  • planifier l’exécution de ces conteneurs dans un cluster,
  • garantir leur intégrité au fil du temps.
  • assurer leur monitoring

Avec Kubernetes, le développeur n’ a plus à s’occuper de la gestion des VM, il à disposition directement son environnement d’exécution (qui est le conteneur) pour y déployer son code, et c’est kubernetes qui s’occupe des couches d’infrastructures sous-jacentes.

Avec Kubernetes, le développeur n’a plu à s’occuper de la partie infrastructure, il n’a pas besoin de savoir où tournent leur applications, l’infra sous-jacente est masquée pour le développeur

Architecture de Kubernetes

Il y a d’abord le Kubernetes Master qui est le serveur contrôlant les nodes : ce sont des noeuds esclaves et ce sont des machines hébergeant les hôtes Docker qui exécutent les tâches qui leur sont assignées. Au sein d’un node tourne un pod. Le pod est un environnement d’exécution d’un ou plusieurs conteneur(s) Docker.

C’est le master qui va dire quel node va faire tourner un pod non ordonnancé en se basant sur la disponibilité des ressources. Le master gère l’utilisation des ressources sur chaque node afin de s’assurer que la charge de travail n’est pas en excès par rapport aux ressources disponibles.

Pour accomplir cet objectif, l’ordonnanceur doit connaître les ressources disponibles et celles actuellement assignées sur les serveurs. Et c’est ces information qui sont apporté par les kubelets. Kubelet est un composant exécuté sur des nœuds et qui s’assure que les conteneurs définis ont démarré et fonctionnent comme comme prévus lors de leur conception. Si un noeud tombe par exemple, c’est Kubelet qui va le signaler au master.

Et c’est le master qui vérifie le nombre de copies identiques demandée d’un pod qui doivent s’exécuter dans le cluster. Le master gère la résilience des pod.

 

Voyons de plus près la notion de  pod :

  • Cet environnement d’exécution peut contenir un ou plusieurs conteneur(s) Docker (on va déployer deux containers sur un même POD s’il est nécessaire de partager des ressources locales).
  • En effet Tous les conteneurs d’un pod partagent une même adresse IP, un même nom d’hôte et les même ports réseau et d’autres ressources.
  • La scalabilité horizontale sera réalisée en instanciant l’application dans de multiples pods,

Un volume c’est un espace de stockage accessible à tous les conteneurs sur un pod.

Il repond à 2 besoins :

  • le premier c’est le besoin de préserver les données au delà du cycle de vie d’un conteneur : les données et fichiers dans un conteneur sont éphémères, donc si des données utilisées par les conteneurs doivent être conservés au dela du cycle de vie d’un contneeur, ces données seront stocké dans le volume.
  • Ensuite, le volume est necessaire pour Le partage des données entre 2 conteneurs : quand plusieurs conteneurs s’exécutent dans un même pod, il est souvent nécessaire de partager les fichiers (et données) entre eux. Et c’est réalisé via le volume.

Passons maintenant à la notion de service :

  • Le « Service » est un point d’entrée permettant un accès « load-balancé » à un groupe de containers identiques, autrement dit c’est une VIP ou Virtual IP.
  • Kubernetes fournit un service de routage en assignant une adresse IP et un nom de domaine à un service, et équilibre la charge du trafic vers les différents pods.
  • Les requêtes de service sont alors transférés par Kubernetes vers un des pods.

 

Fonctionnement de Kubernetes

Kubernetes s’exécute au-dessus de l’OS et interagit avec les pods de conteneurs qui s’exécutent sur les nœuds.

Le master Kubernetes reçoit les commandes de la part d’un administrateur (ou d’une équipe DevOps) et relaie ces instructions aux nodes. Comme on l’a vu tout à l’heure, ce système de transfert fonctionne avec une multitude de services et choisit automatiquement le nœud le plus adapté pour chaque tâche. Il alloue ensuite les ressources aux pods désignés dans ce nœud pour qu’ils effectuent la tâche requise.

Lorsque le Kubernetes master planifie un pod dans un nœud, le kubelet de ce nœud ordonne à Docker de lancer les conteneurs spécifiés. Docker démarre/arrête les conteneurs, comme d’habitude.

Le kubelet collecte ensuite en continu le statut de ces conteneurs via Docker et rassemble ces informations sur le serveur master.

On voit donc qu’avec Kubernetes, les ordres proviennent d’un système automatisé et non plus d’un administrateur qui assigne manuellement des tâches à tous les nœuds pour chaque conteneur.

L’Open Data, c’est quoi ?

L’open data est l’ouverture au grand public, via le web, de données collectées par des organismes publics ou des entreprises. et dont la diffusion est considéré comme d’intérêt général.

Bon, rassurez-vous,  je vais vous expliquer ça un peu plus en détails

Voici quelques exemples de données ouvertes :

  • Les horaires de passages du métro en temps réel et les incidents sur les lignes
  • Les données environnementales comme les prévisions météorologiques),
  • Les informations comme la base des prix du carburant, etc

Evidemment, il y a des conditions à respecter pour la mise à disposition de ces données.

Une donnée dite ouverte doit être :

  • complète, primaire et libre de droits,
  • accessible publiquement, gratuitement, et sans condition discriminatoire,
  • proposée dans un format exploitable et non propriétaire.

Voici un exemple de portail open data publique : http://opendata.paris.fr

Il s’agit du portail de données publiques de la ville de Paris. Il permet d’avoir par exemple la disponibilité en temps réel des autolib et des velib, la liste des sites municipaux équipés d’un point d’accès WiFi, etc.

Pourquoi l’Open data?

Les objectifs sont multiples :

  • Améliorer la transparence des données publiques : et donc contribuer à la transparence l’État en rendant publiques des données relatives aux dépenses de l’administration,
  • Et de ce fait Renforcer l’efficacité de l’action publique et la qualité du service public
  • Ensuite, l’open data permet de favoriser la croissance de l’économie numérique et l’Innovation notamment en encourageant la réutilisation de ces données ouvertes et leur monétisation via la création de services innovants pour les citoyens notamment via des applications web et mobiles.

Et pour illustrer ça, on peut prendre l’exemple de Datacity qui est un programme mis en place par la ville de Paris et l’incubateur NUMA. Ce programme réunit des acteurs industriels, startups, et autorités locales. L’objectif est de trouver des solutions innovantes  via les données de l’Open Data et de la ville de Paris pour améliorer la qualité de vie des citoyens, tout ça en traitant notamment problématiques lié à l’environnement urbain comme l’énergie, la gestion des déchets, la logistique, ou la mobilité

IDS et IDS : comprendre l’essentiel

Dans cette vidéo, je vais vous expliquer ce qu’est un IDS et un IPS. Qu’est ce qu’un IDS? Qu’est ce qu’un IPS? Quels sont leurs rôles, leurs points communs et leurs différences ?

Intrusion Detection System

IDS pour Intrusion Detection System veut dire système de détection d’intrusion en français. Il s’agit d’un mécanisme qui a pour objectif de re pérer tout type de trafic potentiellement malveillant (par exemple les tentatives d’intrusion, attaques virales, débits trop importants et trafic sortant de l’ordinaire).

Pour résumer, un IDS va détecter une activité suspecte en s’appuyant sur une norme. Si les activités s’éloignent de la norme, l’IDS lance une alerte. Et l’IDS remplit cet objectif en surveillant les activités d’une cible (qui peut être un réseau ou des machines hôtes).

En fonction de la cible on aura 2 types d’IDS différents :

  • le premier est le Network IDS ou l’IDS réseau
  • Les NIDS (Network Intrusion Detection System), surveillent l’état de la sécurité du du réseau.
Network IDS

Le NIDS est situé sur un réseau isolé et ne voit qu’une copie du trafic. Et quand je dis trafic je parle des paquets qui circulent sur le réseau. Et en cas, de détection d’une menace, le NIDS peut lever des alertes et ordonner les actions pour le blocage d’un flux

En terme d’architecture,  Le NIDS est situé sur un réseau isolé et analyse une copie du trafic du réseau à surveiller, entre ses points d’entrées et les terminaux du réseau. A noter qu’Il est entièrement passif et n’est pas capable de dialoguer avec le réseau surveillé.

Host IDS

Il y a ensuite les Host IDS ou  IDS système. Les HIDS (Host Intrusion Detection System), surveillent l’état de la sécurité des hôtes selon différents critères :

  • Activité de la machine (comme par exemple le nombre et listes de processus, le nombre d’utilisateurs, ressources consommées, etc.)
  • Le second critère de surveillance est l’Activité de l’utilisateur sur la machine : horaires et durée des connexions, commandes utilisées, programmes activés, etc
  • Et évidemment le HIDS analyse toute Activité potentielle liée à l’activité d’un ver, d’un virus ou cheval de Troie

En terme d’architecture, le HIDS master récupère les informations remontées par une machine sur laquelle un client HIDS est installé. Ensuite, le HIDS master va analyser ces informations sur le fonctionnement et l’état des machines  afin de détecter les menaces.

Intrusion Prevention System

Passons maintenant à l’IPS. L’IPS (pour Intrusion Prevention System) veut dire système de prévention d’intrusion en français.

Il est situé en coupure, c’est à dire qu’il n’analyse pas une copie des données comme l’IDS, mais va analyser les données elles-mêmes. Ce qui veut dire que Les données réelles passent à travers l’IPS. L’IPS va réagir en temps réel en stoppant le trafic suspect qu’il reconnaît, notamment en bloquant les ports.

Comme l’IDS, il existe 2 principaux types d’IPS

Network Intrusion Prevention System

Les NIPS (network intrusion prevention system) sont des IPS permettant de surveiller le trafic réseau.

Le NIPS analyse le trafic réseau en s’appuyant sur une base de données de signatures d’attaque (comme un anti virus) et dès qu’il reconnait une signature, il en déduit que c’est une attaque.

Dans ce cas il peut prendre des mesures pour bloquer l’attaque avant qu’elle n’ait commencé en bloquant le flux malveillant.

Host Intrusion Prevention System

Les HIPS (host intrusion prevention system) sont des IPS permettant de suivre l’état de sécurité des machines hôtes. Le HIPS réalise cela à travers la surveillance des différentes éléments de la machine : les processus, les drivers, les .dll etc.

En cas de détection d’un processus suspect, le HIPS peut le stopper pour mettre fin à l’attaque.

Il y a deux inconvénients majeurs concernant les IPS :

  • Comme les IDS, les IPS ne sont pas fiables à 100 % mais la le principal risque c’est de bloquer du trafic légitime en cas d’erreur d’analyse
  • Le deuxième inconvénient de l’IPS est que, il est donc vulnérable et attaquable puisqu’il est en coupure sur le réseau.

Un flux malveillant peut exploiter une faille afin de prendre le contrôle sur l’IPS et désactiver ses fonctions de sécurité, et même pour éventuellement s’en servir pour mener de nouvelles attaques

Firewall et IPS réseau

Dernière chose parce qu’il y a beaucoup de confusion dessus, c’est la différence entre un firewall et un IPS réseau

Le rôle d’un IPS reseau est de détecter des attaques sur un réseau à partir d’une base de données de signatures d’attaque (comme un anti virus) et de les bloquer si nécessaire.

Le rôle d’un firewall est différent puisque son but est de faire du filtrage d’accès en définissant les communications autorisés ou interdites.

Par exemple :

  • Les accès sortant directes en HTTP vers l’extérieur du réseau sont interdits et ces flux doivent donc passer par le proxy de l’entreprise avant d’aller vers l’exterieur.
  • Ou alors Les accès entrants en tel protocol applicatif sont interdits sauf s’ils proviennent de cette machine externe spécifique à destination de cette machine interne spécifique, etc.

Mais c’est vrai que certains firewalls embarque des fonctions IPS avec eux d’où les confusions. Ce sont des fonctions complémentaires

D’ailleurs sachez que j’ai fait une vidéo dédiée sur les firewalls si vous voulez en savoir plus!

Cybersécurité : La négligence de Trump critiquée

Trump, dessin, caricature, cybersécurité, firewall

 

7 membres sur les 27 du NIAC (National Infrastructure Advisory Council), en charge de conseiller Donald Trump sur les questions de cybersécurité, ont donnés leur démission dans une lettre commune. Ils ont dénoncés notamment la négligence et l’indifférence de Trump pour la sécurité informatique des Etats-Unis.

Source : Le Monde

Remarque : si vous ne savez pas ce qu’est un firewall, je vous invite à regarder cette vidéo

Comprendre le GDPR / RGPD avec des emojis

Si vous travailliez dans l’informatique, vous avez déjà peut être entendu parler du GDPR (ou RGPD en français)

Vous devez savoir savoir qu’il s’agit du texte de référence européen en matière de protection des données personnelles pour les résidents de l’Union européenne.

Mais concrètement :

  • Qu’est ce que c’est?  
  • Quels vont être les impacts?
  • Qui sont les acteurs concernés?

Pour le savoir…

  • Soit, vous vous tapez tout le texte du règlement (disponible sur le site de la CNIL),
  • Soit, vous regardez cette vidéo où je vous fais une synthèse, le tout en quelques minutes et en emoji!

GDPR/RGPD, c’est quoi ?

GDPR veut dire General Data Protection Regulation ou RGPD pour Règlement général sur la protection des données.

Plus concrètement :

  • Il s’agit du texte de référence européen en matière de protection des données personnelles pour les résidents de l’Union européenne. 
  • En gros, le GDPR va harmoniser la gestion des données dans l’ensemble des pays de l’Union Européenne.
  • Et Il sera applicable à partir du 25 mai 2018. Bref, demain quoi!
Qui sont concernés par le GDPR ?

Le GDPR concerne tous les acteurs économiques et sociaux proposant des biens et services sur le marché de l’UE, dès lors que leur activités traitent des données à caractère personnel sur les résidents de l’UE :

  • Les entreprises,
  • Les associations,
  • Les organismes publics,
  • Les entreprises dont le siège est hors UE mais opérant dans l’UE Et sur des données des citoyens de l’UE
  • et les sous-traitants dont les activités rentrent dans ce cadre

Pour la suite je vais juste parler d’entreprise pour simplifier mais faut le comprendre comme englobant tous ces différents acteurs

Les objectifs et les enjeux

L’objectif est de donner aux citoyens de l’UE davantage de contrôle et de visibilité sur leurs données privées, notamment pour savoir quelles sont les données collectées, à quelle fin, et leur durée de conservation.

Le principal enjeu pour les entreprises est donc  de savoir à un instant t où sont les données et comment pouvoir, sur simple demande, les collecter et les transmettre à la personne concernée

Cela suppose qu’une entreprise doit à tout moment savoir de quelles données elle dispose, leur localisation, l’objectif de leur collecte et leur mode de gestion, de stockage, de transfert et d’effacement.

 

Sanctions prévus en cas de non conformité au GDPR

Celles-ci peuvent aller jusqu’à 4 % du chiffre d’affaires annuel mondial ou 20 millions d’euros.  La somme la plus importante entre les 2 est retenue.

Et c’est également l’entreprise qui devra payer les Dommages et intérêts pour préjudice subi pour non respect du GDPR suite à un recours en justice au pénal

 

Les 5 principes clés du GDPR / RGPD

Voici les nouveaux principes à mettre en oeuvre dans le cadre du GDPR pour assurer une meilleure protection des données personnelles :

  • le concept d’accountability ;
  • la démarche de « Privacy by design »
  • la démarche de « Security by default »
  • la désignation d’un Data Protection Officer (DPO)
  • l’étude d’impact

 

La logique de responsabilisation ou « accountability »

Le GDPR introduit une logique de responsabilisation, c’est l’”Accountability”. C’est à dire que d’une part c’est à l’entreprise de prendre toutes les mesures pour garantir la conformité au GDPR.

Mais cela implique aussi que l’entreprise doit être capable de démontrer qu’elle a rempli ses obligations en matière de protection des données, ce qui sera notamment le cas lors de contrôle de la CNIL par exemple.

Cela peut aller de la tenue de la documentation, à la mise en œuvre des obligations en matière de sécurité en passant par la réalisation d’une étude d’impact.

 

Le respect de la protection des données dès la conception ou « Privacy by design »

« Privacy by Design » signifie que la protection des données personnelles doit être prise en compte dès la conception du produit ou du service mais aussi d’un système d’information, d’une base de données ou d’une application.

 

La sécurité par défaut ou « Security by default »

Ce principe renforce le rôle de sécurité dans le système d’information et notamment dans son traitement des données,

En effet le SI doit être sécurisé a ses différents niveau, du physiques jusqu’au logique (contrôle d’accès ou un système dde prévention contre les failles de sécurité, etc.).

Mais l’entreprise doit être aussi d’être en mesure de déceler si l’intégrité du SI a été compromise et y remédier

 

La désignation obligatoire d’un Data Protection Officer (DPO)

Il s’agit d’un délégué à la protection des données quidoit être associé aux questions de protection des données à caractère personnel. Son rôle est de veiller à la conformité au GDPR et d’être le point de contact avec l’autorité de contrôle.

 

L’ étude d’impact

Le GDPR demande aux entreprise de réaliser une étude d’impact sur la protection des données personnelles avant à la mise en œuvre des nouveaux traitements de données qui pourraient présenter des risques d’atteintes aux droits et libertés individuelles.

Le cas échéant, l’étude d’impact devra aussi prévoir les mesures pour diminuer l’impact des dommages potentiels à la protection des données personnelles.

 

J’espère que cette post vous a plu et vous a aidé

N’hésitez pas à partager ce post ou ma vidéo, ça m’aiderait mais tellement!

Dis moi ce que vous en avez pense dans les commentaires!

 

Pour finir, sachez que la CNIL a publié un guide pratique et simple pour se préparer à une mise en conformité en six étapes (si vous souhaitez approfondir le sujet.