{"id":36280,"date":"2019-10-31T22:10:39","date_gmt":"2019-10-31T19:10:39","guid":{"rendered":"https:\/\/prohoster.info\/blog\/rukovodstvo-dlya-nachinayushhih-po-selinux\/"},"modified":"2019-10-31T22:10:39","modified_gmt":"2019-10-31T19:10:39","slug":"rukovodstvo-dlya-nachinayushhih-po-selinux","status":"publish","type":"post","link":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-po-selinux","title":{"rendered":"Ghid pentru \u00eencep\u0103tori \u00een SELinux","gt_translate_keys":[{"key":"rendered","format":"text"}]},"content":{"rendered":"<p><img decoding=\"async\" alt=\"Ghid pentru \u00eencep\u0103tori \u00een SELinux\" src=\"\/wp-content\/uploads\/2019\/07\/4e1443c8b79a8dfa1b28fb6b6d0666bb.png\" style=\"display:block;margin: 0 auto;\" \/><\/p>\n<p><\/p>\n<p><em>Articolul este tradus pentru studen\u021bii cursului <noindex><a rel=\"nofollow\" href=\"https:\/\/otus.pw\/31Eb\/\">\u201eSecuritatea Linux\u201d<\/a><\/noindex><\/em><\/p>\n<p>SELinux sau Security Enhanced Linux este un mecanism \u00eembun\u0103t\u0103\u021bit de gestionare a accesului, dezvoltat de Agen\u021bia de Securitate Na\u021bional\u0103 a SUA (NSA) pentru a preveni intruziunile mali\u021bioase. Acesta implementeaz\u0103 un model mandatoriu de gestionare a accesului (Mandatory Access Control, MAC) pe deasupra modelului discre\u021bionar existent (Discretionary Access Control, DAC), adic\u0103 a permisiunilor de citire, scriere \u0219i execu\u021bie.<noindex><a rel=\"nofollow\" name=\"habracut\"><\/a><\/noindex><\/p>\n<p><\/p>\n<p>SELinux are trei moduri:<\/p>\n<p><\/p>\n<ol>\n<li><strong>Enforcing<\/strong> \u2014 interzice accesul pe baza regulilor politicii.<\/li>\n<li><strong>Permissive<\/strong> \u2014 \u00eenregistreaz\u0103 ac\u021biunile care \u00eencalc\u0103 politica, care \u00een modul enforcing ar fi fost interzise.<\/li>\n<li><strong>Disabled<\/strong> \u2014 dezactiveaz\u0103 complet SELinux.<\/li>\n<\/ol>\n<p><\/p>\n<p>Set\u0103rile sunt, \u00een mod implicit, \u00een <code>\/etc\/selinux\/config<\/code><\/p>\n<p><\/p>\n<h1 id=\"izmenenie-rezhimov-selinux\">Schimbarea modurilor SELinux<\/h1>\n<p><\/p>\n<p>Pentru a verifica modul curent, rula\u021bi <\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ getenforce<\/code><\/pre>\n<p><\/p>\n<p>Pentru a schimba modul \u00een permissive, rula\u021bi urm\u0103toarea comand\u0103 <\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ setenforce 0<\/code><\/pre>\n<p><\/p>\n<p>sau, pentru a schimba modul din <strong>permissive<\/strong> pe <strong>\u00een<\/strong>enforcing <\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">, executa\u021bi<\/code><\/pre>\n<p><\/p>\n<p>$ setenforce 1 <\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">Dac\u0103 trebuie s\u0103 dezactiva\u021bi complet SELinux, acest lucru se poate face doar prin fi\u0219ierul de configurare<\/code><\/pre>\n<p><\/p>\n<p>$ vi \/etc\/selinux\/config<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">Pentru a dezactiva, modifica\u021bi parametrul SELINUX astfel:<\/code><\/pre>\n<p><\/p>\n<h1 id=\"nastroyka-selinux\">SELINUX=disabled<\/h1>\n<p><\/p>\n<p>Configurarea SELinux <strong>permissive<\/strong>.<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">Fiecare fi\u0219ier \u0219i proces este etichetat cu un context SELinux, care con\u021bine informa\u021bii suplimentare, cum ar fi utilizatorul, rolul, tipul etc. Dac\u0103 activa\u021bi SELinux pentru prima dat\u0103, trebuie mai \u00eent\u00e2i s\u0103 configura\u021bi contextul \u0219i etichetele. Procesul de atribuire a etichetelor \u0219i contextului este cunoscut sub numele de etichetare. Pentru a \u00eencepe etichetarea, \u00een fi\u0219ierul de configurare, schimba\u021bi modul \u00een<\/code><\/pre>\n<p><\/p>\n<p>$ vi \/etc\/selinux\/config\nSELINUX=permissive <strong>permissive<\/strong>Dup\u0103 setarea modului <code>, crea\u021bi \u00een r\u0103d\u0103cin\u0103 un fi\u0219ier ascuns, gol, numit<\/code><\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ touch \/.autorelabel<\/code><\/pre>\n<p><\/p>\n<p>\u0219i reporni\u021bi computerul<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ init 6<\/code><\/pre>\n<p><\/p>\n<p>Not\u0103: folosim modul <strong>permissive<\/strong> pentru etichetare, deoarece utilizarea modului <strong>\u00een<\/strong> poate duce la pr\u0103bu\u0219irea sistemului \u00een timpul repornirii.<\/p>\n<p><\/p>\n<p>Nu v\u0103 face\u021bi griji dac\u0103 \u00eenc\u0103rcarea se blocheaz\u0103 pe un anumit fi\u0219ier, etichetarea dureaz\u0103 ceva timp. Dup\u0103 finalizarea etichet\u0103rii \u0219i a \u00eenc\u0103rc\u0103rii sistemului dumneavoastr\u0103, pute\u021bi s\u0103 accesa\u021bi fi\u0219ierul de configurare \u0219i s\u0103 seta\u021bi modul <strong>\u00een<\/strong>, precum \u0219i s\u0103 rula\u021bi:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">, executa\u021bi<\/code><\/pre>\n<p><\/p>\n<p>Acum a\u021bi activat cu succes SELinux pe computerul dumneavoastr\u0103. <\/p>\n<p><\/p>\n<h1 id=\"monitorim-logi\">Monitoriz\u0103m jurnalele<\/h1>\n<p><\/p>\n<p>Este posibil s\u0103 fi \u00eent\u00e2mpinat anumite erori \u00een timpul marc\u0103rii sau \u00een timpul func\u021bion\u0103rii sistemului. Pentru a verifica dac\u0103 SELinux func\u021bioneaz\u0103 corect \u0219i nu blocheaz\u0103 accesul la vreun port, aplica\u021bie etc., trebuie s\u0103 consulta\u021bi jurnalele. Jurnalul SELinux se afl\u0103 \u00een <code>\/var\/log\/audit\/audit.log<\/code>, dar nu trebuie s\u0103-l citi\u021bi \u00een \u00eentregime pentru a g\u0103si erori. Pute\u021bi folosi utilitarul audit2why pentru a c\u0103uta erori. Rula\u021bi urm\u0103toarea comand\u0103:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ audit2why &lt; \/var\/log\/audit\/audit.log<\/code><\/pre>\n<p><\/p>\n<p>Ca rezultat, ve\u021bi ob\u021bine o list\u0103 de erori. Dac\u0103 nu au fost erori \u00een jurnal, atunci nu vor ap\u0103rea mesaje.<\/p>\n<p><\/p>\n<h1 id=\"nastroyka-politiki-selinux\">Configurarea politicii SELinux<\/h1>\n<p><\/p>\n<p>Politica SELinux este un set de reguli conform c\u0103rora func\u021bioneaz\u0103 mecanismul de securitate SELinux. Politica define\u0219te un set de reguli pentru un anumit mediu. Acum vom studia cum s\u0103 configur\u0103m politicile pentru a permite accesul la servicii interzise.<\/p>\n<p><\/p>\n<h4 id=\"1-logicheskie-znacheniya-pereklyuchateli\">1. Valori logice (comutatoare)<\/h4>\n<p><\/p>\n<p>Comutatoarele (booleans) permit modificarea p\u0103r\u021bilor politicii \u00een timpul func\u021bion\u0103rii, f\u0103r\u0103 a fi necesar\u0103 crearea de politici noi. Ele permit efectuarea modific\u0103rilor f\u0103r\u0103 repornirea sau recompilarea politicii SELinux.<\/p>\n<p><\/p>\n<p><strong>Exemplu<\/strong><br \/>\nS\u0103 presupunem c\u0103 dorim s\u0103 oferim acces la directorul personal al utilizatorului prin FTP, \u00een regim de citire \u0219i scriere, \u0219i deja l-am partajat, dar c\u00e2nd \u00eencerc\u0103m s\u0103 acces\u0103m, nu vedem nimic. Acest lucru se datoreaz\u0103 faptului c\u0103 politica SELinux interzice serverului FTP s\u0103 citeasc\u0103 \u0219i s\u0103 scrie \u00een directorul personal al utilizatorului. Trebuie s\u0103 modific\u0103m politica astfel \u00eenc\u00e2t serverul FTP s\u0103 poat\u0103 accesa directoarele personale. S\u0103 vedem dac\u0103 exist\u0103 vreo comutare pentru aceasta, rul\u00e2nd<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ semanage boolean -l<\/code><\/pre>\n<p><\/p>\n<p>Aceast\u0103 comand\u0103 va returna o list\u0103 de comutatoare disponibile cu starea lor actual\u0103 (activat\/on sau dezactivat\/off) \u0219i o descriere. Pute\u021bi rafina c\u0103utarea ad\u0103ug\u00e2nd grep pentru a g\u0103si rezultate legate numai de ftp:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ semanage boolean -l | grep ftp<\/code><\/pre>\n<p><\/p>\n<p>\u0219i ve\u021bi g\u0103si urm\u0103toarele<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">ftp_home_dir        -&gt; off       Permite ftp s\u0103 citeasc\u0103 \u0219i s\u0103 scrie fi\u0219iere \u00een directorul personal al utilizatorului<\/code><\/pre>\n<p><\/p>\n<p>Acest comutator este oprit, a\u0219a c\u0103 \u00eel vom activa folosind <code>setsebool ftp_home_dir on<\/code><\/p>\n<p><\/p>\n<p>Acum demonul nostru ftp va putea accesa directorul personal al utilizatorului.<br \/>\nNot\u0103: de asemenea, pute\u021bi ob\u021bine o list\u0103 de comutatoare disponibile f\u0103r\u0103 descriere, rul\u00e2nd <code>getsebool -a<\/code><\/p>\n<p><\/p>\n<h4 id=\"2-metki-i-kontekst\">2. Etichete \u0219i context<\/h4>\n<p><\/p>\n<p>Aceasta este cea mai comun\u0103 modalitate de implementare a politicii SELinux. Fiecare fi\u0219ier, folder, proces \u0219i port este etichetat cu un context SELinux:<\/p>\n<p><\/p>\n<ul>\n<li>Pentru fi\u0219iere \u0219i foldere, etichetele sunt stocate ca atribute extinse \u00een sistemul de fi\u0219iere \u0219i pot fi vizualizate cu urm\u0103toarea comand\u0103:\n<pre><code class=\"plaintext\">$ ls -Z \/etc\/httpd<\/code><\/pre>\n<\/li>\n<li>Pentru procese \u0219i porturi, marcarea este gestionat\u0103 de nucleu \u0219i putem vizualiza aceste etichete astfel:<\/li>\n<\/ul>\n<p><\/p>\n<p>un proces<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ ps \u2013auxZ | grep httpd<\/code><\/pre>\n<p><\/p>\n<p>port<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ netstat -anpZ | grep httpd<\/code><\/pre>\n<p><\/p>\n<p><strong>Exemplu<\/strong><br \/>\nAcum s\u0103 lu\u0103m un exemplu pentru a \u00een\u021belege mai bine etichetele \u0219i contextul. S\u0103 presupunem c\u0103 avem <a class=\"wpil_keyword_link\" href=\"https:\/\/prohoster.info\/ro\/server\/\"   title=\"server web\" data-wpil-keyword-link=\"linked\"  data-wpil-monitor-id=\"1142\">server web<\/a>, care \u00een loc de director <code>\/var\/www\/html\/ \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \/home\/dan\/html\/<\/code>. SELinux va considera acest lucru o \u00eenc\u0103lcare a politicii \u0219i nu ve\u021bi putea accesa paginile web. Acest lucru se datoreaz\u0103 faptului c\u0103 nu am setat contextul de securitate asociat cu fi\u0219ierele HTML. Pentru a vizualiza contextul de securitate implicit, utiliza\u021bi urm\u0103toarea comand\u0103:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ ls \u2013lz \/var\/www\/html\n -rw-r\u2014r\u2014. root root unconfined_u:object_r:httpd_sys_content_t:s0 \/var\/www\/html\/<\/code><\/pre>\n<p><\/p>\n<p>Aici am ob\u021binut <code>httpd_sys_content_t<\/code> ca context pentru fi\u0219ierele html. Trebuie s\u0103 set\u0103m acest context de securitate pentru directorul nostru curent, care acum are urm\u0103torul context:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">-rw-r\u2014r\u2014. dan dan system_u:object_r:user_home_t:s0 \/home\/dan\/html\/<\/code><\/pre>\n<p><\/p>\n<p>Comand\u0103 alternativ\u0103 pentru a verifica contextul de securitate al unui fi\u0219ier sau director:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ semanage fcontext -l | grep '\/var\/www'<\/code><\/pre>\n<p><\/p>\n<p>De asemenea, vom folosi semanage pentru a schimba contextul, dup\u0103 ce g\u0103sim contextul de securitate corect. Pentru a schimba contextul \/home\/dan\/html, executa\u021bi urm\u0103toarele comenzi:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ semanage fcontext -a -t httpd_sys_content_t '\/home\/dan\/html(\/.*)?'\n$ semanage fcontext -l | grep '\/home\/dan\/html'\n\/home\/dan\/html(\/.*)? all files system_u:object_r:httpd_sys_content_t:s0\n$ restorecon -Rv \/home\/dan\/html<\/code><\/pre>\n<p><\/p>\n<p>Dup\u0103 ce contextul a fost modificat cu semanage, comanda restorecon va re\u00eenc\u0103rca contextul implicit pentru fi\u0219iere \u0219i foldere. Serverul nostru web va putea acum s\u0103 citeasc\u0103 fi\u0219iere din folderul <code>\/home\/dan\/html<\/code>, deoarece contextul de securitate pentru acest folder a fost schimbat \u00een <code>httpd_sys_content_t<\/code>.<\/p>\n<p><\/p>\n<h4 id=\"3-sozdanie-lokalnyh-politik\">3. Crearea politicilor locale<\/h4>\n<p><\/p>\n<p>Pot ap\u0103rea situa\u021bii \u00een care metodele men\u021bionate mai sus sunt inutile pentru tine \u0219i prime\u0219ti erori (avc\/denial) \u00een audit.log. C\u00e2nd se \u00eent\u00e2mpl\u0103 acest lucru, trebuie s\u0103 creezi o politic\u0103 local\u0103 (Local policy). Toate erorile le po\u021bi g\u0103si cu ajutorul audit2why, a\u0219a cum a fost descris mai sus.<\/p>\n<p><\/p>\n<p>Pentru a remedia erorile, po\u021bi crea o politic\u0103 local\u0103. De exemplu, dac\u0103 primim o eroare legat\u0103 de httpd (apache) sau smbd (samba), c\u0103ut\u0103m erorile \u0219i cre\u0103m o politic\u0103 pentru ele:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">apache\n$ grep httpd_t \/var\/log\/audit\/audit.log | audit2allow -M http_policy\nsamba\n$ grep smbd_t \/var\/log\/audit\/audit.log | audit2allow -M smb_policy<\/code><\/pre>\n<p><\/p>\n<p>Aici <code>http_policy<\/code> \u0219i <code>smb_policy<\/code> \u2014 acestea sunt denumirile politicilor locale pe care le-am creat. Acum trebuie s\u0103 \u00eencarc\u0103m aceste politici locale \u00een politica curent\u0103 SELinux. Acest lucru se poate face astfel:<\/p>\n<p><\/p>\n<pre><code class=\"plaintext\">$ semodule \u2013I http_policy.pp\n$ semodule \u2013I smb_policy.pp<\/code><\/pre>\n<p><\/p>\n<p>Politicile noastre locale au fost \u00eenc\u0103rcate \u0219i nu ar trebui s\u0103 mai primim niciun avc sau denial \u00een audit.log.<\/p>\n<p><em>Aceasta a fost \u00eencercarea mea de a v\u0103 ajuta s\u0103 \u00een\u021belege\u021bi SELinux. Sper c\u0103 dup\u0103 ce a\u021bi citit acest articol, ve\u021bi fi mai confortabili cu SELinux.<\/em><\/p>\n<p>Sursa: <a content=\"nofollow\" rel=\"nofollow\" href=\"https:\/\/habr.com\/ru\/company\/otus\/blog\/460387\/\">habr.com<\/a><\/p>","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"excerpt":{"rendered":"<p>\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432 \u043a\u0443\u0440\u0441\u0430 \u00ab\u0411\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u044c Linux\u00bb SELinux \u0438\u043b\u0438 Security Enhanced Linux \u2014 \u044d\u0442\u043e \u0443\u043b\u0443\u0447\u0448\u0435\u043d\u043d\u044b\u0439 \u043c\u0435\u0445\u0430\u043d\u0438\u0437\u043c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c, \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u0430\u043d\u043d\u044b\u0439 \u0410\u0433\u0435\u043d\u0442\u0441\u0442\u0432\u043e\u043c \u043d\u0430\u0446\u0438\u043e\u043d\u0430\u043b\u044c\u043d\u043e\u0439 \u0431\u0435\u0437\u043e\u043f\u0430\u0441\u043d\u043e\u0441\u0442\u0438 \u0421\u0428\u0410 (\u0410\u041d\u0411 \u0421\u0428\u0410) \u0434\u043b\u044f \u043f\u0440\u0435\u0434\u043e\u0442\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0437\u043b\u043e\u043d\u0430\u043c\u0435\u0440\u0435\u043d\u043d\u044b\u0445 \u0432\u0442\u043e\u0440\u0436\u0435\u043d\u0438\u0439. \u041e\u043d \u0440\u0435\u0430\u043b\u0438\u0437\u0443\u0435\u0442 \u043f\u0440\u0438\u043d\u0443\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u0443\u044e (\u0438\u043b\u0438 \u043c\u0430\u043d\u0434\u0430\u0442\u043d\u0443\u044e) \u043c\u043e\u0434\u0435\u043b\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u044f \u0434\u043e\u0441\u0442\u0443\u043f\u043e\u043c (\u0430\u043d\u0433\u043b. Mandatory Access Control, MAC) \u043f\u043e\u0432\u0435\u0440\u0445 \u0441\u0443\u0449\u0435\u0441\u0442\u0432\u0443\u044e\u0449\u0435\u0439 \u0434\u0438\u0441\u043a\u0440\u0435\u0446\u0438\u043e\u043d\u043d\u043e\u0439 (\u0438\u043b\u0438 \u0438\u0437\u0431\u0438\u0440\u0430\u0442\u0435\u043b\u044c\u043d\u043e\u0439) \u043c\u043e\u0434\u0435\u043b\u0438 (\u0430\u043d\u0433\u043b. Discretionary Access Control, DAC), \u0442\u043e [&hellip;]<\/p>\n","protected":false,"gt_translate_keys":[{"key":"rendered","format":"html"}]},"author":1,"featured_media":27140,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[688],"tags":[],"class_list":["post-36280","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administrirovanie"],"aioseo_notices":[],"aioseo_head":"\n\t\t<!-- All in One SEO 5.0.2.1 - aioseo.com -->\n\t<meta name=\"description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432.\" \/>\n\t<meta name=\"robots\" content=\"max-image-preview:large\" \/>\n\t<meta name=\"author\" content=\"Yuri Gagarin\"\/>\n\t<link rel=\"canonical\" href=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-po-selinux\" \/>\n\t<meta name=\"generator\" content=\"All in One SEO (AIOSEO) 5.0.2.1\" \/>\n\t\t<meta property=\"og:locale\" content=\"ro_RO\" \/>\n\t\t<meta property=\"og:site_name\" content=\"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b\" \/>\n\t\t<meta property=\"og:type\" content=\"article\" \/>\n\t\t<meta property=\"og:title\" content=\"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u043f\u043e SELinux | ProHoster\" \/>\n\t\t<meta property=\"og:description\" content=\"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432.\" \/>\n\t\t<meta property=\"og:url\" content=\"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-po-selinux\" \/>\n\t\t<meta property=\"og:image\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:secure_url\" content=\"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg\" \/>\n\t\t<meta property=\"og:image:width\" content=\"350\" \/>\n\t\t<meta property=\"og:image:height\" content=\"350\" \/>\n\t\t<meta property=\"article:published_time\" content=\"2019-10-31T19:10:39+00:00\" \/>\n\t\t<meta property=\"article:modified_time\" content=\"2019-10-31T19:10:39+00:00\" \/>\n\t\t<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<meta property=\"article:author\" content=\"https:\/\/www.facebook.com\/prohoster\" \/>\n\t\t<!-- All in One SEO -->\n\n","aioseo_head_json":{"title":"\ud83e\udd47Ghid pentru \u00eencep\u0103tori despre SELinux | ProHoster","description":"Traducerea articolului este preg\u0103tit\u0103 pentru studen\u021bi.","canonical_url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-po-selinux","robots":"max-image-preview:large","keywords":"","webmasterTools":{"miscellaneous":""},"schema":null,"og:locale":"ro_RO","og:site_name":"ProHoster | \u041a\u0443\u043f\u0438\u0442\u044c \u043d\u0430\u0434\u0435\u0436\u043d\u044b\u0439 \u0445\u043e\u0441\u0442\u0438\u043d\u0433 \u0434\u043b\u044f \u0441\u0430\u0439\u0442\u043e\u0432 \u0441 \u0437\u0430\u0449\u0438\u0442\u043e\u0439 \u043e\u0442 DDoS, VPS VDS \u0441\u0435\u0440\u0432\u0435\u0440\u044b","og:type":"article","og:title":"\ud83e\udd47\u0420\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u043e \u0434\u043b\u044f \u043d\u0430\u0447\u0438\u043d\u0430\u044e\u0449\u0438\u0445 \u043f\u043e SELinux | ProHoster","og:description":"\u041f\u0435\u0440\u0435\u0432\u043e\u0434 \u0441\u0442\u0430\u0442\u044c\u0438 \u043f\u043e\u0434\u0433\u043e\u0442\u043e\u0432\u043b\u0435\u043d \u0434\u043b\u044f \u0441\u0442\u0443\u0434\u0435\u043d\u0442\u043e\u0432.","og:url":"https:\/\/prohoster.info\/ro\/blog\/administrirovanie\/rukovodstvo-dlya-nachinayushhih-po-selinux","og:image":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:secure_url":"https:\/\/prohoster.info\/wp-content\/uploads\/2021\/11\/logo-350.jpg","og:image:width":350,"og:image:height":350,"article:published_time":"2019-10-31T19:10:39+00:00","article:modified_time":"2019-10-31T19:10:39+00:00","article:publisher":"https:\/\/www.facebook.com\/prohoster","article:author":"https:\/\/www.facebook.com\/prohoster"},"aioseo_meta_data":{"post_id":"36280","title":null,"description":null,"keywords":null,"keyphrases":null,"primary_term":null,"canonical_url":null,"og_title":null,"og_description":null,"og_object_type":"default","og_image_type":"default","og_image_url":null,"og_image_width":null,"og_image_height":null,"og_image_custom_url":null,"og_image_custom_fields":null,"og_video":null,"og_custom_url":null,"og_article_section":null,"og_article_tags":null,"twitter_use_og":false,"twitter_card":"default","twitter_image_type":"default","twitter_image_url":null,"twitter_image_custom_url":null,"twitter_image_custom_fields":null,"twitter_title":null,"twitter_description":null,"schema":{"blockGraphs":[],"customGraphs":[],"default":{"data":{"Article":[],"Course":[],"Dataset":[],"FAQPage":[],"Movie":[],"Person":[],"Product":[],"ProductReview":[],"Car":[],"Recipe":[],"Service":[],"SoftwareApplication":[],"WebPage":[]},"graphName":"","isEnabled":true},"graphs":[]},"schema_type":null,"schema_type_options":null,"pillar_content":false,"robots_default":true,"robots_noindex":false,"robots_noarchive":false,"robots_nosnippet":false,"robots_nofollow":false,"robots_noimageindex":false,"robots_noodp":false,"robots_notranslate":false,"robots_max_snippet":null,"robots_max_videopreview":null,"robots_max_imagepreview":"large","priority":null,"frequency":null,"local_seo":null,"seo_analyzer_scan_date":"2026-02-09 15:05:39","breadcrumb_settings":null,"limit_modified_date":false,"reviewed_by":null,"ai":null,"created":"2021-03-01 01:47:35","updated":"2026-02-09 15:05:39","focus_keyword":null,"additional_keywords":null,"truseo_locale":null},"gt_translate_keys":[{"key":"link","format":"url"}],"_links":{"self":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/36280","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/comments?post=36280"}],"version-history":[{"count":1,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/36280\/revisions"}],"predecessor-version":[{"id":158345,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/posts\/36280\/revisions\/158345"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media\/27140"}],"wp:attachment":[{"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/media?parent=36280"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/categories?post=36280"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/prohoster.info\/ro\/wp-json\/wp\/v2\/tags?post=36280"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}