ΠΡΠ΅Π²ΠΎΠ΄ΡΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠ° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»Π½ΠΎ Π·Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ ΠΎΡ ΠΊΡΡΡΠ° .

Π’ΡΠΊ ΡΠ΅ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ Π·Π° ΠΆΠΈΠ²ΠΎΡΠ°, Π²ΡΠ΅Π»Π΅Π½Π°ΡΠ° ΠΈ Π²ΡΠΈΡΠΊΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΎ Π² Linux Ρ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ.
βΠΠ°ΠΆΠ½Π°ΡΠ° ΠΈΡΡΠΈΠ½Π°, ΡΠ΅ Π½Π΅ΡΠ°ΡΠ° Π½Π΅ Π²ΠΈΠ½Π°Π³ΠΈ ΡΠ° ΡΠΎΠ²Π°, Π½Π° ΠΊΠΎΠ΅ΡΠΎ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π°Ρ, Π΅ ΠΎΠ±ΡΠΎΠΈΠ·Π²Π΅ΡΡΠ½Π°β¦β
βΠΡΠ³Π»Π°Ρ ΠΠ΄Π°ΠΌΡ, ΠΠ²ΡΠΎΡΡΠΎΠΏΠΎΠΌ ΠΏΠΎ ΠΠ°Π»Π°ΠΊΡΠΈΠΊΠ°ΡΠ°
Π‘ΠΈΠ³ΡΡΠ½ΠΎΡΡ. ΠΠΎΠ²ΠΈΡΠ°Π²Π°Π½Π΅ Π½Π° Π½Π°Π΄Π΅ΠΆΠ΄Π½ΠΎΡΡΡΠ°. Π‘ΡΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅. ΠΠΎΠ»ΠΈΡΠΈΠΊΠ°. Π§Π΅ΡΠΈΡΠΈΡΠ΅ ΠΊΠΎΠ½Π½ΠΈΡΠΈ Π½Π° ΠΠΏΠΎΠΊΠ°Π»ΠΈΠΏΡΠΈΡΠ° Π·Π° ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ. ΠΡΠ²Π΅Π½ Π½Π°ΡΠΈΡΠ΅ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ β ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³, ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎ ΠΊΠΎΠΏΠΈΠ΅, Π²Π½Π΅Π΄ΡΡΠ²Π°Π½Π΅, Π½Π°ΡΡΡΠΎΠΉΠΊΠ°, ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π°Π½Π΅ ΠΈ Ρ.Π½. β Π½ΠΈΠ΅ ΡΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΡΠ³ΠΎΠ²Π°ΡΡΠΌΠ΅ Π·Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΠΎΡΠΈ ΡΠ΅Π·ΠΈ ΡΠΈΡΡΠ΅ΠΌΠΈ, ΠΏΡΠΈ ΠΊΠΎΠΈΡΠΎ Π²ΡΠ½ΡΠ½ΠΈΡΡ Π΄ΠΎΡΡΠ°Π²ΡΠΈΠΊ Π½ΠΈ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π° Π΄Π° Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΌΠ΅ ΠΏΠΎΠ²ΠΈΡΠ΅Π½Π°ΡΠ° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ. Π’ΠΎΠ²Π° ΠΏΡΠΈΠ»ΠΈΡΠ° Π½Π° ΡΠ°Π±ΠΎΡΠ°ΡΠ° ΠΎΡ βΠΠΈΡΠΈΡΡΠ° Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½Π°β.
Π‘Π±Π»ΡΡΠΊΠ²Π°ΠΉΠΊΠΈ ΡΠ΅ Ρ ΡΠ°Π·ΠΈ Π΄ΠΈΠ»Π΅ΠΌΠ°, Π½ΡΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΡΠ΅ΡΠ°Π²Π°Ρ Π΄Π° Π²Π·Π΅ΠΌΠ°Ρ , Π·Π°ΡΠΎΡΠΎ ΠΌΠΈΡΠ»ΡΡ, ΡΠ΅ Π½ΠΈΠΊΠΎΠ³Π° Π½ΡΠΌΠ° Π΄Π° ΡΠ°Π·Π±Π΅ΡΠ°Ρ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΈΡ Π²ΡΠΏΡΠΎΡ Π·Π° ΠΆΠΈΠ²ΠΎΡΠ°, Π²ΡΠ΅Π»Π΅Π½Π°ΡΠ° ΠΈ Π²ΡΠΈΡΠΊΠΎ ΠΎΡΡΠ°Π½Π°Π»ΠΎ. Π, ΠΊΠ°ΠΊΡΠΎ Π²ΡΠΈΡΠΊΠΈ Π·Π½Π°Π΅ΠΌ, ΡΠΎΠ·ΠΈ ΠΎΡΠ³ΠΎΠ²ΠΎΡ Π΅ 42.
Π Π΄ΡΡ Π° Π½Π° βΠΠ²ΡΠΎΡΡΠΎΠΏΠΎΠΌ ΠΏΠΎ Π³Π°Π»Π°ΠΊΡΠΈΠΊΠ°ΡΠ°β, ΡΡΠΊ ΡΠ° ΠΏΡΠ΅Π΄ΡΡΠ°Π²Π΅Π½ΠΈ 42 ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ° Π½Π° Π²Π°ΠΆΠ½ΠΈ Π²ΡΠΏΡΠΎΡΠΈ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°ΡΠ° Π²ΡΠ² Π²Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ.
1. SELinux Π΅ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»Π½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ Π½Π° Π΄ΠΎΡΡΡΠΏΠ°, ΠΊΠΎΠ΅ΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π²Π°, ΡΠ΅ Π²ΡΠ΅ΠΊΠΈ ΠΏΡΠΎΡΠ΅Ρ ΠΈΠΌΠ° Π΅ΡΠΈΠΊΠ΅Ρ (label). ΠΡΠ΅ΠΊΠΈ ΡΠ°ΠΉΠ», ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ΅Π½ ΠΎΠ±Π΅ΠΊΡ ΡΡΡΠΎ ΠΈΠΌΠ°Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈ. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° ΡΠΏΡΠ°Π²Π»ΡΠ²Π°Ρ Π΄ΠΎΡΡΡΠΏΠ° ΠΌΠ΅ΠΆΠ΄Ρ Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ. Π―Π΄ΡΠΎΡΠΎ ΠΎΡΠΈΠ³ΡΡΡΠ²Π° ΡΠΏΠ°Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΡΠ΅Π·ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π°.
2. ΠΠ²Π΅ ΠΎΡ Π½Π°ΠΉ-Π²Π°ΠΆΠ½ΠΈΡΠ΅ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΠΈ ΡΠ°: ΠΠ°ΡΠΊΠΈΡΠ°Π½Π΅ β Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ°Π½Π΅ (ΡΠ°ΠΉΠ»ΠΎΠ²Π΅, ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΏΠΎΡΡΠΎΠ²Π΅ ΠΈ Ρ.Π½.) ΠΈ Π’ΠΈΠΏΠΎΠ²ΠΎ Π½Π°Π»Π°Π³Π°Π½Π΅ (ΠΊΠΎΠΉΡΠΎ ΠΈΠ·ΠΎΠ»ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄ΡΡΠ³ Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° ΡΠΈΠΏΠΎΠ²Π΅).
3. ΠΡΠ°Π²ΠΈΠ»Π½ΠΈΡΡ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠ° user:role:type:level (ΠΏΠΎ ΠΈΠ·Π±ΠΎΡ).
4. Π¦Π΅Π»ΡΠ° Π½Π° ΠΎΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ (ΠΠ½ΠΎΠ³ΠΎΡΡΠ΅ΠΏΠ΅Π½Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ β MLS) Π΅ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ (Π΄ΠΎΠΌΠ΅ΠΉΠ½ΠΈ) Π½Π° Π±Π°Π·Π°ΡΠ° Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ Π½Π° Π΄Π°Π½Π½ΠΈΡΠ΅, ΠΊΠΎΠΈΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΡΠ΅ΡΠ΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠ΅ΡΠ΅ ΡΠ²ΡΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΠΈ Π΄Π°Π½Π½ΠΈ.
5. ΠΡΠΈΠ³ΡΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ (ΠΠ½ΠΎΠ³ΠΎΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½Π° ΡΠΈΠ³ΡΡΠ½ΠΎΡΡ β MCS) Π·Π°ΡΠΈΡΠ°Π²Π° ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΅Π΄ΠΈΠ½ ΠΎΡ Π΄ΡΡΠ³ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π²ΠΈΡΡΡΠ°Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΠΈ OpenShift, ΠΏΠ΅ΡSandbox SELinux, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠΈ ΠΈ Ρ.Π½.).
6. ΠΠ°ΡΡΡΠΎΠΉΠΊΠΈ Π½Π° ΡΠ΄ΡΠΎΡΠΎ Π·Π° ΠΏΡΠΎΠΌΡΠ½Π° Π½Π° ΡΠ΅ΠΆΠΈΠΌΠΈΡΠ΅ Π½Π° SELinux ΠΏΡΠΈ Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅:
autorelabel=1β Π½Π°ΠΊΠ°ΡΠ° ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ° Π΄Π° ΡΡΠ°ΡΡΠΈΡΠ° ΠΏΡΠ΅Π·Π°ΡΠ΅ΠΆΠ΄Π°Π½Π΅ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠΈΡΠ΅selinux=0β ΡΠ΄ΡΠΎΡΠΎ Π½Π΅ Π·Π°ΡΠ΅ΠΆΠ΄Π° ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΠ°ΡΠ° Π½Π° SELinuxenforcing=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 -Zid -Zps -Znetstat -Zcp -Zmkdir -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 ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° httpd ΠΎΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»Π° /var/www/html/index.html. ΠΠ° ΠΏΡΠ»Π½ΠΈΡ ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΠ΅ ΠΏΡΡΠ½Π΅ΡΠ΅: sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
# sealert -l 12fd8b04-0119-4077-a710-2d0e0ee5755e
SELinux ΠΏΡΠ΅Π΄ΠΎΡΠ²ΡΠ°ΡΡΠ²Π° httpd ΠΎΡ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ Π°ΡΡΠΈΠ±ΡΡΠ° Π½Π° ΡΠ°ΠΉΠ»Π° /var/www/html/index.html.
***** ΠΠ»ΡΠ³ΠΈΠ½ restorecon (99.5 % ΡΠ²Π΅ΡΠ΅Π½ΠΎΡΡ) ΠΏΡΠ΅Π΄Π»Π°Π³Π° ************************
ΠΠΊΠΎ ΠΈΡΠΊΠ°ΡΠ΅ Π΄Π° ΠΏΠΎΠΏΡΠ°Π²ΠΈΡΠ΅ Π΅ΡΠΈΠΊΠ΅ΡΠ°,
/var/www/html/index.html ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°ΡΠΈΡΡ Π΅ΡΠΈΠΊΠ΅Ρ ΡΡΡΠ±Π²Π° Π΄Π° Π±ΡΠ΄Π΅ httpd_syscontent_t.
Π‘Π»Π΅Π΄ ΡΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° restorecon.
ΠΡΠ°Π²Π΅ΡΠ΅
# /sbin/restorecon -v /var/www/html/index.html26. ΠΠΎΠ³ΠΈΡΠ°Π½Π΅: SELinux Π·Π°ΠΏΠΈΡΠ²Π° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ Π½Π° ΠΌΠ½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΡΠ°:
- /var/log/messages
- /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. ΠΠΊΠ»ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠ°ΡΠ° Π½Π° SELinux MLS: # 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:
# podman run --security-opt label=disable β¦ - Docker:
# docker run --security-opt label=disable β¦
42. ΠΠΊΠΎ ΡΡΡΠ±Π²Π° Π΄Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΡΠ΅ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΠ° ΠΏΡΠ»Π΅Π½ Π΄ΠΎΡΡΡΠΏ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°:
- Podman:
# podman run --privileged β¦ - Docker:
# docker run --privileged β¦
Π Π²Π΅ΡΠ΅ Π·Π½Π°Π΅ΡΠ΅ ΠΎΡΠ³ΠΎΠ²ΠΎΡΠ°. ΠΠ°ΡΠΎΠ²Π°, ΠΌΠΎΠ»Ρ: Π½Π΅ ΠΏΠ°Π½ΠΈΠΊΡΠΎΡΠ²Π°ΠΉΡΠ΅ ΠΈ Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ SELinux.
ΠΠΈΠ½ΠΊΠΎΠ²Π΅:
- by
- ΠΎΡ Dan Walsh
- by
- by
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
