S3 Security

S3 ์˜ ๋ณด์•ˆ์— ๋Œ€ํ•ด์„œ ์•Œ์•„๋ณด์ž.

S3 ๋ณด์•ˆ์˜ ์ข…๋ฅ˜

  • ์‚ฌ์šฉ์ž ๊ธฐ๋ฐ˜
    • IAM ์ •์ฑ… - IAM ์ฝ˜์†”๋กœ๋ถ€ํ„ฐ ํŠน์ • ์œ ์ €์—๊ฒŒ๋งŒ API ํ˜ธ์ถœ์„ ํ—ˆ์šฉํ•œ๋‹ค.
    • IAM ์‚ฌ์šฉ์ž๋Š” IAM ์ •์ฑ…์„ ๊ฐ€์ง€๊ณ  ์žˆ๊ณ , ์ด ์ •์ฑ…์€ ์–ด๋–ค API ํ˜ธ์ถœ์ด ํ—ˆ์šฉ๋ ์ง€๋ฅผ ๊ฒฐ์ •ํ•œ๋‹ค.
    • ์œ ์ €๊ฐ€ IAM w์ •์ฑ…์„ ํ†ตํ•ด Amazon S3 ๋ฒ„ํ‚ท์œผ๋กœ์˜ ์•ก์„ธ์Šค ๋ฐฉ๋ฒ•์„ ์Šน์ธ๋ฐ›๊ฒŒ ๋˜๋ฉด ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•ด์ง„๋‹ค.
  • ๋ฆฌ์†Œ์Šค ๊ธฐ๋ฐ˜
    • ๋ฒ„ํ‚ท ์ •์ฑ… - S3 ์ฝ˜์†”์—์„œ ์„ค์ • ๊ฐ€๋Šฅํ•œ ๋ฒ„ํ‚ท ์ „๋ฐ˜์˜ ๊ทœ์น™
      • S3 ๋ฒ„ํ‚ท์—์„œ ๋ณด์•ˆ ์ฃผ์ฒด๊ฐ€ ๋ฌด์—‡์„ ํ•  ์ˆ˜ ์žˆ๋Š”์ง€ ์—†๋Š”์ง€ ๊ฒฐ์ •ํ•˜๋Š” ์ •์ฑ…
      • ์ด๋ฅผ ํ†ตํ•ด S3 ๋ฒ„ํ‚ท์œผ๋กœ์˜ ๊ต์ฐจ ๊ณ„์ • ์•ก์„ธ์Šค๊ฐ€ ํ™œ์„ฑํ™”๋œ๋‹ค.
    • ์„ธ๋ถ„ํ™”๋œ ๋ฐฉ์‹์˜ ACL ๋ฐฉ์‹ (Access Control List)
      • ๊ฐ์ฒด ๋ ˆ๋ฒจ์—์„œ์˜ ์•ก์„ธ์Šค ๊ทœ์น™ ์„ค์ •
      • ๋ฒ„ํ‚ท ACL ๋ฐฉ์‹์€ ๋”์šฑ ๋“œ๋ฌผ๋‹ค.
  • ์ฐธ๊ณ  : IAM ์ •์ฑ…์— ๋”ฐ๋ผ S3 ๊ฐ์ฒด์— ์ ‘๊ทผ ๊ฐ€๋Šฅ
    • ์œ ์ € ๊ถŒํ•œ์ด ํ—ˆ์šฉ๋˜์žˆ๊ฑฐ๋‚˜, ๋˜๋Š” ๋ฆฌ์†Œ์Šค ์ •์ฑ…์ด ํ—ˆ์šฉ๋˜์žˆ๊ฑฐ๋‚˜
    • ๊ทธ๋ฆฌ๊ณ , ๋ช…์‹œ์  ๊ฑฐ๋ถ€๊ฐ€ ์—†์–ด์•ผ ํ•œ๋‹ค.

S3 Bucket Policies

S3 ๋ฒ„ํ‚ท ์ •์ฑ… ์‚ดํŽด๋ณด๊ธฐ

  • Json Based policies

    • Json ๊ธฐ๋ฐ˜์˜ ์ •์ฑ…์ด๋‹ค.

    • {
        "Version": "2012-10-17",
        "Statement": [
          {
            "Sid": "PublicRead",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
              "s3:GetObject"
            ],
            "Resource": [
              "arn:aws:s3:::examplebucket/*"
            ]
          }
        ]
      }
      
    • ๊ตฌ์„ฑ

      • Resource: ๋ฒ„ํ‚ท๊ณผ ๊ฐ์ฒด
      • Action: API ๋ฅผ ํ—ˆ์šฉ/๋ถˆํ—ˆ ์„ค์ •
      • Effect: ํ—ˆ์šฉ/๋ถˆํ—ˆ
      • Principal: ํ•ด๋‹น S3๋ฒ„ํ‚ท์˜ ์ •์ฑ…์„ ์ ์šฉํ•  ๊ณ„์ • or ์œ ์ €
    • S3 ๋ฒ„ํ‚ท์˜ ์–ด๋–ค ๊ฐ์ฒด์—๋„ ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค๋Š” ์˜๋ฏธ์ด๋‹ค.
  • S3 Bucket ์ •์ฑ…์„ ์‚ฌ์šฉํ•˜๋Š” ์˜ˆ์‹œ (UseCase)

    • Bucket์— ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์Šน์ธํ•˜๊ฑฐ๋‚˜
    • ์—…๋กœ๋“œ ์‹œ์ ์— ๊ฐ์ฒด๋ฅผ ์•”ํ˜ธํ™” ์‹œํ‚ฌ ๊ฒฝ์šฐ
    • ๊ต์ฐจ ๊ณ„์ • S3 ๋ฒ„ํ‚ท ์ •์ฑ…์„ ์‚ฌ์šฉํ•ด์„œ ๋‹ค๋ฅธ ๊ณ„์ •์— ์•ก์„ธ์Šค ๊ถŒํ•œ์„ ์ฃผ๋Š” ๊ฒฝ์šฐ

Bucket settings for Block Public Access

๋ธ”๋ก ํผ๋ธ”๋ฆญ ์•ก์„ธ์Šค ๋ฒ„ํ‚ท ์„ค์ •

๊ณ„์ •์— ์ œํ•œ์ด ์žˆ์„ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋œ๋‹ค.

  • ๊ฐ์ฒด๊ฐ€ ํผ๋ธ”๋ฆญํ™” ๋˜๋Š” ๊ฒƒ์„ ์ฐจ๋‹จํ•˜๋Š” ์ƒˆ๋กœ์šด ์„ค์ •์ด๋‹ค.
  • 4๊ฐ€์ง€ ์ข…๋ฅ˜์˜ Public Access ์ฐจ๋‹จ ์„ค์ •
    1. ์ƒˆ ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก (New access control lists) ACLs
    2. ๋ชจ๋“  ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก (Any accss control lists) ACLs
    3. ์ƒˆ๋กœ์šด ํผ๋ธ”๋ฆญ ๋ฒ„ํ‚ท
    4. ์•ก์„ธ์Šค ํฌ์ธํŠธ ์ •์ฑ…
  • ๊ธฐ์—… ๋ฐ์ดํ„ฐ ์œ ์ถœ์„ ์œ„ํ•ด์„œ ๋งŒ๋“ค์–ด์กŒ๋‹ค.
  • ๋ฒ„ํ‚ท์„ ํผ๋ธ”๋ฆญ์œผ๋กœ ๋‘์ง€์•Š์œผ๋ ค๋ฉด ์ด ์„ค์ •์„ ์ผœ๋ฉด ๋œ๋‹ค.
  • ๊ณ„์ • ๋ ˆ๋ฒจ์—์„œ ์„ค์ •ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋ณด์ž

S3 Security - Other

  • Networking
    • VPC ์—”๋“œํฌ์ธํŠธ๋กœ S3์— ๋น„๊ณต๊ฐœ ์•ก์„ธ์Šค๊ฐ€ ๊ฐ€๋Šฅ
    • ์ฆ‰, VPC์— EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์žˆ๊ณ  ์ธํ„ฐ๋„ท ์•ก์„ธ์Šค๋Š” ์—†๋Š” ๊ฒฝ์šฐ
    • VPC ์—”๋“œํฌ์ธํŠธ๋ฅผ ํ†ตํ•ด ๋น„๊ณต๊ฐœ๋กœ S3์— ์ ‘๊ทผ์ด ๊ฐ€๋Šฅํ•˜๋‹ค.
  • Logging and Audit (๋กœ๊น… ๋ฐ ๊ฐ์‚ฌ)
    • S3 ์•ก์„ธ์Šค ๋กœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค๋ฅธ S3 ๋ฒ„ํ‚ท์— ํ•ด๋‹น ๋กœ๊ทธ๊ฐ€ ์ €์žฅ๋œ๋‹ค.
    • API ํ˜ธ์ถœ์€ CloudTrail ๊ณ„์ •์— API ํ˜ธ์ถœ์„ ๋กœ๊น…ํ•  ์ˆ˜ ์žˆ๋Š” ์„œ๋น„์Šค์—๋„ ๋กœ๊น…์ด ๊ฐ€๋Šฅ
  • User Security (์‚ฌ์šฉ์ž ๋ณด์•ˆ)
    • MFA ์‚ญ์ œ ํ™œ์„ฑํ™”
      • ํŠน์ • ๋ฒ„์ „ ๊ฐ์ฒด๋ฅผ ๋ฒ„ํ‚ท์—์„œ ์‚ญ์ œํ•˜๊ณ  ์‹ถ์€ ๊ฒฝ์šฐ MFA ์‚ญ์ œ ํ™œ์„ฑํ™”
      • MFA ๋กœ ์ธ์ฆ์ด ๋˜์–ด์•ผ๋งŒ ๊ฐ์ฒด๋ฅผ ์‚ญ์ œ ํ•  ์ˆ˜ ์žˆ๊ฒŒ ๋œ๋‹ค.
    • ์‚ฌ์ „ ์„œ๋ช…๋œ URL
      • AWS ์ž๊ฒฉ ์ฆ๋ช…์œผ๋กœ ์„œ๋ช…๋œ URL
      • ํ•œ์ •๋œ ์‹œ๊ฐ„ ๋™์•ˆ๋งŒ ์œ ํšจํ•˜๊ณ , URL ์ด ์•„์ฃผ ๊ธธ๋‹ค.
      • ์‚ฌ์šฉ ์˜ˆ์‹œ
        • ์œ ์ €๊ฐ€ ์„œ๋น„์Šค๋กœ๋ถ€ํ„ฐ ํ”„๋ฆฌ๋ฏธ์—„ ์˜์ƒ์„ ๊ตฌ๋งคํ•˜์—ฌ, ๋‹ค์šด๋กœ๋“œ ํ•˜๋Š” ๊ฒฝ์šฐ ๋“ฑ

์ œํ•œ๋œ ์‹œ๊ฐ„ ๋‚ด์— ํŠน์ • ์œ ์ €๊ฐ€ ํŠน์ • ํŒŒ์ผ์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉํ•˜๋Š” ๋ณด์•ˆ์€ ์‚ฌ์ „ ์„œ๋ช…๋œ URL ์„ ์ƒ๊ฐํ•˜๋ฉด ๋œ๋‹ค.

ํƒœ๊ทธ: , ,

์นดํ…Œ๊ณ ๋ฆฌ:

์—…๋ฐ์ดํŠธ:

๋Œ“๊ธ€๋‚จ๊ธฐ๊ธฐ