kjh00n의 기록저장소
VPN 본문
VPN (Virtual Private Network)
- 가상 사설 네트워크 → Tunneling + Encryption
- 공용망을 마치 전용선처럼 이용하기 위해 사용하는 기술
- 본사/지사 또는 재택근무자와 회사를 전용선처럼 연결하는 기술
- 터널링을 통해 논리적인 연결을 생성하고 인증/암호화/접근제어를 통해 보안성 제공
- 구성 비용이 적게 소모되며 유연성이 뒤어남
- 관리가 용이함
연결 방식에 따른 분류
Remote Access VPN
- Host - Host 또는 Network - Host 연결
- 재택 근무자, 출장, 외근 직원의 전용선
site-to-site VPN
- Network - Network 연결
- 본사와 지사의 전용선
터널링 방식에 따른 분류
Layer 2 VPN
- L2F (Layer 2 Forwarding)
- PPTP (Point-to-Point Tunneling Protocol)
- L2TP (Layer 2 Tunneling Protocol)
- Metro Ethernet VPN
Layer 3 VPN
- IPsec (Internet Protocol Security)
- ATMP (Ascend Tunnel Management Protocol)
- VTP (Virtual Tunneling Protocol)
- MTLS (Multiple Protocol Label Switching) VPN
Layer 4 VPN
- SSL (Secure Socket Layer)
VPN - Layer 3 VPN
IPsec
- Network Layer에서 동작하는 IP망에서 사용하는 표준 보안 프로토콜
- 인증, 무결성, 기밀성, 재생방지 (재전송 방지) 등의 보안성을 제공
IPsec 구성 프로토콜
- IKE (Internet Key Exchange) → Key 교환, 알고리즘 협상과정을 진행하는 프로토콜
- 인증과 암호화에 필요한 암호 알고리즘의 키를 생성, 분배하는 과정
- ISAKMP (Internet Security Association Key Management Protocol)에 의해 Client와 Server가 가상의 연결 (SA)을 2번 생성하여 과정을 진행한다
- SA (Security Association) [보안 결합, 보안 연계, 보안 연결]
- IPsec으로 통신하는 송/수신자 간에 인증, 암호화 알고리즘과 암호화 키를 공유하는 가상의 관계
- 송신자와 수신자 간의 트래픽에 보안성을 지키기 위해 상호협상에 따라서 생성이 된다
- 1단계 SA (Main Mode)
- 상대방과 자신을 인증하고 실제 데이터를 암호화하는 키를 협상하기 위한 1단계 Key를 생성하는 단계
- 1단계 Key : 장비와 장비 간의 인증, SA 협상을 통한 알고리즘, 인증 정보 확인하기 위한 목적으로 암호화할 때 사용하는 Key
- 6개의 메시지를 통해서 협상을 진행한다.
- message 1,2
- IKE 협상을 위한 SA 정보 교환하는 과정 {인증방식(사전 공유키 방식, RSA 비대칭 키 방식 등) 결정, 암호화 방식 (DES, 3DES, AES) 결정, 무결성 확인 방식(MD5, SHA) 결정, 보안 정책을 적용하는 시간 결정}
- message 3,4
- diffie helman 키 교환 {소수, 정수, 그룹 지정 (그룹은 암호의 크기 지정)}
- message 3,4가 끝나면 송/수신자 간의 똑같은 키를 생성 (1단계 Key 생성)
- message 5,6 (암호화 통신 진행)
- 장비 인증
- 이전에 생성한 1단계 Key를 이용하여 암호화 통신을 진행하고, 그 암호화 통신을 통해 장비의 인증 정보를 교환하고 인증을 수행
- message 1,2
- 상대방과 자신을 인증하고 실제 데이터를 암호화하는 키를 협상하기 위한 1단계 Key를 생성하는 단계
- 2단계 SA (Quick Mode) (암호화 통신 진행)
- 실제 데이터 통신에서 암호화를 할 때 사용될 Key를 생성하는 단계 (2단계 Key)
- 3개의 메시지를 주고받아 진행한다. (3개의 메시지도 암호화 통신을 진행)
- 1단계에서 만들어진 Key로 2단계에서 Key를 생성할 때 필요한 메시지를 암호화한다.
- message 1 (암호화 통신 진행)
- IPsec 암호화통신을 하기 위해 협상정보와 DH(Diffie Helman) 값을 전송 (제안하는거)
- message 2 (암호화 통신 진행)
- IPsec 암호화통신을 하기 위해 협상정보와 DH값을 전송 (확인, 결정)
- message 3 (암호화 통신 진행)
- 서로간의 비밀키 (2단계 Key)를 생성한 이후 한쪽에서 Key에 대한 Hash 값을 생성하여 반대편으로 전송
- 받은 쪽에서는 받은 Hash 값과 자신의 Key로 만든 Hash 값을 비교하여 같은 Key인지 다른 Key인지 확인한다.
- 끝 (IKE 협상과정의 끝)
- 이 이후부터 암호화 통신으로 실제 데이터를 전송한다.
- message 1 (암호화 통신 진행)
- SA (Security Association) [보안 결합, 보안 연계, 보안 연결]
- AH (Authentication Header)
- 데이터를 인증, 재생 (재생성) 방지를 목적으로 하는 프로토콜
- 기밀성을 보장하기 위한 기능은 없다 → 암호화 기능은 없음
- 인증 알고리즘 (MD5 - HMAC, SHA - HMAC 방식 사용)
- 전송 모드 → IP Header(3계층) + AH Header + IP payload(4계층)
- 터널 모드 → NEW IP Header + AH Header + IP Header(3계층) + IP payload(4계층)
- AH Header 필드 구성
- next header : AH Header 다음에 나오는 Header의 종류, 다음에 나오는 프로토콜의 번호
- payload length : AH Header의 크기
- SPI (Security Parameter Index) : 보안 연결(SA) 확인, 구분하기 위한 식별값
- sequence number : 순서번호 (재전송 방지, 재생 방지)
- ICV (Integrity Check Value) : 데이터 해쉬값 (무결성 방지)
- AH Header 필드 구성
- ESP (Encapsulating Security Payload)
- 데이터 인증, 재생 방지, 암호화를 위한 프로토콜
- 기밀성을 보장하기 위한 암호화 기능이 존재한다
- 인증 알고리즘 (MD5 - HMAC, SHA - HMAC 방식 사용)
- 암호화 알고리즘 (DES, 3DES, AES)
- 전송 모드 → IP Header + ESP Header+ IP Payload + ESP trailer + ESP auth
- IP Payload와 ESP trailer가 암호화되서 전송된다
- 터널 모드 → NEW IP Header + ESP Header + IP Header + IP Payload + ESP trailer + ESP auth
- IP Header와 IP Payload, ESP trailer가 암호화되서 전송된다
- ESP Header 구성
- API : 보안 연결(SA)을 확인, 구분하기 위한 식별값
- Sequence number : 순서번호 (재전송 방지, 재생 방지)
- ESP trailer 구성
- Padding : 암호화 블록의 크기를 맞추기 위한 쓰레기 값
- Next Header : 암호화된 데이터 프로토콜의 종류, 번호
- ESP auth
- ICV : 데이터 해쉬값 (무결성 방지)
- ESP Header+ IP Payload + ESP trailer : 전송모드의 해쉬값
- ESP Header + IP Header + IP Payload + ESP trailer : 터널모드의 해쉬값
- ICV : 데이터 해쉬값 (무결성 방지)
- ESP Header 구성
- IP Header와 IP Payload, ESP trailer가 암호화되서 전송된다
- 전송 모드 → IP Header + ESP Header+ IP Payload + ESP trailer + ESP auth
IPsec VPN Mode
- 전송 모드 (Remote Access)
- 출발지 호스트에서 목적지 호스트까지의 모든 트래픽을 암호화 하는 방식
- L3 SDU를 암호화 (L4부터 암호화 수행)
- L3 Header는 암호화를 하지 않는다
- 터널 모드 (Site to Site)
- 출발지 네트워크에서 목적지 네트워크로 전달되는 모든 트래픽을 암호화 하는 방식
- L3 PDU를 암호화 (L3부터 암호화 수행)
- L3 Header는 암호화를 한다 → IP Header부터 암호화가 수행되기 때문에 목적지까지의 경로를 결정, 확인 불가능 (통신X) → 통신하기 위해 NEW IP Header를 추가해야 된다
IPsec에서 사용하는 알고리즘
- 기밀성
- 대칭키 알고리즘 → DES, 3DES, AES
- Key 교환 알고리즘 → DH1, DH2, DH5 …
- 무결성
- HMAC-MD5, HMAC-SHA-1
- 인증
- PSK, 인증서
VPN - Layer 4 VPN
SSL VPN
- SSL을 통해 기밀성을 보장
- IPsec VPN에 비해 구성이 간단하고 관리가 편함
- L5 PDU 암호화
- PKI 기반의 인증, 무결성, 기밀성을 제공
IPsec구성 간단 실습
기본 설정 ↓
PC1 - 10.10.10.1
PC2 - 20.20.20.1
R1
conf t
int fa 0/0
ip addr 10.10.10.254 255.255.255.0
no shu
int fa 0/1
ip addr 100.100.100.1 255.255.255.0
no shu
ip route 0.0.0.0 0.0.0.0 100.100.100.2
R2
conf t
int fa 0/0
ip addr 100.100.100.2 255.255.255.0
no shu
int fa 0/1
ip addr 200.200.200.2 255.255.255.0
no shu
R3
conf t
int fa 0/0
ip addr 20.20.20.254 255.255.255.0
no shu
int fa 0/1
ip addr 200.200.200.1 255.255.255.0
no shu
ip route 0.0.0.0 0.0.0.0 200.200.200.2
R1과 R3에 IPsec 설정을 할거임 ↓
R1
[1단계 SA 설정]
access-list 100 permit ip 10.10.10.0 0.0.0.255 20.20.20.0 0.0.0.255
crypto isakmp policy 10 (1단계 SA의 식별값은 10)
authentication pre-share
encryption aes
hash sha
group 1 (diffie hellman 그룹 지정)
exit
crypto isakmp key 0 1234 address 200.200.200.1 255.255.255.0
(0은 암호화 안함, 6은 암호화 설정, 1234는 비밀번호, address는 암호화 통신할 주소) 1단계 SA 설정 끝
[2단계 SA 설정]
crypto ipsec transform-set TEST esp-aes ah-sha-hmac (TEST라는 이름의 2단계 SA)
mode tunnel (터널 모드 지정)
exit (2단계 SA 설정 끝)
[crypto map 정책 설정]
crypto map vpn1 10 ipsec-isakmp (vpn1이라는 crypto map 정책 생성)
match address 100
set transform-set TEST (2단계 SA는 뭘 가져다가 쓸거냐)
set peer 200.200.200.1
exit
[정책 적용]
int fa 0/1crypto map vpn1exit
R3
[1단계 SA 설정]
access-list 100 permit ip 20.20.20.0 0.0.0.255 10.10.10.0 0.0.0.255
crypto isakmp policy 10
authentication pre-share
encryption aes
hash sha
group 1
exit
crypto isakmp key 0 1234 address 100.100.100.1 255.255.255.0
[2단계 SA 설정]
crypto ipsec transform-set TEST esp-aes ah-sha-hmac
mode tunnel
exit
[crypto map 정책 설정]
crypto map vpn1 10 ipsec-isakmp
match address 100
set transform-set TEST
set peer 100.100.100.1
exit
[정책 적용]
int fa 0/1
crypto map vpn1
exit
IPsec 설정
Crypto map 정책 구성 및 적용
IPsec 설정 순서
1. 조건 지정 2. 1단계 SA 지정 3. 2단계 SA 지정 4. crypto map 생성 5. 인터페이스에 crypto map 적용 |
'보안 장비 운용' 카테고리의 다른 글
VPN 실습 (0) | 2025.01.23 |
---|---|
PBR 실습2 (0) | 2025.01.23 |
PBR 실습 (0) | 2025.01.22 |
PBR (Policy Based Routin) (0) | 2025.01.22 |
Tunneling 실습2 (0) | 2025.01.22 |