เช
เชญเซเชฏเชพเชธเชเซเชฐเชฎเชจเชพ เชตเชฟเชฆเซเชฏเชพเชฐเซเชฅเซเช เชฎเชพเชเซ เชคเซเชฏเชพเชฐ เชเชฐเซเชฒ เชฒเซเชเชจเซ เช
เชจเซเชตเชพเชฆ
SELinux เช
เชฅเชตเชพ เชธเซเชฐเชเซเชทเชพ เชเชจเซเชจเชค Linux เช เชฆเซเชทเชฟเชค เชเซเชธเชฃเชเซเชฐเซเชจเซ เชฐเซเชเชตเชพ เชฎเชพเชเซ เชฏเซเชเชธ เชจเซเชถเชจเชฒ เชธเชฟเชเซเชฏเซเชฐเชฟเชเซ เชเชเชจเซเชธเซ (NSA) เชฆเซเชตเชพเชฐเชพ เชตเชฟเชเชธเชพเชตเชตเชพเชฎเชพเช เชเชตเซเชฒ เชเชจเซเชจเชค เชเชเซเชธเซเชธ เชเชเชเซเชฐเซเชฒ เชฎเชฟเชเซเชจเชฟเชเชฎ เชเซ. เชคเซ เชซเชฐเชเชฟเชฏเชพเชค (เช
เชฅเชตเชพ เชซเชฐเชเชฟเชฏเชพเชค) เชเชเซเชธเซเชธ เชเชเชเซเชฐเซเชฒ เชฎเซเชกเชฒ (เช
เชเชเซเชฐเซเชเซ เชซเชฐเชเชฟเชฏเชพเชค เชเชเซเชธเซเชธ เชเชเชเซเชฐเซเชฒ, MAC) เชนเชพเชฒเชจเชพ เชตเชฟเชตเซเชเชพเชงเซเชจ (เช
เชฅเชตเชพ เชชเชธเชเชฆเชเซเชฏเซเชเซเชค) เชฎเซเชกเชฒ (เช
เชเชเซเชฐเซเชเซ เชกเชฟเชธเซเชเซเชฐเชฟเชถเชจเชฐเซ เชเชเซเชธเซเชธ เชเชเชเซเชฐเซเชฒ, DAC) เชจเซ เชเซเช เชชเชฐ เชฒเชพเชเซ เชเชฐเซ เชเซ, เชเชเชฒเซ เชเซ เชตเชพเชเชเชตเชพ, เชฒเชเชตเชพ, เชเชฒเชพเชตเชตเชพเชจเซ เชชเชฐเชตเชพเชจเชเซเช.
SELinux เชฎเชพเช เชคเซเชฐเชฃ เชฎเซเชก เชเซ:
- เช เชฎเชฒ - เชจเซเชคเชฟ เชจเชฟเชฏเชฎเซเชจเชพ เชเชงเชพเชฐเซ เชเชเซเชธเซเชธ เชจเชเชพเชฐ.
- เช เชจเซเชฎเชคเชฟ เชเชชเชจเชพเชฐเซเช - เชจเซเชคเชฟเชจเซเช เชเชฒเซเชฒเชเชเชจ เชเชฐเชคเซ เชเซเชฐเชฟเชฏเชพเชเชจเซ เชฒเซเช เชฐเชพเชเชตเซ, เชเซ เช เชฎเชฒเซเชเชฐเชฃ เชฎเซเชกเชฎเชพเช เชชเซเชฐเชคเชฟเชฌเชเชงเชฟเชค เชนเชถเซ.
- เช เชชเชเช - SELinux เชจเซเช เชธเชเชชเซเชฐเซเชฃ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ.
เชฎเซเชณเชญเซเชค เชฐเซเชคเซ เชธเซเชเชฟเชเชเซเชธเชฎเชพเช เชเซ /etc/selinux/config
SELinux เชฎเซเชกเซเชธ เชฌเชฆเชฒเซ เชฐเชนเซเชฏเชพ เชเซเช
เชตเชฐเซเชคเชฎเชพเชจ เชฎเซเชก เชถเซเชงเชตเชพ เชฎเชพเชเซ, เชเชฒเชพเชตเซ
$ getenforce
เชฎเซเชกเชจเซ เชชเชฐเชตเชพเชจเชเซเชฎเชพเช เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ เชจเซเชเซเชจเซ เชเชฆเซเชถ เชเชฒเชพเชตเซ
$ setenforce 0
เช เชฅเชตเชพ, เชฅเซ เชฎเซเชก เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ เช เชจเซเชฎเชคเชฟ เชชเชฐ เช เชฎเชฒ, เชเชฒเชพเชตเซ
$ setenforce 1
เชเซ เชคเชฎเชพเชฐเซ SELinux เชจเซ เชธเชเชชเซเชฐเซเชฃเชชเชฃเซ เชจเชฟเชทเซเชเซเชฐเชฟเชฏ เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชนเซเชฏ, เชคเซ เช เชซเชเซเชค เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชฆเซเชตเชพเชฐเชพ เช เชเชฐเซ เชถเชเชพเชฏ เชเซ
$ vi /etc/selinux/config
เช เชเซเชทเชฎ เชเชฐเชตเชพ เชฎเชพเชเซ, เชจเซเชเซ เชชเซเชฐเชฎเชพเชฃเซ SELINUX เชชเชฐเชฟเชฎเชพเชฃ เชฌเชฆเชฒเซ:
SELINUX=disabled
SELinux เชธเซเช เชเชฐเซ เชฐเชนเซเชฏเซเช เชเซ
เชฆเชฐเซเช เชซเชพเชเชฒ เช เชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ SELinux เชธเชเชฆเชฐเซเชญ เชธเชพเชฅเซ เชเชฟเชนเซเชจเชฟเชค เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ, เชเซเชฎเชพเช เชตเชงเชพเชฐเชพเชจเซ เชฎเชพเชนเชฟเชคเซ เชเซเชฎ เชเซ เชตเชชเชฐเชพเชถเชเชฐเซเชคเชพ, เชญเซเชฎเชฟเชเชพ, เชชเซเชฐเชเชพเชฐ เชตเชเซเชฐเซเชจเซ เชธเชฎเชพเชตเซเชถ เชฅเชพเชฏ เชเซ. เชเซ เช เชคเชฎเชพเชฐเซ เชชเซเชฐเชฅเชฎ เชตเชเชค SELinux เชธเชเซเชฐเชฟเชฏ เชเชฐเซ เชฐเชนเซเชฏเชพ เชนเซเชฏ, เชคเซ เชคเชฎเชพเชฐเซ เชชเชนเซเชฒเชพ เชธเชเชฆเชฐเซเชญ เช เชจเซ เชฒเซเชฌเชฒเซเชธ เชฐเซเชชเชฐเซเชเชพเชเชเชฟเชค เชเชฐเชตเชพเชจเซ เชเชฐเซเชฐ เชชเชกเชถเซ. เชฒเซเชฌเชฒเซเชธ เช เชจเซ เชธเชเชฆเชฐเซเชญ เชธเซเชเชชเชตเชพเชจเซ เชชเซเชฐเชเซเชฐเชฟเชฏเชพเชจเซ เชเซเชเชฟเชเช เชคเชฐเซเชเซ เชเชณเชเชตเชพเชฎเชพเช เชเชตเซ เชเซ. เชฎเชพเชฐเซเชเชฟเชเช เชถเชฐเซ เชเชฐเชตเชพ เชฎเชพเชเซ, เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒเชฎเชพเช เช เชฎเซ เชฎเซเชกเชจเซ เชเชฎเชพเช เชฌเชฆเชฒเซเช เชเซเช เช เชจเซเชฎเชคเชฟ.
$ vi /etc/selinux/config
SELINUX=permissive
เชฎเซเชก เชธเซเช เชเชฐเซเชฏเชพ เชชเชเซ เช
เชจเซเชฎเชคเชฟ, เชจเชพเชฎ เชธเชพเชฅเซ เชฐเซเชเชฎเชพเช เชเชพเชฒเซ เชเซเชชเชพเชฏเซเชฒ เชซเชพเชเชฒ เชฌเชจเชพเชตเซ autorelabel
$ touch /.autorelabel
เช เชจเซ เชเซเชฎเซเชชเซเชฏเซเชเชฐ เชฐเซเชธเซเชเชพเชฐเซเช เชเชฐเซ
$ init 6
เชจเซเชเชง: เช เชฎเซ เชฎเซเชกเชจเซ เชเชชเชฏเซเช เชเชฐเซเช เชเซเช เช เชจเซเชฎเชคเชฟ เชฎเชพเชฐเซเชเชฟเชเช เชฎเชพเชเซ, เชฎเซเชกเชจเชพ เชเชชเชฏเซเชเชฅเซ เช เชฎเชฒ เชฐเซเชฌเซเช เชฆเชฐเชฎเชฟเชฏเชพเชจ เชธเชฟเชธเซเชเชฎ เชเซเชฐเซเชถ เชฅเชตเชพเชจเซเช เชเชพเชฐเชฃ เชฌเชจเซ เชถเชเซ เชเซ.
เชเซ เชกเชพเชเชจเชฒเซเชก เชเซเชเชฒเซเช เชซเชพเชเชฒ เชชเชฐ เช เชเชเซ เชเชพเชฏ เชคเซ เชเชฟเชเชคเชพ เชเชฐเชถเซ เชจเชนเซเช, เชฎเชพเชฐเซเชเชฟเชเชเชฎเชพเช เชฅเซเชกเซ เชธเชฎเชฏ เชฒเชพเชเซ เชเซ. เชเชเชตเชพเชฐ เชฎเชพเชฐเซเชเชฟเชเช เชชเซเชฐเซเชฃ เชฅเช เชเชพเชฏ เช เชจเซ เชคเชฎเชพเชฐเซ เชธเชฟเชธเซเชเชฎ เชฌเซเช เชฅเช เชเชพเชฏ, เชคเชฎเซ เชฐเซเชชเชฐเซเชเชพเชเชเชจ เชซเชพเชเชฒ เชชเชฐ เชเชเชจเซ เชฎเซเชก เชธเซเช เชเชฐเซ เชถเชเซ เชเซ เช เชฎเชฒเช เชจเซ เชเชฒเชพเชตเซ:
$ 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
เช เชเชฆเซเชถ เชเชชเชฒเชฌเซเชง เชธเซเชตเซเชเซเชจเซ เชคเซเชฎเชจเซ เชตเชฐเซเชคเชฎเชพเชจ เชธเซเชฅเชฟเชคเชฟ (เชเชพเชฒเซ เช เชฅเชตเชพ เชฌเชเชง) เช เชจเซ เชตเชฐเซเชฃเชจ เชธเชพเชฅเซ เชธเซเชเชฟเชฌเชฆเซเชง เชเชฐเชถเซ. เชคเชฎเซ เชซเชเซเชค ftp-เชซเชเซเชค เชชเชฐเชฟเชฃเชพเชฎเซ เชถเซเชงเชตเชพ เชฎเชพเชเซ grep เชเชฎเซเชฐเซเชจเซ เชคเชฎเชพเชฐเซ เชถเซเชงเชจเซ เชธเซเชงเชพเชฐเซ เชถเชเซ เชเซ:
$ 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'
เชเชเชตเชพเชฐ เช เชฎเชจเซ เชฏเซเชเซเชฏ เชธเซเชฐเชเซเชทเชพ เชธเชเชฆเชฐเซเชญ เชฎเชณเซ เชเชพเชฏ เชชเชเซ เช เชฎเซ เชธเชเชฆเชฐเซเชญ เชฌเชฆเชฒเชตเชพ เชฎเชพเชเซ เชชเชฃ เชธเซเชฎเซเชจเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชถเซเช. /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
เชธเซเชฎเซเชจเซเชเชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชธเชเชฆเชฐเซเชญ เชฌเชฆเชฒเชพเชฏเชพ เชชเชเซ, เชฐเซเชธเซเชเซเชฐเชเซเชจ เชเชฆเซเชถ เชซเชพเชเชฒเซ เช
เชจเซ เชกเชฟเชฐเซเชเซเชเชฐเซเช เชฎเชพเชเซ เชกเชฟเชซเซเชฒเซเช เชธเชเชฆเชฐเซเชญ เชฒเซเชก เชเชฐเชถเซ. เช
เชฎเชพเชฐเซเช เชตเซเชฌ เชธเชฐเซเชตเชฐ เชนเชตเซ เชซเซเชฒเซเชกเชฐเชฎเชพเชเชฅเซ เชซเชพเชเชฒเซ เชตเชพเชเชเซ เชถเชเชถเซ /home/dan/html
เชเชพเชฐเชฃ เชเซ เช เชซเซเชฒเซเชกเชฐ เชฎเชพเชเซ เชธเซเชฐเชเซเชทเชพ เชธเชเชฆเชฐเซเชญเชฎเชพเช เชฌเชฆเชฒเชพเช เชเชฏเซ เชเซ httpd_sys_content_t
.
3. เชธเซเชฅเชพเชจเชฟเช เชจเซเชคเชฟเช เชฌเชจเชพเชตเซ
เชเชตเซ เชชเชฐเชฟเชธเซเชฅเชฟเชคเชฟเช เชนเซเช เชถเชเซ เชเซ เชเซ เชเซเชฏเชพเช เชเชชเชฐเซเชเซเชค เชชเชฆเซเชงเชคเชฟเช เชคเชฎเชพเชฐเชพ เชฎเชพเชเซ เชเซเช เชเชพเชฎเชจเซ เชจเชฅเซ เช เชจเซ เชคเชฎเชจเซ audit.log เชฎเชพเช เชญเซเชฒเซ (avc/denial) เชฎเชณเซ เชเซ. เชเซเชฏเชพเชฐเซ เชเชตเซเช เชฅเชพเชฏ, เชคเซเชฏเชพเชฐเซ เชคเชฎเชพเชฐเซ เชธเซเชฅเชพเชจเชฟเช เชจเซเชคเชฟ เชฌเชจเชพเชตเชตเชพเชจเซ เชเชฐเซเชฐ เชเซ. เชคเชฎเซ เชเชชเชฐ เชตเชฐเซเชฃเชตเซเชฏเชพ เชฎเซเชเชฌ, audit2why เชจเซ เชเชชเชฏเซเช เชเชฐเซเชจเซ เชฌเชงเซ เชญเซเชฒเซ เชถเซเชงเซ เชถเชเซ เชเซ.
เชคเชฎเซ เชญเซเชฒเซเชจเซ เชเชเซเชฒเชตเชพ เชฎเชพเชเซ เชธเซเชฅเชพเชจเชฟเช เชจเซเชคเชฟ เชฌเชจเชพเชตเซ เชถเชเซ เชเซ. เชเชฆเชพเชนเชฐเชฃ เชคเชฐเซเชเซ, เช เชฎเชจเซ httpd (apache) เช เชฅเชตเชพ smbd (เชธเชพเชฎเซเชฌเชพ) เชฅเซ เชธเชเชฌเชเชงเชฟเชค เชญเซเชฒ เชฎเชณเซ เชเซ, เช เชฎเซ เชญเซเชฒเซเชจเซ เชชเชเชกเซเช เชเซเช เช เชจเซ เชคเซเชจเชพ เชฎเชพเชเซ เชเช เชจเซเชคเชฟ เชฌเชจเชพเชตเซเช เชเซเช:
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
เช เชฎเชพเชฐเซ เชธเซเชฅเชพเชจเชฟเช เชจเซเชคเชฟเช เชกเชพเชเชจเชฒเซเชก เชเชฐเชตเชพเชฎเชพเช เชเชตเซ เชเซ เช เชจเซ เช เชฎเชจเซ เชนเชตเซ audit.log เชฎเชพเช เชเซเชเชชเชฃ avc เช เชฅเชตเชพ denail เชชเซเชฐเชพเชชเซเชค เชฅเชตเซ เชเซเชเช เชจเชนเซเช.
SELinux เชจเซ เชธเชฎเชเชตเชพเชฎเชพเช เชฎเชฆเชฆ เชเชฐเชตเชพเชจเซ เช เชฎเชพเชฐเซ เชชเซเชฐเชฏเชพเชธ เชนเชคเซ. เชนเซเช เชเชถเชพ เชฐเชพเชเซเช เชเซเช เชเซ เช เชฒเซเช เชตเชพเชเชเซเชฏเชพ เชชเชเซ เชคเชฎเซ SELinux เชธเชพเชฅเซ เชตเชงเซ เชเชฐเชพเชฎเชฆเชพเชฏเช เช เชจเซเชญเชตเชถเซ.
เชธเซเชฐเซเชธ: www.habr.com