GCP - VPC & Networking
Last updated
Last updated
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)
VPC는 VPC로의 수신 트래픽을 허용하는 방화벽 규칙을 포함합니다. VPC는 또한 가상 머신이 연결될 서브네트워크를 포함합니다. AWS와 비교할 때, 방화벽은 AWS 보안 그룹 및 NACL에 가장 가까운 것이지만, 이 경우 이러한 규칙은 각 인스턴스가 아닌 VPC에서 정의됩니다.
컴퓨트 인스턴스는 VPC의 일부인 서브네트워크에 연결됩니다 (Virtual Private Clouds). GCP에는 보안 그룹이 없으며, 각 VM 인스턴스에 적용되는 네트워크 수준에서 정의된 VPC 방화벽만 있습니다.
VPC는 여러 서브네트워크를 가질 수 있습니다. 각 서브네트워크는 1개 지역에 있습니다.
기본적으로 모든 네트워크에는 두 개의 암시적 방화벽 규칙이 있습니다: 아웃바운드 허용 및 인바운드 거부.
GCP 프로젝트가 생성되면, **default
**라는 VPC도 생성되며, 다음 방화벽 규칙이 포함됩니다:
default-allow-internal: default
네트워크의 다른 인스턴스에서 모든 트래픽 허용
default-allow-ssh: 모든 곳에서 22 허용
default-allow-rdp: 모든 곳에서 3389 허용
default-allow-icmp: 모든 곳에서 핑 허용
보시다시피, 방화벽 규칙은 내부 IP 주소에 대해 더 관대한 경향이 있습니다. 기본 VPC는 컴퓨트 인스턴스 간의 모든 트래픽을 허용합니다.
기본 VPC 또는 새로운 VPC에 대해 더 많은 방화벽 규칙을 생성할 수 있습니다. 방화벽 규칙은 다음 방법을 통해 인스턴스에 적용될 수 있습니다:
VPC 내의 모든 인스턴스
불행히도, 인터넷에서 열린 포트를 가진 모든 컴퓨트 인스턴스를 출력하는 간단한 gcloud
명령은 없습니다. 방화벽 규칙, 네트워크 태그, 서비스 계정 및 인스턴스 간의 연결을 찾아야 합니다.
이 프로세스는 이 파이썬 스크립트를 사용하여 자동화되었으며, 다음을 내보냅니다:
인스턴스, 공용 IP, 허용된 TCP, 허용된 UDP를 보여주는 CSV 파일
공용 인터넷(0.0.0.0/0)에서 허용된 포트로 모든 인스턴스를 대상으로 하는 nmap 스캔
공용 인터넷(0.0.0.0/0)에서 모든 TCP 포트를 허용하는 인스턴스의 전체 TCP 범위를 대상으로 하는 masscan
_계층적 방화벽 정책_을 사용하면 조직 전체에 일관된 방화벽 정책을 생성하고 시행할 수 있습니다. 조직 전체 또는 개별 폴더에 계층적 방화벽 정책을 할당할 수 있습니다. 이러한 정책은 연결을 명시적으로 거부하거나 허용할 수 있는 규칙을 포함합니다.
방화벽 정책을 생성하고 적용하는 것은 별도의 단계입니다. 리소스 계층 구조의 조직 또는 폴더 노드에서 방화벽 정책을 생성하고 적용할 수 있습니다. 방화벽 정책 규칙은 연결을 차단하거나, 연결을 허용하거나, 방화벽 규칙 평가를 하위 폴더 또는 VPC 네트워크에 정의된 VPC 방화벽 규칙으로 연기할 수 있습니다.
기본적으로 모든 계층적 방화벽 정책 규칙은 정책이 연결된 조직 또는 폴더 아래의 모든 프로젝트의 모든 VM에 적용됩니다. 그러나 대상 네트워크 또는 대상 서비스 계정을 지정하여 특정 VM에 주어진 규칙을 제한할 수 있습니다.
여기에서 계층적 방화벽 정책 생성 방법을 읽을 수 있습니다.
조직: 조직에 할당된 방화벽 정책
폴더: 폴더에 할당된 방화벽 정책
VPC: VPC에 할당된 방화벽 규칙
글로벌: VPC에 할당할 수 있는 또 다른 유형의 방화벽 규칙
지역: VM의 NIC 및 VM의 지역과 관련된 VPC 네트워크의 방화벽 규칙.
두 개의 가상 사설 클라우드(VPC) 네트워크를 연결하여 각 네트워크의 리소스가 서로 통신할 수 있도록 합니다. 피어링된 VPC 네트워크는 동일한 프로젝트, 동일한 조직의 다른 프로젝트 또는 다른 조직의 다른 프로젝트에 있을 수 있습니다.
필요한 권한은 다음과 같습니다:
compute.networks.addPeering
compute.networks.updatePeering
compute.networks.removePeering
compute.networks.listPeeringRoutes
AWS 해킹 배우기 및 연습하기:HackTricks Training AWS Red Team Expert (ARTE) GCP 해킹 배우기 및 연습하기: HackTricks Training GCP Red Team Expert (GRTE)