Inceptor est dux SELinux

Inceptor est dux SELinux

Articuli praeparatio ad cursum alumni "Securitas Linux"

SELinux seu Linux Securitatis amplificata est accessus auctus moderandi mechanismum a Civitate US Agency (NSA) ad prohibendos malignos intrusiones. Exemplar accessum coactum (vel nuncium) administrat (Anglice Mandatory Access Control, MAC) super exemplar existentis discretionis (vel selectivae) (Discretionary Access Control English, DAC), id est, permissiones legere, scribere, exequi.

SELinux habet tres modos;

  1. Coactio - accessum negatio secundum praecepta consilium.
  2. permissive — truncum actionum servare, quae consilium violarent, quod in coercitionis modo prohiberetur.
  3. disabled - SELinux completum inactivare.

Per default occasus in /etc/selinux/config

Mutans SELinux modos

Invenire modum currente, currere

$ getenforce

Mutandi modus est permissive currere hoc mandatum

$ setenforce 0

aut, mutare modus a permissive on aliamque coercitionem adversus, Executio

$ setenforce 1

Si SELinux omnino disable opus est, tunc hoc solum fieri potest per fasciculi configurationem

$ vi /etc/selinux/config

Ut disable, SELINUX muta modulum sic:

SELINUX=disabled

Occasus sursum SELinux

Singulae fasciculi et processus notantur contextu SELinux, qui informationis informationis ut user, partes, typus, etc. Si hoc primum tempus tuum ut SELinux efficiat, primum contextus ac titulus configurare debes. Processus assignandi pittacia et contextus notus est ut tagging. Incipere notationem, in lima configuratione mutamus modum to permissive.

$ vi /etc/selinux/config
SELINUX=permissive

Post modum profecti permissive, , file occultum inane fac in radice cum nomine autorelabel

$ touch /.autorelabel

et sileo computer

$ init 6

Nota: modus utimur permissive ad notationem, cum usus modus aliamque coercitionem adversus ut faciam ratio in reboot fragosus.

Noli solliciti esse si in aliquo lima inhaeret download, signum dum accipit. Cum notatio perfecta est et ratio tua densatur, potes ire ad limam conformationem et modum pone aliamque coercitionem adversuset etiam currunt;

$ setenforce 1

Nunc feliciter SELinux in computatro tuo para.

Cras ligna

In notatione, vel dum ratio currit, aliquos errores incidere licet. Ad reprimendam si SELinux tuus recte laborat et si aditus ad aliquem portum, applicationem, etc. non obstruit, ligna inspicere debes. SELinux stipes in /var/log/audit/audit.logsed non opus est totam rem legere ut errores invenias. Uti potes audit2 cur utilitas ad errores inveniendos. Hoc mandatum currite:

$ audit2why < /var/log/audit/audit.log

Quam ob rem indicem errorum accipies. Si errores in ligno non essent, nullae epistulae ostendentur.

Vestibulum SELinux Policy

Consilium SELinux statutum est regulas quae mechanismum securitatis SELinux regunt. Consilium definit regulas statuto ambitu specifica. Nunc discemus quomodo consilia ad accessum ad officia prohibita configuranda permittant.

1. valores Logici (switches)

SWITCH (booleans) permittit te mutare partes consilii in tempore temporis, sine ratione agendi novas rationes creandi. Permittunt te facere mutationes sine rebootingendo vel recompensando SELinux rationes.

exempli gratia
Dicamus velimus communicare directorium domus usoris per FTP legere/scribere, et iam communicavimus, sed cum ad eam accedere conamur, nihil videmus. Causa SELinux ob consilium FTP servo impedit ne legere et scribere ad directorium domus utentis. Non opus est consilium mutare ut FTP server ad directoria domus accedere possit. Videamus an virgas quae sint ad hoc agendo

$ semanage boolean -l

Hoc praeceptum in promptu virgas cum statu currente (vel off) recenset et descriptionem. Quaestionem tuam expolire potes additis grep ut eventus tantum ftp invenias:

$ semanage boolean -l | grep ftp

et invenies sequentia

ftp_home_dir        -> off       Allow ftp to read & write file in user home directory

Hoc transitum non debilitatum est, ut nos cum illo possimus setsebool $ setsebool ftp_home_dir on

Nunc noster ftp daemon poterit accedere directorium domus utentis.
Nota: Etiam indicem virgarum sine descriptione facere potes getsebool -a

2. Titulus ac contextu

Haec ratio communissima est ad consilium deducendi SELinux. Omnis fasciculus, folder, processus et portus cum contextu SELinux signatur:

  • Pro lima et folder, pittacia ut attributa extensa in ratio tabellae repositae sunt et cum sequenti mandato considerari possunt:
    $ ls -Z /etc/httpd
  • Processus et portus, labella a nucleo procurata, potes hos titulos inspicere sic:

processus

$ ps –auxZ | grep httpd

portum

$ netstat -anpZ | grep httpd

exempli gratia
Nunc exemplum inspiciamus ut pittacia et contextus melius intelligamus. Dicamus nos habere telam ministrantem, pro directorio /var/www/html/ использует /home/dan/html/. SELinux hanc violationem consilii considerabit et paginas tuas inspicere non poteris. Haec causa est, quia contextum securitatis cum HTML files coniungendis non constituimus. Ad contextum securitatis videre default, sequenti utere imperio:

$ ls –lz /var/www/html
 -rw-r—r—. root root unconfined_u:object_r:httpd_sys_content_t:s0 /var/www/html/

Hic obtinuit httpd_sys_content_t ut contextus pro imagini html. Hanc securitatem contextum praebere debemus pro currenti directorio, qui nunc hunc locum habet:

-rw-r—r—. dan dan system_u:object_r:user_home_t:s0 /home/dan/html/

Vel imperium ad reprimendam securitatem contextum documenti seu directorium:

$ semanage fcontext -l | grep '/var/www'

Seruationem quoque adhibebimus ad contextum mutandum, cum rectam securitatem contextum invenimus. Ad contextum /home/dan/html mutandum, sequentia mandata curre:

$ semanage fcontext -a -t httpd_sys_content_t ‘/home/dan/html(/.*)?’
$ semanage fcontext -l | grep ‘/home/dan/html’
/home/dan/html(/.*)? all files system_u:object_r:httpd_sys_content_t:s0
$ restorecon -Rv /home/dan/html

Postquam contextus mutatur utens seminis, restitutio mandatum augebit contextui defectus pro lima et directoriis. Servator interretialis noster nunc lima e folder legere poterit /home/dan/htmlquia securitas contextu huius folder mutata est httpd_sys_content_t.

3. crea loci consilia

Possunt condiciones esse ubi praedicta methodi nullius usus sunt tibi et habes errores (avc/negationis) in audit.log. Cum hoc incidit, consilium locale facere debes. Omnes errores invenire potes utens audit2quare, ut supra dictum est.

Potes consilium locale creare ad errores resolvendos. Verbi gratia, errorem comparamus cum httpd (apache) vel smbd (samba), errores tenemus et consilium de illis efficimus;

apache
$ grep httpd_t /var/log/audit/audit.log | audit2allow -M http_policy
samba
$ grep smbd_t /var/log/audit/audit.log | audit2allow -M smb_policy

est http_policy и smb_policy sunt nomina localia quae nos creavimus. Nunc necesse est ut has locales rationes creatas in hodiernum SELinux consilium onerare. Id ita fieri potest;

$ semodule –I http_policy.pp
$ semodule –I smb_policy.pp

Nostri locales rationes receptae sunt nec amplius quicquam avc vel denegemus in audit.log recipere debemus.

Hic fuit conatus meus ut SELinux intelligis auxilium. Spero te legisse hunc articulum cum SELinux commodius senties.

Source: www.habr.com

Add a comment