Google Cloud가 자격 증명 도난 위험을 최소화하는 5가지 방법
Panos Mavrommatis
Senior Director, Engineering, Google Cloud Security
Vikram Makhija
Senior Director, Engineering, Google Cloud Security
클라우드 환경을 표적으로 삼는 위협 행위자들은 손상된 클라우드 자격 증명을 악용하는 데 점점 더 집중하고 있습니다. 인간 또는 비인간 자격 증명의 손상은 클라우드 리소스 남용 및 민감한 데이터 유출을 포함한 위험 증가로 이어질 수 있습니다. 이러한 위험은 대부분의 조직에서 자격 증명의 수가 많아짐에 따라 더욱 악화됩니다. 자격 증명이 증가함에 따라 자격 증명이 나타내는 공격 표면도 증가합니다.
최신 Google Cloud Threat Horizon 보고서에 설명된 바와 같이 조직은 자격 증명 보호를 강화할 수 있는 조치를 우선시해야 합니다.
지난주 클라우드 CISO Perspectives 뉴스레터에서 보안 엔지니어링 담당 수석 이사인 Iain Mulholland는 “조직은 강력한 암호 정책, 필수 다단계 인증, 정기적인 사용자 액세스 및 클라우드 스토리지 버킷 보안 검토, 다크 웹에서 유출된 자격 증명 모니터링, 계정 잠금 메커니즘과 같은 자동화 및 인식 전략을 통합해야 합니다.”라고 말했습니다.
오늘 우리는 Google Cloud 보안 전문가의 주요 위험 완화 조치를 자세히 설명합니다. 모든 조직은 클라우드 배포를 보호하기 위한 노력의 일환으로 이러한 완화 조치를 평가해야 합니다.
Google Cloud의 내장 보호 기능 및 추가 보안 조치
Google Cloud는 자격 증명 도난을 완화하는 데 도움이 되는 상시 계정 보호 조치를 제공합니다. 이러한 보호 기능은 대부분 자격 증명 도난 가능성을 감지하고 공격자의 세션을 종료하는 휴리스틱 기반입니다. 또한 의심되는 도난 쿠키의 사용을 몇 시간 대신 몇 분으로 제한합니다.
Google Cloud는 클라우드 콘솔에서 많은 중요한 작업을 허용하기 전에 사용자가 자격 증명의 유효성을 확인하기 위해 재인증하도록 요구합니다. 이 재인증은 결정적으로 또는 위험 점수를 기반으로 수행될 수 있습니다.
Google Cloud는 새로 생성된 조직에 대한 기본 조직 정책을 설정하여 서비스 자격 증명 도난 및 리소스 공유의 일반적인 위험으로부터 보호합니다.
그러나 공격자 전술이 진화함에 따라 다단계 인증(MFA), 세션 보호, 서비스 자격 증명 보호, ID 및 액세스 제어, 보안 모니터링에 걸쳐 추가 방어 계층을 마련하는 것이 중요합니다.
Google Cloud 고객은 자격 증명 도난 방지 기능을 강화하기 위해 다음 조치를 채택하는 것이 좋습니다.
-
다단계 인증(MFA): 고객 지원을 위한 공동 운명 접근 방식의 일환으로 올해 모든 Google Cloud 사용자에게 MFA를 의무화할 계획을 최근에 설명했습니다. 아직 MFA를 활성화하지 않은 경우 의무 시행 전에 다음 단계를 수행할 수 있습니다
-
기본 ID 공급자(IdP)에서 MFA를 활성화합니다. Google Cloud Identity를 기본 IdP로 사용하는 Google Cloud 고객은 이 지침을 따르세요.
-
재인증을 위해 Google Cloud Identity 계정에 MFA 도구를 추가합니다. Google Cloud Identity가 기본 IdP가 아닌 경우 중요한 작업을 허용하기 전에 독립적인 확인 계층을 제공합니다. 이 지침을 따르세요.
-
Google에 액세스할 때 항상(이상적으로는 MFA로) 챌린지를 수행하도록 IdP를 구성합니다. Google Cloud 고객이 SAML 또는 OIDC를 통해 자체 IdP와 함께 Cloud Identity를 사용하는 경우 Cloud Identity는 세션이 만료되거나 Google Cloud에서 재인증이 필요한 경우 IdP에 증명을 요청합니다. 기본 구성에서 IdP는 사용자 마찰을 최소화하기 위해 이러한 모든 증명을 자동으로 승인합니다. 그러나 대부분의 IdP는 항상 자격 증명을 다시 입력하도록 요구하고 Google Cloud에서 증명을 요청할 때마다 항상 MFA를 요구하도록 구성할 수 있습니다. 이 구성은 IdP가 페더레이션하는 모든 앱이 아닌 Google Cloud를 나타내는 앱에만 적용되도록 설정하여 사용자 및 관리 환경을 원활하게 만들 수 있습니다.
-
세션 보호: 세션 보호를 강화하는 데 도움이 되는 네 가지 제어 기능을 권장합니다.
-
세션 길이를 제한하면 도난당한 쿠키의 유용성을 줄일 수 있습니다. 기본 세션 길이는 16시간이며 사용자가 구성할 수 있습니다. 세션 길이 설정에 대한 지침은 여기에서 확인할 수 있으며 세션 길이 관리에 대한 자세한 내용은 여기에서 확인할 수 있습니다.
-
상황 인식 액세스(CAA)를 통해 클라우드 콘솔 및 API에 액세스할 수 있는 IP를 제한하면 도난당한 자격 증명을 쓸모없게 만들 수 있습니다(공격자가 회사 네트워크 또는 VPN IP와 같이 허용 목록에 있는 IP에 액세스할 수 없는 경우).
-
인증서 기반 액세스를 사용하여 클라우드 콘솔 및 Google Cloud API에 액세스하려면 mTLS 인증서가 필요할 수 있습니다. mTLS는 쿠키 도난에 대한 강력한 보호 기능을 제공하며 사용자가 쿠키와 같은 기존 자격 증명 외에 mTLS 인증서를 제시하도록 요구합니다. mTLS 인증서는 일반적으로 사용자 장치의 TPM(Trusted Platform Module)에 저장되므로 공격자가 훔치기가 매우 어렵습니다. 많은 기업에서 이미 사용자에게 mTLS 인증서를 배포하고 있으며 Google Cloud를 통해 고객은 기존 mTLS 인증서를 재사용하거나 Google Cloud 전용으로 새 인증서를 사용할 수 있습니다.
-
액세스 컨텍스트 관리자를 사용하여 컨텍스트 기반 액세스 제한을 구성할 수 있습니다. 이를 통해 Google Cloud 조직 관리자는 프로젝트 및 리소스에 대한 세분화된 속성 기반 액세스 제어를 정의할 수 있습니다. 리소스 요청이 성공하려면 추가 장치 및 사용자 속성을 충족하도록 액세스 수준을 구성할 수 있습니다. 예를 들어 회사에서 관리하는 장치를 사용하여 리소스에 액세스하고 구성하도록 요구할 수 있습니다.
-
서비스 자격 증명 보호: 조직은 비인간 ID에 대한 계층화된 보호를 구축해야 합니다. Google Cloud는 서비스 계정 키 및 API 키를 관리, 사용 및 보호하기 위한 자세한 모범 사례를 제공합니다. 고려해야 할 세 가지 중요한 제어 기능은 다음과 같습니다.
-
서비스 계정 키 생성 비활성화: 이 조직 정책 설정을 사용하면 사용자가 서비스 계정에 대한 영구 키를 생성할 수 없습니다. 서비스 계정 키의 무자격 사용을 허용하는 대신 사용 사례에 맞는 올바른 인증 방법을 선택하고 보다 안전한 대안을 사용할 수 없는 시나리오에 대해서만 서비스 계정 키에 대한 예외를 허용합니다.
-
유출된 서비스 계정 키 자동 비활성화: Google Cloud는 유출된 서비스 계정 키에 대해 공개 리포지토리(Github 및 Gitlab 포함)를 정기적으로 검색합니다. Google Cloud에서 노출된 키를 감지하면 키를 자동으로 비활성화합니다. 또한 클라우드 감사 로그 이벤트를 생성하고 노출된 키에 대한 알림을 프로젝트 소유자 및 보안 담당자에게 보냅니다. DISABLE_KEY 옵션(기본적으로 켜져 있음)을 수정하지 않는 것이 좋습니다.
-
신뢰할 수 있는 네트워크에 서비스 계정 키 바인딩: 서비스 계정에 대한 컨텍스트 인식 액세스를 통해 고객은 서비스 계정을 IP 범위 또는 특정 VPC 네트워크에 바인딩하고 서비스 계정이 이러한 신뢰할 수 있는 네트워크에서만 Google Cloud 서비스 및 API에 액세스할 수 있도록 강제할 수 있습니다. 고객은 이 양식을 사용하여 이 제어에 대한 조기 액세스를 요청할 수 있습니다.
-
ID 및 액세스 제어: 최소 권한 원칙을 준수하면 자격 증명 손상의 영향을 제한하는 데 도움이 될 수 있습니다. 이러한 제어 기능을 사용하여 사용자가 직무 기능을 수행하는 데 필요한 액세스 및 권한만 제한합니다.
-
Google Cloud Identity and Access Management(IAM)를 사용하면 특정 Google Cloud 리소스에 대한 세분화된 액세스 권한을 부여하고 다른 리소스에 대한 액세스를 방지할 수 있습니다. 권한은 역할로 그룹화되고 역할은 인증된 주체에게 부여됩니다. IAM Recommender과 같은 도구를 사용하여 권한을 정기적으로 검토하고 적절하게 조정해야 합니다. Google Cloud 아키텍처 프레임워크는 ID 및 액세스 관리에 대한 추가 모범 사례를 제공합니다.
-
VPC 서비스 제어는 클라우드 리소스에 대한 액세스를 제어하는 강력한 컨텍스트 인식 접근 방식을 지원합니다. 사용자 ID 및 IP 주소와 같은 속성을 기반으로 세분화된 액세스 제어 정책을 만들 수 있습니다. 이러한 정책은 신뢰할 수 없는 네트워크에서 클라우드 리소스에 대한 액세스 권한을 부여하기 전에 특정 보안 제어 기능이 적용되도록 합니다. 승인된 네트워크에서만 액세스를 허용함으로써 VPC 서비스 제어는 도난당한 OAuth 또는 서비스 계정 자격 증명을 사용하는 클라이언트가 제공하는 데이터 유출 위험으로부터 보호하는 데 도움이 됩니다.
-
주요 액세스 경계는 주체가 액세스할 수 있는 리소스를 정확하게 정의할 수 있습니다. 정책이 주체가 리소스에 액세스할 수 없도록 하는 경우 부여된 역할에 관계없이 해당 리소스에 대한 액세스가 제한됩니다.
-
도메인 제한 공유를 사용하여 도메인별로 ID를 제한하여 특정 도메인 또는 조직에 속한 사용자에게 역할 부여를 제한합니다. 도메인 제한 공유가 활성화되면 허용된 도메인 또는 조직에 속한 주체만 Google Cloud 조직에서 IAM 역할을 부여받을 수 있습니다.
-
보안 모니터링: 예방 제어 기능을 구현하는 것 외에도 손상 징후가 있는지 클라우드 환경을 사전에 모니터링해야 합니다. 조기 감지는 손상으로 인한 비즈니스 영향을 제한하는 데 도움이 될 수 있습니다.
-
Security Command Center(SCC)는 Google Cloud의 내장 보안 및 위험 관리 플랫폼입니다. 포괄적인 보안 상태 관리, 위협 탐지 및 규정 준수 모니터링을 제공합니다.
SCC의 클라우드 인프라 권한 관리(CIEM) 기능을 사용하면 배포 환경에서 어떤 ID가 어떤 리소스에 액세스할 수 있는지 관리하고, 잘못된 구성으로 인해 발생하는 잠재적인 취약점을 완화하며, 최소 권한 원칙을 적용할 수 있습니다. SCC의 Sensitive Action Service는 클라우드 조직, 폴더 및 프로젝트에서 발생하는 잠재적으로 유해한 작업을 자동으로 감지하고 경고합니다. SCC의 가상 레드 팀 구성 기능은 고가치 리소스가 노출되었는지 지속적으로 감지하고 손상으로 이어질 수 있는 ID 및 액세스 경로를 표시합니다.
다음 단계
강력한 보안 태세를 유지하려면 조직이 직면한 위험과 이를 해결하기 위해 마련한 통제 수단을 지속적으로 평가해야 합니다. 이러한 권장 사항은 자격 증명 손상과 관련된 증가하는 위험으로부터 클라우드 자산을 강화하는 데 도움이 될 수 있습니다.
Google Cloud 배포를 보호하는 방법에 대한 자세한 내용은 보안 모범 사례 센터에서 확인할 수 있습니다.