可能重复:
我的服务器被黑了 紧急求助
我从http://linode.com我确实没有做任何形式的高级配置来确保它的安全(端口 22;已启用密码)。
似乎不知何故有人从我的 IP 发起 SSH 扫描,我被标记,因为这违反了 TOS。我只从我家的 Comcast ISP 发起 SSH,我在其上运行 Linux。
这是购买新 VPS 时的常见情况吗?是否有任何标准的安全配置提示?我很困惑我的机器为何被指控进行 ssh 扫描。
答案1
就我个人而言,这听起来像是你被入侵了。我会重新安装操作系统,然后使用以下命令重新配置 SSH:
- 仅基于密钥的身份验证
- 使用 AllowUsers 或 AllowGroups 锁定允许进入该框的用户
- 使用 iptables 锁定允许的 IP 地址。
答案2
许多系统入侵都是由于扫描和暴力破解弱密码造成的。不幸的是,这已成为日常互联网生活的一部分,您需要保护您的服务器免受此类攻击。以下是入门指南:
答案3
这原本是 freedom_is_chaos 的回答的一个评论,但后来变得太大了……
@Meder:其他服务(例如 SSHd 本身)也会保留日志 - 不仅仅是 Apache。不过,任何编码良好的漏洞(或由优质现成漏洞生成器创建的漏洞)一旦进入,就可能掩盖其踪迹。
鉴于漏洞正在建立许多 SSH 连接(试图以感染您的服务器的方式将自身传播到其他服务器),因此,密码选择不当root
或具有足够权限的帐户是最有可能的攻击媒介。您需要停止虚拟机sudo
立即地。感染持续的时间越长,问题就越严重,可能会导致进一步的感染。
如果您希望保留虚拟机上的任何数据,请立即关闭它 - 先不要忙着备份,因为除非自从我上次使用 Linode 的服务以来情况发生了变化,否则您可以创建一个新的、未被利用的虚拟机并将旧驱动器连接到它以提取数据。不过,请注意不要相信这些数据,尤其是可执行二进制文件和脚本 - 仔细检查您使用的任何东西,以防它被修改以方便将来的利用(您不想意外地将安装在旧虚拟机中的后门复制到新虚拟机中)。
另外,请阅读 tasaro 链接的页面。这看起来像是如何尝试保护简单虚拟机的一个很好的总结。如果您不会(由于某种原因不能)使用基于密钥的身份验证,至少要使用强密码 - 不用担心它们难以记住,因为您可以将它们存储在类似keepass而不需要记住它们(只需确保您将 keepass 数据保存在安全的地方)。虽然远程攻击可以通过基于字典的暴力猜测轻松获得“elephant4”之类的内容,但不太可能获得“eGz3nk7aVdN7OIChoPy7”之类的内容。还要确保对不同的服务使用不同的密码 - 这样,如果某个密码以某种方式泄露,您只会危害一项服务,而不会危害其他许多服务。
答案4
最可能的解释是您的服务器已被入侵。
接下来是什么?
获得全新映像后,请不要忘记禁用通过 SSH 的 root 登录。这样,您将被迫先通过用户帐户登录,然后使用 提升为 root su
。不要向任何不需要的普通用户帐户授予 sudo 权限。
AllowUsers
在 SSH 配置中限制需要 SSH 访问权限的用户也是一个好主意。如果可能,确保这些用户拥有强密码。
为什么要从头重新安装?
如果你继续使用同一个系统,你永远无法确定你已经删除了攻击者安装的所有后门。如果攻击者利用特权升级漏洞来获得根,那么他/她甚至可以替换系统和/或启动二进制文件。