From: Dominick Grift <dac.override@gmail.com>
To: "Sugar\, David" <dsugar@tresys.com>
Cc: "selinux-refpolicy\@vger.kernel.org"
<selinux-refpolicy@vger.kernel.org>
Subject: Re: [PATCH 2/2 v2] pam_faillock creates files in /run/faillock
Date: Sun, 06 Jan 2019 13:47:26 +0100 [thread overview]
Message-ID: <878szy7y1t.fsf@gmail.com> (raw)
In-Reply-To: <20190106123358.18395-2-dsugar@tresys.com> (David Sugar's message of "Sun, 6 Jan 2019 12:34:35 +0000")
"Sugar, David" <dsugar@tresys.com> writes:
> These are changes needed when pam_fallock creates files in /run/faillock
> (which is labeled faillog_t). sudo and xdm (and probably other domains)
> will create files in this directory for successful and failed login
> attempts.
>
> type=AVC msg=audit(1545153126.899:210): avc: denied { search } for pid=8448 comm="lightdm" name="faillock" dev="tmpfs" ino=39318 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1
> type=AVC msg=audit(1545153131.090:214): avc: denied { write } for pid=8448 comm="lightdm" name="faillock" dev="tmpfs" ino=39318 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1
> type=AVC msg=audit(1545153131.090:214): avc: denied { add_name } for pid=8448 comm="lightdm" name="dsugar" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1
> type=AVC msg=audit(1545153131.090:214): avc: denied { create } for pid=8448 comm="lightdm" name="dsugar" scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=file permissive=1
> type=AVC msg=audit(1545153131.091:215): avc: denied { setattr } for pid=8448 comm="lightdm" name="dsugar" dev="tmpfs" ino=87599 scontext=system_u:system_r:xdm_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=file permissive=1
>
> type=AVC msg=audit(1545167205.531:626): avc: denied { search } for pid=8264 comm="sudo" name="faillock" dev="tmpfs" ino=35405 scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1
> type=AVC msg=audit(1545167205.531:627): avc: denied { write } for pid=8264 comm="sudo" name="faillock" dev="tmpfs" ino=35405 scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1
> type=AVC msg=audit(1545167205.531:627): avc: denied { add_name } for pid=8264 comm="sudo" name="root" scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=system_u:object_r:faillog_t:s0 tclass=dir permissive=1
> type=AVC msg=audit(1545167205.531:627): avc: denied { create } for pid=8264 comm="sudo" name="root" scontext=sysadm_u:sysadm_r:cleaner_applyconfig_sudo_t:s0-s0:c0.c1023 tcontext=sysadm_u:object_r:faillog_t:s0 tclass=file permissive=1
>
> Signed-off-by: Dave Sugar <dsugar@tresys.com>
> ---
> policy/modules/admin/sudo.if | 2 +-
> policy/modules/services/xserver.te | 1 -
> policy/modules/system/authlogin.if | 21 +++++++++++++++++++++
> 3 files changed, 22 insertions(+), 2 deletions(-)
>
> diff --git a/policy/modules/admin/sudo.if b/policy/modules/admin/sudo.if
> index 01f408ef..1c1fbe7b 100644
> --- a/policy/modules/admin/sudo.if
> +++ b/policy/modules/admin/sudo.if
> @@ -116,8 +116,8 @@ template(`sudo_role_template',`
> auth_run_chk_passwd($1_sudo_t, $2)
> # sudo stores a token in the pam_pid directory
> auth_manage_pam_pid($1_sudo_t)
> + auth_use_pam($1_sudo_t)
> auth_pid_filetrans_pam_var_run($1_sudo_t, dir, "sudo")
> - auth_use_nsswitch($1_sudo_t)
>
> init_rw_utmp($1_sudo_t)
>
> diff --git a/policy/modules/services/xserver.te b/policy/modules/services/xserver.te
> index cc717e7f..37fb2a71 100644
> --- a/policy/modules/services/xserver.te
> +++ b/policy/modules/services/xserver.te
> @@ -484,7 +484,6 @@ term_setattr_unallocated_ttys(xdm_t)
> auth_domtrans_pam_console(xdm_t)
> auth_manage_pam_pid(xdm_t)
> auth_manage_pam_console_data(xdm_t)
> -auth_rw_faillog(xdm_t)
> auth_write_login_records(xdm_t)
>
> # Run telinit->init to shutdown.
> diff --git a/policy/modules/system/authlogin.if b/policy/modules/system/authlogin.if
> index 9b5e0fe0..8d79af78 100644
> --- a/policy/modules/system/authlogin.if
> +++ b/policy/modules/system/authlogin.if
> @@ -47,6 +47,7 @@ interface(`auth_use_pam',`
> # for encrypted homedir
> dev_read_sysfs($1)
>
> + auth_create_faillog($1)
auth_create_faillog_files($1)
auth_rw_faillog($1)
auth_setattr_faillog_files($1)
> auth_domtrans_chk_passwd($1)
> auth_domtrans_upd_passwd($1)
> auth_dontaudit_read_shadow($1)
> @@ -744,6 +745,26 @@ interface(`auth_append_faillog',`
> allow $1 faillog_t:file append_file_perms;
> ')
>
> +########################################
> +## <summary>
> +## Create fail log lock (in /run/faillock).
> +## </summary>
> +## <param name="domain">
> +## <summary>
> +## Domain allowed access.
> +## </summary>
> +## </param>
> +#
> +interface(`auth_create_faillog',`
> + gen_require(`
> + type faillog_t;
> + ')
> +
> + auth_rw_faillog($1)
> + create_files_pattern($1, faillog_t, faillog_t)
> + setattr_files_pattern($1, faillog_t, faillog_t)
> +')
interface name is not accurate: auth_create_faillog_files()
auth_rw_faillog does not belong here
setattr needs a seperate interface: auth_setattr_faillog_files()
> +
> ########################################
> ## <summary>
> ## Read and write the login failure log.
--
Key fingerprint = 5F4D 3CDB D3F8 3652 FBD8 02D5 3B6C 5F1D 2C7B 6B02
https://sks-keyservers.net/pks/lookup?op=get&search=0x3B6C5F1D2C7B6B02
Dominick Grift
next prev parent reply other threads:[~2019-01-06 12:47 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-06 12:34 [PATCH 1/2 v2] Allow greeter to start dbus Sugar, David
2019-01-06 12:34 ` [PATCH 2/2 v2] pam_faillock creates files in /run/faillock Sugar, David
2019-01-06 12:47 ` Dominick Grift [this message]
2019-01-06 12:40 ` [PATCH 1/2 v2] Allow greeter to start dbus Dominick Grift
2019-01-06 12:50 ` Sugar, David
2019-01-06 12:54 ` Dominick Grift
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=878szy7y1t.fsf@gmail.com \
--to=dac.override@gmail.com \
--cc=dsugar@tresys.com \
--cc=selinux-refpolicy@vger.kernel.org \
/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.