본문 바로가기
Cloud

[AWS]NACL vs Security Group의 Stateless와 Stateful 차이 쉽게 이해하기

by C곰군 2022. 8. 18.

안녕하세요?

곰군입니다.

 

많은 분들이 NACL과 Security Group(이하 SG)필터링 방식에 대해서 이해하기가 어려워하시는 것 같습니다.

그래서 조금 이해하기 쉽게 비유를 들어서 간단하게 설명해보고자 합니다.

 

일단 NACL과 SG의 개념과 차이에 대한 심도있는 공부를 원하신다면,

하기 블로그를 참고하시길 바랍니다.

https://honglab.tistory.com/153

 

[AWS] NACL vs Security Group (Stateless와 Stateful 차이)

# 요약만 확인하기 NACL과 Security Group에 대한 전반적인 개념은 아래 글을 참조하자 https://cleverdj.tistory.com/122 위의 글에서 볼 수 있듯이, NACL은 "서브넷 단위"이고, Security Group은 "서버 단위" 이..

honglab.tistory.com

상기 글 내용 중에서 제가 다룰 내용은 Stateless와 Stateful 차이를 쉽게 이해하는 방법입니다.

 

차이를 쉽게 이해하는 방법은 입(Inbound)/출(outbound)시 신원확인(검사)의 유무라고 생각하시면 편합니다.

  • SG는 Stateful 방식입니다.  
    요청 정보를 저장하여 응답하는 트래픽 제어를 하지 않는다!
    예를 들면 아파트 주차장에 방문객이 들어올 때는(in) 신원을 확인(검사)하지만 나갈때는 검사하지 않는 것과 같습니다.
    해당 예는 많습니다... 비밀번호 치고 들어가는 상가 화장실, 박물관이나 미술관 등등 대부분의 출입제한은 들어올 때를 중심으로 합니다.

    그래서 아웃바운드 트래픽은 제어하지 않는다 = 나갈 때 검사가 없다 = 들어온 것은 자유롭게 나갈 수 있다.
    로 생각하시면 편합니다

  • NACL은 Stateless 방식입니다.
    요청 정보를 따로 저장하지 않아 응답하는 트래픽도 제어를 해줘야 한다!
    예를 들면 해외여행 같은 것이라고 생각하시면 됩니다.
    입국 시(Inbound)에 신원 검사를 하고, 출국 시(Outbound)에도 신원 검사를 하는 것과 같습니다.
    여행 시 입국 신원 검사에서는 통과하면 해외(타겟서버)에 도착할 수 있지만, 출국 신원 검사를 통과하지 못하면 고국(클라이언트)에 돌아올 수 없습니다.

    그러니 아웃바운드 트래픽을 제어해야 한다 = 나갈 때도 검사를 한다 = 들어왔다고 자유롭게 나갈 수 있는 것은 아니다!
    입니다.

    여기까지 읽으셨다면 이제 개념은 이해하셨을 거라고 생각합니다.


  • 이것을 쉽게 기억하는 방법은 SG는 제주도 여행, NACL은 해외여행이라고 생각하시면 됩니다.

    *제주도(남쪽 섬, South Ground=Security Group)는 들어갈 때 표 검사만 하고 나갈 때는 자유롭지만,
    *해외여행(National C Line, 국경을 넘는=NACL)은 들어갈 때 나갈 때 모두 검사한다는 것만 기억하시면 됩니다.
    - 위에 콩글리쉬는 억지로 끼워맞춘 거니 재미로 봐주세요......ㅎ

    위 내용을 이해하셨다면 이제 이 문제를 쉽게 풀 수 있습니다.
    While securing the connection between a company’s VPC and its on-premises data center, a security engineer sent a ping command from an on-premises host (IP address 203.0.113.12) to an Amazon EC2 instance (IP address 172.31.16.139). The ping command did not return a response. The flow log in the VPC showed the following:

    What action should be performed to allow the ping to work?

    A. 
    In the security group of the EC2 instance, allow inbound ICMP traffic.
    B. In the security group of the EC2 instance, allow outbound ICMP traffic.
    C. In the VPC’s NACL, allow inbound ICMP traffic.
    D. In the VPC’s NACL, allow outbound ICMP traffic.





    인바운드는 허용되었지만 아웃바운드로는 나가지 못하고 있습니다.
    SG였으면 나갈 때 검사를 안할텐데... 이 문제에서는 아웃바운드로 나갈 때도 검사를 했나봅니다.
    그럼 답은 무엇일까요?
    정답은 공부하셨으면 아실테니 비공개로 하겠습니다!!ㅎ

 

이상 입니다.

읽어주셔서 감사합니다.

댓글