2020.08.19

네트워크에서 제로 트러스트를 지원하는 방법

Scott Hogg | Network World
제로 트러스트(Zero Trust)를 간단히 말하면 아무도 믿지 않는 것이다. 네트워크에 액세스하려는 모든 사용자와 디바이스를 확인하고 권한있는 사용자가 각자의 작업을 수행하는데 필요한 리소스에만 액세스하도록 엄격한 액세스 제어와 ID 관리를 시행하는 것이다. 

제로 트러스트는 아키텍처이므로 사용할 수 있는 솔루션이 많지만, 여기서는 네트워크 영역에 적합한 솔루션을 살펴보자.
   

최소 권한

제로 트러스트에 폭넓게 적용되는 원칙 중 하나는 ‘최소 권한’으로 사용자가 각자의 업무를 수행하는데 필요한 충분한 리소스에만 접근 권한을 부여하고 그 이상은 허용하지 않는 것이다. 이를 구현하기 위한 한 가지 방법은 인증, 신뢰, 사용자 역할, 토폴로지를 기준으로 네트워크를 연결되지 않은 섹션으로 나누는 네트워크 세분화(또는 분할)다. 효과적으로 구현되면, 세그먼트에서 호스트를 격리하고 내부망 그리고 데이터센터 내부의 서버 간(혹은 동서 간)(East-West) 통신을 최소화해 호스트가 손상될 경우 부수적인 손상의 ‘폭발 반경’을 제한할 수 있다. 호스트와 애플리케이션은 권한이 있는 제한된 리소스에만 접근할 수 있기 때문에 세분화는 공격자가 네트워크의 나머지 영역에 발판을 확보하는 것을 방지한다. 

엔티티(Entity)는 각 사용자가 누구인지, 네트워크에 액세스하는 디바이스가 무엇이고 어디에 위치했는지, 통신 방법과 액세스가 필요한 이유 등의 맥락에 기초에 리소스에 접근할 수 있는 권한이 부여된다. 
 
네트워크 세분화를 적용하는 다른 방법이 있다. 가장 오래된 방법 중 하나는 물리적 세분화로 전용 서버, 케이블 및 네트워크 장치에 각기 다른 수준의 보안을 설정해 물리적으로 분리하는 것이다. 이는 검증된 방법이지만 각 사용자의 신뢰 수준과 역할에 대해 완전히 별개의 환경을 구축하려면 비용이 많이 들 수 있다. 
 

레이어 2 세분화

또 다른 방법은 최종 사용자와 각자 사용하는 디바이스가 디바이스와 액세스 스위치 간의 인라인 보안 필터링을 통해 격리되는 레이어 2 세분화다. 하지만 각 사용자와 스위치 사이에 방화벽을 설치하는 것은 매우 비쌀 수 있다. 대안으로는 인증 또는 신청자 인증서를 기반으로 액세스 권한을 부여하고 레이어 3 가상 LAN에 각 노드를 할당하는 포트 기반 네트워크 액세스 제어다. 

이런 유형의 방법은 일반적으로 802.1x 표준 및 확장 가능한 인증 프로토콜을 통해 유/무선 액세스 네트워크에서 사용된다. 그러나 기업은 최종 사용자 역할, 인증 자격증명, 디바이스 프로필, 고급 트래픽 필터링에 대한 공급업체의 전체 제품군을 신뢰 수준에 따른 사용자 분류에 활용하지 못할 수 있다. 활용할 수 있다면 사용자 보안을 강화할 수 있다. 
 

레이어 3 세분화

애플리케이션 엔클레이브(enclave)를 만드는 일반적인 방법은 액세스 케이블과 포트를 레이어 3 서브넷(VLAN)으로 분리하고 인라인 필터링을 수행하는 것이다. 필터링은 라우터와 같은 네트워크 장치 또는 사용자의 신원과 역할을 어느정도 인식하는 상태 저장 방화벽이나 프록시 서버가 수행할 수 있다. 대표적인 예가 웹 서버, 앱 서버, 데이터베이스 서버가 별도의 서브넷에 있는 표준 3계층 웹 애플리케이션 아키텍처다.

이러한 방식에는 네트워크가 가상 라우팅 및 전달 컨텍스트와 유사하게 슬라이스로 논리적으로 분리된 소프트웨어 정의 네트워킹 접근 방식인 네트워크 슬라이싱이 있다.

현대적인 방법은 각 서버에 고유한 IPv4나 IPv6/64 프리픽스를 할당하고 설명대로 서브넷을 네트워크 라우터에 알리는 것이다. 해당 서버 서브넷 내의 모든 트래픽의 범위는 각 서버 내에 국한되며, 해당 호스트 내의 가상 네트워크에서 침입이 발생할 수 없다. 

IP 네트워크 위에서 실행되는 오버레이 터널에서 트래픽을 캡슐화해도 네트워크 세분화를 할 수 있으며 방법도 다양하다. VxLAN (Virtual Extensible Local Area Network), 일반 라우팅 캡슐화를 사용하는 네트워크 가상화, 일반 네트워크 가상화 캡슐화, 상태 비저장 전송 터널링, TPC 세분화 오프로드 등의 방법이 포함된다.

내부 식별자로 패킷을 표시하는 패킷 태깅은 인터페이스 간에 신뢰를 형성해 ID와 권한을 기반으로 최종 사용자 디바이스의 패킷을 격리하는데 사용할 수 있다. MPLS, 802.1ad Q-in-Q, 802.1AE MACsec, Cisco TrustSec을 포함한 프로토콜에 태그를 지정할 수 있다. 이에 대한 현대적 방식은 MPLS 또는 IPv6 네트워크를 통한 통신 경로를 제어하기 위해 IPv6 패킷에 특수 라우팅 헤더를 사용하는 세그먼트 라우팅이다. 
 

NIST 권장사항

NIST(National Institute of Standards and Technology, 미국 국립기술표준원)는 제로 트러스트 아키텍처의 논리적 구성요소를 열거하고 일부 배포 스타일에 대한 정의를 제공했다. 여기에는 정책 결정 지점과 정책 시행 지점을 기반으로 사용자를 확인하고 인증하는 것이 포함된다. 이는 미 CSA(Cloud Security Alliance)가 소프트웨어 정의 경계(Software Defined Perimeter, SDP)를 처음 구상한 방식과 유사하다. 

이 방법에는 사용자를 인증한 다음 SDP 게이트웨이에 사용자의 역할 및 권한에 따라 특정 애플리케이션에 대한 액세스를 허용하도록 알리는 SDP 컨트롤러가 포함된다. 이 프로세스는 구식 사용자 이름과 비밀번호, 또는 일회성 비밀번호, 소프트웨어 토큰, 하드 토큰, 모바일 앱, 문자 메시지 등으로 다중 인증(Multi-Factor Authentication, MFA)의 새로운 방식을 사용할 수 있다. 또 다른 방식은 단일 패킷 인증 또는 포트 노킹(Port Knocking)으로, 클라이언트 브라우저 또는 애플리케이션을 사용해 사용자와 각자의 장치를 식별하는 SDP 컨트롤러에 패킷 세트를 보낸다. 

마이크로 세분화, 호스트 격리, 제로 트러스트 네트워킹 등 방식도 다양하다. 일부는 네트워크 장치, 서버 자체, ID 및 액세스 제어 시스템, 프록시 서버나 방화벽과 같은 미들박스에서 구현된다. 제로 트러스트 방식도 호스트 운영체제, 소프트웨어 컨테이너 가상 네트워크, 하이퍼바이저, SDP나 IAP을 사용하는 가상 클라우드 인프라에서 구현할 수 있는 등 광범위하다. 

많은 제로 트러스트 방식은 X.509 인증서, mTLS(Mutual Transport Layer Security), SPA(Single Packet Authentication), MFA와 함께 최종 사용자 노트의 소프트웨어 에이전트를 포함한다. 이들 모두가 네트워크나 서버 또는 보안 관리자가 단독으로 완전히 구현할 수 있는 것은 아니다. 강력한 제로 트러스트 네트워크 아키텍처를 달성하기위해 이러한 기술은 학제 간 IT 팀과의 협력을 통해 구현될 수 있다. editor@itworld.co.kr  


2020.08.19

네트워크에서 제로 트러스트를 지원하는 방법

Scott Hogg | Network World
제로 트러스트(Zero Trust)를 간단히 말하면 아무도 믿지 않는 것이다. 네트워크에 액세스하려는 모든 사용자와 디바이스를 확인하고 권한있는 사용자가 각자의 작업을 수행하는데 필요한 리소스에만 액세스하도록 엄격한 액세스 제어와 ID 관리를 시행하는 것이다. 

제로 트러스트는 아키텍처이므로 사용할 수 있는 솔루션이 많지만, 여기서는 네트워크 영역에 적합한 솔루션을 살펴보자.
   

최소 권한

제로 트러스트에 폭넓게 적용되는 원칙 중 하나는 ‘최소 권한’으로 사용자가 각자의 업무를 수행하는데 필요한 충분한 리소스에만 접근 권한을 부여하고 그 이상은 허용하지 않는 것이다. 이를 구현하기 위한 한 가지 방법은 인증, 신뢰, 사용자 역할, 토폴로지를 기준으로 네트워크를 연결되지 않은 섹션으로 나누는 네트워크 세분화(또는 분할)다. 효과적으로 구현되면, 세그먼트에서 호스트를 격리하고 내부망 그리고 데이터센터 내부의 서버 간(혹은 동서 간)(East-West) 통신을 최소화해 호스트가 손상될 경우 부수적인 손상의 ‘폭발 반경’을 제한할 수 있다. 호스트와 애플리케이션은 권한이 있는 제한된 리소스에만 접근할 수 있기 때문에 세분화는 공격자가 네트워크의 나머지 영역에 발판을 확보하는 것을 방지한다. 

엔티티(Entity)는 각 사용자가 누구인지, 네트워크에 액세스하는 디바이스가 무엇이고 어디에 위치했는지, 통신 방법과 액세스가 필요한 이유 등의 맥락에 기초에 리소스에 접근할 수 있는 권한이 부여된다. 
 
네트워크 세분화를 적용하는 다른 방법이 있다. 가장 오래된 방법 중 하나는 물리적 세분화로 전용 서버, 케이블 및 네트워크 장치에 각기 다른 수준의 보안을 설정해 물리적으로 분리하는 것이다. 이는 검증된 방법이지만 각 사용자의 신뢰 수준과 역할에 대해 완전히 별개의 환경을 구축하려면 비용이 많이 들 수 있다. 
 

레이어 2 세분화

또 다른 방법은 최종 사용자와 각자 사용하는 디바이스가 디바이스와 액세스 스위치 간의 인라인 보안 필터링을 통해 격리되는 레이어 2 세분화다. 하지만 각 사용자와 스위치 사이에 방화벽을 설치하는 것은 매우 비쌀 수 있다. 대안으로는 인증 또는 신청자 인증서를 기반으로 액세스 권한을 부여하고 레이어 3 가상 LAN에 각 노드를 할당하는 포트 기반 네트워크 액세스 제어다. 

이런 유형의 방법은 일반적으로 802.1x 표준 및 확장 가능한 인증 프로토콜을 통해 유/무선 액세스 네트워크에서 사용된다. 그러나 기업은 최종 사용자 역할, 인증 자격증명, 디바이스 프로필, 고급 트래픽 필터링에 대한 공급업체의 전체 제품군을 신뢰 수준에 따른 사용자 분류에 활용하지 못할 수 있다. 활용할 수 있다면 사용자 보안을 강화할 수 있다. 
 

레이어 3 세분화

애플리케이션 엔클레이브(enclave)를 만드는 일반적인 방법은 액세스 케이블과 포트를 레이어 3 서브넷(VLAN)으로 분리하고 인라인 필터링을 수행하는 것이다. 필터링은 라우터와 같은 네트워크 장치 또는 사용자의 신원과 역할을 어느정도 인식하는 상태 저장 방화벽이나 프록시 서버가 수행할 수 있다. 대표적인 예가 웹 서버, 앱 서버, 데이터베이스 서버가 별도의 서브넷에 있는 표준 3계층 웹 애플리케이션 아키텍처다.

이러한 방식에는 네트워크가 가상 라우팅 및 전달 컨텍스트와 유사하게 슬라이스로 논리적으로 분리된 소프트웨어 정의 네트워킹 접근 방식인 네트워크 슬라이싱이 있다.

현대적인 방법은 각 서버에 고유한 IPv4나 IPv6/64 프리픽스를 할당하고 설명대로 서브넷을 네트워크 라우터에 알리는 것이다. 해당 서버 서브넷 내의 모든 트래픽의 범위는 각 서버 내에 국한되며, 해당 호스트 내의 가상 네트워크에서 침입이 발생할 수 없다. 

IP 네트워크 위에서 실행되는 오버레이 터널에서 트래픽을 캡슐화해도 네트워크 세분화를 할 수 있으며 방법도 다양하다. VxLAN (Virtual Extensible Local Area Network), 일반 라우팅 캡슐화를 사용하는 네트워크 가상화, 일반 네트워크 가상화 캡슐화, 상태 비저장 전송 터널링, TPC 세분화 오프로드 등의 방법이 포함된다.

내부 식별자로 패킷을 표시하는 패킷 태깅은 인터페이스 간에 신뢰를 형성해 ID와 권한을 기반으로 최종 사용자 디바이스의 패킷을 격리하는데 사용할 수 있다. MPLS, 802.1ad Q-in-Q, 802.1AE MACsec, Cisco TrustSec을 포함한 프로토콜에 태그를 지정할 수 있다. 이에 대한 현대적 방식은 MPLS 또는 IPv6 네트워크를 통한 통신 경로를 제어하기 위해 IPv6 패킷에 특수 라우팅 헤더를 사용하는 세그먼트 라우팅이다. 
 

NIST 권장사항

NIST(National Institute of Standards and Technology, 미국 국립기술표준원)는 제로 트러스트 아키텍처의 논리적 구성요소를 열거하고 일부 배포 스타일에 대한 정의를 제공했다. 여기에는 정책 결정 지점과 정책 시행 지점을 기반으로 사용자를 확인하고 인증하는 것이 포함된다. 이는 미 CSA(Cloud Security Alliance)가 소프트웨어 정의 경계(Software Defined Perimeter, SDP)를 처음 구상한 방식과 유사하다. 

이 방법에는 사용자를 인증한 다음 SDP 게이트웨이에 사용자의 역할 및 권한에 따라 특정 애플리케이션에 대한 액세스를 허용하도록 알리는 SDP 컨트롤러가 포함된다. 이 프로세스는 구식 사용자 이름과 비밀번호, 또는 일회성 비밀번호, 소프트웨어 토큰, 하드 토큰, 모바일 앱, 문자 메시지 등으로 다중 인증(Multi-Factor Authentication, MFA)의 새로운 방식을 사용할 수 있다. 또 다른 방식은 단일 패킷 인증 또는 포트 노킹(Port Knocking)으로, 클라이언트 브라우저 또는 애플리케이션을 사용해 사용자와 각자의 장치를 식별하는 SDP 컨트롤러에 패킷 세트를 보낸다. 

마이크로 세분화, 호스트 격리, 제로 트러스트 네트워킹 등 방식도 다양하다. 일부는 네트워크 장치, 서버 자체, ID 및 액세스 제어 시스템, 프록시 서버나 방화벽과 같은 미들박스에서 구현된다. 제로 트러스트 방식도 호스트 운영체제, 소프트웨어 컨테이너 가상 네트워크, 하이퍼바이저, SDP나 IAP을 사용하는 가상 클라우드 인프라에서 구현할 수 있는 등 광범위하다. 

많은 제로 트러스트 방식은 X.509 인증서, mTLS(Mutual Transport Layer Security), SPA(Single Packet Authentication), MFA와 함께 최종 사용자 노트의 소프트웨어 에이전트를 포함한다. 이들 모두가 네트워크나 서버 또는 보안 관리자가 단독으로 완전히 구현할 수 있는 것은 아니다. 강력한 제로 트러스트 네트워크 아키텍처를 달성하기위해 이러한 기술은 학제 간 IT 팀과의 협력을 통해 구현될 수 있다. editor@itworld.co.kr  


X