Pistes d'audit - AWS Directives prescriptives

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.

Pistes d'audit

La piste d'audit (ou journal d'audit) fournit un enregistrement chronologique pertinent pour la sécurité des événements survenus dans votre compte AWS. Il inclut des événements pour Amazon RDS, qui fournissent des preuves documentaires de la séquence d'activités qui ont affecté votre base de données ou votre environnement cloud. Dans Amazon RDS pour MySQL ou MariaDB, l'utilisation de la piste d'audit implique :

  • Surveillance du journal d'audit de l'instance de base de données

  • Surveillance des appels d'API Amazon RDS dansAWS CloudTrail

Pour une instance de base de données Amazon RDS, les objectifs de l'audit sont généralement les suivants :

  • Permettre la responsabilisation dans les domaines suivants :

    • Modifications apportées au paramètre ou à la configuration de sécurité

    • Actions effectuées dans un schéma de base de données, une table ou une ligne, ou actions affectant un contenu spécifique

  • Détection et investigation des intrusions

  • Détection et investigation des activités suspectes

  • Détection de problèmes d'autorisation ; par exemple, pour identifier les violations des droits d'accès par des utilisateurs réguliers ou privilégiés

La piste d'audit de la base de données tente de répondre aux questions courantes suivantes :Qui a consulté ou modifié des données sensibles dans votre base de données ? Quand est-ce que c'est arrivé ? D'où un utilisateur spécifique a-t-il accédé aux données ? Des utilisateurs privilégiés ont-ils abusé de leurs droits d'accès illimités ?

MySQL et MariaDB implémentent la fonctionnalité de piste d'audit des instances de base de données à l'aide du plug-in d'audit MariaDB. Ce plugin enregistre les activités de la base de données, telles que les utilisateurs qui se connectent à la base de données et les requêtes exécutées sur la base de données. L'enregistrement de l'activité de la base de données est stocké dans un fichier journal. Pour accéder au journal d'audit, l'instance de base de données doit utiliser un groupe d'options personnalisé avec l'option MARIADB_AUDIT_PLUGIN. Pour plus d'informations, voirSupport du plugin d'audit MariaDB pour MySQLdans la documentation Amazon RDS. Les enregistrements du journal d'audit sont stockés dans un format spécifique, tel que défini par le plugin. Vous trouverez de plus amples informations sur le format du journal d'audit dans leDocumentation du serveur MariaDB.

LeAWS Cloudpiste d'audit pour votreAWSle compte est fourni parAWS CloudTrailservice. CloudTrailcapture les appels d'API pour Amazon RDS sous forme d'événements. Toutes les actions Amazon RDS sont enregistrées. CloudTrailfournit un enregistrement des actions effectuées dans Amazon RDS par un utilisateur, un rôle ou un autreAWSservice. Les événements incluent les mesures prises dans leAWSConsole de gestion,AWS CLI, etAWSSDK et API.

Exemple

Dans un scénario d'audit classique, vous devrez peut-être combinerAWS CloudTraildes traces avec le journal d'audit de la base de données et la surveillance des événements Amazon RDS. Par exemple, vous pouvez avoir un scénario dans lequel les paramètres de base de données de votre instance de base de données Amazon RDS (par exemple,database-1) ont été modifiés et votre tâche consiste à identifier qui a effectué la modification, ce qui a été modifié et à quel moment le changement s'est produit.

Pour accomplir cette tâche, procédez comme suit :

  1. Répertorier les événements Amazon RDS survenus sur l'instance de base de donnéesdatabase-1et déterminez s'il existe un événement dans la catégorieconfiguration changequi contient le messageFinished updating DB parameter group.

    $ aws rds describe-events --source-identifier database-1 --source-type db-instance { "Events": [ { "SourceIdentifier": "database-1", "SourceType": "db-instance", "Message": "Finished updating DB parameter group", "EventCategories": [ "configuration change" ], "Date": "2022-12-01T09:22:40.413000+00:00", "SourceArn": "arn:aws:rds:eu-west-3:111122223333:db:database-1" } ] }
  2. Identifiez le groupe de paramètres de base de données utilisé par l'instance de base de données :

    $ aws rds describe-db-instances --db-instance-identifier database-1 --query 'DBInstances[*].[DBInstanceIdentifier,Engine,DBParameterGroups]' [ [ "database-1", "mariadb", [ { "DBParameterGroupName": "mariadb10-6-test", "ParameterApplyStatus": "pending-reboot" } ] ] ]
  3. Utilisez leAWS CLIpour rechercherCloudTrailévénementsdans la région oùdatabase-1est déployé au cours de la période qui a suivi l'événement Amazon RDS découvert à l'étape 1, et oùEventName=ModifyDBParameterGroup.

    $ aws cloudtrail --region eu-west-3 lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=ModifyDBParameterGroup --start-time "2022-12-01, 09:00 AM" --end-time "2022-12-01, 09:30 AM" { "eventVersion": "1.08", "userIdentity": { "accountId": "111122223333", "accessKeyId": "AKIAIOSFODNN7EXAMPLE", "sessionContext": { "sessionIssuer": { "type": "Role", "principalId": "AIDACKCEVSQ6C2EXAMPLE", "arn": "arn:aws:iam::111122223333:role/Role1", "accountId": "111122223333", "userName": "User1" } } }, "eventTime": "2022-12-01T09:18:19Z", "eventSource": "rds.amazonaws.com", "eventName": "ModifyDBParameterGroup", "awsRegion": "eu-west-3", "sourceIPAddress": "AWS Internal", "userAgent": "AWS Internal", "requestParameters": { "parameters": [ { "isModifiable": false, "applyMethod": "pending-reboot", "parameterName": "innodb_log_buffer_size", "parameterValue": "8388612" }, { "isModifiable": false, "applyMethod": "pending-reboot", "parameterName": "innodb_write_io_threads", "parameterValue": "8" } ], "dBParameterGroupName": "mariadb10-6-test" }, "responseElements": { "dBParameterGroupName": "mariadb10-6-test" }, "requestID": "fdf19353-de72-4d3d-bf29-751f375b6378", "eventID": "0bba7484-0e46-4e71-93a8-bd01ca8386fe", "eventType": "AwsApiCall", "managementEvent": true, "recipientAccountId": "111122223333", "eventCategory": "Management", "sessionCredentialFromConsole": "true" }

LeCloudTraill'événement révèle queUser1avec rôleRole1à partir deAWSle compte 111122223333 a modifié le groupe de paramètres de base de donnéesmariadb10-6-test, qui a été utilisé par l'instance de base de donnéesdatabase-1sur2022-12-01 at 09:18:19 h. Deux paramètres ont été modifiés et définis aux valeurs suivantes :

  • innodb_log_buffer_size = 8388612

  • innodb_write_io_threads = 8

AdditionnelCloudTrailetCloudWatchFonctionnalités des journaux

Vous pouvez résoudre les incidents opérationnels et de sécurité survenus au cours des 90 derniers jours en consultantHistorique de l'événementsur leCloudTrailconsole. Pour prolonger la période de rétention et tirer parti des fonctionnalités de requête supplémentaires, vous pouvez utiliserAWS CloudTrailLac. AvecAWS CloudTrailLake, vous pouvez conserver les données d'événements dans un magasin de données d'événements pendant sept ans au maximum. En outre, le service prend en charge les requêtes SQL complexes qui offrent une vue plus approfondie et plus personnalisable des événements que les vues fournies par de simples recherches clé-valeur dansHistorique de l'événement.

Pour surveiller vos pistes d'audit, définir des alarmes et recevoir des notifications lorsqu'une activité spécifique se produit, vous devezconfigurerCloudTrailpour envoyer ses relevés de piste àCloudWatchJournaux. Une fois que les enregistrements des pistes sont stockés sousCloudWatchJournaux : vous pouvez définir des filtres métriques pour évaluer les événements du journal afin qu'ils correspondent à des termes, à des phrases ou à des valeurs, et attribuer des métriques à des filtres métriques. De plus, vous pouvez créerCloudWatchdes alarmes qui sont générées en fonction de seuils et de périodes que vous spécifiez. Par exemple, vous pouvez configurer des alarmes qui envoient des notifications aux équipes responsables afin qu'elles puissent prendre les mesures appropriées. Vous pouvez également configurer CloudWatch pour effectuer automatiquement une action en réponse à une alarme.