似乎默认情况下,Google Cloud负载均衡器会不必要地公开多个端口。我还没有找到一种只暴露80/443的方法,每次我制作一个负载均衡器时,在nmap中都会看到以下端口:

PORT     STATE  SERVICE
25/tcp   open   smtp
80/tcp   open   http
110/tcp  open   pop3
143/tcp  open   imap
443/tcp  open   https
465/tcp  open   smtps
587/tcp  open   submission
993/tcp  open   imaps
995/tcp  open   pop3s
1720/tcp open   H.323/Q.931
8080/tcp open   http-proxy
有办法封锁25、465、587、993和995吗?请注意,这个问题是关于GCP负载平衡器的,而不是防火墙。

#1 楼

您不能将deny规则添加到GC防火墙。默认策略是Deny。您只能添加allow规则-允许您需要的所有内容,而让其他所有内容都被拒绝。

由于默认情况下您需要阻止的端口是允许的,因此只需删除它们即可。检查默认规则的名称:

gcloud compute firewall-rules list [NAME …] [--regexp=REGEXP, -r REGEXP] [--filter=EXPRESSION] [--limit=LIMIT] [--page-size=PAGE_SIZE] [--sort-by=[FIELD,…]] [--uri] [GLOBAL-FLAG …]


,然后使用以下命令将其删除:

gcloud compute firewall-rules delete NAME [NAME …] [GLOBAL-FLAG …]


您可以检查有关如何处理Google Cloud防火墙的详细说明,请点击此处。

评论


题外话。问题是关于GC负载平衡器,而不是其防火墙。

–bootbeast
17年4月11日14:32



#2 楼

当前无法像使用AWS ELB一样限制GCP负载平衡器的端口和协议。
这是一项功能请求。 https://issuetracker.google.com/issues/35904903

#3 楼

我也是在寻找它,但我不认为您可以,因为这些是Google用于执行LB的端口:

HTTP请求可以基于端口80或8080进行负载平衡。HTTPS请求可以在端口443上进行负载平衡。
TCP代理负载平衡支持以下端口:25、43、110、143、195、443、465、587、700、993、995、1883、5222

来自:GCP HTTP(S)LB和GCP TCP LB

评论


确实,就像我说的那样,这是当前的功能要求。

–bootbeast
17年11月29日在20:01

#4 楼

信息来自:https://cloud.google.com/load-balancing/docs/https#open_ports

打开端口
外部HTTP(S)负载平衡器是反向代理负载平衡器。负载平衡器终止传入的连接,然后打开从负载平衡器到后端的新连接。反向代理功能由Google前端(GFE)提供。

您设置的防火墙规则会阻止从GFE到后端的流量,但不会阻止到GFE的传入流量。

外部HTTP(S)负载平衡器具有许多开放端口,以支持在同一体系结构上运行的其他Google服务。如果您对Google Cloud外部HTTP(S)负载平衡器的外部IP地址运行安全或端口扫描,则其他端口似乎已打开。

这不会影响外部HTTP(S)负载平衡器。在定义外部HTTP(S)负载平衡器时使用的外部转发规则只能引用TCP端口80、8080和443。具有其他TCP目标端口的流量不会转发到负载平衡器的后端。 />