제로트러스트 NIST 800-207A 요약
작성자 - 재감자숭○ NIST는 클라우드 네이티브 애플리케이션에서 제로트러스트 아키텍처(ZTA)를 구축하기 위한 접근제어 정책 및 지침관련 NIST SP 800-207A*를 발간(’23.9)
▪ 클라우드 네이티브 애플리케이션(Cloud Native Application) - (정의) 기획·설계 단계부터 클라우드 환경을 고려하여 설계한 애플리케이션 - (배경) 클라우드 사용 환경이 확장됨에 따라 클라우드 네이티브 애플리케이션 도입 증가 ⇒ NIST는 클라우드 보안 강화를 위해 네이티브 애플리케이션에 ZTA를 구축하기 위한 접근제어 정책 및 지침 등 분석 보고서 발간 |
* NIST, A Zero Trust Architecture Model for Access Control in Cloud-Native Applications in Multi-Location Environments(NIST Special Publication 800-207A)
□ 기존 클라우드 애플리케이션 한계점
○ (현황) 클라우드 확장에 따라 기업의 플랫폼은 다수의 애플리케이션을 조합하여 구성되며, 서비스 메시*를 통해 트래픽을 관리·제어하고 있음
* 애플리케이션 트래픽을 관리, 추적, 및 보안성 강화를 위한 네트워크 제어방법
- (한계점) 기존 애플리케이션은 클라우드 환경을 고려하지 않고 개발되어 다수의 어플리케이션 조합을 통한 활용 및 관리·제어에 한계점 존재
⇒ 이를 보완하기 위해 클라우드 네이티브 애플리케이션이 도입되는 추세로, 도입 단계부터 보안 내재화를 위한 제로트러스트 아키텍처 적용 필요
□ ZTA 정책 구조 설계 및 구현 방안
○ 효과적인 자원 관리를 위해 기존 서비스 단위의 접근제어 관리 체계에서 최소 권한 및 ID 기반 정책 관리 체계로 전환하도록 설계 원칙 제시
< 정책 구조 설계 원칙 >
▪ 기존 네트워크 기반의 신뢰는 내부 공격 및 침투 가능성이 존재하므로 지양함 ▪ 공격자가 네트워크 안에 이미 존재한다는 가정에 기반한 제로트러스트 정책 정의 ▪ 모든 접근제어는 최소 권한, ID 기반 정책 관리 형태로 수행 ▪ 버전관리, 입력값 유효성 검증 등은 일반 요구사항 외에도 정책 구조의 일부여야 함 |
○ (구현 방안) 기업 환경에 적절한 정책을 정의·분류하고, 서비스 메시를 통해 애플리케이션을 관리·제어하며 지속적인 모니터링 체계 구축
- (정책분류) 네트워크 계층 정책과 ID 기반 계층 정책으로 분류
네트워크 계층 정책 | ID 기반 계층 정책 | |
일반 정책 | 세부 정책 | |
외부에서 들어오는 트래픽 경로를 지정 | 트래픽의 경로를 세밀하게 설정하여 어떤 경로를 통해 목적지 서비스에 도달할지 지정 | 각 서비스간의 트래픽 동작 및 경로를 설정하여 서비스 흐름을 정교하게 제어 |
- (서비스관리) 서비스 메시를 통한 정책 정의, 배포, 시행, 업데이트 등 핵심 역할을 수행하는 필수적인 인프라로, 온프레미스* 환경으로 구성
* 소프트웨어, 서버 또는 기타 기술 인프라가 기업의 물리적인 위치 또는 설치된 환경
- (모니터링 체계) 각 계층 정책의 자원, 트래픽, 접근요청 등 지속적인 관찰 및 보안성 향상을 위한 모니터링 체계 구축
□ 정책 구조 설계 주요 항목
○ 기업들의 클라우드 플랫폼에서 사용되던 기존 정책에서 ZTA 지침에 따른 정책 구조 설계를 위해 필요한 주요 항목들을 다룸
□ 주요 항목
○ (기능) 서비스 식별 정보 제공 및 서비스 검색, 인증 및 권한 부여 등 외부 정책 기반의 권한 엔진을 실행하는 내부 인프라
○ (인프라 계층) 기업 전체 서비스에서 영역 별로 통일된 정책을 정의 및 다양한 유형의 프록시가 존재
<프록시 유형>
▪ (인그레스 프록시) 외부에서 발생한 사용자 또는 서비스 요청에 대한 정책 시행 ▪ (사이드카 프록시) 서비스 간의 정책 시행 ▪ (이그레스 프록시) 내부에서 발생한 요청이 외부의 응용 프로그램으로 향하는 정책 시행 |
○ ZTA 설계를 위해 요구사항을 토대로 설계 진행
<ZTA 설계 요구사항>
▪ (원칙 기반) 인프라의 모든 응용 프로그램에서 제로트러스트 원칙기반으로 시행 ▪ (공격 가능성 고려) 공격자가 네트워크 안에 이미 존재한다는 가정에 기반한 정책 정의 ▪ (접근제어) 모든 접근제어는 최소 권한, ID 기반 분할 형태로 수행 ▪ (정책구조 요구사항) 버전관리, 올바른 입력 유효성 검사 기술 등은 일반 요구사항 외에도 정책 구조의 일부여야 함 |
○ ID 기반 분할 요구사항을 토대로 사용자에 대한 접근제어 수행
<ID 기반 분할 요구사항>
▪ (암호화된 연결) 서비스 간 통신은 위치에 관계없이 도청 방지 및 신뢰성을 위해 암호화 ▪ (서비스 인증) 서비스 연결 당 인증되고 정기적으로 재 인증되는 자격 증명을 제시 ▪ (권한 부여) 프록시가 동적 권한을 시행할 수 없는 경우 외부 권한 서비스 호출이 가능해야 함 ▪ (사용자 인증) 강한 다중 인증(MFA)을 통해 사용자 ID 부여 및 유지해, 각각의 영역에서 자격증명을 인증해야 함 ▪ (사용자 권한 부여) 사용자가 지정된 자원에 대한 작업권한 확인 및 권한 적합성 확인 |
□ 정책구현 세부사항
○ 기업들의 플랫폼이 여러 그룹에서 작은 서비스의 집합들로 구성됨에 따라 기업 ZTA를 실현하기 위한 다중 계층 정책 구현*을 고려
* 기존의 기업들이 사용하던 네트워크 계층과 ID 기반 계층을 결합해 정책을 적용한 방식
□ 정책 구현
○ (정책 비교) 네트워크 계층 기반의 정책만을 사용할 때에 비해 ID 기반 계층 정책을 도입함으로써 보안성과 편의성 향상
<정책 비교> ▪ (제한사항) 보안 요구 사항 기반 정책그룹을 해당 네트워크 정책그룹과 매핑 ▪ (전제 조건) 고유 ID 할당, ID 검증, 인증된 서비스 ▪ (장점) 정책 자동 테스트, Pac* 활성화, 접근제어, 정책 일괄 적용, 단일 정책 * Policy as code의 약자로 코드를 사용하여 정책을 정의, 업데이트, 공유 및 시행하는 접근방식 |
○ (대체 시나리오) 응용 프로그램이 클러스터*에서 진행되며, DMZ*를 통해 외부에서 접속됨, 이때 사이드카 프록시에 의해 정의
* 여러 컴퓨터 또는 서버들이 네트워크상에서 함께 작동해 단일 시스템처럼 동작하는 그룹
** 네트워크 사이에 위치하여 외부와 직접적인 접근을 제한하고 보안을 강화하는 구역
○ (모니터링 프레임워크) 다중 계층 정책 구현을 위해 네트워크 및 ID 기반 계층의 목표를 실현하기 위한 요구사항을 제시
<모니터링 프레임워크 요구사항> ▪ (자원 관리) 기업 소유, 기업이 관리하지 않는 자원, 개인이 소유한 자원을 모두 포함해 모니터링 ▪ (모니터링 대상) 컨테이너, 인프라 요소(서비스 메시 등), 프록시 등을 모니터링 ▪ (접근 및 서비스 호출) 모든 사용자의 접근 요청 및 해당 서비스에 대한 호출에 대한 모니터링을 진행하여 각 활동들을 기록해야 함 ▪ (데이터 모니터링) 기업의 데이터 정보가 변경되면 그 변경 내용을 확인하고, 이 변경이 유효한 요청이나 작업인지 확인해야 함 |