被攻击的AWS EC2实例

时间:2016-06-03 16:08:07

标签: amazon-ec2

我的一个EC2实例几天前被黑了。

我尝试通过SSH登录到服务器,但我无法连接。我是唯一一个可以访问私钥的人,我把它放在一个安全的地方。

幸运的是,我对所有内容进行了备份,并能够将网络应用程序快速移动到新实例。

我现在关注的是,我不知道我的实例是如何被攻击的。

为什么我无法使用私钥通过SSH登录?我认为存储在服务器上的私钥不能(轻易)删除。

有没有办法可以找出黑客如何获得对该实例的访问权限?也许是一个日志文件,它会指向我正确的方向。

我是否应该将有问题的EBS卷附加到新实例并查看其中的内容或在这种情况下我的选项是什么?

现在,似乎我必须完全访问被黑客入侵的实例。

谢谢!

3 个答案:

答案 0 :(得分:1)

@Krishna Kumar R对于黑客可能正在改变ssh密钥是正确的。

后续步骤:

安全问题(现在就这样做!):

  1. 停止该实例,但尚未终止

  2. 撤消/过期存储在实例上的所有敏感凭据,包括其他网站和服务的密码和密钥。存储在该实例上的所有内容都应被视为已泄露。

  3. 验尸

    1. 获取实例根卷的EBS快照(假设存储日志的位置)

    2. 从快照创建新卷并附加到(非生产)实例

    3. 装载并开始读取日志。如果这是一个linux主机并且您在防火墙中打开了端口22,那么我将从/<mount-point>/var/log/auth.log开始

答案 1 :(得分:0)

他们可能已通过密码登录您的计算机。在ssh config中,检查以下值:PasswordAuthentication。如果设置为yes,则用户可以通过密码远程登录实例。检查/ var / log / secure是否有任何远程登录。它将显示所有登录(密码或密钥)。

如果有人以'root'身份登录,他们可以修改ssh密钥。

答案 2 :(得分:0)

您无法登录计算机的事实意味着它已被“黑客攻击”#34;。这可能是由于实例上的配置更改,或者实例可能在停止/启动后更改了IP地址。

在StackOverflow上搜索连接到实例的问题的标准解决方案并查看是否可以连接(例如,重新检查IP地址,检查安全组,打开 // open sysPrefs SQLiteAdapterPrefs sysPrefs = new SQLiteAdapterPrefs(this); sysPrefs.openToRead(); Cursor cursor = sysPrefs.getFirst(); int index_IMEI = cursor.getColumnIndex(SQLiteAdapterPrefs.KEY_IMEI); int counterRows = cursor.getCount(); Log.v(TAG, "TENTANDO ABRIR PREFS registros no cursor= "+counterRows+" numColumns="+cursor.getColumnCount()); cursor.moveToFirst(); if ( !(cursor.isAfterLast()) ) { imeiFromDevice = cursor.getString(index_IMEI); } Log.v(TAG, "from sysprefs imeiFromDevice: "+imeiFromDevice); // set preferences and get emailId try { boolean prefsOK = sysPrefs.setPrefs(); 调试,检查网络连接和VPC设置,查看ssh -v等。)

最坏情况,是的,你可以:

  • 停止实例
  • 分离EBS卷
  • 将EBS卷附加到另一个EC2实例
  • 访问EBS卷的内容