5. SK Shieldus Rookies 19๊ธฐ๐Ÿคํด๋ผ์šฐ๋“œ๊ธฐ๋ฐ˜ ์ทจ์•ฝ์  ์ง„๋‹จ ๋ฐ ๋Œ€์‘ ์‹ค๋ฌด(GuardDuty, SNS, WAF, Network Firewall )

์ŸŒ์ฅฌยท2024๋…„ 5์›” 15์ผ
0
post-thumbnail

๐Ÿ“Œ Amazon GuardDuty

https://aws.amazon.com/ko/guardduty/

  • Amazon GuardDuty๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์œ„ํ˜‘ ํƒ์ง€ ์„œ๋น„์Šค๋กœ, AWS ๊ณ„์ • ๋ฐ ์›Œํฌ๋กœ๋“œ์—์„œ์˜ ์•…์˜์  ํ™œ๋™์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ , ์ƒ์„ธํ•œ ๋ณด์•ˆ ์กฐ์‚ฌ ๊ฒฐ๊ณผ๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๊ฐ€์‹œ์„ฑ ๋ฐ ํ•ด๊ฒฐ์„ ์ด‰์ง„ํ•ฉ๋‹ˆ๋‹ค.

  • ์ด ์„œ๋น„์Šค๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ํ™œ์šฉํ•˜์—ฌ ์•…์˜์  ํ™œ๋™์„ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค:

    • VPC Flow Logs: ๊ฐ€์ƒ ์‚ฌ์„ค ํด๋ผ์šฐ๋“œ(VPC) ๋‚ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์•…์˜์ ์ธ ๋„คํŠธ์›Œํฌ ํ™œ๋™์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

    • AWS CloudTrail ๊ด€๋ฆฌ ์ด๋ฒคํŠธ ๋กœ๊ทธ: AWS ๊ณ„์ •์˜ ๊ด€๋ฆฌ ์ž‘์—… ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๊ถŒํ•œ ์ƒ์Šน, ๋…ธ์ถœ๋œ ์ž๊ฒฉ ์ฆ๋ช… ๋“ฑ์˜ ์•…์˜์ ์ธ ํ™œ๋™์„ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค.

    • AWS CloudTrail S3 ๋ฐ์ดํ„ฐ ์ด๋ฒคํŠธ ๋กœ๊ทธ: Amazon S3์—์„œ์˜ ๋ฐ์ดํ„ฐ ์•ก์„ธ์Šค ์ด๋ฒคํŠธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ๋ฐ์ดํ„ฐ ์œ ์ถœ ๋ฐ ๋ฌด๋‹จ ์•ก์„ธ์Šค๋ฅผ ๊ฐ์ง€ํ•ฉ๋‹ˆ๋‹ค.

    • DNS ์ฟผ๋ฆฌ ๋กœ๊ทธ: DNS ์„œ๋ฒ„์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ฟผ๋ฆฌ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์•…์˜์ ์ธ ๋„๋ฉ”์ธ ๋ฐ IP ์ฃผ์†Œ๋ฅผ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค.

    • Kubernetes(EKS) ๊ฐ์‚ฌ ๋กœ๊ทธ: Kubernetes ํด๋Ÿฌ์Šคํ„ฐ์—์„œ์˜ ๊ฐ์‚ฌ ๋กœ๊ทธ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์—์„œ์˜ ์•…์˜์ ์ธ ํ™œ๋™์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค.

    • Elastic Block Storage(EBS) ๋ณผ๋ฅจ ๋ฐ์ดํ„ฐ: EBS ๋ณผ๋ฅจ์˜ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜์—ฌ ์•…์„ฑ ํŒŒ์ผ ๋˜๋Š” ๋ฉ€์›จ์–ด๋ฅผ ํƒ์ง€ํ•ฉ๋‹ˆ๋‹ค.

  • Amazon GuardDuty๋Š” ์ด๋Ÿฌํ•œ ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ ์†Œ์Šค๋ฅผ ๋ถ„์„ํ•˜์—ฌ AWS ํ™˜๊ฒฝ ๋‚ด์—์„œ ์˜ˆ๊ธฐ์น˜ ์•Š์€, ์ž ์žฌ์ ์œผ๋กœ ๋ฌด๋‹จ ๋ฐ ์•…์˜์ ์ธ ํ™œ๋™์„ ์‹๋ณ„ํ•ฉ๋‹ˆ๋‹ค. ๊ถŒํ•œ ์ƒ์Šน, ๋…ธ์ถœ๋œ ์ž๊ฒฉ ์ฆ๋ช…, ์•…์˜์ ์ธ IP ์ฃผ์†Œ, ๋ฉ€์›จ์–ด, ๋น„์ •์ƒ์ ์ธ ๋กœ๊ทธ์ธ ์ด๋ฒคํŠธ ํŒจํ„ด ๋“ฑ์„ ๊ฐ์ง€ํ•˜์—ฌ ๋ณด์•ˆ ์œ„ํ˜‘์œผ๋กœ๋ถ€ํ„ฐ AWS ํ™˜๊ฒฝ์„ ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.



๐Ÿ“Œ Amazon SNS(Simple Notification Service)

https://aws.amazon.com/ko/sns/

  • Amazon SNS๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ๊ด€๋ฆฌํ˜• ์„œ๋น„์Šค๋กœ, ๊ฒŒ์‹œ์ž(๋˜๋Š” ์ƒ์‚ฐ์ž)์—์„œ ๊ตฌ๋…์ž(๋˜๋Š” ์†Œ๋น„์ž)๋กœ ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•˜๋Š”๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค. ๊ฐ„๋‹จํ•˜๊ฒŒ ๋งํ•˜๋ฉด, ์ด ์„œ๋น„์Šค๋Š” ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ  ๋ฐ›๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • ๊ฒŒ์‹œ์ž๋Š” Amazon SNS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ง€์›๋˜๋Š” ๋‹ค์–‘ํ•œ ์—”๋“œํฌ์ธํŠธ ์œ ํ˜•์„ ํ†ตํ•ด ๋ฉ”์‹œ์ง€๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฉ”์‹œ์ง€๋Š” ๋…ผ๋ฆฌ์  ์•ก์„ธ์Šค ์ง€์ ์ด์ž ์ปค๋ฎค๋‹ˆ์ผ€์ด์…˜ ์ฑ„๋„์ธ "์ฃผ์ œ(Topic)"์— ์ „์†ก๋ฉ๋‹ˆ๋‹ค. ์ด ์ฃผ์ œ๋Š” ์—ฌ๋Ÿฌ ๊ตฌ๋…์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ณณ์ž…๋‹ˆ๋‹ค.

  • Amazon SNS๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์—”๋“œํฌ์ธํŠธ๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” Amazon Kinesis Data Firehose, HTTPS, Amazon Lambda, AWS Simple Queue Service(SQS), SMS, Email, Mobile Push(๋ชจ๋ฐ”์ผ ํ‘ธ์‹œ ๋ฉ”์‹œ์ง€) ๋“ฑ์„ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ๋ชจ๋ฐ”์ผ ์•ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ํ‘ธ์‹œ ์•Œ๋ฆผ์„ ๋ณด๋‚ด๊ฑฐ๋‚˜, ์ด๋ฉ”์ผ๋กœ ์•Œ๋ฆผ์„ ์ „์†กํ•˜๊ฑฐ๋‚˜, ์„œ๋น„์Šค ๊ฐ„์— ๋ฐ์ดํ„ฐ๋ฅผ ์ „์†กํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ„๋‹จํžˆ ๋งํ•˜๋ฉด, Amazon SNS๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ฒŒ์‹œ์ž๊ฐ€ ๋ฉ”์‹œ์ง€๋ฅผ ๋ณด๋‚ด๊ณ , ํ•ด๋‹น ๋ฉ”์‹œ์ง€๋ฅผ ๋ฐ›์„ ๊ตฌ๋…์ž๋ฅผ ์„ ํƒํ•˜์—ฌ ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์œผ๋กœ ํ†ต์‹ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์‹ ์†ํ•˜๊ณ  ์œ ์—ฐํ•˜๊ฒŒ ๋ฉ”์‹œ์ง€๋ฅผ ์ „๋‹ฌํ•˜๊ณ  ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๐ŸŒŸ ์‹ค์Šต: ํด๋ผ์šฐ๋“œ ์„œ๋น„์Šค ๋‚ด ์•…์„ฑ ํ–‰์œ„๋ฅผ ํƒ์ง€ํ•ด์„œ ์•Œ๋ฆผ

1) GuardDuty ํ™œ์„ฑํ™”


2) SNS ์ฃผ์ œ ๋ฐ ๊ตฌ๋…์„ ์ƒ์„ฑ

(1) ์ฃผ์ œ ์ƒ์„ฑ

(2) ๊ตฌ๋… ์ƒ์„ฑ

(3) ์ด๋ฉ”์ผ ๊ตฌ๋… ์Šน์ธ


3) EventBridge ๊ทœ์น™์„ ์ƒ์„ฑ

EventBridge ๊ทœ์น™

  • AWS์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ๋ฅผ ๊ฐ์‹œํ•˜๊ณ , ํŠน์ •ํ•œ ์กฐ๊ฑด์ด ์ถฉ์กฑ๋˜์—ˆ์„ ๋•Œ ์–ด๋–ค ์ž‘์—…์„ ์ˆ˜ํ–‰ํ• ์ง€ ์ •ํ•˜๋Š” ๊ฒƒ.

  • ์ด๋ฒคํŠธ๋ž€ AWS์—์„œ ์ผ์–ด๋‚˜๋Š” ์ผ๋“ค์„ ์˜๋ฏธ. ์˜ˆ๋ฅผ ๋“ค์–ด, ํŒŒ์ผ์ด S3์— ์—…๋กœ๋“œ๋˜๊ฑฐ๋‚˜, EC2 ์ธ์Šคํ„ด์Šค๊ฐ€ ์‹œ์ž‘๋˜๋Š” ๋“ฑ์˜ ์ƒํ™ฉ.

  • ๊ทœ์น™์„ ์„ค์ •ํ•˜๋ฉด, ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ–ˆ์„ ๋•Œ ์‹œ์Šคํ…œ์ด ์ž๋™์œผ๋กœ ํŠน์ •ํ•œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ํ•  ์ˆ˜ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, S3์— ํŒŒ์ผ์ด ์—…๋กœ๋“œ๋˜๋ฉด ํŠน์ • Lambda ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋„๋ก ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฒคํŠธ์— ๋”ฐ๋ผ ํ•„์š”ํ•œ ์ž‘์—…์„ ์ž๋™์œผ๋กœ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค.

๋‚˜๋จธ์ง€ ์„ค์ •์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•˜๊ณ , ์„ค์ • ํ™•์ธ ํ›„ ๊ทœ์น™์„ ์ƒ์„ฑ


4) GuardDuty ๋™์ž‘ ํ™•์ธ

(1) ์ƒ˜ํ”Œ ๊ฒฐ๊ณผ ์ž‘์„ฑ

(2) ๊ฒฐ๊ณผ ํ™•์ธ

(3) ์ด๋ฉ”์ผ ์ˆ˜์‹  ํ™•์ธ


5) ๋ฆฌ์†Œ์Šค ์ •๋ฆฌ

(1) GuardDuty ๋น„ํ™œ์„ฑํ™”

(2) EventBridge ๊ทœ์น™ ์‚ญ์ œ

(3) SNS ๊ตฌ๋… ์‚ญ์ œ ํ›„ ์ฃผ์ œ ์‚ญ์ œ

aws sns ๋ฆฌ์†Œ์Šค ์ •๋ฆฌ์‹œ ๊ตฌ๋…์„ ๋จผ์ € ์‚ญ์ œํ•˜๊ณ  ์ฃผ์ œ๋ฅผ ์‚ญ์ œํ•ด์•ผ
ํ•œ๋‹ค. ์ž˜๋ชป ์‚ญ์ œํ–ˆ์„ ๊ฒฝ์šฐ ๊ตฌ๋…์ด '์‚ญ์ œ๋จ' ์ƒํƒœ๋กœ ๋ฐ”๋€Œ๋Š”๋ฐ 3์ผ์ด
์ง€๋‚˜๋ฉด ์ž๋™์œผ๋กœ ์‚ญ์ œ๋œ๋‹ค.



๐Ÿ“Œ AWS WAF(Web Application Firewall)

https://aws.amazon.com/ko/waf/

AWS WAF(Web Application Firewall)๋Š” AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฐฉํ™”๋ฒฝ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์›น ์–ดํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ ์ „๋‹ฌ๋˜๋Š” HTTP(S) ์š”์ฒญ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ Amazon CloudFront distribution, Amazon API Gateway Rest API, Application Load Balance, AWS AppSync GraphQL API, Amazon Cognito User pool๊ณผ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ฆฌ์†Œ์Šค๋ฅผ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

WAF๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค:

  • ์•ก์„ธ์Šค ์ œ์–ด: ์š”์ฒญ์ด ์‹œ์ž‘๋œ IP ์ฃผ์†Œ๋‚˜ ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด ๊ฐ’๊ณผ ๊ฐ™์€ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ณดํ˜ธ ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์•ก์„ธ์Šค๋ฅผ ์ œ์–ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ๋Œ€ํ•œ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์•…์˜์ ์ธ ํŠธ๋ž˜ํ”ฝ์„ ํ•„ํ„ฐ๋งํ•˜์—ฌ ์ฐจ๋‹จํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
    โ†’ ์š”์ฒญ์ด ์‹œ์ž‘๋œ IP ์ฃผ์†Œ ๋˜๋Š” ์ฟผ๋ฆฌ ๋ฌธ์ž์—ด ๊ฐ’๊ณผ ๊ฐ™์ด ์ง€์ •ํ•œ ๊ธฐ์ค€์— ๋”ฐ๋ผ ๋ณดํ˜ธ ๋ฆฌ์†Œ์Šค์™€ ์—ฐ๊ฒฐ๋œ ์„œ๋น„์Šค๋Š” ์š”์ฒญ๋œ ์ฝ˜ํ…์ธ  ๋˜๋Š” HTTP 403 Status Code(Forbidden)๊ณผ ๊ฐ™์€ ์ง€์ •๋œ ์‘๋‹ต์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทœ์น™ ๊ธฐ๋ฐ˜ ๋ณดํ˜ธ: ์›น ์•ก์„ธ์Šค ์ œ์–ด ๋ชฉ๋ก(ACL)์„ ์ƒ์„ฑํ•˜๊ณ  ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜์—ฌ ๋ณดํ˜ธ ์ „๋žต์„ ์ •์˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ๊ทœ์น™์€ ์›น ์š”์ฒญ์„ ๊ฒ€์‚ฌํ•˜๊ณ , ์ผ์น˜ํ•˜๋Š” ์š”์ฒญ์— ๋Œ€ํ•ด ์ง€์ •๋œ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, SQL ์ธ์ ์…˜ ๊ณต๊ฒฉ์„ ๋ฐฉ์–ดํ•˜๋Š” ๊ทœ์น™์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์šฉ๋Ÿ‰ ์กฐ์ •: ์›น ACL์˜ ๊ทœ์น™ ์šฉ๋Ÿ‰์€ ์ตœ๋Œ€ 1500์ด๋ฉฐ, ํ•„์š”ํ•œ ๊ฒฝ์šฐ AWS ์ง€์›์„ผํ„ฐ๋ฅผ ํ†ตํ•ด ์ถ”๊ฐ€ ์šฉ๋Ÿ‰์„ ์‹ ์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋” ๋งŽ์€ ๋ณดํ˜ธ ๊ทœ์น™์„ ์ถ”๊ฐ€ํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณด๋‹ค ๊ฐ•๋ ฅํ•˜๊ฒŒ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทœ์น™ ์œ ํ˜•์— ๋”ฐ๋ผ ์šฉ๋Ÿ‰์„ ๋‹ค๋ฅด๊ฒŒ ๊ณ„์‚ฐํ•˜๋ฏ€๋กœ ์šฉ๋Ÿ‰์„ ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.
    โ†’ Managed Rule ๊ทœ์น™ ๊ทธ๋ฃน์€ ๋Œ€๋ถ€๋ถ„ ๋ฌด๋ฃŒ์ด๋‚˜ Bot Control, Fraud Control account takeover prevention(APT)์˜ ๊ฒฝ์šฐ ์œ ๋ฃŒ์ด๋‹ˆ ์˜ˆ์ƒ ๊ธˆ์•ก ํ™•์ธ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.



๐Ÿ“ŒAWS Network Firewall

https://aws.amazon.com/ko/network-firewall

AWS Network Firewall์€ AWS์—์„œ ์ œ๊ณตํ•˜๋Š” ์ƒํƒœ ์ €์žฅ(Stateful) ๋„คํŠธ์›Œํฌ ๋ฐฉํ™”๋ฒฝ ๋ฐ ์นจ์ž… ํƒ์ง€ ๋ฐ ๋ฐฉ์ง€ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์ด ์„œ๋น„์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ์ƒ์„ฑํ•œ VPC๋ฅผ ์œ„ํ•ด ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์„ ํ•„ํ„ฐ๋งํ•˜์—ฌ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐ๋ณธ์ ์œผ๋กœ ์ธํ„ฐ๋„ท ๊ฒŒ์ดํŠธ์›จ์ด, NAT ๊ฒŒ์ดํŠธ์›จ์ด, VPN, AWS Direct Connect๋ฅผ ํ†ตํ•ด ๋“ค์–ด์˜ค๊ณ  ๋‚˜๊ฐ€๋Š” ํŠธ๋ž˜ํ”ฝ์„ VPC ๊ฒฝ๊ณ„์—์„œ ํ•„ํ„ฐ๋งํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ทœ์น™ ์ƒ์„ฑ: 5-tuple, ๋„๋ฉ”์ธ, Suricata IPS๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ทœ์น™์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์›ํ•˜๋Š” ๊ทœ์น™์„ ์ •์˜ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ ํ•„ํ„ฐ๋งํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5-tuple
source ip, destination ip, source port, destination port, protocol

  • Managed rule groupp: Managed rule group์„ ๋ฌด๋ฃŒ๋กœ ์ œ๊ณตํ•˜๋ฉฐ, ์ด๋Š” ์ž๋™์œผ๋กœ ์—…๋ฐ์ดํŠธ๋ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์ตœ์‹  ๋ณด์•ˆ ์—…๋ฐ์ดํŠธ๋ฅผ ๋ฐ›์•„์„œ ๋ณดํ˜ธ๋ฅผ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๋ฐฐ์น˜: Firewall endpoint๋Š” ํŠธ๋ž˜ํ”ฝ์ด ์ „๋‹ฌ๋˜๋Š” ์„œ๋ธŒ๋„ท์— ์œ„์น˜ํ•˜๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์ˆ˜์ •ํ•˜์—ฌ ํŠธ๋ž˜ํ”ฝ์„ Firewall endpoint๋กœ ๋ณด๋‚ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. IGW์™€ ELB ์‚ฌ์ด์— ๋ฐฐ์น˜ํ•˜๋ฉด ํด๋ผ์ด์–ธํŠธ์˜ ์‹ค์ œ IP ์ฃผ์†Œ๋ฅผ ์ธ์‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • TLS ๋ณตํ˜ธํ™” ๋ฏธ์ง€์›: Network Firewall์€ TLS ๋ณตํ˜ธํ™”๋ฅผ ์ง€์›ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ์•”ํ˜ธํ™”๋œ ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ๊ฒ€์‚ฌ๋Š” ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์—†์œผ๋ฉฐ, ์ด๋ฅผ ์œ„ํ•ด WAF์˜ ๊ฒฝ์šฐ TLS๋ฅผ ์ง€์›ํ•˜๊ณ  ์žˆ์œผ๋‹ˆ WAF์™€ ๊ฐ™์€ ๋‹ค๋ฅธ ์„œ๋น„์Šค๋ฅผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

์š”์•ฝํ•˜๋ฉด, AWS Network Firewall์€ VPC์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๊ธฐ ์œ„ํ•œ ๊ฐ•๋ ฅํ•œ ๋„๊ตฌ๋กœ, ๋‹ค์–‘ํ•œ ๊ธฐ๋Šฅ์„ ํ†ตํ•ด ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ณดํ˜ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๋น„๊ต


1. ๋ชฉ์ 

  • AWS Network Firewall :
    ๋„คํŠธ์›Œํฌ ๊ณ„์ธต์—์„œ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๋Š” ๋ฐฉํ™”๋ฒฝ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ๋„คํŠธ์›Œํฌ ํŠธ๋ž˜ํ”ฝ์„ ๋ชจ๋‹ˆํ„ฐ๋งํ•˜๊ณ  ์ œ์–ดํ•˜์—ฌ ์•…์„ฑ ํŠธ๋ž˜ํ”ฝ์„ ์ฐจ๋‹จํ•˜๊ณ  ๋ณดํ˜ธํ•ฉ๋‹ˆ๋‹ค.

  • AWS WAF :
    ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•˜๋Š” ์›น ๋ฐฉํ™”๋ฒฝ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค. ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๊ณต๊ฒฉ์„ ํƒ์ง€ํ•˜๊ณ  ์ฐจ๋‹จํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค.


2. ์ ์šฉ ๋ฒ”์œ„

  • AWS Network Firewall :
    ๋„คํŠธ์›Œํฌ ๋ ˆ๋ฒจ์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, VPC(Virtual Private Cloud)์˜ ์„œ๋ธŒ๋„ท ๊ฐ„ ๋ฐ ์ธํ„ฐ๋„ท๊ณผ์˜ ํŠธ๋ž˜ํ”ฝ์„ ๊ด€๋ฆฌํ•ฉ๋‹ˆ๋‹ค.

  • AWS WAF :
    ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์—์„œ ๋™์ž‘ํ•˜๋ฉฐ, HTTP ๋ฐ HTTPS ํŠธ๋ž˜ํ”ฝ์„ ์ฒ˜๋ฆฌํ•˜์—ฌ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ๋ณด์•ˆ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


3. ๊ธฐ๋Šฅ

  • AWS Network Firewall :
    ํŒจํ‚ท ํ•„ํ„ฐ๋ง, ์ƒํƒœ ์ถ”์ , IDS/IPS ๊ธฐ๋Šฅ, VPC ํ๋ฆ„ ๋กœ๊ทธ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

  • AWS WAF :
    ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐœ์ƒํ•˜๋Š” SQL ์ธ์ ์…˜, ํฌ๋กœ์Šค ์‚ฌ์ดํŠธ ์Šคํฌ๋ฆฝํŒ…(XSS), DDoS ๊ณต๊ฒฉ ๋“ฑ๊ณผ ๊ฐ™์€ ์›น ๊ณต๊ฒฉ์„ ํƒ์ง€ํ•˜๊ณ  ์ฐจ๋‹จํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.


4. ์‚ฌ์šฉ ์‚ฌ๋ก€

  • AWS Network Firewall :
    ๋„คํŠธ์›Œํฌ ๋ณด์•ˆ ๋ฐ ๋Œ€๊ทœ๋ชจ์˜ ํŠธ๋ž˜ํ”ฝ ์ฒ˜๋ฆฌ๊ฐ€ ํ•„์š”ํ•œ ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

  • AWS WAF :
    ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋ณดํ˜ธํ•˜๊ณ  ์›น ๊ณต๊ฒฉ์œผ๋กœ๋ถ€ํ„ฐ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ด์•ผ ํ•˜๋Š” ๊ฒฝ์šฐ์— ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.


์š”์•ฝํ•˜๋ฉด, AWS Network Firewall์€ ๋„คํŠธ์›Œํฌ ๋ ˆ๋ฒจ์—์„œ์˜ ๋ณด์•ˆ์„ ์ œ๊ณตํ•˜๊ณ , AWS WAF๋Š” ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ ˆ๋ฒจ์—์„œ์˜ ๋ณด์•ˆ์„ ๊ฐ•ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋‘ ์„œ๋น„์Šค๋Š” ๊ฐ๊ฐ์˜ ๊ณ ์œ ํ•œ ์‚ฌ์šฉ ์‚ฌ๋ก€์™€ ํ™˜๊ฒฝ์— ๋”ฐ๋ผ ์„ ํƒ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.



๐ŸŒŸ ์‹ค์Šต: ์›น ์„œ๋น„์Šค ํ™˜๊ฒฝ์— WAF, Network filerwall์„ ๋ฐฐ์น˜

1) ์›น ์„œ๋น„์Šค ํ™˜๊ฒฝ ๊ตฌ์„ฑ


1) ๊ธฐ๋ณธ VPC ์ƒ์„ฑ


2) EC2 ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ

80ํฌํŠธ ์ ‘์†์„ ํ—ˆ์šฉํ•˜๋„๋ก ์ธ๋ฐ”์šด๋“œ ๋ณด์•ˆ ๊ทธ๋ฃน ๊ทœ์น™ ์ถ”๊ฐ€

๋‚˜๋จธ์ง€ ์„ค์ •์„ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ [์ธ์Šคํ„ด์Šค ์‹œ์ž‘] ๋ฒ„ํŠผ์„ ํด๋ฆญ


3) EC2 ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ ์ฃผ์†Œ ํ™•์ธ


4) EC2 ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ ์ฃผ์†Œ๋กœ SSH ์ ‘์† ํ›„ docker ์„ค์น˜

ubuntu@ip-172-31-3-17:~$ sudo apt update
ubuntu@ip-172-31-3-17:~$ sudo apt install docker.io -y


5) ๋„์ปค๋ฅผ ์ด์šฉํ•ด์„œ dvwa(Damn Vulnerable Web Application) ์‹คํ–‰

dvwa(Damn Vulnerable Web Application)
์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๋ณด์•ˆ์„ ํ•™์Šตํ•˜๊ณ  ํ…Œ์ŠคํŠธํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋˜๋Š” ๊ฐœ๋ฐœ์ž์šฉ ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜. ๋‹ค์–‘ํ•œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ๊ฐ€์ง€๊ณ  ์žˆ์–ด์„œ ๋ณด์•ˆ ์ „๋ฌธ๊ฐ€๋‚˜ ๊ฐœ๋ฐœ์ž๋“ค์ด ์‹ค์ œ๋กœ ๊ณต๊ฒฉ์„ ์‹œ๋„ํ•˜๊ณ  ๋ฐฉ์–ดํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์—ฐ์Šตํ•  ์ˆ˜ ์žˆ๋‹ค.

ubuntu@ip-172-31-3-17:~$ sudo docker run -d --rm -it -p 80:80 --name dvwa vulnerables/web-dvwa

  • docker run โ‡’ docker container run ๋ช…๋ น์–ด์™€ ๋™์ผ, docker image๋ฅผ ๊ฐ€์ ธ์™€์„œ(pull)์™€์„œ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ƒ์„ฑ(create)ํ•˜๊ณ  ์‹คํ–‰(start)
  • -d โ‡’ detach ๋ชจ๋“œ๋กœ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์‹คํ–‰

  • --rm โ‡’ ์ปจํ…Œ์ด๋„ˆ๊ฐ€ ์ค‘์ง€(stop)๋˜๋ฉด ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์ž๋™์œผ๋กœ ์‚ญ์ œ(rm)

  • -it โ‡’ ํ˜ธ์ŠคํŠธ์˜ ์ž…๋ ฅ๊ณผ ์ถœ๋ ฅ์„ ์ปจํ…Œ์ด๋„ˆ์™€ ๊ณต์œ 

  • -p 80:80 โ‡’ ํ˜ธ์ŠคํŠธ์˜ 80 ํฌํŠธ์™€ ์ปจํ…Œ์ด๋„ˆ์˜ 80 ํฌํŠธ๋ฅผ ๋งตํ•‘

  • --name dvwa โ‡’ ์ปจํ…Œ์ด๋„ˆ ์ด๋ฆ„. ์ปจํ…Œ์ด๋„ˆ์˜ ์‹๋ณ„์ž๋กœ ์‚ฌ์šฉ = ํ˜ธ์ŠคํŠธ์—์„œ ์œ ์ผํ•ด์•ผ ํ•จ

  • vulnerables/web-dvwa โ‡’ ์ปจํ…Œ์ด๋„ˆ ์ƒ์„ฑ์— ์‚ฌ์šฉํ•˜๋Š” ์ด๋ฏธ์ง€ ์ด๋ฆ„. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ/๋ ˆํŒŒ์ง€ํ† ๋ฆฌ/์ด๋ฆ„:ํƒœ๊ทธ | docker.io/library/์ด๋ฆ„:latest

๐Ÿ‘‰Unable to find image 'vulnerables/web-dvwa:latest' locally
latest: Pulling from vulnerables/web-dvwa				 
3e17c6eae66c: Pull complete						         
0c57df616dbf: Pull complete						  
eb05d18be401: Pull complete						  
e9968e5981d2: Pull complete						  
2cd72dba8257: Pull complete						 
6cff5f35147f: Pull complete						 
098cffd43466: Pull complete						
b3d64a33242d: Pull complete					
Digest: sha256:dae203fe11646a86937bf04db0079adef295f426d
a68a92b40e3b181f337daa7๐Ÿ‘ˆ ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰์„ ์œ„ํ•ด์„œ๋Š” ๋กœ์ปฌ ๋ ˆํŒŒ์ง€ํ† ๋ฆฌ์— ์ด๋ฏธ์ง€๊ฐ€ ์กด์žฌํ•ด์•ผ ํ•˜๋ฉฐ, ์—†๋Š” ๊ฒฝ์šฐ ์ง€์ •๋œ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์—์„œ ๋จผ์ € ๊ฐ€์ ธ์™€์•ผ ํ•จ
Status: Downloaded newer image for vulnerables/web-dvwa:latest
5893f97cd90a11ed09c96b677fbb6def607fa8a5ee193cceb7e30315c2f52841 โ‡ ์ƒ์„ฑํ•œ ์ปจํ…Œ์ด๋„ˆ์˜ ID

ubuntu@ip-172-31-3-17:~$ sudo docker image ls
โ‡ ๋กœ์ปฌ ๋ ˆํฌ์ง€ํ„ฐ๋ฆฌ์— ์ด๋ฏธ์ง€๋ฅผ ์กฐํšŒ

REPOSITORY             TAG       IMAGE ID       CREATED       SIZE
vulnerables/web-dvwa   latest    ab0d83586b6e   5 years ago   712MB

ubuntu@ip-172-31-3-17:~$ sudo docker container ls
โ‡ ์‹คํ–‰ ์ƒํƒœ์˜ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์กฐํšŒ

CONTAINER ID   IMAGE                  COMMAND      CREATED          STATUS          PORTS                               NAMES
5893f97cd90a   vulnerables/web-dvwa   "/main.sh"   24 seconds ago   Up 22 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   dvwa

6) EC2 ์ธ์Šคํ„ด์Šค์˜ ํผ๋ธ”๋ฆญ ์ฃผ์†Œ๋กœ 80ํฌํŠธ๋กœ ์ ‘์†ํ•ด์„œ DVWA ๋™์ž‘์„ ํ™•์ธ

Username: dvwa
Password: p@ssw0rd

Database ์ƒ์„ฑ ํ›„ ๋‹ค์‹œ ๋กœ๊ทธ์ธ

Username: admin
Password: password


7) SQL Injection ์ทจ์•ฝ์ ์„ ํ™•์ธ


8) XSS ์ทจ์•ฝ์ ์„ ํ™•์ธ


2) ELB๋ฅผ ์ถ”๊ฐ€

๋‚˜๋จธ์ง€ ์„ค์ •์€ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ƒํƒœ์—์„œ [๋‹ค์Œ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ์ธ์Šคํ„ด์Šค์—์„œ ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•œ ํ›„ [์•„๋ž˜์— ๋ณด๋ฅ˜ ์ค‘์ธ ๊ฒƒ์œผ๋กœ ํฌํ•จ] ๋ฒ„ํŠผ์„ ํด๋ฆญํ•ด์„œ ๋Œ€์ƒ ๋ณด๊ธฐ์— ์ถ”๊ฐ€ํ•œ ํ›„ [๋Œ€์ƒ ๊ทธ๋ฃน ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

๋‹ค์‹œ ELB ์„ค์ • ํ™”๋ฉด์œผ๋กœ ๋Œ์•„์™€์„œ ๋Œ€์ƒ๊ทธ๋ฃน์„ ์„ ํƒ

๋‚˜๋จธ์ง€ ์„ค์ •์„ ๊ทธ๋Œ€๋กœ ์œ ์ง€ํ•œ ์ƒํƒœ๋กœ [๋กœ๋“œ๋ฐธ๋Ÿฐ์Šค ์ƒ์„ฑ] ๋ฒ„ํŠผ์„ ํด๋ฆญ

๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ DNS ์ด๋ฆ„์œผ๋กœ ์š”์ฒญํ–ˆ์„ ๋•Œ EC2 ์ธ์Šคํ„ด์Šค์—์„œ ์‘๋‹ต์„ ์ œ๊ณตํ•˜๋Š” ๊ฒƒ์„ ํ™•์ธ


3) WAF ์„ค์ •

์„ค์ •๋œ ๋‚ด์šฉ ํ™•์ธ ํ›„ [Create Web ACL] ๋ฒ„ํŠผ์„ ํด๋ฆญ


4) SQL ์ธ์ ์…˜ ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ


5) XSS ๊ณต๊ฒฉ์ด ๊ฐ€๋Šฅํ•œ์ง€ ํ™•์ธ


6) ๋Œ€์‹œ๋ณด๋“œ๋ฅผ ํ†ตํ•ด ๊ณต๊ฒฉ์„ ํ™•์ธ


7) ๋ฆฌ์†Œ์Šค ์ •๋ฆฌ

1) ๋กœ๋“œ๋ฐธ๋Ÿฐ์„œ ์‚ญ์ œ

2) ๋Œ€์ƒ ๊ทธ๋ฃน ์‚ญ์ œ

3) EC2 ์ธ์Šคํ„ด์Šค ์ข…๋ฃŒ

4) ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์— ์—ฃ์ง€ ์—ฐ๊ฒฐ์„ ํ•ด์ œ(ํŽธ์ง‘์—์„œ ์–ธ์ฒดํฌ ํ›„ ์ €์žฅ)ํ•œ ํ›„ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ์‚ญ์ œ

5) ๋ฐฉํ™”๋ฒฝ ์‚ญ์ œ (์‚ญ์ œ์ค‘...์œผ๋กœ ๋‚˜์˜ค๋‹ค๊ฐ€ VPC๊ฐ€ ์‚ญ์ œ๋˜๋ฉด ํ•จ๊ป˜ ๋‚ด๋ ค๊ฐ)

6) ๋ฐฉํ™”๋ฒฝ ์ •์ฑ… ๋ฐ Network Firewall ๊ทœ์น™ ๊ทธ๋ฃน ์‚ญ์ œ

๊ทœ์น™ ๊ทธ๋ฃน์„ ์ •์ฑ…์—์„œ ์—ฐ๊ฒฐ ํ•ด์ œ ํ›„ Network Firewall ๊ทœ์น™ ๊ทธ๋ฃน์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Œ

๋ฐฉํ™”๋ฒฝ ์‚ญ์ œ ํ›„ ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์„ ์‚ญ์ œํ•  ์ˆ˜ ์žˆ์Œ

7) VPC ์‚ญ์ œ

8) WAF & Shield์˜ Web ACLs ์‚ญ์ œ

0๊ฐœ์˜ ๋Œ“๊ธ€