✔ GRE Tunnel

◾ Tunneling 기능성

- 서로 다른 네트워크 환경에서 데이터를 전송하는 방식

- 기존 통신망에서 다른 네트워크를 통과하는 것처럼 데이터를 전송

- 프로토콜을 사용하지 않는 통신망에서도 데이터의 전송 가능

- IPv4/ IPv6과 같은 프로토콜 영역을 통해 전송하는 방식을 채택

- Tunneling은 기존의 라우팅을 활용하여 데이터 트래픽을 전송하는 방식을 제공

- Site to Site를 가상의 터널로 연결한 것과 같은 환경

 

◾ GRE(Generic Routing Encapsulation) Tunneling

- GRE는 CISCO에서 개발한 터널링 프로토콜

- IP 인터네트워크 상의 원격 포인트에서 시스코 라우터로 가상 Point to Point 링크를 만들어 연결

- IP 터널 내부의 패킷들을 캡슐화

- 일반적인 GRE 터널링을 이용하여 패킷을 전송하면, 데이터를 암호화 하지 않기 때문에 보안적으로 취약

- IPSec VPN과 같이 사용면 보안성이 올라감

- 암호화를 진행하는 터널링에 비해서 처리속도가 빠름

 

 

◾ 구성 방법

1) 터널 인터페이스 생성

2) IP 주소 지정

3) 터널 출발지 지정

4) 터널 목적지 지정

5) 터널 인터페이스의 네트워크 연결 확립

Router(config)#int tunnel <터널번호> // 터널 번호 : 1-2147483647
Router(config-if)# ip add [터널 IP 주소] [서브넷 마스크]
Router(config-if)# tunnel source [출발지 IP 주소]
Router(config-if)# tunnel destination [도착지 IP 주소]
Router# show int tunnel <터널번호>

show int tunnel <터널 번호>

 

✔ IPSec VPN

◾ VPN?

- Virtual Private Network의 약자로 가상 사설 네트워크를 의미

- Public 네트워크Private 네트워크 처럼 사용하는 모든 기술을 VPN으로 부를 수 있음

 

▪️ VPN의 기능

1. 기밀성(Confidentiality) 유지

- VPN을 통하여 전송되는 데이터를 제3자가 볼 수 없도록 암호화(Encryption)시키고, 수신 측에서는 이를 다시 복호화(Decrytion)시키는 것

 

2. 무결성(Integrity) 확인

- VPN을 통하여 전송되는 데이터가 제3자에 의해 변조되지 않았음을 확인하는 것

 

3. 인증(Authentication)

- VPN을 통하여 통신하는 상대방이 맞는지 확인하는 것

 

4. 재생 방지(Anti-replay)

- 해커가 중간에서 데이터를 캡처했다가 전송하는 재생 공격을 차단하는 기능

 

◾ IPSec VPN?

- IPSec은 IP Security 의 줄임말로 VPN 사용자가 보낸 IP 패킷에 보안을 적용함

- 주로 본사와 지사 간의 통신에 사용됨

- PC 또는 서버와 인접 VPN 게이트웨이 사이의 통신은 평문으로 이루어짐, VPN 게이트웨이는 내부에서 수신한 평문을 VPN 패킷으로 만들어 상대 VPN 게이트웨이에 전송함

- 시스코에서는 라우터, ASA(방화벽) 등을 VPN 게이트웨이로 사용함

- IPSec은 기밀성, 무결성, 인증을 목적으로 함

▪️ 기밀성(Confidentiality)

- 최악의 경우 사용자 패킷에 담겨 있는 정보가 유출되더라도 그 정보를 알아볼 수 없게 만드는 것

- 대칭형 키(Symmetrical Key)와 비대칭형 키(Asymmetrical Key)로 구분

 

▪️ 무결성(Integrity)

- 사용자가 보낸 정보가 전송 중에 가로채여진 후 조작되었는지 여부를 확인하가 위함

※ HMAC

- 해시 정보를 암호화하는 것을 해시 기반 메세지 인증 코드(HMAC)라고 함

- 해커가 조작한 정보에 대한 새로운 해시 값을 계산하더라도 해시 암호화를 위한 키 정보를 모르기 때문에 해시 값을 변경할수 없음

 

▪️ 인증(Authentication)

- IPSec은 자신과 정보를 공유하는 VPN Peer를 인증 함으로써 VPN 통신을 위한 세션을 시작함

- IPSec Peer의 인증은 사전에 공유된 키 정보(PSK : Pre-Shared Key), 전자서명(Digital Signature), 인증서(Digital Certificate) 등으로 이루어짐

 

◾구성 방법 및 실습

1. IKE Phase 1(ISAKMP) 정책 설정

a) VPN 장비 간 인증(Authentication) 키 설정
- pre-shared : 미리 설정한 대칭 키 사용
- rsa-encr : RSA(Rivest, Shamir, Adleman) 방식으로 미리 만든 비대칭 키 사용
- rsa-sig : RSA 방식으로 만들 비대칭 키 사용

b) 암호화 방식 지정 : encryption
- AES(Advanced Encryption Standard)
- 3DES(Triple DES)
- DES(Data Encryption Standard)

c) 키 교환 방식
- Diffie-Hellman Group 1, 2, 5

d) 무결성 확인 방식 설정
- md5(Message Digest 5)
- sha(Secure Hash Standard)

e) 현재의 보안 정책 사용 시간 : Lifetime 설정

# 암호화 할 때 사용할 키에 대한 설정
Router(config)# crypto isakmp policy <번호> : 1-10000
Router(config-isakmp)# encryption [3des | aes | des]
Router(config-isakmp)# hash [md5 | sha]
Router(config-isakmp)# authentication [pre-share | rsa-encr | rsa-sig]
Router(config-isakmp)# group [1 | 2 | 5]

# Peer간 ISAKMP 인증을 위한 암호 지정
Router(config)# crypto isakmp key [0 | 6] [peer간 isakmp 인증을 위한 암호] address [peer IP 주소]
0 : Specifies an UNENCRYPTED password will follow
6 : Specifies an ENCRYPTED password will follow

 

2. IKE Phase 2(IPSec) 정책 설정

a) VPN으로 보호해야할 트래픽 지정

b) 트래픽 보호용으로 사용할 보안 방식 결정 : Transform set
- AH, ESP : 하나의 패킷 내에서 보호되는 데이터의 범위 및 방식
- DES, 3DES, AES : 데이터 암호화 방식
- 무결성 확인 : md5, SHA

※ 참고
.IKE 
- 인터넷이라는 Public에서 안전하게 키를 주고 받을 수 있을지에 대한 이슈
- VPN에서 필수적으로 암호화를 하기 위해 필요한 것이 '키'인데, 그 키를 주고 받아야만 같은 키를 갖고
서로 데이터를 암/복호화 할 수 있음. 그 키를 어떻게 안전하게 주고 받을 수 있을 지에 대한 것을 정의한 것

.ESP
- IPSec 헤더. 무결성과 기밀성 제공

.AH
- 기밀성을 제공하지 않지만, 무결성과 재생 방지를 제공

ESP 혹은 AH만 사용할 수 있고, 두개의 헤더를 같이 사용할 수 있음

Router(config)# ip access-list extended [ACL 이름]
Router(config-ext-nacl)# permit ip [보호할 트래픽 지정] 

Router(config)# crypto ipsec transform-set [IKE 이름] esp-3des esp-sha-hmac

 

3. Phase1 + Phase2 정책 조합

Router(config)crypto map [Crypto Map 이름] <시퀀스> ipsec-isakmp
Router(config-crypto-map)# match address [ACL 이름]
Router(config-crypto-map)# set peer [Peer IP Address]
Router(config-crypto-map)# set transform-set [IKE 이름]

 

4. 인터페이스에 IPSec VPN 적용(활성화)

Router(config)# int tunnel [터널 번호]
Router(config-if)# crypto map [Crypto Map 이름]

GRE Tunneling + IPSec VPN 토폴로지

1. GRE Tunneling

2. IPSec VPN 구성

R1(config)# crypto isakmp policy 1
R1(config-isakmp)# encryption 3des
R1(config-isakmp)# hash md5
R1(config-isakmp)# authentication pre-shared
R1(config-isakmp)# group 2

R1(config)# crypto isakmp key 6 ict address 10.10.12.6

R1(config)# ip access-list extended R13
R1(config-ext-nacl)# permit ip host 192.168.10.1 host 192.168.20.5

R1(config)# crypto ipsec transform-set IKE13 esp-3des esp-sha-hmac

R1(config)# crypto map VPN13 10 ipsec-isakmp
R1(config-crypto-map)# match address R13
R1(config-crypto-map)# set peer 10.10.12.6
R1(config-crypto-map)# set transform-set IKE13

R1(config)# int tunnel 0
R1(config-if)# crypto map VPN13

WIN7에서 WEB서버으로 가는 패킷 ESP

 

'Network > Router' 카테고리의 다른 글

Filtering & PBR  (0) 2024.10.27
FHRP | HSRP, VRRP, GLBP  (0) 2024.10.14
Dynamic Routing  (0) 2024.10.12
NAT  (0) 2024.09.12
Access List  (0) 2024.08.20

+ Recent posts