Collecter les journaux AWS Aurora
Ce document explique comment ingérer des journaux AWS Aurora dans Google Security Operations. AWS Aurora est un service de base de données relationnelle géré qui offre des performances, une évolutivité et une disponibilité élevées. Dans cette intégration, vous allez configurer AWS Aurora pour transférer les journaux vers Google SecOps à des fins d'analyse, de surveillance et de détection des menaces.
Avant de commencer
Assurez-vous de remplir les conditions suivantes :
- Instance Google SecOps
- Accès privilégié à AWS
- Cluster de base de données AWS Aurora configuré et en cours d'exécution
Configurer le bucket Amazon S3
- Créez un bucket Amazon S3 en suivant ce guide de l'utilisateur : Créer un bucket.
- Enregistrez le nom et la région du bucket pour une utilisation ultérieure.
- Créez un utilisateur en suivant ce guide : Créer un utilisateur IAM.
- Sélectionnez l'utilisateur créé.
- Sélectionnez l'onglet Informations d'identification de sécurité.
- Cliquez sur Créer une clé d'accès dans la section Clés d'accès.
- Sélectionnez Service tiers comme Cas d'utilisation.
- Cliquez sur Suivant.
- Facultatif : ajoutez un tag de description.
- Cliquez sur Créer une clé d'accès.
- Cliquez sur Télécharger le fichier CSV pour enregistrer la clé d'accès et la clé d'accès secrète pour une utilisation ultérieure.
- Cliquez sur OK.
- Sélectionnez l'onglet Autorisations.
- Cliquez sur Ajouter des autorisations dans la section Règles d'autorisation.
- Sélectionnez Ajouter des autorisations.
- Sélectionnez Joindre directement des règles.
- Recherchez et sélectionnez les règles AmazonS3FullAccess et CloudWatchLogsFullAccess.
- Cliquez sur Suivant.
- Cliquez sur Ajouter des autorisations.
Configurer la surveillance améliorée
- Connectez-vous à l'AWS Management Console.
- Dans la barre de recherche, saisissez RDS et sélectionnez RDS dans la liste des services.
- Dans le tableau de bord RDS, sélectionnez Bases de données dans le volet de navigation.
- Sélectionnez le cluster Aurora que vous souhaitez surveiller.
- Dans la section Journaux et surveillance, cliquez sur Modifier.
- Accédez à la section Surveillance et activez Surveillance améliorée.
- Définissez le rôle Monitoring sur le rôle IAM approprié disposant des autorisations nécessaires pour publier sur CloudWatch Logs ou S3.
- Enregistrez les modifications et appliquez-les à votre cluster Aurora.
Configurer les journaux d'audit AWS Aurora
- Dans le tableau de bord RDS, sélectionnez Bases de données, puis cliquez sur votre cluster Aurora.
- Dans la section Journaux et surveillance, cliquez sur Modifier.
- Dans la section Options de la base de données, assurez-vous que l'option Activer les journaux d'audit est sélectionnée.
- Sous Destination, sélectionnez S3 et spécifiez le bucket S3 dans lequel les journaux seront stockés.
- Cliquez sur Enregistrer les modifications pour appliquer les paramètres.
Facultatif : Configuration des journaux AWS Aurora à l'aide de CloudWatch
Pour bénéficier de fonctionnalités de surveillance supplémentaires, vous pouvez configurer CloudWatch Logs afin de capturer les journaux Aurora.
- Dans le tableau de bord RDS, sélectionnez votre cluster Aurora.
- Dans la section Journaux et surveillance, assurez-vous que l'intégration de CloudWatch Logs est activée.
- Accédez à CloudWatch Logs et créez un groupe de journaux pour stocker les journaux Aurora.
- Sur l'écran Log Groups (Groupes de journaux), sélectionnez le nom de votre nouveau Log Group (Groupe de journaux).
- Sélectionnez Actions > Exporter les données vers Amazon S3.
Sur l'écran Exporter des données vers Amazon S3, sous Définir l'exportation de données, définissez la plage de dates des données à exporter à l'aide des champs De et À.
Choisir un bucket S3 : sélectionnez le compte associé au bucket Amazon S3.
Nom du bucket S3 : sélectionnez un bucket Amazon S3.
Dans Préfixe du bucket S3, saisissez la chaîne générée de manière aléatoire que vous avez spécifiée dans la règle du bucket.
Sélectionnez Exporter pour exporter vos données de journaux vers Amazon S3.
Pour afficher l'état des données de journaux que vous avez exportées vers Amazon S3, sélectionnez Actions> Afficher toutes les exportations vers Amazon S3.
Configurer des flux
Il existe deux points d'entrée différents pour configurer les flux dans la plate-forme Google SecOps :
- Paramètres SIEM> Flux
- Plate-forme de contenu > Packs de contenu
Configurer des flux à partir de Paramètres SIEM > Flux
Pour configurer plusieurs flux pour différents types de journaux dans cette famille de produits, consultez Configurer des flux par produit.
Pour configurer un seul flux :
- Accédez à Paramètres SIEM> Flux.
- Cliquez sur Add New Feed (Ajouter un flux).
- Sur la page suivante, cliquez sur Configurer un seul flux.
- Dans le champ Nom du flux, saisissez un nom pour le flux (par exemple, Journaux AWS Aurora).
- Sélectionnez Amazon S3 comme Type de source.
- Sélectionnez AWS Aurora comme Type de journal.
- Cliquez sur Suivant.
Spécifiez les valeurs des paramètres d'entrée suivants :
- Région : région dans laquelle se trouve le bucket Amazon S3.
- URI S3 : URI du bucket.
s3://your-log-bucket-name/
- Remplacez
your-log-bucket-name
par le nom réel de votre bucket S3.
- Remplacez
- L'URI est : sélectionnez Répertoire ou Répertoire incluant les sous-répertoires, selon la structure de votre bucket.
Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
- Remplacez
your-log-bucket-name
par le nom réel de votre bucket S3.
- Remplacez
ID de clé d'accès : clé d'accès de l'utilisateur disposant des autorisations de lecture du bucket S3.
Clé d'accès secrète : clé secrète de l'utilisateur avec les autorisations nécessaires pour lire le bucket S3.
Cliquez sur Suivant.
Vérifiez la configuration de votre nouveau flux sur l'écran Finaliser, puis cliquez sur Envoyer.
Configurer des flux depuis le Hub de contenu
Indiquez les valeurs des champs suivants :
- Région : région dans laquelle se trouve le bucket Amazon S3.
- URI S3 : URI du bucket.
s3://your-log-bucket-name/
- Remplacez
your-log-bucket-name
par le nom réel de votre bucket S3.
- Remplacez
- L'URI est : sélectionnez Répertoire ou Répertoire incluant les sous-répertoires, selon la structure de votre bucket.
- Options de suppression de la source : sélectionnez l'option de suppression en fonction de vos préférences d'ingestion.
- ID de clé d'accès : clé d'accès de l'utilisateur disposant des autorisations de lecture du bucket S3.
- Clé d'accès secrète : clé secrète de l'utilisateur avec les autorisations nécessaires pour lire le bucket S3.
Options avancées
- Nom du flux : valeur préremplie qui identifie le flux.
- Type de source : méthode utilisée pour collecter les journaux dans Google SecOps.
- Espace de noms de l'élément : espace de noms associé au flux.
- Libellés d'ingestion : libellés appliqués à tous les événements de ce flux.
Table de mappage UDM
Champ de journal | Mappage UDM | Logique |
---|---|---|
account |
principal.group.product_object_id |
Mappé directement à partir du champ account dans le journal brut. |
column1 |
timestamp_epoch |
Mappé directement à partir du champ column1 dans le journal brut. Utilisé pour dériver metadata.event_timestamp . |
column10 |
Variable | Peut être principal.process.command_line , object ou number selon le format du journal. |
column11 |
ddl , response ou command_line2 |
Il peut s'agir de principal.resource.resource_subtype (ddl), security_result.outcomes.value (response) ou d'une partie de principal.process.command_line (command_line2), selon le format du journal. |
column12 |
operation , response ou command_line3 |
Peut être sr.summary (opération), security_result.outcomes.value (réponse) ou faire partie de principal.process.command_line (command_line3) selon le format du journal. |
column13 |
database ou response |
Peut être target.resource.name (base de données) ou security_result.outcomes.value (réponse) selon le format du journal. |
column14 |
object |
Directement mappé sur principal.resource.product_object_id ou target_data.resource.name selon le format du journal. |
column15 |
command_line |
Mappé directement sur principal.process.command_line . |
column16 |
response |
Mappé directement sur security_result.outcomes.value . |
column2 |
timestamp ou timestamp_ms |
Mappé directement à partir du champ column2 dans le journal brut. |
column3 |
ip ou hostname |
Peut être principal.ip ou principal.resource.name selon le format du journal. |
column4 |
port ou userid |
Peut être principal.port ou principal.user.userid selon le format du journal. |
column5 |
userid ou ip |
Peut être principal.user.userid ou principal.ip selon le format du journal. |
column6 |
hostname ou connection_id |
Peut être principal.resource.name ou network.session_id selon le format du journal. |
column7 |
connection_id ou query_id |
Peut être network.session_id ou principal.process.pid selon le format du journal. |
column8 |
operation |
Directement mappé sur sr.summary ou metadata.product_event_type . |
column9 |
query_id ou database |
Peut être principal.process.pid ou target_data.resource.name selon le format du journal. |
command_line |
principal.process.command_line |
Mappé directement à partir du champ command_line extrait. |
connection_id |
network.session_id |
Mappé directement à partir du champ connection_id extrait. |
database |
target.resource.name |
Mappé directement à partir du champ database extrait. Dérivé de plusieurs champs tels que operation , command_line , has_principal_user et has_principal_machine par le biais d'une logique conditionnelle dans l'analyseur. Il peut s'agir de RESOURCE_DELETION , RESOURCE_CREATION , RESOURCE_READ , RESOURCE_WRITTEN , USER_RESOURCE_ACCESS , USER_UNCATEGORIZED ou GENERIC_EVENT . Codé en dur sur "AWS_AURORA". Mappé à partir de column8 ou dérivé de la logique de l'analyseur. Codé en dur sur "AURORA". Codé en dur sur "AMAZON". |
has_principal_machine |
has_principal_machine |
Défini sur "true" si principal.ip est présent, sinon initialisé sur "false". |
has_principal_user |
has_principal_user |
Défini sur "true" si principal.user.userid est présent, sinon initialisé sur "false". |
hostname |
principal.resource.name |
Mappé directement à partir du champ hostname extrait. |
ip |
principal.ip |
Mappé directement à partir du champ ip extrait. |
logevent.id |
security_result.detection_fields.value |
Niché dans target.logEvents.logEvents , mappé avec la clé "id". |
logevent.message |
security_result.detection_fields.value |
Niché dans target.logEvents.logEvents , mappé avec la clé "message". Utilisé pour extraire principal.ip , time_unix , operation et user . |
logevent.timestamp |
security_result.detection_fields.value |
Imbriquée dans target.logEvents.logEvents , mappée avec la clé "timestamp". |
object |
target_data.resource.name ou principal.resource.product_object_id |
Mappé directement à partir du champ object extrait. |
operation |
sr.summary |
Mappé directement à partir du champ operation extrait. |
port |
principal.port |
Mappé directement à partir du champ port extrait. |
query_id |
principal.process.pid |
Mappé directement à partir du champ query_id extrait. |
response |
security_result.outcomes.value |
Mappé directement à partir du champ response extrait. |
service |
principal.application |
Mappé directement à partir du champ service dans le journal brut. |
src_ip |
principal.ip |
Extrait de logevent.message dans la structure target.logEvents.logEvents imbriquée. |
target.logEvents.logGroup |
target.resource.attribute.labels.value |
Mappé avec la clé "logGroup". |
target.logEvents.logStream |
target.resource.attribute.labels.value |
Mappé avec la clé "logStream". |
target.logEvents.messageType |
target.resource.attribute.labels.value |
Mappé avec la clé "messageType". |
target.logEvents.owner |
target.resource.attribute.labels.value |
Mappé avec la clé "owner". |
timestamp_epoch |
metadata.event_timestamp |
Converti en metadata.event_timestamp à l'aide du filtre date . |
user |
principal.user.userid |
Extrait de logevent.message dans la structure target.logEvents.logEvents imbriquée. |
userid |
principal.user.userid |
Mappé directement à partir du champ userid extrait. |
Vous avez encore besoin d'aide ? Obtenez des réponses de membres de la communauté et de professionnels Google SecOps.