แแฃแ แกแแก แกแขแฃแแแแขแแแแกแแแแก แแแแแแแแแฃแแ แกแขแแขแแแก แแแ แแแแแ
SELinux แแ Security Enhanced Linux แแ แแก แฌแแแแแแก แแแแขแ แแแแก แแแฃแแฏแแแแกแแแฃแแ แแแฅแแแแแแ, แ แแแแแแช แจแแแฃแจแแแแแฃแแแ แแจแจ-แก แแ แแแแฃแแ แฃแกแแคแ แแฎแแแแแก แกแแแแแแขแแก (NSA) แแแแ แแแแแ แจแแฆแฌแแแแแแก แแแแแแแ แแกแแชแแแแแแแ. แแก แแฎแแ แชแแแแแแก แแซแฃแแแแแแ (แแ แกแแแแแแแแฃแแ) แฌแแแแแแก แแแแขแ แแแแก แแแแแแก (แแแแแแกแฃแ แ แกแแแแแแแแฃแแ แฌแแแแแแก แแแแขแ แแแ, MAC) แแ แกแแแฃแแ แแแกแแ แแชแแฃแแ (แแ แจแแ แฉแแแแแ) แแแแแแแก แแแแแ (แแแแแแกแฃแ แ แแแกแแ แแชแแฃแแ แฌแแแแแแก แแแแขแ แแแ, DAC), แแแฃ แฌแแแแแฎแแแก, แฉแแฌแแ แแก, แจแแกแ แฃแแแแแก แแแแแ แแแแแ.
SELinux-แก แแฅแแก แกแแแ แ แแแแแ:
- แแฆแกแ แฃแแแแ โ แฌแแแแแแก แฃแแ แงแแคแ แแแแแขแแแแก แฌแแกแแแแก แกแแคแฃแซแแแแแ.
- แแแกแแจแแแแ โ แฌแแกแแแแก แแแแ แฆแแแแ แฅแแแแแแแแแก แแฃแ แแแแแก แจแแแแฎแแ, แ แแแแแแช แแแแ แซแแแแแ แแฆแกแ แฃแแแแแก แ แแแแแจแ.
- แจแแแฆแฃแแฃแแ แจแแกแแซแแแแแแแแแแก แแฅแแแ โ SELinux-แแก แกแ แฃแแ แแแแแ แแแ.
แแแแฃแแแกแฎแแแแแ, แแแ แแแแขแ แแแ แจแแงแแแแแแแ /etc/selinux/config
SELinux แ แแแแแแแแก แจแแชแแแ
แแแแแแแแ แ แ แแแแแแก แแแกแแ แแแแแแ, แแแฃแจแแแ
$ getenforce
แ แแแแแแก แแแกแแจแแแแแ แจแแกแแชแแแแแแ แแแฃแจแแแ แจแแแแแแ แแ แซแแแแแ
$ setenforce 0
แแ แ แแแแแแก แจแแชแแแ permissive on แแฆแแกแ แฃแแแแก, แจแแแกแ แฃแแแ
$ setenforce 1
แแฃ แแฅแแแ แแญแแ แแแแแ แแแแแแแแ แแแแแ แแแ SELinux, แแแจแแ แแก แจแแแซแแแแ แแแแแแแแก แแฎแแแแ แแแแคแแแฃแ แแชแแแก แคแแแแแก แกแแจแฃแแแแแแ
$ vi /etc/selinux/config
แแแแแ แแแแกแแแแก แจแแชแแแแแ SELINUX แแแ แแแแขแ แ แจแแแแแแแแแ แแ:
SELINUX=disabled
SELinux-แแก แแแงแแแแแ
แแแแแแฃแแ แคแแแแ แแ แแ แแชแแกแ แแแแแจแแฃแแแ SELinux แแแแขแแฅแกแขแแ, แ แแแแแแช แจแแแชแแแก แแแแแขแแแแ แแแคแแ แแแชแแแก, แ แแแแ แแชแแ แแแแฎแแแ แแแแแ, แ แแแ, แขแแแ แแ แ.แจ. แแฃ แแแ แแแแแ แฉแแ แแแแ SELinux-แก, แฏแแ แแแแแฌแแแ แแแแขแแฅแกแขแแก แแ แแขแแแแขแแแแก แแแแคแแแฃแ แแชแแ. แแขแแแแขแแแแกแ แแ แแแแขแแฅแกแขแแก แแแแแญแแแแก แแ แแชแแกแ แชแแแแแแแ แ แแแแ แช แขแแแ. แแแ แแแ แแแแก แแแกแแฌแงแแแแ, แแแแคแแแฃแ แแชแแแก แคแแแแจแ แฉแแแ แแชแแแแ แ แแแแแก permissive.
$ vi /etc/selinux/config
SELINUX=permissive
แ แแแแแแก แแแงแแแแแแก แจแแแแแ permissiveแจแแฅแแแแแ แชแแ แแแแ แคแแ แฃแแ แคแแแแ root-แจแ แกแแฎแแแแ autorelabel
$ touch /.autorelabel
แแ แแแแแขแแแ แแแ แแแแแแฃแขแแ แ
$ init 6
แจแแแแจแแแ: แฉแแแ แแแงแแแแแ แ แแแแแก permissive แแแ แแแ แแแแกแแแแก, แ แแแแแแก แแแแแงแแแแแแก แจแแแแแ แแฆแแกแ แฃแแแแก แจแแแซแแแแ แแแแแแฌแแแแก แกแแกแขแแแแก แแแแ แแ แแแแแขแแแ แแแแกแแก.
แแ แแแแ แแแฃแแแ, แแฃ แแแแแแขแแแ แแแ แฉแแ แแแแ แ แแแแแแแ แคแแแแแ, แแแ แแแ แแแแก แแแ แแแแฃแแ แแ แ แกแญแแ แแแแ. แแแ แแแ แแแแก แแแกแ แฃแแแแแก แแ แแฅแแแแ แกแแกแขแแแแก แฉแแขแแแ แแแแก แจแแแแแ, แจแแแแซแแแแ แแแแแฎแแแแแ แแแแคแแแฃแ แแชแแแก แคแแแแแ แแ แแแแงแแแแ แ แแแแแ แแฆแแกแ แฃแแแแกแแ แแกแแแ แแแฃแจแแแ:
$ setenforce 1
แแฅแแแ แแฎแแ แฌแแ แแแขแแแแ แฉแแ แแแ SELinux แแฅแแแแก แแแแแแฃแขแแ แจแ.
แแแ แแแแก แแแแแขแแ แแแแ
แแฅแแแ แจแแแซแแแแ แจแแแฎแแแแ แแแ แแแ แแแแฃแแ แจแแชแแแแแแ แแแ แแแ แแแแกแแก แแ แกแแกแขแแแแก แแฃแจแแแแแกแแก. แแแแก แจแแกแแแแฌแแแแแแ, แแฃแจแแแแก แแฃ แแ แ แแฅแแแแ SELinux แกแฌแแ แแ แแ แแ แแแแแแแก แแฃ แแ แ แฌแแแแแแก แ แแแแแแแ แแแ แขแแ, แแแแแแแชแแแแ แแ แ.แจ., แแฅแแแ แฃแแแ แแแแแฎแแแแ แแฃแ แแแแแแก. SELinux-แแก แแฃแ แแแแ แแแแแแ แแแแก /var/log/audit/audit.log
, แแแแ แแ แแฅแแแ แแ แแญแแ แแแแแ แแแแแแแ แฌแแแแแฎแแ แจแแชแแแแแแแก แกแแแแแแแแแ. แจแแชแแแแแแแก แกแแแแแแแแแ แจแแแแซแแแแ แแแแแแงแแแแ audit2why แฃแขแแแแขแ. แแแฃแจแแแ แจแแแแแแ แแ แซแแแแแ:
$ audit2why < /var/log/audit/audit.log
แจแแแแแแ, แแฅแแแ แแแแฆแแแ แจแแชแแแแแแแก แฉแแแแแแแแแแก. แแฃ แแฃแ แแแแจแ แแ แแงแ แจแแชแแแแแแ, แแแจแแ แจแแขแงแแแแแแแแแ แแ แแแแแฉแแแแแ.
แแแแแแแแ แแแแก SELinux แแแแแขแแแแก แแแแคแแแฃแ แแชแแ
SELinux แแแแแขแแแ แแ แแก แฌแแกแแแแก แแแแ แแแ, แ แแแแแแช แแแ แแแแก SELinux แฃแกแแคแ แแฎแแแแแก แแแฅแแแแแแก. แแแแแขแแแ แแแแกแแแฆแแ แแแก แฌแแกแแแแก แแ แแแแแแแแแก แแแแแ แแขแฃแแ แแแ แแแแกแแแแก. แแฎแแ แฉแแแ แแแกแฌแแแแแ แ แแแแ แแแแแแแแคแแแฃแ แแ แแ แแแแแขแแแแแ แแแ แซแแแฃแ แกแแ แแแกแแแแ แฌแแแแแแก แแแกแแจแแแแแ.
1. แแแแแแฃแ แ แแแแจแแแแแแแแแ (แแแแ แแแแแแแ)
แแแแแแ แแแแแแแ (แแฃแแแแแแแ) แกแแจแฃแแแแแแก แแแซแแแแ แจแแชแแแแแ แแแแแขแแแแก แแแฌแแแแแ แแแจแแแแแก แแ แแก, แแฎแแแ แแแแแขแแแแก แจแแฅแแแแก แแแ แแจแ. แแกแแแ แกแแจแฃแแแแแแก แแแซแแแแ แแแแแฎแแ แชแแแแแ แชแแแแแแแแแ SELinux-แแก แแแแแขแแแแก แแแแแขแแแ แแแแก แแ แแแแแขแแแ แแแแก แแแ แแจแ.
แแแแแแแแ
แแแฅแแแ, แแแแแแ แแแแฃแแแแ แแ แแแแฎแแแ แแแแแก แแแแแแ แ แแแ แแฅแขแแ แแ FTP แฌแแแแแฎแแแก/แฉแแฌแแ แแก แกแแจแฃแแแแแแ แแ แฃแแแ แแแแฃแแแแ แแ, แแแแ แแ แ แแชแ แแชแแแแแแ แแแกแแ แฌแแแแแแก, แแแ แแคแแ แก แแฎแแแแแ. แแก แแแแขแแ แฎแแแแ, แ แแ SELinux แแแแแขแแแ แฎแแแก แฃแจแแแก FTP แกแแ แแแ แก แฌแแแแแแฎแแก แแ แฉแแฌแแ แแก แแแแฎแแแ แแแแแก แแแแแแ แแแ แแฅแขแแ แแแจแ. แฉแแแ แฃแแแ แจแแแชแแแแแ แแแแแขแแแ แแกแ, แ แแ FTP แกแแ แแแ แก แจแแแซแแแก แกแแฎแแแก แแแ แแฅแขแแ แแแแแ แฌแแแแแ. แแแแฎแแ, แแ แแก แแฃ แแ แ แแแแกแแแแก แ แแแแ แแแแแแ แแแแแ แแแแ
$ semanage boolean -l
แแก แแ แซแแแแแ แฉแแแแแแแแก แฎแแแแแกแแฌแแแแแ แแแแแแ แแแแแแแก แแแแ แแแแแแแแ แ แแแแแแแ แแแแแ (แฉแแ แแฃแแ แแ แแแแแ แแฃแแ) แแ แแฆแฌแแ แแแแแแ. แแฅแแแ แจแแแแซแแแแ แแแฎแแแฌแแ แแฅแแแแ แซแแแแ grep-แแก แแแแแขแแแแ, แ แแ แแแแแแ แแฎแแแแ ftp-แแก แจแแแแแแแ:
$ semanage boolean -l | grep ftp
แแ แแฅแแแ แแแฎแแแ แจแแแแแแก
ftp_home_dir -> off Allow ftp to read & write file in user home directory
แแก แแแแแแ แแแแแ แแแแแ แแฃแแแ, แแแแขแแ แฉแแแ แแแก แฉแแแ แแแแ setsebool $ setsebool ftp_home_dir on
แแฎแแ แฉแแแแ ftp แแแแแแ แจแแซแแแแก แแแแฎแแแ แแแแแก แกแแฎแแแก แแแ แแฅแขแแ แแแจแ แฌแแแแแแก.
แจแแแแจแแแ: แแฅแแแ แแกแแแ แจแแแแซแแแแ แแแแฆแแ แฎแแแแแกแแฌแแแแแ แแแแแแ แแแแแแแแก แกแแ แแฆแฌแแ แแก แแแ แแจแ getsebool -a
2. แแแ แแแงแแแ แแ แแแแขแแฅแกแขแ
แแก แแ แแก SELinux แแแแแขแแแแก แแแแฎแแ แชแแแแแแแก แงแแแแแแ แแแแ แชแแแแแฃแแ แแแ. แงแแแแ แคแแแแ, แกแแฅแแฆแแแแ, แแ แแชแแกแ แแ แแแ แขแ แแฆแแแแจแแแแ SELinux แแแแขแแฅแกแขแแ:
- แคแแแแแแแกแแแแก แแ แกแแฅแแฆแแแแแแแแกแแแแก, แแแแแแแแ แแแแฎแแแ แ แแแแ แช แแแคแแ แแแแแฃแแ แแขแ แแแฃแขแแแ แคแแแแฃแ แกแแกแขแแแแจแ แแ แแแแ แแแฎแแ แจแแกแแซแแแแแแแ แจแแแแแแ แแ แซแแแแแแ:
$ ls -Z /etc/httpd
- แแ แแชแแกแแแแกแ แแ แแแ แขแแแแกแแแแก, แแแ แแแ แแแแก แแแ แแแแก แแแ แแแ แแ แจแแแแซแแแแ แแฎแแแแ แแก แแแแแแแแ แจแแแแแแแแแ แแ:
แแ แแชแแกแ
$ ps โauxZ | grep httpd
แแแ แขแ
$ netstat -anpZ | grep httpd
แแแแแแแแ
แแฎแแ แแแแแ แจแแแฎแแแแ แแแแแแแแก, แ แแแ แฃแแแ แแแแแแแ แแขแแแแขแแแ แแ แแแแขแแฅแกแขแ. แแแฅแแแ, แแแแฅแแก แแแ แกแแ แแแ แ, แ แแแแแแช แแแ แแฅแขแแ แแแก แแแชแแแแ /var/www/html/ ะธัะฟะพะปัะทัะตั /home/dan/html/
. SELinux แฉแแแแแแก แแแแก แแแแแขแแแแก แแแ แฆแแแแแ แแ แแฅแแแ แแแ แจแแซแแแแ แแฅแแแแ แแแ แแแแ แแแแแก แแแฎแแแก. แแก แแแแขแแ แฎแแแแ, แ แแ แฉแแแ แแ แแแแแงแแแแ แฃแกแแคแ แแฎแแแแแก แแแแขแแฅแกแขแ, แ แแแแแแช แแแแแแจแแ แแแฃแแแ HTML แคแแแแแแแแ. แฃแกแแคแ แแฎแแแแแก แแแแฃแแแกแฎแแแแ แแแแขแแฅแกแขแแก แกแแแแฎแแแแ แแแแแแงแแแแ แจแแแแแแ แแ แซแแแแแ:
$ ls โlz /var/www/html
-rw-rโrโ. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/
แแฅ แแแแแฆแแ httpd_sys_content_t
แ แแแแ แช html แคแแแแแแแก แแแแขแแฅแกแขแ. แฉแแแ แฃแแแ แแแแแงแแแแ แแก แฃแกแแคแ แแฎแแแแแก แแแแขแแฅแกแขแ แฉแแแแ แแแแแแแแแแแ แแแ แแฅแขแแ แแแกแแแแก, แ แแแแแกแแช แแแแแแแ แแฅแแก แจแแแแแแ แแแแขแแฅแกแขแ:
-rw-rโrโ. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/
แแแขแแ แแแขแแฃแแ แแ แซแแแแแ แคแแแแแก แแ แแแ แแฅแขแแ แแแก แฃแกแแคแ แแฎแแแแแก แแแแขแแฅแกแขแแก แจแแกแแแแฌแแแแแแ:
$ semanage fcontext -l | grep '/var/www'
แฉแแแ แแกแแแ แแแแแแแงแแแแแ semanage-แก แแแแขแแฅแกแขแแก แจแแกแแชแแแแแแ, แ แแแแกแแช แแแแแแแ แฃแกแแคแ แแฎแแแแแก แกแฌแแ แแแแขแแฅแกแขแก. /home/dan/html-แแก แแแแขแแฅแกแขแแก แจแแกแแชแแแแแแ, แแแฃแจแแแ แจแแแแแแ แแ แซแแแแแแแ:
$ semanage fcontext -a -t httpd_sys_content_t โ/home/dan/html(/.*)?โ
$ semanage fcontext -l | grep โ/home/dan/htmlโ
/home/dan/html(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
$ restorecon -Rv /home/dan/html
แแแแขแแฅแกแขแแก แจแแชแแแแก แจแแแแแ semanage-แแก แแแแแงแแแแแแ, restorecon แแ แซแแแแแ แฉแแขแแแ แแแแก แแแแฃแแแกแฎแแแ แแแแขแแฅแกแขแก แคแแแแแแแกแ แแ แแแ แแฅแขแแ แแแแแกแแแแก. แฉแแแแ แแแ แกแแ แแแ แ แแฎแแ แจแแซแแแแก แคแแแแแแแก แฌแแแแแฎแแแก แกแแฅแแฆแแแแแแแ /home/dan/html
แ แแแแแ แแ แกแแฅแแฆแแแแแก แฃแกแแคแ แแฎแแแแแก แแแแขแแฅแกแขแ แจแแแชแแแแ httpd_sys_content_t
.
3. แจแแฅแแแแแ แแแแแแแแ แแแ แแแแแขแแแ
แจแแแซแแแแ แแงแแก แกแแขแฃแแชแแแแ, แ แแแแกแแช แแแแแแฆแแแจแแฃแแ แแแแแแแแ แแ แแแแแแแแแแแแ แแ แแแแฆแแแ แจแแชแแแแแแก (avc/แฃแแ แ) audit.log-แจแ. แ แแแแกแแช แแก แแแฎแแแแ, แแฅแแแ แฃแแแ แจแแฅแแแแ แแแแแแแแ แแแ แแแแแขแแแ. แแฅแแแ แจแแแแซแแแแ แแแแแแ แงแแแแ แจแแชแแแแ audit2why-แก แแแแแงแแแแแแ, แ แแแแ แช แแแแแ แแฆแฌแแ แแแ.
แแฅแแแ แจแแแแซแแแแ แจแแฅแแแแ แแแแแแแแ แแแ แแแแแขแแแ แจแแชแแแแแแแก แแแกแแแแแ แแแแแ. แแแแแแแแแ, แฉแแแ แแแฆแแแ แจแแชแแแแแก, แ แแแแแแช แแแแแแจแแ แแแฃแแแ httpd-แแแ (apache) แแ smbd-แแแ (samba), แฉแแแ แแแฆแแแ แจแแชแแแแแแก แแ แแฅแแแแ แแแ แแแแแขแแแแก:
apache
$ grep httpd_t /var/log/audit/audit.log | audit2allow -M http_policy
samba
$ grep smbd_t /var/log/audit/audit.log | audit2allow -M smb_policy
แแฅ http_policy
ะธ smb_policy
แแ แแก แแแแแแแแ แแแ แแแแแขแแแแก แกแแฎแแแแแ, แ แแแแแแแช แฉแแแ แจแแแฅแแแแแ. แแฎแแ แฉแแแ แฃแแแ แฉแแแขแแแ แแแ แแก แจแแฅแแแแแ แแแแแแแแ แแแ แแแแแขแแแ แแแแแแแแ แ SELinux แแแแแขแแแแจแ. แแก แจแแแซแแแแ แแแแแแแแก แจแแแแแแแแแ แแ:
$ semodule โI http_policy.pp
$ semodule โI smb_policy.pp
แฉแแแแ แแแแแแแแ แแแ แฌแแกแแแ แฉแแแแขแแแ แแฃแแแ แแ แฉแแแ แแฆแแ แฃแแแ แแแแแฆแแ avc แแ denail audit.log-แจแ.
แแก แแงแ แฉแแแ แแชแแแแแแ, แแแแแฎแแแ แแ SELinux-แแก แแแแแแแจแ. แแแแแ แแแฅแแก, แ แแ แแ แกแขแแขแแแก แฌแแแแแฎแแแก แจแแแแแ แแแแก แฃแคแ แ แแแแคแแ แขแฃแแแ แแแ แซแแแแ SELinux-แแแ.
แฌแงแแ แ: www.habr.com