自动锁定是一种针对在线字典攻击的防御机制:攻击者想要反复尝试潜在的密码,直到找到正确的密码。在 5 次尝试后阻止会阻止攻击实际起作用。
这只有在密码容易受到字典攻击时才有意义,即如果密码是在人脑的隐私中生成的。这样的生物实体根本不擅长随机化。所以人为选择的密码不强,需要额外的保护。
服务帐户不应具有由人工选择的弱密码。此类密码仅在配置阶段由管理员输入,无需记住。服务帐户密码应由计算机生成,并且非常随机。使用 16 个随机字符(大写和小写字母、数字和几个标点符号),您将拥有 96 位熵,足以抵御字典攻击。这是您的服务帐户应具有的密码类型。如果您使用这样的密码,那么自动锁定将变得无用,您可以将其停用,因为(正如您所发现的)它有一些不方便的副作用。
要生成这样的随机密码,请在任何 Linux 机器上使用以下命令行:
(dd if=/dev/urandom bs=12 count=1 2>/dev/null) | openssl base64 -a -e
在 Windows 上,使用 PowerShell:
$rng = New-Object System.Security.Cryptography.RNGCryptoServiceProvider
$buf = New-Object byte[] 12
$rng.GetBytes($buf)
[System.Convert]::ToBase64String($buf)