标签 2FA 下的文章

微软仍计划默认屏蔽下载的 Office 文件中的宏

多年来,黑客们经常用恶意的宏来攻击 Office 文件。微软原本计划要求 Office 用户在打开从互联网下载的 Office 文件时,通过在文件属性中专门勾选一个解禁选项来启用宏程序。之前计划在 6 月份实施。但微软在 6 月 30 日突然撤销了这一阻止。微软解释称,“根据用户的反馈,我们暂时回退了这一变化,同时我们做了一些额外的改变以提高可用性。”目前,Office 用户可以简单地在文件顶部的横幅上点击一个启用按钮。微软称,“这是一个临时的变化,我们完全致力于为所有用户进行默认的改变。”

消息来源:The Verge
老王点评:宏给 Office 带来的好处不如它带来的问题更多,这一举措确实有助于微软提供更好的产品体验。

PyPI 将向关键项目赠送 4000 个安全密钥

PyPI 由 Python 软件基金会(PSF)管理,是 Python 开发人员获得第三方开发的开源包的主要仓库。这些库的安全影响到了整个 Python 生态的安全,PSF 现在强制要求“关键项目”的开发人员在未来几个月内使用双因素认证(2FA),这使得开发人员可以保护自己难于盗取凭证。任何在过去六个月里下载量排名前 1% 的项目将被视作关键项目,有超过 3800 个项目被评为“关键”,这涉及到 8241 个 PyPI 用户。作为 PSF 的赞助商,谷歌开源安全团队提供了 4000 个谷歌泰坦安全密钥,以分发给这些维护者。PyPI 数据显示,目前有 28336 个用户启用了 2FA,其中近 27000 个用户使用的是像“微软验证器”这样的 2FA 应用。

消息来源:ZDNet
老王点评:虽然 2FA 密钥不能完全避免被盗取凭证,但是却可提供大部分保护。

美国企业领导人敦促加强计算机科学教育

超过 500 名美国的商业、教育和非营利组织领导人发表了一封公开信,呼吁美国各州政府和教育负责人为全美的 K-12 学生提供更多的计算机科学教育。他们称,“美国在技术方面领先世界,但我们的高中生中只有 5% 学习计算机科学。这怎么能接受呢?……近三分之二的高技能移民是计算机科学家,每个州都是这种战略人才的进口商。美国有超过 70 万个开放的计算机职位,但每年只有 8 万名计算机科学毕业生。”

消息来源:Geek Wire
老王点评:从这个风向标来看,学计算机还是挺有前景的,当然,我建议你留着国内发展。

马斯克的星链卫星两次导致中国空间站紧急规避

中国向联合国通报称:2021 年 7 月 1 日,星链-1095 卫星与中国空间站间出现近距离接近事件。它之前稳定运行在平均高度约 555 千米的轨道上一年有余,然后该卫星持续降轨机动至平均轨道高度 382 千米,近距离接近了中国空间站。2021 年 10 月 21 日,星链-2305 卫星处于连续轨道机动状态,与中国空间站发生近距离接近事件。中国空间站两次主动实施了紧急避碰措施。SpaceX 已发射 1900 多颗星链卫星,总计拟发射 4.2 万颗卫星。此外,天文学家们也认为星链严重影响了地面望远镜对宇宙的观测。

老王点评:在这些卫星真正发挥作用,并合理利用太空资源之前,或许就是一堆太空垃圾,也有可能是太空武器。

意大利法院认定开源软件许可证的可执行性

12 月 13 日,意大利威尼斯法院在一起涉及 GPL 许可证的案件中,肯定了开源软件许可证的法律可执行性。在裁决中,一家软件供应商因未遵守开源许可的要求而败诉。该案涉及一个 GPL 许可的 WordPress 插件。据该软件的版权方称,它的两名前雇员重新分发了该软件,这在 GPL 下是允许的。但再分发没有包括对原始作品的确认,包括被告对软件的修改信息,也没有提到软件的版权所有者。法院裁决,除了命令被告在使再分发软件符合规定之前停止分发该软件,并按天处以罚款,同时要求他们在其网站对法院的裁决进行明显公示,以及支付超过 5000 欧元的诉讼费用。

老王点评:越来越多的法律实践支持 GPL 等开源许可证的法律效力。

研究发现 1200 多个能够拦截 2FA 的钓鱼工具包

一个学术团队表示,它发现了 1200 多个部署在野外的 网络钓鱼工具包,能够拦截并允许网络犯罪分子绕过双因素认证(2FA)安全代码。在主要科技公司开始将 2FA 作为其用户的默认安全功能后,钓鱼网站发现由于他们无法绕过 2FA 程序,被盗的凭证变得毫无用处。因此,从 2017 年开始,这些网络犯罪分子开始采用新的工具,他们通过窃取用户的认证 cookie 来绕过 2FA,这些 cookie 是用户在 2FA 程序完成后登录账户时在浏览器中创建的。

老王点评:果然是道高一尺魔高一丈。下面就看如何应对这些新的威胁了。

在元宇宙中做 PPT 和 Excel

目前最热的流行词某过于“元宇宙”了。除了连名字都改成 “Meta” 的 Facebook 之外,微软也在积极 拥抱元宇宙,它正在调整其标志性的软件产品,以创建一个更加企业化的元宇宙版本。第一个产品是具有数字化身功能的聊天和会议程序 Teams,该版本正在进行测试,将于 2022 年上半年推出。用户也能在这个空间中使用 PowerPoint 和 Excel。当然,除了这些企业级需求外,微软也会将其游戏产品搬到元宇宙里面。

老王点评:哪怕是在虚拟世界,你也得工作。

用超级计算机应对人类抗生素耐药性

像红霉素这样的抗生素曾经起到了巨大作用,但是随着抗生素的滥用,很多细菌都对抗生素产生了耐药性。据估计,每年约有 70 万人死于抗生素耐药细菌,而这一数字预计将上升至数百万。朴茨茅斯大学研究团队的 一项研究 通过重新设计现有抗生素来克服细菌耐药性机制,利用超级计算机来对抗细菌的进化能力,最终解决耐药性问题。该团队已经证明,他们的最佳候选药物(尚未进行临床试验)对测试菌株的活性是红霉素和克拉霉素的 56 倍。其候选药物对世卫清单上排名前三的细菌依然有效,而这三种细菌已经对红霉素和克拉霉素产生耐药性。

老王点评:有人曾经问超级计算机有什么用?这就是超级计算机的用处之一。

小偷机器人正在窃取你的 2FA 代码

诈骗者使用了一种机器人,通过电话 冒充苹果支付、贝宝、亚马逊、Coinbase 和各种银行的来电,欺骗受害者输入其 2FA 代码。电话中说,“有人试图使用你的账户消费。需要验证你的身份以阻止转账”。并说:“为了保护你的账户,请输入我们现在发给你的移动设备的代码。”在输入一串六位数字后,该声音说:"谢谢你,你的账户已经得到保护……。你现在可以挂断了。”以前往往需要黑客直接与受害者对话,在电话中假装是银行或相关支付机构,而这些机器人大大降低了绕过多因素认证的门槛。

老王点评:真是科技助长坏人。无论如何,你的多因素认证代码不要给任何人,除非是你主动进行的操作。

美国国税局要求在纳税申报表上申报加密货币交易

对加密货币态度改变和最近的其他行动表明,美国国税局正在认真对待加密货币对税收制度的威胁,无论对方是不合规的爱好者还是复杂的国际犯罪分子。许多加密货币用户对美国国税局的指导意见感到愤怒,该指南将比特币、以太币及其加密货币视为财产,而非货币。

来源:cnbeta

拍一拍:加密货币已经从微不足道逐渐变成了正常经济生活的一部分。但是究竟该将加密货币视作货币还是资产,抑或兼而有之,这是一个全新的需要探索的领域。

OpenSSH 8.4发布 为 FIDO/2FA 密钥带来更好的支持

对于那些使用 YubiKey 或 Google Titan 安全密钥等 FIDO 密钥处理双因素认证的用户,OpenSSH 8.4 有了更好的支持。OpenSSH 8.4 现在支持每次使用都需要输入 PIN 码的 FIDO 密钥,SSHD 支持“验证-要求”选项,要求 FIDO 签名断言令牌被验证。

来源:cnbeta

拍一拍:最好的安全就是“不用”密码的安全。

英特尔异构编程器 oneAPI 发布 1.0 正式版

oneAPI 是英特尔推出的开源、基于标准的统一编程模型,旨在为从 CPU 到 GPU,再到 FPGA 等其他加速器的一系列硬件提供支持。oneAPI 的核心是英特尔的 Data Parallel C++(DPC++),是建立在 C++ 和 Khronos SYCL 标准之上的语言。除了基于 LLVM/Clang 的 DPC++ 编译器工具链外,oneAPI 还包含了许多库。

来源:cnbeta

拍一拍:虽然不懂,但是感觉很厉害。

如何为你的 SSH 服务器安装三种不同的双因子身份验证方案。

如今,安全比以往更加重要,保护 SSH 服务器是作为系统管理员可以做的最为重要的事情之一。传统地,这意味着禁用密码身份验证而改用 SSH 密钥。无疑这是你首先应该做的,但这并不意味着 SSH 无法变得更加安全。

双因子身份验证就是指需要两种身份验证才能登录。可以是密码和 SSH 密钥,也可以是密钥和第三方服务,比如 Google。这意味着单个验证方法的泄露不会危及服务器。

以下指南是为 SSH 启用双因子验证的三种方式。

当你修改 SSH 配置时,总是要确保有一个连接到服务器的第二终端。第二终端意味着你可以修复你在 SSH 配置中犯的任何错误。打开的终端将一直保持,即便 SSH 服务重启。

SSH 密钥和密码

SSH 支持对登录要求不止一个身份验证方法。

/etc/sh/sshd_config 中的 SSH 服务器配置文件中的 AuthenticationMethods 选项中设置了身份验证方法。

当在 /etc/ssh/sshd_config 中添加下一行时,SSH 需要提交一个 SSH 密钥,然后提示输入密码:

AuthenticationMethods "publickey,password"

如果你想要根据使用情况设置这些方法,那么请使用以下附加配置:

Match User jsmith
    AuthenticationMethods "publickey,password"

当你已经编辑或保存了新的 sshd_config 文件,你应该通过运行以下程序来确保你没有犯任何错误:

sshd -t

任何导致 SSH 不能启动的语法或其他错误都将在这里标记出来。当 ssh-t 运行时没有错误,使用 systemctl 重新启动 SSH:

systemctl restart sshd

现在,你可以使用新终端登录,以核实你会被提示输入密码并需要 SSH 密钥。如果你用 ssh-v,例如:

ssh -v [email protected]

你将可以看到登录的每一步。

注意,如果你确实将密码设置成必需的身份验证方法,你要确保将 PasswordAuthentication 选项设置成 yes

使用 Google Authenticator 的 SSH

Google 在 Google 自己的产品上使用的双因子身份验证系统可以集成到你的 SSH 服务器中。如果你已经使用了Google Authenticator,那么此方法将非常方便。

虽然 libpam-google-authenticator 是由 Google 编写的,但它是开源的。此外,Google Authenticator 是由 Google 编写的,但并不需要 Google 帐户才能工作。多亏了 Sitaram Chamarty 的贡献。

如果你还没有在手机上安装和配置 Google Authenticator,请参阅 这里的说明。

首先,我们需要在服务器上安装 Google Authenticatior 安装包。以下命令将更新你的系统并安装所需的软件包:

apt-get update
apt-get upgrade
apt-get install libpam-google-authenticator

现在,我们需要在你的手机上使用 Google Authenticatior APP 注册服务器。这是通过首先运行我们刚刚安装的程序完成的:

google-authenticator

运行这个程序时,会问到几个问题。你应该以适合你的设置的方式回答,然而,最安全的选项是对每个问题回答 y。如果以后需要更改这些选项,您可以简单地重新运行 google-authenticator 并选择不同的选项。

当你运行 google-authenticator 时,一个二维码会被打印到终端上,有些代码看起来像这样:

Your new secret key is: VMFY27TYDFRDNKFY
Your verification code is 259652
Your emergency scratch codes are:
  96915246
  70222983
  31822707
  25181286
  28919992

你应该将所有这些代码记录到一个像密码管理器一样安全的位置。“scratch codes” 是单一的使用代码,即使你的手机不可用,它总是允许你访问。

要将服务器注册到 Authenticator APP 中,只需打开应用程序并点击右下角的红色加号即可。然后选择扫描条码选项,扫描打印到终端的二维码。你的服务器和应用程序现在连接。

回到服务器上,我们现在需要编辑用于 SSH 的 PAM (可插入身份验证模块),以便它使用我们刚刚安装的身份验证器安装包。PAM 是独立系统,负责 Linux 服务器上的大多数身份验证。

需要修改的 SSH PAM 文件位于 /etc/pam.d/sshd ,用以下命令编辑:

nano /etc/pam.d/sshd

在文件顶部添加以下行:

auth required pam_google_authenticator.so

此外,我们还需要注释掉一行,这样 PAM 就不会提示输入密码。改变这行:

# Standard Un*x authentication.
@include common-auth

为如下:

# Standard Un*x authentication.
# @include common-auth

接下来,我们需要编辑 SSH 服务器配置文件:


nano /etc/ssh/sshd\_config “`


改变这一行:


ChallengeResponseAuthentication no


为:


ChallengeResponseAuthentication yes


 接下来,添加以下代码行来启用两个身份验证方案:SSH 密钥和谷歌认证器(键盘交互):


AuthenticationMethods "publickey,keyboard-interactive"


 在重新加载 SSH 服务器之前,最好检查一下在配置中没有出现任何错误。执行以下命令:


sshd -t


如果没有标识出任何错误,用新的配置重载 SSH:


systemctl reload sshd.service


 现在一切都应该开始工作了。现在,当你登录到你的服务器时,你将需要使用 SSH 密钥,并且当你被提示输入:


Verification code:


打开 Authenticator APP 并输入为您的服务器显示的 6 位代码。


### Authy


[Authy](https://authy.com/) 是一个双重身份验证服务,与 Google 一样,它提供基于时间的代码。然而,Authy 不需要手机,因为它提供桌面和平板客户端。它们还支持离线身份验证,不需要 Google 帐户。


你需要从应用程序商店安装 Authy 应用程序,或 Authy [下载页面](https://authy.com/download/)所链接的桌面客户端。


安装完应用程序后,需要在服务器上使用 API 密钥。这个过程需要几个步骤:


1. 在[这里](https://www.authy.com/signup)注册一个账户。
2. 向下滚动到 “Authy” 部分。
3. 在帐户上启用双因子认证(2FA)。
4. 回 “Authy” 部分。
5. 为你的服务器创建一个新的应用程序。
6. 从新应用程序的 “General Settings” 页面顶部获取 API 密钥。你需要 “PRODUCTION API KEY”旁边的眼睛符号来显示密钥。如图:


![](/data/attachment/album/201811/06/204801eiomcb42ngo2w8cn.png)


在某个安全的地方记下 API 密钥。


现在,回到服务器,以 root 身份运行以下命令:


curl -O 'https://raw.githubusercontent.com/authy/authy-ssh/master/authy-ssh'
bash authy-ssh install /usr/local/bin


 当提示时输入 API 键。如果输入错误,你始终可以编辑 `/usr/local/bin/authy-ssh` 再添加一次。


Authy 现已安装。但是,在为用户启用它之前,它不会开始工作。启用 Authy 的命令有以下形式:


/usr/local/bin/authy-ssh enable


 root 登录的一些示例细节:


/usr/local/bin/authy-ssh enable root [email protected] 44 20822536476


 如果一切顺利,你会看到:


User was registered


现在可以通过运行以下命令来测试 Authy:


authy-ssh test


最后,重载 SSH 实现新的配置:


systemctl reload sshd.service


 Authy 现在正在工作,SSH 需要它才能登录。


现在,当你登录时,你将看到以下提示:


Authy Token (type 'sms' to request a SMS token):


 你可以输入手机或桌面客户端的 Authy APP 上的代码。或者你可以输入 `sms`, Authy 会给你发送一条带有登录码的短信。


可以通过运行以下命令卸载 Authy:


/usr/local/bin/authy-ssh uninstall




---


via: <https://bash-prompt.net/guides/ssh-2fa/>


作者:[Elliot Cooper](https://bash-prompt.net) 译者:[cielllll](https://github.com/cielllll) 校对:[wxy](https://github.com/wxy)

继前一段时间 Linux 中国推出了“运维密码”微信小程序之后,经过开发团队的努力,重构了代码和使用了全新的现代 UI 后,同时在 GitHub 上开源了!

“运维密码”小程序是一款工作在微信环境中的小程序,主要的功能是提供一款方便、可靠、美观的 TOTP 密钥管理工具。TOTP 是基于时间的一次性密钥方案,可以为用户认证提供双因子认证(2FA)的支持,即在通常的密码之外,还额外通过另外一种方式来交叉认证以提升安全。

TOTP 认证,或者说双因子认证,在得到 Google 的大力推进之后,得到了广泛的互联网业界的支持,包括 Google、GitHub 等重视互联网安全的大型网站,也包括各类比特币网站,均支持 TOTP RFC 草案所规定的 TOTP 算法,并且 Google 还开源了其服务器端实现和客户端代码。除此之外,TOTP 还广泛应用于 Apple 、QQ、微博等各种需要双因子认证的场景中。除了网站之外,对于我们运维人员来说,TOTP 还可以应用与服务器的远程管理上,为 SSH、SFTP、FTP 等提供安全、简单、可靠的保障!

新版本介绍

好了,言归正传,我们来介绍一下本次新版本发布的情况。

本次版本迭代,我们毫不谦虚的将版本定位到 1.0.x,我们认为“运维密码”的第一阶段功能目标已经达成,目前主要有:

  • 添加 TOTP 场景
  • 查看 TOTP 密钥
  • 修改和删除 TOTP 场景
  • 生成场景二维码
  • 分享(克隆) TOTP 场景给朋友
  • 本地备份 TOTP 场景信息
  • 本地恢复 TOTP 场景信息

新的版本,采用了现代化的 UI 设计,看起来会更专业一点。

场景列表

场景列表会列出你已经添加的所有场景,最上方是时间进度条会显示场景密钥要更新的时间。在列表最下方,可以点击“添加场景”,调出摄像头来扫描密钥二维码来添加场景。

点击场景列表中的场景密钥,会复制该密钥,以备手机上使用。

场景详情

点击场景列表中的场景(非密钥区域),可以查看场景具体详情,在此可以“分享”、“生成二维码”、“编辑”乃至于“删除”场景。

  • 分享:请点击页面右上角的菜单,可以将该场景分享给你的朋友,这样你的朋友就会得到一份该场景的完全复制品。切记!分享该场景会导致别人一直拥有该场景信息,并随时生成密钥(和你的场景生成相同的密钥)。如果这不是你希望的结果,切勿分享。
  • 生成二维码:可以生成一份该场景特定的二维码,将其打印出来贴于服务器等物理环境处,使用时直接用微信扫描即可调出“运维密码”小程序添加该场景。(注:该场景二维码不同于用于添加场景的种子二维码)
  • 编辑和删除:也可以对此场景进行编辑,尤其是你在添加场景时输入的信息不够明确时。也可以在此修改该场景的地点(我们后继的版本会推出地点感知功能)。

生成的场景二维码

场景备份与恢复

场景备份信息,请截屏安全保存

最重要的,“运维密码”小程序提供了备份和恢复功能,这是 Google 所开源的 Google 身份验证器所缺乏的最重要功能。有了备份功能,你就不用担心手机丢失或更换手机的麻烦了。

目前我们提供了本地备份功能。限于微信小程序的限制,我们不能保存文件,只能将备份信息以二维码的方式备份出来。您可以将该二维码截屏,保存到安全可靠的地方,以备以后需要时恢复。

现阶段没有提供远程云端备份功能的主要原因是用户可能忧虑云端备份的隐私保障,因此,我们在没有办法提供一个可靠备份,连服务提供方也不能破解的方法之前,不会提供云端备份功能。

开源啦!

作为一家倡导开源的社区,我们一定要亲自践行开源才算得上名至实归。因此,我们在代码重构稳定之后,第一时间就将“运维密码”开源了出来。开源地址在:

https://github.com/LCTT/WeApp-Password

本项目采用 AGPL 3.0 协议开源。

欢迎大家复刻和提交拉取请求,有什么错误和功能建议,也非常欢迎大家给我们提出 issue

欢迎体验

我们还开设了“运维密码”小程序体验群,欢迎大家到群内发表意见,以及寻求帮助。加入本群也可以及时体验我们发布前的体验版本,第一时刻尝鲜。

运维密码体验群

扫描识别添加上面的好友,验证信息:“运维密码”,可获得入群邀请。

使用参考

要在 OpenSSH 上使用 TOTP,请参考 netb2c 写的《SSH 安全加固篇:通过“运维密码”小程序实现 SSH 双因子认证》。

我们还会陆续推出更多使用 “运维密码”的文章,也欢迎大家给我们投稿。

哦,好像我没有说到如何找到“运维密码”——我想这一定难不倒你,不过假如你不知道的话,你可以如此这般:

  • 在微信中“发现”->“小程序”中搜索“运维密码”即可。
  • 什么,你的“发现”中没有“小程序”,那你可以扫描下面这个二维码,来尝鲜你的第一个小程序:

运维密码

致谢

感谢开发团队的 @Bestony、betty、wxy;

感谢撰写使用“运维密码”的文章的同学:netb2c;

感谢“运维密码”体验群的诸位同学;

感谢 Google 开源的程序;

感谢微信提供的环境。