Google Cloud NetApp 볼륨 아키텍처
CloudSQL, Google Cloud VMware Engine(GCVE), fileststore와 같은 다른 Google Cloud 네이티브 서비스와 유사한 방법으로 Google Cloud NetApp Volumes가 "Google PSA" 서비스를 제공하는 데 사용합니다. PSA에서 서비스는 서비스 소비자와 연결하기 위해 을 사용하는 서비스 프로듀서 프로젝트 내에 "VPC 네트워크 피어링" 구축됩니다. 서비스 생성자는 NetApp이 제공 및 운영하고, 서비스 소비자는 고객 프로젝트의 VPC로, Google Cloud NetApp 볼륨 파일 공유에 액세스하려는 클라이언트를 호스팅합니다.
Google Cloud NetApp Volumes 설명서의 에서 참조된 다음 그림은 "아키텍처 섹션을 참조하십시오" 개략적인 뷰를 보여줍니다.
점선 위의 파트는 볼륨 수명 주기를 제어하는 서비스의 컨트롤 평면을 보여줍니다. 점선 아래의 부분은 데이터 평면을 나타냅니다. 왼쪽 파란색 상자는 사용자 VPC(서비스 소비자)를 나타내고 오른쪽 파란색 상자는 NetApp에서 제공하는 서비스 생산업체입니다. 둘 다 VPC 피어링을 통해 연결됩니다.
테넌시 모델
Google Cloud NetApp 볼륨에서 개별 프로젝트는 고유한 테넌트로 간주됩니다. 즉, 볼륨, 스냅샷 복사본 등을 프로젝트 단위로 조작할 수 있습니다. 즉, 모든 볼륨은 자신이 만든 프로젝트의 소유이며 해당 프로젝트에서만 기본적으로 해당 볼륨 내의 데이터를 관리하고 액세스할 수 있습니다. 이는 서비스의 컨트롤 플레인 뷰로 간주됩니다.
공유 VPC
데이터 플레인 보기에서 Google Cloud NetApp Volumes 가 공유 VPC에 연결할 수 있습니다. 호스팅 프로젝트 또는 공유 VPC에 연결된 서비스 프로젝트 중 하나에서 볼륨을 생성할 수 있습니다. 공유 VPC에 연결된 모든 프로젝트(호스트 또는 서비스)는 네트워크 계층(TCP/IP)에서 볼륨에 연결할 수 있습니다. 공유 VPC에서 네트워크 연결을 사용하는 모든 클라이언트는 NAS 프로토콜을 통해 데이터에 액세스할 수 있으므로 개별 볼륨의 액세스 제어(예: 사용자/그룹 ACL(액세스 제어 목록) 및 NFS 내보내기의 호스트 이름/IP 주소)를 사용하여 데이터에 액세스할 수 있는 사용자를 제어해야 합니다.
Google Cloud NetApp 볼륨을 고객 프로젝트당 최대 5개의 VPC에 연결할 수 있습니다. 제어 플레인에서 프로젝트를 사용하면 연결된 VPC에 관계없이 생성된 모든 볼륨을 관리할 수 있습니다. 데이터 플레인에서 VPC는 서로 격리되며 각 볼륨은 하나의 VPC에만 연결할 수 있습니다.
개별 볼륨에 대한 액세스는 프로토콜별(NFS/SMB) 액세스 제어 메커니즘에 의해 제어됩니다.
즉, 네트워크 계층에서 공유 VPC에 연결된 모든 프로젝트가 볼륨을 볼 수 있는 반면 관리 측면에서는 소유자 프로젝트만 볼륨을 볼 수 있습니다.
VPC 서비스 제어
VPC 서비스 제어는 인터넷에 연결되어 있고 전 세계적으로 액세스할 수 있는 Google Cloud 서비스에 대한 액세스 제어 경계를 설정합니다. 이러한 서비스는 사용자 ID를 통해 액세스 제어를 제공하지만 어떤 네트워크 위치 요청이 시작되기까지의 지 제한할 수 없습니다. VPC 서비스는 정의된 네트워크에 대한 액세스를 제한하는 기능을 도입하여 이러한 격차를 해소합니다.
Google Cloud NetApp 볼륨 데이터 플레인은 외부 인터넷에 연결되지 않고 잘 정의된 네트워크 경계(경계)가 있는 프라이빗 VPC에 연결되어 있습니다. 해당 네트워크 내에서 각 볼륨은 프로토콜별 액세스 제어를 사용합니다. 외부 네트워크 연결은 Google Cloud 프로젝트 관리자가 명시적으로 만듭니다. 그러나 컨트롤 플레인은 데이터 플레인과 동일한 보호 기능을 제공하지 않으며 유효한 자격 증명()을 사용하여 어느 곳에서나 액세스할 수 "JWT 토큰" 있습니다.
간단히 말해, Google Cloud NetApp 볼륨 데이터 플레인은 VPC 서비스 제어를 지원할 필요 없이 네트워크 액세스 제어 기능을 제공하며 VPC 서비스 제어를 명시적으로 사용하지 않습니다.
패킷 스니핑/추적 고려 사항
패킷 캡처는 네트워크 문제 또는 기타 문제(예: NAS 권한, LDAP 연결 등)를 해결하는 데 유용할 수 있지만 네트워크 IP 주소, MAC 주소, 사용자 및 그룹 이름 및 엔드포인트에서 사용되는 보안 수준에 대한 정보를 얻기 위해 악의적으로 사용할 수도 있습니다. Google Cloud 네트워킹, VPC 및 방화벽 규칙이 구성된 방식 때문에 사용자 로그인 자격 증명 또는 없이 네트워크 패킷에 대한 원치 않는 액세스를 얻기가 어렵습니다 "JWT 토큰" 클라우드로 인스턴스. 공유 VPC 및/또는 외부 네트워크 터널/IP 전달을 사용하여 엔드포인트에 대한 외부 트래픽을 명시적으로 허용하지 않는 한 패킷 캡처는 엔드포인트(예: 가상 머신(VM))에서만 가능하며 VPC 내부 엔드포인트에서만 가능합니다. 클라이언트 외부의 트래픽을 스니핑할 수 있는 방법은 없습니다.
공유 VPC를 사용하면 NFS Kerberos 및/또는 추적에서 얻은 많은 정보를 숨기는 전송 중 암호화가 "SMB 암호화"가능합니다. 그러나 일부 트래픽은 여전히 및 과 같은 일반 텍스트로 전송됩니다"DNS""LDAP 쿼리입니다". 다음 그림에서는 Google Cloud NetApp 볼륨에서 생성된 일반 텍스트 LDAP 쿼리의 패킷 캡처 및 노출된 잠재적 식별 정보를 보여줍니다. 현재 Google Cloud NetApp 볼륨의 LDAP 쿼리는 SSL을 통한 암호화 또는 LDAP를 지원하지 않습니다. NetApp 볼륨 - Active Directory에서 요청하는 경우 LDAP 서명을 지원합니다. NetApp 볼륨 - SW는 LDAP 서명을 지원하지 않습니다.
unixUserPassword는 LDAP에 의해 쿼리되며 일반 텍스트로 전송되지 않고 소염 해시로 보내집니다. 기본적으로 Windows LDAP는 unixUserPassword 필드를 채우지 않습니다. 이 필드는 LDAP를 통해 클라이언트에 대화형 로그인을 위해 Windows LDAP를 활용해야 하는 경우에만 필요합니다. Google Cloud NetApp Volumes는 인스턴스에 대한 대화형 LDAP 로그인을 지원하지 않습니다. |
다음 그림에서는 AUTH_SYS를 통한 NFS 캡처 옆에 있는 NFS Kerberos 대화의 패킷 캡처를 보여 줍니다. 추적에서 사용할 수 있는 정보가 두 가지 간에 어떻게 다른지, 그리고 전송 중 암호화를 사용하여 NAS 트래픽에 대한 전반적인 보안을 강화하는 방법을 확인하십시오.
VM 네트워크 인터페이스
공격자는 의 VM에 새 NIC(네트워크 인터페이스 카드)를 추가하려고 시도할 수 있습니다 "무차별 모드" 모든 트래픽을 스니핑하기 위해 기존 NIC에서 Promiscuous 모드를 활성화(포트 미러링)하거나 활성화합니다. Google Cloud에서 새 NIC를 추가하려면 VM을 완전히 종료해야 하므로 경고가 생성되므로 공격자가 이를 놓치지 않고 확인할 수 없습니다.
또한 NIC를 무차별 모드로 설정할 수 없으며 Google Cloud에서 경고를 트리거합니다.