J'ai été chargé de gérer une application déployée sur Azure. J'ai 4 heures par mois.
J'ai essentiellement une demi-journée de travail pour sécuriser/sécuriser cette application. Qu'est-ce qu'une utilisation efficace de mon temps?
Dois-je me concentrer sur:
Ou une combinaison/autre chose?
Je recherche des réponses basées sur l'expérience, de préférence de quelqu'un qui fait ce genre de maintenance de sécurité. S'il existe un quelconque type de meilleures pratiques/lignes directrices existantes, cela serait également très utile.
La pile technologique est la suivante:
Il y a plusieurs composants supplémentaires, mais je ne recherche pas vraiment de réponses spécifiques à la technologie, plus une stratégie sur la façon d'aborder cela.
Commencez par les meilleures pratiques de sécurité Azure afin de pouvoir maintenir et améliorer la sécurité de votre solution Azure étape par étape:
Lorsque vous êtes prêt avec le 1-7, concentrez-vous sur:
Lisez la documentation Microsoft sur les Meilleures pratiques de sécurité Azure .
Documentation:
Comme mentionné dans les commentaires, je suis moi aussi d'accord 4 heures par mois, c'est beaucoup trop bas. Comprenez, et plus important encore, faites comprendre à vos parties prenantes qu'avec 4h, elles ne devraient pas en attendre beaucoup. Étant donné qu'ils vous ont donné 4 heures, il ne semble pas non plus qu'ils soient sérieux au sujet de la sécurisation de cette application.
Sur la base des commentaires, des réponses et de mes propres réflexions, je vais essayer de préparer quelque chose. Voici à quoi je pense que vos options devraient ressembler dans l'ordre.
La protection DoS est bonne et requise, mais je ne pouvais tout simplement pas trouver un moyen de l'adapter au plan ci-dessus et je ne pouvais rien échanger pour cela. Peut-être que cela devrait être documenté dans vos prochaines étapes.
Dans l'ensemble, c'est une demande farfelue de sécuriser quelque chose en 4h. Mais si j'étais chargé de cela, je le ferais avec les étapes ci-dessus. Je ne sais pas si des enquêtes pour savoir si le système est déjà piraté sont réalisables dans ces 4h. Lorsque vous disposez de 4h pour sécuriser, vous pouvez soit choisir de le dépenser pour sécuriser l'application contre les menaces potentielles, soit enquêter sur les attaquants de votre système (nécessite un plan différent). Ce choix initial est le vôtre.
Il s'agit d'une réponse de champ très à gauche (c'est-à-dire qu'elle a peu à voir avec la sécurité réelle), alors n'hésitez pas à ignorer mes conseils. Cette question elle-même est plutôt basée sur l'opinion, alors j'ai pensé essayer un "type" de réponse complètement différent.
Malheureusement, votre employeur a des attentes très irréalistes quant à ce qui est nécessaire pour sécuriser une application. 4 heures, ce n'est pas assez de temps pour bien faire ce travail. Pour être clair, c'est encore mieux que la plupart des entreprises (qui attribuent exactement 0 heure par mois de temps de sécurité dédié). La réalité est que 4 heures sont une somme dérisoire. Voici donc ce que vous faites:
Évidemment, je ne peux donner aucune garantie sur la façon dont les choses se passeraient, mais en fait, ce qu'on vous a donné, c'est la permission de commencer à vous former pour un changement de carrière. Une opportunité d'investir dans votre avenir! Les professionnels de la sécurité sont encore plus demandés que les ingénieurs, alors personnellement, je prendrais cela et je courrais avec. Surtout si cela fonctionnait en ma faveur, je ne voudrais même pas reprocher à mon employeur actuel le travail gratuit que j'allais leur donner en raison de leur myopie.
Je suggérerais de
Je vais supposer que l'application est extrêmement petite, vous écrivez des scripts pour que les journaux recherchent les choses hors de propos (idéalement, cela ne se fait pas pendant la période de travail de 4 heures), la reprise après sinistre devrait déjà être en place pour une application principale (vérifiez si l'application nécessite un tel effort.).
La documentation est vitale car elle devrait vous permettre de savoir ce qui est utilisé et qui l'utilise également à quelle fréquence. Cela vous aidera lors du développement du script.
Des scripts sont nécessaires pour condenser la valeur d'un mois de journaux, alors choisissez soigneusement.
Vérifiez les sauvegardes.
Vérifiez toujours les technologies utilisées et s'il existe des POC ou des exploits. Ne sautez pas dedans et commencez vous-même à tenter un exploit, vous n'avez que 4h.
Demande d'assistance supplémentaire si l'application est vitale.
Idéalement, seuls la documentation et les scripts devraient prendre du temps et devraient être assez simples. Ce n'est pas le meilleur dont vous disposerez pour déterminer la valeur du projet et choisir si 4h suffisent.
Comprendre votre cible vous aide à mieux la protéger.
Je suis sûr qu'il y a une meilleure réponse, j'espère qu'ils le fourniront.
OP, on dirait que vous êtes principalement un développeur, en regardant vos contributions . Alors, que peut faire un développeur pour augmenter la sécurité?
Au premier mois:
master
et vers la production. Essayez d'essayer de jumeler d'autres développements s'il y en a, mais dans ce cas, faites particulièrement attention à laisser des traces que vous avez réellement faites quelque chose d'utile (par exemple, créez des RP).Répétez chaque mois, mais ajustez la ligne de division entre les deux au fur et à mesure. (Il y a de fortes chances que le partage final soit plus proche de 10 minutes contre 3 heures 50 minutes.)
De cette façon, vous corrigez le pire vecteur - l'un des composants/bibliothèques populaires a une vulnérabilité publiée (CVE) vieille de plusieurs mois. Des essaims de robots commencent à analyser l'intégralité d'Internet en attente de chaque déploiement vulnérable. Si vous mettez simplement à niveau les composants tiers, même uniquement en faisant des suppositions (informées?), Il y a de bonnes chances que vous ne deveniez jamais une victime et que vous ne puissiez jamais en avoir besoin pour gérer les désagréables vraiment désagréables situations.
C'est assez banal pour les développeurs, mais dans la plupart des entreprises, les développeurs évitent une telle maintenance sans intérêt. Cela devient un gros problème pour les services de sécurité typiques (car ils ne recompilent pas les applications). Les grands efforts pour "analyser les journaux" ou "implémenter les WAF" ou "effectuer des analyses de vulnérabilité" visent principalement à combler cet écart sous tous les angles possibles restants.
D'après votre question, il semble que vous vous demandez comment concentrer votre apprentissage . J'aimerais contester cette hypothèse ici et maintenant. Celui qui vous a alloué 4 heures par mois a déjà coupé sa propre application de bénéficier de votre auto-éducation. Irresponsable d'eux! Pour apprendre quelque chose de dédié à ce projet, puis l'implémenter, puis apprendre sur vos erreurs et répéter ... Cela ne peut pas être fait en morceaux de 4 heures chaque mois. Ne "corrigez" pas cela, car ce n'était pas votre décision! À l'époque de ce projet, faites des choses que vous connaissez déjà bien.
Voilà une entrée. Ce que vous essayez d'apprendre et de mettre en œuvre dans votre temps libre, c'est votre préférence et votre propre entreprise. Je pense que c'est trop large pour ce site (car il se peut que vous décidiez que vous n'êtes pas intéressé par la sécurité, ce qui est tout à fait correct), mais d'autres vous ont quand même donné des tonnes de pistes. Recherchez également des choses utiles lors de vos autres projets. Certains des premiers ou des derniers s'inscriront dans ces 4 heures et contribueront à améliorer l'état du projet.
Comme d'autres l'ont déjà mentionné, 4 heures représentent bien trop peu d'efforts, mais je fournirai quelques recommandations au cas où vous les trouveriez utiles.
D'un administrateur système qui a dû faire de telles choses, je recommanderais simplement de créer un dev VM que vous pouvez échanger avec prod.
Vous ne mentionnez pas les risques: stocke-t-il des données personnelles, etc. Mais s'il s'agit d'une application complexe, alors une approche qui est assez efficace en termes de temps est le test fuzz: extraire des requêtes valides des journaux, les muter avec le type de les métacaractères qui pourraient être dans une attaque par injection et signalent une vulnérabilité chaque fois que vous obtenez une erreur 500.
Malheureusement, la réponse habituelle est "ce n'est pas exploitable", en particulier dans un environnement naïf de sécurité comme vous semblez l'être. Et transformer une vulnérabilité en exploit prend plus que vos quatre heures budgétisées.
Autre réponse: passez du temps à peaufiner votre CV, car cet employeur pourrait faire faillite à tout moment.