All of lore.kernel.org
 help / color / mirror / Atom feed
From: Casey Schaufler <casey@schaufler-ca.com>
To: Mimi Zohar <zohar@linux.ibm.com>,
	Roberto Sassu <roberto.sassu@huaweicloud.com>,
	viro@zeniv.linux.org.uk, brauner@kernel.org,
	chuck.lever@oracle.com, jlayton@kernel.org, neilb@suse.de,
	kolga@netapp.com, Dai.Ngo@oracle.com, tom@talpey.com,
	paul@paul-moore.com, jmorris@namei.org, serge@hallyn.com,
	dmitry.kasatkin@gmail.com, dhowells@redhat.com,
	jarkko@kernel.org, stephen.smalley.work@gmail.com,
	eparis@parisplace.org, shuah@kernel.org, mic@digikod.net
Cc: linux-fsdevel@vger.kernel.org, linux-kernel@vger.kernel.org,
	linux-nfs@vger.kernel.org, linux-security-module@vger.kernel.org,
	linux-integrity@vger.kernel.org, keyrings@vger.kernel.org,
	selinux@vger.kernel.org, linux-kselftest@vger.kernel.org,
	Roberto Sassu <roberto.sassu@huawei.com>,
	Casey Schaufler <casey@schaufler-ca.com>
Subject: Re: [PATCH v8 19/24] ima: Move to LSM infrastructure
Date: Wed, 27 Dec 2023 12:20:04 -0800	[thread overview]
Message-ID: <94f41f09-e5d6-49c4-958e-6965ee161388@schaufler-ca.com> (raw)
In-Reply-To: <3bcc924ed59ecdc5fda5ab8aceeed9450a54c829.camel@linux.ibm.com>

On 12/27/2023 11:52 AM, Mimi Zohar wrote:
> On Tue, 2023-12-26 at 12:14 -0800, Casey Schaufler wrote:
>> On 12/26/2023 10:14 AM, Mimi Zohar wrote:
>>> On Thu, 2023-12-14 at 18:08 +0100, Roberto Sassu wrote:
>>>> From: Roberto Sassu <roberto.sassu@huawei.com>
>>>>
>>>> Move hardcoded IMA function calls (not appraisal-specific functions) from
>>>> various places in the kernel to the LSM infrastructure, by introducing a
>>>> new LSM named 'ima' (at the end of the LSM list and always enabled like
>>>> 'integrity').
>>>>
>>>> Having IMA before EVM in the Makefile is sufficient to preserve the
>>>> relative order of the new 'ima' LSM in respect to the upcoming 'evm' LSM,
>>>> and thus the order of IMA and EVM function calls as when they were
>>>> hardcoded.
>>>>
>>>> Make moved functions as static (except ima_post_key_create_or_update(),
>>>> which is not in ima_main.c), and register them as implementation of the
>>>> respective hooks in the new function init_ima_lsm().
>>>>
>>>> A slight difference is that IMA and EVM functions registered for the
>>>> inode_post_setattr, inode_post_removexattr, path_post_mknod,
>>>> inode_post_create_tmpfile, inode_post_set_acl and inode_post_remove_acl
>>>> won't be executed for private inodes. Since those inodes are supposed to be
>>>> fs-internal, they should not be of interest of IMA or EVM. The S_PRIVATE
>>>> flag is used for anonymous inodes, hugetlbfs, reiserfs xattrs, XFS scrub
>>>> and kernel-internal tmpfs files.
>>>>
>>>> Conditionally register ima_post_path_mknod() if CONFIG_SECURITY_PATH is
>>>> enabled, otherwise the path_post_mknod hook won't be available.
>>> Up to this point, enabling CONFIG_SECURITY_PATH was not required.  By
>>> making it conditional on CONFIG_SECURITY_PATH, anyone enabling IMA will
>>> also need to enable CONFIG_SECURITY_PATH.  Without it, new files will
>>> not be tagged as a "new" file.
>>>
>>> Casey, Paul, how common is it today not to enable CONFIG_SECURITY_PATH?
>>> Will enabling it just for IMA be a problem?
>> Landlock, AppArmor and TOMOYO require it. Fedora enables Landlock and Ubuntu
>> enables AppArmor. I expect that, except for "minimal" distributions, you
>> won't get any push back. If a distribution is striving for minimal, it's not
>> going to use IMA.
>>
>> It makes me wonder if eliminating CONFIG_SECURITY_PATH might not be a
>> rational alternative.
> Embedded systems were the first to use IMA for file signature
> verification, not distros.               Could they have enabled
> SELinux, lockdown, and IMA?

Yes, they could have. I know some have used Smack and some SELinux.
That's not really relevant, as neither of those use path hooks. My
thought is that CONFIG_SECURITY_PATH adds more aggravation than value,
but I can't quote numbers on either. I don't see a problem with IMA
using path hooks. I also wouldn't see harm in moving the hook(s) you
need for IMA out from that configuration option and into the general
set. With the current rate of new hook additions I can't see moving
an existing hook as a problem.


  reply	other threads:[~2023-12-27 20:20 UTC|newest]

Thread overview: 43+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2023-12-14 17:08 [PATCH v8 00/24] security: Move IMA and EVM to the LSM infrastructure Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 01/24] ima: Align ima_inode_post_setattr() definition with " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 02/24] ima: Align ima_file_mprotect() " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 03/24] ima: Align ima_inode_setxattr() " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 04/24] ima: Align ima_inode_removexattr() " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 05/24] ima: Align ima_post_read_file() " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 06/24] evm: Align evm_inode_post_setattr() " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 07/24] evm: Align evm_inode_setxattr() " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 08/24] evm: Align evm_inode_post_setxattr() " Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 09/24] security: Align inode_setattr hook definition with EVM Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 10/24] security: Introduce inode_post_setattr hook Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 11/24] security: Introduce inode_post_removexattr hook Roberto Sassu
2023-12-15 21:05   ` Casey Schaufler
2023-12-14 17:08 ` [PATCH v8 12/24] security: Introduce file_post_open hook Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 13/24] security: Introduce file_release hook Roberto Sassu
2023-12-15 21:41   ` Casey Schaufler
2023-12-14 17:08 ` [PATCH v8 14/24] security: Introduce path_post_mknod hook Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 15/24] security: Introduce inode_post_create_tmpfile hook Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 16/24] security: Introduce inode_post_set_acl hook Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 17/24] security: Introduce inode_post_remove_acl hook Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 18/24] security: Introduce key_post_create_or_update hook Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 19/24] ima: Move to LSM infrastructure Roberto Sassu
2023-12-26 18:14   ` Mimi Zohar
2023-12-26 20:14     ` Casey Schaufler
2023-12-27 19:52       ` Mimi Zohar
2023-12-27 20:20         ` Casey Schaufler [this message]
2023-12-14 17:08 ` [PATCH v8 20/24] ima: Move IMA-Appraisal " Roberto Sassu
2023-12-26 22:15   ` Mimi Zohar
2023-12-14 17:08 ` [PATCH v8 21/24] evm: Move " Roberto Sassu
2023-12-15 21:54   ` Casey Schaufler
2023-12-26 22:13   ` Mimi Zohar
2024-01-02 11:56     ` Roberto Sassu
2024-01-02 17:44       ` Mimi Zohar
2023-12-14 17:08 ` [PATCH v8 22/24] evm: Make it independent from 'integrity' LSM Roberto Sassu
2023-12-27  3:12   ` Mimi Zohar
2023-12-14 17:08 ` [PATCH v8 23/24] ima: " Roberto Sassu
2023-12-17  1:52   ` kernel test robot
2023-12-18  8:21   ` Roberto Sassu
2023-12-27 13:22   ` Mimi Zohar
2023-12-27 16:39     ` Roberto Sassu
2023-12-27 19:21       ` Mimi Zohar
2024-01-02 10:53         ` Roberto Sassu
2023-12-14 17:08 ` [PATCH v8 24/24] integrity: Remove LSM Roberto Sassu

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=94f41f09-e5d6-49c4-958e-6965ee161388@schaufler-ca.com \
    --to=casey@schaufler-ca.com \
    --cc=Dai.Ngo@oracle.com \
    --cc=brauner@kernel.org \
    --cc=chuck.lever@oracle.com \
    --cc=dhowells@redhat.com \
    --cc=dmitry.kasatkin@gmail.com \
    --cc=eparis@parisplace.org \
    --cc=jarkko@kernel.org \
    --cc=jlayton@kernel.org \
    --cc=jmorris@namei.org \
    --cc=keyrings@vger.kernel.org \
    --cc=kolga@netapp.com \
    --cc=linux-fsdevel@vger.kernel.org \
    --cc=linux-integrity@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-kselftest@vger.kernel.org \
    --cc=linux-nfs@vger.kernel.org \
    --cc=linux-security-module@vger.kernel.org \
    --cc=mic@digikod.net \
    --cc=neilb@suse.de \
    --cc=paul@paul-moore.com \
    --cc=roberto.sassu@huawei.com \
    --cc=roberto.sassu@huaweicloud.com \
    --cc=selinux@vger.kernel.org \
    --cc=serge@hallyn.com \
    --cc=shuah@kernel.org \
    --cc=stephen.smalley.work@gmail.com \
    --cc=tom@talpey.com \
    --cc=viro@zeniv.linux.org.uk \
    --cc=zohar@linux.ibm.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.