网站的数据库怎么备份,论坛网站建设联系方式,厦门市建设保障性住房局网站,91成长人版抖音安装在 8.2#xff08;最新为 8.3#xff09;版本中#xff0c;OpenSSH 提供了对 FIDO 和 UAF 的支持。从此用户就可以用硬件 USBKEY 证书进行 SSH 原生认证。这样可以实现简捷、有效和安全的 SSH 认证。本文我们就就少一下 FIDO2 以及 OpenSSH 对其的支持#xff0c;并尝试一下…在 8.2最新为 8.3版本中OpenSSH 提供了对 FIDO 和 UAF 的支持。从此用户就可以用硬件 USBKEY 证书进行 SSH 原生认证。这样可以实现简捷、有效和安全的 SSH 认证。本文我们就就少一下 FIDO2 以及 OpenSSH 对其的支持并尝试一下基于 FIDO2 的 SSH 认证前提需要一个 USB key 设备推荐 Yubikey 5C。 FIDO2
在硬件认证安全领域 WebAuthn 和 FIDO2 近年来获得长足发展它给我们带来了更便捷安全的个人认证方法。WebAuthn 和 FIDO2 旨在通过标准化二者之间的通信方式使用安全设备的变得真正容易。对每一个人来说这都是一个好消息现在大家可以使用便捷的 USBKEY无需额外的安全知识就能非常便捷安全低进行个人身份验证完全避免网络钓鱼密码盗窃以及其他恶意攻击的行为只需要插入 USBKEY按下按钮输 USBKey PIN 码设备密码或者刷指纹然后安全登录。
之前很多人可能都用过银行的网银但是由于那是不标准通用的方式不光要安装各种各样的驱动而且还必须要特定版本的 IE 才行。而如果支持了 FIDO2 则可以被所有 OS 和任何浏览器所支持当然包括今天要说的 SSH。截止目前根据有人统计国内也有很多企业加入了 FIDO 联盟包括阿里、联想等大企业和飞天诚信等专门的 USBKET 设备厂商。 FIDO2 分为 WebAuthn 和 CTAP 协议最佳使用场景包括
在设备上通过浏览器使用设备配置的指纹等生物识别能力进行身份认证
在设备上通过浏览器使用外置 Security key 进行身份认证
在设备上通过另一台设备作为认证器完成身份认证。 结合使用 FIDO2 和 SSH
对广大使用 Linux 和 Mac 的技术人员来说除了浏览器使用最多的要数 SSH 了。如果可以使用 FIDO2 密钥对 SSH 进行身份验证那将带来极大的方便和安全。为此 OpenSSH 也放弃一贯对硬件密钥体系的傲慢态度在新版本中支持了 FIDOU2F和 FIDO2 进行身份验证了而带有驻留键的 FIDO2 具有更好的便捷和安全性。其认证流程是 USB 设备FIDO2 设备不一定是 USB但通常是 USB 设备生成一个密钥。密钥要么存储在设备上称为驻留密钥要么需要设备不支持存储需要将数据存储在其他位置。
使用 USB key 设备的好处包括消除网络钓鱼密码盗窃身份验证重放以及许多其他攻击。由于设备通过特定领域服务器地址/URL/等进行身份验证因此攻击者无法在另一个站点上重复使用一个站点的身份验证这使得网络钓鱼无法进行。密码或私钥存储在设备上并且无法复制提取所以任何人都不能窃取密码或私钥。唯一可能的攻击是你的 USB Key 丢了但是由于设备有 PIN 密码并且有错误次数限制尝试几次错误有该设备将会锁定实效。
可能有用过 Yubikey 的同学使用 SSH 内置功能好处是不需要特别使用 Yubikey也不需要弄乱 Yubikey 代理PIV 模式或其他任何其他软件。只需插入兼容 FIDO2 的 USBKEY即可将其与 SSH 一起使用。注意驻留键模式仅在 Yubikey 5C 和更高版本的 FIDO2 上有效。
使用方法
在了解了有关设备如何工作的细节之后我们在说说如何实践使用。其实配置非常简单基本上只需一两个命令行即可除了需要客户端和服务器上都运行 OpenSSH 8.2无需安装其他软件。下面我们分常驻密钥模式和非常驻模式的两种方法。
常驻密钥模式
在支持 FIDO 2 设备的下使用以下命令生成密钥并将其存储在设备上支持的密钥类型有ed25519-sk和ecdsa-sk两种证书类型。
ssh-keygen -t ed25519-sk -O resident -f ~/.ssh/id_ ed25519-skssh-keygen -t ed25519-sk -O resident -f ~/.ssh/id_ ecdsa-sk
SSH 会要求输入 PIN 码并触摸的设备然后将密钥对保存在设置目录。 ssh-keygen 将生成两个文件一个为 id_ecdsa _sk 为私钥一个为 id_ecdsa _sk.pub 公钥。只需要将该公钥添加到服务器上的 authorized_keys 即可中。
要将私钥添加到 SSH 代理需要将其复制到~/.ssh/目录中或者如果在新计算机上并且没有密钥可以运行
ssh-add -K
插入设备。就会将密钥添加到 SSH 代理然后就将能够连接到服务器。
非常驻密钥模式
非驻留密钥模式与前面模式基本相同区别之处在于无法用 ssh-add -K 直接从设备加载密钥。和前面一样运行
ssh-keygen -t ed25519-sk -f ~/.ssh/id_ ed25519-skssh-keygen -t ed25519-sk -f ~/.ssh/id_ ecdsa-sk
SSH 会要求输入 PIN 并触摸设备然后将密钥对保存在设置的目录。需要手动将密钥对存储在~/.ssh/目录中并将公钥文件添加到要登录的任何服务器上的 authorized_keys 既可。
当尝试登录时OpenSSH 会要求提供 PIN 并触摸设备。
可以在生成密钥时候设置 no-touch-required 选项来设置不需要每次都触摸设备但是这样的设置不是很安全。
将密钥存储在设备上意味着没有人可以窃取它设备设置了 PIN 或其他身份验证方法但是在连接后不受信任的计算机仍可以通过 SSH 会话发送命令。不要从不信任的计算机上用 SSH 服务器尤其是在使用 SSH 转发-A 选项时要格外小心因为服务器随后可能会当做跳板或者代理而访问其他服务器。
非 FIDO2 设备和非 openSSH 8.2 客户端
对于不支持 FIDO2 的其他设备买不起 Yubikey比如几十块的国产飞天 USBkey在使用其他 ssh 客户端而且 ssh 版本不是 8.2 的其实也有一种方法只是需要下载一个第三方的代理软件 WinCryptSSHAgentgithub:/ /buptczq/WinCryptSSHAgent。
WinCryptSSHAgent 基于 Windows 证书管理系统, 不需要安装任何驱动就能够访问智能卡上的证书. 这个项目实现了 Windows 上各种各样 SSH 客户端的私有 Agent 协议, 在发生 SSH 认证时, 客户端将信息发给这个 Agent, 这个 Agent 会通过 Windows 提供的 API 对信息进行签名, 完成认证。目前兼容的 SSH 客户端有: Git for Windows、Windows Subsystem for Linux、Windows OpenSSH、Putty、Jetbrains、SecureCRT、Xshell、Cygwin、MINGW 等。
启动该代理软件然后就可以实现用 USBKey 登陆了。
当然使用该代理软件有个缺点启动代理认证完成一次认证后支持该证书登陆服务器都可以直接登陆这可会存在一定安全问题。可以通过定期关闭代理以保证安全。 总结
总的来说OpenSSH 对 FIDO 的支持给我们带来了一种更便捷而且安全的身份认证方式。当然由于这是一个开始可能还会存在着一些问题和 bug希望各种 SSH 客户端软件也能及时跟进内置支持该协议让大家安全水平都提高一个档次。
网络安全学习资源分享:
给大家分享一份全套的网络安全学习资料给那些想学习 网络安全的小伙伴们一点帮助
对于从来没有接触过网络安全的同学我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线大家跟着这个大的方向学习准没问题。
因篇幅有限仅展示部分资料朋友们如果有需要全套《网络安全入门进阶学习资源包》需要点击下方链接即可前往获取
读者福利 | CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击 同时每个成长路线对应的板块都有配套的视频提供 大厂面试题 视频配套资料国内外网安书籍、文档
当然除了有配套的视频同时也为大家整理了各种文档和书籍资料 所有资料共282G朋友们如果有需要全套《网络安全入门进阶学习资源包》可以扫描下方二维码或链接免费领取~
读者福利 |CSDN大礼包《网络安全入门进阶学习资源包》免费分享安全链接放心点击 特别声明
此教程为纯技术分享本教程的目的决不是为那些怀有不良动机的人提供及技术支持也不承担因为技术被滥用所产生的连带责任本教程的目的在于最大限度地唤醒大家对网络安全的重视并采取相应的安全措施从而减少由网络安全而带来的经济损失。