ClickCease Live Patching dans le flux de travail DevOps - TuxCare

Table des matières

Rejoignez notre populaire bulletin d'information

Rejoignez 4 500+ professionnels de Linux et de l'Open Source !

2 fois par mois. Pas de spam.

Live Patching dans le flux de travail DevOps

DeShea Witcher

2 décembre 2020 - Vice-président du marketing

DevOps est une combinaison du développement de logiciels et des opérations informatiques qui vise à améliorer et à faire évoluer les produits à un rythme plus rapide que la normale afin d'aider les organisations à être plus compétitives et à mieux servir leurs clients.

Le flux de travail DevOps se caractérise par des cycles de publication rapides qui nécessitent un code rapidement testé. Pour ce faire, on donne aux développeurs la possibilité de faire tourner rapidement de nouvelles machines virtuelles, généralement basées sur des modèles, où ils peuvent exécuter ces tests. Ceci est contrôlé par des scripts, en utilisant au moins un des multiples outils d'automatisation disponibles, tels qu'ansible ou puppet.

Les développeurs créent généralement de nouvelles machines virtuelles pour tester, construire et publier un nouveau code, mais ils sont rarement conscients que ces machines virtuelles peuvent être la cible d'acteurs malveillants, même si elles sont de courte durée. La compromission d'un tel système peut servir de tremplin pour accéder à des ressources internes qui seraient autrement inaccessibles. C'est un fait connu qui remonte au moins à 2015, lorsque le sujet a été abordé lors d'un Black Hat Europe 2015, avec le titre approprié de "Intrusion continue : Why CI tools are an attacker's best friends", et pourtant le risque est toujours minimisé et ignoré.

Grâce à cet article, vous apprendrez comment intégrer le déploiement de KernelCare dans le flux de travail afin que même ces systèmes soient maintenus à jour avec les derniers correctifs du noyau.

Machines virtuelles DevOps

DevOps utilise la virtualisation pour les aider à avoir des déploiements rapides et stables. "La virtualisation est le processus de création de logiciels qui imitent divers environnements matériels et logiciels sans avoir à changer le matériel physique lui-même"(BMC). Une machine virtuelle est destinée à fonctionner comme une simulation d'une configuration matérielle ou logicielle spécifique, ce qui permet à DevOps de tester différents aspects du logiciel ou du matériel sans avoir à changer de composants physiques ; ils peuvent également exécuter plusieurs simulations à la fois, ce qui accélère le processus.

Problèmes de sécurité

Les machines virtuelles sont basées sur des modèles créés à un moment donné, et lorsqu'elles sont mises en ligne, il n'y a généralement pas de processus de mise à jour, de sorte que toute vulnérabilité existant au moment de la création ou toute vulnérabilité apparue depuis cette création se retrouvera dans la machine virtuelle mise en ligne. Ce risque est minimisé par la courte durée de vie habituelle de ces machines virtuelles.

"Vous pouvez prendre un instantané d'une machine virtuelle et l'écrire sur le disque, afin de ne pas avoir à la recréer la fois suivante, ou pour une reprise après sinistre. Il suffit de lancer l'une de ces machines virtuelles qui se trouvent dans des bibliothèques hors ligne. Mais pour la plupart, elles ne sont pas tenues à jour avec les signatures et les correctifs A/V", a déclaré Neil MacDonald.

Ces machines virtuelles sont généralement des machines virtuelles "jetables". Elles sont lancées, utilisées pour des tests, puis supprimées ou oubliées. Le problème est que ces machines virtuelles sont toujours techniquement des serveurs, et si elles ne sont pas corrigées et entretenues, les vulnérabilités qui existaient au moment de leur création sont toujours là, ce qui signifie qu'elles sont des cibles de choix pour les pirates. Alors qu'ils devraient vérifier l'existence de correctifs ou de vulnérabilités, ils ne le font souvent pas, de sorte que ces modèles constituent un risque potentiel.

Les pirates ont identifié cette faille possible dans la sécurité et peuvent attendre l'apparition des machines virtuelles et les attaquer pendant ce temps. Celles-ci peuvent n'être que le point d'entrée dans le reste de l'infrastructure, car ces machines virtuelles nécessitent un accès aux bases de données, à d'autres systèmes internes ou à des mécanismes d'authentification.

Qu'est-ce que DevSecOps ?

La définition simple de DevSecOps est qu'il ajoute la sécurité au développement et aux opérations. Elle ajoute l'objectif de mettre en œuvre la sécurité dans le pipeline DevOps afin de s'assurer que tout reste sûr et sécurisé. Il peut être difficile de faire évoluer une organisation vers un cadre DevSecOps, car cela nécessite souvent un travail supplémentaire de surveillance des informations contenues dans les machines virtuelles. Cependant, KernelCare propose des correctifs en direct afin que vous n'ayez pas à faire de travail supplémentaire pour contribuer à rendre les systèmes plus sûrs et plus sécurisés. Notre système s'occupera de tout pour vous en ce qui concerne les correctifs de sécurité du noyau et des bibliothèques partagées.

Solution DevSecOps de KernelCare

La sécurité et les correctifs en temps réel étant importants pour le processus DevOps, une solution simple s'impose : KernelCare. KernelCare a une procédure d'installation simple qui peut être automatisée et incluse dans les scripts de déploiement des machines virtuelles. Ainsi, lorsqu'elles seront mises en ligne, KernelCare patchera en direct le noyau et/ou les bibliothèques partagées et contribuera à les rendre plus sûrs, même si leur durée de vie est brève. Cela garantit également que tous les instantanés que vous faites des machines virtuelles seront corrigés lors de leur mise en ligne, de sorte que vous n'avez pas à vous inquiéter des anciennes vulnérabilités qui laissent des portes ouvertes aux pirates pour pénétrer dans vos systèmes.

Si l'entreprise utilise des conteneurs au lieu de machines virtuelles, alors l'installation de KernelCare sur l'hôte du conteneur est toujours recommandée. Ainsi, tous vos conteneurs sont protégés sans qu'il soit nécessaire de redémarrer l'hôte à tout moment pour appliquer les correctifs de sécurité et sans temps d'arrêt.

Dans le pipeline DevOps, l'intégration décrite ici se produit entre les phases de construction et de test.

Intégration de KernelCare dans vos systèmes

Pour intégrer KernelCare avec Ansiblevous devez fournir les informations suivantes :

  • " Nom (ou IP) du serveur ePortal dans la variable Ansible eportal srv. Vous trouverez d'autres options de fichier de configuration à la rubrique Options de configuration et fichier de configuration du client KernelCare (ePortal).
  • " Une clé d'activation dans la variable Ansible activation_key. Les clés d'activation peuvent être générées dans ePortal, comme décrit dans la section Managing Keys (ePortal).

Pour intégrer KernelCare à Puppet, suivez les instructions de la vidéo liée.

Voici un exemple de code permettant d'intégrer KernelCare à votre système :

- hôtes : kernelcare

  vars :

       eportal_srv: http://192.168.250.19

       clé_d'activation : 89gRVCp1rY0ZQ053

tâches :

- name:Télécharger le script shell d'installation

       get_url :

       url: “{{ eportal_srv }}/installer”

       dest : /root/kc-install.sh

       mode : "0700

- name:Exécuter le script shell d'installation

       shell : /root/kc-install.sh >> /var/log/kcare_install.log

       l'environnement :

       KCARE_REPO: “{{ eportal_srv }}/repo”

- name:Mise à jour de kcare.conf avec la configuration ePortal

       blockinfile :

       chemin : /etc/sysconfig/kcare/kcare.conf

       créer : oui

       bloc : |

       PATCH_SERVER={{ eportal_srv }}/

       REGISTRATION_URL={{ eportal_srv }}/admin/api/kcare

- name:enregistrer les agents KernelCare

       command: /usr/bin/kcarectl –register {{ activation_key }}

Conclusion

Avec KernelCare, tous les correctifs seront installés pendant la phase de déploiement de votre pipeline DevOps, sans effort supplémentaire pour les développeurs lors de la création des machines virtuelles. Vous disposerez d'un environnement plus sûr pour vos tests. Cela conduira, à son tour, à un environnement interne plus sûr. KernelCare est un pas dans la bonne direction, qui vous aide à faire évoluer votre DevOps vers DevSecOps. Les correctifs en direct de KernelCare peuvent facilement s'intégrer aux scripts de déploiement des nouvelles machines virtuelles et les rendre ainsi plus résistantes aux vulnérabilités ; avec KernelCare, vous obtenez plus de sécurité sans travail supplémentaire.

Vous cherchez à automatiser la correction des vulnérabilités sans redémarrage du noyau, temps d'arrêt du système ou fenêtres de maintenance programmées ?

Découvrez le Live Patching avec TuxCare

Devenez rédacteur invité de TuxCare

Commencer

Courrier

Rejoindre

4,500

Professionnels de Linux et de l'Open Source
!

S'abonner à
notre lettre d'information
Courrier

Rejoindre

4,500

Professionnels de Linux et de l'Open Source
!

S'abonner à
notre lettre d'information
fermer le lien