lundi , 10 décembre 2018
Home » Articles » Le guide essentiel de la sécurité des applications dans le cloud public : 3 approches solides

Le guide essentiel de la sécurité des applications dans le cloud public : 3 approches solides

La sécurité informatique est axée sur l’infrastructure depuis 30 ans. Tout ce que vous deviez faire était simplement de placer des couches de sécurité autour de vos applications et vos données et tout irait bien. Mais même si cela a déjà fonctionné, ce n’est plus le cas. Avec les pirates informatiques qui testent quotidiennement les limites des systèmes de sécurité, les équipes de développement sont de plus en plus sollicitées pour assurer une meilleure sécurité au niveau de l’application. Et déplacer vos applications vers le cloud public est un autre changement.

Le coût de ne pas intégrer la sécurité dans l’application est élevé. Par exemple, Home Depot a été impliqué dans une cyberattaque visant à cibler ses terminaux de paiement. La violation de la sécurité a laissé environ 56 millions de numéros de carte de crédit et de débit exposés. Multipliez cela par le coût estimé de Ponemon Institute de 194 dollars par enregistrement compromis dans la violation de données moyenne et vous pouvez voir l’énormité du risque. Ces coûts comprennent les enquêtes, les mesures correctives, les avis aux particuliers, la réparation de vol d’identité et la surveillance du crédit, les amendes réglementaires, les perturbations dans les activités commerciales normales, les pertes d’exploitation et les poursuites connexes. En un mot, les dollars que vous dépensez pour vous protéger contre les violations qui pourraient prendre votre entreprise entière pourrait être le meilleur investissement de sécurité que vous ferez cette année.

Du côté positif, déplaçant vos applications vers le cloud public ne signifie pas nécessairement que vous augmentez la sécurité. En effet, les approches et les mécanismes disponibles pour les développeurs et les administrateurs dans le cloud public sont souvent meilleurs que les outils et les méthodes que vous utilisez dans votre entreprise.

Cependant, dans le contexte du cloud, vous devez considérer la sécurité comme un concept systémique. Il y a longtemps que vous pouvez construire des clôtures autour des applications et des données et les appeler un jour. Il suffit de demander aux Home Depot, Sony, Target, et d’autres victimes de violations majeures si les approches traditionnelles de la sécurité des applications et des données fonctionnaient pour eux. Sinon, voici ce qui fonctionne.

Premièrement, couvrez vos bases

Les développeurs qui créent des applications s’exécutant dans des cloud publics, ou migrer et refactoriser des applications pour le cloud, doivent se concentrer sur quelques concepts de sécurité de base, notamment l’autorisation, l’audit, la confidentialité et l’intégrité.

  • L’autorisation répond à la question : qu’est-ce que vous êtes autorisé à faire ? Ce processus régit les ressources et les opérations auxquelles l’utilisateur authentifié a l’autorisation d’accéder. Les ressources incluent les fichiers, les bases de données, les tables, les lignes, etc. Les utilisateurs peuvent accéder à la ressource entière, à une partie ou à aucune ressource.
  • L’audit et la journalisation garantissent qu’un utilisateur ne peut pas refuser une opération ou initier une transaction sans que l’activité soit enregistrée. Dans les applications cloud, cela signifie que vous vous connectez pour l’utilisation de l’application ou du magasin de données pour des raisons de conformité ou d’autres raisons légales. L’audit et la journalisation vous permettent également de repérer les historiques d’utilisation qui peuvent indiquer une violation et prendre des mesures défensives.
  • La confidentialité ou la protection de la vie privée est le processus qui garantit que vos données restent confidentielles. Cela signifie que les données ne peuvent pas être consultées par des utilisateurs non autorisés ou des intrus surveillant le flux de trafic sur un réseau. Utilisez le cryptage pour renforcer la confidentialité et envisagez de l’utiliser lorsque les données sont dans le stockage ou déplacées dans un système.
  • L’intégrité est la garantie que les données sont protégées contre toute modification accidentelle ou malveillante. Par exemple, assurez-vous qu’un pirate ne peut pas prendre de l’argent sur votre compte bancaire sans que vous receviez une notification.

Trois approches de sécurité dont vous avez besoin pour le cloud public

Maintenant qu’on a vu quelques notions de base, concentrons-nous sur la sécurité au niveau de l’application sur un cloud public. Voici trois façons de sécuriser vos applications dans le cloud public.

1. Sécurité des données

Les développeurs d’applications devraient se concentrer sur la sécurité des données, car c’est là que la plupart des attaques se produisent, mais ne permettez pas à vos applications de donner aux pirates un chemin qui les mènera à ces données. Pensez à la sécurité des données dans le cloud comme une série de niveaux :

  • Le niveau de la plate-forme : C’est le système d’exploitation de l’instance de la machine, y compris les éléments tels que les fichiers de données. Une protection inadéquate de la plate-forme est une faille fondamentale que la plupart des développeurs des applications ne prennent pas en compte. Ils peuvent protéger l’accès aux données mais pas la base de données elle-même qui est exposée dans la plate-forme. Pour gérer cette vulnérabilité, assurez-vous de chiffrer les données. De cette façon, si quelqu’un copie les fichiers de données, ils seront inutiles. Bien que cette approche soit la meilleure, elle peut parfois causer des problèmes de performances, de sorte que de nombreux développeurs préfèrent ne pas l’utiliser.
  • Le niveau de la base de données : La plupart des bases de données ont leurs propres systèmes de sécurité, et lorsque vous utilisez des bases de données dans des cloud publics, c’est une bonne idée de les utiliser. Ceux-ci incluent le cryptage des données, ainsi que la possibilité de n’autoriser que certains utilisateurs à accéder à certaines parties de la base de données en fonction du niveau d’autorisation. Assurez-vous de sélectionner une base de données basée sur le cloud qui offre ces fonctionnalités de sécurité.
  • Le niveau des applications : Puisque les applications sont autorisées à lire et à écrire dans une base de données, vous devez également vous concentrer sur la sécurité. Cela consiste à configurer l’accès basé sur l’identité à l’application elle-même ainsi que la surveillance de l’activité pour s’assurer que l’utilisateur n’affiche pas les modèles de pirate, tels qu’une adresse IP inconnue, des connexions manquées, etc.

2. Tout est une question d’identité

Utilisez la technologie de la gestion d’identités et d’accès (IAM) pour initier, capturer, enregistrer et gérer les identités des utilisateurs et les autorisations d’accès associées. IAM garantit que les privilèges d’accès sont accordés conformément à la stratégie définie par les développeurs et les administrateurs de sécurité. De plus, IAM vérifie que tous les individus et services sont correctement authentifiés, autorisés et audités.

Les développeurs des applications cloud doivent comprendre IAM. Ne vous contentez pas de l’associer à des ressources telles que des données et des services, mais intégrez-le directement à vos applications. Les systèmes IAM incluent des APIs que vous pouvez utiliser pour vérifier par exemple que l’utilisateur est autorisé à accéder à l’application, à la plate-forme, aux services et aux données. N’importe lequel d’entre eux peut être autorisé à tout moment, et donc ce n’est jamais une approche du « tout ou rien ».

Les systèmes IAM doivent automatiser l’initiation, la capture, l’enregistrement et la gestion des identités de l’utilisateur qui utilisent un service d’annuaire centralisé. Ce répertoire central empêche les informations d’identification de se retrouver au hasard dans des fichiers et des notes autocollantes, ce qui est la façon dont les humains réagissent aux systèmes de sécurité trop intrusifs et complexes. C’est votre travail en tant que développeur de vous assurer que votre application cloud est facile à utiliser et sécurisée.

3. Passer de DevOps à DevSecOps

La montée en puissance de DevOps, et l’utilisation des plate-formes  basées sur le cloud comme la plate-forme cible pour les applications, fournit beaucoup d’exposition supplémentaire pour les failles de sécurité, mais présente également des opportunités pour améliorer la sécurité. Vous devez vous concentrer davantage sur DevSecOps, ou sur les opérations de sécurité de développement, où vous devez gérer la sécurité des processus DevOps. DevSecOps signifie que lorsque vous effectuez des tests en continu, vous incluez également des tests de sécurité continue. Vous devez constamment  vérifier les applications pour l’utilisation correcte des services IAM, le chiffrement et d’autres processus de sécurité qui doivent être intégrés dans l’application et assurez-vous qu’ils fonctionnent tous correctement.

En outre, une fois que vous avez lancé et déployé une application dans le cloud, continuez à vous concentrer sur les opérations de sécurité pendant la phase des opérations continues. Vérifiez les opérations d’IAM et le cryptage dans les applications, le stockage de données et les plate-formes. Assurez-vous que vous êtes protégé comme vous le devriez et que toutes les protections sont actives et fonctionnent correctement.

Votre approche de DevSecOps varie considérablement en fonction de vos applications, de votre secteur d’activité et de la marque du cloud public sur laquelle vous effectuez le déploiement. Les meilleures pratiques ici consistent à améliorer continuellement votre approche de sécurité et à être proactif dans la surveillance des applications dans les opérations afin de rechercher les activités qui pourraient mener à des attaques ou représenter des attaques en cours.

Meilleure pratique du cloud public : augmentez la sécurité de vos applications

Les responsables informatiques pensent souvent qu’ils doivent renoncer à la sécurité pour tirer parti des cloud publics. Ce n’est pas le cas. La sécurité est liée aux approches et à la technologie que vous utilisez, ainsi qu’à votre engagement à améliorer la sécurité à plusieurs niveaux. Pour cette raison, la plupart des applications basées sur le cloud sont plus sécurisées que les applications traditionnelles.

Cela signifie qu’il est de votre responsabilité, en tant que développeur, de veiller à ce que la sécurité soit systémique pour vos applications basées sur le cloud au niveau des applications, des données et de la plate-forme. Cette approche visant à sécuriser les applications cloud, ainsi qu’à tirer parti des meilleures pratiques opérationnelles, servira bien les propriétaires des applications.

L’intégration de ces meilleures pratiques de sécurité avec vos processus DevOps montre que vous vous mettiez en action. L’automatisation de la construction, des tests et des opérations de sécurité signifie qu’en tant que développeur, vous n’avez pas besoin d’être constamment paranoïaque en matière de sécurité. La sécurité est simplement intégrée dans le processus de développement ainsi que les outils automatisés qui la facilitent.

De nos jours, la sécurité est une chose facile à implémenter dans les applications basées sur le cloud public, étant donné la disponibilité des outils et des approches modernes. Les mauvaises nouvelles sont que la sécurité doit continuellement changer et évoluer pour répondre à l’évolution des risques, et ce n’est plus seulement un problème qui concerne la sécurité informatique et l’équipe d’infrastructure. En effet, les développeurs sont maintenant inclus dans le combat.

À lire aussi

iCloud a expliqué : Les points à considérer avant d’adopter le cloud

Apple a déployé son service iCloud, très prisé, et promet de réduire à néant la …