Skip to content

Latest commit

ย 

History

History
712 lines (435 loc) ยท 27 KB

single-az-nwfw.md

File metadata and controls

712 lines (435 loc) ยท 27 KB
description
Update : 2020-12-20

Network Firewall ๊ธฐ๋ณธ ๊ตฌ์„ฑ

๊ตฌ์„ฑ ์•„ํ‚คํ…์ณ ์†Œ๊ฐœ

Network Firewall์˜ ๊ธฐ๋ณธ ๋™์ž‘ ์ดํ•ด๋ฅผ ์œ„ํ•ด, ๊ฐ€์žฅ ๊ธฐ๋ณธ์ด ๋˜๋Š” ๋””์ž์ธ์„ ๋จผ์ € ๊ตฌ์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.

์•„๋ž˜ ๊ทธ๋ฆผ์€ ์ด๋ฒˆ Chapter์—์„œ ๊ตฌ์„ฑํ•ด ๋ณผ ์•„ํ‚คํ…์ณ ์ž…๋‹ˆ๋‹ค. ์ธํ„ฐ๋„ท์œผ๋กœ ๋ถ€ํ„ฐ AWS ์ž์›์„ ๋ณดํ˜ธํ•˜๊ธฐ ์œ„ํ•ด, ๋„คํŠธ์›Œํฌ ๋ฐฉํ™”๋ฒฝ ์„œ๋ธŒ๋„ท์„ ๋ฐฐ์น˜ํ•˜๊ณ  ์ธํ„ฐ๋„ท์„ ํ†ต๊ณผํ•˜๋Š” ๋ชจ๋“  ํŠธ๋ž˜ํ”ฝ์€ ๋„คํŠธ์›Œํฌ ๋ฐฉํ™”๋ฒฝ์„ ํ†ต๊ณผํ•˜๊ฒŒ ํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ On Prem๊ตฌ์„ฑ๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.

[Network Firewall ๊ธฐ๋ณธ ๊ตฌ์„ฑ ์•„ํ‚คํ…์ณ]

Task1.Cloudformation ๋ฐฐํฌ

Cloudformation์„ ํ†ตํ•ด ๊ธฐ๋ณธ์ด ๋˜๋Š” VPC๊ตฌ์„ฑ์„ ๋จผ์ € ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

1.๊ตฌ์„ฑ ๋ชฉํ‘œ.

๋จผ์ € ์•„๋ž˜์˜ Cloudformation์„ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. Cloudformation ๊ตฌ์„ฑ์„ ๋ฐฐํฌํ•˜๊ฒŒ ๋˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ๊ตฌ์„ฑ์ด ์™„๋ฃŒ๋ฉ๋‹ˆ๋‹ค.

Routing Table ๊ตฌ์„ฑ๊ณผ Network Firewall ๊ตฌ์„ฑ์€ ๋‹ค์Œ๋‹จ๊ณ„์— ๋ณ„๋„๋กœ ์ง„ํ–‰ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

[Cloudformation ๊ธฐ๋ฐ˜์˜ ๋ฐฐํฌ ์•„ํ‚คํ…์ณ]

Cloud9 ํ„ฐ๋ฏธ๋„์—์„œ ์•„๋ž˜ Github์—์„œ ์‹ค์Šต์— ์‚ฌ์šฉํ•  Cloudformation yml ํŒŒ์ผ์„ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์Šต๋‹ˆ๋‹ค.

git clone https://github.com/whchoi98/aws-nwfw-source

2.Cloudformation ์ƒ์„ฑ.

๋จผ์ € ์ƒˆ๋กœ์šด ์Šคํƒ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์•ž์„œ ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ git ํŒŒ์ผ ์ค‘์—์„œ**"singleaz-vpc1-az-a.yml"** ํŒŒ์ผ์„ ์—…๋กœ๋“œ ํ•ฉ๋‹ˆ๋‹ค.

Cloud9์—์„œ ์ง์ ‘ file์„ ์—…๋กœ๋“œํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด S3๋ฅผ ํ™œ์šฉํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

##S3 Bucket ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. 
##Bucket name์€ ๊ณ ์œ ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
export bucket_name="usernameDate"
echo "export bucket_name=${bucket_name}" | tee -a ~/.bash_profile
aws s3 mb s3://${bucket_name}

#์ƒ์„ฑํ•œ S3 Bucket์œผ๋กœ ํŒŒ์ผ์„ ๋ชจ๋‘ ๋ณต์‚ฌํ•ด ๋‘ก๋‹ˆ๋‹ค.
cd ~/environment/aws-nwfw-source

# Cloud9์—์„œ ๋ณ€๊ฒฝ๋˜๋Š” ํŒŒ์ผ์„ S3์™€ ๋™๊ธฐํ™” ํ•ฉ๋‹ˆ๋‹ค. 
aws s3 sync ./ s3://${bucket_name}

## option - copy๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉํ•ด๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.
aws s3 cp ./ s3://${bucket_name} --recursive

## LAB์—์„œ ์‚ฌ์šฉํ•  Object์ ‘๊ทผ์„ ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค.
aws s3api put-object-acl --bucket ${bucket_name} --key EKSVPC3AZ.yml --acl public-read  

S3 URL ํ˜•์‹์€ ์ƒ์„ฑํ•œ ๋ฒ„ํ‚ท ์ด๋ฆ„๊ณผ ๋ฆฌ์ „ ์ฃผ์†Œ, Object ๋กœ ์ƒ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ถœ๋ ฅ๊ฐ’์„ ๋ณต์‚ฌํ•ด ๋‘ก๋‹ˆ๋‹ค.

echo https://${bucket_name}.s3.ap-northeast-1.amazonaws.com/singleaz-vpc1-az-a.yml

stack์˜ ์ƒ์„ธ๋‚ด์šฉ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

  • stack name : Stack name์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  • VPC Parameters - AvailablilityZoneA : AZ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  • KeyPair:์‚ฌ์šฉํ•  KeyPair๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. (์‚ฌ์ „์— keypair๋ฅผ ์ƒ์„ฑํ•ด ๋‘์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.)
  • LatestAmiId: ์ตœ์‹ ์˜ Amazon Linux2 ์ด๋ฏธ์ง€๊ฐ€ ์ž๋™ ์„ ์–ธ๋ฉ๋‹ˆ๋‹ค.

Cloudformation์ด IAM์— ์ ‘๊ทผํ•˜์—ฌ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฒดํฌํ•ฉ๋‹ˆ๋‹ค.

10๋ถ„ ํ›„๋ฉด ๋ชจ๋“  ์ž์›์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

{% hint style="info" %} ๋ณธ ๋žฉ์—์„œ๋Š” EC2์˜ ์ž์›๋“ค์— ์†์‰ฝ๊ฒŒ ์ ‘๊ทผ ํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ชจ๋‘ Session Manager ์ ‘๊ทผ ๊ตฌ์„ฑ์„ Cloudformation์œผ๋กœ ๋ฐฐํฌํ•ฉ๋‹ˆ๋‹ค. AWS ์ฝ˜์†”์ด๋‚˜, ๋‹ค๋ฅธ ๋ฐฐํฌ ๋„๊ตฌ๋กœ ๊ตฌ์„ฑํ•˜์…”๋„ ๋žฉ์„ ์ง„ํ–‰ํ•˜๋Š”๋ฐ๋Š” ์ด์Šˆ๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. {% endhint %}

Task2. Network Firewall ๊ธฐ๋ณธ ๊ตฌ์„ฑ.

๋จผ์ € Network Firewall์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ๋ณธ Firewall Policy๊ฐ€ ์ƒ์„ฑ๋˜์–ด ์žˆ์ง€ ์•Š๊ธฐ ๋•Œ๋ฌธ์—, ํ•จ๊ป˜ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

1.Network Firewall ๋ฐ Policy ์ƒ์„ฑ.

service - VPC - AWS Network Firewall - Firewall - Create ๋ฅผ ์„ ํƒํ•˜๊ณ , Firewall๊ณผ Firewall Policy๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

๋จผ์ € Firewall์„ ์ƒ์„ฑํ•˜๊ณ , Firewall Policy ์ƒ์„ฑํ•˜์—ฌ ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

๊ธฐ์กด์— Firewall Policy๊ฐ€ ์žˆ๋‹ค๋ฉด ์ƒ์„ฑํ•œ Firewall์— ์—ฐ๊ฒฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Name : ๋ฐฉํ™”๋ฒฝ ์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. Description(Optional) : ๋ฐฉํ™”๋ฒฝ์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  3. VPC : ์ƒ์„ฑํ•œ VPC๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. (eg. VPC1)
  4. Firewall subnets - Availability Zone : AZ Zone์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. (eg. us-west-2a)
    Firewall subnets - Subnet : ์ƒ์„ฑํ•œ ๋ฐฉํ™”๋ฒฝ์šฉ Subnet์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค. (eg. VPC1-FWSubnet1)
  5. New Firewall policy name : ์‹ ๊ทœ ์ƒ์„ฑํ•œ NWFW์˜ ๋ฐฉํ™”๋ฒฝ ์ •์ฑ…์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  6. Description(Optional) : ๋ฐฉํ™”๋ฒฝ ์ •์— ๋Œ€ํ•œ ์„ค๋ช…์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  7. Firewall Tag : Firewall ์ž์›์— ๋Œ€ํ•œ Tag๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.

2.Network Firewall ํ™•์ธ.

๋ฐฉํ™”๋ฒฝ์„ ์ƒ์„ฑํ•˜๊ณ  ๋‚˜๋ฉด, provisoning ์ƒํƒœ๊ฐ€ ์ง„ํ–‰๋˜๋ฉฐ ์™„๋ฃŒ๊นŒ์ง€ 5๋ถ„ ๋‚ด์™ธ๊ฐ€ ์†Œ์š”๋ฉ๋‹ˆ๋‹ค.

์ •์ƒ์ ์œผ๋กœ ์„ค์น˜๋˜๋ฉด ์•„๋ž˜ ๊ทธ๋ฆผ์ฒ˜๋Ÿผ Status:Ready ์ƒํƒœ๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑํ•œ Firewall์„ ์„ ํƒํ•˜๊ณ  Firewall details ๋ฅผ ์„ ํƒํ•˜๋ฉด, ํ•ด๋‹น ์„œ๋ธŒ๋„ท์— Endpoint๊ฐ€ ์ •์ƒ์ ์œผ๋กœ ์ƒ์„ฑ๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

Service-VPC-Virtual Private Cloud-Endpoint ๋ฉ”๋‰ด์—์„œ Firewall Endpoint๋ฅผ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

{% hint style="info" %} Endpoint ๋ฉ”๋‰ด์—์„œ ํŠน์ด์ ์„ ๋ฐœ๊ฒฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. Endpoint type์ด GatewayLoadBalancer ๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์€ Firewall Endpoint๊ฐ€ ๋ณ„๋„๋กœ ์ƒ์„ฑ๋˜์ง€ ์•Š๊ณ , GatewayLoadBalancer๋ฅผ ๊ทธ๋Œ€๋กœ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ฆ‰ ๋™์ž‘๋ฐฉ์‹์ด GatewayLoadBalancer๋ฅผ ์ด์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {% endhint %}

Task3. VPC Route Table ๊ตฌ์„ฑ

์ด์ œ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์ •์˜ํ•˜๊ณ , ์ธํ„ฐ๋„ท๊ณผ EC2๊ฐ„์˜ ํ†ต์‹ ์„ ํ™•์ธํ•ด ๋ด…๋‹ˆ๋‹ค.

1. VPC Ingress ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ.

์™ธ๋ถ€ ์ธํ„ฐ๋„ท ํŠธ๋ž˜ํ”ฝ์ธ Firewall Endpoint๋ฅผ ๊ฒฝ์œ ํ•˜๋„๋ก ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” InternetGateway ์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. AWS์—์„œ๋Š” ์ด๋Ÿฌํ•œ Edge์—์„œ์˜ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ์ด ๊ฐ€๋Šฅํ•˜๋„๋ก VPC Ingress Routing์„ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

VPC Ingress Route Table์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Service - VPC - Virtual Private Cloud - Route Table - Create route table

์‹ ๊ทœ ์ƒ์„ฑํ•œ InternetGateway์šฉ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์„ ํƒํ•˜๊ณ , Edge Associations ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

InternetGateway์šฉ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ InternetGateway(์ดํ•˜ IGW)์— ์—ฐ๊ฒฐํ•ฉ๋‹ˆ๋‹ค.

์—ฐ๊ฒฐํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์ด ์ •์ƒ์ ์œผ๋กœ IGW์— ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”(Ingress Routing)์ด ์ƒ์„ฑ๋ฉ๋‹ˆ๋‹ค.

์ด์ œ ์ธํ„ฐ๋„ท์—์„œ ์œ ์ž…๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์ด Firewall Endpoint๋ฅผ ํ–ฅํ•˜๋„๋ก Ingress Routing์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

Route - Edit Routes ๋ฅผ ์„ ํƒํ•˜๊ณ  ์ˆ˜์ •ํ•ฉ๋‹ˆ๋‹ค.

๋ชฉ์ ์ง€๋Š” **0.0.0.0/0**์„ ์„ค์ •ํ•˜๊ณ , Target์€ **Gateway Load Balancer Endpoint**๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.โ€‹

{% hint style="info" %} Target์ด Gateway Load Balancer Endpoint๊ฐ€ ๋˜์–ด์•ผ ํ•˜๋Š” ์ด์œ ๋Š” ์•ž์„œ ์„ค๋ช…ํ•˜์˜€์Šต๋‹ˆ๋‹ค. {% endhint %}

Gateway Load Balancer Endpoint๋ฅผ ์„ ํƒํ•˜๊ฒŒ ๋˜๋ฉด, Network Firewall์„ ์ƒ์„ฑํ•œ ์ดํ›„์— ์ž๋™ ์ƒ์„ฑ๋œ VPC Endpoint๋ฅผ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น Endpoint๋ฅผ ์„ ํƒํ•˜๊ณ  ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์„ ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์ด์ œ 10.1.1.0/24 ๋กœ ์™ธ๋ถ€์—์„œ ์ธ์ž…๋˜๋Š” ํŠธ๋ž˜ํ”ฝ์€ ๋ชจ๋‘ Firewall์„ ๊ฒฝ์œ ํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

2. FW Subnet ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ.

FW Subnet์€ ์ธํ„ฐ๋„ท์œผ๋กœ ํ–ฅํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์— ๋Œ€ํ•œ ๋ผ์šฐํŒ… ์ƒ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค. Ingress Routing์€ ๋ณ„๋„๋กœ ๊ตฌ์„ฑํ•  ํ•„์š”๊ฐ€ ์—†์Šต๋‹ˆ๋‹ค. VPC๋ฅผ ๊ตฌ์„ฑํ• ๋•Œ CIDR๋ฅผ ์ƒ์„ฑํ•˜๋ฉด ์ž๋™์œผ Local Routing์ด ๊ตฌ์„ฑ๋˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

FW Subnet Routing Table์„ ์„ ํƒํ•˜๊ณ , Route-Edit Routes ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Ingress Routing์€ Local์ด ์ด๋ฏธ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ ๋ณ„๋„ ๊ตฌ์„ฑ์—†์ด, Egress Routing์— ๋Œ€ํ•œ ๊ตฌ์„ฑ๋งŒ ํ•ฉ๋‹ˆ๋‹ค.

์™ธ๋ถ€๋กœ ํ–ฅํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ์€ ๋ชจ๋‘ ๋ชฉ์ ์ง€ IGW๋กœ ํ–ฅํ•˜๋„๋ก ๊ตฌ์„ฑํ•˜๊ณ  ์ €์žฅํ•ฉ๋‹ˆ๋‹ค.

Firewall ์„œ๋ธŒ๋„ท์„ ์œ„ํ•œ ๋ผ์šฐํŒ… ๊ตฌ์„ฑ์ด ์ •์ƒ์ ์œผ๋กœ ๋˜์—ˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

3. Protect Subnet ํ…Œ์ด๋ธ” ๊ตฌ์„ฑ.

Ingress Routing์€ ์ด๋ฏธ Local Routing ๊ตฌ์„ฑ์ด ์ž๋™์œผ๋กœ ๋˜์–ด ์žˆ์œผ๋ฏ€๋กœ, Egress Routing์— ๋Œ€ํ•œ ์ฒ˜๋ฆฌ๋งŒ ํ•ฉ๋‹ˆ๋‹ค.

Protect Subnet์„ ์œ„ํ•œ ๋ผ์šฐํŒ…์„ ์„ ํƒํ•˜๊ณ , Route-Edit Routes ๋ฅผ ์„ ํƒํ•ด์„œ Egress Routing ๊ตฌ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค.

Protect Subnet์— ์†ํ•œ ์ž์›๋“ค์ด ์™ธ๋ถ€๋กœ ํŠธ๋ž˜ํ”ฝ์„ ๋ณด๋‚ผ ๋•Œ ๋ชจ๋‘ Firewall์„ ํ†ต๊ณผํ•˜๋„๋ก, ๋ชจ๋“  ๋ผ์šฐํŒ… ๋ชฉ์ ์ง€๋ฅผ Firewall VPC Endpoint๋กœ ํ–ฅํ•˜๊ฒŒ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Protect Subnet์„ ์œ„ํ•œ ๋ผ์šฐํŒ… ํ…Œ์ด๋ธ”์ด ์ •์ƒ์ ์œผ๋กœ ๊ตฌ์„ฑ๋˜์—ˆ๋Š” ์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

4. ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„ ํ™•์ธ

์ด์ œ ๋ชจ๋“  ๋ผ์šฐํŒ… ๊ตฌ์„ฑ์€ ์™„๋ฃŒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์•ž์„œ Cloudformation ์„ ํ†ตํ•ด์„œ ์ƒ์„ฑํ•œ EC2 ์ž์›๋“ค์— ๋Œ€ํ•œ Security Group์€ ์ด๋ฏธ ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

๋˜ํ•œ System Manager๋ฅผ ํ†ตํ•œ Session Manager๊ตฌ์„ฑ๋„ Cloudformation์„ ํ†ตํ•ด ๊ตฌ์„ฑ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ๋ณธ ๋žฉ์—์„œ๋Š” Session Manager๋ฅผ ํ†ตํ•ด์„œ ์ ‘์†ํ•ด์„œ ์‹œํ—˜ํ•ฉ๋‹ˆ๋‹ค.

{% hint style="success" %} Protect Subnet์˜ EC2 ์ž์›์€ IGW์™€ 1:1 NAT ๊ตฌ์„ฑ์ด ๋˜๋„๋ก ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. Session Manager ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, SSH ์ ‘์†๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ๋ณด์•ˆ ์ •์ฑ… ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์–ด๋ ต๊ธฐ ๋•Œ๋ฌธ์— Session Manager๋กœ ์ ‘์†ํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ๊ณ ํ•ฉ๋‹ˆ๋‹ค. {% endhint %}

Service - System Manager - Session Manager ๋ฅผ ์„ ํƒํ•˜๊ณ , **Start Session**์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

EC2์— ์ด๋ฏธ System Manager Agent๊ฐ€ ์„ค์น˜๋˜์–ด Web์—์„œ ์ ‘์†์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ์ ‘์†์„ ์›ํ•˜๋Š” EC2 ์ธ์Šคํ„ด์Šค๋ฅผ ์„ ํƒํ•˜๊ณ  **Start Session**์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

AWS CLI ๊ฐ€ ์„ค์น˜๋œ ๊ฒฝ์šฐ์—๋Š” Session Manager Plugin์„ ์„ค์น˜ํ•˜์—ฌ, CLI๋กœ ๊ตฌ์„ฑ๊ณผ ์‹œํ—˜์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. (AWS CLI์šฉ Session Manager Plugin ์„ค์น˜ )

๋ณธ ๋žฉ์—์„œ๋Š” Cloudshell์„ ์‚ฌ์šฉํ•ด์„œ, Session Manager๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.

Service - Cloudshell ์„ ์„ ํƒํ•˜์—ฌ, Cloudshell ์ฝ˜์†”์„ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์•„๋ž˜์™€ ๊ฐ™์ด session-manager-plugin ์„ ์„ค์น˜ํ•˜๊ณ , ๋žฉ์— ํ•„์š”ํ•œ yml ๋ฐ source ๋“ค์„ ์„ค์น˜ํ•ฉ๋‹ˆ๋‹ค.

curl "https://s3.amazonaws.com/session-manager-downloads/plugin/latest/linux_64bit/session-manager-plugin.rpm" -o "session-manager-plugin.rpm"
sudo yum install -y session-manager-plugin.rpm
git clone https://github.com/whchoi98/useful-shell

์•ž์„œ Git์„ ํ†ตํ•ด ๋‹ค์šด๋กœ๋“œ ๋ฐ›์€ํŒŒ์ผ ๊ฐ€์šด๋ฐ shell ๋˜๋Š” ์•„๋ž˜ aws cli๋ฅผ ํ†ตํ•ด ๋ฐฐํฌ๋œ ์ธ์Šคํ„ด์Šค id๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

./useful-shell/aws_ec2_ext.sh >>vpc1-ec2.txt

vpc1-ec2.txt ๊ฒฐ๊ณผ์˜ ์˜ˆ์ž…๋‹ˆ๋‹ค.

-----------------------------------------------------------------------------------------------------------------------------------------
|                                                           DescribeInstances                                                           |
+-----------------+-------------+----------------------+-----------+------------------------+----------+--------------+-----------------+
|  Protect-EC2-101|  us-west-2a |  i-040d4d15aebc8fb32 |  t3.small |  ami-0e472933a1395e172 |  running |  10.1.1.101  |  52.34.16.59    |
|  Protect-EC2-102|  us-west-2a |  i-068a26aee30adb069 |  t3.small |  ami-0e472933a1395e172 |  running |  10.1.1.102  |  35.166.81.128  |
+-----------------+-------------+----------------------+-----------+------------------------+----------+--------------+-----------------+

์ธ์Šคํ„ด์Šค id๋ฅผ Shell์— ์ €์žฅํ•ด ๋‘ก๋‹ˆ๋‹ค.

export VPC1_AZA_101="i-040d4d15aebc8fb32"
export VPC1_AZA_102="i-068a26aee30adb069"
echo "export VPC1_AZA_101=$VPC1_AZA_101" | tee -a ~/.bash_profile
echo "export VPC1_AZA_102=$VPC1_AZA_102" | tee -a ~/.bash_profile
echo $VPC1_AZA_101
echo $VPC1_AZA_102

์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ๋ฒ•์œผ๋กœ Session Manager๋ฅผ ํ†ตํ•ด ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

#VPC1 AZ-A EC2-101
aws ssm start-session --target $VPC1_AZA_101 --region ap-northeast-1
sudo -s
su ec2-user
cd ~
 
#VPC1 AZ-A EC2-102
aws ssm start-session --target $VPC1_AZA_102 --region ap-northeast-1
sudo -s
su ec2-user
cd ~

๊ฐ ์ธ์Šคํ„ด์Šค์—์„œ ์•„๋ž˜ ๋ช…๋ น์„ ํ†ตํ•ด ์ƒ์„ฑ๋œ EC2 ์ธ์Šคํ„ด์Šค๋“ค์˜ local(Private) IP ์ฃผ์†Œ์™€ ๊ณต์ธ(Public) IP๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

curl http://169.254.169.254/latest/meta-data/local-ipv4
curl http://169.254.169.254/latest/meta-data/public-ipv4
curl -s ifconfig.co

๋จผ์ € ์‚ฌ์šฉ์ž ์›น๋ธŒ๋ผ์šฐ์ €์—์„œ ๊ฐ ์ธ์Šคํ„ด์Šค์˜ Public IP ์ฃผ์†Œ๋กœ ์•„๋ž˜ ์›น์‚ฌ์ดํŠธ์— ์ ‘๊ทผํ•ด ๋ด…๋‹ˆ๋‹ค.

http://ec2-101-public-ip/ec2meta-webpage/index.php

http://ec2-102-public-ip/ec2meta-webpage/index.php

๋ชจ๋“  ์ธ์Šคํ„ด์Šค์— ์ •์ƒ์ ์œผ๋กœ ์ ‘์†๋˜๋Š” ๊ฒƒ์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

{% hint style="info" %} ๋ฐฉํ™”๋ฒฝ์„ ํ†ต๊ณผํ•˜๋Š” ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์ด์ง€๋งŒ , ๋ณ„๋„์˜ ์ •์ฑ…์—†์ด๋„ ์ •์ƒ์ ์œผ๋กœ ์›น๋ธŒ๋ผ์šฐ์ €๊ฐ€ ์ถœ๋ ฅ์ด ๋ฉ๋‹ˆ๋‹ค. ์ด ๊ตฌ์„ฑ์„ ํ†ตํ•ด ์•Œ ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€, ๊ธฐ๋ณธ ๋ฐฉํ™”๋ฒฝ ์ •์€ ๋ฌต์‹œ์  ํ—ˆ์šฉ์ด๋ผ๋Š” ๊ฒƒ์„ ์•Œ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {% endhint %}

์ด์ œ ํŠธ๋ž˜ํ”ฝ์˜ ํ๋ฆ„์„ ์•„๋ž˜์™€ ๊ฐ™์ด ์ดํ•ด ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

EC2-101์—์„œ EC2-102๋กœ Curl์„ ํ†ตํ•ด ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„์„ ํ™•์ธ ํ•ด ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜ ๋ช…๋ น์„ CloudShell์—์„œ Session Manager๋ฅผ ์ ‘์†ํ•œ ์ƒํƒœ์—์„œ ์‹คํ–‰ํ•ด ๋ด…๋‹ˆ๋‹ค.

#EC2-101
curl -I http://ec2-102-public-ip/ec2meta-webpage/index.php
#EC2-102
sudo tcpdump -i eth0 src ec2-101-public-ip

์•„๋ž˜ ์ฒ˜๋Ÿผ ๊ฒฐ๊ณผ๊ฐ€ ์ถœ๋ ฅ๋ฉ๋‹ˆ๋‹ค.

[ec2-user@ip-10-1-1-101 ~]$ curl -I http://35.166.81.128/ec2meta-webpage/index.php
HTTP/1.1 200 OK
Date: Tue, 15 Dec 2020 23:47:15 GMT
Server: Apache/2.4.46 () PHP/5.4.16
Upgrade: h2,h2c
Connection: Upgrade
X-Powered-By: PHP/5.4.16
Content-Type: text/html; charset=UTF-8

[ec2-user@ip-10-1-1-102 ~]$ sudo tcpdump -i eth0 src 52.34.16.59
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
23:47:11.940652 IP ec2-52-34-16-59.us-west-2.compute.amazonaws.com.45606 > ip-10-1-1-102.us-west-2.compute.internal.http: Flags [S], seq 3254533980, win 26883, options [mss 1460,sackOK,TS val 2878837554 ecr 0,nop,wscale 7], length 0
23:47:11.968465 IP ec2-52-34-16-59.us-west-2.compute.amazonaws.com.45606 > ip-10-1-1-102.us-west-2.compute.internal.http: Flags [.], ack 3141908793, win 211, options [nop,nop,TS val 2878837576 ecr 3940610722], length 0
23:47:11.968479 IP ec2-52-34-16-59.us-west-2.compute.amazonaws.com.45606 > ip-10-1-1-102.us-west-2.compute.internal.http: Flags [P.], seq 0:102, ack 1, win 211, options [nop,nop,TS val 2878837577 ecr 3940610722], length 102: HTTP: HEAD /ec2meta-webpage/index.ph HTTP/1.1

Task4. Network Firewall ์ƒ์„ธ ๊ตฌ์„ฑ

์ด์ œ ์ƒ์„ฑ๋œ Firewall๊ณผ Firewall Policy์— Rule(๋ณด์•ˆ ๊ทœ์น™)์„ ์„ค์ •ํ•˜์—ฌ, ์ƒ์„ธํ•œ ๋ณด์•ˆ ๊ทœ์น™๋“ค์„ ์„ค์ •ํ•ด ๋ด…๋‹ˆ๋‹ค.

1.Firewall ๊ตฌ์„ฑ ์ดํ•ด

๋จผ์ € Firewall ๊ตฌ์„ฑ์€ ์•„๋ž˜์™€ ๊ฐ™์€ ๋ฐฉ์‹์œผ๋กœ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. Firewall ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  2. Firewall Policy๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  3. Stateless Rule ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  4. Stateful Rule์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  5. Stateful Rule์˜ Domain list ์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.
  6. Stateful Rule์˜ Suricata IPS Rule์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

์•ž์„œ Firewall๊ณผ Firewall ์ •์ฑ…์€ ์ƒ์„ฑ ์™„๋ฃŒํ–ˆ์Šต๋‹ˆ๋‹ค. (Task2. Network Firewall ๊ธฐ๋ณธ ๊ตฌ์„ฑ)

2.Firewall Rule์˜ ์ดํ•ด์™€ ๊ตฌ์„ฑ

Network Firewall์˜ ์ •์ฑ…์„ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด ์•„๋ž˜ ๊ทธ๋ฆผ์„ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

3. Stateless Rule ๊ตฌ์„ฑ

์ƒ์„ฑํ•œ Firewall Policy๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

VPC - AWS Network Firewall

์ƒˆ๋กœ์šด Stateless Rule Group ์ƒ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค.

Create and add new stateless rule group

Stateless rule group์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. Name : Stateless Rule ์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. Capacity : Rule Group์˜ Rule์˜ ์ˆซ์ž๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.(์ตœ๋Œ€ 10,000๊ฐœ)
  3. Priority : Stateless Rule์˜ Priority๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. Rule ๋ฒˆํ˜ธ๋ฅผ ์˜๋ฏธํ•˜๋ฉฐ Rule ๋ฒˆํ˜ธ๊ฐ€ ์šฐ์„  ์ˆœ์œ„๋ฅผ ๊ฐ€์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. (NACL๊ณผ ๊ทœ์น™ ๋™์ผ)
  4. Protocol : ํ”„๋กœํ† ์ฝœ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  5. Source IP/Port
  6. Destination IP/Port
  7. Action : Pass/Drop/Forward to stateful rule groups ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  8. Add rule : ์ƒ์„ฑํ•œ Rule์„ ์ถ”๊ฐ€ํ•ฉ๋‹ˆ๋‹ค.

Rule์„ ์ถ”๊ฐ€ํ•˜๋ฉด , ์ถ”๊ฐ€๋œ Rule ์„ ํ™•์ธํ•˜๊ณ  ์ƒ์„ฑ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์ƒ์„ฑํ•œ ๋ฃฐ์„ ํ™•์ธํ•˜๊ธฐ ์œ„ํ•ด ์™ธ๋ถ€์—์„œ ์ธ์Šคํ„ด์Šค์˜ ๊ณต์ธ IP ์ฃผ์†Œ๋กœ ICMP๋ฅผ ์š”์ฒญํ•ด ๋ด…๋‹ˆ๋‹ค. 10.1.1.101์— Mapping ๋œ ๊ณต์ธ IP์ฃผ๋กœ๋กœ ICMP๊ฐ€ ๊ฑฐ๋ถ€๋˜๊ณ , 10.1.1.102์— Mapping๋œ ๊ณต์ธ IP์ฃผ์†Œ๋Š” ์‘๋‹ตํ•ฉ๋‹ˆ๋‹ค. (NACL๊ณผ ์œ ์‚ฌํ•ฉ๋‹ˆ๋‹ค.)

4. Stateful Rule ๊ตฌ์„ฑ

์ƒˆ๋กœ์šด Stateful Rule Group ์ƒ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค.

VPC-Firewall policies - ์ƒ์„ฑํ•œ Policy - Stateful rule groups - Add rule groups - Create and add new stateful rule group

Stateful rule group์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. Name : Stateful Rule ์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. Capacity : Rule Group์˜ Rule์˜ ์ˆซ์ž๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.(์ตœ๋Œ€ 10,000๊ฐœ)
  3. Stateful rule group options : 5 tuple์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. Protocol : ํ”„๋กœํ† ์ฝœ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  5. Source IP/Port
  6. Destination IP/Port
  7. Traffic direction : Any/Forward๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค .
  8. Action : Pass,Drop,Alert ์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

SSH ์— ๋Œ€ํ•œ ์ •์ฑ…์„ ์ž„์˜๋กœ ์ƒ์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค. (10.1.1.101 ์ธ์Šคํ„ด์Šค์— ๋Œ€ํ•œ SSH Drop)

Rule์„ ์ถ”๊ฐ€ํ•˜๋ฉด , ์ถ”๊ฐ€๋œ Rule ์„ ํ™•์ธํ•˜๊ณ  ์ƒ์„ฑ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์•ž์„œ ์ƒ์„ฑํ•œ Cloud9์—์„œ ๊ฐ EC2 ์ธ์Šคํ„ด์Šค๋กœ ssh ์ ‘์†์„ ์‹คํ–‰ํ•ด ๋ด…๋‹ˆ๋‹ค.

ssh -i ~/environment/anfwkey.pem ec2-user@ec2-101-public-ip
ssh -i ~/environment/anfwkey.pem ec2-user@ec2-102-public-ip

Stateful Rule์— ์˜ํ•ด์„œ , EC20-102(10.1.1.102) ์ธ์Šคํ„ด์Šค๋งŒ ์ ‘์†์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค.

5. Stateful Domain list Rule ๊ตฌ์„ฑ

์ƒˆ๋กœ์šด Stateful Rule Group ์ƒ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค.

VPC-Firewall policies - ์ƒ์„ฑํ•œ Policy - Stateful rule groups - Add rule groups - Create and add new stateful rule group

Stateful rule group์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. Name : Stateful Rule ์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. Capacity : Rule Group์˜ Rule์˜ ์ˆซ์ž๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.(์ตœ๋Œ€ 10,000๊ฐœ)
  3. Stateful rule group options : Domain list์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. Domain list - Rule์— ์ •์˜ํ•  ๋„๋ฉ”์ธ์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. (์˜ˆ. www.google.com)
  5. Protocol : HTTP/HTTPS ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  6. Action : Allow/Deny ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

www.google.com์„ Filteringํ•˜๋Š” ์˜ˆ์ œ๋ฅผ ์„ค์ •ํ•ด ๋ด…๋‹ˆ๋‹ค.

Task.VPC Route Table ๊ตฌ์„ฑ-4.ํŠธ๋ž˜ํ”ฝ ํ๋ฆ„ ํ™•์ธ ์—์„œ ๊ตฌ์„ฑํ•œ CloudShell์—์„œ 2๊ฐœ์˜ ์ฐฝ์„ ์—ด๊ณ , ์•„๋ž˜๊ณผ ๊ฐ™์€ ๋ช…๋ น์„ ํ†ตํ•ด ๊ฐ๊ฐ์˜ ์ธ์Šคํ„ด์Šค์— Session Manager๋ฅผ ํ†ตํ•ด ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.

aws ssm start-session --target $VPC1_AZA_101
sudo -s
su ec2-user
cd ~
curl -I www.google.com

aws ssm start-session --target $VPC1_AZA_102
sudo -s
su ec2-user
cd ~
curl -I www.google.com

์•„๋ž˜์™€ ๊ฐ™์ด ๋ชจ๋“  ์ธ์Šคํ„ด์Šค์—์„œ www.google.com ์˜ ์ ‘์†์ด filtering ๋ฉ๋‹ˆ๋‹ค.

6. Suricata IPS Rule ๊ตฌ์„ฑ

Suricata๋Š” IDS(ํƒ์ง€)/IPS(ํƒ์ง€,์ฐจ๋‹จ)๊ฐ€ ๊ฐ€๋Šฅํ•œ Open source ๋„๊ตฌ ์ž…๋‹ˆ๋‹ค. Snort์™€ ์™„๋ฒฝํ•˜๊ฒŒ ํ˜ธํ™˜์ด ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ๋“œ ์ง€์›๊ณผ GPU ์ง€์›๋“ฑ์œผ๋กœ ์„ฑ๋Šฅ ๋ถ€๋ถ„์—์„œ ๋†’์€ ํ‰๊ฐ€๋ฅผ ๋ฐ›๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. (2020๋…„ ๋ถ€ํ„ฐ Snort 3.0 ์ถœ์‹œ์™€ ํ•จ๊ป˜ ๋ฉ€ํ‹ฐ ์“ฐ๋ ˆ์ง€ ์ง€์›)

AWS Network Firewall์˜ Stateful IPS๋Š” Suricata IPS๋ฅผ ํ†ตํ•ด์„œ, Deep Inspection๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ์ƒ์šฉ๋„๊ตฌ์™€ ์—ฐ๊ณ„๋„ ๊ฐ€๋Šฅํ•ฉ๋‹ˆ๋‹ค. (2020๋…„ 12์›” ํ˜„์žฌ ๊ธฐ์ค€ Fortinet ์ง€์›- ์ƒ์šฉ)

์ƒˆ๋กœ์šด Stateful Rule Group ์ƒ์„ฑ์„ ํ•ฉ๋‹ˆ๋‹ค.

VPC-Firewall policies - ์ƒ์„ฑํ•œ Policy - Stateful rule groups - Add rule groups - Create and add new stateful rule group

Stateful rule group์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. Name : Stateful Rule ์ด๋ฆ„์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.
  2. Capacity : Rule Group์˜ Rule์˜ ์ˆซ์ž๋ฅผ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค.(์ตœ๋Œ€ 10,000๊ฐœ)
  3. Stateful rule group options : Suricata IPS Rule์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  4. Suricata IPS Rule์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

www.google.com์„ Filteringํ•˜๋Š” ์˜ˆ์ œ๋ฅผ ์„ค์ •ํ•ด ๋ด…๋‹ˆ๋‹ค.

IPS Rule์€ ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌ์„ฑํ•ด ๋ด…๋‹ˆ๋‹ค.

# 10.1.1.101 ์„ ์†Œ์Šค๋กœ Contents์— AWS๊ฐ€ ํฌํ•จ๋˜๋ฉด Alert์„ ๋ฐœ์ƒ.
alert tcp 10.1.1.101 any -> any any (msg: "No access to the EC2-1 Webpage"; content: "AWS"; sid: 101; rev:1;)
alert tcp 10.1.1.102 any -> any any (msg: "No access to the EC2-1 Webpage"; content: "AWS"; sid: 102; rev:1;)
# 10.1.1.101,10.1.1.102 ๋ฅผ ์ ‘์†ํ•˜๋Š” User Agent๊ฐ€ Firefox ๋ธŒ๋ผ์šฐ์ €๋Š” Drop.
drop http any any -> [10.1.1.101,10.1.1.102] any (msg: "User agent"; http.user_agent; content:"Firefox"; sid:103; rev:1;)

{% hint style="info" %} Suricata Rule์€ https://suricata.readthedocs.io/en/latest/index.html ์„ ์ฐธ๊ณ ํ•˜์—ฌ์„œ , ์ •์ฑ…์„ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. {% endhint %}

๊ฐ ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•ด์„œ, ์•„๋ž˜ ๋ช…๋ น์„ ํ†ตํ•ด ์ ‘์† ํ•˜๊ฑฐ๋‚˜, Web ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘์†ํ•ด ๋ด…๋‹ˆ๋‹ค.

#EC2-101
curl -I http://ec2-102-public-ip/ec2meta-webpage/index.php
#EC2-102
curl -I http://ec2-101-public-ip/ec2meta-webpage/index.php

์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ €์—์„œ, Firefox์™€ Chrom์„ ํ†ตํ•ด์„œ EC2-101,102์˜ ๊ณต์ธ IP ์ฃผ์†Œ๋กœ ์ ‘์†ํ•ด ๋ด…๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ์ฒ˜๋Ÿผ Firefox๋Š” ์ ‘์†๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

Task 5. Network Firewall Logging ๋ฐ ๋ชจ๋‹ˆํ„ฐ๋ง.

1.Loggin ๋ชฉ์ ์ง€ ์„ค์ •

Network Firewall์€ Logging ๋ชฉ์ ์ง€๋ฅผ 3๊ฐ€์ง€ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

  • S3 - bucket name๊ณผ Prefix๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • Cloudwatch - Cloudwatch Log group์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.
  • Kinesis data firehose - Kinesis data firehose delivery stream name์„ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.

Cloudwatch log group์„ ์ง€์ •ํ•˜๊ณ , Log๋ฅผ ์‚ดํŽด๋ด…๋‹ˆ๋‹ค.

Cloudwatch - Cloudwatch logs - log groups ๋ฅผ ์„ ํƒํ•˜๊ณ , Create log group ์„ ์„ ํƒํ•ด์„œ Log Group์„ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Alert , Flow log group์„ ๊ฐ๊ฐ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  • Log group name : NWFW-Alert , NWFW-Flow

์ƒ์„ฑ๋œ Log group์„ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

2. Firewall logging ๊ตฌ์„ฑ.

์ด์ œ ๋‹ค์‹œ Network Firewall์—์„œ Logging ๊ตฌ์„ฑ์„ ์ง„ํ–‰ํ•ฉ๋‹ˆ๋‹ค.

VPC-Firewalls- ์ƒ์„ฑํ•œ Firewall

Firewall details ๋ฉ”๋‰ด๋ฅผ ์„ ํƒํ•˜๊ณ , logging ๋ฉ”๋‰ด์—์„œ Edit ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

VPC -Firewalls - ์ƒ์„ฑํ•œ Firewall - Firewall details - Logging - Edit

firewall loggig์„ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

  1. log type - Alert, Flow ๋กœ๊ทธ๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  2. log destination for alert - Alert logging ๋ชฉ์ ์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.
  3. log destination for flows - flow logging ๋ชฉ์ ์ง€๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Lab ์—์„œ๋Š” ์•ž์„œ ์ด๋ฏธ ์ƒ์„ฑํ•œ CloudWatch log group์„ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

3. Firewall Logging ํ™•์ธ.

์‚ฌ์šฉ์ž ๋žฉํƒ‘์—์„œ EC2 101,102 ์˜ ๊ณต์ธ ์ฃผ์†Œ๋กœ Firefox๋กœ ์ ‘์†ํ•ด ๋ด…๋‹ˆ๋‹ค.

๊ฐ ์ธ์Šคํ„ด์Šค์— ์ ‘์†ํ•ด์„œ, ์•„๋ž˜ ๋ช…๋ น์„ ํ†ตํ•ด ์ ‘์† ํ•˜๊ฑฐ๋‚˜, Web ๋ธŒ๋ผ์šฐ์ €์—์„œ ์ ‘์†ํ•ด ๋ด…๋‹ˆ๋‹ค.

#EC2-101
curl -I http://ec2-102-public-ip/ec2meta-webpage/index.php
#EC2-102
curl -I http://ec2-101-public-ip/ec2meta-webpage/index.php

์‚ฌ์šฉ์ž ๋ธŒ๋ผ์šฐ์ €์—์„œ, Firefox์™€ Chrom์„ ํ†ตํ•ด์„œ EC2-101,102์˜ ๊ณต์ธ IP ์ฃผ์†Œ๋กœ ์ ‘์†ํ•ด ๋ด…๋‹ˆ๋‹ค. ์•„๋ž˜์—์„œ ์ฒ˜๋Ÿผ Firefox๋Š” ์ ‘์†๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ด€๋ จ ๋กœ๊ทธ๋ฅผ CloudWatch์—์„œ ํ™•์ธํ•ด ๋ด…๋‹ˆ๋‹ค.

Cloudwatch์—์„œ Alert log๋ฅผ ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

Cloudwatch - Cloudwatch logs - log groups - Alert log

Block ๋œ ๋กœ๊ทธ๋ฅผ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค. Signature ID 103์— ์˜ํ•ด์„œ Block ๋œ ๊ฒƒ์„ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

# 10.1.1.101,10.1.1.102 ๋ฅผ ์ ‘์†ํ•˜๋Š” User Agent๊ฐ€ Firefox ๋ธŒ๋ผ์šฐ์ €๋Š” Drop.
drop http any any -> [10.1.1.101,10.1.1.102] any (msg: "User agent"; http.user_agent; content:"Firefox"; sid:103; rev:1;)

4. Firewall Monitoring

Firewall ์— ๋Œ€ํ•œ ๊ฐ„๋‹จํ•œ ๋ชจ๋‹ˆํ„ฐ๋ง์„ ์•„๋ž˜ ๋ฉ”๋‰ด๋ฅผ ํ†ตํ•ด์„œ ํ™•์ธ ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

VPC - Firewall - ์ƒ์„ฑํ•œ Firewall - Monitoring

  • Stateless ReceivedPackets
  • Stateless DroppedPackets
  • Stateless PassedPackets
  • Stateful ReceivedPackets
  • Stateful DroppedPackets
  • Stateful PassedPackets

Task6. ์ž์› ์‚ญ์ œ

1.Network Firewall policy ์—์„œ Rule ์ œ๊ฑฐ

VPC - Firewall Policies - Firewall Polices ์„ ํƒ - Stateleess Rule/Stateful rule group ์ œ๊ฑฐ

2. Route Table์—์„œ GWLB Endpoint ์ œ๊ฑฐ

VPC-IGW-RT ์—์„œ Egde Associations ์ œ๊ฑฐ / VPC-IGW ์ œ๊ฑฐ.

Virtual Private Cloud - Route Table - VPC1-IGW-RT - Edge Associations - IGW Uncheck

VPC-ProtectSubnet1-RT ์—์„œ GWLB Endpoint route ์ œ๊ฑฐ

Virtual Private Cloud - Route Table - VPC1-ProtectSubnet1-RT ์„ ํƒ - GWLB Endpoint Route ์ œ๊ฑฐ

3. Network Firewall logging ๊ตฌ์„ฑ ์ œ๊ฑฐ

VPC - Firewall - Firewall Details - Logging - Edit - Loggig ํ•ด์ œ.

4. Network Firewall ์ œ๊ฑฐ

VPC - Firewall - ์ œ๊ฑฐ

5. Cloudformation ์—์„œ Stack ์ œ๊ฑฐ

Cloudformation - Stacks - Stack ์„ ํƒ - ์‚ญ์ œ