Re: [PATCH] misc services patches
Dominick Grift <[email protected]>
| Newsgroups | org.kernel.vger.selinux-refpolicy |
|---|---|
| Message-ID | <[email protected]> |
On 1/21/21 2:35 PM, Dominick Grift wrote:
>
>
> On 1/21/21 2:25 PM, Russell Coker wrote:
>> On Thursday, 21 January 2021 1:53:44 AM AEDT Dominick Grift wrote:
>>>> /usr/sbin/suexec --
>> gen_context(system_u:object_r:httpd_suexec_exec_
>>>> t,s0)
>>>> /usr/sbin/wigwam --
>> gen_context(system_u:object_r:httpd_exec_t,s0)>
>>>> +/usr/sbin/php7..-fpm --
>> gen_context(system_u:object_r:httpd_exec_t,s0
>>>> )
>>>
>>> that seems fragile. would probably have used "/usr/sbin/php.*-fpm"
>>
>> OK, I'll change that.
>>
>>>> +interface(`apache_delete_squirrelmail_spool',`
>>>> + gen_require(`
>>>> + type squirrelmail_spool_t;
>>>> + ')
>>>> +
>>>> + allow $1 squirrelmail_spool_t:dir rw_dir_perms;
>>>> + allow $1 squirrelmail_spool_t:file delete_file_perms;
>>>
>>> delete_files_pattern($1, squirrelmail_spool_t, squirrelmail_spool_t)
>>
>> OK.
>>
>>>> tunable_policy(`httpd_enable_homedirs',`
>>>>
>>>> - userdom_search_user_home_dirs(httpd_t)
>>>> + userdom_list_user_home_content(httpd_t)
>>>
>>> this is not how it was designed. If you want that functionality then set
>>> httpd_read_user_content boolean to true instead
>>
>> OK, I'll delete that patch and do it a better way next time I see a case for
>> it.
>>
>>>> allow cupsd_t self:process { getpgid setpgid setsched signal_perms };
>>>> allow cupsd_t self:fifo_file rw_fifo_file_perms;
>>>> allow cupsd_t self:unix_stream_socket { accept connectto listen };
>>>> allow cupsd_t self:netlink_selinux_socket create_socket_perms;
>>>>
>>>> +allow cupsd_t self:netlink_kobject_uevent_socket { bind create
>>>>
>>>> getattr read setopt };
>>>
>>> create_socket_perms, use the permission sets and patterns where appropriate
>>
>> ok
>>
>>>> Index: refpolicy-2.20210120/policy/modules/services/l2tp.te
>>>> ===================================================================
>>>> --- refpolicy-2.20210120.orig/policy/modules/services/l2tp.te
>>>> +++ refpolicy-2.20210120/policy/modules/services/l2tp.te
>>>> @@ -35,6 +35,7 @@ allow l2tpd_t self:socket create_socket_
>>>>
>>>> allow l2tpd_t self:tcp_socket { accept listen };
>>>> allow l2tpd_t self:unix_dgram_socket sendto;
>>>> allow l2tpd_t self:unix_stream_socket { accept listen };
>>>>
>>>> +allow l2tpd_t self:pppox_socket create;
>>>
>>> create_socket_perms probably eventually
>>
>> Maybe, but for the moment I think it's best to leave them like that. I had it
>> working fully only needing those accesses.
>>
>>>> @@ -59,7 +59,7 @@ interface(`mysql_signal',`
>>>>
>>>> type mysqld_t;
>>>>
>>>> ')
>>>>
>>>> - allow $1 mysqld_t:process signal;
>>>> + allow $1 mysqld_t:process { signull signal };
>>>
>>> create a new mysql_signull()
>>>
>>> by generalizing interfaces and putting them out of context youre
>>> shutting down doors for fine grained access control.
>>
>> OK, I'll drop that patch and add a mysql_signull() next time I see the need
>> for it (probably a week or two).
>>
>>>> optional_policy(`
>>>>
>>>> + dbus_send_system_bus(smbd_t)
>>>> + dbus_system_bus_client(smbd_t)
>>>
>>> dbus_send_system_bus(smbd_t) is redundant (already implied with
>>> dbus_system_bus_client(smbd_t)
>>
>> ok
>>
>>>> Index: refpolicy-2.20210120/policy/modules/services/squid.te
>>>> ===================================================================
>>>> --- refpolicy-2.20210120.orig/policy/modules/services/squid.te
>>>> +++ refpolicy-2.20210120/policy/modules/services/squid.te
>>>> @@ -71,6 +71,7 @@ allow squid_t self:msg { send receive };
>>>>
>>>> allow squid_t self:unix_dgram_socket sendto;
>>>> allow squid_t self:unix_stream_socket { accept connectto listen };
>>>> allow squid_t self:tcp_socket { accept listen };
>>>>
>>>> +allow squid_t self:netlink_netfilter_socket
>>>> all_netlink_netfilter_socket_perms;
>>>
>>> probably just create_socket_perms?
>>
>> OK.
>>
>>>> Index: refpolicy-2.20210120/policy/modules/services/ssh.te
>>>> ===================================================================
>>>> --- refpolicy-2.20210120.orig/policy/modules/services/ssh.te
>>>> +++ refpolicy-2.20210120/policy/modules/services/ssh.te
>>>> @@ -268,6 +268,7 @@ ifdef(`init_systemd',`
>>>>
>>>> init_dbus_chat(sshd_t)
>>>> systemd_dbus_chat_logind(sshd_t)
>>>> init_rw_stream_soconnectivitycheck.cbg-app.huawei.comckets(sshd_t)
>>>>
>>>> + systemd_read_logind_sessions_files(sshd_t)
>>>
>>> This should probably be addressed on the lower authlogin level instead
>>
>> auth_login_pgm_domain()?
>
> I would consider adding it to auth_use_pam(). but its a good question.
>
>>
>> In another patch I have systemd_connect_machined(sshd_t) which I guess should
>> go in the same one too.
>
> Which patch was that? That does not look right if only that the name of
> the interface isnt very descriptive (there is no way unix stream connect
> or unix dgram sendto machined.
>
> So this is either about systemd's nss mymachines (in which case it
> belongs in auth_use_nsswitch() or about reading systemd
> /var/run/machines in which case the interface name is wrong.
I meant /var/run/systemd/machines
>
>>
>>
>> Thanks for all the suggestions. I'll send an updated version shortly.
>>