실습 설정 안내 및 요구사항
계정과 진행 상황을 보호하세요. 이 실습을 실행하려면 항상 시크릿 브라우저 창과 실습 사용자 인증 정보를 사용하세요.

데이터 유출에 대한 대응 및 복구

실습 1시간 30분 universal_currency_alt 크레딧 5개 show_chart 입문
info 이 실습에는 학습을 지원하는 AI 도구가 통합되어 있을 수 있습니다.
이 콘텐츠는 아직 휴대기기에 최적화되지 않음
최상의 경험을 위해 데스크톱 컴퓨터에서 이메일로 전송된 링크를 사용하여 방문하세요.
중요 아이콘 중요:

스크린샷 아이콘 각 작업의 결과물을 스크린샷으로 찍어 포트폴리오에 추가하세요.

데스크톱/노트북 아이콘 중요: 이 실습은 데스크톱/노트북에서만 완료해야 합니다.

체크표시 아이콘 실습당 5회만 시도할 수 있습니다.

퀴즈 타겟 아이콘 첫 시도에 모든 문제를 맞히지 못하거나 학습을 다시 해야 하는 것은 흔한 일이며 학습 과정의 일부입니다.

타이머 아이콘 실습이 시작되면 타이머를 일시중지할 수 없습니다. 1시간 30분이 지나면 실습이 종료되므로 다시 시작해야 합니다.

도움말 아이콘 자세한 내용은 실습에 관한 기술적 도움말을 참고하세요.

활동 개요

캡스톤 프로젝트 중 하나인 이 실습에서는 클라우드 사이버 보안 지식을 적용하여 취약점을 식별하고 해결합니다.

시나리오와 함께 Google Cloud Security Command Center에서 완료해야 할 일련의 작업이 제공됩니다. 이 작업을 수행하기 위해 여러분은 기술을 활용해 보안 사고와 관련된 활성 취약점을 분석하고 해결하며, 취약점에 관한 질문에 답하고, 클라우드 사이버 보안 기술을 평가하는 과제를 완료하게 됩니다.

실습에는 여러 과제도 포함되어 있으며 안내 없이 혼자서 과제를 완료해야 합니다.

이 실습을 성공적으로 완료하면 클라우드 환경 내에서 보안 취약점과 잘못된 구성을 식별, 우선순위 지정, 해결하는 능력을 입증할 수 있습니다. 이러한 기술 역량은 Google Cloud 환경의 보안 상태를 강화하고 데이터 유출, 무단 액세스 및 기타 보안 사고의 위험을 줄이는 데 필수적입니다.

시나리오

여러분은 지난 1년 동안 Cymbal Retail에서 주니어 클라우드 보안 분석가로 일해 왔습니다. Cymbal Retail은 현재 28개국에서 170개의 오프라인 매장과 온라인 플랫폼을 운영하는 시장의 강자입니다. 2022년에는 150억 달러의 수익을 보고했으며 현재 전 세계적으로 80,400명의 직원을 고용하고 있습니다.

Cymbal Retail은 방대한 고객층을 보유하고 있으며 온라인 플랫폼에서 매일 수많은 거래가 이루어지고 있습니다. 이 조직은 운영이 되고 있는 모든 국가에서 내부 및 외부 규정 준수 기대치를 충족하도록 보장하며 고객, 직원, 자산의 안전과 보안을 위해 노력하고 있습니다.

최근 이 회사에서 대규모 데이터 유출이 발생했습니다. 보안팀의 주니어 멤버로서 여러분은 이 보안 사고의 수명 주기 전반에서 보안팀을 지원해야 합니다. 먼저 보안 침해와 관련된 취약점을 식별하고, 추가적인 무단 액세스를 방지하기 위해 보안 침해를 격리 및 차단하며, 보안 침해된 시스템을 복구하고, 미해결된 규정 준수 관련 문제를 해결하고, 프레임워크의 준수 여부를 확인합니다.

이 작업을 수행하는 방법은 다음과 같습니다. 먼저 Google Cloud Security Command Center에서 취약점과 발견 사항을 검사합니다. 다음으로 이전 VM을 종료하고 스냅샷에서 새 VM을 만듭니다. 그런 다음 스토리지 버킷에 대한 공개 액세스를 호출하고 균일한 버킷 수준의 액세스 제어로 전환합니다. 다음으로 방화벽 포트 액세스를 제한하고 방화벽 규칙을 수정합니다. 마지막으로 보고서를 실행하여 취약점 해결을 확인합니다.

설정

'실습 시작'을 클릭하기 전에

다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지를 표시합니다.

이 실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있으며, 이를 위해 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.

이 실습을 완료하려면 다음을 준비해야 합니다.

  • 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
참고: 이 실습을 실행하려면 시크릿 모드 또는 시크릿 브라우저 창을 사용하세요. 개인 계정과 학습자 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.
  • 실습을 완료하기에 충분한 시간. 실습을 시작하고 나면 일시중지할 수 없습니다.
참고: 계정에 추가 요금이 발생하지 않도록 하려면 개인용 Google Cloud 계정이나 프로젝트가 이미 있어도 이 실습에서는 사용하지 마세요.

실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법

  1. 실습 시작 버튼을 클릭합니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.

    • 남은 시간
    • Google Cloud 콘솔 열기 버튼
    • 이 실습에 사용해야 하는 임시 사용자 인증 정보
    • 필요한 경우 실습 진행을 위한 기타 정보
    참고: 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다.
  2. Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다). 새 브라우저 탭에서 로그인 페이지가 열립니다.

    도움말: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하면 탭 간에 쉽게 전환할 수 있습니다.

    참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다.
  3. 필요한 경우 아래의 Google Cloud 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다. 다음을 클릭합니다.

{{{user_0.username | "Google Cloud username"}}}

실습 세부정보 패널에서도 Google Cloud 사용자 이름을 확인할 수 있습니다.

  1. 아래의 Google Cloud 비밀번호를 복사하여 시작하기 대화상자에 붙여넣고, 다음을 클릭합니다.
{{{user_0.password | "Google Cloud password"}}}

실습 세부정보 패널에서도 Google Cloud 비밀번호를 확인할 수 있습니다.

중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다.
  1. 이후에 표시되는 페이지를 클릭하여 넘깁니다.
    • 이용약관에 동의하세요.
    • 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 마세요.
    • 무료 체험판을 신청하지 마세요.

잠시 후 Cloud 콘솔이 이 탭에서 열립니다.

참고: 왼쪽 상단에 있는 탐색 메뉴를 클릭하면 Google Cloud 제품 및 서비스 목록이 있는 메뉴를 볼 수 있습니다. 탐색 메뉴 아이콘이 강조 표시된 Google Cloud 콘솔 메뉴

작업 1. 데이터 유출 분석 및 정보 수집

어느 날 아침, 보안팀은 시스템 내에서 비정상적인 활동을 감지합니다. 이 활동을 추가로 조사한 결과, 회사의 애플리케이션, 네트워크, 시스템, 데이터 저장소 전반에서 대규모 보안 침해가 발생한 것으로 드러났습니다. 공격자는 신용카드 데이터와 개인 정보를 포함한 민감한 고객 정보에 무단으로 액세스했습니다. 이 보안 사고는 즉각적인 주의와 철저한 조사가 필요합니다. 보안 침해의 범위와 영향을 파악하기 위한 첫 번째 단계는 정보를 수집하고 사용 가능한 데이터를 분석하는 것입니다.

이 작업에서는 Google Cloud Security Command Center의 취약점과 발견 사항을 검토하여 공격자가 데이터에 액세스한 방법을 파악하고 어떤 해결 단계를 취해야 할지 알아봅니다.

중요: 이 섹션에 나열된 취약점에 대해 특정 보안 검사가 사전에 실행되어야 합니다. 아직 실행되지 않은 검사가 있는 경우 이 섹션의 단계를 완료하더라도 관련 취약점이 Security Command Center에 표시되지 않을 수 있습니다. 하지만 걱정하지 마세요. 이 작업에서 제공된 정보로 발견 사항을 분석하고 다음 작업에서 해결 단계를 진행할 수 있습니다.

먼저 Security Command Center로 이동하여 활성 취약점의 개요를 확인합니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 보안 > 위험 개요를 클릭합니다. Security Command Center 개요 페이지가 열립니다.
  2. 잘못된 구성 창에서 리소스 유형별 탭을 선택합니다. 영향을 받는 클라우드 리소스 유형(예: 인스턴스, 버킷, 데이터베이스)에 따라 보안 발견 사항 또는 취약점을 정리합니다. 리소스 유형별로 활성 취약점과 발견 사항을 검토하여 보안 문제의 우선순위를 정하고 효과적으로 해결할 수 있습니다.

Security Command Center 개요 페이지에는 리소스 유형별로 필터링된 활성 취약점이 표시됩니다.

Cloud Storage 버킷, Compute 인스턴스 가상 머신, 방화벽과 관련하여 심각도 높음 및 보통 수준의 발견 사항을 모두 확인할 수 있습니다.

다음으로 PCI DSS 보고서로 이동합니다.

  1. Security Command Center 메뉴에서 규정 준수를 클릭합니다. 규정 준수 페이지가 열립니다.
  2. Google Cloud 규정 준수 표준 섹션에서 PCI DSS 3.2.1 타일의 세부정보 보기를 클릭합니다. PCI DSS 3.2.1 보고서가 열립니다.
  3. 발견 사항 열을 클릭하여 발견 사항을 정렬하고 활성 발견 사항을 목록 상단에 표시합니다.
참고: PCI 보고서를 평가하려면 이러한 단계를 따르세요. 페이지를 새로고침하지 마세요. 필요한 필터가 삭제되어 올바른 정보가 표시되지 않습니다.

결제 카드 산업 데이터 보안 표준(PCI DSS)은 조직이 민감한 카드 소지자 데이터를 보호하기 위해 따라야 하는 보안 요구사항입니다. 신용카드 결제를 수락하고 처리하는 소매업체인 Cymbal Retail은 카드 소지자 데이터를 보호하기 위해 PCI DSS 요구사항을 준수해야 합니다.

PCI DSS 3.2.1 보고서를 검토하면서 데이터 유출과 관련하여 준수하지 않은 여러 규칙을 확인합니다.

  • 네트워크 액세스를 감사할 수 있도록 방화벽 규칙 로깅을 사용 설정해야 함: 심각도가 보통인 이 발견 사항은 방화벽 규칙 로깅이 사용 중지되어 어떤 방화벽 규칙이 적용되고, 어떤 트래픽이 허용 또는 거부되고 있는지에 대한 기록이 없다는 것을 나타냅니다. 이는 의심스러운 활동을 추적하고 조사하기 어렵게 만들므로 보안 위험이 발생합니다.
  • 방화벽 규칙으로 TCP 또는 UDP 포트 3389에서 모든 IP 주소의 연결을 허용해서는 안 됨: 심각도가 높은 이 발견 사항은 방화벽이 전체 인터넷에서 네트워크의 모든 인스턴스에 대한 원격 데스크톱 프로토콜(RDP) 트래픽을 허용하도록 구성되어 있음을 나타냅니다. 이는 인터넷상의 누구나 네트워크의 모든 인스턴스에서 RDP 포트에 연결할 수 있도록 허용하므로 보안 위험이 발생합니다.
  • 방화벽 규칙으로 TCP 또는 SCTP 포트 22에서 모든 IP 주소의 연결을 허용해서는 안 됨: 심각도가 높은 이 발견 사항은 방화벽이 전체 인터넷에서 네트워크의 모든 인스턴스로의 시큐어 셸(SSH) 트래픽을 허용하도록 구성되어 있음을 나타냅니다. SSH는 컴퓨터에 대한 보안 원격 액세스를 허용하는 프로토콜입니다. 공격자가 SSH를 통해 머신에 액세스할 수 있다면 데이터를 도용하거나 멀웨어를 설치하거나 운영을 중단시킬 수 있습니다.
  • VM에 공개 IP 주소를 할당해서는 안 됨: 심각도가 높은 이 발견 사항은 특정 IP 주소가 공개 인터넷에 적극적으로 노출되어 있으며 권한이 없는 개인도 잠재적으로 액세스할 수 있음을 나타냅니다. 이 발견 사항은 공격자가 취약점을 스캔하거나 연결된 리소스에 대한 공격을 시작할 수 있으므로 잠재적인 보안 위험으로 간주됩니다.
  • Cloud Storage 버킷에 익명 또는 공개적으로 액세스할 수 있어서는 안 됨: 심각도가 높은 이 발견 사항은 공개적으로 액세스할 수 있는 스토리지 버킷에 액세스 제어 목록(ACL) 항목이 있음을 나타냅니다. 즉, 인터넷에 연결된 모든 사용자가 버킷에 저장된 파일을 읽을 수 있습니다. 이는 위험도가 높은 보안 취약점으로, 우선순위로 지정하여 해결해야 합니다.
  • 모든 Cloud API에 대해 전체 액세스 권한이 있는 기본 서비스 계정을 사용하도록 인스턴스를 구성해서는 안 됨: 심각도가 보통인 이 발견 사항은 특정 ID 또는 서비스 계정에 모든 Google Cloud API에 대한 전체 액세스 권한이 부여되었음을 나타냅니다. 이 발견 사항은 심각한 보안 위험으로 간주됩니다. 민감한 정보에 액세스하고, 구성을 수정하고, 리소스를 삭제하는 등 Google Cloud 환경 내에서 모든 작업을 수행할 수 있는 권한을 ID 또는 서비스 계정에 부여하기 때문입니다.

여러분은 보안 사고와 관련된 문제를 식별하고 해결하는 데 집중하고 있으므로 완료 중인 해결 작업과 관련이 없는 다음과 같은 발견 사항은 무시하세요.

  • VPC 네트워크의 모든 서브넷에 VPC 흐름 로그를 사용 설정해야 함: 흐름 로그가 사용 중지되어 심각도가 낮은 발견 사항이 다수 확인됩니다. 이는 이 실습에 사용된 Google Cloud 프로젝트의 여러 서브네트워크에 대해 흐름 로그가 사용 설정되지 않았음을 나타냅니다. 흐름 로그는 네트워크 트래픽 패턴에 대한 유용한 인사이트를 제공하여 의심스러운 활동을 식별하고 보안 사고를 조사하는 데 도움이 되므로, 흐름 로그의 사용 중지는 잠재적인 보안 위험이 됩니다.
참고: 클라우드 리소스에 대한 로깅을 사용 설정하는 것은 모니터링 가능성을 유지하는 데 중요합니다. 하지만 이 실습 환경의 일부로 서브네트워크를 사용하고 있어 이 실습 활동에서는 이러한 발견 사항을 해결하지 않습니다. 따라서 수정 작업을 완료한 후에도 이 발견 사항은 보고서에 계속 표시됩니다.
  • 기본 역할(소유자, 작성자, 리더)에 권한이 과도하게 부여되므로 사용해서는 안 됨: 심각도가 보통인 이 발견 사항은 Google Cloud 환경 내에서 기본 역할이 사용되고 있음을 나타냅니다. 기본 역할로 광범위한 리소스에 대한 포괄적인 액세스 권한을 부여하므로 잠재적인 보안 위험이 될 수 있습니다.
  • 이그레스 거부 규칙을 설정해야 함: 심각도가 낮은 이 발견 사항은 모니터링되는 방화벽에 대해 이그레스 거부 규칙이 정의되지 않았음을 나타냅니다. 이 발견 사항은 아웃바운드 트래픽이 제한되지 않아 민감한 정보가 노출되거나 무단 통신이 허용될 수 있음을 시사하므로 잠재적인 보안 문제를 야기합니다.

다음 표에서는 보고서에 나열된 규칙과 해당 발견 사항의 카테고리를 짝지어 보여줍니다. 이렇게 하면 나중에 리소스 유형별로 발견 사항을 검사할 때 도움이 됩니다.

발견 사항 카테고리 규칙
방화벽 규칙 로깅 사용 중지됨 네트워크 액세스를 감사할 수 있도록 방화벽 규칙 로깅을 사용 설정해야 합니다.
개방형 RDP 포트 방화벽 규칙으로 TCP 또는 UDP 포트 3389에서 모든 IP 주소의 연결을 허용하면 안 됩니다.
개방형 SSH 포트 방화벽 규칙으로 TCP 또는 SCTP 포트 22에서 모든 IP 주소의 연결을 허용하면 안 됩니다.
공개 IP 주소 VM에 공개 IP 주소를 할당해서는 안 됩니다.
공개 버킷 ACL Cloud Storage 버킷에 익명 또는 공개적으로 액세스할 수 있어서는 안 됩니다.
전체 API 액세스 모든 Cloud API에 대해 전체 액세스 권한이 있는 기본 서비스 계정을 사용하도록 인스턴스를 구성해서는 안 됩니다
흐름 로그 사용 중지됨 VPC 네트워크의 모든 서브넷에 VPC 흐름 로그를 사용 설정해야 합니다.
기본 역할 사용됨 기본 역할(소유자, 작성자, 리더)에 권한이 과도하게 부여되므로 사용하면 안 됩니다
이그레스 거부 규칙 설정되지 않음 이그레스 거부 규칙을 설정해야 합니다

전반적으로 이러한 발견 사항은 심각한 보안 제어 부족과 필수적인 PCI DSS 요구사항을 준수하지 않음을 나타내며, 데이터 유출과 관련된 취약점을 지적합니다.

다음으로 Security Command Center로 이동하여 발견 사항을 필터링하여 Google Cloud 환경의 취약점을 추가로 검사하고 분석합니다.

  1. Google Cloud 콘솔의 탐색 메뉴(탐색 메뉴)에서 보안 > 발견 사항을 클릭합니다. 발견 사항 페이지가 열립니다.
  2. 빠른 필터 패널의 리소스 유형 섹션에서 Google Cloud Storage 버킷 리소스 유형의 체크박스를 선택합니다.

다음과 같은 활성 발견 사항은 스토리지 버킷과 관련된 것입니다.

  • 공개 버킷 ACL: 이 발견 사항은 PCI DSS 보고서에 나열되어 있으며, 인터넷에 액세스할 수 있는 누구나 버킷에 저장된 데이터를 읽을 수 있음을 나타냅니다.
  • 버킷 정책 전용 사용 중지: 버킷의 데이터에 액세스하는 사용자를 제어하기 위한 명시적인 버킷 정책이 없음을 나타냅니다.
  • 버킷 로깅 사용 중지됨: 버킷에 로깅이 사용 설정되어 있지 않으므로 누가 데이터에 액세스하는지 추적하기가 어렵습니다.

이러한 발견 사항은 버킷이 데이터가 무단 액세스에 노출될 수 있는 보안 설정의 조합으로 구성되어 있음을 나타냅니다. 공개 액세스 제어 목록을 삭제하고, 공개 버킷 액세스를 사용 중지하고, 균일한 버킷 수준 액세스 정책을 사용 설정하여 이러한 발견 사항을 해결해야 합니다.

참고: 클라우드 리소스에 대한 로깅을 사용 설정하는 것은 모니터링 가능성을 유지하는 데 중요합니다. 그러나 이 실습 활동에서는 여러 프로젝트를 함께 사용하고 있어 버킷 로깅의 사용 중지 발견 사항을 해결하지 못합니다. 따라서 해결 작업을 완료한 후에도 이 발견 사항이 계속 표시됩니다.
  1. 빠른 필터 패널의 리소스 유형 섹션에서 Google Cloud Storage 버킷의 체크박스를 선택 해제하고 Google Compute 인스턴스 리소스 유형의 체크박스를 선택합니다.

다음과 같은 활성 발견 사항은 cc-app-01이라는 가상 머신과 관련한 것입니다.

  • 멀웨어 불량 도메인: 이 발견 사항은 멀웨어와 연결된 것으로 알려진 도메인이 cc-app-01이라는 이름의 google.compute.instance에서 액세스되었음을 나타냅니다. 이 발견 사항은 심각도가 낮은 것으로 간주되지만 가상 머신 인스턴스에서 악의적인 활동이 발생했으며 인스턴스가 보안 침해되었다는 것을 나타냅니다.
  • 컴퓨팅 보안 부트 사용 중지됨: 심각도가 보통인 이 발견 사항은 가상 머신에 대해 보안 부트가 사용 중지되었음을 나타냅니다. 이는 가상 머신이 승인되지 않은 코드로 부팅되도록 허용하여 시스템을 손상시킬 수 있으므로 보안 위험이 발생합니다.
  • 기본 서비스 계정 사용됨: 심각도가 보통인 이 발견 사항은 가상 머신에서 기본 서비스 계정을 사용하고 있음을 나타냅니다. 기본 서비스 계정이 높은 수준의 액세스 권한을 가지고 있어 공격자가 프로젝트에 액세스할 경우에 보안이 침해될 수 있으므로 보안 위험이 발생합니다.
  • 공개 IP 주소: 심각도가 높은 이 발견 사항은 PCI DSS 보고서에 나열되어 가상 머신에 공개 IP 주소가 있음을 나타냅니다. 인터넷의 모든 사용자가 가상 머신에 직접 연결할 수 있으므로 보안 위험이 발생합니다.
  • 전체 API 액세스: 심각도가 보통인 이 발견 사항은 PCI DSS 보고서에 나열되어, 모든 Google Cloud API에 대한 전체 액세스 권한이 가상 머신에 부여되었음을 나타냅니다.

이러한 발견 사항은 가상 머신이 공격에 매우 취약한 방식으로 구성되었음을 나타냅니다. 이 발견 사항을 해결하기 위해 원본 VM(cc-app-01)을 종료하고 디스크의 클린 스냅샷을 사용하여 VM(cc-app-02)을 만듭니다. 새 VM에는 다음과 같은 설정이 적용됩니다.

  • 컴퓨팅 서비스 계정이 없음
  • 제어된 SSH 액세스를 위한 새 규칙의 방화벽 규칙 태그
  • 보안 부트 사용 설정됨
  • 공개 IP 주소가 없음으로 설정됨
  1. 기간 필드에서 드롭다운을 펼치고 지난 30일을 선택합니다. 이렇게 하면 목록에 지난 30일 동안의 발견 사항이 포함됩니다.
  2. 빠른 필터 패널의 리소스 유형 섹션에서 Google Compute 인스턴스의 체크박스를 선택 해제하고 Google Compute 방화벽 리소스 유형의 체크박스를 선택합니다.

다음과 같은 활성 발견 사항은 방화벽과 관련된 것입니다.

  • 개방형 SSH 포트: 심각도가 높은 이 발견 사항은 방화벽이 전체 인터넷에서 네트워크의 모든 인스턴스로 시큐어 셸(SSH) 트래픽을 허용하도록 구성되어 있음을 나타냅니다.
  • 개방형 RDP 포트: 심각도가 높은 이 발견 사항은 방화벽이 전체 인터넷에서 네트워크의 모든 인스턴스로 원격 데스크톱 프로토콜(RDP) 트래픽을 허용하도록 구성되어 있음을 나타냅니다.
  • 방화벽 규칙 로깅 사용 중지됨: 심각도가 보통인 이 발견 사항은 방화벽 규칙 로깅이 사용 중지되었음을 나타냅니다. 즉, 어떤 방화벽 규칙이 적용되고 어떤 트래픽이 허용 또는 거부되고 있는지에 대한 기록이 없습니다.

이러한 발견 사항은 모두 PCI DSS 보고서에 나열되어 있으며 네트워크 구성의 심각한 보안 격차를 강조합니다. RDP 및 SSH 포트에 대한 제한된 액세스가 부족하고 방화벽 규칙 로깅이 사용 중지되어 있어 네트워크가 무단 액세스 시도 및 잠재적인 데이터 유출에 매우 취약합니다. 기존의 지나치게 광범위한 방화벽 규칙을 삭제하고 Google Cloud의 IAP SSH 서비스에서 사용하는 주소에서만 SSH 액세스를 허용하는 방화벽 규칙으로 교체하여 이러한 문제를 해결해야 합니다.

보안 취약점을 분석했으므로 이제 보고서 발견 사항을 해결해야 합니다.

작업 2. Compute Engine 취약점 수정

이 작업에서는 취약한 VM cc-app-01을 종료하고 멀웨어 감염 전에 생성한 스냅샷에서 새 VM을 만듭니다. VM 스냅샷은 시스템을 클린 상태로 복원하는 데 효과적이며, 새 VM이 원래 VM을 감염시킨 동일한 멀웨어에 감염되지 않도록 보장합니다.

  1. Google Cloud 콘솔에서 탐색 메뉴(탐색 메뉴)를 클릭합니다.
  2. Compute Engine > VM 인스턴스를 선택합니다. VM 인스턴스 페이지가 열립니다.

현재 VM cc-app-01이 VM 인스턴스 아래에 나열되어 있어야 합니다. 이 취약한 VM은 손상되었으므로 종료해야 합니다.

  1. cc-app-01 VM의 체크박스를 선택합니다.
  2. 중지를 클릭합니다.
  3. VM을 중지할 것인지 확인하는 팝업이 표시되면 중지를 클릭합니다.

내 진행 상황 확인하기를 클릭하여 이 작업을 올바르게 완료했음을 확인합니다.

취약한 VM 종료

다음으로 스냅샷에서 새 VM을 만듭니다. 이 스냅샷은 Cymbal Retail의 장기 데이터 백업 계획의 일부로 이미 생성되었습니다.

  1. 작업 모음에서 + 인스턴스 만들기를 클릭합니다.
  2. 머신 구성 섹션의 이름 필드에 cc-app-02를 입력합니다.
  3. 머신 유형 드롭다운을 펼치고 공유 코어를 선택한 다음 e2-medium을 선택합니다.
  4. OS 및 스토리지 섹션을 클릭하고 운영체제 및 스토리지변경을 클릭합니다.
  5. 스냅샷 탭을 선택합니다.
  6. 스냅샷 드롭다운 메뉴를 펼치고 cc-app01-snapshot을 선택합니다.
  7. 선택을 클릭합니다.
  8. 네트워킹 섹션의 네트워크 태그 필드에 cc를 입력합니다. 이 태그를 사용하여 이 특정 VM에 방화벽 규칙을 적용합니다.
  9. 네트워크 인터페이스 섹션에서 기본 네트워크를 펼칩니다.
  10. 외부 IPv4 주소 드롭다운 메뉴를 펼치고 없음을 선택합니다.
  11. 보안 섹션의 ID 및 API 액세스 섹션에서 서비스 계정 드롭다운 메뉴를 펼치고 Qwiklabs 사용자 서비스 계정을 선택합니다.
  12. 만들기를 클릭합니다.

이제 cc-app01-snapshot에서 새 VM cc-app-02가 생성됩니다. (새 VM을 만드는 데 몇 분 정도 걸릴 수 있습니다.)

이제 새 VM cc-app-02에 대해 보안 부트를 설정하여 보안 부트 사용 중지됨 발견 사항을 해결합니다.

  1. cc-app-02 VM의 체크박스를 선택합니다.
  2. 중지를 클릭합니다.
  3. VM을 중지할 것인지 확인하는 팝업이 표시되면 중지를 클릭합니다.

계속하기 전에 cc-app-02 VM이 중지될 때까지 기다립니다.

  1. VM 인스턴스 섹션에서 cc-app-02 링크를 클릭합니다. cc-app-02 페이지가 열립니다.
  2. cc-app-02 툴바에서 수정을 클릭합니다. cc-app-02 인스턴스 수정 페이지가 열립니다.
  3. 보안 및 액세스 섹션까지 아래로 스크롤하고 보안 VM에서 보안 부트 설정 옵션의 체크박스를 선택합니다. 이렇게 하면 컴퓨팅 보안 부트 사용 중지됨 발견 사항이 해결됩니다.
  4. 저장을 클릭합니다.
  5. Compute Engine 메뉴에서 VM 인스턴스를 선택합니다.
  6. cc-app-02 VM의 체크박스를 선택합니다.
  7. 시작/재개를 클릭합니다.
  8. VM을 시작할 것인지 확인하는 팝업이 표시되면 시작을 클릭합니다.

cc-app-02 VM 인스턴스가 다시 시작되고 보안 부트 사용 중지됨 발견 사항이 해결됩니다.

내 진행 상황 확인하기를 클릭하여 이 작업을 올바르게 완료했음을 확인합니다.

기존 스냅샷에서 새 VM 만들기

과제: 손상된 VM 삭제

손상된 VM cc-app-01을 삭제합니다.

내 진행 상황 확인하기를 클릭하여 이 작업을 올바르게 완료했음을 확인합니다.

손상된 VM 삭제

이 단계를 따르면 스냅샷에서 새 VM을 효과적으로 만들어 멀웨어와 잘못된 구성이 없는지 확인할 수 있습니다. 또한 보안 침해의 원인이 되는 손상된 VM을 삭제했습니다.

작업 3. Cloud Storage 버킷 권한 수정

이 작업에서는 스토리지 버킷에 대한 공개 액세스를 취소하고 균일한 버킷 수준 액세스 제어로 전환하여 데이터 유출 위험을 크게 줄입니다. 스토리지 버킷에서 모든 사용자 권한을 삭제하면 저장된 데이터에 대한 무단 액세스를 방지할 수 있습니다.

  1. 탐색 메뉴(탐색 메뉴)에서 Cloud Storage > 버킷을 선택합니다. 버킷 페이지가 열립니다.
  2. _bucket 스토리지 버킷 링크를 클릭합니다. 버킷 세부정보 페이지가 열립니다.

공개적으로 액세스할 수 있는 버킷에 myfile.csv 파일이 있습니다. 이 파일에는 악의적인 행위자가 담은 민감한 정보가 포함되어 있습니다. 다음 단계를 수행하여 공개 버킷 ACL 발견 사항을 해결합니다.

  1. 권한 탭을 클릭합니다.

  2. 공개 액세스 타일에서 공개 액세스 방지를 클릭합니다.

  3. 확인을 클릭합니다.

과제: 스토리지 버킷 액세스 수정

균일한 액세스 제어로 전환하고 스토리지 버킷에서 allUsers 주 구성원의 권한을 삭제하여 버킷과 버킷 객체에 단일 권한 모음을 적용합니다. 또한 기본 프로젝트 역할을 사용해 버킷에 액세스하는 사용자가 액세스 권한을 상실하지 않도록 해야 합니다.

내 진행 상황 확인하기를 클릭하여 이 작업을 올바르게 완료했음을 확인합니다.

스토리지 버킷 액세스 수정

이러한 단계를 따라 버킷에 대한 공개 액세스를 효과적으로 방지하고, 균일한 버킷 수준 액세스 제어로 전환하고, 모든 사용자 권한을 삭제하여 공개 버킷 ACL, 버킷 정책 전용 사용 중지됨, 버킷 로깅 사용 중지됨 발견 사항을 해결했습니다.

작업 4. 방화벽 포트 액세스 제한

이 작업에서는 공격 표면을 최소화하고 무단 원격 액세스 위험을 줄이기 위해, RDP 및 SSH 포트에 승인된 소스 네트워크만 액세스하도록 제한합니다.

과도하게 허용적인 방화벽 규칙을 수정할 때는 각별한 주의가 필요합니다. 방화벽 규칙이 합법적인 트래픽을 허용할 수 있어 이를 부적절하게 제한하면 중요한 운영이 중단될 수 있습니다. 이 실습에서는 대상 태그 'cc'로 지정된 Compute Engine 가상 머신 인스턴스가 Google Cloud Identity-Aware Proxy 주소 범위(35.235.240.0/20)에서 SSH 연결을 통해 계속 액세스할 수 있도록 합니다. 중단 없는 관리 액세스를 유지하려면 모든 주소에서 SSH 연결을 허용하는 기존 규칙을 삭제하기 전에 SSH 트래픽에 대한 액세스를 제한하는 새 방화벽 규칙을 만들어야 합니다.

과제: SSH 액세스 제한

새 방화벽 규칙 limit-ports를 만듭니다. 이 규칙은 소스 네트워크 35.235.240.0/20에서 대상 태그 cc가 있는 컴퓨팅 인스턴스로의 SSH 액세스를 승인된 IP 주소만 가능하도록 제한해야 합니다.

내 진행 상황 확인하기를 클릭하여 이 작업을 올바르게 완료했음을 확인합니다.

SSH 액세스 제한

작업 5. 방화벽 구성 수정

이 작업에서는 VPC 네트워크 내의 모든 소스에서 특정 네트워크 프로토콜(ICMP, RDP, SSH)에 대한 무제한 액세스를 허용하는 역할을 하는 3개의 특정 VPC 방화벽 규칙을 삭제합니다. 그런 다음 나머지 방화벽 규칙에 로깅을 사용 설정합니다.

과제: 방화벽 규칙 맞춤설정

default-allow-icmp, default-allow-rdp, default-allow-ssh 방화벽 규칙을 삭제합니다. 이 방화벽 규칙은 지나치게 광범위하므로 삭제하여 보다 안전하고 제어된 네트워크 환경을 만들 수 있습니다.

이러한 규칙을 삭제하면 이러한 프로토콜에 대한 액세스가 제한되어 무단 액세스 시도의 가능성이 줄어들고 네트워크의 공격 표면이 축소됩니다.

방화벽 규칙 맞춤설정

과제: 로깅 사용 설정

이전 작업에서 만든 규칙인 limit-portsdefault-allow-internal이라는 나머지 방화벽 규칙에 대해 로깅을 사용 설정합니다.

로깅을 사용 설정하면 이 규칙에 따라 허용되는 트래픽을 추적하고 분석할 수 있습니다. 이 트래픽은 VPC 내 인스턴스 간의 내부 트래픽일 가능성이 높습니다.

내 진행 상황 확인하기를 클릭하여 이 작업을 올바르게 완료했음을 확인합니다.

로깅 사용 설정

방화벽 규칙을 맞춤설정하고 로깅을 사용 설정하여 개방형 SSH 포트, 개방형 RDP 포트, 방화벽 규칙 로깅 사용 중지 발견 사항을 해결했습니다. 새로운 방화벽 규칙은 네트워크를 더 안전하게 보호하고 네트워크 가시성을 개선합니다.

작업 6. 규정 준수 확인

PCI DSS 3.2.1 보고서에서 식별된 취약점을 부지런히 해결한 후에는 해결 노력의 효과를 검증하는 것이 중요합니다. 이 작업에서는 보고서를 다시 실행하여 이전에 식별된 취약점이 성공적으로 완화되었고 더 이상 환경에 보안 위험을 초래하지 않는지 확인합니다.

  1. Security Command Center 메뉴에서 규정 준수를 클릭합니다. 규정 준수 페이지가 열립니다.
  2. Google Cloud 규정 준수 표준 섹션에서 PCI DSS 3.2.1 타일의 세부정보 보기를 클릭합니다. PCI DSS 3.2.1 보고서가 열립니다.
  3. 발견 사항 열을 클릭하여 발견 사항을 정렬하고 활성 발견 사항을 목록 상단에 표시합니다.

이제 모든 주요 취약점이 해결되었습니다.

참고: 심각도가 높음 및 보통인 취약점을 해결했지만 여러 서브네트워크에서 흐름 로그가 사용 중지된 상태로 유지됩니다. 이 발견 사항은 이 실습 환경과 관련이 있으므로 해결 작업을 완료한 후에도 보고서에 계속 표시됩니다.

결론

수고하셨습니다.

이 실습을 통해 Cymbal Bank의 보안팀은 데이터 유출의 영향을 완화하고, 식별된 취약점을 해결하고, Cymbal Bank의 Google Cloud 환경 보안 상황을 크게 개선했습니다.

먼저 Google Cloud Security Command Center에서 취약점과 발견 사항을 검사하고 분석했습니다.

다음으로 기존 VM을 종료하고 멀웨어 감염 전에 생성한 스냅샷을 기반으로 새 VM을 만들었습니다.

그런 다음 스토리지 버킷에 대한 공개 액세스를 취소하고 균일한 버킷 수준 액세스 제어로 전환하여 클라우드 스토리지 권한을 수정했습니다. 또한 스토리지 버킷에서 모든 사용자 권한을 삭제했습니다.

다음으로 default-allow-icmp, default-allow-rdp, default-allow-ssh 방화벽 규칙을 삭제하고, 나머지 방화벽 규칙에 대한 로깅을 사용 설정하여 방화벽 규칙을 수정했습니다.

마지막으로 규정 준수 보고서를 실행하여 취약점 문제가 해결되었는지 확인했습니다.

보안 분석가로서 진화하는 위협과 취약점에 지속적으로 대응하려면 정기적인 보안 감사를 유지하고 지속적인 모니터링 관행을 구현하는 것이 중요합니다.

실습 종료하기

실습을 종료하기 전에 모든 작업을 완료했는지 확인하세요. 준비가 되면 실습 종료를 클릭한 다음 제출을 클릭합니다.

실습을 종료하면 실습 환경에 대한 액세스 권한이 삭제되며, 실습에서 완료한 작업에 다시 액세스할 수 없습니다.

Copyright 2026 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.

시작하기 전에

  1. 실습에서는 정해진 기간 동안 Google Cloud 프로젝트와 리소스를 만듭니다.
  2. 실습에는 시간 제한이 있으며 일시중지 기능이 없습니다. 실습을 종료하면 처음부터 다시 시작해야 합니다.
  3. 화면 왼쪽 상단에서 실습 시작을 클릭하여 시작합니다.

시크릿 브라우징 사용

  1. 실습에 입력한 사용자 이름비밀번호를 복사합니다.
  2. 비공개 모드에서 콘솔 열기를 클릭합니다.

콘솔에 로그인

    실습 사용자 인증 정보를 사용하여
  1. 로그인합니다. 다른 사용자 인증 정보를 사용하면 오류가 발생하거나 요금이 부과될 수 있습니다.
  2. 약관에 동의하고 리소스 복구 페이지를 건너뜁니다.
  3. 실습을 완료했거나 다시 시작하려고 하는 경우가 아니면 실습 종료를 클릭하지 마세요. 이 버튼을 클릭하면 작업 내용이 지워지고 프로젝트가 삭제됩니다.

현재 이 콘텐츠를 이용할 수 없습니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

감사합니다

이용할 수 있게 되면 이메일로 알려드리겠습니다.

한 번에 실습 1개만 가능

모든 기존 실습을 종료하고 이 실습을 시작할지 확인하세요.

시크릿 브라우징을 사용하여 실습 실행하기

이 실습을 실행하는 가장 좋은 방법은 시크릿 모드 또는 시크릿 브라우저 창을 사용하는 것입니다. 개인 계정과 학생 계정 간의 충돌로 개인 계정에 추가 요금이 발생하는 일을 방지해 줍니다.