{"id":1647,"date":"2016-11-28T11:00:13","date_gmt":"2016-11-28T10:00:13","guid":{"rendered":"https:\/\/www.my-it-brain.de\/wordpress\/?p=1647"},"modified":"2021-09-26T13:28:29","modified_gmt":"2021-09-26T11:28:29","slug":"einfuehrung-in-das-grundlegende-konzept-von-selinux","status":"publish","type":"post","link":"https:\/\/www.my-it-brain.de\/wordpress\/einfuehrung-in-das-grundlegende-konzept-von-selinux\/","title":{"rendered":"Einf\u00fchrung in das grundlegende Konzept von SELinux"},"content":{"rendered":"<p>SELinux[1. <a href=\"https:\/\/de.wikipedia.org\/wiki\/SELinux\">SELinux &#8211; Wikipedia<\/a>] (Security-Enhanced Linux; engl. \u201esicherheitsverbessertes Linux\u201c) ist eine Erweiterung des Linux-Kernels, mit der eine zus\u00e4tzliche Sicherheitsschicht in das Betriebssystem eingezogen wird.<\/p>\n<p>In dieser Einf\u00fchrung wird das zu Grunde liegende Konzept kurz vorgestellt und erl\u00e4utert, welche Modi SELinux besitzt, wie diese angezeigt und umgeschaltet werden k\u00f6nnen. An einem einfachen Beispiel mit dem Apache Webserver wird dargestellt, wie SELinux in der Praxis wirkt. Des Weiteren wird mit Hilfe des Beispiels das Vorgehen bei einer Fehleranalyse erl\u00e4utert.<\/p>\n<p>SELinux ist dazu gedacht, das bestehende Berechtigungskonzept unter Linux zu erweitern, um zu verhindern, dass kompromittierte Dienste auf Daten zugreifen, auf die kein Zugriff erforderlich ist.<\/p>\n<p>Als einfaches Beispiel mag hier der Webserver Apache[2. <a href=\"https:\/\/de.wikipedia.org\/wiki\/Apache_HTTP_Server\">Apache HTTP Server &#8211; Wikipedia<\/a>] dienen.<\/p>\n<p>Dieser liest die Dateien, welche er ausliefern soll, in der Standardkonfiguration aus dem dem Verzeichnis <code>\/var\/www\/html<\/code>. Daneben darf der Dienst z.B. auch alle Verzeichnisse und Dateien unterhalb der Verzeichnisse <code>\/tmp<\/code> und <code>\/var\/tmp<\/code> lesen.<\/p>\n<pre>user@host:~$ ls -ld \/tmp\ndrwxrwxrwt. 5 root root 4096 Nov 27 19:05 \/tmp\nuser@host:~$ ls -ld \/var\/tmp\ndrwxrwxrwt. 2 root root 4096 Nov 10 06:34 \/var\/tmp\nuser@host:~$\n<\/pre>\n<p>Grunds\u00e4tzlich hat der Dienst Zugriff auf alle Verzeichnisse und Dateien, welche den Lese- bzw. Schreibzugriff f\u00fcr alle Benutzer erlauben.<\/p>\n<p>SELinux kann nun dazu genutzt werden, um genau diesen Zugriff zu unterbinden. Die folgende Abbildung soll dies verdeutlichen:<\/p>\n<div id=\"attachment_1649\" style=\"width: 576px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/selinux_apache_off.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1649\" class=\"size-large wp-image-1649\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/selinux_apache_off-566x800.png\" alt=\"selinux-example-apache\" width=\"566\" height=\"800\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/selinux_apache_off-566x800.png 566w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/selinux_apache_off-212x300.png 212w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/selinux_apache_off-768x1086.png 768w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/selinux_apache_off-624x883.png 624w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/selinux_apache_off.png 794w\" sizes=\"auto, (max-width: 566px) 100vw, 566px\" \/><\/a><p id=\"caption-attachment-1649\" class=\"wp-caption-text\">M\u00f6gliche Zugriffe mit und ohne SELinux am Beispiel des Apache<\/p><\/div>\n<p>SELinux stellt einfach gesprochen ein Regelwerk dar, nach welchem bestimmt wird, auf welche Verzeichnisse, Dateien, Prozesse und Ports ein Dienst zugreifen darf. Dazu erhalten diese Objekte ein Label mit einem <em>Security Context<\/em>. Nur wenn das SELinux-Regelwerk den Zugriff von einer Ressource auf eine weitere Ressource explizit erlaubt, ist der Zugriff gestattet. Andernfalls wird die Interaktion unterbunden. Dabei unterscheidet SELinux die verschiedenen Label nach Kontexten. Diese sind:<\/p>\n<ul>\n<li>user<\/li>\n<li>role<\/li>\n<li>type<\/li>\n<li>sensitivity<\/li>\n<\/ul>\n<p>Im Folgenden wird ausschlie\u00dflich der Kontext &#8222;type&#8220; weiter betrachtet. So besitzt z.B. der Dienst Apache das Label <strong>httpd_t<\/strong>, w\u00e4hrend Dateien unterhalb von <code>\/var\/www\/html<\/code> das Label <strong>httpd_sys_content_t<\/strong> tragen. Da SELinux eine Regel besitzt, welche den Zugriff des Kontext <strong>httpd_t<\/strong> auf Dateien und Verzeichnisse mit dem Kontext <strong>httpd_sys_content_t<\/strong> gestattet, kann der Apache die Datei <code>index.html<\/code> aus dem Verzeichnis <code>\/var\/www\/html<\/code> anzeigen:<\/p>\n<div id=\"attachment_1652\" style=\"width: 635px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/index.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1652\" class=\"size-large wp-image-1652\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/index-800x678.png\" alt=\"output-index-html\" width=\"625\" height=\"530\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/index.png 800w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/index-300x254.png 300w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/index-768x651.png 768w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/index-624x529.png 624w\" sizes=\"auto, (max-width: 625px) 100vw, 625px\" \/><\/a><p id=\"caption-attachment-1652\" class=\"wp-caption-text\">Ausgabe der Datei \/var\/www\/html\/index.html<\/p><\/div>\n<p>Obiger Screenshot enth\u00e4lt neben dem obligatorischen &#8222;Hallo Welt&#8220; auch noch die Ausgabe des Verzeichnis-Listings, welches neben den \u00fcblichen Angaben wie Berechtigungen, Benutzer und Gruppe auch den SELinux-Kontext mit ausgibt. Wie man SELinux steuert und sich den Kontext von Verzeichnissen, Dateien und Prozessen anzeigen l\u00e4sst, wird im Folgenden Abschnitt erl\u00e4utert.<\/p>\n<h2>Steuerung von SELinux<\/h2>\n<p>SELinux kennt drei Modi:<\/p>\n<ul>\n<li>Enforcing<\/li>\n<li>Permissive<\/li>\n<li>Disabled<\/li>\n<\/ul>\n<p>In welchem Status sich SELinux befindet, kann mit dem Kommando <code>getenforce<\/code> abgefragt werden:<\/p>\n<pre>[root@centos ~]# getenforce\nEnforcing\n[root@centos ~]#\n<\/pre>\n<p>Obige Ausgabe bedeutet, dass SELinux im Modus &#8222;Enforcing&#8220; ausgef\u00fchrt wird. In diesem Modus verhindert SELinux Zugriffe, welche nicht explizit durch das Regelwerk erlaubt werden. Im Unterschied dazu werden diese Zugriffe im Modus &#8222;Permissive&#8220; nicht verhindert, sie werden jedoch protokolliert. Dieser Modus eignet sich daher hervorragend, um das aktuelle Verhalten von Diensten zu analysieren und die Konfiguration ggf. anzupassen. Die Umschaltung zwischen den Modi &#8222;Enforcing&#8220; und &#8222;Permissive&#8220; kann zur Laufzeit erfolgen:<\/p>\n<pre>[root@centos ~]# getenforce\nEnforcing\n[root@centos ~]# setenforce 0\n[root@centos ~]# getenforce\nPermissive\n[root@centos ~]# setenforce 1\n[root@centos ~]# getenforce\nEnforcing\n[root@centos ~]#\n<\/pre>\n<p>Der Standard-Modus wird in der Datei <code>\/etc\/selinux\/config<\/code> festgelegt.<\/p>\n<h2>Anzeige der SELinux-Kontexte<\/h2>\n<p>Der kleine Punkt (im Screenshot rot markiert) hinter den Berechtigungen zeigt an, dass ein SELinux-Kontext f\u00fcr eine Datei bzw. ein Verzeichnis existiert:<\/p>\n<div id=\"attachment_1654\" style=\"width: 754px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/Bildschirmfoto-vom-2016-11-27-20-44-24.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1654\" class=\"size-full wp-image-1654\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/Bildschirmfoto-vom-2016-11-27-20-44-24.png\" alt=\"Der Punkt zeigt einen vorhandenen SELinux-Kontext an\" width=\"744\" height=\"115\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/Bildschirmfoto-vom-2016-11-27-20-44-24.png 744w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/Bildschirmfoto-vom-2016-11-27-20-44-24-300x46.png 300w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/Bildschirmfoto-vom-2016-11-27-20-44-24-624x96.png 624w\" sizes=\"auto, (max-width: 744px) 100vw, 744px\" \/><\/a><p id=\"caption-attachment-1654\" class=\"wp-caption-text\">Der Punkt zeigt einen vorhandenen SELinux-Kontext an<\/p><\/div>\n<p>Welchen Kontext eine Datei bzw. ein Prozess besitzt, kann angezeigt werden, indem bekannte Kommandos mit der Option &#8222;-Z&#8220; benutzt werden. Das folgende Listing zeigt einige Beispiele:<\/p>\n<pre>[root@centos ~]# ps -eZ | grep httpd\nsystem_u:system_r:httpd_t:s0     2876 ?        00:00:00 httpd\nsystem_u:system_r:httpd_t:s0     2920 ?        00:00:00 httpd\nsystem_u:system_r:httpd_t:s0     2921 ?        00:00:00 httpd\nsystem_u:system_r:httpd_t:s0     2922 ?        00:00:00 httpd\nsystem_u:system_r:httpd_t:s0     2923 ?        00:00:00 httpd\nsystem_u:system_r:httpd_t:s0     2924 ?        00:00:00 httpd\nsystem_u:system_r:httpd_t:s0     2925 ?        00:00:00 httpd\nsystem_u:system_r:httpd_t:s0     3152 ?        00:00:00 httpd\n[root@centos ~]# ls -lisaZ \/var\/www\/html\/\ntotal 12\ndrwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 .\ndrwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 ..\n-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html\n[root@centos ~]# ls -lisaZ \/var\/tmp\ntotal 28\ndrwxrwxrwt. root root system_u:object_r:tmp_t:s0       .\ndrwxr-xr-x. root root system_u:object_r:var_t:s0       ..\ndrwxr-xr-x. abrt abrt system_u:object_r:abrt_var_cache_t:s0 abrt\ndrwx------. root root system_u:object_r:tmp_t:s0       systemd-private-f844adcb52b14995b675d9aa065e925c-colord.service-MczkBW\ndrwx------. root root system_u:object_r:tmp_t:s0       systemd-private-f844adcb52b14995b675d9aa065e925c-cups.service-c3Aouq\ndrwx------. root root system_u:object_r:tmp_t:s0       systemd-private-f844adcb52b14995b675d9aa065e925c-httpd.service-oAqhlb\ndrwx------. root root system_u:object_r:tmp_t:s0       systemd-private-f844adcb52b14995b675d9aa065e925c-rtkit-daemon.service-xpSsO2\n[root@centos ~]# ls -lisaZ \/tmp |head -n4\ntotal 96\ndrwxrwxrwt. root      root      system_u:object_r:tmp_t:s0       .\ndr-xr-xr-x. root      root      system_u:object_r:root_t:s0      ..\n-rw-r--r--. root      root      system_u:object_r:tmp_t:s0       anaconda.log\n[root@centos ~]#\n<\/pre>\n<p>Die Datei <code>index.html<\/code> hat bei ihrer Erstellung im Verzeichnis <code>\/var\/www\/html<\/code> automatisch den korrekten Kontext <strong>httpd_sys_content_t<\/strong> erhalten und kann daher im Webbrowser angezeigt werden. Wird eine Datei im Verzeichnis <code>\/tmp<\/code> erstellt, erh\u00e4lt diese automatisch den Kontext <strong>user_tmp_t<\/strong>:<\/p>\n<pre>[root@centos ~]# echo 'TEST' &gt; \/tmp\/test.txt\n[root@centos ~]# ls -lisaZ \/tmp\/test.txt\n-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 \/tmp\/test.txt\n[root@centos ~]#\n<\/pre>\n<h2>Was tun, wenn&#8217;s klemmt?<\/h2>\n<p>Um zu erl\u00e4utern, wie man einem Fehler auf die Spur kommt, baue ich zuerst einen ein. Dazu verschiebe ich die im vorangegangenen Abschnitt erzeugte Datei in das <code>DocumentRoot<\/code> des Apache und versuche, diese im Browser aufzurufen.<\/p>\n<div id=\"attachment_1656\" style=\"width: 678px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/apache_forbidden.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1656\" class=\"size-full wp-image-1656\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/apache_forbidden.png\" alt=\"forbidden\" width=\"668\" height=\"217\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/apache_forbidden.png 668w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/apache_forbidden-300x97.png 300w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/apache_forbidden-624x203.png 624w\" sizes=\"auto, (max-width: 668px) 100vw, 668px\" \/><\/a><p id=\"caption-attachment-1656\" class=\"wp-caption-text\">Forbidden<\/p><\/div>\n<p>SELinux verhindert den Zugriff des Dienstes &#8222;httpd&#8220; auf die Datei &#8222;text.txt&#8220;, da keine Regel existiert, welche den Zugriff vom Kontext <strong>httpd_t<\/strong> auf <strong>user_tmp_t<\/strong> explizit erlaubt. Doch wie kann man dies feststellen, wenn man nicht bereits zu Beginn um den falschen Kontext wei\u00df?<\/p>\n<p>Zuerst wirft man einen Blick auf die Dateiberechtigungen, welche aber keinen Fehler erkennen lassen:<\/p>\n<pre>[root@centos ~]# ls -lZ \/var\/www\/html\/\n-rw-r--r--. root root unconfined_u:object_r:httpd_sys_content_t:s0 index.html\n-rw-r--r--. root root unconfined_u:object_r:user_tmp_t:s0 test.txt\n[root@centos ~]#\n<\/pre>\n<p>Da die Dateiberechtigungen als Fehlerquelle ausscheiden und in diesem Beispiel keine POSIX-ACL[3. <a href=\"https:\/\/wiki.ubuntuusers.de\/ACL\/\">ACL &#8211; wiki.ubuntuusers.de<\/a>] verwendet werden, bleibt nur noch SELinux als Fehlerquelle \u00fcbrig. Daher suchen wir einmal in <code>\/var\/log\/audit\/audit.log<\/code> nach Ereignissen vom Typ &#8222;AVC&#8220;:<\/p>\n<pre>[root@centos ~]# tail \/var\/log\/audit\/audit.log | grep AVC\ntype=AVC msg=audit(1480277043.225:537): avc:  denied  { open } for  pid=2922 comm=\"httpd\" path=\"\/var\/www\/html\/test.txt\" dev=\"sda1\" ino=924457 scontext=system_u:system_r:httpd_t:s0 tcontext=unconfined_u:object_r:user_tmp_t:s0 tclass=file\n<\/pre>\n<p>Treffer! Um die Sache weiter zu analysieren, untersuchen wir als n\u00e4chstes <code>\/var\/log\/messages<\/code> (Ausgabe gek\u00fcrzt). <em>Hinweis:<\/em> Unter RHEL 7 muss das Paket &#8217;setroubleshoot-server&#8216; installiert sein, damit SELinux-Ereignisse auch in <em>\/var\/log\/messages<\/em> geloggt werden (siehe <a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/7\/html\/selinux_users_and_administrators_guide\/sect-security-enhanced_linux-working_with_selinux-which_log_file_is_used\">Abschnitt 4.2. Which Log File is Used<\/a>).<\/p>\n<pre>Nov 27 21:29:13 centos setroubleshoot: SELinux is preventing \/usr\/sbin\/httpd from open access on the file \/var\/www\/html\/test.txt. For complete SELinux messages. run sealert -l 7a6417b8-06e2-4499-8f0f-ed0bb16f2b2a\n<\/pre>\n<p>Hier findet sich eine Best\u00e4tigung, dass SELinux den Zugriff blockiert hat und ein Vorschlag, wie dieser Vorfall genauer analysiert werden kann. Damit lassen sich umfassende Informationen abrufen, welche sogar die L\u00f6sung mit ausgeben (Ausgabe gek\u00fcrzt):<\/p>\n<pre>[root@centos ~]$ sealert -l 7a6417b8-06e2-4499-8f0f-ed0bb16f2b2a\nSELinux is preventing \/usr\/sbin\/httpd from open access on the file \/var\/www\/html\/test.txt.\n\n*****  Plugin restorecon (92.2 confidence) suggests   ************************\n\nIf you want to fix the label. \n\/var\/www\/html\/test.txt default label should be httpd_sys_content_t.\nThen you can run restorecon.\nDo\n# \/sbin\/restorecon -v \/var\/www\/html\/test.txt\n\n*****\n<\/pre>\n<p>Der Bericht gibt an, wie das Standard-Label f\u00fcr die Datei <code>text.txt<\/code> gesetzt sein sollte. Dar\u00fcber hinaus ist dem Bericht der Befehl zu entnehmen, mit dem die Label wieder auf den Standardwert zur\u00fcckgesetzt werden k\u00f6nnen. Nachdem dieser Befehl ausgef\u00fchrt wurde, kann die Datei <code>text.txt<\/code> im Webbrowser ge\u00f6ffnet werden.<\/p>\n<pre>[root@centos ~]# \/sbin\/restorecon -v \/var\/www\/html\/test.txt\n\/sbin\/restorecon reset \/var\/www\/html\/test.txt context unconfined_u:object_r:user_tmp_t:s0-&gt;unconfined_u:object_r:httpd_sys_content_t:s0\n[root@centos ~]#\n<\/pre>\n<div id=\"attachment_1659\" style=\"width: 593px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/browser_with_restorecon.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-1659\" class=\"size-full wp-image-1659\" src=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/browser_with_restorecon.png\" alt=\"correct-selinux-context\" width=\"583\" height=\"160\" srcset=\"https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/browser_with_restorecon.png 583w, https:\/\/www.my-it-brain.de\/wordpress\/wp-content\/uploads\/2016\/11\/browser_with_restorecon-300x82.png 300w\" sizes=\"auto, (max-width: 583px) 100vw, 583px\" \/><\/a><p id=\"caption-attachment-1659\" class=\"wp-caption-text\">Aufruf von test.txt mit korrektem SELinux-Kontext<\/p><\/div>\n<h2>Schlusswort<\/h2>\n<p>Es wurde in das grundlegende Konzept von SELinux und die m\u00f6glichen Betriebsmodi eingef\u00fchrt. Dar\u00fcber hinaus wurde erl\u00e4utert, wie man sich die zu einem Objekt geh\u00f6renden SELinux-Kontexte anzeigen lassen kann und wie diese auf einen Standard-Kontext zur\u00fcckgesetzt werden k\u00f6nnen. Abschlie\u00dfend wurde ein kleiner Einblick in das Vorgehen zur Fehleranalyse gegeben.<\/p>\n<p>Damit bin ich am Ende dieser kleinen Einf\u00fchrung angekommen, wobei das Thema SELinux damit noch lange nicht abschlie\u00dfend behandelt ist. F\u00fcr weiterf\u00fchrende Informationen sei an dieser Stelle auf die Dokumentation der einzelnen Distributionen verwiesen.[4. <a href=\"https:\/\/access.redhat.com\/documentation\/en-us\/red_hat_enterprise_linux\/7\/html\/selinux_users_and_administrators_guide\/index\">RHEL 7: SELinux User&#8217;s and Administrator&#8217;s Guide: Basic and advanced configuration of Security-Enhanced Linux (SELinux)<\/a> {en}] [5. <a href=\"https:\/\/wiki.centos.org\/HowTos\/SELinux\">SELinux &#8211; CentOS Wiki<\/a> {en}] [6. <a href=\"http:\/\/fedoraproject.org\/wiki\/SELinux\">SELinux &#8211; Fedora Project<\/a> {en}]<\/p>\n<h2>Quellen und weiterf\u00fchrende Links<\/h2>\n","protected":false},"excerpt":{"rendered":"<p>SELinux[1. SELinux &#8211; Wikipedia] (Security-Enhanced Linux; engl. \u201esicherheitsverbessertes Linux\u201c) ist eine Erweiterung des Linux-Kernels, mit der eine zus\u00e4tzliche Sicherheitsschicht in das Betriebssystem eingezogen wird. In dieser Einf\u00fchrung wird das zu Grunde liegende Konzept kurz vorgestellt und erl\u00e4utert, welche Modi SELinux besitzt, wie diese angezeigt und umgeschaltet werden k\u00f6nnen. An einem einfachen Beispiel mit dem Apache<span class=\"continue-reading\"> <a href=\"https:\/\/www.my-it-brain.de\/wordpress\/einfuehrung-in-das-grundlegende-konzept-von-selinux\/\">[Weiterlesen&#8230;]<\/a><\/span><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_metis_text_type":"","_metis_text_length":0,"_post_count":0,"footnotes":""},"categories":[1,51],"tags":[58,430,305,34,443,37,46],"class_list":["post-1647","post","type-post","status-publish","format-standard","hentry","category-allgemein","category-linux","tag-linux","tag-osbn","tag-planet","tag-security","tag-selinux","tag-sicherheit","tag-tutorial"],"_links":{"self":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/1647","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/comments?post=1647"}],"version-history":[{"count":14,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/1647\/revisions"}],"predecessor-version":[{"id":2968,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/posts\/1647\/revisions\/2968"}],"wp:attachment":[{"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/media?parent=1647"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/categories?post=1647"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.my-it-brain.de\/wordpress\/wp-json\/wp\/v2\/tags?post=1647"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}