ΠΡΠ΅Π²ΠΎΠ΄ΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΈΠ·Π³ΠΎΡΠ²Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΠΎΡ ΠΊΡΡΡΠ°
Π’ΡΠΊ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ Π·Π° ΠΆΠΈΠ²ΠΎΡΠ°, Π²ΡΠ΅Π»Π΅Π½Π°ΡΠ° ΠΈ Π²ΡΠΈΡΠΊΠΎ Π² Linux Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
βΠΠ°ΠΆΠ½Π°ΡΠ° ΠΈΡΡΠΈΠ½Π°, ΡΠ΅ Π½Π΅ΡΠ°ΡΠ° Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ° ΡΠ°ΠΊΠΈΠ²Π°, ΠΊΠ°ΠΊΠ²ΠΈΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ, Π΅ ΠΎΠ±ΡΠΎΠΈΠ·Π²Π΅ΡΡΠ½Π°...β
-ΠΡΠ³Π»Π°Ρ ΠΠ΄Π°ΠΌΡ, ΠΡΡΠ΅Π²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° Π³Π°Π»Π°ΠΊΡΠΈΡΠ΅ΡΠΊΠΈΡ ΡΡΠΎΠΏΠ°Π΄ΠΆΠΈΡ
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ. ΠΠΎΠ²ΠΈΡΠ΅Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡ. ΠΠΎΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΈΡ. ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°. Π§Π΅ΡΠΈΡΠΈΠΌΠ° ΠΊΠΎΠ½Π½ΠΈΡΠΈ Π½Π° ΠΠΏΠΎΠΊΠ°Π»ΠΈΠΏΡΠΈΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ. Π Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ Π½Π°ΡΠΈΡΠ΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ - Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅, Π°ΡΡ
ΠΈΠ²ΠΈΡΠ°Π½Π΅, Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°Π½Π΅, Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ ΠΈ Ρ.Π½. - Π½ΠΈΠ΅ Π½ΠΎΡΠΈΠΌ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ½ΠΎΡΡ ΠΈ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎΡΠΈ ΡΠ΅Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊΡΡ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°ΡΠ° Π·Π°ΡΠΈΡΠ°. Π£ΡΠ΅ΡΠ° ΡΠ΅ ΡΠ°Π±ΠΎΡΠ°
ΠΠ·ΠΏΡΠ°Π²Π΅Π½ΠΈ ΠΏΡΠ΅Π΄ ΡΠ°Π·ΠΈ Π΄ΠΈΠ»Π΅ΠΌΠ°, Π½ΡΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΡΠ΅ΡΠ°Π²Π°Ρ Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ
Π Π΄ΡΡ
Π° Π½Π° βΠΡΡΠ΅Π²ΠΎΠ΄ΠΈΡΠ΅Π» Π½Π° Π³Π°Π»Π°ΠΊΡΠΈΠΊΠ°ΡΠ° Π½Π° ΡΡΠΎΠΏΠ°Π΄ΠΆΠΈΡβ, Π΅ΡΠΎ 42 ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° Π½Π° Π²Π°ΠΆΠ½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»Π° ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ°.
1. SELinux Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π΅Π½ ΠΊΠΎΠ½ΡΡΠΎΠ» Π½Π° Π΄ΠΎΡΡΡΠΏΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΈΠΌΠ° Π΅ΡΠΈΠΊΠ΅Ρ. ΠΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ», Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΎΠ±Π΅ΠΊΡ ΡΡΡΠΎ ΠΈΠΌΠ° Π΅ΡΠΈΠΊΠ΅ΡΠΈ. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΌΠ΅ΠΆΠ΄Ρ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ. Π―Π΄ΡΠΎΡΠΎ Π½Π°Π»Π°Π³Π° ΡΠ΅Π·ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°.
2. ΠΠ²Π΅ΡΠ΅ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ°: ΠΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ β ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ (ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΏΠΎΡΡΠΎΠ²Π΅ ΠΈ Ρ.Π½.) ΠΈ Π’ΠΈΠΏ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ (ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄ΡΡΠ³ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅).
3. ΠΡΠ°Π²ΠΈΠ»Π΅Π½ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠ° user:role:type:level
(ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ).
4. Π¦Π΅Π»ΡΠ° Π½Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ (ΠΠ½ΠΎΠ³ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ - MLS) Π΅ Π΄Π° ΡΠΏΡΠ°Π²Π»ΡΠ²Π° ΠΏΡΠΎΡΠ΅ΡΠΈ (Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ) Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ°Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ ΡΡΡΠΎΠ³ΠΎ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ.
5. ΠΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ (ΠΠ½ΠΎΠ³ΠΎΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ - MCS) Π·Π°ΡΠΈΡΠ°Π²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄ΡΡΠ³ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, OpenShift Π΄Π²ΠΈΠ³Π°ΡΠ΅Π»ΠΈ, SELinux ΠΏΡΡΡΡΠ½ΠΈΡΠΈ, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Π΄Ρ.).
6. ΠΠΏΡΠΈΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° SELinux ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅:
autorelabel=1
β ΠΊΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅selinux=0
β ΡΠ΄ΡΠΎΡΠΎ Π½Π΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° SELinux ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ°enforcing=0
β Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π² ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ
7. ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅ΠΌΠ°ΡΠΊΠΈΡΠ°ΡΠ΅ ΡΡΠ»Π°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°:
# touch /.autorelabel
#reboot
ΠΠΊΠΎ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΎΡΠΎ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ ΡΡΠ΄ΡΡΠΆΠ° Π³ΠΎΠ»ΡΠΌ Π±ΡΠΎΠΉ Π³ΡΠ΅ΡΠΊΠΈ, ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ Π½Π°Π»ΠΎΠΆΠΈ Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ°ΡΠ΅ Π² ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ, Π·Π° Π΄Π° ΡΡΠΏΠ΅Π΅ ΠΌΠ°ΡΠΊΠΈΡΠ°Π½Π΅ΡΠΎ.
8. ΠΠ° Π΄Π° ΠΏΡΠΎΠ²Π΅ΡΠΈΡΠ΅ Π΄Π°Π»ΠΈ SELinux Π΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½: # getenforce
9. ΠΠ° Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅/Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ SELinux: # setenforce [1|0]
10. ΠΡΠΎΠ²Π΅ΡΠΊΠ° Π½Π° ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° SELinux: # sestatus
11. ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π΅Π½ ΡΠ°ΠΉΠ»: /etc/selinux/config
12. ΠΠ°ΠΊ ΡΠ°Π±ΠΎΡΠΈ SELinux? ΠΡΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠ½Π° ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° Π·Π° ΡΠ΅Π± ΡΡΡΠ²ΡΡΠ° Apache:
- ΠΠ²ΠΎΠΈΡΠ½ΠΎ ΠΏΡΠ΅Π΄ΡΡΠ°Π²ΡΠ½Π΅:
/usr/sbin/httpdβhttpd_exec_t
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΎΠ½Π½Π° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ:
/etc/httpdβhttpd_config_t
- ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Ρ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅:
/var/log/httpd β httpd_log_t
- ΠΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ ΡΡΡ ΡΡΠ΄ΡΡΠΆΠ°Π½ΠΈΠ΅:
/var/www/html β httpd_sys_content_t
- Π‘ΠΊΡΠΈΠΏΡ Π·Π° ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅:
/usr/lib/systemd/system/httpd.service β httpd_unit_file_d
- ΠΏΡΠΎΡΠ΅Ρ:
/usr/sbin/httpd -DFOREGROUND β httpd_t
- ΠΡΠΈΡΡΠ°Π½ΠΈΡΠ°:
80/tcp, 443/tcp β httpd_t, http_port_t
ΠΡΠΎΡΠ΅ΡΡΡ ΡΠ΅ ΠΈΠ·ΠΏΡΠ»Π½ΡΠ²Π° Π² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ httpd_t
, ΠΌΠΎΠΆΠ΅ Π΄Π° Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²Π° Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ ΠΎΠ±Π΅ΠΊΡ httpd_something_t
.
13. ΠΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ ΠΏΡΠΈΠ΅ΠΌΠ°Ρ Π°ΡΠ³ΡΠΌΠ΅Π½Ρ -Z
Π·Π° ΠΏΡΠ΅Π³Π»Π΅Π΄, ΡΡΠ·Π΄Π°Π²Π°Π½Π΅ ΠΈ ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ:
ls -Z
id -Z
ps -Z
netstat -Z
cp -Z
mkdir -Z
ΠΠΎΠ½ΡΠ΅ΠΊΡΡΠΈΡΠ΅ ΡΠ΅ ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Ρ, ΠΊΠΎΠ³Π°ΡΠΎ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ ΡΡΠ·Π΄Π°Π²Π°Ρ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° Π½Π° ΡΡΡ Π½Π°ΡΠ° ΡΠΎΠ΄ΠΈΡΠ΅Π»ΡΠΊΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ (Ρ Π½ΡΠΊΠΎΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ). RPM ΠΌΠΎΠ³Π°Ρ Π΄Π° ΡΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Ρ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠΈ, ΠΊΠ°ΠΊΡΠΎ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡΡΠ°.
14. ΠΠΌΠ° ΡΠ΅ΡΠΈΡΠΈ ΠΎΡΠ½ΠΎΠ²Π½ΠΈ ΠΏΡΠΈΡΠΈΠ½ΠΈ Π·Π° Π³ΡΠ΅ΡΠΊΠΈ Π² SELinux, ΠΊΠΎΠΈΡΠΎ ΡΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈ ΠΏΠΎ-ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎ Π² ΡΠΎΡΠΊΠΈ 15-21 ΠΏΠΎ-Π΄ΠΎΠ»Ρ:
- ΠΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ
- ΠΠΎΡΠ°Π΄ΠΈ Π½Π΅ΡΠΎ, ΠΊΠΎΠ΅ΡΠΎ SELinux ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅
- ΠΡΠ΅ΡΠΊΠ° Π² ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ°/ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π° SELinux
- ΠΠ°ΡΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π°
15. ΠΡΠΎΠ±Π»Π΅ΠΌ Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ: Π°ΠΊΠΎ Π²Π°ΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ ΡΠ° Π²ΡΡΡΠ΅ /srv/myweb
ΡΠ° ΠΌΠ°ΡΠΊΠΈΡΠ°Π½ΠΈ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ, Π΄ΠΎΡΡΡΠΏΡΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΎΡΠΊΠ°Π·Π°Π½. ΠΡΠΎ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½Π°ΡΠΈΠ½Π° Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΠ΅ ΡΠΎΠ²Π°:
- ΠΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠ°:
# semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
- ΠΠΊΠΎ Π·Π½Π°Π΅ΡΠ΅ ΡΠ°ΠΉΠ» Ρ Π΅ΠΊΠ²ΠΈΠ²Π°Π»Π΅Π½ΡΠ½ΠΈ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠΈ:
# semanage fcontext -a -e /srv/myweb /var/www
- ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° (ΠΈ Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ):
# restorecon -vR /srv/myweb
16. ΠΡΠΎΠ±Π»Π΅ΠΌ Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ΡΠΎ: Π°ΠΊΠΎ ΠΏΡΠ΅ΠΌΠ΅ΡΡΠΈΡΠ΅ ΡΠ°ΠΉΠ»Π°, Π²ΠΌΠ΅ΡΡΠΎ Π΄Π° Π³ΠΎ ΠΊΠΎΠΏΠΈΡΠ°ΡΠ΅, ΡΠ°ΠΉΠ»ΡΡ ΡΠ΅ Π·Π°ΠΏΠ°Π·ΠΈ ΠΎΡΠΈΠ³ΠΈΠ½Π°Π»Π½ΠΈΡ ΡΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ. ΠΠ° Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ ΡΠΎΠ·ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌ:
- ΠΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ Π΅ΡΠΈΠΊΠ΅ΡΠ°:
# chcon -t httpd_system_content_t /var/www/html/index.html
- ΠΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ½Π°ΡΠ° ΠΊΠΎΠΌΠ°Π½Π΄Π° Ρ Π΅ΡΠΈΠΊΠ΅ΡΠ° Π½Π° Π²ΡΡΠ·ΠΊΠ°ΡΠ°:
# chcon --reference /var/www/html/ /var/www/html/index.html
- ΠΡΠ·ΡΡΠ°Π½ΠΎΠ²Π΅ΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡΠ° (ΠΈ Π² Π΄Π²Π°ΡΠ° ΡΠ»ΡΡΠ°Ρ):
# restorecon -vR /var/www/html/
17. Π°ΠΊΠΎ SELinux, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ΡΠ΅ HTTPD ΡΠ»ΡΡΠ° Π½Π° ΠΏΠΎΡΡ 8585, ΠΊΠ°ΠΆΠ΅ΡΠ΅ Π½Π° SELinux:
# semanage port -a -t http_port_t -p tcp 8585
18. SELinux, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ ΠΡΠ»Π΅Π²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π°Ρ ΡΠ°ΡΡΠΈ ΠΎΡ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° SELinux Π΄Π° Π±ΡΠ΄Π°Ρ ΠΏΡΠΎΠΌΠ΅Π½ΡΠ½ΠΈ ΠΏΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅, Π±Π΅Π· Π΄Π° Π·Π½Π°ΡΡ, ΡΠ΅ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° SELinux Π΅ ΠΏΡΠ΅Π·Π°ΠΏΠΈΡΠ°Π½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π°ΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ httpd Π΄Π° ΠΈΠ·ΠΏΡΠ°ΡΠ° ΠΈΠΌΠ΅ΠΉΠ», Π²ΡΠ²Π΅Π΄Π΅ΡΠ΅: # setsebool -P httpd_can_sendmail 1
19. SELinux, ΠΊΠΎΠΉΡΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π·Π½Π°Π΅ΡΠ΅ Π»ΠΎΠ³ΠΈΡΠ΅ΡΠΊΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅/Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° SELinux:
- ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ Π±ΡΠ»Π΅Π²ΠΈ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ:
# getsebool -a
- ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ:
# semanage boolean -l
- ΠΠ° Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ Π±ΡΠ»Π΅Π²Π° ΡΡΠΎΠΉΠ½ΠΎΡΡ:
# setsebool [_boolean_] [1|0]
- ΠΠ° ΠΏΠΎΡΡΠΎΡΠ½Π½Π° ΠΈΠ½ΡΡΠ°Π»Π°ΡΠΈΡ Π΄ΠΎΠ±Π°Π²Π΅ΡΠ΅
-P
, ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:# setsebool httpd_enable_ftp_server 1 -P
20. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ°/ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΡΠ° Π½Π° SELinux ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΡΠ΄ΡΡΠΆΠ°Ρ Π³ΡΠ΅ΡΠΊΠΈ, Π²ΠΊΠ»ΡΡΠΈΡΠ΅Π»Π½ΠΎ:
- ΠΠ΅ΠΎΠ±ΠΈΡΠ°ΠΉΠ½ΠΈ ΠΊΠΎΠ΄ΠΎΠ²ΠΈ ΠΏΡΡΠΈΡΠ°
- ΠΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΠΈ
- ΠΡΠ΅Π½Π°ΡΠΎΡΠ²Π°Π½Π΅ Π½Π° stdout
- ΠΠ·ΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΠ°ΠΉΠ»ΠΎΠ² Π΄Π΅ΡΠΊΡΠΈΠΏΡΠΎΡ
- ΠΠ·ΠΏΡΠ»Π½ΠΈΠΌΠ° ΠΏΠ°ΠΌΠ΅Ρ
- ΠΠΎΡΠΎ ΠΈΠ·Π³ΡΠ°Π΄Π΅Π½ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ
ΠΡΠ²ΠΎΡΠ΅ΡΠ΅ Π±ΠΈΠ»Π΅ΡΠΈ (Π½Π΅ ΠΈΠ·ΠΏΡΠ°ΡΠ°ΠΉΡΠ΅ ΠΎΡΡΠ΅Ρ Π΄ΠΎ Bugzilla; Bugzilla Π½ΡΠΌΠ° SLA).
21. ΠΠ°ΡΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π΅ ΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠ°Π½Π°Π°ΠΊΠΎ ΠΈΠΌΠ°ΡΠ΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΎΠΏΠΈΡΠ²Π°Ρ Π΄Π°:
- ΠΠ°ΡΠ΅Π΄Π΅ΡΠ΅ ΠΌΠΎΠ΄ΡΠ»ΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ
- ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌ SELinux
- ΠΠΈΡΠΈ Π½Π°
etc_t/shadow_t
- ΠΡΠΎΠΌΠ΅Π½Π΅ΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° iptables
22. ΠΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΈ Π½Π° SELinux Π·Π° ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠΎΠ΄ΡΠ»ΠΈ Π·Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ:
# yum -y install setroubleshoot setroubleshoot-server
Π Π΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°ΠΉΡΠ΅ auditd
ΡΠ»Π΅Π΄ ΠΌΠΎΠ½ΡΠ°ΠΆΠ°.
23. ΡΠΏΠΎΡΡΠ΅Π±Π°
journalctl
Π·Π° ΠΏΠΎΠΊΠ°Π·Π²Π°Π½Π΅ Π½Π° ΡΠΏΠΈΡΡΠΊ Ρ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ setroubleshoot
:
# journalctl -t setroubleshoot --since=14:20
24. ΡΠΏΠΎΡΡΠ΅Π±Π° journalctl
Π·Π° Π΄Π° ΠΈΠ·Π±ΡΠΎΠΈΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΈ Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ SELinux ΡΠ°Π³. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
# journalctl _SELINUX_CONTEXT=system_u:system_r:policykit_t:s0
25. ΠΠΊΠΎ Π²ΡΠ·Π½ΠΈΠΊΠ½Π΅ Π³ΡΠ΅ΡΠΊΠ° Π½Π° SELinux, ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ Π΄Π½Π΅Π²Π½ΠΈΠΊΠ° setroubleshoot
ΠΏΡΠ΅Π΄Π»Π°Π³Π° Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ.
ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ ΠΎΡ journalctl
:
Jun 14 19:41:07 web1 setroubleshoot: SELinux is preventing httpd from getattr access on the file /var/www/html/index.html. For complete message run: sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
# sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
SELinux is preventing httpd from getattr access on the file /var/www/html/index.html.
***** Plugin restorecon (99.5 confidence) suggests ************************
If you want to fix the label,
/var/www/html/index.html default label should be httpd_syscontent_t.
Then you can restorecon.
Do
# /sbin/restorecon -v /var/www/html/index.html
26. Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅: SELinux Π·Π°ΠΏΠΈΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°:
- / VAR / Π΄Π½Π΅Π²Π½ΠΈΠΊ / ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ
- /var/log/audit/audit.log
- /var/lib/setroubleshoot/setroubleshoot_database.xml
27. Π Π΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅: ΡΡΡΡΠ΅Π½Π΅ Π½Π° SELinux Π³ΡΠ΅ΡΠΊΠΈ Π² ΠΆΡΡΠ½Π°Π»Π° Π·Π° ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°:
# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today
28. ΠΠ° Π΄Π° Π½Π°ΠΌΠ΅ΡΠΈΡΠ΅ SELinux Access Vector Cache (AVC) ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° ΡΡΠ»ΡΠ³Π°:
# ausearch -m avc -c httpd
29. ΠΠΎΠ»Π΅Π·Π½ΠΎΡΡ audit2allow
ΡΡΠ±ΠΈΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡ ΡΠ΅Π³ΠΈΡΡΡΠ°ΡΠΈΠΎΠ½Π½ΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π½Π° Π·Π°Π±ΡΠ°Π½Π΅Π½ΠΈ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΠΈ ΡΠ»Π΅Π΄ ΡΠΎΠ²Π° Π³Π΅Π½Π΅ΡΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»Π° Π·Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ° Π·Π° ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΡ Π½Π° SELinux. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
- ΠΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ°Π·Π±ΠΈΡΠ°Π΅ΠΌΠΎ Π·Π° ΡΠΎΠ²Π΅ΠΊΠ° ΠΎΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π½Π° ΠΏΡΠΈΡΠΈΠ½Π°ΡΠ° Π·Π° ΠΎΡΠΊΠ°Π·Π°Π½ Π΄ΠΎΡΡΡΠΏ:
# audit2allow -w -a
- ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΠΏΡΠ°Π²ΠΈΠ»ΠΎ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΡΠΈΠΏ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΎΡΠΊΠ°Π·Π°Π½ Π΄ΠΎΡΡΡΠΏ:
# audit2allow -a
- ΠΠ° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΌΠΎΠ΄ΡΠ»:
# audit2allow -a -M mypolicy
- ΠΠ°ΡΠΈΠ°Π½Ρ
-M
ΡΡΠ·Π΄Π°Π²Π° ΡΠ°ΠΉΠ» Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠΏΠ° (.te) Ρ ΠΏΠΎΡΠΎΡΠ΅Π½ΠΎΡΠΎ ΠΈΠΌΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»ΠΈΡΠ° ΠΏΡΠ°Π²ΠΈΠ»ΠΎΡΠΎ Π² ΠΏΠ°ΠΊΠ΅Ρ Ρ ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ (.pp):mypolicy.pp mypolicy.te
- ΠΠ° Π΄Π° ΠΈΠ½ΡΡΠ°Π»ΠΈΡΠ°ΡΠ΅ ΠΏΠ΅ΡΡΠΎΠ½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ ΠΌΠΎΠ΄ΡΠ»:
# semodule -i mypolicy.pp
30. ΠΠ° Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΠΎΡΠ΄Π΅Π»Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ (Π΄ΠΎΠΌΠ΅ΠΉΠ½) Π΄Π° ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ: # semanage permissive -a httpd_t
31. ΠΠΊΠΎ Π²Π΅ΡΠ΅ Π½Π΅ ΠΈΡΠΊΠ°ΡΠ΅ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΡΡ Π΄Π° Π΅ ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π΅Π½: # semanage permissive -d httpd_t
32. ΠΠ° Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ Π²ΡΠΈΡΠΊΠΈ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈ Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ: # semodule -d permissivedomains
33. ΠΠΊΡΠΈΠ²ΠΈΡΠ°Π½Π΅ Π½Π° MLS SELinux ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°: # yum install selinux-policy-mls
Π² /etc/selinux/config:
SELINUX=permissive
SELINUXTYPE=mls
Π£Π²Π΅ΡΠ΅ΡΠ΅ ΡΠ΅, ΡΠ΅ SELinux ΡΠ°Π±ΠΎΡΠΈ Π² ΡΠ°Π·ΡΠ΅ΡΠΈΡΠ΅Π»Π΅Π½ ΡΠ΅ΠΆΠΈΠΌ: # setenforce 0
ΠΠ·ΠΏΠΎΠ»Π·Π²Π°ΠΉΡΠ΅ ΡΠΊΡΠΈΠΏΡ fixfiles
Π·Π° Π΄Π° ΡΡΠ΅ ΡΠΈΠ³ΡΡΠ½ΠΈ, ΡΠ΅ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ΡΠ΅ ΡΠ΅ Π±ΡΠ΄Π°Ρ ΠΏΠΎΠ²ΡΠΎΡΠ½ΠΎ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈ ΠΏΡΠΈ ΡΠ»Π΅Π΄Π²Π°ΡΠΎΡΠΎ ΡΠ΅ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅:
# fixfiles -F onboot # reboot
34. Π‘ΡΠ·Π΄Π°ΠΉΡΠ΅ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Ρ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ MLS Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½: # useradd -Z staff_u john
Π‘ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° useradd
, ΡΠ²ΡΡΠΆΠ΅ΡΠ΅ Π½ΠΎΠ²ΠΈΡ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» ΠΊΡΠΌ ΡΡΡΠ΅ΡΡΠ²ΡΠ²Π°Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π» Π½Π° SELinux (Π² ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ, staff_u
).
35. ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΡΠΏΠΎΡΡΠ°Π²ΡΠ½Π΅ΡΠΎ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅ Π½Π° SELinux ΠΈ Linux: # semanage login -l
36. ΠΠΏΡΠ΅Π΄Π΅Π»Π΅ΡΠ΅ ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ Π·Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ: # semanage login --modify --range s2:c100 john
37. ΠΠ° Π΄Π° ΠΊΠΎΡΠΈΠ³ΠΈΡΠ°ΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠ° Π½Π° Π½Π°ΡΠ°Π»Π½Π°ΡΠ° Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ (Π°ΠΊΠΎ Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ): # chcon -R -l s2:c100 /home/john
38. ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ ΡΠ΅ΠΊΡΡΠΈΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ: # chcat -L
39. ΠΠ° Π΄Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈΡΠ΅ ΠΈΠ»ΠΈ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π²Π°ΡΠ΅ ΡΠ²ΠΎΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½ΠΈ, ΡΠ΅Π΄Π°ΠΊΡΠΈΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΠ»Π°, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
/etc/selinux/_<
selinuxtype>
_/setrans.conf
40. ΠΠ° Π΄Π° ΠΈΠ·ΠΏΡΠ»Π½ΠΈΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π° ΠΈΠ»ΠΈ ΡΠΊΡΠΈΠΏΡ Π² ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ΅Π½ ΡΠ°ΠΉΠ», ΡΠΎΠ»Ρ ΠΈ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ:
# runcon -t initrc_t -r system_r -u user_u yourcommandhere
-t
ΡΠ°ΠΉΠ»ΠΎΠ² ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ-r
ΡΠΎΠ»Π΅Π²ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ-u
ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΡΠΊΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΊΡΡ
41. ΠΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ, ΡΠ°Π±ΠΎΡΠ΅ΡΠΈ Ρ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ SELinux:
- ΠΠΎΠ΄ΠΌΠ°Π½:
# podman run --security-opt label=disable β¦
- Docker:
# docker run --security-opt label=disable β¦
42. ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° Π΄Π°Π΄Π΅ΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΠ»Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°:
- ΠΠΎΠ΄ΠΌΠ°Π½:
# podman run --privileged β¦
- Docker:
# docker run --privileged β¦
Π ΡΠ΅Π³Π° Π²Π΅ΡΠ΅ Π·Π½Π°Π΅ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ°. Π’Π°ΠΊΠ° ΡΠ΅, ΠΌΠΎΠ»Ρ: Π½Π΅ ΡΠ΅ ΠΏΠ°Π½ΠΈΠΊΡΠΎΡΠ²Π°ΠΉΡΠ΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ SELinux.
Π·Π° ΡΠΏΡΠ°Π²ΠΊΠ°:
SELinux byΠΠ°Π½ Π£ΠΎΠ»Ρ ΠΠ°ΡΠ΅ΡΠΎ Π²ΠΈΠ·ΡΠ°Π»Π½ΠΎ ΡΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π·Π° ΠΏΡΠΈΠ»Π°Π³Π°Π½Π΅ Π½Π° ΠΏΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° SELinux ΡΡΡΠΎ ΠΎΡ ΠΠ°Π½ Π£ΠΎΠ»ΡLinux Ρ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π·Π° ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΈΡΠ΅ ΡΠΌΡΡΡΠ½ΠΈ byΠ’ΠΎΠΌΠ°Ρ ΠΠ°ΠΌΠ΅ΡΡΠ½ ΠΠ½ΠΈΠ³Π°ΡΠ° Π·Π° ΠΎΡΠ²Π΅ΡΡΠ²Π°Π½Π΅ SELinux byΠΠ°ΡΠΈΠ½ ΠΠ°ΡΠΈ Π ΡΠΊΠΎΠ²ΠΎΠ΄ΡΡΠ²ΠΎ Π½Π° ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»Ρ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠ° Π½Π° SELinuxβRed Hat Enterprise Linux 7
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com