Admin 二次认证(2FA双因素认证)

2FA 介绍

    2FA,双因子认证2FA(Two Factor Authentication)是一种安全认证过程,需要用户提供两种不同类型的认证因子来表明自己的身份,包括密码、指纹、短信验证码、智能卡、生物识别等多种因素组合,从而提高用户账户的安全性和可靠性, 目前常用的是密码+TOTP。


TOTP是什么?

    TOTP 是时间同步一次性密码(Time-Based One-Time Password)的简写,它是一种基于时间的身份验证机制,用于增强账户的安全性。 TOTP 的工作原理基于一个共享的密钥和当前的时间信息。通常,用户在其设备上安装一个支持 TOTP 的应用程序,比如 谷歌 Authenticator 。在设置两步验证时,系统会生成一个密钥(通常是一个二维码), 用户将其添加到身份验证应用程序中。每隔30秒,该应用程序会生成一个基于当前时间和共享密钥的动态密码。要求客户端(手机)和服务器保持正确的时钟,客户端(手机)和服务端基于时间计算的动态口令才能一致。 

手机上常用的 TOTP APP(可以到各大应用市场下载):


      谷歌 Authenticator

      微软 Microsoft Authenticator

      微信小程序 - 腾讯令牌(腾讯身份验证器)

      2FAS Auth

      Twilio Authy


Winmail 管理员登录 2fa 功能介绍

Winmail 7.2 起支持这个功能,启用



再登录管理端工具时


使用手机上任意一个支持 TOTP 功能的 APP 扫描二维码绑定


再登录管理端工具,输入密码后,会提示输入动态口令,打开手机那个 TOTP APP



正确输入 APP 里显示的对应项目的6位数字,就可以登录



以后使用管理工具登录 Winmail 本地主机或者远程主机,还有浏览器里登录 WebAdmin 页面都要输入动态口令


几点说明:

1. 如果 Winmail 有多个管理员账号,都需要绑定自己的 TOTP APP,可以使用不同的 APP。

2. TOTP 是基于时间计算动态口令,所以要求客户端(手机)和服务器的时间都要正确,就是标准时间。 

3. 如果 TOTP APP 里不小心删除了对应的项目,无法显示动态口令,可以后台修改文件,清除ID,然后登录管理端再次绑定。

将 ~/server 安装目录下的 data/adminuser.cfg 文件文本编辑器打开(可以下载安装 Notepad-- )
将如下内容

<item>
<username>admin</username>
***
<mailarchive>1</mailarchive>
<secret>{aes}oovBI4*************sZKuIUSYITdKTiGX7j126HB67tlVK>/secret>
</item>
修改为
<item>
<username>admin</username>
***
<mailarchive>1</mailarchive>
</item>
就是删除包含 <secret> 的那一行,其他不要动,删除保存一下就可以。Winmail Pro for Linux 是修改 /opt/winmail/data/adminuser.cfg。

4. 如果要关闭这个功能,到本文最上面的那个截图位置,不选中“登录需要二次验证 (动态口令,TOTP)”就可以。