Articuli translatio specialiter pro alumnis curriculi praeparata est .

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. ex "Missione Impossibili".
Hoc dilemma positi, quidam administratores systematis constituunt capere ...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. 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 incipiatselinux=0→ nucleus infrastructuram SE non onerareLinuxenforcing=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 -Zid -Zps -Znetstat -Zcp -Zmkdir -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.html26. 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
-MFasciculum 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
-tcontextus fasciculi-rcontextus muneris-ucontextus 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:
- by
- a Daniele Walsh
- by
- by
Source: www.habr.com
