2020.07.24

보안을 위한 VPN 최적화의 5가지 주요 작업

Susan Bradley | CSO
기업은 향후 재택근무 직원을 지원해야 할 것으로 보인다. 따라서 VPN(Virtual Private Network)에서 취약점이 있는지 지금 바로 점검해야 한다.
 
ⓒ Getty Images Bank

최근 미 NSA(National Security Agency)는 네트워크를 안전하게 보호하기 위해 상시적으로 해야 할 일을 설명한 IPsec 가상사설망 보호(Securing IPsec Virtual Private Networks) 문서를 발간했다. 이 문서가 제시하는 5가지 작업과 이 외에 VPN 연결을 보호하기 위해 할 수 있는 다른 작업을 세부적으로 살펴보자.
 
  • VPN 게이트웨이 공격 표면 줄이기
  • CNSSP 15를 준수하는 암호화 알고리즘 사용
  • 기본 VPN 설정 사용 지양
  • 사용되지 않거나 표준을 준수하지 않는 암호화 제품 제거
  • VPN 게이트웨이와 클라이언트에 공급업체가 제공한 업데이트(패치) 적용


VPN 소프트웨어의 최신 버전 사용

지원되는 최신 VPN 소프트웨어를 사용해야 한다. 미국 컴퓨터침해사고긴급대응팀(USCERT)은 2020년 1월 공격자들이 취약한 펄스 VPN(Pulse VPN) 소프트웨어를 사용해 네트워크에 랜섬웨어를 침투시킨다고 경고했다. 이 취약점은 최악의 시나리오 공격이었다. 즉, "인증되지 않은 원격 공격자가 취약한 VPN 서버에 침투할 수 있다. 공격자는 모든 활성 사용자와 일반 텍스트로 된 이들의 인증 정보를 입수할 가능성이 있다. 또한 VPN 서버에 성공적으로 연결되는 각 VPN 클라이언트에서 공격자가 임의의 명령을 실행할 가능성도 있다." 네트워크를 보호하는 유일한 방법은 제공되는 패치를 적용하는 것이다. 


VPN 연결 확인

VPN 연결을 점검해 가능한 최대한 안전한지 확인해야 한다. 먼저 설정에서 시스템 관리를 최적화한다. 필자는 이전에 분할 터널(split tunnel) VPN 문제와 오피스 365 사용 문제에 대해 설명한 적이 있다. 오랜 시간 동안 최선의 방법은 모든 트래픽이 VPN 터널을 통하도록 하는 것이었다. 클릭투런(click-to-run)과 오피스 365를 사용하는 지금은 이 트래픽을 분할해 사용자의 인터넷 연결을 통과하도록 하고 업무를 위한 나머지 트래픽은 VPN으로 전달하는 형태가 권장된다. 

윈도우 10 엔터프라이즈 에디션 1709 이상에서 마이크로소프트의 올웨이즈 온(Always On) VPN을 사용하고 클라이언트 디바이스가 도메인에 조인하는 경우 디바이스 터널 기능을 설정할 수 있다. 이 기능은 컴퓨터가 사용자 로그인 전에 올웨이즈 온 VPN 연결을 설정할 수 있도록 한다. 이렇게 하면 사용자는 캐시된 인증 정보를 위험 없이 사용할 수 있다.

교육이나 설정을 위해 사무실을 먼저 방문하는 일 없이 원격으로 로그인하는 신규 사용자가 많은 상황에서는 특히 이것이 중요하다. 또한 디바이스 터널을 통해 관리자는 사용자가 로그인하지 않은 상태에서 원격으로 연결된 올웨이즈 온 VPN 클라이언트를 관리할 수 있다. 마지막으로, 디바이스 터널은 관리자가 원격 작업자의 비밀번호를 변경하거나 재설정할 때, 그리고 사용자가 셀프서비스 패스워드 리셋(Self-Service Password Reset, SSPR)을 실행할 때 발생하는 문제를 해결할 수 있다. 


VPN 트래픽 필터링

VPN을 설정하고 나서 VPN 연결을 보호하기 위한 부가적인 단계를 수행하지 않는 경우가 많다. 공격자는 VPN 연결을 스캔하고 이를 통해 침입을 시도한다. 엄격한 트래픽 필터링 규칙을 사용해 VPN 디바이스로 가는 네트워크 트래픽의 포트와 프로토콜, IP 주소를 제한한다. 특정 IP 주소로 필터링할 수 없다면(지금 시점에서는 할 수 없음) 방화벽을 설정해 IPsec 트래픽을 검사, 모니터링하고 IPsec 세션을 검사해야 한다.

시스코 모델을 사용하는 경우, 다음 ACL 예제를 사용하면 ISAKMP 트래픽을 알려진 피어로만 제한할 수 있다.

Access-list deny-ike extended permit udp <source_peer_ip> <destination_peer_ip> eq isakmp 
Access-list deny-ike extended permit udp <source_peer_ip> <destination_peer_ip> eq 4500 
Access-list deny-ike extended permit esp <source_peer_ip> <destination_peer_ip> 
Access-list deny-ike extended deny udp any <destination_peer_ip> eq isakmp 
Access-list deny-ike extended deny udp any <destination_peer_ip> eq 


다음으로, 암호화를 최대한 안전하게 설정한다. 오래된 암호화 설정을 사용하는 경우 공격자의 침해로 기밀성이 손실될 수 있다. 시스코 문서에도 나와 있듯이 다음 명령을 입력해서 현재 사용되는 IPSec SA(Security Associations)를 점검할 수 있다.
 
  • 현재 IPSec SA에 사용되는 설정을 표시하려면 show crypto ipsec sa detail 명령을 실행한다.
  • 피어의 모든 현재 IKE SA를 표시하려면 show crypto isakmp sa 명령을 실행한다.

IPsec VPN 구성에 나와 있듯이, 2020년 6월 기준 CNSSP 15에 따른 최소 권장 ISAKMP/IKE 설정은 다음과 같다.
 
  • 디피-헬만 그룹: 16
  • 암호화: AES-256
  • 해시: SHA-384

다른 공급업체의 경우 방화벽 문서를 참고하거나 직접 공급업체에 문의한다.

 
VPN 설정 검토

VPN에 사용된 기본 설정이나 마법사로 인해 예전의 취약한 설정이 활성화된 경우도 있으므로 이 부분도 확인해야 한다. 방화벽에서 VPN을 설정한 시점을 확인한다. 설정한 후 몇 년이 지났다면 당시 선택한 설정이 지금 기준으로는 충분하지 않을 가능성이 높다. 운영 중단이 발생할 가능성을 감수하고 VPN 구성을 검토해야 한다.

예를 들어 시스코 SA 디바이스의 경우 NSA는 IKEv2를 권장한다. IKEv1 구현은 SHA1만 지원하기 때문이다. 다음 명령을 사용해 ISAKMP/IKEdhk IPsec을 구성할 수 있다.

IKEv2: 
crypto ikev2 policy 1 
encryption [aes-256|aes-gcm-256] 
integrity [sha384|sha512] 
group [16|20] 


IPsec: 
crypto ipsec ikev2 ipsec-proposal <proposal name> 
protocol esp encryption [aes-256|aes-gcm-256] 
protocol esp integrity [sha-384|sha512] 


VPN 패치 적용

펄스 VPN 취약점을 통해 배운 바와 같이 VPN 솔루션에 패치를 배포하는 일은 보안을 위해 매우 중요하다. USCERT가 2019년 4월 24일 강조했듯이 펄스 시큐어(Pulse Secure)는 경보와 함께 여러 취약점을 해결하는 1차 소프트웨어 업데이트를 출시했다. 그러나 2019년 8월 24일 배드 패킷(Bad Packets)이 찾은 패치되지 않은, 업그레이드가 필요한 취약한 VPN 서버의 수는 약 1만 4,500개에 달했다. 펄스 VPN에 대한 공격은 간단한 픽스로 예방이 가능했다. 패치 프로세스를 검토해 방화벽 및 기타 VPN 플랫폼의 패치를 적시에 설치할 수 있도록 해야 한다. editor@itworld.co.kr 


2020.07.24

보안을 위한 VPN 최적화의 5가지 주요 작업

Susan Bradley | CSO
기업은 향후 재택근무 직원을 지원해야 할 것으로 보인다. 따라서 VPN(Virtual Private Network)에서 취약점이 있는지 지금 바로 점검해야 한다.
 
ⓒ Getty Images Bank

최근 미 NSA(National Security Agency)는 네트워크를 안전하게 보호하기 위해 상시적으로 해야 할 일을 설명한 IPsec 가상사설망 보호(Securing IPsec Virtual Private Networks) 문서를 발간했다. 이 문서가 제시하는 5가지 작업과 이 외에 VPN 연결을 보호하기 위해 할 수 있는 다른 작업을 세부적으로 살펴보자.
 
  • VPN 게이트웨이 공격 표면 줄이기
  • CNSSP 15를 준수하는 암호화 알고리즘 사용
  • 기본 VPN 설정 사용 지양
  • 사용되지 않거나 표준을 준수하지 않는 암호화 제품 제거
  • VPN 게이트웨이와 클라이언트에 공급업체가 제공한 업데이트(패치) 적용


VPN 소프트웨어의 최신 버전 사용

지원되는 최신 VPN 소프트웨어를 사용해야 한다. 미국 컴퓨터침해사고긴급대응팀(USCERT)은 2020년 1월 공격자들이 취약한 펄스 VPN(Pulse VPN) 소프트웨어를 사용해 네트워크에 랜섬웨어를 침투시킨다고 경고했다. 이 취약점은 최악의 시나리오 공격이었다. 즉, "인증되지 않은 원격 공격자가 취약한 VPN 서버에 침투할 수 있다. 공격자는 모든 활성 사용자와 일반 텍스트로 된 이들의 인증 정보를 입수할 가능성이 있다. 또한 VPN 서버에 성공적으로 연결되는 각 VPN 클라이언트에서 공격자가 임의의 명령을 실행할 가능성도 있다." 네트워크를 보호하는 유일한 방법은 제공되는 패치를 적용하는 것이다. 


VPN 연결 확인

VPN 연결을 점검해 가능한 최대한 안전한지 확인해야 한다. 먼저 설정에서 시스템 관리를 최적화한다. 필자는 이전에 분할 터널(split tunnel) VPN 문제와 오피스 365 사용 문제에 대해 설명한 적이 있다. 오랜 시간 동안 최선의 방법은 모든 트래픽이 VPN 터널을 통하도록 하는 것이었다. 클릭투런(click-to-run)과 오피스 365를 사용하는 지금은 이 트래픽을 분할해 사용자의 인터넷 연결을 통과하도록 하고 업무를 위한 나머지 트래픽은 VPN으로 전달하는 형태가 권장된다. 

윈도우 10 엔터프라이즈 에디션 1709 이상에서 마이크로소프트의 올웨이즈 온(Always On) VPN을 사용하고 클라이언트 디바이스가 도메인에 조인하는 경우 디바이스 터널 기능을 설정할 수 있다. 이 기능은 컴퓨터가 사용자 로그인 전에 올웨이즈 온 VPN 연결을 설정할 수 있도록 한다. 이렇게 하면 사용자는 캐시된 인증 정보를 위험 없이 사용할 수 있다.

교육이나 설정을 위해 사무실을 먼저 방문하는 일 없이 원격으로 로그인하는 신규 사용자가 많은 상황에서는 특히 이것이 중요하다. 또한 디바이스 터널을 통해 관리자는 사용자가 로그인하지 않은 상태에서 원격으로 연결된 올웨이즈 온 VPN 클라이언트를 관리할 수 있다. 마지막으로, 디바이스 터널은 관리자가 원격 작업자의 비밀번호를 변경하거나 재설정할 때, 그리고 사용자가 셀프서비스 패스워드 리셋(Self-Service Password Reset, SSPR)을 실행할 때 발생하는 문제를 해결할 수 있다. 


VPN 트래픽 필터링

VPN을 설정하고 나서 VPN 연결을 보호하기 위한 부가적인 단계를 수행하지 않는 경우가 많다. 공격자는 VPN 연결을 스캔하고 이를 통해 침입을 시도한다. 엄격한 트래픽 필터링 규칙을 사용해 VPN 디바이스로 가는 네트워크 트래픽의 포트와 프로토콜, IP 주소를 제한한다. 특정 IP 주소로 필터링할 수 없다면(지금 시점에서는 할 수 없음) 방화벽을 설정해 IPsec 트래픽을 검사, 모니터링하고 IPsec 세션을 검사해야 한다.

시스코 모델을 사용하는 경우, 다음 ACL 예제를 사용하면 ISAKMP 트래픽을 알려진 피어로만 제한할 수 있다.

Access-list deny-ike extended permit udp <source_peer_ip> <destination_peer_ip> eq isakmp 
Access-list deny-ike extended permit udp <source_peer_ip> <destination_peer_ip> eq 4500 
Access-list deny-ike extended permit esp <source_peer_ip> <destination_peer_ip> 
Access-list deny-ike extended deny udp any <destination_peer_ip> eq isakmp 
Access-list deny-ike extended deny udp any <destination_peer_ip> eq 


다음으로, 암호화를 최대한 안전하게 설정한다. 오래된 암호화 설정을 사용하는 경우 공격자의 침해로 기밀성이 손실될 수 있다. 시스코 문서에도 나와 있듯이 다음 명령을 입력해서 현재 사용되는 IPSec SA(Security Associations)를 점검할 수 있다.
 
  • 현재 IPSec SA에 사용되는 설정을 표시하려면 show crypto ipsec sa detail 명령을 실행한다.
  • 피어의 모든 현재 IKE SA를 표시하려면 show crypto isakmp sa 명령을 실행한다.

IPsec VPN 구성에 나와 있듯이, 2020년 6월 기준 CNSSP 15에 따른 최소 권장 ISAKMP/IKE 설정은 다음과 같다.
 
  • 디피-헬만 그룹: 16
  • 암호화: AES-256
  • 해시: SHA-384

다른 공급업체의 경우 방화벽 문서를 참고하거나 직접 공급업체에 문의한다.

 
VPN 설정 검토

VPN에 사용된 기본 설정이나 마법사로 인해 예전의 취약한 설정이 활성화된 경우도 있으므로 이 부분도 확인해야 한다. 방화벽에서 VPN을 설정한 시점을 확인한다. 설정한 후 몇 년이 지났다면 당시 선택한 설정이 지금 기준으로는 충분하지 않을 가능성이 높다. 운영 중단이 발생할 가능성을 감수하고 VPN 구성을 검토해야 한다.

예를 들어 시스코 SA 디바이스의 경우 NSA는 IKEv2를 권장한다. IKEv1 구현은 SHA1만 지원하기 때문이다. 다음 명령을 사용해 ISAKMP/IKEdhk IPsec을 구성할 수 있다.

IKEv2: 
crypto ikev2 policy 1 
encryption [aes-256|aes-gcm-256] 
integrity [sha384|sha512] 
group [16|20] 


IPsec: 
crypto ipsec ikev2 ipsec-proposal <proposal name> 
protocol esp encryption [aes-256|aes-gcm-256] 
protocol esp integrity [sha-384|sha512] 


VPN 패치 적용

펄스 VPN 취약점을 통해 배운 바와 같이 VPN 솔루션에 패치를 배포하는 일은 보안을 위해 매우 중요하다. USCERT가 2019년 4월 24일 강조했듯이 펄스 시큐어(Pulse Secure)는 경보와 함께 여러 취약점을 해결하는 1차 소프트웨어 업데이트를 출시했다. 그러나 2019년 8월 24일 배드 패킷(Bad Packets)이 찾은 패치되지 않은, 업그레이드가 필요한 취약한 VPN 서버의 수는 약 1만 4,500개에 달했다. 펄스 VPN에 대한 공격은 간단한 픽스로 예방이 가능했다. 패치 프로세스를 검토해 방화벽 및 기타 VPN 플랫폼의 패치를 적시에 설치할 수 있도록 해야 한다. editor@itworld.co.kr 


X