当端口号80关闭入站流量时,如何使在amazon ec2上运行的应用程序可访问

时间:2015-04-15 01:04:45

标签: amazon-ec2 amazon

所有

我在亚马逊ec2实例上的tomcat上运行了一个web应用程序,我在godaddy上有一个DNS名称,它使用弹性ip重定向到ec2上的这个web应用程序。

当我打开所有入站流量的端口号80时,一切正常但最近我收到了来自亚马逊支持的电子邮件,说我的实例向IP(x)xxx.xx.xx发起了拒绝服务(DoS)攻击。 xxx通过UDP端口80.

如何通过关闭端口80到外部世界来访问应用程序?

提前致谢, 李可染

2 个答案:

答案 0 :(得分:0)

http是通过TCP。仅在80上打开TCP,在80上关闭UDP。 webapp应该可以工作。

答案 1 :(得分:0)

  

我在亚马逊ec2实例上的tomcat上运行了一个web应用程序,我在godaddy上有一个DNS名称,它使用弹性ip重定向到ec2上的这个web应用程序。

重定向是一个HTTP的东西(并不是非常有效,也不适合书签)。您的意思是您的网络应用程序有A记录吗?

  

当我打开所有入站流量的端口号80时,一切正常

是的,您需要打开端口80以提供流量。

  

但最近我收到了来自亚马逊支持的电子邮件,说我的实例通过UDP端口80向我的实例发送了拒绝服务(DoS)攻击到IP(x)xxx.xx.xx.xxx。

有两种可能的解释:

1)您的软件有问题,并试图通过UDP将数据发送到他们的盒子。这不太可能,但如果您意外启用/配置错误的collectd,syslogd,statsd或其他软件包,则可能。

2)你的软件有问题,让黑客接管你的盒子。它可能是您的Web应用程序,或者它可能是其他一些服务(如果您有其他端口向世界开放)。

无论哪种方式,优秀的系统管理员都可以使用TCPDump来确定问题所在。

  

如何通过关闭端口80到外部世界来访问应用程序?

你不能。如果您想为世界提供流量,您需要一个开放端口。阻止端口80 TCP将无法解决您的问题,因为" TCP端口80上的传入流量" (用于Web服务器)与#34;传出UDP端口80"无关。如果您的盒子正在发送UDP流量,那么它就是您的盒子上运行的已损坏/配置错误的程序。

也就是说,您可以使用像CloudFlare这样的代理服务来隐藏"隐藏"你的服务器在负载均衡器后面。但这不会解决你的根本问题,这似乎是你的盒子不安全。如果要将服务器放在Internet上,则需要升级安全知识,或聘请系统管理员。

如果您的内容是"静态" (即不是经常变化,就像一个每天更新几次的简单博客),你应该考虑从S3提供服务​​。 S3不需要系统管理员,而EC2则需要。