기본
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
- H1은 데이터에 SrcIP 와 DestIP 설정해 패킷 전송
- R1은 IP 패킷을 암호화 하고 VPN 헤더를 추가 후 SrcIP(Tunnel Start) 와 DestIP(Tunnel End)가 Public IP로 설정된 새로운 IP 헤더를 붙여 패킷을 Internet에 전달
- 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)
- 데이터의 목적지 IP Routing Lookup → NH Tunnel 확인 (IGP 학습)
- Tunnel 목적지 IP Routing Lookup → NH Default 또는 Static , BGP 통해 ISP 방향 확인
- 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 1 >> 암호화 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