En tant qu'ingénieur logiciel, il est essentiel que vous ayez toujours la sécurité à l'esprit pour vous assurer que vous développez des logiciels fiables et prêts à partir en production.
New Relic a récemment animé un Twitter Space (ou Espace) avec Harry Kimpel de Snyk et Frank Dornberger de movingimage pour discuter de la façon dont les ingénieurs logiciels peuvent cultiver état d'esprit au cœur duquel la sécurité règne.
Cette attitude dépasse la simple étude des vulnérabilités et de la prévention des menaces dans les applications. En effet, il s'agit aussi de prendre en considération l'intégrité des applications et la fiabilité du système. Vous devez vous assurer que vos applications n'ont pas un impact négatif sur vos clients, monitorer les performances des applications et traiter les pannes, les exceptions et les problèmes le plus rapidement possible.
Voici huit conseils tirés de la conversation dans l'Espace.
- Déplacez vos processus de sécurité vers la gauche. Évitez l'erreur courante de penser à la sécurité trop tardivement dans le cycle de développement et réfléchissez-y dès le début. En réalité, la sécurité est un processus récurrent qui doit faire partie de tout le cycle de développement.
- Passez des DevOps aux DevSecOps. Déplacez vos pratiques de sécurité vers la gauche pour qu'elles soient présentes tout au long du cycle de développement des logiciels, automatisez-les le plus possible, et simulez les menaces et les incidents pour que vos équipes puissent s'occuper des vrais problèmes.
- Lors du développement de logiciels, essayez de réfléchir à la possibilité de prendre le mauvais chemin. Recherchez des cas marginaux, testez-les, et trouvez le moyen d'éviter qu'ils se produisent. Faites attention aux mots de passe par défaut, aux configurations, aux systèmes d'exploitation et à d'autres valeurs par défaut similaires qui sont utilisés dans vos environnements. Essayez de faire échouer le code lors des tests et limitez les autorisations afin que vos utilisateurs n'aient accès qu'à ce dont ils ont besoin.
- Demandez à vos collègues de vérifier votre code et vos systèmes. Vous réduisez ainsi la possibilité de faire de graves erreurs ou de pousser des bogues et des vulnérabilités de sécurité en production.
- Assurez-vous que les bibliothèques que vous utilisez font l'objet d'une maintenance régulière. Chaque entreprise est une entreprise informatique qui utilise les logiciels en interne, ou qui les fournit à ses clients. Quand on garde la sécurité à l'esprit, on comprend le logiciel lui-même, la façon dont les clients l'utilisent, et la façon dont il est utilisé pour assurer une expérience fiable aux clients tant internes qu'externes. Une grande partie de ces informations exigent que l'on contrôle les bibliothèques et les technologies tierces pour détecter les vulnérabilités potentielles et que l'on assure la maintenance de ces bibliothèques.
- Développez des redondances système. Malgré toute la planification que nous faisons ou la robustesse de nos systèmes, la possibilité que quelque chose de complètement imprévisible se produise est toujours présente, même si elle est aussi peu probable qu'un data center réduit en cendre par un incendie. Vous pouvez éviter de perdre un nombre incalculable d'heures de travail en ayant des redondances en place qui vous aideront à prévenir les pannes et à rétablir les systèmes dans des situations où il vous faudrait autrement tout recommencer à zéro.
- Restez informés des toutes dernières bonnes pratiques. Les bonnes pratiques en matière de sécurité changent aussi vite que la technologie avance, il est donc essentiel de toujours garder la sécurité à l'esprit en restant bien informé. Pour ce faire, lisez les publications et les blogs du secteur, participez aux séminaires et aux forums en ligne qui parlent d'ingénierie informatique et de sécurité des logiciels. Les ressources utiles comprennent SLSA.dev, OpenSSF Project, et Snyk Learn Platform.
- Formez vos équipes informatiques. En ce qui concerne la sécurité, les ingénieurs logiciels jouent un rôle important, ils devraient donc comprendre l'impact de leur code et les problèmes ou vulnérabilités potentiels qui pourraient en découler. En outre, il est essentiel de comprendre les différents composants du développement des applications — de la conception de l'architecture au codage et à la façon dont ils interagissent les uns avec les autres — pour développer des applications sécurisées et comprendre tout le stack. Il est également crucial pour les ingénieurs logiciels de comprendre les politiques, procédures et directives de leur propre entreprise.
Cultiver constamment la sécurité est un état d'esprit qui vaut vraiment la peine d'être cultivé si vous assurez la longévité de la sécurité et de la fiabilité. Grâce à ces conseils, vous et vos équipes garderez la sécurité à l'esprit lorsque vous écrivez du code ou concevez des architectures système pour vos applications.
Étapes suivantes
- Déplacez vos pratiques de sécurité vers la gauche et cultivez l'état d'esprit qui va avec grâce à New Relic Vulnerability Management.
- Découvrez New Relic Vulnerability Management, puis lisez la documentation pour bien démarrer.
- Vous ne possédez pas encore de compte New Relic ? Inscrivez-vous gratuitement dès aujourd'hui. Votre compte gratuit comprend 100 Go/mois et un utilisateur Full ainsi que le module New Relic Vulnerability Management.
Les opinions exprimées sur ce blog sont celles de l'auteur et ne reflètent pas nécessairement celles de New Relic. Toutes les solutions proposées par l'auteur sont spécifiques à l'environnement et ne font pas partie des solutions commerciales ou du support proposés par New Relic. Veuillez nous rejoindre exclusivement sur l'Explorers Hub (discuss.newrelic.com) pour toute question et assistance concernant cet article de blog. Ce blog peut contenir des liens vers du contenu de sites tiers. En fournissant de tels liens, New Relic n'adopte, ne garantit, n'approuve ou n'approuve pas les informations, vues ou produits disponibles sur ces sites.