ΠΠ΅ΡΠ΅Π²ΠΎΠ΄ ΡΡΠ°ΡΡΠΈ ΠΏΠΎΠ΄Π³ΠΎΡΠΎΠ²Π»Π΅Π½ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΡΡΡΠ΄Π΅Π½ΡΠΎΠ² ΠΊΡΡΡΠ°
ΠΠ΄Π΅ΡΡ Π²Ρ ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΠΎΡΠ²Π΅ΡΡ Π½Π° Π²Π°ΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎ ΠΆΠΈΠ·Π½ΠΈ, Π²ΡΠ΅Π»Π΅Π½Π½ΠΎΠΉ ΠΈ Π²ΡΠ΅ΠΌ ΡΠ°ΠΊΠΎΠΌ Π² Linux Ρ ΡΠ»ΡΡΡΠ΅Π½Π½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡΡ.
Β«ΠΠ°ΠΆΠ½Π°Ρ ΠΈΡΡΠΈΠ½Π°, ΡΡΠΎ Π²Π΅ΡΠΈ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΠ²Π»ΡΡΡΡΡ ΡΠ΅ΠΌ, ΡΠ΅ΠΌ ΠΊΠ°ΠΆΡΡΡΡ, ΠΎΠ±ΡΠ΅ΠΈΠ·Π²Π΅ΡΡΠ½Π°β¦Β»
βΠΡΠ³Π»Π°Ρ ΠΠ΄Π°ΠΌΡ, ΠΠ²ΡΠΎΡΡΠΎΠΏΠΎΠΌ ΠΏΠΎ ΠΠ°Π»Π°ΠΊΡΠΈΠΊΠ΅
ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. ΠΠΎΠ²ΡΡΠ΅Π½ΠΈΠ΅ Π½Π°Π΄Π΅ΠΆΠ½ΠΎΡΡΠΈ. Π‘ΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΠ΅. ΠΠΎΠ»ΠΈΡΠΈΠΊΠ°. Π§Π΅ΡΡΡΠ΅ ΠΡΠ°Π΄Π½ΠΈΠΊΠ° ΠΠΏΠΎΠΊΠ°Π»ΠΈΠΏΡΠΈΡΠ° ΡΠΈΡΠ°Π΄ΠΌΠΈΠ½Π°. Π Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊ Π½Π°ΡΠΈΠΌ Π΅ΠΆΠ΅Π΄Π½Π΅Π²Π½ΡΠΌ Π·Π°Π΄Π°ΡΠ°ΠΌ β ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Ρ, ΡΠ΅Π·Π΅ΡΠ²Π½ΠΎΠΌΡ ΠΊΠΎΠΏΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π²Π½Π΅Π΄ΡΠ΅Π½ΠΈΡ, Π½Π°ΡΡΡΠΎΠΉΠΊΠ΅, ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΡ ΠΈ Ρ. Π΄. β ΠΌΡ ΡΠ°ΠΊΠΆΠ΅ ΠΎΡΠ²Π΅ΡΠ°Π΅ΠΌ Π·Π° Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ Π½Π°ΡΠΈΡ
ΡΠΈΡΡΠ΅ΠΌ. ΠΠ°ΠΆΠ΅ ΡΠ΅Ρ
ΡΠΈΡΡΠ΅ΠΌ, Π³Π΄Π΅ ΡΡΠΎΡΠΎΠ½Π½ΠΈΠΉ ΠΏΡΠΎΠ²Π°ΠΉΠ΄Π΅Ρ ΡΠ΅ΠΊΠΎΠΌΠ΅Π½Π΄ΡΠ΅Ρ Π½Π°ΠΌ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ ΡΡΠΈΠ»Π΅Π½Π½ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ. ΠΡΠΎ ΠΏΠΎΡ
ΠΎΠΆΠ΅ Π½Π° ΡΠ°Π±ΠΎΡΡ
Π‘ΡΠΎΠ»ΠΊΠ½ΡΠ²ΡΠΈΡΡ Ρ ΡΡΠΎΠΉ Π΄ΠΈΠ»Π΅ΠΌΠΌΠΎΠΉ, Π½Π΅ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠ΅ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΡ ΡΠ΅ΡΠ°ΡΡ Π²Π·ΡΡΡ
Π Π΄ΡΡ
Π΅ βΠΠ²ΡΠΎΡΡΠΎΠΏΠΎΠΌ ΠΏΠΎ Π³Π°Π»Π°ΠΊΡΠΈΠΊΠ΅β, Π·Π΄Π΅ΡΡ ΠΏΡΠΈΠ²Π΅Π΄Π΅Π½Ρ 42 ΠΎΡΠ²Π΅ΡΠ° Π½Π° Π²Π°ΠΆΠ½ΡΠ΅ Π²ΠΎΠΏΡΠΎΡΡ ΠΎΠ± ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠΈ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ
1. SELinux β ΡΡΠΎ ΡΠΈΡΡΠ΅ΠΌΠ° ΠΏΡΠΈΠ½ΡΠ΄ΠΈΡΠ΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ, ΡΡΠΎ ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ, ΡΡΠΎ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ ΠΈΠΌΠ΅Π΅Ρ ΠΌΠ΅ΡΠΊΡ (lable). ΠΠ°ΠΆΠ΄ΡΠΉ ΡΠ°ΠΉΠ», ΠΊΠ°ΡΠ°Π»ΠΎΠ³ ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½ΡΠΉ ΠΎΠ±ΡΠ΅ΠΊΡ ΡΠ°ΠΊ ΠΆΠ΅ ΠΈΠΌΠ΅ΡΡ ΠΌΠ΅ΡΠΊΠΈ. ΠΡΠ°Π²ΠΈΠ»Π° ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ ΡΠΏΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΡΡΡΠΏΠΎΠΌ ΠΌΠ΅ΠΆΠ΄Ρ ΠΏΡΠΎΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°Π½Π½ΡΠΌΠΈ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ ΠΈ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ. Π―Π΄ΡΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°Π΅Ρ ΡΠΎΠ±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ ΡΡΠΈΡ ΠΏΡΠ°Π²ΠΈΠ».
2. ΠΠ²ΡΠΌΡ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ Π²Π°ΠΆΠ½ΡΠΌΠΈ ΠΊΠΎΠ½ΡΠ΅ΠΏΡΠΈΡΠΌΠΈ ΡΠ²Π»ΡΡΡΡΡ: Labeling β ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° (ΡΠ°ΠΉΠ»Ρ, ΠΏΡΠΎΡΠ΅ΡΡΡ, ΠΏΠΎΡΡΡ ΠΈ Ρ. Π΄.) ΠΈ Type enforcement (ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΠ·ΠΎΠ»ΠΈΡΡΠ΅Ρ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΠΈΠΏΠΎΠ²).
3. ΠΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉ ΡΠΎΡΠΌΠ°Ρ ΠΌΠ΅ΡΠΊΠΈ user:role:type:level
(ΠΎΠΏΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎ).
4. Π¦Π΅Π»ΡΡ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ ΠΌΠ½ΠΎΠ³ΠΎΡΡΠΎΠ²Π½Π΅Π²ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (Multi-Level Security β MLS) ΡΠ²Π»ΡΠ΅ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΠ°ΠΌΠΈ (Π΄ΠΎΠΌΠ΅Π½Π°ΠΌΠΈ) Π½Π° ΠΎΡΠ½ΠΎΠ²Π΅ ΡΡΠΎΠ²Π½Ρ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ Π΄Π°Π½Π½ΡΡ , ΠΊΠΎΡΠΎΡΡΠ΅ ΠΎΠ½ΠΈ Π±ΡΠ΄ΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅Ρ ΠΏΡΠΎΡΠΈΡΠ°ΡΡ ΡΠ²Π΅ΡΡ ΡΠ΅ΠΊΡΠ΅ΡΠ½ΡΠ΅ Π΄Π°Π½Π½ΡΠ΅.
5. ΠΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΠ΅ ΠΌΡΠ»ΡΡΠΈΠΊΠ°ΡΠ΅Π³ΠΎΡΠΈΠΉΠ½ΠΎΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΠΈ (Multi-Category Security β MCS) Π·Π°ΡΠΈΡΠ°Π΅Ρ ΠΏΠΎΡ ΠΎΠΆΠΈΠ΅ ΠΏΡΠΎΡΠ΅ΡΡΡ Π΄ΡΡΠ³ ΠΎΡ Π΄ΡΡΠ³Π° (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΡΠ΅ ΠΌΠ°ΡΠΈΠ½Ρ, ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌΡ OpenShift, ΠΏΠ΅ΡΠΎΡΠ½ΠΈΡΡ SELinux, ΠΊΠΎΠ½ΡΠ΅ΠΉΠ½Π΅ΡΡ ΠΈ Ρ. Π΄.).
6. ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΡ ΡΠ΄ΡΠ° Π΄Π»Ρ ΠΈΠ·ΠΌΠ΅Π½Π΅Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² SELinux ΠΏΡΠΈ Π·Π°Π³ΡΡΠ·ΠΊΠ΅:
autorelabel=1
β Π·Π°ΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠΈΡΡΠ΅ΠΌΡ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΡselinux=0
β ΡΠ΄ΡΠΎ Π½Π΅ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΈΠ½ΡΡΠ°ΡΡΡΡΠΊΡΡΡΡ SELinuxenforcing=0
β Π·Π°Π³ΡΡΠ·ΠΊΠ° Π² permissive ΡΠ΅ΠΆΠΈΠΌΠ΅
7. ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ ΠΏΠ΅ΡΠ΅ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²Π°ΡΡ Π²ΡΡ ΡΠΈΡΡΠ΅ΠΌΡ:
# touch /.autorelabel
#reboot
ΠΡΠ»ΠΈ ΡΠΈΡΡΠ΅ΠΌΠ½Π°Ρ ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ Π±ΠΎΠ»ΡΡΠΎΠ΅ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΡΠΈΠ±ΠΎΠΊ, Π²Π°ΠΌ ΠΌΠΎΠΆΠ΅Ρ ΠΏΠΎΡΡΠ΅Π±ΠΎΠ²Π°ΡΡΡΡ Π·Π°Π³ΡΡΠ·ΠΊΠ° Π² permissive ΡΠ΅ΠΆΠΈΠΌΠ΅, ΡΡΠΎΠ±Ρ ΠΏΠ΅ΡΠ΅ΠΌΠ°ΡΠΊΠΈΡΠΎΠ²ΠΊΠ° ΠΏΡΠΎΡΠ»Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ.
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. ΠΠ°ΡΠ° ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΡΠΊΠΎΠΌΠΏΡΠΎΠΌΠ΅ΡΠΈΡΠΎΠ²Π°Π½Π°, Π΅ΡΠ»ΠΈ Ρ Π²Π°Ρ Π΅ΡΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½Π½ΡΠ΅ Π΄ΠΎΠΌΠ΅Π½Ρ, ΠΏΡΡΠ°ΡΡΠΈΠ΅ΡΡ:
- ΠΠ°Π³ΡΡΠ·ΠΈΡΡ ΠΌΠΎΠ΄ΡΠ»ΠΈ ΡΠ΄ΡΠ°
- ΠΡΠΊΠ»ΡΡΠΈΡΡ enforced ΡΠ΅ΠΆΠΈΠΌ 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/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. Π§ΡΠΎΠ±Ρ Π½Π°ΡΡΡΠΎΠΈΡΡ ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΠΉ ΠΏΡΠΎΡΠ΅ΡΡ (Π΄ΠΎΠΌΠ΅Π½) Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Π² permissive ΡΠ΅ΠΆΠΈΠΌΠ΅: # semanage permissive -a httpd_t
31. ΠΡΠ»ΠΈ Π²Ρ Π±ΠΎΠ»ΡΡΠ΅ Π½Π΅ Ρ
ΠΎΡΠΈΡΠ΅, ΡΡΠΎΠ±Ρ Π΄ΠΎΠΌΠ΅Π½ Π±ΡΠ» permissive: # semanage permissive -d httpd_t
32. Π§ΡΠΎΠ±Ρ ΠΎΡΠΊΠ»ΡΡΠΈΡΡ Π²ΡΠ΅ permissive Π΄ΠΎΠΌΠ΅Π½Ρ: # semodule -d permissivedomains
33. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ MLS ΠΏΠΎΠ»ΠΈΡΠΈΠΊΠΈ SELinux: # yum install selinux-policy-mls
Π² /etc/selinux/config:
SELINUX=permissive
SELINUXTYPE=mls
Π£Π±Π΅Π΄ΠΈΡΠ΅ΡΡ, ΡΡΠΎ SELinux ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π² permissive ΡΠ΅ΠΆΠΈΠΌΠ΅: # 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.
Π‘ΡΡΠ»ΠΊΠΈ:
SELinux byDan Walsh Your visual how-to guide for SELinux policy enforcement also by Dan WalshSecurity Enhanced Linux for mere mortals byThomas Cameron The SELinux Coloring Book byMΓ‘irΓn Duffy SELinux User’s and Administrator’s GuideβRed Hat Enterprise Linux 7
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com