我的客户端有一台服务器正在遭受来自僵尸networking的powershelllogin尝试。 由于服务器和客户端的变化无常,我们不能通过防火墙,端口更改或login帐户名称的变化轻易地阻止这些尝试。
已经做出决定让它公开进行攻击,但find一种保持密码安全的方法。 pipe理层和其他一些顾问已经确定,最好的办法是安装密码轮换软件,每10分钟轮换一次密码,并向需要login的用户提供新的密码。
蛮力企图每秒发生两次。
我需要certificate的是,使用12-15个字符来实现强密码是一个更简单和免费的解决scheme。 我知道如何用math来certificate这一点,但我只是写了类似于“我们的密码有许多可能的排列组合,攻击者每天只能尝试n次尝试,因此我们希望他们去x /平均2天之后,他们就猜测我们的密码。“ 有没有更标准的“证据”呢?
使用fail2ban与iptables是一个很好的方法。
这是你的math:
混合的大小写字母和常见符号,长度为8个字符,可以为您提供2.9万亿次的组合,而万次的尝试则需要9,488年的时间。 这当然是最大的 – 希望你的密码在4000年内被破解。 1000年,如果你不幸运。
正如你所看到的,你应该没有任何问题,如果你做一个15个字符的密码,如:
dJ&3${bs2ujc"qX
除了fail2ban之外,
如果您正在运行任何现代UNIX,通常可以将错误的密码inputhibernate时间更改为5秒,使攻击速度减慢2000%。 [Solaris 10在/ etc / default / login中searchSLEEPTIME]使用相同的容差将意味着您可以每隔3小时20分钟轮换一次密码。
此外,locking之前尝试密码将是一个可行的select,但我怀疑这不适合你,因为你有多个用户共享一个帐户,并不希望它locking了所有的时间。
需要12-15个字符的密码有助于解决问题,但如果您不断受到攻击,另一种解决scheme可能会更好。 我不知道贵公司的预算容忍度是多less,但是每个需要login该帐户的人都可以使用RSA密钥卡来解决这个问题。 双因素authentication将概率推入量子计算时间。
蛮力的方法足以让你在这个板子上发布是非常令人惊讶的。 一般来说,它是相当低调的,充其量是一个日志填充,而真正的攻击正在进行。
如何呼吁权威? 你可以参考国防部安全技术实施指南(iase.disa.mil/stigs/stig),并说:“如果国防部足够好,对我们来说就够了”
需要考虑的事情是:如果你的密码没有改变,而蛮力攻击正在testing一个包含你的密码的宇宙,那么蛮力攻击最终会被击中,并且在此之后你将依然脆弱。
随机select会击中你的密码的“机会”可以按照你的build议计算出来,但这可能不能说明整个故事。
例如,如果你看看暴力破解企图,并且看到他们尝试的最长密码是10个字符,那么在12处挑选任何东西将确保你永远不会被击中。
试图将统计数据应用于特定案例时要非常小心; 他们只能预测大量样本的整体行为。
除此之外,如果math不能(或者不能)说服某人,那么试着去寻找一些发生但是很熟悉的事情,比如彩票或车祸,或者雷击。 如果你可以说“有人打这个密码的机会大约与六周中奖彩票相同”,这可能会给他们一个更好的感觉。
有一件事没有被考虑到,僵尸networking使用的是Bruteforce的用户名。 在所有我见过的例子中,暴力行为都是针对pipe理员和根的变体,在一些罕见的情况下,他们从公司网站上删除了用户名。
我还会更改交互式login限制,以便您的root帐户被禁用(首选)或限制到您的本地子网或类似的地址范围。
每秒两次也不错。 在实现fail2ban之前,我们曾经看到每分钟有数千次的尝试, fail2ban会在这么多失败的尝试(所有可configuration的)之后将特定的IP从networkinglocking一段时间。
这对我们来说很好。
其实,你可以有select地扫描使用iptables的蛮力ssh攻击,如果这适用于你。
这两个string:
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次以上。 你可以改变“–hitcount”号码,如果你想要一个更大的数字比5每秒被允许。
我同意每10分钟更改密码似乎有点过分。 在这一点上,问题变成了如何安全地传输新的密码,并保持系统彼此同步。
这篇文章有一些关于破解速度的有趣的统计:
令人惊讶的是,有多less人不懂得指数曲线,但每个人都知道10,100和1000之间的差异,所以这可能是开始进行比较的好地方。
另一个策略可能是实际向人们展示暴力破解6个字符密码需要多长时间。 如果你有任何编程知识,你可以把一个快速的工具,这样做。
你也可以向他们展示如何轻松地提供彩虹表:
这可能有点偏离主题 ,但是我使用了denyhosts ,这大大减less了我的Linux机器上的暴力破解。