Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Intégration bidirectionnelle d'AWS Security Hub au logiciel Jira
Créée par Joaquin Manuel Rinaudo (AWS)
Récapitulatif
Cette solution prend en charge une intégration bidirectionnelle entre AWS Security Hub et Jira. Grâce à cette solution, vous pouvez créer et mettre à jour automatiquement et manuellement des tickets JIRA à partir des résultats du Security Hub. Les équipes de sécurité peuvent utiliser cette intégration pour informer les équipes de développement des problèmes de sécurité graves nécessitant une action.
La solution vous permet de :
Sélectionnez les contrôles Security Hub qui créent ou mettent à jour automatiquement les tickets dans Jira.
Dans la console Security Hub, utilisez les actions personnalisées de Security Hub pour augmenter manuellement les tickets dans Jira.
Attribuez automatiquement des tickets dans Jira en fonction des balises de compte AWS définies dans AWS Organizations. Si cette balise n'est pas définie, un destinataire par défaut est utilisé.
Supprimez automatiquement les résultats du Security Hub marqués comme faussement positifs ou présentant un risque accepté dans Jira.
Fermez automatiquement un ticket Jira lorsque le résultat correspondant est archivé dans Security Hub.
Rouvrez les tickets Jira lorsque les résultats de Security Hub se reproduisent.
Flux de travail Jira
La solution utilise un flux de travail Jira personnalisé qui permet aux développeurs de gérer et de documenter les risques. Au fur et à mesure que le problème progresse dans le flux de travail, l'intégration bidirectionnelle garantit que le statut du ticket Jira et la découverte du Security Hub sont synchronisés entre les flux de travail des deux services. Ce flux de travail est un dérivé de SecDevOps Risk Workflow de Dinis Cruz, sous licence CC BY 4.0

Pour un exemple de ticket Jira généré automatiquement par cette solution, consultez la section Informations supplémentaires de ce modèle.
Conditions préalables et limitations
Prérequis
Si vous souhaitez déployer cette solution dans un environnement AWS multi-comptes :
Votre environnement multi-comptes est actif et géré par AWS Organizations.
Security Hub est activé sur vos comptes AWS.
Dans AWS Organizations, vous avez désigné un compte administrateur Security Hub.
Vous disposez d'un rôle IAM multi-comptes autorisé à accéder au
AWSOrganizationsReadOnlyAccess
compte de gestion AWS Organizations.(Facultatif) Vous avez tagué vos comptes AWS avec
SecurityContactID
. Cette balise est utilisée pour attribuer des tickets Jira aux contacts de sécurité définis.
Si vous souhaitez déployer cette solution au sein d'un seul compte AWS :
Vous disposez d'un compte AWS actif.
Security Hub est activé sur votre compte AWS.
Une instance de Jira Server
Important
Cette solution prend en charge l'utilisation de Jira Cloud. Cependant, Jira Cloud ne prend pas en charge l'importation de flux de travail XML. Vous devez donc recréer manuellement le flux de travail dans Jira.
Autorisations d'administrateur dans Jira
L'un des jetons Jira suivants :
Pour Jira Enterprise, un jeton d'accès personnel (PAT). Pour plus d'informations, consultez la section Utilisation de jetons d'accès personnels
(assistance Atlassian). Pour Jira Cloud, un jeton d'API Jira. Pour plus d'informations, consultez Gérer les jetons d'API
(support Atlassian).
Architecture
Cette section illustre l'architecture de la solution dans différents scénarios, par exemple lorsque le développeur et l'ingénieur en sécurité décident d'accepter le risque ou de résoudre le problème.
Scénario 1 : le développeur résout le problème
Security Hub génère une constatation par rapport à un contrôle de sécurité spécifié, tel que ceux de la norme AWS Foundational Security Best Practices.
Un CloudWatch événement Amazon associé à la découverte et à l'
CreateJIRA
action déclenche une fonction AWS Lambda.La fonction Lambda utilise son fichier de configuration et le
GeneratorId
champ du résultat pour déterminer si elle doit augmenter le résultat.La fonction Lambda détermine que le résultat doit être augmenté, elle obtient le tag du compte auprès d'AWS Organizations dans le
SecurityContactID
compte de gestion AWS. Cet identifiant est associé au développeur et est utilisé comme identifiant de destinataire pour le ticket Jira.La fonction Lambda utilise les informations d'identification stockées dans AWS Secrets Manager pour créer un ticket dans Jira. Jira avertit le développeur.
Le développeur répond à la constatation de sécurité sous-jacente et, dans Jira, change le statut du ticket en
TEST FIX
.Security Hub met à jour le résultat au fur
ARCHIVED
et à mesure qu'un nouvel événement est généré. Cet événement entraîne la fermeture automatique du ticket Jira par la fonction Lambda.

Scénario 2 : le développeur décide d'accepter le risque
Security Hub génère une constatation par rapport à un contrôle de sécurité spécifié, tel que ceux de la norme AWS Foundational Security Best Practices.
Un CloudWatch événement associé à la découverte et à l'
CreateJIRA
action déclenche une fonction Lambda.La fonction Lambda utilise son fichier de configuration et le
GeneratorId
champ du résultat pour déterminer si elle doit augmenter le résultat.La fonction Lambda détermine que le résultat doit être augmenté, elle obtient le tag du compte auprès d'AWS Organizations dans le
SecurityContactID
compte de gestion AWS. Cet identifiant est associé au développeur et est utilisé comme identifiant de destinataire pour le ticket Jira.La fonction Lambda utilise les informations d'identification stockées dans Secrets Manager pour créer un ticket dans Jira. Jira avertit le développeur.
Le développeur décide d'accepter le risque et, dans Jira, change le statut du ticket en
AWAITING RISK ACCEPTANCE
.L'ingénieur en sécurité examine la demande et trouve que la justification commerciale est appropriée. L'ingénieur de sécurité change le statut du ticket Jira en
ACCEPTED RISK
. Cela ferme le ticket Jira.Un événement CloudWatch quotidien lance la fonction d'actualisation Lambda, qui identifie les tickets JIRA fermés et met à jour les résultats correspondants du Security Hub en tant que tels.
SUPPRESSED

Outils
AWS vous CloudFormation aide à configurer les ressources AWS, à les approvisionner rapidement et de manière cohérente, et à les gérer tout au long de leur cycle de vie sur l'ensemble des comptes et des régions AWS.
Amazon CloudWatch Events vous aide à surveiller les événements du système pour vos ressources AWS en utilisant des règles pour faire correspondre les événements et les acheminer vers des fonctions ou des flux.
AWS Lambda est un service de calcul qui vous permet d'exécuter du code sans avoir à provisionner ou à gérer des serveurs. Il exécute votre code uniquement lorsque cela est nécessaire et évolue automatiquement, de sorte que vous ne payez que pour le temps de calcul que vous utilisez.
AWS Organizations est un service de gestion de comptes qui vous aide à consolider plusieurs comptes AWS au sein d'une organisation que vous créez et gérez de manière centralisée.
AWS Secrets Manager vous aide à remplacer les informations d'identification codées en dur dans votre code, y compris les mots de passe, par un appel d'API à Secrets Manager pour récupérer le secret par programmation.
AWS Security Hub fournit une vue complète de votre état de sécurité dans AWS. Il vous permet également de vérifier que votre environnement AWS est conforme aux normes du secteur de la sécurité et aux meilleures pratiques.
Référentiel de code
Le code de ce modèle est disponible sur GitHub, dans le référentiel aws-securityhub-jira-software-integration
Épopées
Tâche | Description | Compétences requises |
---|---|---|
Importez le flux de travail. | En tant qu'administrateur de Jira, importez le | Administrateur Jira |
Activez et attribuez le flux de travail. | Les flux de travail sont inactifs tant que vous ne les affectez pas à un schéma de flux de travail. Vous attribuez ensuite le schéma de flux de travail à un projet.
| Administrateur Jira |
Tâche | Description | Compétences requises |
---|---|---|
Configurez les paramètres de la solution. |
| Administrateur système AWS |
Identifiez les résultats que vous souhaitez automatiser. |
| |
Ajoutez les résultats au fichier de configuration. |
L'exemple de code suivant montre l'automatisation des
NoteVous pouvez choisir d'automatiser différents résultats pour chaque région AWS. Une bonne pratique pour éviter la duplication des résultats consiste à sélectionner une seule région pour automatiser la création de contrôles liés à l'IAM. | Administrateur système AWS |
Tâche | Description | Compétences requises |
---|---|---|
Déployez l'intégration. | Dans un terminal de ligne de commande, entrez la commande suivante :
| Administrateur système AWS |
Téléchargez les informations d'identification Jira dans AWS Secrets Manager. |
| Administrateur système AWS |
Créez l'action personnalisée Security Hub. |
| Administrateur système AWS |
Ressources connexes
Informations supplémentaires
Exemple de ticket Jira
Lorsqu'une découverte spécifique du Security Hub se produit, cette solution crée automatiquement un ticket Jira. Le billet contient les informations suivantes :
Titre — Le titre identifie le problème de sécurité dans le format suivant :
AWS Security Issue :: <AWS account ID> :: <Security Hub finding title>
Description — La section de description du ticket décrit le contrôle de sécurité associé à la découverte, inclut un lien vers la découverte dans la console Security Hub et fournit une brève description de la manière de gérer le problème de sécurité dans le flux de travail Jira.
Voici un exemple de ticket Jira généré automatiquement.
Titre | Problème de sécurité AWS : 012345678912 : : Lambda.1 Les politiques relatives aux fonctions Lambda doivent interdire l'accès public. |
Description | Quel est le problème ? Nous avons détecté une faille de sécurité dans le compte AWS 012345678912 dont vous êtes responsable. Ce contrôle vérifie si la politique de fonction AWS Lambda attachée à la ressource Lambda interdit l'accès public. Si la politique de la fonction Lambda autorise l'accès public, le contrôle échoue. <Link to Security Hub finding> Que dois-je faire avec le billet ?
|