On Wed, Jul 15, 2020 at 2:28 AM Andy Coates <andy.coa...@gmail.com> wrote:

> Hi All,
>
> First I'm jumping in the deep end with this - I've only just discovered
> the ComplianceAsCode/content repo and whilst loving the design and
> flexibility, as a newbie it is very daunting to ingest how all the rules
> are generated and interact, but it is very logical as I start to understand
> it more.
>
> I'm currently looking at the linux rule grub2_audit_argument which uses
> shared/templates/template_OVAL_grub2_bootloader_argument to create the OVAL
> definitions.  The problem is the template hardcodes the grub path to
> /boot/grub2/grub.cfg, but with UEFI, just like the rule documentation
> warns, it will be /boot/efi/EFI/redhat/grub.cfg or
> /boot/efi/EFI/fedora/grub.cfg.  So the rule describes what should be
> checked and which files to audit for both BIOS and UEFI versions, but the
> actual criteria check only supports the BIOS/default path.
>
> So I was curious what the approach would be for adding support to this.  I
> see other OVAL tests that use a shared OVAL check to test (extend) if the
> system is UEFI or not, and pass those that aren't - and will then have a
> counterpart rule just for UEFI, so both rules can exist and be checked.  As
> the grub2_audit_argument rule is using a template, the template isn't UEFI
> aware, and doesn't create two rules for both UEFI and non-UEFI that could
> use the shared extended OVAL check for UEFI.  There are conditionals in the
> template for RHEL or others, to determine what content should be checked,
> but I can't see how you could use a conditional for UEFI path or not.   If
> I create two rules that use the same template and pass in different
> arguments (e.g. UEFI or not), then the test names duplicate and the build
> complains.  These are just the things I've thought about uplifting from my
> limited experience.
>
> What would be right way of adding in that path support for UEFI based
> systems?  I'm also surprised others wouldn't notice/report this, so perhaps
> I'm misunderstanding something.
>

The template should be checking /etc/default/grub and /boot/grub2/grubenv.
/boot/grub2/grubenv should be a symbolic link to either the non-UEFI
configuration file /boot/grub2/grub.cfg or the EFI configuration file
/boot/efi/EFI/redhat/grub.cfg which should eliminate the need to check
either non-UEFI or UEFI grub configuration files.
If this is not the case, a bug should be opened.


>
> Thanks!
> Andy.
> _______________________________________________
> scap-security-guide mailing list --
> scap-security-guide@lists.fedorahosted.org
> To unsubscribe send an email to
> scap-security-guide-le...@lists.fedorahosted.org
> Fedora Code of Conduct:
> https://docs.fedoraproject.org/en-US/project/code-of-conduct/
> List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
> List Archives:
> https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org
>
_______________________________________________
scap-security-guide mailing list -- scap-security-guide@lists.fedorahosted.org
To unsubscribe send an email to scap-security-guide-le...@lists.fedorahosted.org
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedorahosted.org/archives/list/scap-security-guide@lists.fedorahosted.org

Reply via email to