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] 8장 가상 사설망과 원격 접근 본문

CISCO Networks/Security

[CISCO Network Security] 8장 가상 사설망과 원격 접근

뿅뿅뽁 2018. 7. 7. 12:34

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


오늘은 가상 사설망(VPN)을 알아보겠습니다


오늘날과 같이 해킹사고가 많이 일어나는 상황에서는 독자의 프라이버시를 지켜 줄 무언가가 필요합니다. VPN은 LAN, WAN, 원격 접속 환경에서 독자를 지켜주는 솔루션입니다.


이번장에서는 VPN에 내장된 IPSec이 네트워크의 보안 사고를 예방하는 데 어떤 도움을 주는지 알아보겠습니다.


1. 여러 VPN 기술 개관


1.1 피어모델


피어(peer) VPN 모델은 네트워크 계층에서의 경로 설정이 홉 단위로 이루어집니다.  여기서 홉이란 출발지와 목적지 사이에 위치한 경로의 한 부분입니다. 쉽게 말해 네트워크 장비를 하나 이동할때마다 1홉이라 생각하시면 됩니다.


종단 노드는 다른 종단 노드와 미리 정해진 경로에 따라 통신하는 것이 아니라 VPN 서비스 제공자 네트워크에서 최적의 경로를 동적으로 찾습니다.


그러나 주요 단점 중 하나는 VPN 서비스 제공자 네트워크와 개별 VPN의 모든 네트워크 주소가 각각 서로 달라야 한다는 점입니다.


1.2 오버레이 모델


오버레이(overlay) VPN 모델에서는 네트워크 계층에서 다른 종단 노드로의 경로 결정이 지름길방식(cut-through)으로 이루어집니다. 이 방식에 따라 모든 종단 노드는 서로 간에 물리적 홉이 몇 개가 있는지에 상관 없이 1홉만큼 떨어져 있다고 간주합니다.


이 방식의 장점은 여러 VPN과 VPN 서비스 제공자 네트워크 사이의 주소 지정 방식이 같을 필요가 없다는 것입니다.


그러나 생각해보면 인접 라우터가 많으면 안되므로 확장성 문제가 있습니다.


1.3 링크 계층 VPN


링크 계층 VPN은 OSI 참조 모델의 링크 계층(2계층)에서 구현됩니다. 링크 계층은 네트워킹 플랫폼을 제공하고, 각각의 VPN은 네트워크 계층에서 구성됩니다.


프레임 릴레이(Frame Relay)와 ATM 네트워크는 링크 계층 VPN의 좋은 예입니다.


1.4 네트워크 계층 VPN


네트워크 계층 VPN은 OSI 모델에서 네트워크 계층(3계층)에서 구현됩니다. 네트워크 계층 VPN의 두 가지 종류인 터널링 VPN과 VPDN에 대해 알아보겠습니다.


1.4.1 터널링 VPN


터널링 VPN은 2005년 기준 점점 널리 쓰이고 있고 가장 성장성이 높았다고 합니다. 터널은 출발지와 목적지 라우터간, 라우터-라우터, 호스트-호스트간에 생성될 수 있습니다. 터널링은 점대점 또는 점대다 방식으로 구성될 수 있지만 점대점 터널링이 점대다 터널링보다 훨씬 확장성이 높습니다. 그 이유는 점대점 터널링이 연결수립과 관리적인 측면에서 훨씬 부하가 적긴 때문입니다.


터널링의 장점은 VPN 백본과 VPN에 연결된 서브넷이 유일한 네트워크 주소를 가질 필요가 없다는 것입니다.


라우터-라우터간 터널링에서 동작하는 방식은 공용 WAN을 통해 데이터를 보낼 가상 경로를 만들고 트래픽을 새로운 헤더에 캡슐화합니다. 터널을 통해 포워딩되어야 할 패킷은 앞에 헤더가 붙은 뒤 터널로 전송되고 터널을 빠져 나올 때 패킷의 앞에 붙은 GRE헤더가 제거됩니다.


호스트-호스트간 방식은 L2TP와 PPTP를 알아보시면 될 것 같습니다.


터널링은 개념이 오버레이 VPN과 비슷하여 그쪽으로 분류됩니다.


1.4.2 가상 사설 다이얼 네트워크


가상 사설 다이얼 네트워크(VPDN)은 인터넷을 원격 접속 트래픽을 전송하기 위한 매체로 사용하고 있습니다.


VPDN은 전통적 원격 접속 솔루션에 비해 상당한 비용을 절감해 줄 뿐만 아니라 높은 유연셩도 제공합니다. L2TP와 PPTP는 VPDN 설계에 있어서 중요한 구성요소로 원격 접속 트래픽이 원하는 목적 서비스에 도달하기 위한 터널링 기능을 제공합니다. 따라서 VPDN도 오버레이 VPN 모델로 분류됩니다.


1.4.3 제한된 라우팅 정보 노출


이 방법은 라우트 필터링을 이용해 라우팅 정보를 오직 특정 VPN 구성원에게만 전달합니다. 같은 네트워크 계층 하부구조를 사용하는 여러 VPN이 서로를 구분하는 방법은 라우팅 정보를 다른 VPN 구성원에게 전달하지 않는 것입니다. 


이 방식은 소규모 네트워크 애플리케이션에서 매우 효율적으로 동작합니다. 그리고 피어 VPN 모델로 분류됩니다.


1.5 전송/애플리케이션 계층 VPN


이 VPN은 OSI 참도 모델의 전송과 애플리케이션 계층(4계층,5계층)에서 구현됩니다. 이 VPN과 함께 동작할 애플리케이션은 VPN을 고려하여 작성되어야 합니다.


1.6 인트라넷 VPN


인트라넷 VPN은 기업 고객 서비스 본부, 지역본부, 지사에서 가상 전용회선을 이용해 사내 네트워크에 접근하도록 합니다.


1.7 엑스트라넷 VPN


엑스트라넷 VPN은 외부 고객, 공급업체, 제휴 업체, 기타 관련 기관이 가상 전용회선을 이용해 사내 네트워크에 접근하도록 합니다.


1.8 접속 VPN


접속 VPN은 공공 네트워크를 이용해 기업의 인트라넷 또는 엑스트라넷에 원격 접속할 수 있도록 합니다.



2. Layer 2 Transport Protocol


약칭 L2TP입니다. L2TP는 기존의 Layer 2 Forwarding Protocol와 마이크로소프트의 Point-to-Point Tunneling Protocol (PPTP)의 장점을 결합해 만든것입니다.


L2TP는 전화 접속을 통한 VPN에서 꼭 필요한 구성 요소입니다. L2TP터널링을 사용하면 ISP나 기타 접근 제공업체는 가상 터널을 만들어 원격 지사나 원격 사용자를 기업 네트워크에 연결시킬수 있습니다. L2TP는 서비스 제공 업체의 기존 망을 이용하여 원격 사용자가 기업의 내부에 접속할 수 있도록 합니다. L2TP는 비용이 저렴하고 전용 회선을 구축하는데 드는 시간을 줄일 수 있다는 장점이 있습니다.


L2TP는 VPN의 동작에 필수적인 요소임으로 동작 원리를 알아보고 가겠습니다.


ISP의 PoP(인터넷 접속 게이트웨이)에 있는 L2TP 접근 제어기(LAC)는 원격지 사용자와 메시지를 교환하고 고객의 L2TP 네트워크 서버(LNS)와 L2TP 요청/응답 패킷을 주고 받아 터널을 생성합니다. L2TP는 점대점 연결의 종단 사이를 가상 터널로 연결해 패킷을 주고 받도록 합니다. 원격 사용자가 보낸 프레임을 ISP의 PoP가 받으면, PoP는 프레이밍 정보를 제거하고 L2TP로 캡슐화한 다음 터널을 통해 프레임을 전송합니다. 고객의 홈 게이트웨이는 이 L2TP 프레임을 받고 L2TP 정보를 제거한 다음 적절한 인터페이스로 프레임을 전달합니다.


간단히 말해 A는 B에게 전달하구 B는 A의 정보를 지워서 C에게 전달하는 방식입니다.



3. IPSec


IPSec은 네트워크 계층 보안 문제를 해결하기 위해 만들었습니다. 이것은 단일 프로토콜이나 규약이라기 보다는 공중 IP 네트워크에서 안전한 통신을 하기 위한 공개 표준 프레임웍이라고 할 수 있습니다.


IP는 다른 어떤 네트워크 포로토콜보다 널리 쓰이게 됐고, 제작자의 예상보다 훨씬 큰 성공을 거뒀지만 애초에 보안을 염두에 두고 설계된 프로토콜이 아니었기 때문에 스누핑,시니핑, 세션 하이재킹, MTM공격과 같은 여러 형태의 공격에 취약했습니다.


보안을 구현하는 방법은 여러가지가 있지만 그중 한가지 방법은 네트워크 계층에서 데이터를 보호하는 것입니다. 이 방법을 사용할 경우 상위 애플리케이션이 보안 메커니즘에 대해 전혀 모르더라도 데이터를 보호할 수 있고 IPSec이 방법을 사용합니다.


IPSec기능은 시스코 대부분의 장비에서 지원합니다. 어떤 애플리케이션이든지 데이터를 주고 받으려면 네트워크 계층을 거쳐야 한다는 것을 이용합니다. 네트워크 계층을 보호하면 그 상위 계층 애플리케이션이 자동으로 그 혜택을 받을 수 있습니다.


IPSec의 혜택을 가장 많이 본 프로토콜은 VPN입니다. VPN은 자신만의 전용 알고리즘이나 약한 보안 알고리즘을 사용했기 때문입니다. 그러나 IPSec이 나온 후 대규모 VPN에서도 보안성이 보장되어 널리 사용하게 되었습니다.


3.1 IPSec 구조


IPSec은 세 가지 기능을 제공합니다.


인증,암호화,키교환 이 3가지 입니다. IPSec은 두 종단 간의 안정한 통신을 제공합니다. 이 통신은 본질적으로 보안 연관의 집합으로 어떤 프로토콜로 데이터를 보호해야 할지, 어떤 키를 사용해야 할지를 정의합니다. 두 종단 간에 여러 IPSec 터널이 존재할 수 있습니다. IPSec터널은 서로 다른 데이터 스트림을 보호하며 별도의 보안 연관 집합을 가지고 있습니다.


지금부터는 IPSec에 관하여 자세히 기술해보겠습니다.


3.1.1 보안 연관


IPSec 보안연관 (SA)은 둘 혹은 그 이상의 IPSec 주체가 특정 보안 프로토콜(AH 또는 ESP)의 문맥 안에서 어떻게 보안 서비스를 이용할지를 정의합니다. SA는 여러 정보를 가지고 있지만 그 중에서도 중요한 것은 특정 데이터 흐름을 암호화하는데 쓰이는 공유 키와 공유 키의 수명입니다. SA는 모두 단방향 연결이며 보안 프로토콜마다 유일합니다. 만약 AH와 ESP 서비스 모두를 사용할 경우 2개 이상의 SA를 만들어야 합니다.


하나의 SA는 세 인자로 식별할 수 있습니다.


보안 인자 인덱스(SPI) : 가상 랜덤 32비트 값으로 SA가 처음 생성될 때 SA에 할당됩니다. IP 주소 그리고 보안 프로토콜과 함께 SPI는 특정SA를 유일하게 식별합니다.


IP 목적지 주소 : SA의 목적지 종단점


보안 프로토콜 식별자 : 이것은 AH 또는 ESP입니다. SA는 IPSec이 전송 또는 터널모드중 어느 모드에서 쓰이는지 명시합니다.


3.1.2 재생 방지 기능


재생 방지는 중요한 IPSec의 핵심 기능으로 순서 번호와 데이터 인증을 사용하여 오래되거나 중복된 패킷을 거부합니다.


3.1.3 보안 정책 데이터베이스


SA은 IPSec에서 보안 정책을 적용하는 데 쓰입니다. 이보다 상위 레벨에 있는 보안 정책 데이터베이스(SPD)는 IP 패킷에 어떤 보안 서비스가 어떻게 적용되어야 할지를 지정합니다.


3.1.4 인증 헤더


인증 헤더(AH)는 중요한 IPSec 보안 프로토콜로 패킷 인증과 재상방지 서비스를 제공합니다. 단지 주의할점이 있습니다. NAT과 AH를 동시에 쓰면 호환되지 않기 때문에 반드시 정적 NAT변환으로 설정해야 합니다. 이렇게 안하면 AH헤더가 깨지고 상대방은 패킷을 버립니다.


3.1.5 ESP


ESP(캡슐화 된 보안 유효 탑재량??????.......)는 중요한 IPSec 보안 프로토콜로 데이터 암호화 데이터 인증, 선택적인 재생 방지 서비스를 제공해줍니다. ESP는 혼자서 또는 AH 패킷 인증과 함꼐 쓰일수 있습니다.


3.1.6 수동 IPSec


수동 IPSec에서는 장치 키, 그리고 통신에 쓰이는 시스템이 수동으로 설정됩니다. 그래서 수동 IPSec은 많은 설정이 필요하기 때문에 서렂ㅇ 과정 중에 실수를 할 가능성이 높습니다. 이 방법은 작고, 비교적 정적인 환경에서 쓰는 것이 좋습니다.


3.1.7 인터넷 키 교환


인터넷 키 교환(IKE)은 IPSec에서 쓰이는 키 관리 프로토콜로서 두 주체 사이에 인증된 보안 통신 채널을 생성하고, 보안 연관 정보를 협상합니다. 이 과정을 수정하려면 두 주체가 서로를 인증하고 필요한 키 정보를 교환해야 합니다.


이 방법은 키를 수동으로 설정할 필요가 없고, 상대방을 동적으로 인증, 공개 키 기반 인증과 인증기관(CA)을 사용할 수 있도록 하기 때문에 IPSec의 확장성을 늘려준다는 장점이 있습니다.


3.1.8 인증 방법


IPSec 사용자는 상대방에게 인증을 받아야합니다. 이들 사용자들은 협상 과정을 통해 공통 인증 프로토콜을 결정해야 합니다.


3가지 인증 방법을 보겠습니다.


미리 공유한 키 : 동일한 키를 각 장치에 미리 설정해둡니다.


공개 키 암호화 : 사용자들은 각각 가상 랜덤 숫자를 생성한 뒤 상대방의 공개키를 이용해 그것을 암호화합니다.


전자 서명 : 각 사용자는 데이터를 전자 서명한 뒤 상대방에게 보냅니다.


3.2 IPSec과 Cisco Encryption Technology


IPSec이 개발되어 표준으로 제정되기 전에 시스코는 독자적으로 네트워크 계층 암호화 기술인 Cisco Encryption Technology(CET)를 개발했습니다. CET는 40비트와 56비트 DES암호화 알고리즘을 사용합니다.


CET는 IPSec과 매우 유사합니다. 그러나 IPSec의 독자적인 장점이 있으니 다음과 같습니다.


다중 벤더 상호 운용성 : IPSec은 표준화되었기 때문에 다른 벤더의 동일 장비뿐만 아니라 루엍, 방화벽, 호스트와 같은 다양한 플랫폼과도 상호 운용됩니다.


확장성 : IPSec은 무한한 확장성을 가진 IKE 키 관리 기법과 CA를 지원합니다.


데이터 인증 : CET는 오직 데이터 기밀성만을 제공합니다.


여러개가 있지만 생략하겠습니다 결론은 IPSec이 CET보다 대중성으로 보나 기능으로 보다 좋다는 것입니다.



여기까지가 8장입니다.


8장에서는 VPN을 보았습니다. VPN은 처음 접하신 프로그램은 아마 IP 우회였을 것으로 생각됩니다.


IP 우회는 L2TP와 PPTP를 이용합니다. 실생활에서 사용하는 프로그램이나 여러가지 네트워크 디자인을 보시고 VPN을 접근하시면 좀더 이해가 잘 되실것 같습니다. 


다음 9장은 AAA에 대해 알아보겠습니다.