S3 버킷에 액세스할 수 있는 대상과 대상, 위치를 기록하려면 어떻게 해야 합니까?

S3 버킷에 액세스할 수 있는 대상과 대상, 위치를 기록하려면 어떻게 해야 합니까?

최근에 일부 IE 연결이 내 버킷에 액세스할 수 있다는 내용의 이메일을 받았습니다.

eu-central-1|media.myapp | REST.GET.OBJECT|TLSv1|9|[Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/4.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NE
eu-central-1|media.myapp | REST.GET.OBJECT|TLSv1|54|[Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.0; SLCC1; .NET CLR 2.0.50727; Media Center PC 5.0; InfoPath.1; .NET CLR 3.5.30729; .NET CLR 3.0.30618; .NET4.0C;

하지만 문제의 원인을 진단하기 위해 이러한 장치가 무엇인지, 어떤 IP가 사용되는지 알고 싶습니다(문서가 없는 레거시 인프라). IP 및 MAC이 내 버킷에서 항목을 수신하는 IAM 계정 및 장치에 대한 액세스 로그를 유지하는 방법이 있습니까?

답변1

귀하의 질문을 제대로 이해했는지 잘 모르겠지만 특정 사용자 또는 IP만 S3 버킷에 액세스하도록 허용하는 방법을 묻는 경우(공용 인터넷에서 이야기하고 있다고 가정합니다) 여기에 있습니다. 예를 들어 버킷에 액세스하려는 퍼블릭 IP 주소만 허용하는 데 사용한 버킷 정책 블록은 다음과 같습니다.

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "IPAllow",
            "Effect": "Allow",
            "Principal": "*",
            "Action": "s3:GetObject",
            "Resource": "arn:aws:s3:::<bucket name>/*",
            "Condition": {
                "IpAddress": {
                    "aws:SourceIp": [
                        "<first IP/32",
                        "<second IP>/32",
                        "<third IP>/32",
                        "<fourth IP>/32"
                    ]
                }
            }
        }
    ]
}

바라건대, 그것이 적어도 올바른 방향을 가리킬 수 있기를 바랍니다.

답변2

Amazon S3 사용 설명서에서는 요청 로깅에 대해 설명합니다.

서버 액세스 로깅은 버킷에 대한 요청에 대한 자세한 기록을 제공합니다. 서버 액세스 로그는 많은 애플리케이션에 유용합니다. 예를 들어, 액세스 로그 정보는 보안 및 액세스 감사에 유용할 수 있습니다.

https://docs.aws.amazon.com/AmazonS3/latest/userguide/ServerLogs.html

MAC 주소는 인터넷을 통해 전송되지 않으므로 학습할 수 없지만 장치 IP 주소(또는 장치가 NAT 라우터 뒤에 있는 경우 공용 NAT 주소)는 캡처됩니다. NAT 라우터 뒤의 LAN에서 특정 장치를 식별하려면 장치 및/또는 라우터에 대한 액세스가 필요합니다.

로그는 객체에 액세스하는 데 사용된 IAM 자격 증명도 캡처하며(있는 경우) 로그에 캡처됩니다.

이 로그에서 발견된 것 외에 AWS 측에서 디바이스에 대해 더 이상 알 수 있는 내용은 없습니다.

아마도 귀하가 언급한 이메일은 해당 장치가 AWS가 곧 지원을 중단할 TLSv1을 사용하고 있다는 사실과 관련이 있을 것입니다.

TLS(전송 계층 보안)에 대한 발전하는 기술 및 규제 표준에 대응하기 위해 모든 AWS 서비스 API 엔드포인트에 대한 TLS 구성을 최소 TLS 1.2 버전으로 업데이트할 예정입니다. 이 업데이트는 2023년 6월 28일까지 모든 AWS 리전의 모든 AWS API에서 TLS 버전 1.0 및 1.1을 더 이상 사용할 수 없음을 의미합니다.

https://aws.amazon.com/blogs/security/tls-1-2-required-for-aws-endpoints/

이제 API 변경 사항이 적용되기 전에 적절한 TLS 버전을 사용하여 이전 버전의 TLS를 차단할 수 있습니다.정책 거부. 이는 잠재적으로 문제 보고서에서 장치를 식별하는 데 도움이 될 수 있습니다. 지금은 정기적으로 정책을 추가하고 제거하면 AWS에서 API 변경 사항을 푸시할 때 발생하는 것과 같은 영구적인 중단을 초래하지 않고 장치를 식별할 수 있습니다. 거부된 요청은 S3에 의해 계속 기록되지만 HTTP 403 응답과 오류가 발생합니다 AccessDenied.

관련 정보