Fermer

janvier 11, 2019

Votre application inclut-elle des composants Open Source? 5 conseils de sécurité –

Découvrez les gagnants du concours Alibaba Cloud - SitePoint


Une application Web moderne est fournie avec une multitude de dépendances à source ouverte. Les développeurs ne sont généralement pas conscients du nombre de packages open source qui s'exécutent sous le capot de leur package. Si vous vous êtes déjà demandé pourquoi vos nœuds_modules étaient si gros, c'est bien pour cela!

Contrairement à la croyance populaire, les composants et sources ouverts ne sont pas plus sûrs que leurs équivalents propriétaires. Bien sûr, il y a une flotte de développeurs qui se portent volontaires pour entretenir certains référentiels et c'est génial! Cependant, le simple fait que beaucoup de gens utilisent quelque chose ne le rend pas plus sûr.

Ajoutez à cela les problèmes liés aux paquets obsolètes et abandonnés. Ils sont toujours populaires parmi les développeurs, mais ne sont plus gérés par personne. Dans certains autres cas, les développeurs sont responsables en ne donnant pas la priorité aux mises à jour de sécurité. Il devient évident que la protection quotidienne des applications d'une entreprise est devenue une nécessité cruciale pour la survie du marché.

Comme vous le savez peut-être déjà, une sécurité en couches est impérative et cruciale. Aucune couche ou programme ne peut résister aux nombreuses attaques des inconnus du web sombre. Par conséquent, une fois que les entreprises ont suivi certaines de ces pratiques recommandées, elles doivent être en mesure de mettre en œuvre une stratégie solide pour un environnement sécurisé autour de leurs applications stratégiques.

Emballez vos composants dans un conteneur

La première étape pour sécuriser vos applications est de s’assurer qu’ils sont à l’abri dans un conteneur de type Docker . La sécurité intégrée d'un conteneur, ainsi que ses configurations par défaut, rendent la posture de sécurité beaucoup plus solide. Les applications qui résident dans des paramètres tels que celui-ci héritent automatiquement des mêmes consignes de sécurité. En outre, vous pouvez limiter les dommages causés par vos dépendances open source et vos API en exécutant votre application à l'intérieur d'un conteneur.

Pour simplifier les choses, les conteneurs peuvent être compris comme un bouclier protecteur. Ils isolent une application de l'ordinateur hôte ainsi que d'autres conteneurs. Cela permet d’inhiber les vulnérabilités et toute utilisation malveillante du logiciel.

Par défaut, les conteneurs s’appuient sur les configurations spécifiées dans les profils de sécurité, combinés à des stratégies relatives à la sécurité qui permettent d’isoler les processus d’une application du système d’exploitation. ainsi que l'hôte. Les contrôles de sécurité par défaut du conteneur garantissent que votre application s'exécute dans un environnement sécurisé à tout moment.

Les conteneurs peuvent également agir en tant que contrôleurs d'accès pour vos applications. Ils utilisent des contrôles d'accès basés sur les rôles à un niveau granulaire et utilisent des environnements en lecture seule pour empêcher tout accès non autorisé par des ressources ou des personnes. Comme on peut l’imaginer, les conteneurs s’appuient sur le principe du moindre privilège. Cela constitue un élément essentiel du modèle de sécurité sans confiance qui anime la cybersécurité dans le monde entier. Une fois dans un conteneur, la surface d’attaque de votre application est considérablement réduite.

Gestion prioritaire des correctifs

Le meilleur moyen de savoir si vos applications sont sûres et sécurisées est d’utiliser un vérifiez les applications que vous exécutez. Les plates-formes de conteneurs de Docker analysent votre conteneur à la recherche de bases de données vulnérables . Ces numérisations fournissent aux utilisateurs un aperçu et une visibilité supplémentaires en ce qui concerne le statut de sécurité de vos applications à chaque étape de la production.

De plus, à mesure que les images sont numérisées et nettoyées, les utilisateurs peuvent rapidement et automatiquement promouvoir des conteneurs valides jusqu'à la prochaine phase de développement. et enfin vers la production.

L'automatisation de ce processus permet de s'assurer que toutes les vulnérabilités sont identifiées dès les premières étapes du processus et que les correctifs sont utilisés de manière continue au fur et à mesure que les vulnérabilités sont détectées.

D'après WhiteSource . ] rapport de gestion de vulnérabilité open source l'une des bonnes raisons de l'échec de la sécurité tient au fait que les entreprises ne parviennent pas à résoudre les problèmes de sécurité et prennent plus de temps que nécessaire pour appliquer des correctifs de sécurité. En dehors de cela, il n'existe pas de pratiques standard ni d'outils axés sur les développeurs qui entraînent un gaspillage de ressources.

Les plates-formes de conteneur offrent des possibilités de correctifs rapides et sécurisées et permettraient aux utilisateurs de supprimer toute atteinte à la sécurité pouvant survenir, se conformant ainsi aux réglementation sans avoir à entraver le processus de développement.

Restez au fait des nouvelles normes

Des organismes de normalisation tels que le NIST ou l'Institut national de la normalisation et de la technologie aident les entreprises à relever les défis de la sécurité et à se conformer aux réglementations en vigueur qui aident à maintenir des pratiques de sécurité robustes.

Des normes telles que celles-ci aident les organisations à comprendre le meilleur moyen d'identifier les écarts entre les normes globalement acceptées et le statut de leurs applications en matière de sécurité.

Une stratégie de conteneurisation les aide à: combler ces lacunes et les aider à effacer les différences entre votre applicat Consignes de sécurité globalement acceptées concernant vos organisations.

Les stratégies de conteneurisation vous aident à réduire l'écart entre les consignes de sécurité et vos applications. Cela vous aide à utiliser efficacement votre format de conteneur et à vous assurer que vous gardez le contrôle total de vos applications à tout moment.

Vous pouvez réduire les coûts associés à la mise en application de la conformité en veillant à ce que votre application se trouve dans un conteneur conforme à un éventail de normes reconnues comme le NIST 800-53 et la nouvelle norme [OSCAL] Open Security Controls Assessment Language (OSCAL)

Un grand nombre d'outils Open Source et commerciaux ont été développés au cours des dernières années. années qui aident à résoudre le problème de la localisation des vulnérabilités dans les composants Open Source. Chacun de ces outils ou services tente de résoudre ce problème un peu différemment –

  1. Audit NPM – Anciennement connu sous le nom de NSP (Node Security Project), npm audit est disponible avec la dernière version de npm. NPM Audit recherche les vulnérabilités dans les packages de module de noeud. Audit génère également un rapport et suggère des règles pour résoudre les problèmes de sécurité.
  2. Contrôle des dépendances – Contrôle des dépendances prend en charge les langages Javascript, Java, .NET et Ruby. Il tire ses informations de vulnérabilité du NIST NVD.
  3. Gemnasium – Gemnasium prend en charge Ruby, NPM, PHP, Python et Bower.
  4. Bundler-Audit – Bundler-Audit est une ligne de commande à source ouverte. outil. Ceci vérifie les dépendances concentrées sur Ruby Bundler
  5. RetireJS – Un vérificateur de dépendance open source spécifique à JavaScript, l'USP de RetireJS est sa facilité d'utilisation et sa grande efficacité. Il contient plusieurs composants, dont un scanner en ligne de commande, ainsi que des plugins pour Chrome, Firefox, Grunt, Gulp, ZAP et Burp
  6. OSSIndex – OSSIndex est un outil qui prend en charge plusieurs technologies différentes. Il couvre de manière adéquate les écosystèmes JavaScript, .NET / C # et Java.
  7. SRC: CLR – Source Clear est livré avec un chargement de plugins pour plusieurs IDE, systèmes de déploiement et référentiels sources ainsi qu’une interface de ligne de commande.

Approche de sécurité des couches

Certains fournisseurs tiers de l'écosystème de conteneurs proposent des plug-ins et des intégrations tiers facilitant des couches supplémentaires de sécurité, de fonctionnalités et de fonctionnalités pour les conteneurs. Ces intégrations d’écosystèmes peuvent facilement faire partie de notre stratégie existante en matière de sécurité en étendant ces règles de sécurité aux applications, car elles facilitent la mise en conformité avec les procédures requises.

Une intégration spécifique destinée à l’application des règles de sécurité d’exécution peut aider à inhiber comportement indésirable des conteneurs et permettre au pare-feu de conteneur d’atténuer les attaques entre conteneurs. Il peut également être utilisé pour confirmer la validité d’un conteneur d’images et pour s’assurer de sa conformité avec les meilleures pratiques de la société en question.

Le système Docker contient des fournisseurs de sécurité où chaque fournisseur peut fournir des couches de défense stratégiques pour empêcher les attaques malveillantes

Les plates-formes de conteneurs peuvent également aider à renforcer la sécurité

Les plates-formes de conteneurs permettent aux utilisateurs de sécuriser leurs applications, de les développer dans un environnement sécurisé et de vérifier leur intégrité à toutes les étapes du processus de développement. En exploitant les avantages de la plate-forme de conteneur et de ses fonctionnalités de sécurité intégrées inhérentes, les utilisateurs peuvent accélérer leur mise sur le marché en identifiant et en corrigeant les vulnérabilités au fur et à mesure de leur découverte, sans nuire d'aucune façon au processus de développement.



Source link