기본

Encapsulation

터널링 기술의 핵심!!!

터널링이 구성 되면 Original Packet 은 캡슐화가 되기 때문에 내용은 중요하지 않다.

캡슐화 후 전송된 목적지에서 디캡슐화 되는 전체 과정을 터널링이라 부른다.


Tunneling

VPN 구현의 핵심 기술!!

데이터 스트림을 인터넷 상에서 가상의 파이프를 통해 전달 시키는 기술이다.

  • 패킷 내에 터널링할 대상을 캡슐화시켜 목적지까지 전송
  • 하나의 프로토콜이 다른 프로토콜을 감싸는 캡슐화 기능을 통해 운반

두 노드 또는 두 네트워크 간에 **가상의 링크(VPN 등)**를 형성하는 기법이다.

일반적으로 터널링 기법은

  • 암호화 기법 적용 가능
  • 오버레이 네트워크로 구성 가능

VPN

가상사설망(Virtual Private Network)은 인터넷과 같이 여러 사람이 공용으로 사용하는 공중망(Public Network)을 특정인이나 조직이 단독으로 사용하는 사설망(Private Network)처럼 동작시키는 것

대표적으로 아래 2가지

  • 전용선으로 구축하는 것에 비해 훨씬 적은 비용으로 유지가 가능하다.
  • 전용선의 장애에 대비하여 VPN을 이용한 이중화를 구현할 수 있다.

특별한 1가지

  • 전용선 환경에서도 데이터의 보안을 위해 구현한다.
    • Tunneling + Security

VPN Tunneling Protocol

IPSec

  • IP Network 환경에서 VPN을 보호하는 방법을 정의하는 표준
    • 다양한 프로토콜과 알고리즘을 내장한 프레임워크
  • 암호화(기밀성) , 무결성 , 인증 및 재생 방지와 같은 필수 보안 기능 제공
    • 출발지와 목적지 간의 IP 패킷을 보호하고 인증
  • 프레임워크의 유연성 덕분에 새로운 보안 기술을 쉽게 통합 가능

GRE

  • Cisco가 개발한 비보안 사이트 간 VPN 터널링 프로토콜

SSL VPN (Secure Sockets Layer)

  • 웹 브라우저와 웹 서버 간트래픽을 암호화하는데 사용한다.
    • SSL로 언급 하지만 실제로는 표준화된 TSL 를 사용
  • HTTPS를 사용하기 때문에 거의 모든 곳에서 사용이 가능하다.
  • 대부분 SSL VPN은 브라우저를 통해 포털을 제공 하므로 별도 Client Software 불필요
    • 일부 고급기능이 필요한 경우 Client Software 필요

VPN Tunneling Type

Site-to-Site VPN

  • 사이트 간 VPN을 사용하면 각 사이트에 네트워크 장치가 있으며 이 두 네트워크 장치 사이에 VPN 터널을 구축
  • VPN 터널의 각 끝은 내부 IP 패킷을 암호화하고 VPN 헤더, 새 IP 헤더를 추가한 다음 암호화된 패킷을 터널의 다른 끝으로 전달

**Client-to-Site VPN (=**Remote user VPN)

  • 사용자는 자신의 장치에 VPN 클라이언트 설치
  • 사용자의 장치와 원격 VPN 장비 사이에 VPN 터널 구축

Site-to-Site VPN

  1. H1은 데이터에 SrcIP 와 DestIP 설정해 패킷 전송
  2. R1은 IP 패킷을 암호화 하고 VPN 헤더를 추가 후 SrcIP(Tunnel Start) 와 DestIP(Tunnel End)가 Public IP로 설정된 새로운 IP 헤더를 붙여 패킷을 Internet에 전달
  3. Internet 통해 패킷을 전달 받은 R2는 패킷이 정말 R1에서 왔는지 확인 하고, 복호화 해서 데이터를 H2로 전달

Client-to-Site VPN (Remote user)

사용자는 VPN 클라이언트와 R1 사이에 VPN 터널을 설정하여 원격 서버에 접속

암호화 / 복호화 , Encap / Decap 위치만 다를 뿐 동작은 Site-to-Site 와 동일

GRE(Generic Routing Encapsulation)

GRE 동작 방식

GRE는 IP,IPv6,IPX,IPsec 등과 같은 여러 가지 패킷을 IP 패킷에 실어 전송할 때 사용하는 터널링 프로토콜

터널링은 패킷이 특정 네트워크를 통해 전송될 수 있도록 패킷에 넣는 개념

  • 캡슐화라고도 부름

HQ와 지사를 두고 RIP, OSPF 또는 EIGRP와 같은 라우팅 프로토콜을 실행하고자 하는 경우 라우팅 프로토콜을 터널링하여 본사와 지점 라우터가 라우팅 정보를 교환할 수 있습니다.

터널을 구성할 때는 두 장치 간에 포인트 투 포인트 연결을 생성하는 것과 같음

GRE는 원래의 패킷에 GRE를 위한 GRE헤더와 Tunnel IP를 추가

추가 헤더를 사용하여 다른 Layer 3 프로토콜을 페이로드로 지원 (e.g., IP, IPX, AppleTalk)

4바이트 길이의 GRE 헤더에는 GRE 내부의 패킷 정보가 표시

기본적으로 24바이트의 Overhead 발생 (20-IP, 4-GRE, Tunnel MTU=1476)

데이터 암호화 기능은 제공하지 않음 (암호화를 위해서는 IPsec 필요)


GRE over IPsec 동작 방식

보안이 취약한 GRE 패킷을 IPsec으로 보호한다

지사에서는 GRE 터널과 IPsec 터널의 시작 장비가 동일 하지만, 본사에서는 두 장비를 다르게 운용이 가능하다.


GRE 특징

  • 동적인 라우팅 프로토콜을 사용할 수 있음
  • 멀티캐스트 패킷을 전송할 수 있음
  • 동적인 라우팅 프로토콜을 이용하여 이중화 구성이 용이
  • 포인트-투-포인트 , 멀티포인트 구성 가능
  • GRE는 보안에 취약 (IPsec 필요)
  • GRE는 아래의 요구사항을 수용할 수 없음
    • 기밀성
    • 데이터 원본 인증
    • 데이터 무결성

%TUN-5-RECURDOWN: Tunnel0 temporarily disabled due to recursive routing


GRE Configuration Example

  • Tunnel Destination 이 라우팅 테이블에 있어야 함

  • 기본 터널 모드는 pGRE (point-to-point)

  • (optional) keepalive 10 3 = 10초 주기의 keepalive, 3회 재전송

  • HQ 와 Branch 사이에 Dynamic Routing Protocol 운영할 때 주로 사용

    • L2 | New L3 | GRE | L3 | ICMP
    • GRE로 감싸는 DATA 내용 확인 가능 (암호화 X)

GRE Recursive Routing Error

Tunnel 목적지 IP를 Tunnel 통해 학습 하는 경우 (NH : Next Hop)

  1. 데이터의 목적지 IP Routing Lookup → NH Tunnel 확인 (IGP 학습)
  2. Tunnel 목적지 IP Routing Lookup → NH Default 또는 Static , BGP 통해 ISP 방향 확인
  3. New IP Header로 Encapsulation 후 Public Network 통해 전달

✓ 만약 2. 단계에서 구성 오류로 Tunnel 통해 Tunnel 목적지 IP를 학습 하게 되면 NH이 Tunnel 이 됨

%TUN-5-RECURDOWN: Tunnel0 temporarily disabled due to recursive routing

IPsec (Internet Protocol Security)

IPsec 요약

IPsec

  • Unicast 만 지원
  • 암호화 (123 > 345)
    • 암호화에 사용되는 KEY
    • 대칭키 암호화 , 비대칭키 암호화
      • 대칭키 : 동일한 Key 사용 , 간편 , Key값을 서로 공유하는데 문제(취약)
      • 비대칭키 : 암호화 , 복호화 할때 다른 키값을 사용 (공개키,개인키) → 인증서
    • 대칭키 : DES < 3DES < AES
    • KEY 공유 : DH , diffie -hellman key exchange
  • 무결성
    • DATA 변조 유무를 확인
    • HASH : MD5 < SHA
  • 인증
    • 무결성과 같이 사용
    • HASH (MAC)
  • ESP
    • 인증 , 암호화 , 무결성
    • ESP 헤더 뒤로 암호화
    • New L3 | ESP | 192.168.1.1 192.168.2.1 | DATA | ESP Tra | Auth
  • AH
    • 인증 , 무결성
    • NEW L3 | AH | 192.168.1.1 192.168.2.1 | DATA | ESP Tra | Auth
  • ISAKMP (IKE)
    • UDP 500
    • IPsec Tunnel 협상 및 유지 관리
  • 동작 방식
    • 암호화 방식 , 인증 방식 , 무결성 방식 , Protocol (ESP,AH) , Key값 공유
    • Phase 1 (ISAKMP SA)
      • 사전협상 : Phase2를 어떻게 안전하게 협상할지 결정
      • Main Mode : 6단계
      • Peer 인증 : PSK , 인증서
    • Phase 2 (IPsec SA)
      • 실제 IPsec Tunnel에 대한 협상
      • Quick Mode : 3단계

IPsec Configure

Step 1. ISAKMP SA (복수 생성 가능 : Policy 번호)

crypto isakmp policy 10
	encryption des             >> Phase2 통신 암호화 방식
	authentication pre-share   >> Peer 인증 방식
	hash md5                   >> Phase2 무결성 방식
 
group                   >> 암호화 Key 생성 방식
 
crypto isakmp key cisco address 61.250.123.2     >> PSK 지정 (per Peer)

Step 2. IPsec SA (복수 생성 가능 : Transform 이름)

crypto ipsec transform-set MYSET esp-aes esp-sha-hmac
 
MYSET : Transformset 이름
ESP-AES : ESP Protocol을 사용하고 데이터 암호화는 AES 방식
ESP-SHA-HMAC : ESP Protocol을 사용하고 데이터 인증 무결성 방식

Step3. Crypto-MAP (복수 생성 가능 : Crypto map 번호)

crypto map MYMAP 10 ipsec-isakmp
	set peer 61.250.123.2          >> Peer Device 지정 (NEW L3의 Dest로 사용)
	set transform-set MYSET        >> Data에 적용될 Transform-set
	match address 100              >> IPsec 적용 대상 Traffic 지정
	reverse-route                  >> 대상에 대한 Static Route 자동 생성
 
access-list 100 permit ip host 192.168.1.1 host 192.168.2.1 >> IPsec 대상 ACL

Step4.  Crypto MAP 적용

interface g0/2
	crypto map MYMAP