Rocky_Linux_8
Sponsored Link

SELinux : Use SETroubleShoot
2021/07/22
 
To use SETroubleShoot, it's possible to generate additional information for solving SELinux related troubles.
[1]
Messages from SETroubleShoot are sent by Audit Event Dispatcher to Systemd Journald. (or [/var/log/messages] if Rsyslog enabled)
So it needs to run Auditd, refer to here.
[2] SETroubleShoot is installed by default if Base Environment is [Server] or others, but if not, Install it.
[root@dlp ~]#
dnf -y install setroubleshoot-server
[3] Additional logs for AVC denial are recorded to Systemd Journald or [/var/log/messages] if Rsyslog is enabled.
The logs follows are the one in [/var/log/messages].
[root@dlp ~]#
grep -E 'setroubleshoot|preventing' /var/log/messages

Jul 22 11:34:36 dlp setroubleshoot[1446]: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 85. For complete SELinux messages run: sealert -l 3a8b842d-ea6f-4c9c-9b12-01075e78f31f
Jul 22 11:34:36 dlp setroubleshoot[1446]: SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 85.#012#012*****  Plugin bind_ports (99.5 confidence) suggests   ************************#012#012If you want to allow /usr/sbin/httpd to bind to network port 85#012Then you need to modify the port type.#012Do#012# semanage port -a -t PORT_TYPE -p tcp 85#012    where PORT_TYPE is one of the following: http_cache_port_t, http_port_t, jboss_management_port_t, jboss_messaging_port_t, ntop_port_t, puppet_port_t.#012#012*****  Plugin catchall (1.49 confidence) suggests   **************************#012#012If you believe that httpd should be allowed name_bind access on the port 85 tcp_socket by default.#012Then you should report this as a bug.#012You can generate a local policy module to allow this access.#012Do#012allow this access for now by executing:#012# ausearch -c 'httpd' --raw | audit2allow -M my-httpd#012# semodule -X 300 -i my-httpd.pp#012
[4] For the 2nd line on the example above, a command is given to see more details and it displays logs like follows.
[root@dlp ~]#
sealert -l 3a8b842d-ea6f-4c9c-9b12-01075e78f31f

SELinux is preventing /usr/sbin/httpd from name_bind access on the tcp_socket port 85.

*****  Plugin bind_ports (99.5 confidence) suggests   ************************

If you want to allow /usr/sbin/httpd to bind to network port 85
Then you need to modify the port type.
Do
# semanage port -a -t PORT_TYPE -p tcp 85
    where PORT_TYPE is one of the following: http_cache_port_t, http_port_t, jboss_management_port_t, jboss_messaging_port_t, ntop_port_t, puppet_port_t.

*****  Plugin catchall (1.49 confidence) suggests   **************************

If you believe that httpd should be allowed name_bind access on the port 85 tcp_socket by default.
Then you should report this as a bug.
You can generate a local policy module to allow this access.
Do
allow this access for now by executing:
# ausearch -c 'httpd' --raw | audit2allow -M my-httpd
# semodule -X 300 -i my-httpd.pp


Additional Information:
Source Context                system_u:system_r:httpd_t:s0
Target Context                system_u:object_r:reserved_port_t:s0
Target Objects                port 85 [ tcp_socket ]
Source                        httpd
Source Path                   /usr/sbin/httpd
Port                          85
Host                          dlp.srv.world
Source RPM Packages           httpd-2.4.37-39.module+el8.4.0+571+fd70afb1.x86_64
Target RPM Packages
SELinux Policy RPM            selinux-policy-targeted-3.14.3-67.el8.noarch
Local Policy RPM              selinux-policy-targeted-3.14.3-67.el8.noarch
Selinux Enabled               True
Policy Type                   targeted
Enforcing Mode                Enforcing
Host Name                     dlp.srv.world
Platform                      Linux dlp.srv.world 4.18.0-305.3.1.el8_4.x86_64 #1
                              SMP Thu Jun 17 07:52:48 UTC 2021 x86_64 x86_64
Alert Count                   4
First Seen                    2021-07-22 11:22:04 JST
Last Seen                     2021-07-22 11:34:30 JST
Local ID                      3a8b842d-ea6f-4c9c-9b12-01075e78f31f

Raw Audit Messages
type=AVC msg=audit(1626921270.912:91): avc:  denied  { name_bind } for  pid=1500 comm="httpd" src=85 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:reserved_port_t:s0 tclass=tcp_socket permissive=0


type=SYSCALL msg=audit(1626921270.912:91): arch=x86_64 syscall=bind success=no exit=EACCES a0=3 a1=5633ec3338c0 a2=10 a3=7ffcf88548dc items=0 ppid=1 pid=1500 auid=4294967295 uid=0 gid=0 euid=0 suid=0 fsuid=0 egid=0 sgid=0 fsgid=0 tty=(none) ses=4294967295 comm=httpd exe=/usr/sbin/httpd subj=system_u:system_r:httpd_t:s0 key=(null)

Hash: httpd,httpd_t,reserved_port_t,tcp_socket,name_bind
Matched Content