31 Temmuz 2019 Çarşamba

selinux aksaklık nedeninin incelenmesi

selinux kullanmaya başladığımızda, audit ile ilgili sorun yaşamaya başladıysak ilk yapmamız gereken nedeni sorunun nedenini sisteme sormak olur.

Öncelikle için policy paketleri ile ilgili policycoreutils-python-2.5-29.el7_6.1.x86_64 paket yüklenmiş olmalı.

[root@rhel7lab01 ~]#
[root@rhel7lab01 ~]# yum info policycoreutils-python-2.5-29.el7_6.1.x86_64
Loaded plugins: langpacks, priorities, product-id, ps, remove-with-leaves, search-disabled-repos, show-leaves, subscription-manager, upgrade-helper
Installed Packages
Name        : policycoreutils-python
Arch        : x86_64
Version     : 2.5
Release     : 29.el7_6.1
Size        : 1.2 M
Repo        : installed
From repo   : rhel-7-server-rpms
Summary     : SELinux policy core python utilities
URL         : http://www.selinuxproject.org
License     : GPLv2
Description : The policycoreutils-python package contains the management tools use to manage
            : an SELinux environment.

[root@rhel7lab01 ~]#

Paket yüklüyse, öncelikle izin verilmeyen işlemleri listeleri, hangisi bizim aksaklığımızla alakalı ise audit bilgisini alarak izin verebiliriz

 grep  denied /var/log/audit/audit.log

[root@rhel7lab01 ~]# grep 1564549471.069:2262  /var/log/audit/audit.log |audit2why
type=AVC msg=audit(1564549471.069:2262): avc:  denied  { read } for  pid=15715 comm="nginx" name="/" dev="dm-2" ino=64 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=0

        Was caused by:
                Missing type enforcement (TE) allow rule.

                You can use audit2allow to generate a loadable module to allow this access.

type=AVC msg=audit(1564549408.164:2259): avc:  denied  { read } for  pid=15703 comm="nginx" name="/" dev="dm-2" ino=64 scontext=system_u:system_r:httpd_t:s0 tcontext=system_u:object_r:unlabeled_t:s0 tclass=dir permissive=0                                                           

        Was caused by:
                Missing type enforcement (TE) allow rule.

                You can use audit2allow to generate a loadable module to allow this access.

type=AVC msg=audit(1564549419.241:2260): avc:  denied  { read } for  pid=15703 comm="nginx" name="rhel7" dev="dm-2" ino=67159104 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:unlabeled_t:s0 tclass=dir permissive=0                                             

        Was caused by:
                Missing type enforcement (TE) allow rule.

                You can use audit2allow to generate a loadable module to allow this access.

incelediğimiş işlem güvenebileceğimiz bir işlemse buna izin aşağıdaki gibi izin verebiliriz.


[root@rhel7lab01 ~]# grep nginx   /var/log/audit/audit.log |audit2allow   > nginx.te
[root@rhel7lab01 ~]# cat nginx.te 


#============= httpd_t ==============

#!!!! WARNING: 'unlabeled_t' is a base type.
allow httpd_t unlabeled_t:dir read;
[root@rhel7lab01 ~]# 

[root@rhel7lab01 ~]# grep nginx   /var/log/audit/audit.log |audit2allow  -M nginx 
******************** IMPORTANT ***********************
To make this policy package active, execute:

semodule -i nginx.pp

[root@rhel7lab01 ~]# semodule -i nginx.pp
[root@rhel7lab01 ~]# 





Hiç yorum yok:

Yorum Gönder