Notice
Recent Posts
Recent Comments
Link
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
Tags
more
Archives
Today
Total
관리 메뉴

layer 3

[CISCO Network Security] 5장 NAT / PAT 본문

CISCO Networks/Security

[CISCO Network Security] 5장 NAT / PAT

뿅뿅뽁 2018. 7. 3. 11:27

안녕하세요 뿅뿅뽁입니다.


오늘은 NAT / PAT 을 해보겠습니다.


NAT은 R&S에서 들어보셨겠지만 PAT은 들어보신적이 없으셨을겁니다. PAT은 포트 변환으로 5장에서 다룰 내용은 NAT/PAT이 보안 정책에 어떻게 기여할 수 있는지, NAT의 핵심 기능, 그리고 NAT를 구축할 때 고려해야 할 사항입니다.


이 글을 보시는 분들은 알다시피 NAT의 목적은 보안이 아닙니다.


기존 IPv4의 주소 공간 고갈로 인하여 사설IP와 공인IP를 나누기 위함입니다. 사설 IP 주소는 주로 RFC 1918주소가 쓰이는데 오늘 RFC 1918은 많이 언급될 것 같아 미리 정리 하고 가겠습니다.


0. RFC 1918


초기 인터넷을 만들 때는 인터넷의 수요가 그리 많지 않을 것이라 생각하여 효율적인 주소 할당 문제는 고려 사항이 아니었습니다. 그러나 1990년대 초반에서 중반까지 네트워크에 연결된 컴퓨터의 수가 급격히 증가하여 IP 주소가 급격히 고갈되자 이를 해결 하기 위해 RFC 1918이 제안되었습니다.


RFC 1918은 각 기관에서 내부 네트워크에 사용할 수 있는 세 가지 IP 주소 그룹을 제안하였고 사설 주소는 다음과 같습니다.


1개의 클래스 A 네트워크 주소 : 10.0.0.0  가능한 호스트 주소의 수는 2^24개

16개의 클래스 B 네트워크 주소 : 172.16.0.0~172.31.0.0   가능한 호스트 주소의 수는 2^16개

256개의 클래스 C 네트워크 주소 : 192.168.0.0~192.168.255.0  가능한 호스트 주소의 수는 2^8개


위 주소는 원하는 모든 기관이 사용할 수 있습니다. 다음은 고려해야 할 몇 가지 사항들입니다.


이들 주소는 인터넷 또는 외부 네트워크로 나갈 수 없다.

외부 네트워크와 통신하려면 사설 주소를 유효한 전역 IP 주소로 변환하기 위한 NAT 장치가 필요하다

내부 네트워크의 바깥쪽에 있는 장치는 웹이나 이메일 서버 같은 자원을 직접적으로 볼 수 없다.


1. NAT


NAT은 한 주소 영역에서 다른 주소 영역으로 IP 주소를 매핑시키는 한 방법입니다. 이러한 변환은 투명한 라우팅 기능을 제공합니다. 자세한 기능들은 계속해서 기술하겠습니다.


1.1 투명한 주소 할당


NAT은 내부 네트워크 주소를 외부 네트워크 주소로 또는 그 반대로 변환합니다. 그리고 NAT은 양 네트워크를 오가는 트래픽에 대한 투명 라우팅 기능을 제공한다고 하였습니다. 때때로 이 변환은 전송계층 정보인 TCP/UDP 포트로까지 이루어질 수 있습니다.


할당 방법은 두 가지 방식입니다.


정적 주소 할당 : 이 방식은 내부 네트워크와 외부 네트워크의 호스트간에 1 대 1 주소 매핑을 하는 것을 의미합니다. 이렇게 하면 동일 내부 호스트의 IP를 할당받아 외부로 노출될 가능성이 있어 보안에 특히 신경써야합니다.


동적 주소 할당 : 사용 요구량에 따라 NAT 장치가 동적으로 주를 변환하는 과정입니다.


1.2 투명 라우팅


투명 라우팅이란 분리된 주소 영역 사이에서 전송되는 트래픽의 IP 헤더 내용을 수정하여 목적지 주소 영역에서 제대로 라우팅될 수 있게 하는 과정을 의미합니다.


변환 과정은 3단계로 구성됩니다.


주소 연결 : 내부 IP주소가 외부 주소와 연관되는 단계

주소 검색과 변환 : 세션을 위한 주소 변환 정보가 완성되면 그 세션에 속한 모든 패킷은 주소 검색을 통하여 주소 변환이 됩니다.

주소 해제 : 주소 해제는 내부 호스트 IP주소와 전역 IP 주소가 더 이상 연관 되어 있지 않은 단계입니다. 그 주소가 사용하는 마지막 세션이 종료되었다고 판단할 경우 주소 해제 단계를 수행합니다.


1.3 애플리케이션 레벨 게이트웨이


모든 애플리케이션이 NAT 장치에 의해 쉽게 변환되는 것은 아닙니다. TCP/UDP 포트를 포함하는 애플리케이션일 경우에는 특히 그렇습니다. 이러한 이유 때문에 애플리케이션 레벨 게이트웨이라는 것이 NAT에 내장되기 시작하였습니다. 약칭 ALG는 한 주소 영역의 호스트에 있는 애플리케이션이 다른 주소 영역의 호스트에 있는 애플리케이션에 투명하게 연결할 수 있도록 도와줍니다.


1.4 전통적 NAT 또는 아웃바운드 NAT


전통적 NAT은 내부 호스트와 외부 네트워크에 투명하게 접근할 수 있도록 하는 동적 변환을 의미합니다. 즉 전통적 NAT에서는 초기 아웃바운드 세션이 단방향입니다. 그 후 연결되면 양방향 통신이 일어나는 구조입니다.


즉 공인 IP를 가진 호스트가 사설 IP를 가진 호스트와 연결을 시도할려면 뒤에서 설명 할 정적 NAT를 구성해야 합니다.


1.5 포트 주소 변환


포트 주소 변환 PAT은 기존 network 계층에서 transport 계층 식별자인 TCP/UDP 포트 번호, ICMP 쿼리 식별자까지 변환함으로서 변환의 개념을 한 단계 확대시켰습니다. 


PAT은 내부 네트워크의 여러 호스트가 외부 네트워크의 동일한 IP 주소를 공유하도록 합니다. 이 방법의 장점은 오직 하나의 전약 IP 주소만 있어도 변환을 할 수있다는 것입니다. 즉 내부 IP가 고갈된 상황에서 PAT은 유용하게 사용 할 수 있습니다.


1.6 정적 NAT

1.4에서 말씀드렸듯이 정적 NAT은 내부 또는 외부 네트워크의 호스트에서 시작될 수 있습니다. 방식은 외부 호스트가 내부 호스트의 전역 IP 주소로 패킷을 보내고 NAT 장치는 정적 레코드를 가지고 있기 때문에 변환하여 세션을 연결 할 수있습니다.


1.7 2회 NAT


2회 NAT은 패킷이 주소 영역 경계를 지나갈 때 출발지 주소와 목적지 주소 모두 를 수정하는 NAT의 변종입니다. 내부와 외부 네트워크 모두 겹치는 주소 공간을 가지고 있을 때 꼭 필요합니다. 자주 쓰지는 않지만 중복된 주소 공간을 가지는 두 회사의 네트워크가 병합될 때 사용합니다.





2. 구현 지침


NAT와 PAT을 네트워크에 구현할 때는 여러 가지를 고려해야 합니다.


2.1 내부 IP 주소를 변환할 공개 IP 주소가 몇개나 있는가?


2,2 어떤 종류의 NAT을 사용하건 간에 라우터의 성능을 고려해야 한다.


2.3 내부 네트워크에서 어떤 주소 방식을 사용하고 있는가


2.4 모든 애플리케이션이 NAT와 잘 동작하는 것은 아니다. 어떤 종류의 트래픽이 변환되는지, 그리고 애플리케이션의 기능이 NAT에 영향을 받는지를 미리 파악해야한다. 파악하지 않다면 ALG를 구현해야한다.


2.5 NAT의 단점은 종단간 IP연결성이 훼손된다는 것이다. 이 것으로 해커의 공격을 어느정도는 막을 수 있다.


다음은 정적 NAT을 구현할 때 따라야 할 지침입니다.


2.6 정적으로 주소를 변환해야 할 내부 장치는 몇개인가


2.7 정적으로 주소가 변환되는 장치에 도달할 수 있는 트래픽의 종류를 제한하는 보안 정책을 미리 마련해야 한다.





3. IOS NAT의 IP 텔레포니 지원 기능


 Cisco IOS NAT은 2005년에 통합 IP 텔레포니 제품 솔루션을 지원하는 기능을 추가했다고 합니다. ^^;;


이 부분은 포스팅하고자 하는 부분과 어긋나고 대부분 프로토콜, 표준내용임으로 저도 잘 이해가 안가 생략하겠습니다



여기까지가 NAT과 PAT의 기본 내용입니다.


이번 장에서는 보안에 관하여 나오기 보다는 주로 NAT와 PAT은 어떤 것인가 어떻게 작동하는가에 대해 나온 것 같습니다. 하지만 NAT와 PAT의 어떤 기법을 적용하는지에 따라 보안 취약점이 나오고 취약점을 알아야 해결점을 찾을 수 있기 때문에 네트워크 설계할 때 매우 중요하게 적용될 장이라 생각됩니다.


다음 6장에서는 암호학의 개념과 알고리즘, 공격, 알고리즘 깨는 방법을 다루겠습니다.