在Yocto审计

时间:2018-06-13 15:22:03

标签: yocto audit

我试图将auditd添加到Yocto linux。 我添加了selinux层及其依赖层:openembedded-core和meta-virtualization。 我将这些图层添加到bblayers.conf中。 我添加了DISTRO_FEATURES_append =" acl xattr pam selinux" 和PREFERRED_PROVIDER_virtual / refpolicy?=" refpolicy-mls"到local.conf文件。

在构建(通过使用bitbake core-image-base)并运行qemu之后,kauditd进程正在运行,但所有用户空间工具都没有运行。 / etc / audit文件夹不存在,不存在审计的配置文件(audit.rules),并且没有运行用户空间审计进程。 在图层的信息中,它被声明 - "内核审核的用户空间工具"。

我缺少什么? 感谢。

2 个答案:

答案 0 :(得分:0)

我想我发现了一些可以回答你问题的内容:如果你知道你期望在目标图像中使用什么样的二进制文件或库,你可以找到可执行文件的配方,然后将该包添加到图像中。

  1. 从您希望在图像中的二进制文件或库的名称开始,然后运行以下命令。对我来说,我使用的是一个名为candump的CAN总线可执行文件。我想知道它的配方是什么?为了找到答案,我发出:

    devtool搜索candump

  2. 返回:

    can-utils

    如果没有返回任何内容,我会仔细检查你的conf / bblayers.conf,这样你构建系统实际上就会看到你认为它所在的层。如果您不确定,请查看下面指向OpenEmbedded的链接,该链接具有方便的包搜索实用程序。

    1. 找到食谱后,您可以将该食谱包含在您的构建中。
    2. 以下是我认为您在OpenEmbedded网站上提出的问题的一个很好的参考: https://wiki.yoctoproject.org/wiki/Cookbook:Example:Adding_packages_to_your_OS_image

答案 1 :(得分:0)

我刚刚将auditd添加到我的系统中。这就是我所做的。

首先,我将存储库检出。

cd /path/to/yocto
git clone git://git.yoctoproject.org/meta-selinux
cd meta-selinux
# checkout the branch matching the Yocto release you are on
git checkout thud

然后我将auditd添加到我的构建中。

cd /path/to/build
bitbake-layers add-layer /path/to/yocto/meta-selinux
cat >> conf/local.conf <<'END'
IMAGE_INSTALL_append = " auditd"
END
bitbake my_normal_image_target

即使Yocto配方被称为“审核”,但程序包名称仍被审核。

当然,没有selinux的auditd是没有用的,但是它确实尝试运行(journalctl -u auditd),并且/ etc / audit存在。


FWIW:要被审核到报告说登录成功/失败的地步,我还要做一些其他事情。我不仅将其添加到标准Yocto图像中,而且还将其添加到自定义图像和自定义计算机中。我已经在使用systemd,所以不必更改它(该层似乎表明它是必需的?)。我的local.conf看起来像这样。

# enable selinux
DISTRO_FEATURES_append = " acl xattr pam selinux"
# set the policy
PREFERRED_PROVIDER_virtual/refpolicy ?= "refpolicy-mls"
# install selinux packages and auditd
IMAGE_INSTALL_append = " packagegroup-core-selinux auditd"
# tell the kernel to enable selinux (non-enforcing) and audting
APPEND_append = " selinux=1 enforcing=0 audit=1"

我还必须更改linux-yocto_selinux.inc以便稍后加载selinux.cfg。也许层/配方排序也可以解决此问题?

-SRC_URI += "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'file://selinux.cfg', '', d)}"
+SRC_URI_append = "${@bb.utils.contains('DISTRO_FEATURES', 'selinux', 'file://selinux.cfg', '', d)}"

所有这些都准备就绪,我会在日记中看到审核日志。