帮酷LOGO
0 0 评论
  • 显示原文与译文双语对照的内容
文章标签:encrypted  encrypt  MAN  BOO  分区  引导  UEFI  secure  
Encrypted boot partition manager with UEFI Secure Boot support

  • 源代码名称:cryptboot
  • 源代码网址:http://www.github.com/xmikos/cryptboot
  • cryptboot源代码文档
  • cryptboot源代码下载
  • Git URL:
    git://www.github.com/xmikos/cryptboot.git
  • Git Clone代码到本地:
    git clone http://www.github.com/xmikos/cryptboot
  • Subversion代码到本地:
    $ svn co --depth empty http://www.github.com/xmikos/cryptboot
    Checked out revision 1.
    $ cd repo
    $ svn up trunk
    
  • cryptboot

    加密引导分区管理器,带有UEFI安全引导支持

    描述

    使用加密的引导分区,任何人都不能看到或者修改你的内核映像或者 initramfs。 GRUB引导加载程序支持从加密引导分区引导,但你仍然会受到 Evil攻击的攻击。

    一种可能的解决方案是使用UEFI安全引导。 删除预加载的安全引导密钥( 你真的不想信任微软和 OEM ),注册自己的安全引导密钥,并用你的密钥签署GRUB引导装载程序。 邪恶的女佣将无法启动修改的引导加载程序( 未按你的密钥签名),整个攻击被阻止。

    cryptboot 简单且易于管理。

    要求

    • Linux ( x86_64 )
    • 启用安全引导的UEFI固件
    • 使用LUKS加密的独立 /boot 分区
    • cryptsetup
    • openssl
    • efitools
    • sbsigntools
    • efibootmgr
    • grub ( 基于Debian的发行版)

    安装

    使用LUKS加密的独立 /boot 分区安装你喜欢的Linux发行版。 请参阅你的分发文档,有针对 Arch Linux的比如 指南:

    加密启动分区( GRUB )

    引导到UEFI固件设置实用工具( 经常但不正确地被称为"bios"),启用安全引导并清除所有预加载的安全引导密钥( 微软和 OEM )。 通过清除所有安全启动键,你将进入安装模式 ( 你可以在以后注册自己的安全启动密钥)。

    你还必须设置UEFI固件 supervisor supervisor supervisor supervisor supervisor simply simply启动UEFI设置实用程序and并关闭安全引导 utility。

    启动Linux发行版并挂载 /boot 分区和EFI系统分区:

     
     cryptboot mount
    
    
    
     

    生成新的UEFI安全启动密钥:

    
     cryptboot-efikeys create
    
    
    
    

    将新生成的UEFI安全引导密钥注册到UEFI固件中:

    
     cryptboot-efikeys enroll
    
    
    
    

    更新GRUB引导加载程序( 它将自动使用新的UEFI安全启动密钥进行签名):

    
     cryptboot update-grub
    
    
    
    

    卸载 /boot 分区和EFI系统分区:

    
     cryptboot umount
    
    
    
    

    重启系统,你应该完全防御从现在开始的邪恶攻击 !

    用法

    安装后,cryptboot的使用与运行一样简单:

    
    cryptboot upgrade
    
    
    
    

    这将挂载 /boot 分区和EFI系统分区,使用分发包管理器正确升级系统,更新并签署GRUB引导装载程序,最后卸载 /boot 分区和EFI系统分区。

    帮助

    cryptboot

    
    Usage: cryptboot {mount|umount|update-grub|upgrade}
    
    
    
    Encrypted boot partition manager with UEFI Secure Boot support
    
    
    
    Commands:
    
    
     mount Unlock and mount your encrypted boot partition and EFI System partition
    
    
     umount Unmount and lock your encrypted boot partition and EFI System partition
    
    
     update-grub Update GRUB2 boot loader and sign it with your UEFI Secure Boot keys
    
    
     upgrade Mount, upgrade system with package manager, update boot loader and unmount
    
    
    
    

    cryptboot-efikeys

    
    Usage: cryptboot-efikeys {create,enroll,sign,verify,list} [file-to-sign-or-verify]
    
    
    
    Manage UEFI Secure Boot keys
    
    
    
    Commands:
    
    
     create Generate new UEFI Secure Boot keys
    
    
     enroll Enroll new UEFI Secure Boot keys to your UEFI firmware
    
    
     (you have to clear old keys in your UEFI firmware setup utility first)
    
    
     sign Sign EFI boot image file with your UEFI Secure Boot keys
    
    
     verify Verify signature of EFI boot image file with your UEFI Secure Boot keys
    
    
     list List all UEFI Secure Boot keys enrolled in your UEFI firmware
    
    
     status Check if UEFI Secure Boot is active or inactive
    
    
    
    

    默认配置( /etc/cryptboot.conf )

    
    # Encrypted boot device name (/dev/mapper/$BOOT_CRYPT_NAME)
    
    
    # (have to be specified in/etc/crypttab)
    
    
    BOOT_CRYPT_NAME="cryptboot"
    
    
    
    # Boot partition mount point (have to be specified in/etc/fstab)
    
    
    BOOT_DIR="/boot"
    
    
    
    # EFI System partition mount point (have to be specified in/etc/fstab)
    
    
    EFI_DIR="/boot/efi"
    
    
    
    # Default boot loader (only GRUB is supported for now)
    
    
    BOOT_LOADER="GRUB"
    
    
    
    # Boot entry in UEFI Boot Manager (if using GRUB boot loader)
    
    
    EFI_ID_GRUB="GRUB"
    
    
    
    # Path to GRUB boot loader EFI file (relative to EFI System partition)
    
    
    EFI_PATH_GRUB="EFI/grub/grubx64.efi"
    
    
    
    # UEFI Secure Boot keys directory
    
    
    EFI_KEYS_DIR="/boot/efikeys"
    
    
    
    # Command run to upgrade system packages
    
    
    PKG_UPGRADE_CMD="pacman -Syu"
    
    
    
    

    限制

    • 如果你的UEFI固件有后门,你就没那么幸运了。 这是的游戏。

      老 笔记本 不幸地在BIOS中加入后门:

      BIOS密码后门在 笔记本

      新的笔记本 ( 从 2016开始) 应该更加安全,但我只是确定联想,( 没有知道的后门密码,如果用户忘记了主机密码,联想就会更换整个系统板。)。

    • 由于你的密码密码不能作为加密密码使用,所以你永远不应该使用相同的UEFI固件密码,因为在某些旧的笔记本 中,监督密码可以从EEPROM芯片恢复为明文。

      新的联想网卡( 用于 T440,T450,T540,X1 Carbon/3,X240,X250,W540,W541,W550和较新模型的) 应该是安全的,请参见 比如 本演示文稿:

      UEFI的 ThinkPad BIOS密码设计

    • 攻击者还可以用自己修改的邪恶固件直接刷新你的UEFI固件,但是这可以通过物理手段( 比如 ) 阻止。 环氧树脂;)。

      另外,还有程序,如何使用SPI串口编程程序,在现代的thinkpad上重新设置监督密码。 同样,你可以使用物理方法来防止。

    • 如果你已经加密启动分区,则无法轻松使用其他基于tpm的可信/验证的引导解决方案如 tpmtotp 或者 anti-evil-maid。

      这是因为这些解决方案依赖于initramfs中运行的代码,然后再输入解密密码。 但是,如果你有加密分区,你必须在加载initramfs之前输入解密密码,这样这些解决方案就已经过晚了,这些解决方案可能会导致。

      这可以通过在GRUB引导加载程序( 但是目前的TrustedGRUB2 甚至还不支持 UEFI ) 中直接实现TPM支持和 tpmtotp 或者 anti-evil-maid 来修复。

      问题是如果这真的需要? 如果你不信任UEFI固件,那么你为什么要信任 TPM? 但是不管怎么样,对于恶意的女友来说,双重检查是不错的。



    文章标签:PAR  MAN  BOO  SUP  引导  secure  encrypt  encrypted  

    Copyright © 2011 HelpLib All rights reserved.    知识分享协议 京ICP备05059198号-3  |  如果智培  |  酷兔英语