클라우드 네트워크 설계 · 보안그룹과 NACL · 실습
보안그룹과 NACL 을 손으로 돌린다
목표
두 장치의 차이는 상태를 기억하는가 하나뿐이고, 나머지 차이는 전부 거기서
나옵니다. 이 실습은 클라우드 계정 없이 규칙표를 직접 쓰고, 그 규칙표를 읽는
평가기를 손으로 짜서 그 차이를 눈으로 봅니다.
조건
- VPC 는
10.42.0.0/16이고 web · app · db 세 계층이 있습니다. - 인터넷은 web 의 443 으로만 들어옵니다.
- web 은 app 의 8080 을, app 은 db 의 5432 를 부릅니다.
- app 은 바깥 HTTPS(443)로 나갑니다. db 는 바깥으로 나가지 않습니다.
규칙표 형식
보안그룹은 다섯 칸입니다. 상대 자리에 다른 보안그룹 이름을 적을 수 있습니다.
그룹,방향,프로토콜,포트,상대sg-db,inbound,tcp,5432,sg-app네트워크 ACL 은 여섯 칸입니다. 번호가 작은 것부터 보고 **처음 맞는 규칙에서
끝납니다.**
번호,방향,동작,프로토콜,포트범위,상대100,outbound,allow,tcp,443,0.0.0.0/032767,outbound,deny,all,all,0.0.0.0/0포트범위 는 443 처럼 하나만 적거나 1024-65535 처럼 범위로 적습니다.프로토콜 과 포트범위 에는 all 을 쓸 수 있습니다.
만드는 것
| 파일 | 내용 |
|---|---|
| /root/sgnacl/sg.csv | 세 계층 보안그룹 규칙 |
| /root/sgnacl/nacl.csv | app 서브넷 NACL |
| /root/sgnacl/nacl-ssh.csv · 03-order.md | 순서 함정과 그 설명 |
| /root/sgnacl/nacl_eval.py | 규칙표를 읽는 평가기 |
| /root/sgnacl/05-return.md | 응답이 지나는 관문 |
| /root/sgnacl/nacl-db.csv | db 서브넷 가드레일 |
| /root/sgnacl/07-notes.md | 정리 |
참고
4단계의 평가기는 채점기가 숨겨 둔 규칙표로 시험합니다. 넓은 허용이 앞
번호에 있고 좁은 거부가 뒤에 있는 표가 들어 있어서, 보안그룹의 습관대로
거부를 우선시키면 거기서 걸립니다.
단계 7개
- 그룹 참조로 세 계층을 묶는다
- 나가는 길과 돌아오는 길을 함께 연다
- 처음 맞는 규칙에서 끝난다
- 평가기를 직접 짠다
- 응답이 지나는 관문을 센다
- 서브넷 전체에 가드레일을 건다
- 세 가지를 정리한다