如题,一般常见的微服务架构中都有诸如 gateway 等一类的,api 入口网关,那是否需要一个出口网关来统一进行请求外部接口的操作呢?
1
q1angch0u 2022-05-01 03:15:55 +08:00 via iPhone
入口 gateway 是为了做高可用,牺牲了 slb 的流量费用,出口做 proxy 是为了什么呢?
|
2
sharpnk 2022-05-01 08:22:12 +08:00 1
我司用 istio ,出口网管可以用来做 policy enforcement 。好比指定那些域名 /ip 可以出口访问,还有出口的时候是否强制要求 mtls 之类的。另外所有 egress traffic 都走这个 gateway 的话也可以很方便的去 monitor 。
|
3
janxin 2022-05-01 08:52:36 +08:00
出口网关需要根据需求来的,看你是否有一些功能需求,又不是为有而加
|
4
byte10 2022-05-01 09:25:00 +08:00 1
@q1angch0u 入口有网关是为了服务发现,微服务扩容方便。当然 nginx 写插件 也可以做到服务发现。
@sharpnk 回答正确。 关于出口网关其实很简单,做过安全都懂,统一出入口方便管理。但是一般不用 gateway 作为流量出口网关,一般用 http 代理服务器作为统一流量出口,这个代理服务器一般交给运维去处理,限制白名单域名。做到了这些之后,挖矿的程序进来也无法访问网络出去了,但是大多数的企业都没有做到这一点,只有头部一些互联网或者安全要求高的金融公司。出口的流量其实非常的重要,可以让恶意脚本或者程序进来 也无法出去,只能自己在内网搞搞破坏啥的。安全其实很简单,就像带口罩防病毒,贵重东西不要放客厅,不要仍在院子、出门要锁门,保险箱密码要复杂,这些都是基本的常识。但是大多数的人和公司都没有基本常识,这个导致很多悲剧。 |
5
cxytz01 2022-05-01 09:33:26 +08:00
除非你的资产很重要,或者资产受影响之后影响面很广,否则不需要。
大厂一般这么做:生产环境默认禁止出口流量,需要出口流量申请,限制 ip 、端口、协议、目的地址。 甚至办公环境,把全部流量 hook 到指定 proxy ,proxy 做黑白名单处理。 |
6
ratazzi 2022-05-01 11:04:13 +08:00 via iPhone
webhook ?
|
7
gtx990 2022-05-01 11:34:36 +08:00 via Android
vpc
|