不暴露公网 Linux 使用 5 位数字做用户密码安全吗?
明早你睡醒了问问自己,5 位数字密码安不安全
比如用红外面部( pam_howdy )、指纹( pam_fprintd )、U2F(pam_u2f)、TOTP 一次密码( pam_oath )、智能卡证书等等
我见过的最奇特的 PAM 模块是让用户敲击随机的实体键盘按键(不是密码哦),但刚才找了一圈没找到……其实就是认证过程中只要求 human presence (呵呵)
我觉的最方便的是生物识别,其次是 U2F,只要 Yubikey 插着就可以直接解锁,也可以设置必须触碰触点才能解锁,人走一拔就安全了。
PIN 可以 5 位数字,密码不可以。原因在于 PIN 是基于 TPM 的,会限制重试频率甚至彻底锁死。密码只是 hash ( KDF )之后储存。有可能被病毒或其他途径获取。获取之后就可以无限重试了。
Linux 密码也可以设置各种安全策略,从能力上来讲只是为了防止暴力破解的话是问题不大的,就是一方面配置起来比较折腾,另一方面自己误触了会很不爽(比如输错密码要等 10 秒这种策略)。
然后 sudo 和系统抵御外部入侵是没啥大关系的,所以理论上可以把系统配置成对外严格,对内松懈,只要不中木马在内部暴力破解,就没问题。