NAT

오유찬·2025년 5월 22일
0

security

목록 보기
13/14

NAT

NAT(Network Address Translation) : 사설 IP 주소를 공인 IP 주소로 변환하거나 공인 IP 주소를 사설 IP 주소로 변환해준다.

그런데 보안에 도움을 준다는 내용이 있어서 생각을 해봤는데, 노드 A에서 외부로 통신을 요청한다고 해보자. gateway에서 A의 사설 IP 주소를 자신의 공인 IP 주소로 변환하여 외부로 전송할텐데, 이게 보안에 정말 도움이 될까 싶었다.

  • 방화벽 효과
  • 사설 IP는 외부에서 직접 접근 불가능
  • 주소 은닉

이 세 가지가 NAT의 특징이라고 했을 때, 주소 은닉에 대한 의문점이었다.

gateway에서 IP를 변환시켜준다고 할 때, 보안이 되려면 gateway에서 저장하는 것 없이 IP를 변환시키고 요청에 대한 응답이 왔을 때 요청 노드의 IP를 찾아서 알아서 연결해줘야 하는 거 아닌가?

NAT에 대한 이해가 잘못된 게, NAT는 그냥 주소 변환 장치일 뿐이고 보안 효과는 그냥 부수적인 것이다. NAT Table을 반드시 메모리에 보존을 해야만 정상 작동한다.

그러면 메모리에 보존하지 않고 작동하는 네트워크 장비나 프로토콜은 진짜 없을까?

sessionless 또는 Stateless NAT
다음 조건이 충족되어야 활용할 수 있다.

  • 요청 시 식별 가능한 정보(IP 외 추가적인 토큰) 넣어서
  • 응답 패킷이 해당 정보를 포함해야
  • Gateway가 저장 없이도 역으로 추적 가능

TCP/IP에는 대부분 응답 패킷에 이런 정보가 없어서 활용 제한적이다. 그리고 요청 시 식별 가능한 정보를 넣어서 하면 이건 그냥 자기가 할 일을 다른 사람한테 넘긴 것 뿐이니 마음에 들지 않는다.

  • 주소 공간이 남아도는 IPv에서는 IPv6 NAT-less 구조(NAT 없이 모든 장치가 전역적으로 고유 IP를 갖는 구조)를 적용할 수 있다.
  • Content-Centric Networking(CCN), Named Data Networking(NDN)
    - IP 주소 기반이 아니라 콘텐츠 이름 기반 라우팅
  • TOR(The Onion Router)
    - 경유 노드들이 다음 노드를 추론할 수 있도록 암호화된 메타데이터 포함
    • 목적지까지 정보가 전해지는 동안 세션 정보 완전히 저장되지 않는다.
    • 라우팅 목적이지 일반 NAT와는 다르다.
profile
보안 시작한 컴과 4학년

0개의 댓글