V1.0 稳定版 · 私有化部署

给每一次登录
加上不可绕过的第二关

PODOD-MFA 是企业私有化部署的多因素认证平台。从 Windows、Linux 登录到 VPN 接入,数据 100% 在企业内网,完全掌控,无第三方云依赖。

PODOD-MFA 管理控制台
● 运行中

多因素认证已启用

已保护 3 个接入端,覆盖 56 名用户

🔐 WindowsLock — IFEO 拦截已激活
🚪 Windows 登录门 — Credential Provider
📡 RADIUS — VPN 接入已就绪
✓ Push 认证 — 今日 24 次通过
Web Console

功能完备的管理控制台

深浅模式、6种主题色、响应式设计。管理员首次登录强制绑定 MFA,控制台本身也是零信任的。

控制台截图
仪表盘
用户管理
TOTP管理
审计日志
系统设置
控制台在线体验:test.podod.com/login.html  ·  默认账号 admin(首次登录须绑定 MFA)
Core Features

全栈 MFA 能力,私有化掌控

服务端统一调度认证引擎,多端客户端覆盖,三种验证方式互备,构筑企业零信任防线。

🏢

完全私有化部署

Go + PostgreSQL,Docker 一键启动。数据库、密钥、审计日志全部在企业内网,绝不外传。

📱

三种认证方式互备

TOTP 离线动态码、App Push 一键审批、邮件备用验证码,任意组合配置,永不断链。

👥

多级角色权限体系

超管 / 管理员 / 帮助台 / 审计员 / 用户五级角色,LDAP/AD 同步,最小权限原则落地。

🔑

AES-256-GCM 加密种子

每位用户 TOTP 种子独立加密存储,支持密钥版本轮换,CLI 工具一键迁移加密数据。

🌍

地域安全策略

国家级白名单拦截认证请求,异地登录实时阻断写入审计日志,可按企业策略开关。

🛡️

应急 Bypass 机制

服务异常时双管理员审批开启临时 Bypass,最长 4 小时自动失效,全程审计留痕。

📋

完整审计日志

每次 TOTP 验证、Push 审批、管理操作均记录 IP、时间、设备、地理位置,支持导出。

限流 + 自动锁定

用户 5 次失败自动锁定,IP 级 / API Key 级 / 端点级三维限流,防暴力破解全覆盖。

💊

健康检查与就绪探针

/health 存活检查,/ready 含数据库时钟偏差检测,容器时钟漂移 >60s 自动返回 503。

iOS App
Android App
iOS Push
Mobile Apps

iOS & Android
双端认证 App

企业专属手机认证客户端,支持 TOTP 完全离线生成和 Push 服务端推送审批,无论有无网络均可完成认证。

📶
RFC 6238 标准 TOTP
完全离线可用,兼容 Google/Microsoft Authenticator 种子
🔔
APNs / FCM Push 推送
低延迟即时审批,一键批准或拒绝
📲
iOS & Android 双平台
企业内推 / TestFlight 分发,APK 直接下载
Client Endpoints

多端接入,覆盖所有认证场景

各客户端负责各自场景接入,统一由服务端调度,未来持续扩展更多平台。

🛡️
已发布

WindowsLock 核心操作锁

通过 IFEO 技术毫秒级拦截 cmd.exe 等敏感进程,未经 MFA 审批一律阻断. 核心文件只读自保、毫秒级自愈,Admin 权限也无法绕过。

IFEO 零侵入进程拦截
配置文件只读 + 毫秒级自愈
仅 MFA 验证后可卸载
了解更多
🚪
已发布

Windows 登录门锁

嵌入 Windows 原生认证后的第二道门. Credential Provider 或 Shell Launcher 双模式,知道密码不等于能进入系统。

原生认证后追加第二关
首次邮箱绑定,多用户切换
Push / TOTP / 邮件验证
了解更多
🤖
已发布

Android 认证 App

企业专属 Android 认证客户端,RFC 6238 标准 TOTP 完全离线,服务端 Push 推送即时到达,一键审批。

TOTP 完全离线,标准算法
FCM Push 推送一键审批
APK 直接下载,免应用商店
下载 APK
🍎
已发布

iOS 认证 App

APNs 原生推送通道实现低延迟 Push 审批,TOTP 离线动态码双模式,覆盖 iPhone / iPad。

APNs 原生推送,低延迟审批
TOTP 离线,无需网络
TestFlight / 企业内推分发
联系获取
🐧
已发布

Linux PAM 登录接入端

为 Linux 服务器的 SSH 登录、sudo 提权及本地控制台登录加上 MFA 第二关。基于标准 PAM 模块,无需修改现有认证流程,支持 Ubuntu / Debian 和 RHEL / CentOS 全系发行版。

PAM 标准模块,零侵入集成 SSH / sudo / 本地登录
自动检测发行版,安装脚本一键完成全部配置
TOTP 离线验证,服务端不可达时可配置降级策略
mfa-admin 命令行工具,管理绑定 / 解绑 / 状态查询
  下载 mfa-install.tar.gz
Linux MFA 登录截图
# 解压 → 进入目录 → 安装 → 初始化
tar -xzf mfa-install.tar.gz
cd mfa-install
sudo ./install.sh
sudo mfa-admin init
# install.sh 自动完成:
# · 检测 Ubuntu/Debian 或 RHEL/CentOS
# · 安装缺少的运行时库
# · 定位正确的 PAM 目录并部署
# · 设置文件权限并打印下一步提示
🍏
已发布

macOS 登录接入端

为 macOS 的系统登录、屏幕解锁及 sudo 提权加上 MFA 第二关。基于 macOS 原生 PAM 机制,无需关闭 SIP,支持 Apple Silicon 与 Intel 双架构,兼容 macOS 12 Monterey 及以上版本。

原生 PAM 集成,覆盖登录 / 解锁 / sudo 全场景
Apple Silicon (arm64) + Intel (x86_64) 通用包
TOTP 离线验证,无需持续连接服务端
mfa-admin 命令行工具管理绑定与状态
联系获取
macOS MFA 登录截图 1
macOS MFA 登录截图 2

 即将推出

Web 登录接入端(API 集成)

通过标准 REST API 将 MFA 验证嵌入任意 Web 应用或自有系统,无需部署额外客户端。
如果您需要提前接入或参与完成验证,欢迎联系我们,我们将协助完成集成。
如需我们辅助完成 API 对接,提供接口说明、调用示例及联调支持,请随时联系。

  联系我们参与接入
Server Platform

服务端部署与使用流程

单文件可执行程序,首次运行自动引导配置,无需手动编写配置文件。

STEP 1
🚀

首次启动向导

运行 ./mfa-server,自动检测数据库是否存在。若未初始化,进入交互式配置向导,填写 PostgreSQL 连接信息后自动建库建表。

STEP 2
🔐

HTTP 登录 → 配置证书

初始化完成后先通过 HTTP 访问控制台,配置 TLS 证书(支持自建证书或导入第三方证书),完成后切换为 HTTPS 访问。

STEP 3
🔑

注册产品 → 生成企业 Key

联系我们完成产品注册后,方可在控制台生成企业授权 Key。没有 Key,客户端无法完成 MFA 验证。

STEP 4
👥

创建用户 → 发送注册邮件

在控制台创建用户并发送注册邮件,用户收到邮件后自助绑定手机 App(支持 Android / iPhone),绑定完成即可使用 MFA 认证。

首次启动
# 前提:安装好 PostgreSQL 并确保服务运行中

# 赋权后直接运行,无需任何参数
chmod +x mfa-server-web-linux-amd64
./mfa-server-web-linux-amd64

# 第一次启动自动进入配置导航
# 按提示填写数据库连接信息
# 完成后访问控制台:
http://<服务器IP>:8080
# 默认账号:admin  密码:admin123
首次登录强制绑定
使用 admin / admin123 登录控制台
系统强制跳转 TOTP 绑定页,用手机 App 扫码绑定
绑定完成后才可进入控制台,后续每次登录需输入动态验证码
建议立即修改默认密码并联系我们完成产品注册
用户管理与客户端绑定
绑定用户,不绑定电脑 — 用户在任意已安装客户端的设备上均可完成 MFA 认证
一机多绑定 — 同一台电脑可绑定多个用户账号,各自独立认证
管理员在控制台创建用户后,系统自动发送注册邮件
用户收到邮件,点击链接自助绑定手机 App(Android / iPhone)
需要 MFA 保护的电脑安装对应平台的客户端安装包即可
证书配置
🔒
自建证书
系统一键生成自签名证书,适合内网部署
📜
导入第三方证书
支持上传 PEM / PFX 格式证书,适合公网部署
Linux 服务端

mfa-server-web-linux-amd64

单文件可执行程序,内嵌 Web 控制台,依赖 PostgreSQL,支持 Ubuntu / Debian / RHEL / CentOS

  前往下载页   联系注册产品
Technical Architecture

技术深度:从设计到安全

Go语言构建,标准协议兼容,银行级安全设计,生产就绪。

Security Design

从底层解决"恶意管理员"风险

AES-256-GCM 加密所有 TOTP 种子,密钥从不入库。WindowsLock 使 Admin 权限也无法删除保护服务。

  • TOTP 种子 AES-256-GCM 加密,密钥版本号轮换,CLI 工具批量迁移旧版本
  • bcrypt 密码哈希,JWT 双 Token(Access 15min + Refresh 8h)
  • 管理员登录强制两步:密码 + TOTP,首次登录必须扫码绑定才能进入控制台
  • WindowsLock:DACL 锁只读 + FSW 文件监视,毫秒级自愈,SYSTEM 权限也无法删除
  • 备份文件使用独立 BACKUP_ENCRYPT_KEY 二次加密,恢复须密码 + TOTP 双确认
  • 服务时钟漂移 >60s 时 /ready 自动返回 503,强制 NTP 同步合规
// TOTP 种子加密存储(密钥版本路由)
func Encrypt(plaintext []byte) (string, error) {
    key := getLatestKey()  // 从环境变量读取
    block, _ := aes.NewCipher(key)
    gcm, _   := cipher.NewGCM(block)
    ciphertext := gcm.Seal(nonce, nonce, plaintext, nil)
    // 格式:v2:<base64> 支持版本轮换
    return "v2:" + base64.Encode(ciphertext), nil
}

// WindowsLock 权限锁定逻辑
SetNamedSecurityInfoW(
    path, SE_FILE_OBJECT,
    DACL_SECURITY_INFORMATION,
    NULL, NULL, dacl_readonly, NULL
);
// Admin → 只读 (ACCESS_DENIED on delete)

// 文件监视:毫秒级自愈
WatchDirectory(L"C:\\WindowsLock", FILE_ACTION_REMOVED,
    []() { RestoreProtectedFiles(); }
);
REST API

核心 API 接口一览

方法接口路径说明
POST/api/v1/login管理员登录第一步(账号密码)
POST/api/v1/login/verify第二步 TOTP 验证
POST/api/v1/totp/confirm首次绑定确认(扫码后提交)
POST/api/v1/auth/verify第三方系统 TOTP 验证(API Key 鉴权)
POST/api/v1/auth/push/request发起 Push 挑战(Windows 客户端调用)
GET/api/v1/auth/push/status轮询 Push 审批结果
POST/api/v1/mobile/challenges/respondApp 端批准 / 拒绝 Push
GET/api/v1/users用户列表(分页、筛选)
POST/api/v1/users/importCSV 批量导入用户
GET/api/v1/audit审计日志查询(支持导出)
POST/api/v1/ldap/syncLDAP/AD 手动同步
GET/health · /ready健康检查 / 就绪探针(含时钟偏差检测)
Integrations

开箱即用的企业系统集成

标准协议,最小改造成本,兼容主流企业 IT 基础设施。

🔌

REST API

JSON 标准 API,任何系统 5 分钟完成 MFA 接入

📡

RADIUS / RadSec

兼容 FortiGate、Cisco ASA、Palo Alto 等主流 VPN

🔐

SAML SSO

作为 IdP Connector 接入企业统一身份认证

🗂️

LDAP / AD

Active Directory 用户定时增量同步

📧

邮件通知

SMTP 自定义模板,绑定邀请、登录报警即时推送

🐳

Docker 部署

一份 Compose 文件完成私有化安装,15 分钟上线

🌍

地理 IP 管控

国家级白名单,海外访问实时拦截

📊

审计合规

满足等保 2.0、ISO 27001 审计要求

私有化部署,永久守护

立即下载 PODOD-MFA 套件,为每一个登录入口加上不可撤销的第二道锁。

WindowsLock 套件 Windows 登录门锁 Android App 在线体验控制台

需要 iOS App 或定制部署?联系我们 →