Scheda Consilii pro Administratore Systematis in SELinuxXLII responsa ad quaestiones magni momenti

Articuli translatio specialiter pro alumnis curriculi praeparata est "Administrator Linux».

Scheda Consilii pro Administratore Systematis in SELinuxXLII responsa ad quaestiones magni momenti

Hic responsa ad quaestiones gravissimas de vita, universo et omnibus rebus in... accipies. Linux cum securitate aucta.

"Veritas illa magni momenti, res non semper esse quales apparent, vulgo nota est..."

―Douglas Adams The Hitchhiker's Guide to the Galaxy

Securitas. Fiducia. Obsequentia. Ratio. Quattuor Equites Apocalypsis Administratorum Systematum. Praeter officia nostra cotidiana — monitoria, copias reservatas, distributiones, configurationem, renovationes, et cetera — etiam pro securitate systematum nostrorum curamus. Etiam ea systemata ubi tertius provisor commendat ut securitatem auctam deactivamus. Videtur operari. Ethan Hunt ex "Missione Impossibili".

Hoc dilemma positi, quidam administratores systematis constituunt capere pilula caerulea...quia putant se numquam responsum ad magnam quaestionem de vita, universo, et omnibus rebus scire. Et, ut omnes scimus, illud responsum est 42.

In spiritu libri "The Hitchhiker's Guide to the Galaxy" (Ductor Galacticus Viatoris), hic sunt quadraginta duo responsa ad quaestiones magni momenti de gubernatione et usu. SELinux in systematibus vestris.

1. SELinux — systema moderationis accessus necessarium est, id est, quemque processum titulum habere. Omnis fasciculus, directorium, et objectum systematis etiam titulum habet. Regulae politicae accessum inter processus et objecta titulata gubernant. Nucleus has regulas imponit.

2. Duo notiones gravissimae sunt: labeling — notationes (fasciculorum, processuum, portuum, etc.) et Typi impositio (quae processus inter se secundum typos separat).

3. Forma correcta inscriptionis user:role:type:level (si placet).

4. Propositum securitatis multi-gradus praebendae (Securitas Multi-Livelli (MLS)) est administratio processuum (dominiorum) secundum gradum securitatis datorum quae utentur. Exempli gratia, processus secretus data secretissima legere non potest.

5. Securitatem multicategorialem curans (Securitas Multicategoriae - MCS) processus similes inter se protegit (e.g. machinas virtuales, machinas OpenShift, areas probationis SE)Linux, vasa, cetera).

6. Parametri nuclei ad modos SE mutandosLinux cum oneratur:

  • autorelabel=1 → systema cogit ut renominationem incipiat
  • selinux=0 → nucleus infrastructuram SE non onerareLinux
  • enforcing=0 → in modo permissivo incipere

7. Si totum systema renominare debes:

# touch /.autorelabel
#reboot

Si designatio systematis magnum numerum errorum continet, fortasse necesse erit tibi in modo permissivo incipere ut resignatio prospere cedat.

8. Ad inspiciendum num SE activatum sitLinux: # getenforce

9. Ad SE temporarie activandum/inactivandumLinux: # setenforce [1|0]

10. Status SE InspiciendusLinux: # sestatus

11. Fasciculus configurationis: /etc/selinux/config

12. Quomodo SE operaturLinuxExemplum notationis pro servo interretiali Apache hic est:

  • Repraesentatio binaria: /usr/sbin/httpd→httpd_exec_t
  • Directorium configurationis: /etc/httpd→httpd_config_t
  • Directorium fasciculorum diarii: /var/log/httpd → httpd_log_t
  • Directorium contentorum: /var/www/html → httpd_sys_content_t
  • Scriptum incipiendi: /usr/lib/systemd/system/httpd.service → httpd_unit_file_d
  • processus: /usr/sbin/httpd -DFOREGROUND → httpd_t
  • portus: 80/tcp, 443/tcp → httpd_t, http_port_t

Processus in contextu currens httpd_t, cum obiecto signato interagere potest httpd_something_t.

13. Multa mandata argumentum accipiunt -Z Ad contextum inspiciendum, creandum et recensendum:

  • ls -Z
  • id -Z
  • ps -Z
  • netstat -Z
  • cp -Z
  • mkdir -Z

Contextus constituuntur cum fasciculi creantur secundum contextum directorii parentis (praeter quasdam exceptiones). RPM contextus constituere possunt et tempore institutionis et tempore executionis.

14. Quattuor causae principales errorum SE sunt.Linux, quae fusius describuntur infra in paragraphis 15-21:

  • Labeling quaestiones
  • Propter aliquid quod SELinux oportet scire
  • Error in ratione/applicatione SELinux
  • Informationes tuae fortasse in discrimen adductae sunt

15. Problema cum inscriptione: si fasciculi tui sunt in /srv/myweb Si perperam notatae sunt, accessus denegari potest. Hic sunt paucae rationes ad hoc corrigendum:

  • Si titulum nosti:
    # semanage fcontext -a -t httpd_sys_content_t '/srv/myweb(/.*)?'
  • Si fasciculum cum notis aequivalentibus nosti:
    # semanage fcontext -a -e /srv/myweb /var/www
  • Contextum restituendo (utroque casu):
    # restorecon -vR /srv/myweb

16. Problema cum inscriptione: Si fasciculum moves potius quam exscribas, fasciculus contextum originalem retinebit. Ad hanc rem corrigendam:

  • Mandatum contextuale cum inscriptione muta:
    # chcon -t httpd_system_content_t /var/www/html/index.html
  • Mandatum contextus cum inscriptione nexus muta:
    # chcon --reference /var/www/html/ /var/www/html/index.html
  • Contextum restituere (utroque casu): # restorecon -vR /var/www/html/

17. si SELinux scire debeo, HTTPD in portu 8585 auscultare, SE dic.Linux:

# semanage port -a -t http_port_t -p tcp 8585

18. SELinux scire debeo Valores Booleani qui tibi permittunt partes consilii SE mutare.Linux tempore executionis sine cognitione rescriptionis politicae SELinuxExempli gratia, si vis ut httpd epistulam electronicam mittat, haec inscribe: # setsebool -P httpd_can_sendmail 1

19. SELinux scire debeo Valores logici ad activandas/inactivandas optiones SELinux:

  • Ad omnes valores logicos videndos: # getsebool -a
  • Ad descriptionem cuiusque videndam: # semanage boolean -l
  • Ad valorem logicum statuendum: # setsebool [_boolean_] [1|0]
  • Ad institutionem perpetuam adde -P. For example: # setsebool httpd_enable_ftp_server 1 -P

20. Rationes/Applicationes SELinux errores continere potest, inter quos:

  • Semitae codicis insolitae
  • Configurationes
  • Redirectio exitus standardis
  • Effusiones descriptoris fasciculi
  • Memoria exsecutabilis
  • Bibliothecae male constructae

Aperi tesseras (noli relationem ad Bugzillam submittere; Bugzilla SLA non habet).

21. Informationes tuae fortasse in discrimen adductae sunt, si dominia restricta habes quae conantur:

  • Moduli nuclei onerandi
  • Modum coactum SE inactivareLinux
  • Scribe ad etc_t/shadow_t
  • Regulas iptables mutare

22. Instrumenta SELinux ad modulos rationum publicarum evolvendos:

# yum -y install setroubleshoot setroubleshoot-server

Reincipe vel iterum incipe auditd post institutionem.

23. Usus

journalctl

ut indicem omnium diariorum ad quae pertinent exhibeas setroubleshoot:

# journalctl -t setroubleshoot --since=14:20

24. Usus journalctl Ad enumeranda omnia acta cum specifica nota SE coniunctaLinux. For example:

# journalctl _SELINUX_CONTEXT=system_u:system_r:policykit_t:s0

25. Cum error SE occurritLinux utere diario setroubleshoot cum propositione plurium solutionum possibilium.
Exempli gratia, ex 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. Catae ligneae: SELinux notitias in multis locis refert:

  • /var/log/messages
  • /var/log/audit/audit.log
  • `/var/lib/setroubleshoot/setroubleshoot_database.xml`

27. Adnotatio: Inventio Errorum SELinux in acta revisionis:

# ausearch -m AVC,USER_AVC,SELINUX_ERR -ts today

28. Ad invenienda nuntia SELinux Aditus ad Vector Cache (AVC) pro servitio specifico:

# ausearch -m avc -c httpd

29. utilitas audit2allow Informationem ex actis operationum vetitarum colligit, deinde regulas permissionis SE generat.Linux. For example:

  • Ad descriptionem legibilem causae denegationis accessus creandam: # audit2allow -w -a
  • Ad regulam coertionis typi quae accessum negatum permittit inspiciendam: # audit2allow -a
  • Ad modulum proprium creandum: # audit2allow -a -M mypolicy
  • optionem -M Fasciculum coercitionis generis (.te) nomine definito creat et regulam in fasciculum rationum (.pp) compilat: mypolicy.pp mypolicy.te
  • Ad modulum proprium instituendum: # semodule -i mypolicy.pp

30. Ad separatum processum (dominium) configurandum ut in modo permissivo currat: # semanage permissive -a httpd_t

31. Si iam non vis dominium permissivum esse: # semanage permissive -d httpd_t

32. Ad omnia dominia permissiva inactivanda: # semodule -d permissivedomains

33. Activatio rationis MLS SELinux: # yum install selinux-policy-mls
в /etc/selinux/config:

SELINUX = permissiva
SELINUXTYPE=mls

Fac ut SELinux in modo permissivo operatur: # setenforce 0
Utere scripto fixfilesut fasciculi in proxima reinitiatione denuo inscribantur:

# fixfiles -F onboot # reboot

34. Crea usorem cum certo spatio MLS: # useradd -Z staff_u john

Mandato utens useradd, novum usorem ad usorem SE iam existentem coniunge.Linux (in hoc casu, staff_u).

35. Ad inspiciendas epistulas inter usores SELinux и Linux: # semanage login -l

36. Spatium specificum pro usore defini: # semanage login --modify --range s2:c100 john

37. Ad titulum in directorio domestico usoris corrigendum (si necesse est): # chcon -R -l s2:c100 /home/john

38. Ad categorias praesentes inspiciendas: # chcat -L

39. Ad categorias mutandas vel tuas proprias creare incipiendas, fasciculum sic muta:

/etc/selinux/_<selinuxtype>_/setrans.conf

40. Ad mandatum vel scriptum in certo fasciculo, munere, et contextu usoris exsequendum:

# runcon -t initrc_t -r system_r -u user_u yourcommandhere

  • -t contextus fasciculi
  • -r contextus muneris
  • -u contextus usoris

41. Receptacula cum SE inactivo currentiaLinux:

  • Podman: # podman run --security-opt label=disable …
  • Docker: # docker run --security-opt label=disable …

42. Si necesse est receptaculo plenum accessum ad systema concedere:

  • Podman: # podman run --privileged …
  • Docker: # docker run --privileged …

Et nunc iam responsum nosti. Itaque quaeso: noli perterreri et SE accende.Linux.

references:

Source: www.habr.com

Emptum certos hospites pro locis cum praesidio DDoS, VPS VDS servers 🔥 Eme hospitium interretiale fidum cum praesidio DDoS, servitores VPS VDS | ProHoster