감사 추적 - AWS 규범적 지침

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

감사 추적

감사 추적 (또는 감사 로그) 은 AWS 계정의 이벤트에 대한 보안 관련 연대순 기록을 제공합니다. 여기에는 데이터베이스 또는 클라우드 환경에 영향을 미친 일련의 활동에 대한 문서화된 증거를 제공하는 Amazon RDS 이벤트가 포함됩니다. MySQL 또는 MariaDB용 Amazon RDS에서 감사 추적 사용에는 다음이 포함됩니다.

  • DB 인스턴스 감사 로그 모니터링

  • 아마존 RDS API 호출 모니터링AWS CloudTrail

Amazon RDS DB 인스턴스의 경우 일반적으로 감사 목표에는 다음이 포함됩니다.

  • 다음에 대한 책임 강화:

    • 매개 변수 또는 보안 구성에 대한 수정

    • 데이터베이스 스키마, 테이블 또는 행에서 수행되는 작업 또는 특정 콘텐츠에 영향을 미치는 작업

  • 침입 탐지 및 조사

  • 의심스러운 활동 감지 및 조사

  • 권한 부여 문제 탐지 (예: 일반 또는 권한 있는 사용자의 액세스 권한 침해 식별)

데이터베이스 감사 기록은 다음과 같은 일반적인 질문에 대한 답을 제시합니다.데이터베이스 내의 민감한 데이터를 보거나 수정한 사람은 누구입니까? 언제 이런 일이 있었나요? 특정 사용자는 어디에서 데이터에 액세스했나요? 권한이 있는 사용자가 무제한 액세스 권한을 남용했나요?

MySQL과 MariaDB 모두 MariaDB 감사 플러그인을 사용하여 DB 인스턴스 감사 추적 기능을 구현합니다. 이 플러그인은 데이터베이스에 로그온한 사용자 및 데이터베이스에서 실행되는 쿼리와 같은 데이터베이스 활동을 기록합니다. 데이터베이스 활동 기록은 로그 파일에 저장됩니다. 감사 로그에 액세스하려면 DB 인스턴스가 MARIADB_AUDIT_PLUGIN 옵션과 함께 사용자 지정 옵션 그룹을 사용해야 합니다. 자세한 내용은 을 참조하십시오.MySQL을 위한 MariaDB 감사 플러그인 지원아마존 RDS 설명서에서 확인할 수 있습니다. 감사 로그의 레코드는 플러그인에서 정의한 특정 형식으로 저장됩니다. 감사 로그 형식에 대한 자세한 내용은 에서 확인할 수 있습니다.MariaDB 서버 설명서.

더AWS 클라우드당신을 위한 감사 추적AWS계정은 에서 제공합니다.AWS CloudTrail서비스. CloudTrailAmazon RDS에 대한 API 호출을 이벤트로 캡처합니다. 모든 아마존 RDS 작업이 기록됩니다. CloudTrailAmazon RDS에서 사용자, 역할 또는 다른 사람이 수행한 작업에 대한 기록을 제공합니다.AWS서비스. 이벤트에는 에서 취한 조치가 포함됩니다.AWS관리 콘솔,AWS CLI, 및AWSSDK 및 API.

일반적인 감사 시나리오에서는 다음을 결합해야 할 수 있습니다.AWS CloudTrail데이터베이스 감사 로그 및 Amazon RDS 이벤트 모니터링이 포함된 트레일 예를 들어, Amazon RDS DB 인스턴스의 데이터베이스 파라미터가 있는 시나리오가 있을 수 있습니다 (예:database-1) 가 수정되었습니다. 귀하의 임무는 누가 수정을 했는지, 무엇이 변경되었는지, 언제 변경되었는지 확인하는 것입니다.

작업을 완료하려면 다음 단계를 따르십시오.

  1. 데이터베이스 인스턴스에 발생한 Amazon RDS 이벤트를 나열합니다.database-1카테고리에 이벤트가 있는지 확인하십시오.configuration change메시지가 있는Finished 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. DB 인스턴스에서 사용 중인 DB 파라미터 그룹을 식별하십시오.

    $ 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. 사용AWS CLI검색하려면CloudTrail행사다음과 같은 지역에서database-11단계에서 발견된 Amazon RDS 이벤트 전후의 기간에 배포됩니다.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" }

더CloudTrail이벤트는 다음을 보여줍니다User1역할 포함Role1...에서AWS계정 111122223333이 DB 파라미터 그룹을 수정했습니다.mariadb10-6-test, DB 인스턴스에서 사용됨database-1...에2022-12-01 at 09:18:19 h. 두 개의 매개변수가 수정되어 다음 값으로 설정되었습니다.

  • innodb_log_buffer_size = 8388612

  • innodb_write_io_threads = 8

추가CloudTrail과CloudWatch로그 기능

다음을 통해 지난 90일 동안의 운영 및 보안 사고 문제를 해결할 수 있습니다.이벤트 기록에CloudTrail콘솔. 보존 기간을 연장하고 추가 쿼리 기능을 활용하려면 다음을 사용할 수 있습니다.AWS CloudTrail호수. 와AWS CloudTrailLake에서는 이벤트 데이터를 이벤트 데이터 저장소에 최대 7년 동안 보관할 수 있습니다. 또한 이 서비스는 에서 간단한 키-값 조회가 제공하는 보기보다 더 깊고 사용자 지정 가능한 이벤트 보기를 제공하는 복잡한 SQL 쿼리를 지원합니다.이벤트 기록.

감사 추적을 모니터링하고, 경보를 설정하고, 특정 활동이 발생할 때 알림을 받으려면구성하십시오CloudTrail트레일 기록을 다음 주소로 보내려면CloudWatch로그. 트레일 기록이 다음과 같이 저장된 후CloudWatch로그, 지표 필터를 정의하여 용어, 구문 또는 값과 일치하도록 로그 이벤트를 평가하고 지표 필터에 지표를 할당할 수 있습니다. 또한 만들 수 있습니다.CloudWatch지정한 임계값 및 기간에 따라 생성되는 경보 예를 들어 책임 있는 팀이 적절한 조치를 취할 수 있도록 알림을 보내는 경보를 구성할 수 있습니다. 경보에 대한 응답으로 작업을 자동 수행하도록 CloudWatch를 구성할 수도 있습니다.