我有这个查询来列出我公园里所有没有加密磁盘的机器。
SELECT m.device, m.device_alias, m.path, m.type, de.encryption_status
FROM mounts m
LEFT JOIN disk_encryption de ON de.name = m.device_alias
WHERE m.path LIKE '/'
ORDER BY m.device;
但是,当我开始在某些机器上安装新的 osquery 版本(5.0.1)时,我开始收到那些机器未加密的警报。旧版本的机器(我的旧版本是4.5.1)我没有问题,只是在新版本。
所以我开始这个简单的查询来分析两个版本(5.0.1 和 4.0.9)的差异。首先是 5.0.1 版本
SELECT * FROM disk_encryption
结果是:
machine0101 1 encrypted /dev/dm-0 LUKS1-aes-xts-plain64
machine0101 1 encrypted /dev/dm-1 LUKS1-aes-xts-plain64
machine0101 1 encrypted /dev/dm-2 LUKS1-aes-xts-plain64
如果我把“哪里”的结果是不同的。同一张表,只有一个条件,给了我不同的结果,说磁盘没有加密。
SELECT * FROM disk_encryption where name in ('/dev/dm-0', '/dev/dm-1', '/dev/dm-2')
machine0101 1 encrypted /dev/dm-0 LUKS1-aes-xts-plain64
machine0101 0 not encrypted /dev/dm-1 -
machine0101 0 not encrypted /dev/dm-2
好的,现在我使用旧版本(4.5.1)运行相同的查询。
SELECT * FROM disk_encryption
machine0101 1 encrypted /dev/dm-0 aes-xts-plain64
machine0101 1 encrypted /dev/dm-1 aes-xts-plain64
machine0101 1 encrypted /dev/dm-2 aes-xts-plain64
SELECT * FROM disk_encryption where name in ('/dev/dm-0', '/dev/dm-1', '/dev/dm-2')
machine0101 1 encrypted /dev/dm-0 aes-xts-plain64
machine0101 1 encrypted /dev/dm-1 aes-xts-plain64
machine0101 1 encrypted /dev/dm-2 aes-xts-plain64
我不知道这里发生了什么,我的最后一个查询是错误的,或者新版本有一些错误。
那是 lsblk 命令的结果。
sda 8:0 0 223,6G 0 disk
├─sda1 8:1 0 512M 0 part /boot/efi
├─sda2 8:2 0 732M 0 part /boot
└─sda3 8:3 0 222,4G 0 part
└─sda3_crypt 253:0 0 222,4G 0 crypt
├─ubuntu--vg-root 253:1 0 221,4G 0 lvm /
└─ubuntu--vg-swap_1
253:2 0 976M 0 lvm [SWAP]
有人可以帮助我吗?