GCP - VPC & Networking

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 제로부터 전문가까지 배우세요!

HackTricks를 지원하는 다른 방법:

GCP Compute Networking 요약

VPCs에는 들어오는 트래픽을 허용하는 방화벽 규칙이 포함되어 있습니다. VPC에는 또한 가상 머신이 연결될 서브네트워크도 포함되어 있습니다. AWS와 비교하면, 방화벽AWS 보안 그룹 및 NACLs가장 가까운 것이지만, 이 경우에는 VPC에 정의되어 있고 각 인스턴스에는 아닙니다.

GCP의 VPC, 서브네트워크 및 방화벽

Compute 인스턴스는 VPC에 연결된 서브네트워크에 속합니다. GCP에서는 보안 그룹이 없고 VPC 방화벽이 있으며 이 네트워크 수준에서 정의된 규칙이 각 VM 인스턴스에 적용됩니다.

서브네트워크

VPC에는 여러 서브네트워크가 있을 수 있습니다. 각 서브네트워크는 1개의 지역에 있습니다.

방화벽

기본적으로 모든 네트워크에는 두 가지 내재된 방화벽 규칙이 있습니다: 외부로 나가는 것을 허용하고 내부로 들어오는 것을 거부합니다.

GCP 프로젝트가 생성되면 **default**라는 VPC가 함께 생성되며 다음과 같은 방화벽 규칙이 있습니다:

  • default-allow-internal: default 네트워크의 다른 인스턴스에서 모든 트래픽을 허용

  • default-allow-ssh: 22번 포트를 어디서나 허용

  • default-allow-rdp: 3389번 포트를 어디서나 허용

  • default-allow-icmp: 어디서나 ping을 허용

보시다시피, 내부 IP 주소에 대해 방화벽 규칙더 허용적인 경향이 있습니다. 기본 VPC는 Compute 인스턴스 간의 모든 트래픽을 허용합니다.

기본 VPC 또는 새 VPC에 대해 더 많은 방화벽 규칙을 생성할 수 있습니다. 방화벽 규칙은 다음 방법을 통해 인스턴스에 적용할 수 있습니다:

인터넷에서 열린 포트를 가진 모든 Compute 인스턴스를 출력하는 간단한 gcloud 명령이 없습니다. 방화벽 규칙, 네트워크 태그, 서비스 계정 및 인스턴스 사이의 관계를 파악해야 합니다.

이 프로세스는 이 파이썬 스크립트를 사용하여 자동화되었으며 다음을 내보냅니다:

  • 인스턴스, 공용 IP, 허용된 TCP, 허용된 UDP를 보여주는 CSV 파일

  • 공용 인터넷에서 허용된 모든 인스턴스를 대상으로 하는 nmap 스캔 (0.0.0.0/0)

  • 공용 인터넷에서 모든 TCP 포트를 허용하는 인스턴스의 전체 TCP 범위를 대상으로 하는 masscan

계층적 방화벽 정책

_계층적 방화벽 정책_을 사용하면 조직 전체에 일관된 방화벽 정책을 생성하고 강제할 수 있습니다. 조직 전체 또는 개별 폴더에 계층적 방화벽 정책을 할당할 수 있습니다. 이러한 정책에는 연결을 명시적으로 거부하거나 허용하는 규칙이 포함될 수 있습니다.

방화벽 정책을 생성하고 적용하는 것은 별도의 단계로 이루어집니다. 리소스 계층 구조의 조직 또는 폴더 노드에서 방화벽 정책을 생성하고 적용할 수 있습니다. 방화벽 정책 규칙은 연결을 차단하거나 허용하거나 하위 수준 폴더나 VPC 네트워크에서 정의된 VPC 방화벽 규칙에 방화벽 규칙 평가를 연기할 수 있습니다.

기본적으로 계층적 방화벽 정책 규칙은 정책이 연관된 조직 또는 폴더 아래의 모든 프로젝트의 모든 VM에 적용됩니다. 그러나 대상 네트워크 또는 대상 서비스 계정을 지정하여 특정 VM에 특정 규칙을 적용할 수 있습니다.

계층적 방화벽 정책을 생성하는 방법을 여기에서 읽을 수 있습니다.

방화벽 규칙 평가

  1. Org: 조직에 할당된 방화벽 정책

  2. Folder: 폴더에 할당된 방화벽 정책

  3. VPC: VPC에 할당된 방화벽 규칙

  4. Global: VPC에 할당된 다른 유형의 방화벽 규칙

  5. Regional: VM의 NIC 및 VM의 지역의 VPC 네트워크와 관련된 방화벽 규칙

VPC 네트워크 피어링

두 가상 사설 클라우드(VPC) 네트워크를 연결하여 각 네트워크의 리소스가 서로 통신할 수 있도록 합니다. 피어링된 VPC 네트워크는 동일한 프로젝트, 동일한 조직의 다른 프로젝트 또는 다른 조직의 다른 프로젝트에 있을 수 있습니다.

필요한 권한은 다음과 같습니다:

  • compute.networks.addPeering

  • compute.networks.updatePeering

  • compute.networks.removePeering

  • compute.networks.listPeeringRoutes

자세한 내용은 문서에서 확인하세요.

참고 자료

htARTE (HackTricks AWS Red Team Expert)를 통해 AWS 해킹을 제로부터 전문가까지 배우세요!

HackTricks를 지원하는 다른 방법:

最終更新