IPSec 구축으로 데이터 보호하기
- 아래의 두 링크에서 IPSec의 개요와 통신 과정을 살펴보았다. 이를 토대로 직접 통신장비에 IPSec을 적용시켜서, 구동하는 메커니즘을 살펴보고자 한다. 정말로, ESP헤더가 붙어서 통신이 되는지 확인해보자.
[Cisco] Wireshark로 IPSec 통신 과정 살펴보기 [GNS3 / Wireshark]
[구성도]
목차
1. Router 별 기본 Configuration
2. IPSec Configuration
3. IPSec 구축 환경에서 확인해보기
4. Wireshark에서 확인하기
1. Router 별 기본 Configuration
ISP-1#
hostname ISP-1
interface Gi0/0
ip address 11.11.11.10 255.255.255.252
no sh
duplex auto
!
interface Gi0/1
no sh
ip address 111.111.111.110 255.255.255.252
duplex auto
!
router ospf 1
network 11.11.11.10 0.0.0.0 area 0
network 111.111.111.110 0.0.0.0 area 0
!
ISP-2#
hostname ISP-2
interface Gi0/1
no sh
ip address 111.111.111.109 255.255.255.252
duplex auto
!
interface Gi0/0
no sh
ip address 22.22.22.21 255.255.255.252
duplex auto
!
router ospf 1
network 22.22.22.21 0.0.0.0 area 0
network 111.111.111.109 0.0.0.0 area 0
!
A-BB#
hostname A-BB
interface Gi0/0
no sh
ip address 192.168.1.254 255.255.255.0
duplex auto
!
interface Gi0/1
no sh
ip address 11.11.11.9 255.255.255.252
duplex auto
!
router ospf 1
network 11.11.11.9 0.0.0.0 area 0
network 192.168.1.254 0.0.0.0 area 0
!
C-BB#
hostname C-BB
username test password 0 test
enable password test
!
interface Gi0/0
no sh
ip address 192.168.2.254 255.255.255.0
duplex auto
!
interface Gi0/1
no sh
ip address 22.22.22.22 255.255.255.252
duplex auto
!
router ospf 1
network 22.22.22.22 0.0.0.0 area 0
network 192.168.2.254 0.0.0.0 area 0
!
line vty 0 4
login local
transport input telnet
!
PC-1
hostname PC-1
interface e0/0
no sh
ip address 192.168.1.100 255.255.255.0
duplex auto
!
ip route 0.0.0.0 0.0.0.0 192.168.1.254
!
PC-2
hostname PC-2
interface e0/0
no sh
ip address 192.168.2.100 255.255.255.0
duplex auto
!
ip route 0.0.0.0 0.0.0.0 192.168.2.254
!
- 모든 설정을 마치고 A-BB의 Routing Table을 확인한다. 반대편 192.168.2.0/24에 대한 Routing 정보를 OSPF를 통해 출력된다.
- Routing 정보가 있으니, PC-1에서 PC-2로의 Ping을 보내어 반대편까지 통신이 되는지 확인한다.
- 정상적으로 완료되었으며 traceroute를 통하여 경로까지 확인한 결과, 정상이다.
- IPSec 설정 전과 후를 살펴보기 위해서 PC-1에서 C-BB로 Telnet 접속을 해본다.
- 아래와 같이 접속하면, 평문으로 접속되어 접속 후 입력한 모든 값이 출력된다.
- 이제, 데이터 암호화 통신을 위하여 IPSec Configuration을 진행한다.
2. IPSec Configuration
2.1 ) A-BB# - IKEv1 Phase 1
# IPSec Enable
crypto isakmp enable
!
# Phase-1 조건 설정
crypto isakmp policy 10
encr 3des <------ 암호화 알고리즘 설정
hash md5 <------ 인증 알고리즘 설정
authentication pre-share <------ 사전 인증방식
group 2 <------ Key 길이 설정
lifetime 3600 <------ Key 교환 주기 설정
!
crypto isakmp key cisco address 22.22.22.22 <---- 사전 Key 조건 및 Phase-1의 연결장비 주소 설정
!
2.2 ) A-BB# - IKEv1 Phase 2
# Phase-2 조건 설정
crypto ipsec transform-set IPSEC esp-des esp-md5-hmac
!
# Interface에 적용하기 위한 crypto map 생성
crypto map IPSEC-A 10 ipsec-isakmp
set peer 22.22.22.22 <----- Phase-2의 연결장비 주소 설정
set transform-set IPSEC <----- Phase-2 통신시 사용할 암호화 알고리즘 및 인증 알고리즘 적용
match address 101 <----- 정보 보호에 포함할 네트워크 대역 적용(ACL Number)
!
2.3 ) A-BB# - Interface 적용하기
#ACL을 통하여, 데이터 보호가 필요한 대역 지정 - 출발지 192.168.1.0/24 <-> 목적지 192.168.2.0/24
access-list 101 permit ip 192.168.1.0 0.0.0.255 192.168.2.0 0.0.0.255
!
#위에서 생성한 crypto map을 공인망 Interface 에 적용
interface GigabitEthernet0/1
crypto map IPSEC-A
!
2.4 ) C-BB# - IKEv1 Phase 1
crypto isakmp policy 10
encr 3des
hash md5
authentication pre-share
group 2
lifetime 3600
!
crypto isakmp key cisco address 11.11.11.9
!
2.5 ) C-BB# - IKEv1 Phase 2
crypto ipsec transform-set IPSEC esp-des esp-md5-hmac
!
crypto map IPSEC-A 10 ipsec-isakmp
set peer 11.11.11.9
set transform-set IPSEC
match address 101
!
2.6 ) C-BB# - Interface 적용하기
access-list 101 permit ip 192.168.2.0 0.0.0.255 192.168.1.0 0.0.0.255
!
interface GigabitEthernet0/1
crypto map IPSEC-A
!
3. IPSec 구축 환경에서 확인해보기
- ACL이 적용되어 데이터가 보호되는 대역인 192.168.1.0/24에서 Ping 보내었다.
- 막히는 것 없이 정상적으로 데이터가 전송되었다. 전송된 데이터를 살펴보기 전 Phase 별 상태를 점검한다.
3.1) IKEv1 Phase-1
# Phase-1 조건 확인
show crypto isakmp policy
# Phase-1 연결 확인
show crypto isakmp peer
- Phase-1 설정 단계에서 입력한 암호화 / 인증 / hash 알고리즘의 정보를 확인할 수 있다.
- 또한, Lifetime까지 확인 가능하며, peer를 맺은 IP와 Port까지 확인할 수 있다.
3.2) IKEv1 Phase-2
# Phase-2 조건 확인
show crypto ipsec transform-set WORD
# Phase-2 통신 확인 (암/복호화 확인)
show crypto engine connection active
- Phase-2에 대한 정보를 확인할 수 있다. ESP 프로토콜을 터널 모드로 협상하여 IPSec 통신이 이루어진다.
- PC-1에서 보낸 ICMP 패킷의 4개가 암호화/복호화 되어 나간 것을 확인할 수 있다.
4. Wireshark에서 확인하기
- 이번에는 정말로 IPSec을 통하여 데이터가 암호화되는지 확인해보기 위해 Wireshark를 실행한다.
- 동일하게, PC-1에서 PC-2로의 Ping Test를 진행했다.
- 5개의 ICMP Packet을 보낸 후, Wireshark에서 확인한 결과는 다음과 같이 ESP 프로토콜을 통하여 암호화되었다.
- 송/수신한 데이터를 암호화 및 복호화가 정상적으로 이루어졌다.
- A-BB에서도 4+5=9로 테스트한 전체 패킷에 대한 암호화 및 복호화가 이루어졌다.
- 또한, PC-1에서 C-BB로의 Telnet 접속 결과, 데이터가 암호화되어서 초반에 진행했던 Telnet 접속의 결과 달리 암호화되어서 읽을 수 없다.
- ACL에서 지정하지 않은 IP대역에 대한 데이터 보호는 일어나지 않는 것 또한 확인되었다.
'IT > ㄴ Cisco' 카테고리의 다른 글
[CISCO] IPv6 기초 및 정리 (0) | 2023.08.20 |
---|---|
[Cisco] GRE Protocol 알아보기 [GNS3 / Wireshark / ChatGPT] (0) | 2023.08.19 |
[CISCO] Spanning-Tree 보호 기술 [errdisable / BPDUguard / BPDUfilter / Loop guard] (0) | 2023.07.21 |
[CISCO] Etherchannel PAgP / LACP정리 [GNS3] (0) | 2023.07.20 |
[CISCO] Port-Security 기초 및 추가 옵션 [GNS3] (0) | 2023.07.20 |