SELinux ΠΌΠ°ΠΌΠ΅Ρ‡ΠΊΠΈ лист Π·Π° систСмски администратори: 42 ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°

ΠŸΡ€Π΅Π²ΠΎΠ΄ΠΎΡ‚ Π½Π° ΡΡ‚Π°Ρ‚ΠΈΡ˜Π°Ρ‚Π° Π΅ ΠΏΠΎΠ΄Π³ΠΎΡ‚Π²Π΅Π½ ΡΠΏΠ΅Ρ†ΠΈΡ˜Π°Π»Π½ΠΎ Π·Π° студСнтитС Π½Π° курсот β€žΠΠ΄ΠΌΠΈΠ½ΠΈΡΡ‚Ρ€Π°Ρ‚ΠΎΡ€ Π½Π° Π›ΠΈΠ½ΡƒΠΊΡβ€œ.

SELinux ΠΌΠ°ΠΌΠ΅Ρ‡ΠΊΠΈ лист Π·Π° систСмски администратори: 42 ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ°

ОвдС ќС Π΄ΠΎΠ±ΠΈΠ΅Ρ‚Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ° Π·Π° ΠΆΠΈΠ²ΠΎΡ‚ΠΎΡ‚, ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·ΡƒΠΌΠΎΡ‚ ΠΈ сè Π²ΠΎ Linux со ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π° бСзбСдност.

β€žΠ’Π°ΠΆΠ½Π°Ρ‚Π° вистина Π΄Π΅ΠΊΠ° Ρ€Π°Π±ΠΎΡ‚ΠΈΡ‚Π΅ Π½Π΅ сС сСкогаш ΠΎΠ½Π°ΠΊΠ²ΠΈ ΠΊΠ°ΠΊΠ²ΠΈ ΡˆΡ‚ΠΎ ΠΈΠ·Π³Π»Π΅Π΄Π°Π°Ρ‚ Π΅ ΠΎΠΏΡˆΡ‚ΠΎ ΠΏΠΎΠ·Π½Π°Ρ‚ΠΎ...β€œ

-Даглас Адамс, Π’ΠΎΠ΄ΠΈΡ‡ Π½Π° автостопСр Π·Π° Π³Π°Π»Π°ΠΊΡΠΈΡ˜Π°Ρ‚Π°

БСзбСдност. Π—Π³ΠΎΠ»Π΅ΠΌΠ΅Π½Π° довСрливост. ΠšΠΎΡ€Π΅ΡΠΏΠΎΠ½Π΄Π΅Π½Ρ†ΠΈΡ˜Π°. ΠŸΠΎΠ»ΠΈΡ‚ΠΈΠΊΠ°. Π§Π΅Ρ‚ΠΈΡ€ΠΈ ΠΊΠΎΡšΠ°Π½ΠΈΡ†ΠΈ Π½Π° апокалипсата sysadmin. ΠŸΠΎΠΊΡ€Π°Ρ˜ Π½Π°ΡˆΠΈΡ‚Π΅ сСкојднСвни Π·Π°Π΄Π°Ρ‡ΠΈ - слСдСњС, Ρ€Π΅Π·Π΅Ρ€Π²Π½Π° копија, ΠΈΠΌΠΏΠ»Π΅ΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΡ˜Π°, ΠΊΠΎΠ½Ρ„ΠΈΠ³ΡƒΡ€Π°Ρ†ΠΈΡ˜Π°, Π°ΠΆΡƒΡ€ΠΈΡ€Π°ΡšΠ΅ ΠΈΡ‚Π½. - Π½ΠΈΠ΅ смС ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€Π½ΠΈ ΠΈ Π·Π° бСзбСдноста Π½Π° Π½Π°ΡˆΠΈΡ‚Π΅ систСми. Π”ΡƒΡ€ΠΈ ΠΈ ΠΎΠ½ΠΈΠ΅ систСми ΠΊΠ°Π΄Π΅ ΡˆΡ‚ΠΎ Π΄Π°Π²Π°Ρ‚Π΅Π»ΠΎΡ‚ Π½Π° услуги ΠΎΠ΄ Ρ‚Ρ€Π΅Ρ‚Π° страна ΠΏΡ€Π΅ΠΏΠΎΡ€Π°Ρ‡ΡƒΠ²Π° Π΄Π° ја ΠΎΠ½Π΅Π²ΠΎΠ·ΠΌΠΎΠΆΠΈΠΌΠ΅ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½Π°Ρ‚Π° бСзбСдност. Π‘Π΅ чувствува ΠΊΠ°ΠΊΠΎ Ρ€Π°Π±ΠΎΡ‚Π° Π˜Ρ‚Π°Π½ Π₯Π°Π½Ρ‚ ΠΎΠ΄ β€žΠœΠΈΡΠΈΡ˜Π°: ΠΠ΅Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Π°β€œ.

Π‘ΠΎΠΎΡ‡Π΅Π½ΠΈ со ΠΎΠ²Π°Π° Π΄ΠΈΠ»Π΅ΠΌΠ°, Π½Π΅ΠΊΠΎΠΈ систСмски администратори ΠΎΠ΄Π»ΡƒΡ‡ΡƒΠ²Π°Π°Ρ‚ Π΄Π° ΠΏΡ€Π΅Π·Π΅ΠΌΠ°Ρ‚ сина ΠΏΠΈΠ»ΡƒΠ»Π°, Π·Π°Ρ‚ΠΎΠ° ΡˆΡ‚ΠΎ мислат Π΄Π΅ΠΊΠ° никогаш Π½Π΅ΠΌΠ° Π΄Π° Π³ΠΎ Π·Π½Π°Π°Ρ‚ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΎΡ‚ Π½Π° Π³ΠΎΠ»Π΅ΠΌΠΎΡ‚ΠΎ ΠΏΡ€Π°ΡˆΠ°ΡšΠ΅ Π·Π° ΠΆΠΈΠ²ΠΎΡ‚ΠΎΡ‚, ΡƒΠ½ΠΈΠ²Π΅Ρ€Π·ΡƒΠΌΠΎΡ‚ ΠΈ сСто Ρ‚ΠΎΠ°. И ΠΊΠ°ΠΊΠΎ ΡˆΡ‚ΠΎ ситС Π·Π½Π°Π΅ΠΌΠ΅, Ρ‚ΠΎΡ˜ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ Π΅ 42.

Π’ΠΎ Π΄ΡƒΡ…ΠΎΡ‚ Π½Π° Π’ΠΎΠ΄ΠΈΡ‡ΠΎΡ‚ Π·Π° автостопСр Π·Π° Π³Π°Π»Π°ΠΊΡΠΈΡ˜Π°Ρ‚Π°, Π΅Π²Π΅ 42 ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΈ Π½Π° Π²Π°ΠΆΠ½ΠΈ ΠΏΡ€Π°ΡˆΠ°ΡšΠ° Π·Π° ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»Π° ΠΈ ΡƒΠΏΠΎΡ‚Ρ€Π΅Π±Π°. SELinux Π½Π° Π²Π°ΡˆΠΈΡ‚Π΅ систСми.

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 run --security-opt label=disable …

42. Ако Ρ‚Ρ€Π΅Π±Π° Π΄Π° ΠΌΡƒ Π΄Π°Π΄Π΅Ρ‚Π΅ цСлосСн пристап Π½Π° ΠΊΠΎΠ½Ρ‚Π΅Ρ˜Π½Π΅Ρ€ΠΎΡ‚ Π΄ΠΎ систСмот:

  • Подман: # podman run --privileged …
  • Π”ΠΎΠΊΠ΅Ρ€: # docker run --privileged …

И сСга вСќС Π³ΠΎ Π·Π½Π°Π΅Ρ‚Π΅ ΠΎΠ΄Π³ΠΎΠ²ΠΎΡ€ΠΎΡ‚. Π—Π°Ρ‚ΠΎΠ° Π²Π΅ ΠΌΠΎΠ»ΠΈΠΌΠ΅: Π½Π΅ ΠΏΠ°Π½ΠΈΡ‡Π΅Ρ‚Π΅ ΠΈ ΠΎΠ²ΠΎΠ·ΠΌΠΎΠΆΠ΅Ρ‚Π΅ SELinux.

Π Π΅Ρ„Π΅Ρ€Π΅Π½Ρ†ΠΈ:

Π˜Π·Π²ΠΎΡ€: www.habr.com

Π”ΠΎΠ΄Π°Π΄Π΅Ρ‚Π΅ ΠΊΠΎΠΌΠ΅Π½Ρ‚Π°Ρ€