首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如果在前端调用API时会显示IPv4公共IP,那么这个后端是否存在安全问题?

如果在前端调用API时会显示IPv4公共IP,那么这个后端是否存在安全问题?
EN

Stack Overflow用户
提问于 2020-10-02 04:27:18
回答 1查看 103关注 0票数 1

现在,我使用ec2作为后端平台(节点js + nginx + certbot),nginx.conf的设置如下

代码语言:javascript
复制
server {
  listen 80;
  server_name somethings.example.com;
  root         /usr/share/nginx/html;
  location /{
     proxy_pass http://127.0.0.1:3000;
     proxy_http_version 1.1;
     proxy_set_header Upgrade $http_upgrade;
     proxy_set_header Connection 'upgrade';
     proxy_set_header Host $host;
     proxy_cache_bypass $http_upgrade;
     proxy_redirect off;
  }

前端-后端通过https进行通信

当前端在铬开发工具(“元素”面板)中使用后端(api)时,您可以在“远程地址”列中看到ec2 IPv4公共IP: 433。

问题

然而,当我使用IPv4公共IP: 3000时,我可以使用http (不安全) api (目前正在使用404以防止进一步使用)。

所以我想问一下这会不会导致安全问题?如何解决这个问题?还是在使用http进行通信时重定向?或者如何将ec2 IPv4公共IP:433隐藏在远程地址中?

EN

回答 1

Stack Overflow用户

发布于 2020-10-05 02:28:47

是的,有安全问题。在公共子网上公开您的EC2实例允许人们尝试并探测各种端口,并查看他们是否可以利用任何漏洞或利用安全性上的任何漏洞。

至少,您应该锁定与此EC2实例关联的安全组,以确保它只接受来自预期443端口的公共HTTP通信。

提高安全性的一个常见方法是使用负载均衡器(即使您只有一个EC2实例)。

Amazon提供了各种负载平衡器,您可以使用经典的弹性负载均衡器(ELB)或应用程序负载均衡器(ALB)。

这是通过将您的EC2实例放在一个私有子网中来实现的,这样互联网上的东西就不能访问它了。然后在公共子网中创建负载均衡器,并更新安全组设置,以便只有负载均衡器才能向EC2实例发送请求。还可以确保负载均衡器只接受/转发HTTPS通信量。

使用上述策略可以向客户端隐藏EC2实例,并确保没有人能够探测您的EC2s的各种端口。

否则,您只需锁定EC2上的安全组设置,以确保只向公众开放例外端口。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64166159

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档