有没有向非数学家证明密码安全性的标准方法?


16

我的客户端有一台服务器正在遭受来自僵尸网络的暴力登录尝试。由于服务器和客户端的客户端多变,我们无法通过防火墙,端口更改或登录帐户名称更改轻松阻止尝试。

已经决定让它容易受到攻击,但是找到了一种确保密码安全的方法。管理层和其他一些顾问确定,最好的办法是安装密码轮换软件,以每十分钟轮换一次密码,并将新密码提供给需要登录的用户。

暴力尝试每秒发生两次。

我需要证明使用12至15个字符来实现强密码是一种更容易且免费的解决方案。我知道如何用数学来证明这一点,但我只是在写类似“我们的密码可能有x种可能的排列,攻击者每天只能尝试n次尝试,因此我们希望它们进行x /次。他们猜测我们的密码平均需要2n天。” 有更标准的“证明”吗?

Answers:


14

与iptables一起使用fail2ban是一个好方法。

是适合您的数学方法:

混合的大小写字母和常见符号(长8个字符)为您提供2.9万亿个组合,每秒尝试10,000次将花费9,488年。那当然是最大数目-希望您的密码在4000年内能够被破解。1000年,如果您不感到幸运。

如您所见,如果您输入15个字符的密码,则应该没有任何问题,例如:

dJ&3${bs2ujc"qX

fail2ban对僵尸网络有何帮助?
innaM

2
您将遇到的唯一问题是没人能记住他们的密码。
Jeff Atwood,2009年

这是一个非常有趣的链接,但是我(在页面底部)注意到,它们的攻击时间基于奔腾100s!也许现在有点过时了,但是仍然是不错的阅读。
合作社

8

除了fail2ban,

如果正在运行任何现代UNIX,通常可以将错误密码输入的睡眠时间更改为最多5秒,从而使攻击速度降低2000%。[Solaris 10在/ etc / default / login中找到它,搜索SLEEPTIME],使用相同的容差将意味着您可以每3小时20分钟旋转一次密码。

另外,尝试在锁定之前尝试密码是一个可行的选择,但是我怀疑它不适合您,因为您有多个用户共享一个帐户,并且不希望它一直锁定。

要求使用12-15个字符的密码会有所帮助,但是如果您不断受到攻击,则另一种解决方案可能会更好。我不知道您公司对此的预算承受能力是什么,但是需要登录该帐户的每个人的RSA密钥卡也可以解决。两因素身份验证将概率推入了量子计算时间。

蛮力方法持续了足够长的时间,让您可以在此板上发布,这非常令人惊讶。一般来说,它是相当低级的,充其量是对数填充,而实际攻击正在进行中。


6

诉诸权力怎么样?您可以参考《国防部安全技术实施指南》(iase.disa.mil/stigs/stig),并说“如果对国防部足够好,对我们也足够好”


5

需要考虑的事情:如果您的密码没有更改,并且蛮力攻击正在测试包含您的密码的宇宙,那么蛮力攻击肯定会最终被击中,此后您将仍然处于脆弱状态。

正如您所建议的,可以计算出随机选择会击中您的密码的“机会”,但这可能无法说明全部情况。

例如,如果您查看蛮力尝试,并且发现他们尝试的最长密码是10个字符,则选择12处的任何内容将确保您永远不会被击中。

尝试将统计信息应用于特定案例时要非常小心;他们仅使用大量样本来预测整体行为。

此外,如果数学无法(或无法)说服某人,请尝试找到具有相同发生机会但熟悉的事物,例如彩票或车祸或被雷击。如果您可以说“有人输入密码的机会与连续六周赢得彩票的机会差不多”,则可能会给他们带来更好的感觉。


3
为什么不选择攻击者已经尝试过的密码?开玩笑。
innaM

4

尚未考虑的一件事是僵尸网络用于Bruteforce的用户名。在所有情况下,我都发现蛮力是admin和root的变体,在极少数情况下是从corp网站上删除的用户名。

我还将更改交互式登录限制,以便您的root帐户被禁用(首选)或限制为您的本地子网或类似地址范围。


2

每秒两次还不错。在实施fail2ban之前,我们曾经看到每分钟数千次尝试,这会在经过多次失败尝试(都可配置)后将特定IP锁定网络一段时间。

这对我们非常有用。


2

实际上,您可以使用iptables选择性扫描蛮力ssh攻击,如果这对您有用。

这两个字符串:

iptables -A INPUT -p tcp --dport 22 -m conntrack --ctstate NEW -m recent --set --name sshscans 
iptables -A INPUT -m recent --rcheck --seconds 60 --hitcount 5 --name sshscans --rsource -j DROP 

将在60秒的间隔内阻止尝试连接SSH超过5次的任何人。如果您希望每秒允许大于5的数字,则可以更改“ --hitcount”数字。



2

令人惊讶的是,有多少人不了解指数曲线,但每个人都知道10、100和1000之间的差异,因此这可能是开始进行比较的好地方。

另一个策略可能是实际上人们显示暴力破解6个字符的密码需要多长时间。如果您有任何编程知识,则可以组合使用一个快速的工具来执行此操作。



By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.