ΠΡΠ΅Π²ΠΎΠ΄ΠΎΡ Π½Π° ΡΡΠ°ΡΠΈΡΠ°ΡΠ° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡΠ²Π΅Π½ ΡΠΏΠ΅ΡΠΈΡΠ°Π»Π½ΠΎ Π·Π° ΡΡΡΠ΄Π΅Π½ΡΠΈΡΠ΅ Π½Π° ΠΊΡΡΡΠΎΡ
ΠΠ²Π΄Π΅ ΡΠ΅ Π΄ΠΎΠ±ΠΈΠ΅ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ° Π·Π° ΠΆΠΈΠ²ΠΎΡΠΎΡ, ΡΠ½ΠΈΠ²Π΅ΡΠ·ΡΠΌΠΎΡ ΠΈ ΡΓ¨ Π²ΠΎ Linux ΡΠΎ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ.
βΠΠ°ΠΆΠ½Π°ΡΠ° Π²ΠΈΡΡΠΈΠ½Π° Π΄Π΅ΠΊΠ° ΡΠ°Π±ΠΎΡΠΈΡΠ΅ Π½Π΅ ΡΠ΅ ΡΠ΅ΠΊΠΎΠ³Π°Ρ ΠΎΠ½Π°ΠΊΠ²ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΡΡΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ Π΅ ΠΎΠΏΡΡΠΎ ΠΏΠΎΠ·Π½Π°ΡΠΎ...β
-ΠΠ°Π³Π»Π°Ρ ΠΠ΄Π°ΠΌΡ, ΠΠΎΠ΄ΠΈΡ Π½Π° Π°Π²ΡΠΎΡΡΠΎΠΏΠ΅Ρ Π·Π° Π³Π°Π»Π°ΠΊΡΠΈΡΠ°ΡΠ°
ΠΠ΅Π·Π±Π΅Π΄Π½ΠΎΡΡ. ΠΠ³ΠΎΠ»Π΅ΠΌΠ΅Π½Π° Π΄ΠΎΠ²Π΅ΡΠ»ΠΈΠ²ΠΎΡΡ. ΠΠΎΡΠ΅ΡΠΏΠΎΠ½Π΄Π΅Π½ΡΠΈΡΠ°. ΠΠΎΠ»ΠΈΡΠΈΠΊΠ°. Π§Π΅ΡΠΈΡΠΈ ΠΊΠΎΡΠ°Π½ΠΈΡΠΈ Π½Π° Π°ΠΏΠΎΠΊΠ°Π»ΠΈΠΏΡΠ°ΡΠ° sysadmin. ΠΠΎΠΊΡΠ°Ρ Π½Π°ΡΠΈΡΠ΅ ΡΠ΅ΠΊΠΎΡΠ΄Π½Π΅Π²Π½ΠΈ Π·Π°Π΄Π°ΡΠΈ - ΡΠ»Π΅Π΄Π΅ΡΠ΅, ΡΠ΅Π·Π΅ΡΠ²Π½Π° ΠΊΠΎΠΏΠΈΡΠ°, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½ΡΠ°ΡΠΈΡΠ°, ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠ°ΡΠΈΡΠ°, Π°ΠΆΡΡΠΈΡΠ°ΡΠ΅ ΠΈΡΠ½. - Π½ΠΈΠ΅ ΡΠΌΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠ½ΠΈ ΠΈ Π·Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡΠ° Π½Π° Π½Π°ΡΠΈΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ. ΠΡΡΠΈ ΠΈ ΠΎΠ½ΠΈΠ΅ ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠ°Π΄Π΅ ΡΡΠΎ Π΄Π°Π²Π°ΡΠ΅Π»ΠΎΡ Π½Π° ΡΡΠ»ΡΠ³ΠΈ ΠΎΠ΄ ΡΡΠ΅ΡΠ° ΡΡΡΠ°Π½Π° ΠΏΡΠ΅ΠΏΠΎΡΠ°ΡΡΠ²Π° Π΄Π° ΡΠ° ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½Π°ΡΠ° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ. Π‘Π΅ ΡΡΠ²ΡΡΠ²ΡΠ²Π° ΠΊΠ°ΠΊΠΎ ΡΠ°Π±ΠΎΡΠ°
Π‘ΠΎΠΎΡΠ΅Π½ΠΈ ΡΠΎ ΠΎΠ²Π°Π° Π΄ΠΈΠ»Π΅ΠΌΠ°, Π½Π΅ΠΊΠΎΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈ ΠΎΠ΄Π»ΡΡΡΠ²Π°Π°Ρ Π΄Π° ΠΏΡΠ΅Π·Π΅ΠΌΠ°Ρ
ΠΠΎ Π΄ΡΡ
ΠΎΡ Π½Π° ΠΠΎΠ΄ΠΈΡΠΎΡ Π·Π° Π°Π²ΡΠΎΡΡΠΎΠΏΠ΅Ρ Π·Π° Π³Π°Π»Π°ΠΊΡΠΈΡΠ°ΡΠ°, Π΅Π²Π΅ 42 ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΠΏΡΠ°ΡΠ°ΡΠ° Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° ΠΈ ΡΠΏΠΎΡΡΠ΅Π±Π°.
1. SELinux Π΅ ΡΠΈΡΡΠ΅ΠΌ Π·Π° ΠΊΠΎΠ½ΡΡΠΎΠ»Π° Π½Π° ΠΏΡΠΈΠ½ΡΠ΄Π΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ, ΡΡΠΎ Π·Π½Π°ΡΠΈ Π΄Π΅ΠΊΠ° ΡΠ΅ΠΊΠΎΡ ΠΏΡΠΎΡΠ΅Ρ ΠΈΠΌΠ° ΠΎΠ·Π½Π°ΠΊΠ°. Π‘Π΅ΠΊΠΎΡΠ° Π΄Π°ΡΠΎΡΠ΅ΠΊΠ°, Π΄ΠΈΡΠ΅ΠΊΡΠΎΡΠΈΡΠΌ ΠΈ ΡΠΈΡΡΠ΅ΠΌΡΠΊΠΈ ΠΎΠ±ΡΠ΅ΠΊΡ ΠΈΠΌΠ° ΠΈ Π΅ΡΠΈΠΊΠ΅ΡΠΈ. ΠΡΠ°Π²ΠΈΠ»Π°ΡΠ° Π·Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ Π³ΠΎ ΠΊΠΎΠ½ΡΡΠΎΠ»ΠΈΡΠ°Π°Ρ ΠΏΡΠΈΡΡΠ°ΠΏΠΎΡ ΠΏΠΎΠΌΠ΅ΡΡ ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡΠ΅ ΠΏΡΠΎΡΠ΅ΡΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠΈ. ΠΠ΅ΡΠ½Π΅Π»ΠΎΡ Π³ΠΈ ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π° ΠΎΠ²ΠΈΠ΅ ΠΏΡΠ°Π²ΠΈΠ»Π°.
2. ΠΠ²Π°ΡΠ° Π½Π°ΡΠ²Π°ΠΆΠ½ΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈ ΡΠ΅: ΠΡΠΈΠΊΠ΅ΡΠΈΡΠ°ΡΠ΅ β ΠΎΠ·Π½Π°ΠΊΠΈ (Π΄Π°ΡΠΎΡΠ΅ΠΊΠΈ, ΠΏΡΠΎΡΠ΅ΡΠΈ, ΠΏΠΎΡΡΠΈ, ΠΈΡΠ½.) ΠΈ Π’ΠΈΠΏ ΠΈΠ·Π²ΡΡΡΠ²Π°ΡΠ΅ (ΡΡΠΎ Π³ΠΈ ΠΈΠ·ΠΎΠ»ΠΈΡΠ° ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ Π΅Π΄Π½ΠΈ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠΈΠΏΠΎΠ²ΠΈ).
3. ΠΡΠ°Π²ΠΈΠ»Π΅Π½ ΡΠΎΡΠΌΠ°Ρ Π½Π° Π΅ΡΠΈΠΊΠ΅ΡΠ°ΡΠ° user:role:type:level
(ΠΈΠ·Π±ΠΎΡΠ΅Π½).
4. Π¦Π΅Π»ΡΠ° Π½Π° ΠΎΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΠ²ΠΎΠ° (ΠΠ΅Π·Π±Π΅Π΄Π½ΠΎΡΡ Π½Π° ΠΏΠΎΠ²Π΅ΡΠ΅ Π½ΠΈΠ²ΠΎΠ° - MLS) Π΅ Π΄Π° ΡΠΏΡΠ°Π²ΡΠ²Π°Π°Ρ ΡΠΎ ΠΏΡΠΎΡΠ΅ΡΠΈΡΠ΅ (Π΄ΠΎΠΌΠ΅Π½ΠΈΡΠ΅) Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π½ΠΈΠ²ΠΎΡΠΎ Π½Π° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ Π½Π° ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈΡΠ΅ ΡΡΠΎ ΡΠ΅ Π³ΠΈ ΠΊΠΎΡΠΈΡΡΠ°Ρ. ΠΠ° ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°Π΅Π½ ΠΏΡΠΎΡΠ΅Ρ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΡΠΈΡΠ° ΡΡΡΠΎΠ³ΠΎ ΡΠ°ΡΠ½ΠΈ ΠΏΠΎΠ΄Π°ΡΠΎΡΠΈ.
5. ΠΠ±Π΅Π·Π±Π΅Π΄ΡΠ²Π°ΡΠ΅ Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ ΠΎΠ΄ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ (ΠΠ΅Π·Π±Π΅Π΄Π½ΠΎΡΡ ΡΠΎ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΈ - MCS) Π·Π°ΡΡΠΈΡΡΠ²Π° ΡΠ»ΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΈ Π΅Π΄Π½ΠΈ ΠΎΠ΄ Π΄ΡΡΠ³ΠΈ (Π½Π° ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΈΡΡΡΠ΅Π»Π½ΠΈ ΠΌΠ°ΡΠΈΠ½ΠΈ, OpenShift ΠΌΠΎΡΠΎΡΠΈ, 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 -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 run --security-opt label=disable β¦
42. ΠΠΊΠΎ ΡΡΠ΅Π±Π° Π΄Π° ΠΌΡ Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ΅Π»ΠΎΡΠ΅Π½ ΠΏΡΠΈΡΡΠ°ΠΏ Π½Π° ΠΊΠΎΠ½ΡΠ΅ΡΠ½Π΅ΡΠΎΡ Π΄ΠΎ ΡΠΈΡΡΠ΅ΠΌΠΎΡ:
- ΠΠΎΠ΄ΠΌΠ°Π½:
# podman run --privileged β¦
- ΠΠΎΠΊΠ΅Ρ:
# docker run --privileged β¦
Π ΡΠ΅Π³Π° Π²Π΅ΡΠ΅ Π³ΠΎ Π·Π½Π°Π΅ΡΠ΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡΠΎΡ. ΠΠ°ΡΠΎΠ° Π²Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅: Π½Π΅ ΠΏΠ°Π½ΠΈΡΠ΅ΡΠ΅ ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅ΡΠ΅ SELinux.
Π Π΅ΡΠ΅ΡΠ΅Π½ΡΠΈ:
SELinux byΠΠ΅Π½ ΠΠΎΠ»Ρ ΠΠ°ΡΠΈΠΎΡ Π²ΠΈΠ·ΡΠ΅Π»Π΅Π½ Π²ΠΎΠ΄ΠΈΡ Π·Π° ΡΠΏΡΠΎΠ²Π΅Π΄ΡΠ²Π°ΡΠ΅ Π½Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈΡΠ΅ Π½Π° SELinux ΠΈΡΡΠΎ ΡΠ°ΠΊΠ° ΠΎΠ΄ ΠΠ΅Π½ ΠΠΎΠ»ΡΠΠ°ΡΠ°ΠΊΠ½Π°ΡΠ° Π±Π΅Π·Π±Π΅Π΄Π½ΠΎΡΡ Π½Π° Linux Π·Π° ΠΎΠ±ΠΈΡΠ½ΠΈΡΠ΅ ΡΠΌΡΡΠ½ΠΈΡΠΈ byΠ’ΠΎΠΌΠ°Ρ ΠΠ°ΠΌΠ΅ΡΠΎΠ½ ΠΠ½ΠΈΠ³Π° Π·Π° Π±ΠΎΠ΅ΡΠ΅ SELinux byΠΠ°ΠΈΡΠΈΠ½ ΠΠ°ΡΠΈ Π£ΠΏΠ°ΡΡΡΠ²ΠΎ Π·Π° ΠΊΠΎΡΠΈΡΠ½ΠΈΠΊ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡ Π½Π° SELinux-Red Hat Enterprise Linux 7
ΠΠ·Π²ΠΎΡ: www.habr.com