为什么允许任何IP地址访问我的EC2实例是个坏主意?

时间:2018-04-02 21:43:51

标签: amazon-web-services web service amazon

为什么允许任何IP地址访问我的群组证券中的EC2实例是一个坏主意,我该怎么做才能避免这种情况,如果用户如何在其上运行nodejs webapp,他将如何访问EC2服务器? ?

2 个答案:

答案 0 :(得分:1)

显然,对于很多用例,您将不得不允许任何IP地址连接到它 - 例如,如果您运行的是公共网站,则允许从任何IP地址到端口80(和443)的流量如果是SSL)。

您不想做的是允许从任何IP到任何其他人无法使用的端口的流量 - 例如,如果您在其上运行SQL Server,您将不希望允许世界 - 广泛访问1433端口。

如果您这样做,我保证您会在很短的时间内在您的日志中看到成千上万次尝试登录您的服务器 - 他们会24x7x365运行尝试密码才能进入 - 这是对于任何端口上的任何服务都是如此,因此您希望完全阻止未使用的端口,并且仅允许来自已知IP地址的流量用于需要连接的用户。

答案 1 :(得分:0)

我只允许通过iptables连接HTTP(端口80)和HTTPS(端口443)。

您只能为自己的IP添加SSH(端口22)访问权限。

我使用初始化脚本,但也可能通过Amazon Web Form为安全组执行此操作。

#! /bin/sh

iptables -P INPUT DROP
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --dport 443 -j ACCEPT
iptables -A INPUT -s 1.2.3.4/32 -p tcp -m tcp --dport 22 -j ACCEPT