เบเบฒเบโเปเบโเบเบปเบโเบเบงเบฒเบกโเบเบตเปโเปเบเปโเบเบฐโเบเบฝเบกโเบชเปเบฒโเบฅเบฑเบโเบเบฑเบโเบฎเบฝเบโเบซเบผเบฑเบโเบชเบนเบโ
SELinux เบซเบผเบท Security Enhanced Linux เปเบกเปเบเบเบปเบเปเบเบเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบตเปเบเบฑเบเบเบธเบเบเบฑเบเบเบฐเบเบฒเปเบเบเบญเบปเบเบเบฒเบเบเบงเบฒเบกเบเบญเบเปเบเปเบซเปเบเบเบฒเบเบชเบฐเบซเบฐเบฅเบฑเบ (NSA) เปเบเบทเปเบญเบเปเบญเบเบเบฑเบเบเบฒเบเบเบธเบเบฅเบธเบเบเบตเปเปเบเบฑเบเบญเบฑเบเบเบฐเบฅเบฒเบ. เบกเบฑเบเบเบฐเบเบดเบเบฑเบเปเบเบเบเบฑเบเบเบฑเบ (เบซเบผเบทเบเบฑเบเบเบฑเบ) เบเบฒเบเบเบงเบเบเบธเบกเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบ (เบเบฒเบชเบฒเบญเบฑเบเบเบดเบ Mandatory Access Control, MAC) เบขเบนเปเปเบเบดเบเบชเบธเบเบเบญเบเบฎเบนเบเปเบเบเบเบฒเบเบเบฑเบเบชเบดเบเปเบ (เบซเบผเบทเปเบฅเบทเบญเบ) เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง (เบเบฒเบชเบฒเบญเบฑเบเบเบดเบ Discretionary Access Control, DAC), เบเบฑเปเบเปเบกเปเบ, เบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเปเบญเปเบฒเบ, เบเบฝเบ, เบเบฐเบเบดเบเบฑเบ.
SELinux เบกเบตเบชเบฒเบกเปเบซเบกเบ:
- เบเบฒเบเบเบฑเบเบเบฑเบเปเบเป โ เบเบฒเบเบเบฐเบเบดเปเบชเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเบเบญเบตเบเปเบชเปเบเบปเบเบฅเบฐเบเบฝเบเบเบฐเปเบเบเบฒเบ.
- เบญเบฐเบเบธเบเบฒเบ โ เบเบฒเบโเบฎเบฑเบโเบชเบฒโเบเบฑเบโเบเบถเบโเบเบญเบโเบเบฒเบโเบเบฐโเบเปเบฒโเบเบตเปโเบฅเบฐโเปเบกเบตเบโเบเบฐโเปเบโเบเบฒเบโ, เบเบตเปโเบเบฐโเบเบทเบโเบซเปเบฒเบกโเปเบโเบฎเบนเบโเปเบเบโเบเบฒเบโเบเบฑเบโเบเบฑเบโเปเบเปโ.
- เบเบปเบเบเบดเบเบฒเบ - เบเบดเบเบเบฒเบเปเบเปเบเบฒเบ SELinux เบขเปเบฒเบเบชเบปเบกเบเบนเบ.
เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบกเปเบเบขเบนเปเปเบ /etc/selinux/config
เบเบณเบฅเบฑเบเบเปเบฝเบเปเปเบ SELinux
เปเบเบทเปเบญเบเบญเบเบซเบฒเบฎเบนเบเปเบเบเบเบฐเบเบธเบเบฑเบ, เบเปเบฒเปเบเบตเบเบเบฒเบ
$ getenforce
เปเบเบทเปเบญเบเปเบฝเบเปเบซเบกเบเปเบเบทเปเบญเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป
$ setenforce 0
เบซเบผเบท, เบเปเบฝเบเบฎเบนเบเปเบเบเบเบฒเบ permissive เบชเบธเบ เบเบฑเบเบเบฑเบ, เบเบฐเบเบดเบเบฑเบ
$ setenforce 1
เบเปเบฒเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบดเบเบเบฒเบเปเบเปเบเบฒเบ SELinux เบขเปเบฒเบเบชเบปเบกเบเบนเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฝเบเปเบเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบเบเบเปเบฒเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒ
$ vi /etc/selinux/config
เปเบเบทเปเบญเบเบดเบเบเบฒเบเปเบเปเบเบฒเบ, เปเบซเปเบเปเบฝเบเบเบฒเบฅเบฒเบกเบดเปเบเบต SELINUX เบเบฑเปเบเบเปเปเปเบเบเบตเป:
SELINUX=disabled
เบเบฑเปเบเบเปเบฒ SELinux
เปเบเปเบฅเบฐเปเบเบฅเปเปเบฅเบฐเบเบฐเบเบงเบเบเบฒเบเบเบทเบเบซเบกเบฒเบเบเปเบงเบเบเปเบฅเบดเบเบปเบ SELinux, เปเบเบดเปเบเบเบฐเบเบญเบเบเปเบงเบเบเปเปเบกเบนเบเปเบเบตเปเบกเปเบเบตเบกเปเบเบฑเปเบ: เบเบนเปเปเบเป, เบเบปเบเบเบฒเบ, เบเบฐเปเบเบ, เปเบฅเบฐเบญเบทเปเบเป. เบเปเบฒเบเบตเปเปเบกเปเบเบเบฑเปเบเบเบณเบญเบดเบเบเบตเปเปเบเบปเปเบฒเปเบเบตเบเปเบเป SELinux, เบเปเบญเบเบญเบทเปเบเปเบปเบเปเบเบปเปเบฒเบเบฐเบเปเบญเบเบเบณเบเบปเบเบเปเบฒเบเปเบฅเบดเบเบปเบ เปเบฅเบฐเบเปเบฒเบเบเบณเบเบฑเบ. เบเบฐเบเบงเบเบเบฒเบเบกเบญเบเปเบฒเบเบเปเบฒเบเบเบณเบเบฑเบ เปเบฅเบฐเบเปเบฅเบดเบเบปเบเปเบกเปเบเปเบญเบตเปเบเบงเปเบฒเบเบฒเบเบเบดเบเปเบเบฑเบ. เปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบซเบกเบฒเบ, เปเบเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเปเบฝเบเบฎเบนเบเปเบเบเปเบเบฑเบ permissive.
$ vi /etc/selinux/config
SELINUX=permissive
เบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบซเบกเบ permissive, เบชเปเบฒเบเปเบเบฅเปเบเบตเปเปเบเบทเปเบญเบเปเบงเปเบซเบงเปเบฒเบเปเบเบปเปเบฒเบขเบนเปเปเบเบฎเบฒเบเบเบตเปเบกเบตเบเบทเป autorelabel
$ touch /.autorelabel
เปเบฅเบฐเบเบดเบเปเบเบตเบเบเบญเบกเบเบดเบงเปเบเบตเบเบทเบเปเปเป
$ init 6
เบซเบกเบฒเบเปเบซเบ: เบเบงเบเปเบฎเบปเบฒเปเบเปเปเบซเบกเบ permissive เบชเปเบฒเบฅเบฑเบเปเบเบทเปเบญเบเบซเบกเบฒเบ, เบเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเบเปเบฒเปเบเปเบฎเบนเบเปเบเบ เบเบฑเบเบเบฑเบ เบญเบฒเบเปเบฎเบฑเบเปเบซเปเบฅเบฐเบเบปเบเบเบฑเบเบเปเบญเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเบดเบเปเบเบตเบเปเปเป.
เบเปเปเบเปเบญเบเปเบเบฑเบเบซเปเบงเบเบเปเบฒเบเบฒเบเบเบฒเบงเปเบซเบผเบเบเบดเบเบขเบนเปเปเบเบเบฒเบเปเบเบฅเป, เบเบฒเบเปเบฎเบฑเบเปเบเบทเปเบญเบเปเบฒเบเปเบเปเปเบงเบฅเบฒเปเบฅเบเบฐเปเบถเปเบ. เปเบกเบทเปเบญเปเบเบทเปเบญเบเบซเบกเบฒเบเบชเปเบฒเปเบฅเบฑเบเปเบฅเบฐเบฅเบฐเบเบปเบเบเบญเบเบเปเบฒเบเบเบทเบ booted, เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบเบตเปเปเบเบฅเปเบเบฒเบเบเบฑเปเบเบเปเบฒเปเบฅเบฐเบเปเบฒเบเบปเบเปเบซเบกเบ เบเบฑเบเบเบฑเบเปเบฅเบฐโเบเบฑเบโเบเปเบฒโเปเบเบตเบโเบเบฒเบโ:
$ setenforce 1
เบเบญเบเบเบตเปเบเปเบฒเบเปเบเปเปเบเบตเบเปเบเป SELinux เปเบเบเบญเบกเบเบดเบงเปเบเบตเบเบญเบเบเปเบฒเบเบชเบณเปเบฅเบฑเบเปเบฅเปเบง.
เบเบดเบโเบเบฒเบกโเบเบงเบโเบเบฒโเบเบฑเบโเบเบถเบโ
เบเปเบฒเบเบญเบฒเบเบเบฐเปเบเปเบเบปเบเบเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบฒเบเบขเปเบฒเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบซเบกเบฒเบเบซเบผเบทเปเบเบเบฐเบเบฐเบเบตเปเบฅเบฐเบเบปเบเบเปเบฒเบฅเบฑเบเปเบฎเบฑเบเบงเบฝเบ. เปเบเบทเปเบญเบเบงเบเปเบเบดเปเบเบงเปเบฒ SELinux เบเบญเบเบเปเบฒเบเปเบฎเบฑเบเบงเบฝเบเบขเปเบฒเบเบเบทเบเบเปเบญเบเปเบฅเบฐเบเปเบฒเบกเบฑเบเบเปเปเบเบฑเบเบเบงเบฒเบเบเบฒเบเปเบเบปเปเบฒเปเบเบดเบเบเบญเบ, เปเบญเบฑเบเบเบฅเบดเปเบเบเบฑเบ, เปเบฅเบฐเบญเบทเปเบเป, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเปเบเบดเปเบเบเบฑเบเบเบถเบ. เบเบฑเบเบเบถเบ SELinux เปเบกเปเบเบขเบนเปเปเบ /var/log/audit/audit.log
, เปเบเปเบเปเบฒเบเบเปเปเบเปเบฒเปเบเบฑเบเบเปเบญเบเบญเปเบฒเบเปเบฅเบทเปเบญเบเบเบฑเบเบซเบกเบปเบเปเบเบทเปเบญเบเบญเบเบซเบฒเบเปเปเบเบดเบเบเบฒเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเป audit2why utility เปเบเบทเปเบญเบเบญเบเบซเบฒเบเปเปเบเบดเบเบเบฒเบ. เบเปเบฒเปเบเบตเบเบเบฒเบเบเปเบฒเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ audit2why < /var/log/audit/audit.log
เบเบฑเปเบเบเบฑเปเบ, เบเปเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบเบงเบฒเบกเบเบดเบเบเบฒเบ. เบเปเบฒเบเปเปเบกเบตเบเปเปเบเบดเบเบเบฒเบเปเบเบเบฑเบเบเบถเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฐเบเปเปเบชเบฐเปเบเบเบเปเปเบเบงเบฒเบกเปเบเป.
เบเบฒเบเบเบฑเปเบเบเปเบฒเบเบฐเปเบเบเบฒเบ SELinux
เบเบฐเปเบเบเบฒเบ SELinux เปเบกเปเบเบเบธเบเบเบญเบเบเบปเบเบฅเบฐเบเบฝเบเบเบตเปเบเบงเบเบเบธเบกเบเบปเบเปเบเบเบงเบฒเบกเบเบญเบเปเบ SELinux. เบเบฐเปเบเบเบฒเบเบเปเบฒเบเบปเบเบเบธเบเบเบญเบเบเบปเบเบฅเบฐเบเบฝเบเบชเปเบฒเบฅเบฑเบเบชเบฐเบเบฒเบเปเบงเบเบฅเปเบญเบกเบชเบฐเปเบเบฒเบฐ. เปเบเบเบฑเบเบเบธเบเบฑเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบฎเบฝเบเบฎเบนเปเบงเบดเบเบตเบเบฒเบเบเปเบฒเบเบปเบเบเบฐเปเบเบเบฒเบเปเบเบทเปเบญเบญเบฐเบเบธเบเบฒเบเปเบซเปเปเบเบปเปเบฒเปเบเบดเบเบเบฒเบเบเปเบฅเบดเบเบฒเบเบเบตเปเบซเปเบฒเบก.
1. เบเปเบฒเบเบฒเบกเปเบซเบเบเบปเบ (เบชเบฐเบงเบดเบ)
เบชเบฐเบงเบดเบ (booleans) เบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเบเปเบฝเบเบเบฒเบเบชเปเบงเบเบเบญเบเบเบฐเปเบเบเบฒเบเปเบเปเบงเบฅเบฒเปเบฅเปเบ, เปเบเบเบเปเปเบเปเบญเบเบชเปเบฒเบเบเบฐเปเบเบเบฒเบเปเบซเบกเป. เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเปเบฒเบเปเบฎเบฑเบเบเบฒเบเบเปเบฝเบเปเบเบเปเบเบเบเปเปเบกเบตเบเบฒเบ rebooting เบซเบผเบท recompiling เบเบฐเปเบเบเบฒเบ 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 daemon เบเบญเบเบเบงเบเปเบฎเบปเบฒเบเบฐเบชเบฒเบกเบฒเบเปเบเบปเปเบฒเปเบเบดเบเปเบเปเบฅเบเบฐเบเปเบฅเบตเปเบฎเบทเบญเบเบเบญเบเบเบนเปเปเบเปเปเบเป.
เบซเบกเบฒเบเปเบซเบ: เบเปเบฒเบเบเบฑเบเบชเบฒเบกเบฒเบเปเบเปเบฎเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบชเบฐเบซเบงเบดเบเบเบตเปเบกเบตเบขเบนเปเปเบเบเบเปเปเบกเบตเบเปเบฒเบญเบฐเบเบดเบเบฒเบเปเบเบเบเบฒเบเปเบฎเบฑเบ getsebool -a
2. เบเปเบฒเบเบเบณเบเบฑเบ เปเบฅเบฐ เบเปเบฅเบดเบเบปเบ
เบเบตเปเปเบกเปเบเบงเบดเบเบตเบเบปเปเบงเปเบเบเบตเปเบชเบธเบเปเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฐเปเบเบเบฒเบ SELinux. เบเบธเบเปเปเบเบฅเป, เปเบเบเปเบเบต, เบเบฐเบเบงเบเบเบฒเบ เปเบฅเบฐเบเบญเบเบเบฐเบเบทเบเปเบฒเบเบเปเบงเบเบเปเบฅเบดเบเบปเบ SELinux:
- เบชเบณเบฅเบฑเบเปเบเบฅเป เปเบฅเบฐเปเบเบเปเบเบตเปเบเปเบฒเบเป, เบเปเบฒเบเบเบณเบเบฑเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบเบฑเบเบเบธเบเบฅเบฑเบเบชเบฐเบเบฐเบเบฐเบซเบเบฒเบเบขเบนเปเปเบเบฅเบฐเบเบปเบเปเบเบฅเป เปเบฅเบฐเบชเบฒเบกเบฒเบเปเบเบดเปเบเปเบเปเบเปเบงเบเบเบณเบชเบฑเปเบเบเปเปเปเบเบเบตเป:
$ ls -Z /etc/httpd
- เบชเปเบฒเบฅเบฑเบเบเบฐเบเบงเบเบเบฒเบเปเบฅเบฐเบเบญเบ, เบเบฒเบเบเบดเบเบชเบฐเบซเบผเบฒเบเบเบทเบเบเบฑเบเบเบฒเบเปเบเบ kernel, เปเบฅเบฐเบเปเบฒเบเบชเบฒเบกเบฒเบเปเบเบดเปเบเบเปเบฒเบเบเบทเปเปเบซเบผเบปเปเบฒเบเบตเปเบเบฑเปเบเบเปเปเปเบเบเบตเป:
เบเบฐเบเบงเบเบเบฒเบ
$ 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/denial) เปเบ audit.log. เปเบกเบทเปเบญเบชเบดเปเบเบเบฑเปเบเบเปเบฒเบงเปเบเบตเบเบเบถเปเบ, เบเปเบฒเบเบเปเบฒเปเบเบฑเบเบเปเบญเบเบชเปเบฒเบเบเบฐเปเบเบเบฒเบเบเปเบญเบเบเบดเปเบ. เบเปเบฒเบเบชเบฒเบกเบฒเบเบเบญเบเบซเบฒเบเปเปเบเบดเบเบเบฒเบเบเบฑเบเบซเบกเบปเบเปเบเบเปเบเป audit2why, เบเบฑเปเบเบเบตเปเปเบเปเบญเบฐเบเบดเบเบฒเบเบเปเบฒเบเปเบเบดเบ.
เบเปเบฒเบเบชเบฒเบกเบฒเบเบชเปเบฒเบเบเบฐเปเบเบเบฒเบเบเปเบญเบเบเบดเปเบเปเบเบทเปเบญเปเบเปเปเบเบเปเปเบเบดเบเบเบฒเบ. เบเบปเบงเบขเปเบฒเบ, เบเบงเบเปเบฎเบปเบฒเปเบเปเบฎเบฑเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบ httpd (apache) เบซเบผเบท smbd (samba), เบเบงเบเปเบฎเบปเบฒ grep เบเปเปเบเบดเบเบเบฒเบเปเบฅเบฐเบชเปเบฒเบเบเบฐเปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบงเบเปเบเบปเบฒ:
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