
最近我收到一封電子郵件,告訴我某些 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
.