Hacker News 中文摘要

RSS订阅

远程解锁加密硬盘 -- Remotely unlocking an encrypted hard disk

文章摘要

这篇文章讲述了作者如何远程解锁加密硬盘的经历。由于旧ThinkPad电池续航差,作者经常通过SSH连接家用台式机工作。文章详细描述了在启动过程中偷偷修改配置、不留痕迹地远程解锁加密硬盘的技术挑战和解决方案。

文章总结

远程解锁加密硬盘指南

本文作者分享了一种通过SSH远程解锁加密启动分区的技术方案,适用于经常断电或更换IP地址的远程工作场景。

技术背景: 1. 作者使用Arch Linux系统,采用加密启动分区 2. 早期启动过程通过initramfs(初始内存文件系统)实现,这是一个运行在内存中的微型操作系统 3. initramfs包含完整的systemd环境

解决方案: 1. 网络配置: - 在initramfs中启用网络功能(仅支持有线网络) - 通过systemd-networkd实现DHCP自动配置

  1. 安全连接:
  • 使用Tailscale建立加密隧道
  • 配置ACL规则限制仅允许特定设备连接
  • 设置永不失效的设备密钥
  1. SSH访问控制:
  • 采用dropbear轻量级SSH服务器
  • 限制仅允许执行解密密码输入命令(systemd-tty-ask-password-agent)
  • 使用独立密钥对确保安全

实施步骤: 1. 安装必要软件包(dropbear、mkinitcpio插件) 2. 配置mkinitcpio加载网络、Tailscale和SSH模块 3. 设置Tailscale设备标签和ACL策略 4. 配置SSH仅允许解锁命令 5. 生成专用SSH主机密钥 6. 重建initramfs镜像

安全考量: 1. 通过Tailscale标签实现设备隔离 2. 禁用SSH shell访问 3. 使用独立加密密钥 4. 限制网络访问权限

该方案成功实现了在系统启动初期通过远程连接输入加密密码的功能,解决了因断电导致的远程访问中断问题。作者强调,通过合理配置系统底层组件,可以实现看似不可能的技术需求。

[注:原文中的技术细节、配置命令和图片说明均被保留,删减了部分重复性内容和与主题无关的网站导航信息]

评论总结

以下是评论内容的总结,涵盖主要观点和论据,并保持不同观点的平衡性:

  1. 现有解决方案的讨论

    • 评论1提到Linux用户长期需要全盘加密(FDE)解决方案,并推荐了dracut-sshd项目。
    • 评论2提到Windows领域的第三方磁盘加密工具(如WinMagic),其通过在线认证解锁磁盘。
    • 评论6和13提到使用mkinitcpio和ssh(如dropbear)实现远程解锁的成熟方案。
  2. 安全性与风险

    • 评论3指出远程解锁过程中密钥可能被中间人攻击(MITM),建议使用dm-verity。
    • 评论10认为在initramfs中频繁更新Tailscale证书存在风险,更倾向于使用Tang或Keylime等方案。
    • 评论18认为该方案适合无TPM的老硬件,但需根据使用场景评估安全性。
  3. 技术实现与创新

    • 评论5和16分享了通过WiFi或ssh在initramfs中实现远程解锁的经验。
    • 评论7希望bootloader集成更多恢复工具,提供完整的Linux用户空间。
    • 评论8推荐了非交互式远程重启工具Mandos,并强调其安全性(Debian官方支持)。
  4. 替代方案与个人实践

    • 评论4和17描述了DIY解决方案(如Raspberry Pi控制的解锁设备或机器人输入密码)。
    • 评论15提出使用树莓派作为跳板机,通过WoL和SSH隧道实现解锁,避免直接暴露initramfs。
    • 评论14提到早期使用Tor实现NixOS远程解锁的方案。
  5. 其他观点

    • 评论9讨论了不同发行版initramfs的初始化差异(如Arch使用systemd,Debian使用shell脚本)。
    • 评论11和19表达了对此类技术的兴趣或担忧(如“感觉有点吓人”)。

关键引用:
- 安全性争议:
- 评论3:“FYI your decryption key can be MITMed... defeats the purpose of encrypting the disk.”(密钥可能被中间人攻击,违背加密初衷。)
- 评论10:“Putting tailscale in the initramfs... seems risky to me.”(在initramfs中使用Tailscale感觉有风险。)
- 创新实践:
- 评论7:“Gimme a full Linux userspace from the bootloader... luxurious when recovering a broken system.”(希望bootloader提供完整Linux环境,便于恢复系统。)
- 评论15:“Use a Raspberry Pi as a bastion host... simpler than exposing initramfs.”(用树莓派作跳板机,比直接暴露initramfs更简单。)