kjh00n의 기록저장소

VPN 본문

보안 장비 운용

VPN

kjh00n 2025. 1. 23. 12:49

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를 이용하여 암호화 통신을 진행하고, 그 암호화 통신을 통해 장비의 인증 정보를 교환하고 인증을 수행
      • 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 협상과정의 끝)
            • 이 이후부터 암호화 통신으로 실제 데이터를 전송한다.
  • 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) : 데이터 해쉬값 (무결성 방지)
  • 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 : 터널모드의 해쉬값

IPsec VPN Mode

  1. 전송 모드 (Remote Access)
    • 출발지 호스트에서 목적지 호스트까지의 모든 트래픽을 암호화 하는 방식
    • L3 SDU를 암호화 (L4부터 암호화 수행)
    • L3 Header는 암호화를 하지 않는다
  2. 터널 모드 (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

 

1단계 SA 6개 / 2단계 SA 3개
PC1에서 PC2로 ping을 쳤을때 ESP로 날아간다 (암호화 통신 진행된다)


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