0Pricing
Security+ Academy · 강의

IPsec, VPN 프로토콜 및 원격 접속 보안

안전한 원격 접속을 위해 IPsec 터널 모드와 전송 모드, SSL-VPN, WireGuard를 비교하고 분할 터널링의 위험을 이해합니다.

IPsec, VPN 프로토콜 및 원격 접속 보안은(는) CoddyKit의 무료 Security+ Academy 강의입니다. 이것은 4개 중 4번째 강의입니다. 아래에서 전체 강의를 무료로 읽을 수 있으며, 내장 코드 에디터와 24/7 AI 튜터와 함께 브라우저에서 직접 실습할 수 있습니다. 이 강의는 Security+ Academy 학습 경로의 일부이며, 진행 상황이 웹과 CoddyKit 앱에 동기화됩니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

VPN이 중요한 이유

Virtual Private Network(VPN)은 public 또는 untrusted network를 통해 encrypted tunnel을 만들어 remote user와 site가 같은 private network에 있는 것처럼 통신할 수 있게 합니다. VPN은 untrusted network(hotel Wi-Fi, public hotspot)에서의 도청을 방지하고, remote employee가 internal resource에 access하도록 하며, branch office를 internet을 통해 안전하게 연결합니다. Security+ exam에서는 IPsec, SSL-VPN, WireGuard와 같은 emerging protocol을 비롯해 여러 VPN technology와 각 technology에 적용되는 security consideration을 평가합니다.

IPsec 개요

IPsec(Internet Protocol Security)은 Layer 3에서 IP traffic을 보호하는 protocol suite입니다. IPsec은 두 가지 mode로 동작합니다. Transport mode는 각 IP packet의 payload만 암호화하고 original IP header는 유지합니다. 이는 end-to-end host communication에 사용됩니다. Tunnel mode는 전체 original packet을 암호화한 뒤 새 IP header로 감싸며, gateway가 tunnel endpoint로 동작하는 site-to-site VPN에 사용됩니다. IPsec은 두 가지 주요 protocol을 사용합니다. AH(Authentication Header)는 integrity와 authentication만 제공하고 encryption은 제공하지 않으며, ESP(Encapsulating Security Payload)는 encryption과 authentication을 모두 제공합니다.

# IPsec protocol comparison
AH (Protocol 51):
  - Authentication + Integrity (HMAC)
  - NO encryption (plaintext payload)
  - Rarely used alone in modern deployments

ESP (Protocol 50):
  - Encryption (AES, 3DES)
  - Authentication + Integrity (HMAC)
  - Provides confidentiality
  - Almost always used instead of AH alone

# IPsec modes
Transport : Original-IP | AH/ESP | Payload
Tunnel    : New-IP | ESP | Original-IP | Payload

IKE와 IPsec Handshake

IKE(Internet Key Exchange)는 IPsec session의 security parameter(algorithm, key)를 negotiation합니다. IKEv1은 두 phase를 사용했습니다. Phase 1은 Phase 2 negotiation을 보호할 secure channel을 establish하고, Phase 2는 실제 IPsec Security Association을 negotiation합니다. IKEv2(현재 standard)는 더 단순하고 빠르며 안정적이고, EAP authentication과 MOBIKE(session 중간의 IP address change 처리)를 기본적으로 지원합니다. 이는 Mobile device에 중요합니다. IPsec Security Association(SA)은 unidirectional이므로 각 direction에는 고유한 encryption key를 가진 별도의 SA가 있습니다.

# IKEv2 negotiation overview
Initiator                    Responder
   |---IKE_SA_INIT request-->|  (propose algorithms)
   |<--IKE_SA_INIT response--|  (accept + key exchange)
   |---IKE_AUTH request----->|  (authenticate identity)
   |<--IKE_AUTH response-----|  (create Child SA = IPsec SA)
   |====Encrypted IPsec=====>|  (data flows)

# Result: two Security Associations (SAs)
# SA1: Initiator -> Responder (encrypt + auth)
# SA2: Responder -> Initiator (encrypt + auth)
# Each SA has its own SPI (Security Parameter Index)

SSL-VPN과 IPsec VPN 비교

IPsec VPN은 Layer 3에서 동작하며 client software가 필요하고 특정 Firewall port를 열어야 하는 경우가 많습니다(UDP 500, NAT traversal용 UDP 4500, ESP Protocol 50). deploy하기는 더 어렵지만 full network-layer access를 제공합니다. SSL-VPN은 HTTPS(TCP 443)를 통해 traffic을 tunnel하므로 거의 모든 Firewall을 통과하며 browser(clientless mode) 또는 thin client에서도 사용할 수 있습니다. SSL-VPN은 outer tunnel에 TLS를 사용하므로 TLS security improvement의 혜택을 받고, 사용자가 더 쉽게 연결할 수 있습니다. Enterprise SSL-VPN product(Cisco AnyConnect, Palo Alto GlobalProtect)는 split tunneling과 endpoint posture assessment도 지원합니다.

# Comparison table
Feature            IPsec VPN        SSL-VPN
Layer              Network (L3)     Application (L7)
Ports needed       UDP 500,4500     TCP 443
Firewall traversal Difficult         Easy
Client software    Required          Optional (browser)
Split tunneling    Supported         Supported
Mobile support     Good (IKEv2)     Excellent
Performance        Generally faster  Slight TLS overhead
Use case           Site-to-site     Remote user access

Split Tunneling

Split tunneling은 VPN client가 corporate network로 향하는 traffic만 VPN tunnel을 통해 route하고, internet으로 향하는 traffic은 corporate security control을 거치지 않고 직접 internet으로 전송하도록 합니다. Security risk는 compromised endpoint가 VPN을 통해 corporate network에 access하는 동시에 direct internet을 통해 malware C2 server와 통신할 수 있다는 점입니다. 결과적으로 corporate network가 attacker와 연결됩니다. Full tunneling은 모든 traffic을 VPN gateway로 route하며, 여기서 corporate security control(web filtering, DLP, IPS)이 traffic을 inspect합니다. 대부분의 security-conscious organization은 bandwidth overhead를 감수하고 full tunneling을 enforce합니다.

# Split tunneling vs full tunneling
# Split tunneling (risky):
# - Traffic to 10.0.0.0/8 -> VPN tunnel
# - All other traffic -> direct internet
# Risk: malware on endpoint can reach C2 + internal network

# Full tunneling (secure):
# - ALL traffic -> VPN gateway
# - Gateway applies web filtering, IPS, DLP
# - Increased gateway bandwidth cost

# Cisco AnyConnect enforce full tunnel:
# vpn-tunnel-protocol ssl-client
# split-tunnel-policy tunnelall

WireGuard

WireGuard는 IPsec과 OpenVPN보다 더 단순하고 빠르며 안전하도록 설계된 modern VPN protocol입니다. WireGuard는 고정된 minimal cryptographic stack을 사용합니다. 대칭 암호화에는 ChaCha20, authentication에는 Poly1305, ECDH key exchange에는 Curve25519, hashing에는 BLAKE2s, hash table key에는 SipHash24를 사용합니다. code base는 4,000 lines 미만(OpenVPN은 100,000 lines 이상)이므로 audit하기 쉽고 attack surface를 줄입니다. WireGuard는 이제 Linux kernel(5.6+)에 내장되어 있으며 모든 주요 platform에서 Supported됩니다.

# WireGuard configuration example
# /etc/wireguard/wg0.conf (server)
[Interface]
PrivateKey = <server_private_key>
Address = 10.100.0.1/24
ListenPort = 51820

[Peer]  # Client peer
PublicKey = <client_public_key>
AllowedIPs = 10.100.0.2/32

# /etc/wireguard/wg0.conf (client)
[Interface]
PrivateKey = <client_private_key>
Address = 10.100.0.2/24
DNS = 10.100.0.1

[Peer]  # Server peer
PublicKey = <server_public_key>
Endpoint = vpn.company.com:51820
AllowedIPs = 0.0.0.0/0  # Full tunnel

Site-to-Site VPN

Site-to-site VPN은 gateway device 사이에 지속적인 encrypted tunnel을 구축하여 전체 network(branch office, data center, cloud VPC)를 연결합니다. 개별 user가 연결하는 remote-access VPN과 달리 site-to-site tunnel은 고정된 endpoint 사이에서 항상 켜져 있습니다. IPsec의 tunnel mode가 가장 일반적인 technology입니다. Configuration에는 양쪽 끝에서 IKE proposal(encryption, integrity, DH group, lifetime)을 일치시켜야 하며, 불일치는 site-to-site troubleshooting에서 가장 흔한 문제입니다. Redundant tunnel과 dead peer detection(DPD)은 primary path에 장애가 발생했을 때 failover를 제공합니다.

# IPsec site-to-site check (strongSwan)
ipsec status
ipsec statusall | grep ESTABLISHED

# Verify SA negotiated correctly
ip xfrm state list
# Shows: SPI, encryption algo, auth algo, mode

# Debug IKE negotiation
ipsec stroke loglevel all 4
tail -f /var/log/syslog | grep -i ike

# Common mismatch errors:
# 'no proposal chosen' = IKE algorithms don't match
# 'TS_UNACCEPTABLE' = Traffic selectors mismatch

VPN Authentication 방법

VPN은 여러 authentication mechanism을 지원합니다. Pre-shared key(PSK): 양쪽 endpoint에 configure하는 shared secret으로, 간단하지만 key가 유출되면 단일 compromise 지점이 됩니다. site-to-site에 적합합니다. Certificate 기반 authentication: 각 client 또는 gateway가 X.509 certificate를 제시하는 방식으로, 더 강력하고 많은 user로 확장할 수 있으며 certificate를 revoke할 수 있습니다. EAP(Extensible Authentication Protocol): RADIUS integration을 지원하여 username/password, MFA(EAP-TTLS, EAP-TLS), Active Directory 연동을 가능하게 합니다. 대부분의 enterprise deployment는 certificate authentication(device identity)과 MFA(user identity)를 결합합니다.

VPN Endpoint Posture Assessment

Modern VPN gateway는 access를 허용하기 전에 endpoint posture check를 수행하여 연결 device가 security requirement를 충족하는지 확인합니다. 검사 항목에는 OS version과 patch level(end-of-life OS reject), antivirus 설치 및 signature 최신 상태, disk encryption 활성화 여부, unauthorized software 설치 여부, Firewall 활성화 여부가 포함됩니다. posture check에 실패한 device는 policy를 충족할 때까지 access가 제한된 quarantine VLAN에 배치되며, 일반적으로 remediation resource만 사용할 수 있습니다. 이를 통해 유효한 credential이 있더라도 compromised personal device가 production corporate network에 직접 access하는 것을 방지합니다.

Always-On VPN

Always-on VPN은 corporate endpoint가 corporate network 외부에 있을 때 지속적인 VPN connection을 유지하도록 합니다. user가 수동으로 connection하는 traditional VPN과 달리 always-on VPN은 login 전에 연결되고(때로는 machine certificate authentication 사용) session 전체에서 connection을 유지합니다. 이를 통해 remote employee의 endpoint traffic도 모두 corporate security control의 inspection을 받습니다. Microsoft DirectAccess(이전 technology)와 Cisco AnyConnect Always-On 및 GlobalProtect와 같은 solution이 이 model을 구현합니다. 단점은 gateway load가 증가한다는 것입니다. 모든 remote endpoint가 permanent session을 유지하기 때문입니다.

VPN Concentrator와 High Availability

VPN concentrator는 대량의 VPN session을 terminate하는 전용 appliance 또는 virtual device로, general-purpose router나 Firewall이 감당하기 어려운 cryptographic processing load를 처리합니다. Enterprise VPN concentrator는 수천 개의 동시 session을 지원하며 authentication을 위한 RADIUS, user lookup을 위한 LDAP/AD, client certificate validation을 위한 certificate authority와 연동합니다. High availability(HA) configuration은 session synchronization을 지원하는 active/standby 또는 active/active cluster를 사용하므로 concentrator 하나에 장애가 발생해도 user의 connection이 끊기지 않습니다. VPN에 의존하는 critical operation을 수행하는 organization에는 적절한 HA planning이 필수입니다.

빠른 확인

이 lesson에서 다룬 CompTIA Security+ (SY0-701) 개념을 제대로 이해했는지 확인해 보십시오.

lesson 요약

이 lesson에서 다음을 배웠습니다. IPsec은 전송 모드 또는 터널 모드에서 AH(무결성만 제공)나 ESP(암호화 + 무결성)를 사용하고, 키 협상을 위해 IKEv2를 활용하여 Layer 3에서 IP 트래픽을 보호합니다. SSL-VPN은 HTTPS를 통해 터널을 구성하므로 IPsec보다 방화벽을 통과하여 배포하기 쉽습니다. 또한 분할 터널링은 VPN이 기업 네트워크에 대한 액세스를 제공하는 동시에 엔드포인트의 악성 코드가 인터넷에 직접 연결되도록 하므로 보안 위험을 만듭니다. 이로써 보안 프로토콜 course를 마쳤습니다. 다음에는 Zero Trust 아키텍처를 살펴보겠습니다.

자주 묻는 질문

“IPsec, VPN 프로토콜 및 원격 접속 보안” 강의는 무료인가요?

네 — “IPsec, VPN 프로토콜 및 원격 접속 보안” 전체 내용을 이 웹사이트에서 무료로 읽을 수 있습니다. 인터랙티브하게 실습하려면(내장 코드 에디터와 24/7 AI 튜터), CoddyKit PRO로 업그레이드하면 Security+ Academy 강의 전체를 잠금 해제할 수 있습니다. Security+ Academy 강의에는 총 4개의 강의가 포함되어 있습니다.

“IPsec, VPN 프로토콜 및 원격 접속 보안”에서 뭘 배우나요?

안전한 원격 접속을 위해 IPsec 터널 모드와 전송 모드, SSL-VPN, WireGuard를 비교하고 분할 터널링의 위험을 이해합니다. 브라우저에서 직접 실행하는 실습 코드로 Security+ Academy을(를) 배우며, 24/7 AI 튜터가 강의를 진행하면서 질문에 답변해줍니다.

Security+ Academy을(를) 시작하는 데 경험이 필요한가요?

사전 경험은 필요하지 않습니다. CoddyKit의 Security+ Academy은(는) 초급자부터 고급 학습자까지를 위해 구성되어 있으므로, 여기서 시작하거나 처음부터 시작할 수 있으며 자신의 속도대로 진행할 수 있습니다. 이것은 4개 중 4번째 강의입니다.

“IPsec, VPN 프로토콜 및 원격 접속 보안” 강의는 얼마나 걸리나요?

대부분의 CoddyKit 강의는 약 5~10분이 소요됩니다. 각 강의는 간결하고 인터랙티브하여 꾸준한 진행이 가능하며, 웹과 앱에서 중단한 부분부터 바로 시작할 수 있습니다.

이 Security+ Academy 강의에서 코드를 작성하고 실행할 수 있나요?

네. 모든 Security+ Academy 강의에는 내장 코드 에디터가 포함되어 있으므로, 브라우저에서 바로 실제 코드를 작성하고 실행한 후 즉시 AI 피드백을 받을 수 있습니다 — 로컬 설정이 필요 없습니다.

이 강의의 모든 강의

  1. 안전하지 않은 프로토콜 교체: Telnet과 SSH, FTP와 SFTP
  2. TLS 버전, 암호 스위트 및 완전 순방향 비밀성
  3. 보안 DNS: DNSSEC 및 HTTPS를 통한 DNS(DoH)
  4. IPsec, VPN 프로토콜 및 원격 접속 보안
← Security+ Academy(으)로 돌아가기