IT 정보/MCSE
[MCP/MCSE/MCP/MCSE]VPN에 PPTP, L2TP 터널링 프로토콜
김윤석
2007. 12. 14. 18:23
이번에는 Windows 2000 VPN 서버에서 구현될 수 있는 PPTP, L2TP 터널링 프로토콜에 대한 글입니다.
VPN은 터널링이라는 기법을 이용하여 데이터의 보안을 취하고 있습니다. 터널링이란 서로 다른 연결 기반의 네트워크에서 네트워크 간에 연결을 지향하기 위한 방식입니다. 아래의 그림을 보면 터널링의 개념을 보다 쉽게 이해할 수 있습니다.
일반적인 VPN 연결을 도식화한 그림인데 서버와 클라이언트는 공용망을 이용하여 연결을 생성하고 가상의 터널을 생성하여 서로 데이터를 주고 받습니다. 대개 터널링은 캡슐화, 전송, 탈캡슐화라는 과정을 거치게 됩니다.
VPN이 RRAS의 일부 기능이 되는 까닭은 패킷의 재 라우트가 필요하기 때문일지도 모르겠습니다. 캡슐화라는 것은 원래의 데이터를 전송하고자 하는 연결 기술의 패킷으로 재구성하는 것을 말합니다. VPN C/S는 이러한 과정을 수행하는 소프트웨어나 하드웨어를 지칭하는 말이 되겠지요.
이미 이러한 터널링을 수행하기 위한 잘 알려진 프로토콜이 있습니다. 바로 PPP지요. 많이 들어는 보셨는데 뭔지는 잘 모르고 쓰셨을 겁니다. 그것이 중요한 것은 아니지요. 오늘 얘기는... -_-;;;
PPTP, L2TP 이것이 궁금한 놈들이죠...^^
PPTP는 PPP의 확장판이라고 보시면 됩니다.
PPP는 전화 통신 기반의 터널링 프로토콜이고 PPTP 는 IP기반 네트워크를 이용하기 위한 터널링 프로토콜입니다. PPP는 데이터를 PPP헤더로 감싸서 캡슐화를 하는데 PPTP 는 여기에 GRE(Generic Routing Encapsulation) 헤더와 IP 헤더를 추가하여 IP 인터네트워크를 통해 전송될 수 있도록 패킷을 재구성하는 프로토콜입니다. 보안적인 측면에서 PPTP는 MPPE라는 암호화 기법을 사용하는데 이는 PPP 기반의 암호화 기술과 동일합니다. 약간의 제약이라면 MPPE는 인증 프로토콜을 MS-CHAP v1, v2 or EAP-TLS를 사용했을 경우에만 사용이 가능합니다.
L2TP는 L2F라는 시스코에서 만든 터널링 프로토콜과 PPTP 의 합체(?)라고 보시면 무방할 듯 합니다. PPTP의 단점은 암호화가 약하다는 것인데 (사실 128bit 암호화가 약하다고 말하는 사람은 대단한 해커나 뭘 모르는 사람들의 얘기일 겁니다.-_-;;;) 어쨌거나 약하다는 생각에 시스코와 MS가 합작으로 만들어 낸 것이 L2TP입니다. PPTP는 IP 기반 인터네트워크가 반드시 필요한 반면에 L2TP는 패킷 중심의 네트워크이면 어디서나 사용이 가능합니다. 좀 더 확장성이 있다고 보시면 되겠고, 문제는 보안의 방식을 IPSec을 채택했다는 것 입니다. 주로 인증서 기반의 IPSec을 사용하여 암호화를 처리하기 때문에 보안이 아주 뛰어나다는 장점이 있습니다. 하지만 만능은 없겠죠. ^^
PPTP와 L2TP는 서로 사용 시기가 약간 다르기 때문에 어느 것이 좋고 나쁘다는 결론을 내리기는 쉽지 않습니다. PPTP는 NAT가 가능하고 여러 클라이언트(9X, NT, 2K...)를 지원하는 반면에 L2TP는 NAT가 불가능하고 오로지 2K 클라이언트에서만 동작합니다. 물론 다른 소프트웨어를 사용하는 경우는 예외로 치고 말입니다. 기존 인프라를 최대로 이용하고자 하고 보안의 위험이 다소 약할 때에는 PPTP가 치상의 선택이 될 것이고, 보안을 최고로 하는 환경에서는 L2TP/IPSec이 가장 좋은 솔루션이 될 것 입니다. 아래에 두 프로토콜의 주요한 차이를 보여주는 표가 있습니다.
MS추천학원:
http://www.it-bank.or.kr/ms/main_1.htm
VPN은 터널링이라는 기법을 이용하여 데이터의 보안을 취하고 있습니다. 터널링이란 서로 다른 연결 기반의 네트워크에서 네트워크 간에 연결을 지향하기 위한 방식입니다. 아래의 그림을 보면 터널링의 개념을 보다 쉽게 이해할 수 있습니다.
일반적인 VPN 연결을 도식화한 그림인데 서버와 클라이언트는 공용망을 이용하여 연결을 생성하고 가상의 터널을 생성하여 서로 데이터를 주고 받습니다. 대개 터널링은 캡슐화, 전송, 탈캡슐화라는 과정을 거치게 됩니다.
- 클라이언트는 데이터를 공용망에서 사용하는 패킷의 형태로 데이터를 재포장합니다.
- 그런 다음 공용망을 이용하여 데이터를 전송하고
- 서버는 전송된 패킷의 포장을 풀고 원래 데이터를 자신이 연결된 내부 네트워크로 라우트합니다.
VPN이 RRAS의 일부 기능이 되는 까닭은 패킷의 재 라우트가 필요하기 때문일지도 모르겠습니다. 캡슐화라는 것은 원래의 데이터를 전송하고자 하는 연결 기술의 패킷으로 재구성하는 것을 말합니다. VPN C/S는 이러한 과정을 수행하는 소프트웨어나 하드웨어를 지칭하는 말이 되겠지요.
이미 이러한 터널링을 수행하기 위한 잘 알려진 프로토콜이 있습니다. 바로 PPP지요. 많이 들어는 보셨는데 뭔지는 잘 모르고 쓰셨을 겁니다. 그것이 중요한 것은 아니지요. 오늘 얘기는... -_-;;;
PPTP, L2TP 이것이 궁금한 놈들이죠...^^
PPTP는 PPP의 확장판이라고 보시면 됩니다.
PPP는 전화 통신 기반의 터널링 프로토콜이고 PPTP 는 IP기반 네트워크를 이용하기 위한 터널링 프로토콜입니다. PPP는 데이터를 PPP헤더로 감싸서 캡슐화를 하는데 PPTP 는 여기에 GRE(Generic Routing Encapsulation) 헤더와 IP 헤더를 추가하여 IP 인터네트워크를 통해 전송될 수 있도록 패킷을 재구성하는 프로토콜입니다. 보안적인 측면에서 PPTP는 MPPE라는 암호화 기법을 사용하는데 이는 PPP 기반의 암호화 기술과 동일합니다. 약간의 제약이라면 MPPE는 인증 프로토콜을 MS-CHAP v1, v2 or EAP-TLS를 사용했을 경우에만 사용이 가능합니다.
L2TP는 L2F라는 시스코에서 만든 터널링 프로토콜과 PPTP 의 합체(?)라고 보시면 무방할 듯 합니다. PPTP의 단점은 암호화가 약하다는 것인데 (사실 128bit 암호화가 약하다고 말하는 사람은 대단한 해커나 뭘 모르는 사람들의 얘기일 겁니다.-_-;;;) 어쨌거나 약하다는 생각에 시스코와 MS가 합작으로 만들어 낸 것이 L2TP입니다. PPTP는 IP 기반 인터네트워크가 반드시 필요한 반면에 L2TP는 패킷 중심의 네트워크이면 어디서나 사용이 가능합니다. 좀 더 확장성이 있다고 보시면 되겠고, 문제는 보안의 방식을 IPSec을 채택했다는 것 입니다. 주로 인증서 기반의 IPSec을 사용하여 암호화를 처리하기 때문에 보안이 아주 뛰어나다는 장점이 있습니다. 하지만 만능은 없겠죠. ^^
PPTP와 L2TP는 서로 사용 시기가 약간 다르기 때문에 어느 것이 좋고 나쁘다는 결론을 내리기는 쉽지 않습니다. PPTP는 NAT가 가능하고 여러 클라이언트(9X, NT, 2K...)를 지원하는 반면에 L2TP는 NAT가 불가능하고 오로지 2K 클라이언트에서만 동작합니다. 물론 다른 소프트웨어를 사용하는 경우는 예외로 치고 말입니다. 기존 인프라를 최대로 이용하고자 하고 보안의 위험이 다소 약할 때에는 PPTP가 치상의 선택이 될 것이고, 보안을 최고로 하는 환경에서는 L2TP/IPSec이 가장 좋은 솔루션이 될 것 입니다. 아래에 두 프로토콜의 주요한 차이를 보여주는 표가 있습니다.
MS추천학원:
http://www.it-bank.or.kr/ms/main_1.htm