在自行运行(例如LAMP堆栈)Web应用程序中是否有使用Google Authenticator (双因素authentication)的公共API?
我目前正在评估基于Java的安全框架,我是一个Spring 3.0用户,所以SpringSecurity似乎是正确的select,但是Spring安全性看起来过于复杂,似乎并没有让安全性更容易实现, Shiro似乎更连贯和更容易理解。 我正在寻找这两个框架之间的优缺点清单。
首先,有一点背景:我为CodeIgniter实现一个auth + auth系统并不是什么秘密,到目前为止,我赢了(可以这么说)。 但是我遇到了一个非常不平凡的挑战(大多数auth库完全错过了,但我坚持正确处理它):如何智能地处理大规模,分布式,可变用户名的暴力攻击 。 我知道所有常用的技巧: 限制每个IP /主机失败的尝试次数,并拒绝违法者访问(例如Fail2Ban) – 自从僵尸networking变得更加智能以来, 将上述内容与一个已知'坏'IP /主机 (例如DenyHosts) 黑名单 – 依靠僵尸networking#1, 他们越来越不 将IP /主机白名单与传统身份validation相结合(对于dynamicIP用户而言,可悲的是无用,大多数网站的stream量都很高) 在N分钟/小时的时间内设置一次站点范围内的失败尝试次数限制,并在此之后限制(暂停)所有login尝试,持续几分钟/小时(DoS攻击您的问题将成为僵尸networking玩家) 所有使用NOlogin/密码选项的用户的强制性数字签名 (公钥证书)或RSA硬件令牌(无疑是一个坚如磐石的解决scheme,但仅适用于封闭的专用服务) 强制使用超强密码scheme (例如> 25个带符号的无意义字符 – 对于临时用户来说又不切实际) 最后, CAPTCHA (可以在大多数情况下工作,但是对于用户来说很烦,对于一个坚定的,资源丰富的攻击者来说 实际上是无用的 ) 现在,这些只是理论上可行的想法。 有很多垃圾的想法,打开网站(例如,微不足道的DoS攻击)。 我想要的是更好的东西。 我的意思是说: 它必须是安全的(+)反对DoS和powershell攻击,而不是引入任何新的漏洞,可能会让稍微偷偷摸摸的机器人继续在雷达下工作 它必须是自动的。 如果它需要人工操作员来validation每个login或监视可疑活动,它不会在真实世界的情况下工作 主stream网站的使用必须是可行的(即stream量大,stream量大,可以由非程序员进行开放注册) 它不能阻止用户体验到偶然用户会感到烦恼或沮丧(并可能放弃网站) 它不能涉及到小猫,除非它们真的很安全的小猫 (+) 以“安全”来说,我的意思是至less和偏执狂用户保密密码的能力一样安全 所以 – 让我们听听吧! 你会怎么做 ? 你知道我没有提到的最佳做法吗(噢,请说你这样做)? 我承认自己有自己的想法(把3和4的想法结合起来),但是我会让真正的专家在尴尬自己之前先说话;-)
我想添加正则expression式searchfunction到我的公共网页。 除了HTML编码的输出,我需要做任何事情来防止恶意用户input? 谷歌search是由解决相反的问题的人淹没 – 使用正则expression式来检测恶意input – 我不感兴趣。在我的情况下,用户input是一个正则expression式。 我将在.NET(C#)中使用正则expression式库。
我们有一些没有人关心的生产制造系统,这些机器运行GCC 3或GCC 2的古代版本。 而且我不能说服pipe理层把它升级到更新的版本,他们说:“如果没有损坏,不要修复”。 由于我们保留了一个非常古老的代码库(写在80年代),这个C89代码在这些编译器上编译得很好。 但我不确定使用这些旧东西是个好主意。 我的问题是: 可以使用旧的C编译器危及已编译程序的安全吗? 更新: 相同的代码由Visual Studio 2008 for Windows目标构build,而MSVC目前还不支持C99或C11(我不知道MSVC是否更新),我可以使用最新的GCC在我的Linux机器上构build它。 所以,如果我们只是放在一个新的GCC中,它可能会像以前一样精细。
我正在处理的MVC应用程序中的每个页面都将这些HTTP标头设置为响应: X-Powered-By: ASP.NET X-AspNet-Version: 2.0.50727 X-AspNetMvc-Version: 2.0 我如何防止这些显示?
我正在使用Oracle进行开发。 我经常用来重build我的数据库的引导帐户的密码已经过期。 如何永久closures此用户(和所有其他用户)的密码到期? 我正在使用默认密码过期的Oracle 11g。
所以我们现在已经经历过好几次了,我们发布了一个游戏(便宜的),然后有人把它打开并放在镜子上。 我们为所有应用程序设置了Google快讯,所以我们每天都会被告知谁在进行黑客行为。 到目前为止,我们已经按照Google的build议实施了许可服务,我们每次使用唯一的设备ID启动许可时,我们的盐是随机生成的。 当应用程序第一次启动时,我们运行一次检查服务。 然后我们生成一个512字符的哈希密钥和存储的值,在SharedPreferences中进行比较。 现在,我知道一次检查可能是应用程序被阻止的地方。 我们的字节码很可能在没有启动检查的行的情况下被查看和重新编译。 从这里,我不想混淆我们的代码,因为我以前看到它破碎了。 我想要一些更坚实的东西,我也想学习如何正确地做到这一点。 因为只有2%的人会寻找被黑客入侵的版本,所以我现在对学习更感兴趣,而不是赚钱。 到目前为止,我自己已经提出了一个随机数字发生器,放置在游戏的几个启动区域。 启动时(比如50次中的1次),检查许可证。 我知道这会让黑客难以入手,因为黑客必须消除每一种情况,编译,删除,编译。 然而,这种方法仍然是可以破解的…所以你们build议什么? 再一次,我对这个安全过程非常感兴趣,所以请教育一下,不要把它变成一个基于时间戳的混淆或者定期检查的讨论。 谢谢
有没有办法从命令行重置所有(或只是禁用安全设置)没有用户/密码,因为我已经设法完全locking自己的Jenkins ?
我最近注册了oneplusone网站https://account.oneplus.net/sign-up ,并注意到这个checkboxrecaptcha 它是如何工作的,我怎样才能在我的网站上使用它? 比那些神秘的文字/数字好多了:) recaptcha网站没有提及任何新的recaptcha方法… https://www.google.com/recaptcha/intro/index.html