如何記錄哪些內容、誰可以存取我的 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 位址,因為這些位址永遠不會透過 Internet 傳輸,但裝置 IP 位址(如果裝置位於 NAT 路由器後面,則為公用 NAT 位址)將會被擷取。要識別 NAT 路由器後面的 LAN 上的特定設備,需要存取這些設備和/或路由器。

日誌還將捕獲用於存取物件的 IAM 憑證(如果有),並將在日誌中捕獲。

除了這些日誌中的內容之外,無法從 AWS 方面進一步了解這些裝置。

據推測,您提到的電子郵件與這些裝置使用 TLSv1 的事實有關,而 AWS 很快就會停止支援該協定。

為了回應不斷發展的傳輸層安全性 (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拒絕政策。這可能會幫助您從故障報告中識別設備。現在,透過定期新增和刪除策略,您也許能夠識別設備,而不會導致永久中斷,就像 AWS 推出 API 變更時會發生的情況一樣。 S3 仍會記錄被拒絕的請求,但會遇到 HTTP 403 回應和AccessDenied.

相關內容