大家来讨论一个服务器安全性问题
我们的项目中经常会调用一些三方接口,比如 OSS、发送短信、发送邮件这些三方服务。
在向这些服务发起请求时,是会向对方暴露我们服务器的 真实IP地址
,而且一些三方服务可能还会有 IP白名单配置,由此看来暴露服务器的 IP 地址无法避免。
如果我对接的是一些小的三方服务商,假如他们「不老实」,收集我们的服务器 IP 地址,然后卖给我的同行,或者扫描我的服务器端口进行攻击或者 DDOS 怎么办?
难道再搞一台代理服务器?但是就为了发一个请求成本也太高了。
或者给服务器上开一个 ladder ?
大家在日常开发中有遇到类似问题的吗?都是怎么处理的?
套cf,请求做限流处理
这个是不可避免的,只要你访问他人就一定会暴露ip
代理也避免不了DDoS攻击把。只是代理服务器可以单独拎出来做好防御DDoS攻击的策略,尽量转发安全的请求。
你怀疑它们会不老实,那为什么不直接使用大厂的服务呢。你认为成本过高,是因为业务没有正面价值?那干你的意义?
通过网络隔离或防火墙来过滤掉所有外部流量,如果服务器提供的服务都是通过反向代理或者 LB 提供的,那么把服务器的防火墙规则设置为仅允许出反向的外部流量,入方向的流量仅允许反向代理或 LB 的 IP。
我理解得加钱,我记得之前尝试过阿里云的一个安全类产品,原理是通过 CNAME 将你的 IP 地址藏到后面,它替你挡一层。
另外能否配置弹性 IP 限制只能出不能进,这个我还没试过。
不行就买个代理池,也不贵
讲一个第四方支付的案例,场景是需要给接入方发送 http 回调,这个过程中可能会暴露业务服务器 IP。
服务器配置:业务服务器 A,代理服务器 B,两台服务器都部署在阿里云。
服务器 A 的所有出口流量都走内网通过代理服务器 B 流出。
通过阿里云安全组禁用代理服务器 B 所有外网流入流量(内网放行),这样可以一定程度上防止攻击(目前还是理论,没被 DDoS 过)
ddos也是有成本的
你难道不知道可以有网关,网关可以控制只出不进?
这个只有你的服务对公网进行访问,都有被ddos的可能(cdn防火墙也可能被打趴),就像只要出门就可能被车撞死这种,解决方案就是不出门
api网关
你的问题多虑了
这个世界有一堆人天天扫公网的机器, 即使你一台啥也没有的服务器上线一段时间, 看NGINX日志也会有莫名的IP访问, 所以我感觉想通过隐藏自己来100%避免攻击是无意义的
扫你ip多块,写个循环,很快就能扫到你,这没办法避免吧
全部自建就好了。
cf和代理,最多隔绝的客户和主机之间的真实连接。如果主机开放了端口,还是会被扫描到,除非主机不开放外部端口。
加钱解决一切问题
入网IP和出口IP不一样就行了啊。
阿里云做SNAT/DNAT