问题标签 [luks]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
46 浏览

git - 如何防止git在用户主目录之外写入文件

问题:

你好团队,

我正在尝试保护我的开发人员帐户,Linux 主目录位于 LUKS 加密分区的顶部。

这个想法是,如果机器被盗,那么小偷将得到一个漂亮的砖砌系统,因为每次机器重新启动时都会询问加密的文件系统密码。

理想情况下,希望将任何新的文件创建命令(git clone、cp、tar 等)限制为仅在主目录上工作,而在本地文件系统上的任何其他地方都不能工作。

那么我的选择是什么?

  • 除 /tmp 分区外,开发人员没有可以在其中写入文件的目录,但对其进行加密也可能是矫枉过正。
  • 这可以通过 SE Linux 策略强制执行吗?
  • 可以使用 GIT_DIR 和 GIT_WORK_TREE 环境变量,但这会使事情变得复杂并且不能防止意外的 tar、cp
  • 我还研究了像gcrypt这样的“加密 git”的几个实现,但我不知道这些项目有多成熟。再次克隆存储库后,您可以对加密区域之外的文件进行 cp、tar 处理。

这可行吗?

也许我从错误的角度看待问题,任何提示将不胜感激。

谢谢!

0 投票
1 回答
169 浏览

manjaro - Luks 内容不可见/不可访问 - Manjaro Linux

刚刚使用 Manjaro 上的 KDE 分区管理器用 Luks 一个 USB 笔式驱动器加密。操作进行得很顺利,可以通过输入密码来挂载 USB 驱动器。由于所有权限都设置为 root,我用我的实际用户名更改了所有权,以便我可以将我的所有内容从 SSD 复制到 USB 笔式驱动器。一旦重新启动我的机器,我就无法再看到/访问我的 USB 内容(?!)。挂载运行良好,但除了最初包含我所有东西的文件夹名称外什么也看不到。事实上,我可以看到我的文档在 USB 笔式驱动器上占用的空间(大约 350MB),但就像什么都没有。

0 投票
2 回答
2620 浏览

docker - 已加密且主机无法访问的卷?

我想要一个 Docker 容器,它有一个主机无法访问的存储卷。

我遵循了这个指南,它使用docker-lvm-plugin插件来安装一个 LUKS crypt 卷。通过对方法的一些修改,我最终这样做了:

但是我可以这样做:

似乎加密卷的内容对主机是可见的。

是否可以在主机无法访问的 Docker 容器中拥有加密卷?

0 投票
1 回答
70 浏览

c - 解析 LUKS 标头以正确读取整数值字段

我试图通过从安装了 luks 卷的设备上读取原始数据来解析 luks 标头,遵循此处给出的规范:https ://gitlab.com/cryptsetup/cryptsetup/wikis/LUKS-standard/on -disk-format.pdf,特别是第 6 页的表格,其中显示了驻留在每个位置的数据、它是什么类型的数据以及单个值有多少这些数据类型。

例如,hash-spec 字符串位于位置 72 并包含 32 个类型 char 字节。将其收集到数组中并打印结果很简单,但是如版本或键字节(假定为键的长度)等数值表中详述,这些值跨越多个整数。该版本有两个无符号短裤,键字节有四个无符号整数来表示它们的值。

我对此感到有些困惑,以及我应该如何解释它以检索正确的值。我写了一个凌乱的测试脚本来扫描一个用 luks 加密的 U 盘,并显示从读取这些字段中检索到的内容。

这非常令人困惑,因为哈希规范字段再次包含预期值,只是字符串本身,但是我应该如何解释版本或键字节字段?这些看起来都是完全随机的数字,据我所知,规范中没有任何内容可以解释这一点。我想这可能是我实际编写代码的方式有问题,下面是用于显示这些值的脚本:

任何帮助将不胜感激,谢谢。

0 投票
0 回答
435 浏览

nixos - Nixos zfs 加密启动安装

我遵循了几个指南 [1,2,3] 但无法使其正常工作。Grub 不会提示我输入密码来解锁磁盘,而是会收到以下提示:

这些是我的配置文件:

/etc/nixos/configuration.nix:

/etc/nixos/hardware-configuration.nix:

我希望有一个人可以帮助我!

[1] https://zyradyl.moe/2019/08/04/NixOS-Part1-Basic-Setup/(目前离线)

[2] https://elvishjerricco.github.io/2018/12/06/encrypted-boot-on-zfs-with-nixos.html

[3] https://gist.github.com/ladinu/bfebdd90a5afd45dec811296016b2a3f

0 投票
0 回答
180 浏览

linux - 启用 systemd 的 libcryptsetup

我有同样的问题,然后是这里的帖子。我创建了一个文件cryptsetup_%.bbappend。我已经尝试了以下每一行:

我仍然没有cryptsetup service任何crypttab文件。

我正在使用以下配置:

有没有人有任何想法或遇到类似的问题?谢谢!

问候

0 投票
1 回答
1057 浏览

linux - 在 dm-crypt linux 上销毁 luks 标头

我正在尝试销毁我的一个逻辑卷 data1 上的 luks 标头,删除 luks 标头后,我仍然能够读取 data1 中的文件。我想应该不是这样吧?有人可以帮助我理解这个案例吗?

lsblk 输出

Luksdump 输出以检查 luks 标头是否存在:

销毁 luks 标头:

我仍然能够读取 /data1/ 中的文件

据我了解,一旦标头被破坏, /data1 应该无法读取吧?

0 投票
2 回答
570 浏览

json - 如何以编程方式查找 LUKS 标头的开始和结束字节?

如何以编程方式确定块存储设备上 LUKS 标头的准确起始字节和准确结束字节?

我使用 Linux 统一密钥设置 (LUKS) 进行全盘加密 (FDE),因此我的驱动器上的所有数据都使用不是从我的密码中派生的强主密钥进行加密,并且我正在编写一个安全的脚本在紧急/紧急关机情况下擦除驱动器(即:有人在偷窃您的笔记本电脑)。

假设我有一个 1000T 驱动器,但在我的紧急情况下时间太短(约 30 秒),无法用随机字节实际填充驱动器。相反,我只想覆盖标头,因为如果标头(包含带有主密钥和盐的密钥槽)丢失,驱动器上的所有数据都毫无价值——即使密码是通过橡胶软管密码分析恢复的.

如何以编程方式安全地确定 LUKS 标头的起始字节和结束字节,以便我知道要覆盖什么?

注意:提供的解决方案必须对LUKS1(2014 年发布)和LUKS2(2018 年发布)都有效。

在 LUKS1 中,我发现开始是 0,结束是通过将payload-offset容器二进制标头中的字段乘以 512 来确定的。例如

在这种情况下,LUKS1 标头以 byte 4096 * 512=结束2097152

在 LUKS2 中,这要复杂得多,因为它需要解析LUKS 标头中的 JSON 元数据对象。

0 投票
1 回答
351 浏览

linux - 在 LUKS-Dropbear-Arch-Raspberry Pi-System 上出现错误:Can't open '/.cryptdev': No such file or directory

我编写了一个脚本来配置图像并将其转换为 sd 卡,以便在 Raspberry Pi 上使用它们。

在此脚本的第 418 行,您将找到以下代码:

这会生成以下输出:

当我启动树莓派并尝试连接它时,我在终端上得到以下输出:

如果有人能告诉我错误在哪里以及我如何解决这个问题,我会很高兴!:)

0 投票
1 回答
312 浏览

grub - grub menuentry后输入FDE密码

我的系统是安装在单独硬盘上的 Windows 10 (sdb) 和 Manjaro (sda) 的双重启动。Windows 系统驱动器使用 bitlocker 加密,Manjaro 通过 LUKS 上的 LVM 加密,如下所示 (lsblk)。

我将 grub2 设置为默认引导加载程序(安装在 Manjaro 上),它可以让我通过菜单选择是要引导 Windows 还是 Manjaro。但是,问题是它会在给我那个菜单之前询问(LUKS FDE)密码。结果,由于Windows已经用bitlocker加密了,所以我必须在LUKS密码之后输入Windows bitlocker密码,这很不方便。(如果我想启动到 Manjaro,令人惊讶的是,我不需要输入两次 LUKS 密码)

因为 Windows 和 Manjaro 安装在不同的物理硬盘上,并且引导分区没有加密(如上所示),所以当我想引导到 Windows 时,grub 不需要询问我 LUKS 的密码。只有当我选择引导到 Manjaro 时,它才会首先显示菜单并询问我 LUKS 密码。但我不确定如何配置它,也找不到太多关于它的资源。

这是我的 grub 配置文件(在/etc/default/grub