이 콘텐츠는 2024년 5월에 마지막으로 업데이트되었으며 작성 당시의 상황을 나타냅니다. Google의 보안 정책 및 시스템은 고객 보호를 지속적으로 개선함에 따라 앞으로도 계속 변경될 수 있습니다.
이 문서에서는 BeyondProd라는 클라우드 네이티브 아키텍처를 사용하여 Google이 인프라 보안을 구현하는 방법을 설명합니다. BeyondProd는 워크로드 보호를 위해 함께 작동하는 인프라의 서비스 및 제어 기능을 의미합니다. 워크로드는 애플리케이션이 완료하는 고유의 태스크를 의미합니다. BeyondProd는 코드 변경 방법 및 사용자 데이터 액세스 방법을 포함하여 환경에서 실행되는 마이크로서비스를 보호하는 데 도움이 됩니다.
이 문서는 정교한 위협들로부터 Google 플랫폼을 보호하기 위해 개발한 Chrome Enterprise Premium, 와 같은 기술을 설명하는 일련의 기술 자료 중 일부입니다. Chrome Enterprise Premium은 Google 플랫폼 및 여기에서 실행되는 서비스에 대해 보안 액세스를 제공하도록 설계된 제로 트러스트 아키텍처를 구현합니다. Chrome Enterprise Premium과 같이 BeyondProd는 방화벽과 같은 기존의 네트워크 경계 보호에 의존하지 않습니다. 대신 BeyondProd는 코드 출처, 서비스 ID, 신뢰할 수 있는 하드웨어와 같은 특성을 사용하여 마이크로서비스 간에 신뢰를 만드는 데 도움을 줍니다. 이러한 신뢰는 Google Cloud 에서 실행되는 소프트웨어 및 Google Cloud고객이 배포하고 액세스하는 소프트웨어로 확장됩니다.
이 문서에서는 BeyondProd의 이점, 해당 서비스 및 프로세스, 이 아키텍처로 마이그레이션을 수행한 방법을 설명합니다. 인프라 보안 개요는 Google 인프라 보안 설계 개요를 참조하세요.
소개
최신 보안 아키텍처는 방화벽이 경계를 보호하고 경계 안의 사용자 또는 서비스를 신뢰하는 기존의 경계 기반 보아 모델을 넘어섰습니다.
현대의 사용자들은 일반적으로 집, 커피숍, 비행기 등 조직의 기존 보안 경계를 벗어나서 모바일 상태로 작업을 수행합니다. Chrome Enterprise Premium에서는 다양한 사용자 ID, 리소스 액세스에 사용되는 기기 ID, 기기 상태, 사용자 행동과 같은 신뢰 신호, 액세스 제어 목록과 같은 여러 요소를 사용해서 회사 리소스에 대해 액세스 권한을 부여합니다.
BeyondProd는 Chrome Enterprise Premium가 사용자에 대해 해결하는 것과 동일한 문제를 프로덕션 서비스에 대해 해결해줍니다. 클라우드 네이티브 아키텍처에서는 단순히 방화벽에만 의존해서 프로덕션 네트워크를 보호할 수 없습니다. 마이크로서비스는 이종 호스트 간의 여러 환경으로 이동 및 배포되고 다양한 신뢰 및 민감도 수준에서 작동합니다. 사용자 신뢰가 기업 네트워크 연결 기능이 아닌 기기의 컨텍스트 인식 상태와 같은 특성에 의존해야 하는 Chrome Enterprise Premium에서와 같이, BeyondProd에서 서비스 신뢰는 IP 주소 또는 호스트 이름과 같은 프로덕션 네트워크 위치보다 코드 출처, 신뢰할 수 있는 하드웨어, 서비스 ID와 같은 특성에 의존해야 합니다.
컨테이너화된 인프라
Google 인프라는 워크로드를 컨테이너의 개별 마이크로서비스로 배포합니다. 마이크로서비스는 애플리케이션이 수행해야 하는 개별 태스크를 여러 서비스로 구분합니다. 각 서비스는 자체 API, 배포, 확장, 할당량 관리를 통해 와 독립적으로 개발 및 관리할 수 있습니다. 마이크로서비스는 독립적인 모듈형으로 나뉘어 동적으로 실행되는 임시 아키텍처로, 여러 호스트와 클러스터뿐 아니라 클라우드에도 분산될 수 있습니다. 마이크로서비스 아키텍처에서 워크로드는 1개 또는 여러 개의 마이크로서비스일 수 있습니다.
컨테이너화된 인프라는 각 마이크로서비스가 이동 및 예약이 가능한 고유한 컨테이너 집합으로 배포된다는 의미입니다. 이러한 컨테이너를 내부적으로 관리하기 위해 Google은 1주일에 수십억 개에 달하는 컨테이너를 배포하는 Borg라는 컨테이너 조정 시스템을 개발했습니다. Borg는 Google의 통합 컨테이너 관리 시스템이며, Kubernetes에 영감을 주었습니다.
컨테이너를 사용하면 시스템 간에 워크로드를 보다 쉽고 효율적으로 예약할 수 있습니다. 마이크로서비스를 컨테이너로 묶으면 유지보수 및 검색을 위해 워크로드를 더 작고 관리하기 쉬운 단위로 분할할 수 있습니다. 이 아키텍처는 필요에 따라 워크로드를 조정합니다. 특정 워크로드에 대한 수요가 많을 경우 필요한 워크로드 규모를 처리하기 위해 동일한 컨테이너의 사본을 실행하는 여러 개의 머신이 있을 수 있습니다.
Google에서 보안은 모든 아키텍처 발전의 핵심 역할을 수행합니다. 이 마이크로서비스 아키텍처 및 개발 프로세스에 대한 목표는 가능한 개발 및 배포 수명 주기 초반에 보안 문제를 해결하는 것입니다. 이때 더 낮은 비용으로 문제를 해결하려면 일관성 있는 표준화된 방법이 필요합니다. 따라서 개발자는 보안에 할애하는 시간을 줄이면서도 보안을 강화할 수 있게 됩니다.
BeyondProd 이점
BeyondProd는 Google 인프라에 많은 자동화 및 보안 이점을 제공합니다. 이러한 이점은 다음과 같습니다.
- 네트워크 에지 보호: 네트워크 공격 및 인터넷에서 승인되지 않은 트래픽으로부터 워크로드를 격리합니다. 경계 접근법은 새로운 개념이 아니지만 클라우드 아키텍처에서도 보안 권장사항으로 남아 있습니다. 경계 접근법은 볼륨 기반의 DoS 공격과 같이 인터넷에서 승인되지 않은 트래픽 및 잠재적 공격으로부터 가능한 한 인프라를 보호하는 데 도움이 됩니다.
- 서비스 간 내제된 상호 신뢰 관계 없음: 인증되었고, 신뢰할 수 있고, 특별히 승인된 호출자 또는 서비스만 다른 모든 서비스에 액세스할 수 있습니다. 공격자가 신뢰할 수 없는 코드를 사용하여 서비스에 액세스하지 못하도록 차단됩니다. 서비스가 손상된 경우 이러한 이점 덕분에 공격자가 자신의 범위를 확장할 수 있는 행동을 수행하지 못하도록 방해할 수 있습니다. 이러한 상호 불신은 세부적인 액세스 제어와 함께 손상으로 인한 영향 범위를 제한하는 데 도움이 됩니다.
- 알려진 출처의 코드를 실행하는 신뢰할 수 있는 머신: 승인된 코드 및 구성만 사용하고 승인 및 확인된 환경에서만 실행되도록 서비스 ID를 제한합니다.
- 서비스 전반의 일관된 정책 시행: 일관된 정책 시행을 통해 서비스 전반에서 액세스 결정을 신뢰할 수 있습니다. 예를 들어 사용자 데이터에 대한 액세스 요청을 확인하는 정책 시행을 만들 수 있습니다. 서비스에 액세스하려면 승인된 최종 사용자가 검증된 요청을 제공하고 관리자가 비즈니스 근거를 제공해야 합니다.