GCP 보안 정책
- 1 ID 및 액세스 관리
- 1.1 ID 관리
- 1.2 리소스 액세스 제어
- 1.3 그룹
- 1.4 조직정책
- 2 네트워크 보안 및 접근제어
- 3 감사 추적 설정
- 3.1 로그 내보내기
- 4 탐지 제어
- 5 OS 보안정책
- 6 애플리케이션 보안정책
보안과 관련해 설정한 정책 정리
https://cloud.google.com/docs/enterprise/best-practices-for-enterprise-organizations 문서에서 보안과 관련한 부분을 중심으로 정리하였음
ID 및 액세스 관리
ID 관리
Google 계정으로 로그인 (구글워크스페이스에서 관리)
MFA는 Google Work Space 의 Google Admin 에서 강제화 하는 정책을 적용할 수 있음.
리소스 액세스 제어
그룹을 이용하여 IAM 역할 할당. Role -> 그룹 -> 개별 사용자 관리를 해야 함
최소한의 권한만 주어야 함
그룹
shared-vpc 공통 project
클라우드 운영 담당 admin (VPC, 방화벽)
dev 환경
개발자 : 일부 리소스 admin
VM start/stop
Cloud SQL
prod 환경
개발자 : 특정 리소스 read only
DBA : Cloud SQL admin
Security : IAM 역할.
Infra 운영자 : VPC, SG, route, DNS, VM, write. admin 권한이 있어도 콘솔에서 변경하지 않고 IAC로 작업해야 함.
조직정책
https://cloud.google.com/resource-manager/docs/organization-policy/overview -
네트워크 보안 및 접근제어
네트워크 보안
dev, prod 환경에 따라 서로 다른 환경 간에는 통신을 하지 못함
각 서비스의 성격에 따라서 subnet 분리해서 사용 (web, was, db)
서브넷 격리 또는 타겟 필터링을 통해서 VM간의 통신을 격리함 https://cloud.google.com/architecture/best-practices-vpc-design?hl=ko#target_filtering
개별 VM에 공개 ip를 할당하여 직접 외부에 노출하면 안됨. 외부 인터넷에 노출을 하는 것은 로드밸런서를 통해서 들어와야 함.
로드밸런서의 경우 IP 기반의 ACL 기능이 없으므로 Cloud Armor 에서 ACL을 설정하여 관리를 해야 함.
방화벽
모든 서비스에 대해서 방화벽 설정.
https://cloud.google.com/architecture/best-practices-vpc-design?hl=ko#target_filtering
타겟 태그 필터링으로 방화벽 구성
외부액세스 제한
Cloud NAT 이용하여 외부와 통신
NAT는 VPC level에서 1개만 있으면 됨.
앱과 데이터보호
VPC Service Control : 나중에 도입 고민 [GCP]GCP 에서 조직(Organization) 활용하기 6부 — VPC 서비스 제어
WAF : Google Cloud Armor 사용. 기본으로 OWASP 상위 10개 사전 구성된 규칙을 제공함. OWASP Top Ten | OWASP Foundation
Security Command Center : 여러가지 기능중 웹 앱 취약점 탐색 기능 활용하면 좋을 듯
모든 통신은 암호화되어야 함(SSL, TLS)
암호화 : 전송중, 저장중 암호화. (클라우드 환경에서는 클라우드 서비스 벤더가 기본적으로 전송중, 저장중 암호화 기능을 제공함. 사용하는 애플리케이션에 따라서 확인이 필요함)
OS, DBMS 레벨 접근제어
네트워크 수준 방화벽을 사용하지 않고 애플리케이션 수준 액세스 제어 모델을 사용을 함. IAP 를 이용하여 각종 리소스에 대한 접근제한을 함. (관리형 점프호스트)
https://cloud.google.com/iap/docs/concepts-overview
개인정보보호 관련
주민등록번호, 신용카드번호 등을 포함하고 있는 경우 필수적으로 DB접근제어, DB암호화 대상에 포함이 됨. (포함이 되지 않는다고 하더라도 DB접근제어, DB암호화는 필요함)
비밀번호관리
프로그램 개발 소스코드 차원에서 비밀번호가 분리되어 있어야 함. 배포 파이프라인 통해서 비밀번호 정보를 배포함.
감사 추적 설정
Cloud 감사로그 : 관리자 활동 로그(API 호출 관련 로그 항목이나 리소스의 구성 또는 메타데이터를 수정하는 다른 관리 작업) 는 항상 사용 설정 되어 있음. 데이터 액세스 감사 로그는 기본적으로 사용 중지되어 있으며 용량을 많이 차지할 수 있고 비용도 추가될 것임. 어디까지 쓸 것인가?
로그 내보내기
규정 준수 의무 또는 내부 보안 정책 때문에 일정한 기간의 로그를 보관하는 것이 필요할 수 있음.
Cloud Storage, BigQuery, Pub/Sub로 로그를 보낼 수 있는데 Cloud Storage 에 일단 쌓는 작업은 가능함. 분석은 보안담당자가 있어야 함.
Cloud 감사로그를 Google chat 에 연동하는 것 고려할 수 있음
탐지 제어
로그 캡처 및 분석
GCP Cloud 관련 로그 (VPC flow log, 로드밸런서 로그, Cloud Storage 로그 등)
운영 체제 또는 애플리케이션 로그를 모니터링
OS 보안정책
OS hardening 필요 (보안정책 설정 및 적용)
애플리케이션 보안정책
애플리케이션 보안 체크 리스트 필요