过去一周,我在AWS ElasticBeanstalk上托管的服务器一直崩溃。查看日志,我会在服务器无法访问之前不久看到以下内容:
nginx访问日志
139.162.124.167 - - [22/Mar/2017:09:54:05 +0000] "GET http://clientapi.ipip.net/echo.php?info=20170322175406 HTTP/1.1" 404 977 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64)" "-"
139.162.124.167 - - [22/Mar/2017:09:54:05 +0000] "\x05\x02\x00\x02" 400 173 "-" "-" "-"
139.162.124.167 - - [22/Mar/2017:09:54:05 +0000] "\x05\x02\x00\x02" 400 173 "-" "-" "-"
node.js记录
GET /echo.php?info=20170322175406
我的猜测是,他们正在验证活动服务器接受请求然后将字符(从以下漏洞:http://downloads.securityfocus.com/vulnerabilities/exploits/34291.c)转储到打开的TCP / IP连接上,导致它崩溃/停止响应
我最近在节点实例中添加了更好的异常日志记录,但是在它再次发生之前,还有其他步骤可以防止将来发生这种情况吗?
答案 0 :(得分:0)
升级服务器上的nginx,直到它不再崩溃为止。
nginx永远不会在任何请求上崩溃。如果最新版本仍然崩溃,请查看是否已报告该问题。如果没有,那么自己报告问题。如果它已跟踪讨论并查看何时解决。
您可能正在使用过时版本的nginx,只需升级即可解决问题。
答案 1 :(得分:0)
找到此有效负载here,即shock attack。这是关于你可能发生的最糟糕的事情 - 攻击者在你的nginx盒子上得到一个shell,然后从那里可以访问你的内部网络(这比你经历的崩溃更糟糕)。谁知道他进一步渗透了多少。你的TLS私钥是在nginx盒子上吗?如果是这样,攻击者应该可以访问它。
您需要做的第一件事是升级到最新版本的nginx。然后,您应该在nginx框中更改密码,并检查可从nginx框访问的所有其他内部系统。