เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ

เจเจฎเจฌเฉˆเจกเจก, เจฎเฉ‹เจฌเจพเจˆเจฒ เจกเจฟเจตเจพเจˆเจธเจพเจ‚ เจ…เจคเฉ‡ เจธเจฐเจตเจฐเจพเจ‚ 'เจคเฉ‡ เจฒเฉ€เจจเจ•เจธ OS เจฆเฉ€ เจธเจผเจพเจจเจฆเจพเจฐ เจธเจซเจฒเจคเจพ เจฆเจพ เจ‡เฉฑเจ• เจ•เจพเจฐเจจ เจ•เจฐเจจเจฒ, เจธเฉฐเจฌเฉฐเจงเจฟเจค เจธเฉ‡เจตเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจ‰เฉฑเจš เจชเฉฑเจงเจฐเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจนเฉˆเฅค เจชเจฐ เจœเฉ‡เจ•เจฐ เจ‡เฉฑเจ• เจกเฉ‚เฉฐเจ˜เฉ€ เจจเจœเจผเจฐ เจฒเจตเฉ‹ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฆเฉ‡ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจฒเจˆ, เจซเจฟเจฐ เจ‡เจธ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจตเจฐเจ— เจฒเฉฑเจญเจฃเจพ เจ…เจธเฉฐเจญเจต เจนเฉˆเฅค เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ‰เจช-เจธเจฟเจธเจŸเจฎ เจ•เจฟเฉฑเจฅเฉ‡ เจฒเฉเจ•เจฟเจ† เจนเฉ‹เจ‡เจ† เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆ?

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฎเฉ‹เจกเฉ€เจŠเจฒ เจ…เจคเฉ‡ SELinux 'เจคเฉ‡ เจชเจฟเจ›เฉ‹เจ•เฉœ

เจธเจฟเจ•เจฟเจ“เจฐเจฟเจŸเฉ€ เจเจจเจนเจพเจ‚เจธเจก เจฒเฉ€เจจเจ•เจธ, เจฒเฉ€เจจเจ•เจธ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจธเฉฐเจญเจพเจตเฉ€ เจ–เจคเจฐเจฟเจ†เจ‚ เจคเฉ‹เจ‚ เจฌเจšเจพเจ‰เจฃ เจ…เจคเฉ‡ เจฐเจตเจพเจ‡เจคเฉ€ เจฏเฉ‚เจจเจฟเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจชเฉเจฐเจฃเจพเจฒเฉ€, เจตเจฟเจตเฉ‡เจ•เจธเจผเฉ€เจฒ เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ (เจกเฉ€เจเจธเฉ€) เจฆเฉ€เจ†เจ‚ เจ•เจฎเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจ เฉ€เจ• เจ•เจฐเจจ เจฒเจˆ เจฒเจพเจœเจผเจฎเฉ€ เจ…เจคเฉ‡ เจญเฉ‚เจฎเจฟเจ•เจพ-เจ…เจงเจพเจฐเจฟเจค เจเจ•เจธเฉˆเจธ เจฎเจพเจกเจฒเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจจเจฟเจฏเจฎเจพเจ‚ เจ…เจคเฉ‡ เจชเจนเฉเฉฐเจš เจตเจฟเจงเฉ€เจ†เจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจนเฉˆเฅค เจ‡เจน เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฏเฉ‚.เจเฉฑเจธ. เจจเฉˆเจธเจผเจจเจฒ เจธเจ•เจฟเจ“เจฐเจฟเจŸเฉ€ เจเจœเฉฐเจธเฉ€ เจฆเฉ€เจ†เจ‚ เจ…เฉฐเจคเฉœเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจผเฉเจฐเฉ‚ เจนเฉ‹เจ‡เจ† เจธเฉ€, เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจ เฉ‡เจ•เฉ‡เจฆเจพเจฐเจพเจ‚ เจธเจฟเจ•เจฟเจ“เจฐ เจ•เฉฐเจชเจฟเจŠเจŸเจฟเฉฐเจ— เจ•เจพเจฐเจชเฉ‹เจฐเฉ‡เจธเจผเจจ เจ…เจคเฉ‡ MITER, เจ…เจคเฉ‡ เจจเจพเจฒ เจนเฉ€ เจ•เจˆ เจ–เฉ‹เจœ เจชเฉเจฐเจฏเฉ‹เจ—เจธเจผเจพเจฒเจพเจตเจพเจ‚ เจฆเฉเจ†เจฐเจพ เจตเจฟเจ•เจธเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจธเฉ€เฅค

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ
เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฎเฉ‹เจกเฉ€เจŠเจฒ

เจฒเจฟเจจเจธ เจŸเฉ‹เจฐเจตเจพเจฒเจกเจœเจผ เจจเฉ‡ เจจเจตเฉ‡เจ‚ NSA เจตเจฟเจ•เจพเจธ เจฌเจพเจฐเฉ‡ เจ•เจˆ เจŸเจฟเฉฑเจชเจฃเฉ€เจ†เจ‚ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจคเจพเจ‚ เจœเฉ‹ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเฉเฉฑเจ– เจฒเจพเจˆเจจ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เฉ‡เฅค เจ‰เจธเจจเฉ‡ เจ‡เฉฑเจ• เจ†เจฎ เจตเจพเจคเจพเจตเจฐเจฃ เจฆเจพ เจตเจฐเจฃเจจ เจ•เฉ€เจคเจพ, เจœเจฟเจธ เจตเจฟเฉฑเจš เจตเจธเจคเฉ‚เจ†เจ‚ เจฆเฉ‡ เจจเจพเจฒ เจธเฉฐเจšเจพเจฒเจจ เจจเฉ‚เฉฐ เจจเจฟเจฏเฉฐเจคเจฐเจฟเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฐเจŸเจฐเจธเฉˆเจชเจŸเจฐเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจ…เจคเฉ‡ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจธเจŸเฉ‹เจฐ เจ•เจฐเจจ เจฒเจˆ เจ•เจฐเจจเจฒ เจกเฉ‡เจŸเจพ เจฌเจฃเจคเจฐเจพเจ‚ เจตเจฟเฉฑเจš เจ•เฉเจ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจ–เฉ‡เจคเจฐเจพเจ‚ เจฆเฉ‡ เจ‡เฉฑเจ• เจธเจฎเฉ‚เจน เจฆเฉ‡ เจจเจพเจฒเฅค เจ‡เจน เจตเจพเจคเจพเจตเจฐเจฃ เจซเจฟเจฐ เจฒเฉ‹เจก เจนเฉ‹เจฃ เจฏเฉ‹เจ— เจ•เจฐเจจเจฒ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฆเฉเจ†เจฐเจพ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจฒเฉ‹เฉœเฉ€เจฆเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค LSM เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ 2.6 เจตเจฟเฉฑเจš เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ v2003 เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉ‹เจ‡เจ† เจธเฉ€เฅค

LSM เจซเจฐเฉ‡เจฎเจตเจฐเจ• เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจธเจŸเจฐเจ•เจšเจฐ เจตเจฟเฉฑเจš เจ—เจพเจฐเจก เจซเฉ€เจฒเจก เจ…เจคเฉ‡ เจ•เจฐเจจเจฒ เจ•เฉ‹เจก เจฆเฉ‡ เจจเจพเจœเจผเฉเจ• เจฌเจฟเฉฐเจฆเฉ‚เจ†เจ‚ 'เจคเฉ‡ เจ‡เฉฐเจŸเจฐเจธเฉˆเจชเจธเจผเจจ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจพเจฒ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉ‡เจฐเจพเจซเฉ‡เจฐเฉ€ เจ•เจฐเจจ เจ…เจคเฉ‡ เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจฒ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจ‡เจน เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเจจ เจฒเจˆ เจ•เจพเจฐเจœเจธเจผเฉ€เจฒเจคเจพ เจตเฉ€ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆเฅค /sys/kernel/security/lsm เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจตเจฟเฉฑเจš เจธเจฟเจธเจŸเจฎ เจ‰เฉฑเจคเฉ‡ เจธเจฐเจ—เจฐเจฎ เจฎเฉ‹เจกเฉ€เจŠเจฒเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค LSM เจนเฉเฉฑเจ• เจ‰เจนเจจเจพเจ‚ เจธเฉ‚เจšเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจ เจœเจฟเจนเจจเจพเจ‚ เจจเฉ‚เฉฐ CONFIG_LSM เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจฌเฉเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจนเฉเฉฑเจ•เจพเจ‚ เจฌเจพเจฐเฉ‡ เจตเจฟเจธเจคเฉเจฐเจฟเจค เจฆเจธเจคเจพเจตเฉ‡เจœเจผ เจนเฉˆเจกเจฐ เจซเจพเจˆเจฒ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ include/linux/lsm_hooks.h.

LSM เจธเจฌ-เจธเจฟเจธเจŸเจฎ เจจเฉ‡ เจธเจฅเจฟเจฐ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ v2.6 เจฆเฉ‡ เจ‰เจธเฉ‡ เจธเฉฐเจธเจ•เจฐเจฃ เจจเจพเจฒ SELinux เจฆเฉ‡ เจชเฉ‚เจฐเฉ‡ เจเจ•เฉ€เจ•เจฐเจฃ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจเจพ เจธเฉฐเจญเจต เจฌเจฃเจพเจ‡เจ† เจนเฉˆเฅค เจฒเจ—เจญเจ— เจคเฉเจฐเฉฐเจค, SELinux เจ‡เฉฑเจ• เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจฒเฉ€เจจเจ•เจธ เจตเจพเจคเจพเจตเจฐเจฃ เจฒเจˆ เจ…เจธเจฒ เจฎเจฟเจ†เจฐ เจฌเจฃ เจ—เจฟเจ† เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจญ เจคเฉ‹เจ‚ เจชเฉเจฐเจธเจฟเฉฑเจง เจกเจฟเจธเจŸเจฐเฉ€เจฌเจฟเจŠเจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจ•เฉ€เจคเจพ เจ—เจฟเจ†: RedHat Enterprise Linux, Fedora, Debian, Ubuntuเฅค

SELinux เจธเจผเจฌเจฆเจพเจตเจฒเฉ€

  • เจชเจ›เจพเจฃ โ€” SELinux เจฏเฉ‚เจœเจผเจฐ เจ†เจฎ เจฏเฉ‚เจจเจฟเจ•เจธ/เจฒเฉ€เจจเจ•เจธ เจฏเฉ‚เจœเจผเจฐ เจ†เจˆเจกเฉ€ เจตเจฐเจ—เจพ เจจเจนเฉ€เจ‚ เจนเฉˆ; เจ‰เจน เจ‡เฉฑเจ•เฉ‹ เจธเจฟเจธเจŸเจฎ 'เจคเฉ‡ เจ‡เจ•เฉฑเจ เฉ‡ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจ, เจชเจฐ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉฑเจ–เจฐเฉ‡ เจนเจจเฅค เจนเจฐเฉ‡เจ• เจธเจŸเฉˆเจ‚เจกเจฐเจก เจฒเฉ€เจจเจ•เจธ เจ–เจพเจคเจพ SELinux เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจœเจพเจ‚ เจ‡เฉฑเจ• เจคเฉ‹เจ‚ เจตเฉฑเจง เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐเฉ€ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค SELinux เจชเจ›เจพเจฃ เจธเจฎเฉเฉฑเจšเฉ‡ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจฆเจพ เจนเจฟเฉฑเจธเจพ เจนเฉˆ, เจœเฉ‹ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจนเฉœเฉ‡ เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเจผเจพเจฎเจฒ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ…เจคเฉ‡ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡เฅค
  • เจกเฉ‹เจฎเฉ‡เจจ - SELinux เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจกเฉ‹เจฎเฉ‡เจจ เจ‡เฉฑเจ• เจตเจฟเจธเจผเฉ‡ เจฆเจพ เจเจ—เจœเจผเฉ€เจ•เจฟเจŠเจธเจผเจจ เจชเฉเจฐเจธเฉฐเจ— เจนเฉˆ, เจญเจพเจต เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เฅค เจกเฉ‹เจฎเฉ‡เจจ เจธเจฟเฉฑเจงเฉ‡ เจคเฉŒเจฐ 'เจคเฉ‡ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจฆเฉ€ เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ‡เฉฑเจ• เจกเฉ‹เจฎเฉ‡เจจ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจ•เฉ€ เจ•เจฐ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจพเจ‚ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจตเฉฑเจ–-เจตเฉฑเจ– เจ•เจฟเจธเจฎเจพเจ‚ เจจเจพเจฒ เจ•เฉ€ เจ•เจฐ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจ•เฉเจ เจ‰เจฆเจพเจนเจฐเจฃเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจชเฉเจฐเจธเจผเจพเจธเจจ เจฒเจˆ sysadm_t เจนเจจ, เจ…เจคเฉ‡ user_t เจœเฉ‹ เจ•เจฟ เจ‡เฉฑเจ• เจ†เจฎ เจ—เฉˆเจฐ-เจ…เจงเจฟเจ•เจพเจฐ เจชเฉเจฐเจพเจชเจค เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจกเฉ‹เจฎเฉ‡เจจ เจนเฉˆเฅค init เจธเจฟเจธเจŸเจฎ init_t เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจจเจพเจฎ เจฆเฉ€ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† name_t เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเฉฑเจš เจšเฉฑเจฒเจฆเฉ€ เจนเฉˆเฅค
  • เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ โ€” เจ•เฉ€ เจกเฉ‹เจฎเฉ‡เจจ เจ…เจคเฉ‡ SELinux เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจตเจฟเจšเฉ‹เจฒเฉ‡ เจตเจœเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจ•เจฟเจนเฉœเฉ‡ เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจจเจพเจฒ เจธเจฌเฉฐเจงเจค เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เจน เจ•เจฟเจธ เจ•เจฟเจธเจฎ เจฆเฉ€เจ†เจ‚ เจตเจธเจคเฉ‚เจ†เจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ‡เจน เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจตเจฟเจงเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ เจตเจพเจงเฉ‡ เจฆเฉ‡ เจนเจฎเจฒเจฟเจ†เจ‚ เจฆเฉ‡ เจ–เจคเจฐเฉ‡ เจจเฉ‚เฉฐ เจฐเฉ‹เจ•เจฆเฉ€ เจนเฉˆเฅค เจฐเฉ‹เจฒ SELinux เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจฐเฉ‹เจฒ เจฌเฉ‡เจธเจก เจเจ•เจธเฉˆเจธ เจ•เฉฐเจŸเจฐเฉ‹เจฒ (RBAC) เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฎเจพเจกเจฒ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจœเจพเจ‚เจฆเฉ‡ เจนเจจเฅค
  • เจ•เจฟเจธเจฎ โ€” เจ‡เฉฑเจ• เจŸเจพเจˆเจช เจ‡เจจเจซเฉ‹เจฐเจธเจฎเฉˆเจ‚เจŸ เจธเฉ‚เจšเฉ€ เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจตเจธเจคเฉ‚ เจจเฉ‚เฉฐ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน เจจเจฟเจฐเจงเจพเจฐเจค เจ•เจฐเจฆเฉ€ เจนเฉˆ เจ•เจฟ เจ•เฉŒเจฃ เจ‡เจธ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจกเฉ‹เจฎเฉ‡เจจ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจฆเฉ‡ เจธเจฎเจพเจจ, เจธเจฟเจตเจพเจ เจ•เจฟ เจกเฉ‹เจฎเฉ‡เจจ เจ‡เฉฑเจ• เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ•เจฟเจธเจฎ เจ†เจฌเจœเฉˆเจ•เจŸ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚, เจซเจพเจˆเจฒเจพเจ‚, เจธเจพเจ•เจŸเจพเจ‚ เจ†เจฆเจฟ 'เจคเฉ‡ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค
  • เจตเจฟเจธเจผเฉ‡ เจ…เจคเฉ‡ เจตเจธเจคเฉ‚เจ†เจ‚ - เจชเฉเจฐเจ•เจฟเจฐเจฟเจ†เจตเจพเจ‚ เจตเจฟเจธเจผเฉ‡ เจนเจจ เจ…เจคเฉ‡ เจ‡เฉฑเจ• เจ–เจพเจธ เจธเฉฐเจฆเจฐเจญ, เจœเจพเจ‚ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจกเฉ‹เจฎเฉ‡เจจ เจตเจฟเฉฑเจš เจšเจฒเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจธเจฐเฉ‹เจค: เจซเจพเจˆเจฒเจพเจ‚, เจกเจพเจ‡เจฐเฉˆเจ•เจŸเจฐเฉ€เจ†เจ‚, เจธเจพเจ•เจŸเจพเจ‚, เจ†เจฆเจฟ, เจ‰เจน เจตเจธเจคเฉ‚เจ†เจ‚ เจนเจจ เจœเฉ‹ เจ‡เฉฑเจ• เจ–เจพเจธ เจ•เจฟเจธเจฎ เจจเจฟเจฐเจงเจพเจฐเจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจฆเฉ‚เจœเฉ‡ เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจ—เฉ‹เจชเจจเฉ€เจฏเจคเจพ เจชเฉฑเจงเจฐเฅค
  • SELinux เจจเฉ€เจคเฉ€เจ†เจ‚ โ€” SELinux เจธเจฟเจธเจŸเจฎ เจฆเฉ€ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจฒเจˆ เจ•เจˆ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆเฅค SELinux เจจเฉ€เจคเฉ€ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚, เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจฒเจˆ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚, เจ…เจคเฉ‡ เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจคเฉ‹เจ‚ เจ•เจฟเจธเจฎเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจจเฉ‚เฉฐ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค เจชเจนเจฟเจฒเจพเจ‚, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ‡เฉฑเจ• เจญเฉ‚เจฎเจฟเจ•เจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ…เจงเจฟเจ•เจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจซเจฟเจฐ เจญเฉ‚เจฎเจฟเจ•เจพ เจจเฉ‚เฉฐ เจกเฉ‹เจฎเฉ‡เจจเจพเจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเจจ เจฒเจˆ เจ…เจงเจฟเจ•เจพเจฐเจค เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจกเฉ‹เจฎเฉ‡เจจ เจ•เฉ‹เจฒ เจธเจฟเจฐเจซ เจ•เฉเจ เจ–เจพเจธ เจ•เจฟเจธเจฎเจพเจ‚ เจฆเฉ€เจ†เจ‚ เจตเจธเจคเฉ‚เจ†เจ‚ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค

LSM เจ…เจคเฉ‡ SELinux เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ

เจจเจพเจฎ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, LSMs เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฒเฉ‹เจก เจนเฉ‹เจฃ เจฏเฉ‹เจ— เจฒเฉ€เจจเจ•เจธ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเจนเฉ€เจ‚ เจนเฉเฉฐเจฆเฉ‡ เจนเจจเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, SELinux เจตเจพเจ‚เจ—, เจ‡เจน เจธเจฟเฉฑเจงเฉ‡ เจ•เจฐเจจเจฒ เจตเจฟเฉฑเจš เจœเฉ‹เฉœเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค LSM เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฌเจฆเฉ€เจฒเฉ€ เจฒเจˆ เจ‡เฉฑเจ• เจจเจตเฉ‡เจ‚ เจ•เจฐเจจเจฒ เจธเฉฐเจ•เจฒเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆเฅค เจธเฉฐเจฌเฉฐเจงเจฟเจค เจตเจฟเจ•เจฒเจช เจจเฉ‚เฉฐ เจ•เจฐเจจเจฒ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจตเจฟเฉฑเจš เจฏเฉ‹เจ— เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจจเจนเฉ€เจ‚ เจคเจพเจ‚ LSM เจ•เฉ‹เจก เจฌเฉ‚เจŸ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ•เจฟเจฐเจฟเจ†เจธเจผเฉ€เจฒ เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจชเจฐ เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจตเฉ€, เจ‡เจธเจจเฉ‚เฉฐ OS เจฌเฉ‚เจŸเจฒเฉ‹เจกเจฐ เจตเจฟเจ•เจฒเจช เจฆเฉเจ†เจฐเจพ เจธเจฎเจฐเฉฑเจฅ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ
LSM เจšเฉˆเฉฑเจ• เจธเจŸเฉˆเจ•

LSM เจ•เฉ‹เจฐ เจ•เจฐเจจเจฒ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ เจตเจฟเฉฑเจš เจนเฉเฉฑเจ•เจพเจ‚ เจจเจพเจฒ เจฒเฉˆเจธ เจนเฉˆ เจœเฉ‹ เจœเจพเจ‚เจšเจพเจ‚ เจฒเจˆ เจขเฉเจ•เจตเฉ‡เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจนเจจเฅค LSMs เจฆเฉ€เจ†เจ‚ เจฎเฉเฉฑเจ– เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‰เจน เจธเจŸเฉˆเจ•เจก เจนเจจเฅค เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจฎเจฟเจ†เจฐเฉ€ เจœเจพเจ‚เจšเจพเจ‚ เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจ, เจ…เจคเฉ‡ LSM เจฆเฉ€ เจนเจฐเฉ‡เจ• เจชเจฐเจค เจธเจฟเจฐเจซเจผ เจตเจพเจงเฉ‚ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจ…เจคเฉ‡ เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจœเฉ‹เฉœเจฆเฉ€ เจนเฉˆเฅค เจ‡เจธ เจฆเจพ เจฎเจคเจฒเจฌ เจนเฉˆ เจ•เจฟ เจชเจพเจฌเฉฐเจฆเฉ€ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจจเจนเฉ€เจ‚ เจฒเจฟเจ† เจœเจพ เจธเจ•เจฆเจพเฅค เจ‡เจน เจšเจฟเฉฑเจคเจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆ; เจœเฉ‡เจ•เจฐ เจฐเฉเจŸเฉ€เจจ DAC เจœเจพเจ‚เจšเจพเจ‚ เจฆเจพ เจจเจคเฉ€เจœเจพ เจ…เจธเจซเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฎเจพเจฎเจฒเจพ LSM เจนเฉเฉฑเจ•เจพเจ‚ เจคเฉฑเจ• เจตเฉ€ เจจเจนเฉ€เจ‚ เจชเจนเฉเฉฐเจšเฉ‡เจ—เจพเฅค

SELinux เจซเจฒเฉเจ• เจฐเจฟเจธเจฐเจš เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจซเจฒเจพเจธเจ• เจธเฉเจฐเฉฑเจ–เจฟเจ† เจขเจพเจ‚เจšเฉ‡ เจจเฉ‚เฉฐ เจ…เจชเจฃเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจ–เจพเจธ เจคเฉŒเจฐ 'เจคเฉ‡ เจ˜เฉฑเจŸเฉ‹-เจ˜เฉฑเจŸ เจตเจฟเจธเจผเฉ‡เจธเจผ เจ…เจงเจฟเจ•เจพเจฐ เจฆเจพ เจธเจฟเจงเจพเจ‚เจคเฅค เจ‡เจธ เจธเฉฐเจ•เจฒเจช เจฆเจพ เจจเจฟเจšเฉ‹เฉœ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‡เจธเจฆเจพ เจจเจพเจฎ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ, เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซ เจ‰เจนเจจเจพเจ‚ เจ…เจงเจฟเจ•เจพเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจจเจพ เจœเจพเจ‚ เจชเฉเจฐเจ•เจฟเจฐเจฟเจ† เจ•เจฐเจจเจพ เจนเฉˆ เจœเฉ‹ เจ‰เจฆเฉ‡เจธเจผ เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจพเจฐเจตเจพเจˆเจ†เจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฐเฉ‚เจฐเฉ€ เจนเจจเฅค เจ‡เจน เจธเจฟเจงเจพเจ‚เจค เจœเจผเจฌเจฐเจฆเจธเจคเฉ€ เจเจ•เจธเฉˆเจธ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ SELinux เจตเจฟเฉฑเจš เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจกเฉ‹เจฎเฉ‡เจจ => เจŸเจพเจˆเจช เจฎเจพเจกเจฒ 'เจคเฉ‡ เจ…เจงเจพเจฐเจค เจนเฉˆเฅค

เจœเจผเจฌเจฐเจฆเจธเจคเฉ€ เจเจ•เจธเฉˆเจธ เจŸเจพเจˆเจชเจฟเฉฐเจ— เจฒเจˆ เจงเฉฐเจจเจตเจพเจฆ, SELinux เจ•เฉ‹เจฒ เจฏเฉ‚เจจเจฟเจ•เจธ/เจฒเฉ€เจจเจ•เจธ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎเจพเจ‚ เจตเจฟเฉฑเจš เจตเจฐเจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจฐเจตเจพเจ‡เจคเฉ€ DAC เจฎเจพเจกเจฒ เจจเจพเจฒเฉ‹เจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจธเจฎเจฐเฉฑเจฅเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจจเฉˆเฉฑเจŸเจตเจฐเจ• เจชเฉ‹เจฐเจŸ เจจเฉฐเจฌเจฐ เจจเฉ‚เฉฐ เจธเฉ€เจฎเจฟเจค เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจœเจฟเจธ เจจเจพเจฒ ftp เจธเจฐเจตเจฐ เจ•เจจเฉˆเจ•เจŸ เจ•เจฐเฉ‡เจ—เจพ, เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจซเฉ‹เจฒเจกเจฐ เจตเจฟเฉฑเจš เจซเจพเจˆเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃ เจ…เจคเฉ‡ เจฌเจฆเจฒเจฃ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเฉ‡ เจธเจ•เจฆเจพ เจนเฉˆ, เจชเจฐ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ‰เจฃเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค

SELinux เจฆเฉ‡ เจฎเฉเฉฑเจ– เจญเจพเจ— เจนเจจ:

  • เจชเจพเจฒเจฟเจธเฉ€ เจ‡เจจเจซเฉ‹เจฐเจธเจฎเฉˆเจ‚เจŸ เจธเจฐเจตเจฐ โ€” เจชเจนเฉเฉฐเจš เจจเจฟเจฏเฉฐเจคเจฐเจฃ เจจเฉ‚เฉฐ เจธเฉฐเจ—เจ เจฟเจค เจ•เจฐเจจ เจฒเจˆ เจฎเฉเฉฑเจ– เจตเจฟเจงเฉ€เฅค
  • เจธเจฟเจธเจŸเจฎ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ€เจคเฉ€ เจกเจพเจŸเจพเจฌเฉ‡เจธ.
  • LSM เจ‡เจตเฉˆเจ‚เจŸ เจ‡เฉฐเจŸเจฐเจธเฉˆเจชเจŸเจฐ เจจเจพเจฒ เจชเจฐเจธเจชเจฐ เจชเฉเจฐเจญเจพเจตเฅค
  • Selinuxfs - Pseudo-FS, /proc เจฆเฉ‡ เจธเจฎเจพเจจ เจนเฉˆ เจ…เจคเฉ‡ /sys/fs/selinux เจตเจฟเฉฑเจš เจฎเจพเจŠเจ‚เจŸ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค เจฐเจจเจŸเจพเจˆเจฎ เจคเฉ‡ เจฒเฉ€เจจเจ•เจธ เจ•เจฐเจจเจฒ เจฆเฉเจ†เจฐเจพ เจ—เจคเฉ€เจธเจผเฉ€เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ SELinux เจธเจฅเจฟเจคเฉ€ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจตเจพเจฒเฉ€เจ†เจ‚ เจซเจพเจˆเจฒเจพเจ‚ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆเฅค
  • เจตเฉˆเจ•เจŸเจฐ เจ•เฉˆเจธเจผ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ•เจฐเฉ‹ - เจ‰เจคเจชเจพเจฆเจ•เจคเจพ เจตเจงเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจธเจนเจพเจ‡เจ• เจตเจฟเจงเฉ€เฅค

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ
SELinux เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ

เจ‡เจน เจธเจญ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

  1. เจ‡เฉฑเจ• เจ–เจพเจธ เจตเจฟเจธเจผเจพ, SELinux เจธเจผเจฌเจฆเจพเจ‚ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• DAC เจœเจพเจ‚เจš เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจ‡เฉฑเจ• เจตเจธเจคเฉ‚ 'เจคเฉ‡ เจ‡เฉฑเจ• เจ…เจจเฉเจฎเจคเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจ•เจฐเจฆเจพ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐเจฒเฉ€ เจคเจธเจตเฉ€เจฐ เจตเจฟเฉฑเจš เจฆเจฟเจ–เจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค เจ“เจชเจฐเฉ‡เจธเจผเจจ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจน เจฌเฉ‡เจจเจคเฉ€ LSM เจ‡เจตเฉˆเจ‚เจŸ เจ‡เฉฐเจŸเจฐเจธเฉˆเจชเจŸเจฐ เจจเฉ‚เฉฐ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค
  2. เจ‰เฉฑเจฅเฉ‹เจ‚, เจฌเฉ‡เจจเจคเฉ€, เจตเจฟเจธเจผเฉ‡ เจ…เจคเฉ‡ เจ†เจฌเจœเฉˆเจ•เจŸ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเฉฐเจฆเจฐเจญ เจฆเฉ‡ เจจเจพเจฒ, SELinux เจเจฌเจธเจŸเจฐเฉˆเจ•เจธเจผเจจ เจ…เจคเฉ‡ เจนเฉเฉฑเจ• เจฒเจพเจœเจฟเจ• เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจชเจพเจธ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจœเฉ‹ เจ•เจฟ LSM เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจฒเจˆ เจœเจผเจฟเฉฐเจฎเฉ‡เจตเจพเจฐ เจนเฉˆเฅค
  3. เจ•เจฟเจธเฉ‡ เจตเจธเจคเฉ‚ เจคเฉฑเจ• เจ•เจฟเจธเฉ‡ เจตเจฟเจธเจผเฉ‡ เจฆเฉ€ เจชเจนเฉเฉฐเจš 'เจคเฉ‡ เจซเฉˆเจธเจฒเจพ เจฒเฉˆเจฃ เจฆเจพ เจ…เจงเจฟเจ•เจพเจฐ เจชเจพเจฒเจฟเจธเฉ€ เจ‡เจจเจซเฉ‹เจฐเจธเจฎเฉˆเจ‚เจŸ เจธเจฐเจตเจฐ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจน SELinux AnHL เจคเฉ‹เจ‚ เจกเจพเจŸเจพ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเจพ เจนเฉˆเฅค
  4. เจชเจนเฉเฉฐเจš เจœเจพเจ‚ เจ‡เจจเจ•เจพเจฐ เจฌเจพเจฐเฉ‡ เจซเฉˆเจธเจฒเฉ‡ เจฒเฉˆเจฃ เจฒเจˆ, เจชเจพเจฒเจฟเจธเฉ€ เจ‡เจจเจซเฉ‹เจฐเจธเจฎเฉˆเจ‚เจŸ เจธเจฐเจตเจฐ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจตเจฐเจคเฉ‡ เจœเจพเจฃ เจตเจพเจฒเฉ‡ เจจเจฟเจฏเจฎเจพเจ‚ เจฒเจˆ เจเจ•เจธเฉˆเจธ เจตเฉˆเจ•เจŸเจฐ เจ•เฉˆเจธเจผ (AVC) เจ•เฉˆเจšเจฟเฉฐเจ— เจธเจฌเจธเจฟเจธเจŸเจฎ เจตเฉฑเจฒ เจฎเฉเฉœเจฆเจพ เจนเฉˆเฅค
  5. เจœเฉ‡เจ•เจฐ เจ•เฉˆเจธเจผ เจตเจฟเฉฑเจš เจธเฉฐเจฌเฉฐเจงเจฟเจค เจจเจฟเจฏเจฎ เจฆเจพ เจนเฉฑเจฒ เจจเจนเฉ€เจ‚ เจฒเฉฑเจญเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจฌเฉ‡เจจเจคเฉ€ เจจเฉ‚เฉฐ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ€เจคเฉ€ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจชเจพเจธ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  6. เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ…เจคเฉ‡ AVC เจคเฉ‹เจ‚ เจ–เฉ‹เจœ เจจเจคเฉ€เจœเจพ เจชเจพเจฒเจฟเจธเฉ€ เจ‡เจจเจซเฉ‹เจฐเจธเจฎเฉˆเจ‚เจŸ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจตเจพเจชเจธ เจ•เจฐ เจฆเจฟเฉฑเจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค
  7. เจœเฉ‡เจ•เจฐ เจฒเฉฑเจญเฉ€ เจ—เจˆ เจจเฉ€เจคเฉ€ เจฌเฉ‡เจจเจคเฉ€ เจ•เฉ€เจคเฉ€ เจ•เจพเจฐเจตเจพเจˆ เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ€ เจนเฉˆ, เจคเจพเจ‚ เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจนเฉˆเฅค เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจ“เจชเจฐเฉ‡เจธเจผเจจ เจฆเฉ€ เจฎเจจเจพเจนเฉ€ เจนเฉˆ.

SELinux เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจเจพ

SELinux เจคเจฟเฉฐเจจ เจฎเฉ‹เจกเจพเจ‚ เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ‡เฉฑเจ• เจตเจฟเฉฑเจš เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ:

  • เจฒเจพเจ—เฉ‚ เจ•เจฐเจจเจพ - เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ€เจคเฉ€เจ†เจ‚ เจฆเฉ€ เจธเจ–เจคเฉ€ เจจเจพเจฒ เจชเจพเจฒเจฃเจพเฅค
  • เจ†เจ—เจฟเจ†เจ•เจพเจฐเฉ€ - เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจฆเฉ€ เจ‰เจฒเฉฐเจ˜เจฃเจพ เจฆเฉ€ เจ†เจ—เจฟเจ† เจนเฉˆ; เจœเจฐเจจเจฒ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ…เจจเฉเจธเจพเจฐเฉ€ เจจเฉ‹เจŸ เจฌเจฃเจพเจ‡เจ† เจ—เจฟเจ† เจนเฉˆเฅค
  • เจ…เจฏเฉ‹เจ— โ€” เจธเฉเจฐเฉฑเจ–เจฟเจ† เจจเฉ€เจคเฉ€เจ†เจ‚ เจฒเจพเจ—เฉ‚ เจจเจนเฉ€เจ‚ เจนเจจเฅค

เจคเฉเจธเฉ€เจ‚ เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ€ เจ•เจฎเจพเจ‚เจก เจจเจพเจฒ เจฆเฉ‡เจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹ เจ•เจฟ SELinux เจ•เจฟเจธ เจฎเฉ‹เจก เจตเจฟเฉฑเจš เจนเฉˆเฅค

[admin@server ~]$ getenforce
Permissive

เจฐเฉ€เจฌเฉ‚เจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เจธเจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจธเฉˆเฉฑเจŸ เจ•เจฐเจจเจพ, เจœเจพเจ‚ 1. เจ…เจจเฉเจฎเจคเฉ€ เจตเจพเจฒเจพ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจธเฉฐเจ–เจฟเจ†เจคเจฎเจ• เจ•เฉ‹เจก 0 เจจเจพเจฒ เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเจพ เจนเฉˆเฅค

[admin@server ~]$ setenfoce enforcing
[admin@server ~]$ setenfoce 1 #ั‚ะพ ะถะต ัะฐะผะพะต

เจคเฉเจธเฉ€เจ‚ เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเฉฐเจชเจพเจฆเจฟเจค เจ•เจฐเจ•เฉ‡ เจฎเฉ‹เจก เจจเฉ‚เฉฐ เจตเฉ€ เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹:

[admin@server ~]$ cat /etc/selinux/config

# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
SELINUX=enforcing
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.

SELINUXTYPE = เจจเจฟเจธเจผเจพเจจเจพ

setenfoce เจจเจพเจฒ เจซเจฐเจ• เจ‡เจน เจนเฉˆ เจ•เจฟ เจœเจฆเฉ‹เจ‚ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจฌเฉ‚เจŸ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจคเจพเจ‚ SELinux เจฎเฉ‹เจก เจธเฉฐเจฐเจšเจจเจพ เจซเจพเจ‡เจฒ เจตเจฟเฉฑเจš SELINUX เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจฆเฉ‡ เจฎเฉเฉฑเจฒ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจธเฉˆเฉฑเจŸ เจ•เฉ€เจคเจพ เจœเจพเจตเฉ‡เจ—เจพเฅค เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, <=> เจ…เจฏเฉ‹เจ— เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจธเจฟเจฐเจซ /etc/selinux/config เจซเจพเจˆเจฒ เจจเฉ‚เฉฐ เจธเฉ‹เจง เจ•เฉ‡ เจ…เจคเฉ‡ เจฐเฉ€เจฌเฉ‚เจŸ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ เจฒเจพเจ—เฉ‚ เจนเฉเฉฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค

เจ‡เฉฑเจ• เจธเฉฐเจ–เฉ‡เจช เจธเจฅเจฟเจคเฉ€ เจฐเจฟเจชเฉ‹เจฐเจŸ เจตเฉ‡เจ–เฉ‹:

[admin@server ~]$ sestatus

SELinux status: enabled
SELinuxfs mount: /sys/fs/selinux
SELinux root directory: /etc/selinux
Loaded policy name: targeted
Current mode: permissive
Mode from config file: enforcing
Policy MLS status: enabled
Policy deny_unknown status: allowed
Max kernel policy version: 31

SELinux เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจตเฉ‡เจ–เจฃ เจฒเจˆ, เจ•เฉเจ เจฎเจฟเจ†เจฐเฉ€ เจ‰เจชเจฏเฉ‹เจ—เจคเจพเจตเจพเจ‚ -Z เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจตเจฐเจคเจฆเฉ€เจ†เจ‚ เจนเจจเฅค

[admin@server ~]$ ls -lZ /var/log/httpd/
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20200920
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20200927
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20201004
-rw-r--r--. root root system_u:object_r:httpd_log_t:s0 access_log-20201011
[admin@server ~]$ ps -u apache -Z
LABEL                             PID TTY          TIME CMD
system_u:system_r:httpd_t:s0     2914 ?        00:00:04 httpd
system_u:system_r:httpd_t:s0     2915 ?        00:00:00 httpd
system_u:system_r:httpd_t:s0     2916 ?        00:00:00 httpd
system_u:system_r:httpd_t:s0     2917 ?        00:00:00 httpd
...
system_u:system_r:httpd_t:s0     2918 ?        00:00:00 httpd

ls -l เจฆเฉ‡ เจ†เจฎ เจ†เจ‰เจŸเจชเฉเฉฑเจŸ เจฆเฉ‡ เจฎเฉเจ•เจพเจฌเจฒเฉ‡, เจนเฉ‡เจ เจพเจ‚ เจฆเจฟเฉฑเจคเฉ‡ เจซเจพเจฐเจฎเฉˆเจŸ เจตเจฟเฉฑเจš เจ•เจˆ เจตเจพเจงเฉ‚ เจ–เฉ‡เจคเจฐ เจนเจจ:

<user>:<role>:<type>:<level>

เจ†เจ–เจฐเฉ€ เจ–เฉ‡เจคเจฐ เจ‡เฉฑเจ• เจธเฉเจฐเฉฑเจ–เจฟเจ† เจตเจฐเจ—เฉ€เจ•เจฐเจฃ เจตเจฐเจ—เฉ€ เจšเฉ€เจœเจผ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจ‚เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธ เจตเจฟเฉฑเจš เจฆเฉ‹ เจคเฉฑเจคเจพเจ‚ เจฆเจพ เจธเฉเจฎเฉ‡เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ:

  • s0 - เจฎเจนเฉฑเจคเจต, เจนเฉ‡เจ เจฒเฉ‡ เจชเฉฑเจงเจฐ-เจ‰เฉฑเจš เจชเฉฑเจงเจฐเฉ€ เจ…เฉฐเจคเจฐเจพเจฒ เจตเจœเฉ‹เจ‚ เจตเฉ€ เจฒเจฟเจ–เจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ
  • c0, c1โ€ฆ c1023 - เจธเจผเฉเจฐเฉ‡เจฃเฉ€เฅค

เจชเจนเฉเฉฐเจš เจธเฉฐเจฐเจšเจจเจพ เจจเฉ‚เฉฐ เจฌเจฆเจฒเจฃเจพ

SELinux เจฎเฉ‹เจกเฉ€เจŠเจฒ เจฒเฉ‹เจก เจ•เจฐเจจ, เจœเฉ‹เฉœเจจ เจ…เจคเฉ‡ เจนเจŸเจพเจ‰เจฃ เจฒเจˆ เจธเฉ‡เจฎเฉ‹เจกเจฟเจŠเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค

[admin@server ~]$ semodule -l |wc -l #ัะฟะธัะพะบ ะฒัะตั… ะผะพะดัƒะปะตะน
408
[admin@server ~]$ semodule -e abrt #enable - ะฐะบั‚ะธะฒะธั€ะพะฒะฐั‚ัŒ ะผะพะดัƒะปัŒ
[admin@server ~]$ semodule -d accountsd #disable - ะพั‚ะบะปัŽั‡ะธั‚ัŒ ะผะพะดัƒะปัŒ
[admin@server ~]$ semodule -r avahi #remove - ัƒะดะฐะปะธั‚ัŒ ะผะพะดัƒะปัŒ

เจชเจนเจฟเจฒเฉ€ เจŸเฉ€เจฎ semanage เจฒเจพเจ—เจ‡เจจ SELinux เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเฉ‚เฉฐ เจ“เจชเจฐเฉ‡เจŸเจฟเฉฐเจ— เจธเจฟเจธเจŸเจฎ เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจจเจพเจฒ เจœเฉ‹เฉœเจฆเจพ เจนเฉˆ, เจฆเฉ‚เจœเจพ เจ‡เฉฑเจ• เจธเฉ‚เจšเฉ€ เจฆเจฟเจ–เจพเจ‰เจ‚เจฆเจพ เจนเฉˆเฅค เจ…เฉฐเจค เจตเจฟเฉฑเจš, -r เจธเจตเจฟเฉฑเจš เจจเจพเจฒ เจ†เจ–เจฐเฉ€ เจ•เจฎเจพเจ‚เจก SELinux เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ OS เจ–เจพเจคเจฟเจ†เจ‚ เจตเจฟเฉฑเจš เจฎเฉˆเจชเจฟเฉฐเจ— เจจเฉ‚เฉฐ เจนเจŸเจพ เจฆเจฟเฉฐเจฆเฉ€ เจนเฉˆเฅค MLS/MCS เจฐเฉ‡เจ‚เจœ เจฎเฉเฉฑเจฒเจพเจ‚ เจฒเจˆ เจธเฉฐเจŸเฉˆเจ•เจธ เจฆเฉ€ เจตเจฟเจ†เจ–เจฟเจ† เจชเจฟเจ›เจฒเฉ‡ เจญเจพเจ— เจตเจฟเฉฑเจš เจนเฉˆเฅค

[admin@server ~]$ semanage login -a -s user_u karol
[admin@server ~]$ semanage login -l

Login Name SELinux User MLS/MCS Range Service
__default__ unconfined_u s0-s0:c0.c1023 *
root unconfined_u s0-s0:c0.c1023 *
system_u system_u s0-s0:c0.c1023 *
[admin@server ~]$ semanage login -d karol

เจฆเฉ€ เจŸเฉ€เจฎ semanage เจ‰เจชเจญเฉ‹เจ—เจคเจพ SELinux เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจฎเฉˆเจชเจฟเฉฐเจ— เจฆเฉ‡ เจชเฉเจฐเจฌเฉฐเจงเจจ เจฒเจˆ เจตเจฐเจคเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค

[admin@server ~]$ semanage user -l
                Labeling   MLS/       MLS/                          
SELinux User    Prefix     MCS Level  MCS Range             SELinux Roles
guest_u         user       s0         s0                    guest_r
staff_u         staff      s0         s0-s0:c0.c1023        staff_r sysadm_r
...
user_u          user       s0         s0                    user_r
xguest_u        user       s0         s0                    xguest_r
[admin@server ~]$ semanage user -a -R 'staff_r user_r'
[admin@server ~]$ semanage user -d test_u

เจ•เจฎเจพเจ‚เจก เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ:

  • -เจ‡เฉฑเจ• เจ•เจธเจŸเจฎ เจฐเฉ‹เจฒ เจฎเฉˆเจชเจฟเฉฐเจ— เจเจ‚เจŸเจฐเฉ€ เจœเฉ‹เฉœเฉ‹;
  • -l เจฎเฉ‡เจฒ เจ–เจพเจ‚เจฆเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจ…เจคเฉ‡ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€;
  • -d เจ‰เจชเจญเฉ‹เจ—เจคเจพ เจฐเฉ‹เจฒ เจฎเฉˆเจชเจฟเฉฐเจ— เจเจ‚เจŸเจฐเฉ€ เจจเฉ‚เฉฐ เจฎเจฟเจŸเจพเจ“;
  • -เจฏเฉ‚เจœเจผเจฐ เจจเจพเจฒ เจœเฉเฉœเฉ€เจ†เจ‚ เจญเฉ‚เจฎเจฟเจ•เจพเจตเจพเจ‚ เจฆเฉ€ เจธเฉ‚เจšเฉ€;

เจซเจพเจˆเจฒเจพเจ‚, เจชเฉ‹เจฐเจŸเจพเจ‚ เจ…เจคเฉ‡ เจฌเฉ‚เจฒเฉ€เจ…เจจ เจฎเฉเฉฑเจฒ

เจนเจฐเฉ‡เจ• SELinux เจฎเฉ‹เจกเฉ€เจŠเจฒ เจซเจพเจˆเจฒ เจŸเฉˆเจ—เจฟเฉฐเจ— เจจเจฟเจฏเจฎเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจœเฉ‡เจ•เจฐ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจจเจฟเจฏเจฎ เจตเฉ€ เจœเฉ‹เฉœ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจธเฉ€เจ‚ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจ•เฉ‹เจฒ /srv/www เจซเฉ‹เจฒเจกเจฐ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจ…เจงเจฟเจ•เจพเจฐ เจนเฉ‹เจตเฉ‡เฅค

[admin@server ~]$ semanage fcontext -a -t httpd_sys_content_t "/srv/www(/.*)?
[admin@server ~]$ restorecon -R /srv/www/

เจชเจนเจฟเจฒเฉ€ เจ•เจฎเจพเจ‚เจก เจจเจตเฉ‡เจ‚ เจฎเจพเจฐเจ•เจฟเฉฐเจ— เจจเจฟเจฏเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจฐเจœเจฟเจธเจŸเจฐ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจ…เจคเฉ‡ เจฆเฉ‚เจœเฉ€ เจฐเฉ€เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเฉ€ เจนเฉˆ, เจœเจพเจ‚ เจฎเฉŒเจœเฉ‚เจฆเจพ เจจเจฟเจฏเจฎเจพเจ‚ เจฆเฉ‡ เจ…เจจเฉเจธเจพเจฐ เจซเจพเจˆเจฒ เจ•เจฟเจธเจฎเจพเจ‚ เจจเฉ‚เฉฐ เจธเฉˆเฉฑเจŸ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจ‡เจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚, TCP/UDP เจชเฉ‹เจฐเจŸเจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจšเจฟเฉฐเจจเฉเจนเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ•เจฟ เจธเจฟเจฐเจซเจผ เจ‰เจšเจฟเจค เจธเฉ‡เจตเจพเจตเจพเจ‚ เจนเฉ€ เจ‰เจนเจจเจพเจ‚ 'เจคเฉ‡ เจธเฉเจฃ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจตเฉˆเฉฑเจฌ เจธเจฐเจตเจฐ เจจเฉ‚เฉฐ เจชเฉ‹เจฐเจŸ 8080 'เจคเฉ‡ เจธเฉเจฃเจจ เจฒเจˆ, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เจฎเจพเจ‚เจก เจšเจฒเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

[admin@server ~]$ semanage port -m -t http_port_t -p tcp 8080

SELinux เจฎเฉ‹เจกเฉ€เจŠเจฒเจพเจ‚ เจฆเฉ€ เจ‡เฉฑเจ• เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจธเฉฐเจ–เจฟเจ† เจตเจฟเฉฑเจš เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ เจœเฉ‹ เจฌเฉ‚เจฒเฉ€เจ…เจจ เจฎเฉเฉฑเจฒ เจฒเฉˆ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจ…เจœเจฟเจนเฉ‡ เจชเฉˆเจฐเจพเจฎเฉ€เจŸเจฐเจพเจ‚ เจฆเฉ€ เจชเฉ‚เจฐเฉ€ เจธเฉ‚เจšเฉ€ getsebool -a เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจตเฉ‡เจ–เฉ€ เจœเจพ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจคเฉเจธเฉ€เจ‚ setsebool เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฌเฉ‚เจฒเฉ€เจ…เจจ เจฎเฉเฉฑเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจฆเจฒ เจธเจ•เจฆเฉ‡ เจนเฉ‹เฅค

[admin@server ~]$ getsebool httpd_enable_cgi
httpd_enable_cgi --> on
[admin@server ~]$ setsebool -P httpd_enable_cgi off
[admin@server ~]$ getsebool httpd_enable_cgi
httpd_enable_homedirs --> off

เจตเจฐเจ•เจธเจผเจพเจช, Pgadmin-เจตเฉˆเฉฑเจฌ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจชเฉเจฐเจพเจชเจค เจ•เจฐเฉ‹

เจ†เจ‰ เจ‡เฉฑเจ• เจตเจฟเจนเจพเจฐเจ• เจ‰เจฆเจพเจนเจฐเจจ เจตเฉ‡เจ–เฉ€เจ: เจ…เจธเฉ€เจ‚ PostgreSQL เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจ เจฒเจˆ RHEL 7.6 เจ‰เฉฑเจคเฉ‡ pgadmin4-web เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เฉ€เจคเจพ เจนเฉˆเฅค เจ…เจธเฉ€เจ‚ เจฅเฉ‹เฉœเฉเจนเจพ เจคเฉเจฐ เจชเจ เจ–เฉ‹เจœ pg_hba.conf, postgresql.conf เจ…เจคเฉ‡ config_local.py เจฆเฉ€เจ†เจ‚ เจธเฉˆเจŸเจฟเฉฐเจ—เจพเจ‚ เจจเจพเจฒ, เจซเฉ‹เจฒเจกเจฐ เจ…เจจเฉเจฎเจคเฉ€เจ†เจ‚ เจธเฉˆเจŸ เจ•เจฐเฉ‹, เจชเจพเจˆเจช เจคเฉ‹เจ‚ เจ—เฉเฉฐเจฎ เจนเฉ‹เจ เจชเจพเจˆเจฅเจจ เจฎเฉ‹เจกเฉ€เจŠเจฒ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹เฅค เจธเจญ เจ•เฉเจ เจคเจฟเจ†เจฐ เจนเฉˆ, เจ…เจธเฉ€เจ‚ เจฒเจพเจ‚เจš เจ…เจคเฉ‡ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ 500 เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจธเจฐเจตเจฐ เจ—เจฒเจคเฉ€.

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ

เจ…เจธเฉ€เจ‚ เจ†เจฎ เจธเจผเฉฑเจ•เฉ€เจ†เจ‚ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, /var/log/httpd/error_log เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจเฅค เจ‰เฉฑเจฅเฉ‡ เจ•เฉเจ เจฆเจฟเจฒเจšเจธเจช เจ‡เฉฐเจฆเจฐเจพเจœเจผ เจนเจจ.

[timestamp] [core:notice] [pid 23689] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
...
[timestamp] [wsgi:error] [pid 23690] [Errno 13] Permission denied: '/var/lib/pgadmin'
[timestamp] [wsgi:error] [pid 23690] [timestamp] [wsgi:error] [pid 23690] HINT : You may need to manually set the permissions on
[timestamp] [wsgi:error] [pid 23690] /var/lib/pgadmin to allow apache to write to it.

เจ‡เจธ เจฎเฉŒเจ•เฉ‡ 'เจคเฉ‡, เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฒเฉ€เจจเจ•เจธ เจชเฉเจฐเจธเจผเจพเจธเจ• setencorce 0 เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจœเจผเฉ‹เจฐเจฆเจพเจฐ เจชเจฐเจคเจพเจ เจœเจพเจฃเจ—เฉ‡, เจ…เจคเฉ‡ เจ‡เจน เจ‡เจธเจฆเจพ เจ…เฉฐเจค เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจธเฉฑเจš เจ•เจนเจพเจ‚ เจคเจพเจ‚ เจฎเฉˆเจ‚ เจชเจนเจฟเจฒเฉ€ เจตเจพเจฐ เจ…เจœเจฟเจนเจพ เจนเฉ€ เจ•เฉ€เจคเจพ เจธเฉ€เฅค เจ‡เจน เจฌเฉ‡เจธเจผเฉฑเจ• เจ‡เฉฑเจ• เจคเจฐเฉ€เจ•เจพ เจตเฉ€ เจนเฉˆ, เจชเจฐ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจคเฉ‹เจ‚ เจฌเจนเฉเจค เจฆเฉ‚เจฐ เจนเฉˆ.

เจฌเฉ‹เจเจฒ เจกเจฟเจœเจผเจพเจˆเจจ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, SELinux เจ‰เจชเจญเฉ‹เจ—เจคเจพ-เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจฌเจธ เจธเฉˆเฉฑเจŸเจฐเฉ‹เจฌเจฒเจธเจผเฉ‚เจŸ เจชเฉˆเจ•เฉ‡เจœ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจฟเจค เจ•เจฐเฉ‹ เจ…เจคเฉ‡ เจธเจฟเจธเจŸเจฎ เจฒเฉŒเจ— เจตเฉ‡เจ–เฉ‹เฅค

[admin@server ~]$ yum install setroubleshoot
[admin@server ~]$ journalctl -b -0
[admin@server ~]$ service restart auditd

เจ•เจฟเจฐเจชเจพ เจ•เจฐเจ•เฉ‡ เจงเจฟเจ†เจจ เจฆเจฟเจ“ เจ•เจฟ OS เจตเจฟเฉฑเจš systemd เจฆเฉ€ เจฎเฉŒเจœเฉ‚เจฆเจ—เฉ€ เจฆเฉ‡ เจฌเจพเจตเจœเฉ‚เจฆ, auditd เจธเฉ‡เจตเจพ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจฎเฉเฉœ เจšเจพเจฒเฉ‚ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ systemctl เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเจนเฉ€เจ‚ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€เฅค เจธเจฟเจธเจŸเจฎ เจฒเจพเจ— เจตเจฟเฉฑเจš เจฆเจฐเจธเจพเจ เจœเจพเจฃเจ—เฉ‡ เจจเจพ เจธเจฟเจฐเจซ เจฌเจฒเฉŒเจ• เจ•เจฐเจจ เจฆเจพ เจคเฉฑเจฅ, เจธเจ—เฉ‹เจ‚ เจ•เจพเจฐเจจ เจ…เจคเฉ‡ เจชเจพเจฌเฉฐเจฆเฉ€ เจจเฉ‚เฉฐ เจฆเฉ‚เจฐ เจ•เจฐเจจ เจฆเจพ เจคเจฐเฉ€เจ•เจพ.

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ

เจ…เจธเฉ€เจ‚ เจ‡เจนเจจเจพเจ‚ เจ•เจฎเจพเจ‚เจกเจพเจ‚ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚:

[admin@server ~]$ setsebool -P httpd_can_network_connect 1
[admin@server ~]$ setsebool -P httpd_can_network_connect_db 1

เจ…เจธเฉ€เจ‚ pgadmin4-web เจตเฉˆเฉฑเจฌ เจชเฉ‡เจœ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจฆเฉ€ เจœเจพเจ‚เจš เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจธเจญ เจ•เฉเจ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ

เจฒเฉ€เจจเจ•เจธ เจธเฉเจฐเฉฑเจ–เจฟเจ† เจธเจฟเจธเจŸเจฎ

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹