SELinux-เดฒเต‡เด•เตเด•เตเดณเตเดณ เด’เดฐเต เดคเตเดŸเด•เตเด•เด•เตเด•เดพเดฐเดจเตเดฑเต† เด—เตˆเดกเต

SELinux-เดฒเต‡เด•เตเด•เตเดณเตเดณ เด’เดฐเต เดคเตเดŸเด•เตเด•เด•เตเด•เดพเดฐเดจเตเดฑเต† เด—เตˆเดกเต

เด•เต‹เดดเตโ€Œเดธเต เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเด•เตพเด•เตเด•เดพเดฏเดฟ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดฒเต‡เด–เดจเดคเตเดคเดฟเดจเตเดฑเต† เดชเดฐเดฟเดญเดพเดท "เดฒเดฟเดจเด•เตเดธเต เดธเตเดฐเด•เตเดท"

SELinux เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดŽเตปเดนเดพเตปเดธเตเดกเต เดฒเดฟเดจเด•เตเดธเต เดŽเดจเตเดจเดคเต เด•เตเดทเตเดฆเตเดฐเด•เดฐเดฎเดพเดฏ เดจเตเดดเดžเตเดžเตเด•เดฏเดฑเตเดฑเด™เตเด™เตพ เดคเดŸเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ US เดจเดพเดทเดฃเตฝ เดธเต†เด•เตเดฏเต‚เดฐเดฟเดฑเตเดฑเดฟ เดเดœเตปเดธเดฟ (NSA) เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเต†เดŸเตเดคเตเดค เด’เดฐเต เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดฟเดฏ เด†เด•เตเดธเดธเต เด•เตบเดŸเตเดฐเต‹เตพ เดฎเต†เด•เตเด•เดพเดจเดฟเดธเดฎเดพเดฃเต. เดจเดฟเดฒเดตเดฟเดฒเตเดณเตเดณ เดตเดฟเดตเต‡เดšเดจเดพเดงเดฟเด•เดพเดฐ (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดค) เดฎเต‹เดกเดฒเดฟเดจเต (เด‡เด‚เด—เตเดฒเต€เดทเต เดตเดฟเดตเต‡เดšเดจเดพเดงเดฟเด•เดพเดฐ เด†เด•เตเดธเดธเต เด•เตบเดŸเตเดฐเต‹เตพ, DAC) เดฎเตเด•เดณเดฟเตฝ เดจเดฟเตผเดฌเดจเตเดงเดฟเดค (เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เดจเดฟเตผเดฌเดจเตเดงเดฟเดค) เด†เด•เตเดธเดธเต เด•เตบเดŸเตเดฐเต‹เตพ เดฎเต‹เดกเตฝ (เด‡เด‚เด—เตเดฒเต€เดทเต เดจเดฟเตผเดฌเดจเตเดงเดฟเดค เด†เด•เตเดธเดธเต เด•เตบเดŸเตเดฐเต‹เตพ, MAC) เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต, เด…เดคเดพเดฏเดคเต, เดตเดพเดฏเดฟเด•เตเด•เดพเดจเตเด‚ เดŽเดดเตเดคเดพเดจเตเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดพเดจเตเดฎเตเดณเตเดณ เด…เดจเตเดฎเดคเดฟเด•เตพ.

SELinux-เดจเต เดฎเต‚เดจเตเดจเต เดฎเต‹เดกเตเด•เตพ เด‰เดฃเตเดŸเต:

  1. เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตเดจเตเดจเต - เดจเดฏ เดจเดฟเดฏเดฎเด™เตเด™เตพ เด…เดŸเดฟเดธเตเดฅเดพเดจเดฎเดพเด•เตเด•เดฟเดฏเตเดณเตเดณ เด†เด•เตเดธเดธเต เดจเดฟเดฐเดธเดจเด‚.
  2. เด…เดจเตเดตเดฆเดจเต€เดฏเด‚ - เดจเดฏเด‚ เดฒเด‚เด˜เดฟเด•เตเด•เตเดจเตเดจ เดชเตเดฐเดตเตผเดคเตเดคเดจเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เดฒเต‹เด—เต เดธเต‚เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเต เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เตฝ เดฎเต‹เดกเดฟเตฝ เดจเดฟเดฐเต‹เดงเดฟเด•เตเด•เตเด‚.
  3. เดชเตเดฐเดตเตผเดคเตเดคเดจ เดฐเดนเดฟเดคเดฎเดพเดฏ โ€” 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 เดชเต‹เดณเดฟเดธเดฟเด•เตพ เดฑเต€เดฌเต‚เดŸเตเดŸเต เดšเต†เดฏเตเดฏเดพเดคเต†เดฏเตเด‚ เดตเต€เดฃเตเดŸเตเด‚ เด•เด‚เดชเตˆเตฝ เดšเต†เดฏเตเดฏเดพเดคเต†เดฏเตเด‚ เดฎเดพเดฑเตเดฑเด™เตเด™เตพ เดตเดฐเตเดคเตเดคเดพเตป เด…เดต เดจเดฟเด™เตเด™เดณเต† เด…เดจเตเดตเดฆเดฟเด•เตเด•เตเดจเตเดจเต.

เด‰เดฆเดพเดนเดฐเดฃเด‚:
เดŽเดซเตโ€ŒเดŸเดฟเดชเดฟ เดฑเต€เดกเต/เดฑเตˆเดฑเตเดฑเดฟเดฒเต‚เดŸเต† เด’เดฐเต เด‰เดชเดฏเต‹เด•เตเดคเดพเดตเดฟเตปเตเดฑเต† เดนเต‹เด‚ เดกเดฏเดฑเด•เตโ€ŒเดŸเดฑเดฟ เดชเด™เตเด•เดฟเดŸเดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดชเดฑเดฏเดพเด‚, เดžเด™เตเด™เตพ เด…เดคเต เด‡เดคเดฟเดจเด•เด‚ เดชเด™เตเด•เดฟเดŸเตเดŸเต, เดชเด•เตเดทเต‡ เดžเด™เตเด™เตพ เด…เดคเต เด†เด•เตโ€Œเดธเดธเต เดšเต†เดฏเตเดฏเดพเตป เดถเตเดฐเดฎเดฟเด•เตเด•เตเดฎเตเดชเต‹เตพ เด’เดจเตเดจเตเด‚ เด•เดพเดฃเตเดจเตเดจเดฟเดฒเตเดฒ. เด•เดพเดฐเดฃเด‚, 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 (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

เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดฐเดพเดฆเต‡เดถเดฟเด• เดจเดฏเด™เตเด™เตพ เดกเต—เตบเดฒเต‹เดกเต เดšเต†เดฏเตโ€Œเดคเต, audit.log-เตฝ เดžเด™เตเด™เตพเด•เตเด•เต เด‡เดจเดฟ avc เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ denail เดฒเดญเดฟเด•เตเด•เดฟเดฒเตเดฒ.

SELinux เดฎเดจเดธเตเดธเดฟเดฒเดพเด•เตเด•เดพเตป เดจเดฟเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เดŽเตปเตเดฑเต† เดถเตเดฐเดฎเดฎเดพเดฏเดฟเดฐเตเดจเตเดจเต เด‡เดคเต. เดˆ เดฒเต‡เด–เดจเด‚ เดตเดพเดฏเดฟเดšเตเดšเดคเดฟเดจเตเดถเต‡เดทเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต SELinux-เตฝ เด•เต‚เดŸเตเดคเตฝ เดธเตเด–เด‚ เดคเต‹เดจเตเดจเตเดฎเต†เดจเตเดจเต เดžเดพเตป เดชเตเดฐเดคเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•