我正在玩 DigitalOcean droplet。Linux Ubuntu 18.04。
我的root
密码大约有 8 个字母数字字符长。端口 22。拥有中国 IP 地址的黑客大约需要 3 天时间才能破解它。
我重复了这个实验几次。每次大约需要 3 天时间。
因此我不再使用密码并改用 SSH 密钥。
DigitalOcean 会生成一个长度为 26 个字母数字字符的初始root
密码。这样是不是更安全?(首次登录后,DigitalOcean 会要求您选择自己的密码,因此我会选择 8 个字符的较短密码,这样我就可以记住它们。)
您认为黑客需要多长时间才能破解它?
答案1
有趣的问题以及使用中国IP的黑客的测试!
我假设您所说的“字母数字”是指[A-Za-z0-9]
,或 62 个字符。如果他们平均需要 3 天才能破解一个 8 个字符的密码,那么应该需要 6 天才能破解所有 62^8 个可能的密码,因此他们每秒可以猜出 62^8 ÷ (6×24×60×60) = 421180759 个密码。
以同样的速率计算一个 26 个字符的密码需要 62^26 ÷ 2 ÷ 421180759 ÷ (60×60×24×365),或者1.5数以万亿计打破, 一般。
话虽如此,每秒破解 421180759 个密码确实令人印象深刻。我猜你的 8 个字符密码并不是真正随机的,而是由字典中的单词或其他半可预测的成分组成,因此我们的每秒猜测次数计算不准确。他们可能在 1.5 亿年内都无法破解 26 个字符的密码。
顺便说一下,密码强度通常用熵的位。假设密码是真正随机的,那么 8 个字符的密码的熵为 log₂(62^8),即 48 位。而 26 个字符的密码的熵高达 155 位!如果你还没看过,你也必须读一读经典的xkcd 密码强度通讯。