鉴于最近发生的一起“黑客”正在从网站pipe理员那里学习和重试密码的事件,我们可以向所有人推荐关于密码的最佳做法吗?
请build议更多!
使用不是由通用词或名称组成的密码。 字典攻击使用数以百万计的字典,并且非常快。
使用长密码。 我倾向于使用通行短语 。 我select一个短语,句子或韵,并find一些方法来使用一定数量的非字母数字字符,以便我的单词不是字典单词。
不要对多个login服务使用相同的密码。 花点时间想出一个select密码的方法。 这允许您使用许多不同的密码,如果忘记了,您可能可以重新创build一些试验和错误。
如果你不得不写一个好的,长期的,安全的密码,并把它藏在某个地方。 至less比使用容易记住的弱密码更好。
如果上述build议certificate无法pipe理,请使用带有长安全密码的密码pipe理器,然后对其他所有密码使用随机字符密码。 随身携带密码pipe理器在一个encryption的USB闪存驱动器(当然备份)。
我发现了几个与密码有关的问题:
我对这个问题的解决scheme是使用密码作为实际密码的助记符。 例如,我可以从威廉·亨利·戴维斯(威廉·亨利·戴维斯)(76个字符)中select几行伟大的诗句:
没时间看,当我们走过的树林,
松鼠把坚果藏在草地里。
我会select每个单词的第一个字母,创build以下相当不错的16个字符的密码:
Nttswwwp,Wshtnig
使用诗歌特别好,因为它更容易记住,当你被要求改变密码时,你可以select一首诗的下几行。
当向他人口述密码制度时,不仅要求他们使用唯一的,长于阈值,包含混合大小写,特殊字符等,还要教育用户密码pipe理员或scheme来构造/记住这些密码。如果你不这样做,那么用户会把密码写下来,或者find其他不安全的方式来“记住”它们。
不要使用密码,这就是你首先出错的地方。 使用随机收集的字符(最less8个)或密码。 您可以想出一个公式,为每个站点生成不同的密码,例如ILikeStackOverflowOnions或ILikeServerFaultOnions; 这可以让你安全的对外界人士,但如果实际的网站被黑客入侵,密码不被腌制,或者如果pipe理员首先是腐败的话,仍然会造成问题。
如果您在记忆密码方面遇到困难,请使用一些熟知的文字。 选一个句子,用每个单词的第 n 个字母作为密码,保留标点符号。 (例如,从这个答案的第一句的第一个字母产生的密码可以是“Iyhtrp,uswkt。”)。 你可以通过改变一些大写字母来增强它,并增加一些特殊的字符。
定期更改密码。 我在哪里工作,这是一个30天的周期。 这是一个PITA,但它可以在有限的时间窗口内减less被黑客窃取的密码的价值。 那加上一个复杂的AD密码策略,它必须至less包含8个字符,包含上,下,数字和符号。
作为补充,我们使用自助式密码pipe理器服务。 它提供了一个自定义的Windows GINA,它提供了一些function,让用户在忘记密码时可以重置密码,或者如果太多时候解锁密码就可以解锁。 密码pipe理器应用程序要求用户注册服务,只提供一堆个人信息,他们会知道,当用户需要重置密码/解锁他们的帐户时,以后用作问题。
不同于(source dailywtf.com):
我相信密码应该生成,而不是用户想到的。 这可以避免所有那些容易猜测密码的愚蠢问题。
我喜欢使用pwgen ,它会生成密码列表
Bai4phei Gohh7Too cee3Iegh eegh7Aiy kaing6Mu ohBi0woo oH7bieRo Opai1Vov sahpee6Y joo3iKe4 iegai4Ae chi1Akee se2vaDoo Xivae4ew eN4aquoh ahMaeye1 Ci3mie2e Oosh3aiy pueX1OoF uXee7chi theo4doT ied6Haeg Pey3beer viZeish2 Itoogoa3 RaeD6woh IeJ9guLo Afuozii9 equahGh7 ui9uaJae qui4Geis Eikib2ko Ua7viequ iedieY9Y Deihae1u uu6aR7xa ThooG6mu HeiZ7jai choo7ohM jael0Lai Beelae6s wu0uTieK eiX8equu uPeeS2ub WaiceeP1 tha2Ohz1 xeiroh9E Eak6leiy
但是真正的任何一个pw代程序都可以。 pwgen的一个优点是,它试图通过包含一些元音来使口令(有点)令人难忘。
远离这些500强最糟糕的密码 。
长,复杂的密码提供了很好的安全性,基本上是强大的密码 ,但绝对使用不同的密码为所有用户帐户
使用像SuperGenPass这样的工具为任何您login的网站生成唯一的密码。
Hak5刚刚做了一个插件,演示了Remote Exploit中的一个工具,它需要一些string,并生成一个所有组合,上,下拼写等字典。因此,你给它的input像目标的名字,孩子的名字,生日,或你了解目标的其他信息。 它生成的字典可以用来作为input来强制弱密码。
道德:避免在您的密码中使用个人信息
如果您知道非英语的单词或短语,则可以将其用作密码的一部分。 例如,我通常使用日语单词作为我的密码的一部分,它抵御字典攻击,但允许我记住它们(而不是随机生成的密码)。
我开始使用最初由Bruce Schneierdevise的Password Safe来存储任何networking密码。 我有一个密码安全密码非常强大,所有其他密码是自动生成的,从来没有重复使用的网站。
该软件还具有像过期密码等function。
我认为这是一个强大的安全密码,是对网站密码的最佳平衡和最安全的方法。
对于家人和朋友,我通常会说,只要以下两件事情发生,使用诸如宠物名字和母亲婚前姓名和东西的东西是很酷的:
在设定强制密码过期期间,select一个7的因子,而不是一个天的块(例如30或60天)。
30天到期的结果可能是用户在假期或周末需要更改密码,第二天上class时可能会有惊喜。
如果要将失效比例设置为7,则可确保密码更改date与上一次更改的date相同。
如果你有多个网站为同一用户群,那么我必须高度build议某种forms的单点login(如Shibboleth)。 当用户对多个网站使用不同的密码时,他们往往无法记住所有密码。 一个或两个密码很容易被大多数人记住,三个用户可以把它们写在一个秘密的位置。 如果超过四个,用户可以将它们全部写在post上,并将其应用到桌子或监视器上。
密码不必过于复杂,但它们需要足够复杂以防止第一次或第二次尝试。 只要您的系统/站点具有某种安全措施,可以限制尝试login的次数,那么密码不需要过于复杂。
例如,如果您的系统每小时有3次login尝试的限制,那么基本密码(如“Cindy65”)就足够复杂了。 虽然黑客可能知道用户真名是Cindy,但他真的不知道她是在1965年出生的。他的尝试自然是“cindy”,“astname”,“Cindy”,“astname”时间他被封锁了。
虽然这可能是一个简单的情况下,一个简单的密码,这是所有真正需要的,如果你的pipe理员已经build立了一切正确的服务器端。 我们也可以要求稍微复杂一点的密码,比如随机组合键。 符号和大写字母也有很大的帮助。
我们只需要记住,我们在用户上做得越困难,他们就越有可能在公共场合写下来。
我总是喜欢问我的用户做的一件事情是把他们的名字连在一起,他们的名字,最喜欢的食物,最好的朋友的名字等等。这些简单的字典单词的组合,几乎不可能破解。
例如:CindyProzac,WilliamCodene,JoePetertherabbit
祝你好运。
不要把它写下来。 如果你这样做,把它放在一个安全的地方。 也不要写下这个组合。
如果安全要求非常严格,我会尽量避免使用密码。 可以考虑使用基于ssh密钥的身份validation,智能卡上的客户端证书等。虽然需要很多技巧和预算才能正常工作,所以应该进行适当的风险评估。
如果你决定坚持使用密码,我会遵循capar和lexu的build议。
限制密码长度是愚蠢的。 (将密码限制在6-8个字符之间是常见的,但在现代系统中是没有意义的)。
要求频繁更改密码鼓励用户写下他们的密码并select更简单的密码。 这是威胁的权衡,你必须考虑哪个威胁更相关。
要求用户在一个正好8个字符的密码中包含“特殊字符”,而不是允许只包含30个字符的密码,这是没有意义的。
不要给用户一个明显的密码,并要求他们改变它。 他们不会。 或者要求他们在第一次login时改变它,为他们select一个强大的密码,知道他们会写下来,或者让他们select一个强大的密码在你面前。
我们训练用户select密码并使用每个单词的首字母。
WTOUTPPAUTFLOEW – 添加一个零或3(leetifying),改变大小写块几次,你有什么字典将永远不会挑选,但仍然很容易记住。
但是,只要确保您不要根据公司口号/愿景声明等将密码更改为密码即可
为了帮助防止该网站pipe理员发生了什么情况,并假设您可以访问Unix shell或Cygwin,可以使用
$ echo -n *password* | md5sum -
d1b13e9abbe4edb1b07317241969376e -
并检查该值与MD5数据库,如http://gdataonline.com/ 。 确保它没有出现在那里。
此外,这里是一个更原始的MD5词典的例子,我只是通过search该哈希值(警告:大文件): https : //secure.sensepost.com/sp-hash/jebwy