🛡️ Google GCE Network allows unrestricted traffic to Elasticsearch🟢
- Contextual name: 🛡️ Google GCE Network allows unrestricted traffic to Elasticsearch🟢
- ID:
/ce/ca/google/vpc/network-elasticsearch-access - Tags:
- Policy Type:
COMPLIANCE_POLICY - Policy Categories:
SECURITY
Logic
Description
Description
This policy identifies Google GCE Networks that have Firewall Rules allowing unrestricted incoming traffic (
0.0.0.0/0) from the internet to the default Elasticsearch ports: TCP/9200 (REST API) and TCP/9300 (inter-node communication).In GCP, Firewall Rules are defined at the VPC Network level. Each rule either allows or denies traffic based on its configuration. These configurations specify the type of traffic (e.g., protocols and ports) and the source or destination (e.g., IP addresses, subnets, and instances).
Rationale
Exposing an Elasticsearch cluster to the public internet is highly risky and has been a common cause of data breaches. Older versions of Elasticsearch may have no authentication by default, allowing anyone with network access to read, modify, or delete all data in the cluster. Even when security features are enabled, unnecessary exposure of these ports increases the attack surface, making the cluster vulnerable to reconnaissance, brute-force attacks, and exploitation of known vulnerabilities.
... see more
Remediation
Remediation
From Google Cloud Console
- Go to
VPC Network.- Go to the
Firewall Rules.- Click the
Firewall Ruleto be modified.- Click
Edit.- Modify
Source IP rangesto specificIP.- Click
Save.From Google Cloud CLI
Identify Firewall Rules Allowing Public Access
gcloud compute networks get-effective-firewalls default \
--format="table(NAME, DIRECTION, IP_RANGES)" \
--filter="IP_RANGES:0.0.0.0/0 AND DIRECTION:INGRESS"Restrict the Source Range
Once you have identified the firewall rules, update each one to restrict access to trusted CIDR ranges:
gcloud compute firewall-rules update {{firewall-rule-name}} \
--source-ranges={{cidr-range1}},{{cidr-range2}}