SSH 액세스 감사 권장사항


이 문서에서는 Linux 가상 머신(VM) 인스턴스에 대한 SSH 액세스 감사를 위한 권장사항을 설명합니다.

Cloud 감사 로그를 사용하면 이전 활동을 분석할 수 있으며 Google Cloud 리소스에 영향을 미치는 의심스러운 활동을 조사할 때 중요한 정보 소스가 될 수 있습니다.

다음 섹션에는 거부할 수 없는 감사 추적을 유지하는 데 도움이 되는 권장사항이 포함되어 있습니다.

이 문서는 Google Cloud에 한정된 관행이나 Google Cloud에서 SSH를 사용할 때 특별한 관련성이 있는 관행을 집중적으로 설명합니다. 이 문서에서는 특정 SSH 클라이언트 또는 서버 구현을 위한 권장사항을 설명하지 않습니다.

IAP에 데이터 액세스 로그 사용 설정

사용자가 SSH 연결을 설정하려고 시도할 때마다 IAP가 Cloud 감사 로그에 항목을 추가하도록 하려면 Cloud Identity-Aware Proxy API에 대해 데이터 액세스 로그를 사용 설정합니다. 데이터 액세스 로그는 기본적으로 사용 중지되어 있습니다. 로그 볼륨에 대한 문제가 없는 한 VM 인스턴스가 포함된 모든 프로젝트에 대해 데이터 액세스 로그를 사용 설정하세요.

SSH 사용과 관련된 감사 로그 항목 모니터링

SSH 사용은 VM 및 워크로드의 보안에 영향을 미칠 수 있으므로 성공적인 연결 시도와 실패한 액세스 시도 모두에 대한 감사 추적을 유지하는 것이 중요합니다. 이는 SSH 사용을 민감한 작업으로 간주해야 하는 프로덕션 환경에서 특히 중요합니다.

SSH 액세스를 추적하고 의심스러운 동작을 찾으려면 다음을 포함하여 SSH와 관련된 로그 항목을 모니터링합니다.

서비스 메서드 설명
IAP AuthorizeUser IAP TCP 전달을 통한 연결 시도를 나타냅니다. 로그 항목에는 사용자 기기, 충족된 액세스 수준, 충족하지 못한 액세스 수준에 대한 세부정보가 포함됩니다.
OS 로그인 google.cloud.oslogin.v1.OsLoginService.CheckPolicy 로그인 시도를 나타냅니다.
OS 로그인 google.cloud.oslogin.OsLoginService.v1.StartSession OS 로그인 2FA 챌린지 시작을 나타냅니다.
OS 로그인 google.cloud.oslogin.OsLoginService.v1.ContinueSession OS 로그인 2FA 챌린지 완료를 나타냅니다.
Compute Engine v1.compute.projects.setCommonInstanceMetadata projectMetadataDelta 필드에 `ssh-keys` 항목이 포함된 경우 이 로그 항목은 프로젝트 메타데이터에서 SSH 키가 추가, 삭제 또는 수정되었음을 나타냅니다.
Compute Engine v1.compute.instances.setMetadata projectMetadataDelta 필드에 `ssh-keys` 또는 `sshKeys`에 대한 항목이 포함된 경우 이 로그 항목은 인스턴스 메타데이터에서 SSH 키가 추가, 삭제 또는 수정되었음을 나타냅니다.
Compute Engine google.ssh-serialport.v1.connect 직렬 콘솔에 대한 연결 시도를 나타냅니다.
IAM beta.compute.instances.setIamPolicy, v1.compute.instances.setIamPolicy VM 인스턴스의 IAM 정책 변경사항을 나타냅니다. IAM 정책 변경사항은 사용자가 인스턴스 메타데이터를 수정하는 기능에 영향을 줄 수 있습니다.
IAM SetIamPolicy 프로젝트의 IAM 정책 변경사항을 나타냅니다. IAM 정책 변경사항은 사용자가 프로젝트 메타데이터를 수정하는 기능과 프로젝트의 데이터 액세스 감사 로그 구성에 영향을 줄 수 있습니다.

모든 감사 로그 레코드에는 활동을 시작한 주 구성원을 식별하는 principalEmail 필드가 포함되어 있습니다.

VM의 활동을 전체적으로 파악하려면 /var/log/messages 및 SSH 서버 로그를 Cloud Logging으로 내보내도록 VM을 구성합니다(예: 운영 에이전트 사용).

사용하는 Linux 배포판에 따라 SSH 서버 로그가 다른 로그 파일(일반적으로 /var/log/auth.log 또는 /var/log/secure)에 작성될 수 있으며 이러한 로그 파일은 운영 에이전트에서 사용하는 기본 구성에 포함되지 않습니다.