首页 > 解决方案 > 我无法列出在 osquery 5.0.1 上加密的磁盘

问题描述

我有这个查询来列出我公园里所有没有加密磁盘的机器。

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]

有人可以帮助我吗?

标签: sqliteosquery

解决方案


推荐阅读