24

我一直在监视服务器的SSH日志,并注意到来自未知IP地址的登录尝试源源不断,大多数来自不同的国家。

已经尝试了堆和堆的帐户名,通过一些快速的服务器统计数据,我想至少有四分之一的时间是有效的用户名,这对我来说似乎太巧合了。这可能看起来很幸运,但在我的系统中没有太多像“John”这样的常用名称,因为在没有详细信息的情况下,我的应用程序主要用于工作,人们通常用全名来表示正式。

迄今为止,还没有任何尝试成功。幸运的是,我的服务器有一个强大的密码策略,并且我为所有用户启用了双因素身份验证。

我该怎么担心这些尝试?它们是否可能是僵尸网络或目标攻击的一部分?我是否可以采取其他安全措施来防止未经授权的访问?我担心潜在的安全风险,并希望确保我的服务器保持安全。

那么,这是我真的应该担心的事吗?还是我只是有点妄想症,我应该无视他们?

3
  • 9
    当您向公共互联网公开服务时,您在日志中看到的内容是典型的。请参阅以下链接以了解更多信息,以及可以采取哪些措施来加强ssh服务:security.stackeexchange.com/questions/66641/… security.stackeexchange.com/questions/39/… 4月29日2:13
  • 为什么您的SSH端口向全世界公开?仅使用受信任IP的白名单。 4月30日23:36
  • 2
    @丹妮·贝克特(DannyBeckett),这可能是一个好主意,但我对服务器网络有点陌生,实际上我试试这个,但当我真实的“客户”试图登录,但只有大约一半与他们以前的白名单匹配,另一半由于某种原因被拒绝,所以我不得不多次修改列表。我绝对没有说这是不可能的,因为这听起来像是一个好主意,但我可能只是没有足够的能力编译白名单,而不是自动更改和更新。 4月30日23:49

5个答案5

重置为默认值
37

这只是“正常”。互联网上任何暴露的服务器都将被恶意(和良性)机器人扫描。你看到的是暴力行为。它们通常不是目标;你只是数百万人中的一个目标。

您可以设置CSF-LFD或Fail2ban,在防火墙级别禁止侵犯IP地址。即使你的密码很强,也没有理由允许这种行为,因为浪费的。您的服务器正在遭受攻击,并白白浪费资源。(有时,我目睹了数百起同时发生的袭击事件;我想这会降低性能。)

您还可以禁用密码身份验证并使用公钥身份验证而不是。

那么,你必须考虑另一个公开的服务例如,垃圾邮件发送者通常以相同的方式探测SMTP服务器,以查找易受攻击的服务器,这些服务器可以用作开放中继。SMTP服务可以由上述相同的工具进行保护。

如果您有一个正在运行的web服务器,很可能会被试图查找和利用SQL注入和其他漏洞的机器人程序访问。

底线是:检查您的日志,并使用您可以使用的免费工具。还有一些工具可以监视日志,并在检测到特定事件时发送警报。

如果你想和攻击者玩得开心,你可以设置一个蜜罐观察他们的行为并挫败他们。

7
  • 1
    把这样的东西放在十亿笑声放在蜜罐上,但可能会有吸引不必要注意力的风险。 4月29日15:44
  • 14
    有趣的是,大约一年前,我将sshd端口更改为一个随机数,此后我看到的无效登录尝试次数为. 4月30日2:38
  • 7
    请注意,虽然fail2ban过去工作得很好,但现在我得到的每次登录尝试都来自不同的IP,而且在几个月内IP不会重复。因此,为了真正禁止任何人,你必须只允许一次失败的登录尝试,即使这样,禁令在实践中也没有取得任何效果。
    – 广东7
    4月30日8:45
  • 3
    我有一个工作主机,需要使用密码验证从互联网上收听22/tcp,原因是。每天大约有1000次失败的root登录。它是一个AWS主机,所以我能够定义大约30个IP网络块,可以从中获取合法连接,所以添加防火墙规则(安全组)来删除任何其他内容可以直接减少它。
    – 克里吉
    4月30日9:30
  • 6
    默认情况下阻止比默认情况下允许的安全性更高。不要将ip地址列入黑名单,而是将其列入白名单。
    – 发问者
    4月30日17:31
17

我该怎么担心这些尝试?

除非您看到除在您的系统中实际找到的。

它们可能是僵尸网络的一部分吗

可能,但不一定。尽管它们不是来自僵尸网络,但几乎可以肯定它们是自动化的。

还是有针对性的袭击?

除非尝试使用除.

这种东西的常见情况是尝试使用少数“知名”用户(,图尔,圆周率,管理员等),通常尝试已知的默认登录凭据,以查找安全性不高的系统(因为这些系统也是感染最不容易被发现的系统)。

我是否可以采取其他安全措施来防止未经授权的访问?

缓解问题的经典方法是在非标准端口上运行SSH服务(2222和2200是常用的替代方法)。大多数做这种事情的团体只检查默认端口,这既是因为它更快,也是因为更改端口的人可能会更好地关注他们的系统(因此几乎肯定会注意到攻击成功)。

一种更积极的方法是使用fail2ban等工具在防火墙级别阻止攻击主机。这将提供更完整的保护,但也存在用户被无意锁定的风险(要么是来自同一IP的攻击,要么是用户在短时间内多次身份验证失败)。

此外,禁用基于密码的身份验证可以轻松缓解此问题(前提是您确保用户没有使用已知受损SSH密钥).

1
  • 可以确认他们撞上了非标准端口——我以前有2222个,它也撞上了。 5月2日3:43
2

是的,你应该担心这些尝试。中国国家程序员,俄罗斯国家程序员,以及勒索软件团伙编写自动化程序来搜索服务器,当找到服务器时,尝试他们知道的该服务器上的所有可能漏洞。零日漏洞你无法抵抗的。

在我的服务器上,我已经写了10个捕鼠器检测这些黑客,并禁止他们使用iptables/ipset的IP地址,然后他们的自动程序就会发现一个我忽略的漏洞。我将禁用的IP存储在数据库。我目前禁止超过50000个IP地址。我写了一个程序读取此数据库并禁止其他服务器上的IP地址。我还建议在非标准端口上运行ssh.

9
  • 1
    fail2ban是一个现有的禁止暴力攻击者的工具
    – 施罗德
    4月30日20:36
  • 3
    另一种需要考虑的方法是屏蔽除已知良好IP外的所有IP。保持(可能很小)已知的良好列表可能比阻止它们出现更容易管理。正如另一个答案中的一位评论员提到的那样,IP地址很容易获得。
    – 斯普克
    4月30日22:19
  • 你有关于你的禁令多久生效一次的统计数据吗,即你的被禁IP地址稍后会尝试做其他事情? 5月1日1:06
  • 2
    @spuck我对白名单的唯一担心是需要从一个新位置访问服务器,但由于IP不在白名单上,所以无法访问。你不可能总是提前知道要从哪个IP地址连接。
    – 迈克尔
    5月1日8:39
  • 1
    @phyrfox我也运行自己的VPN服务器,但它在同一个VPS上
    – 迈克尔
    5月1日13:40
1

完全不同的方法,但不适用于所有情况:可以在主机上运行VPN服务器吗?具有有效凭据的用户将启动VPN,然后才能在服务器上使用ssh。这可以通过从防火墙的公共区域中删除端口22来实现,而不是在那里打开VPN服务器端口(例如,用于OpenVPN的UDP端口1194)。此外,可以将ssh服务器配置为仅侦听VPN服务器的内部网络。在我的服务器上,这使得非法ssh登录尝试的次数降到了零,而令我惊讶的是,VPN服务器上的非法登录尝试每天只持续了几次。

作为补充说明,我不会考虑禁止IP地址,因为正如这里的各种评论所述,我的日志中的IP地址或多或少都不会再出现。白名单IP地址似乎也没有什么用处,因为IP地址是为合法用户固定的这种想法通常是无效的。许多用户可能使用IP地址随位置变化的移动设备。此外,许多互联网提供商定期更改(A)DSL连接的IP地址。这可能解释了为什么原来的海报不得不频繁地调整IP地址白名单,以至于最终无法使用。

1
  • 可能。。。我必须检查我的防火墙设置。。。这可能不允许,但我会调查的。谢谢! 5月2日2:33
1

除了所有其他答案之外,我想指出端口碰撞它还可以作为一种解决方案,让随机IP能够访问各种不应该访问的端口。根据我的经验,它工作得很好,比简单地将SSH移动到一个更高的端口更让我放心。

1
  • 2
    这里的问题是所有客户机都需要设置端口敲门。既然我们谈论的是员工,还有其他更方便、更安全的选择。
    – 施罗德
    5月7日11:07

你必须登录来回答这个问题。

不是你想要的答案吗?浏览标记的其他问题.