{"id":401,"date":"2012-11-20T13:15:05","date_gmt":"2012-11-20T11:15:05","guid":{"rendered":"https:\/\/www.asafety.fr\/?p=401"},"modified":"2015-11-11T00:22:48","modified_gmt":"2015-11-10T22:22:48","slug":"chrooter-et-securiser-un-serveur-apache2-avec-debootstrap","status":"publish","type":"post","link":"https:\/\/www.asafety.fr\/en\/administration-reseaux-et-systemes\/chrooter-et-securiser-un-serveur-apache2-avec-debootstrap\/","title":{"rendered":"Chrooter et s\u00e9curiser un serveur Apache2 avec debootstrap"},"content":{"rendered":"<p><\/p>\n<p><p>Il y a quelques temps il me devenait n\u00e9cessaire de s\u00e9curiser un serveur Apache2 sous environnement Debian\/Ubuntu Server de mani\u00e8re assez restrictive. Celui-ci dispose bien \u00e9videmment de MySQL5, PHP5 et de diverses autres biblioth\u00e8ques.<\/p>\n<p>L&#8217;objectif \u00e9tait de d\u00e9ployer un mini-service d&#8217;h\u00e9bergement compos\u00e9 de plusieurs sites, tous aussi diff\u00e9rents les uns que les autres. Certains de ces sites devraient avoir la possibilit\u00e9s d&#8217;ex\u00e9cuter des commandes sp\u00e9ciales sur le serveur, d&#8217;acc\u00e9der \u00e0 des binaires bien d\u00e9finis, et d&#8217;effectuer des requ\u00eates au travers de l&#8217;Internet sp\u00e9cifiques.<\/p>\n<p>Apr\u00e8s une multitude de tests divers et vari\u00e9s sur comment cloisonner ses serveurs Apache2\/MySQL5 via un chroot, je finissais toujours par bloquer face \u00e0 une ressource ou une biblioth\u00e8que en dehors du chroot pour les fonctionnalit\u00e9s du site&#8230; Je passais mon temps \u00e0 int\u00e9grer dans le chroot des fichiers\/liens pour que mes services acc\u00e8dent aux ressources n\u00e9cessaires&#8230;<\/p>\n<p>Que cette t\u00e2che f\u00fbt\u00a0fastidieuse, et \u00e0 vrai dire la solution finale ne me convenait pas en termes d&#8217;\u00e9volution. En discutant avec un ami, Jill, que je remercie pour son temps consacr\u00e9, nous avons opt\u00e9 pour une solution bien plus\u00a0drastique, plus simple, plus lourde\u00a0et selon moi mieux adapt\u00e9e \u00e0 mes besoins en termes de d\u00e9pendances externes au chroot.<\/p>\n<p>L&#8217;id\u00e9e est de d\u00e9ployer une autre distribution compl\u00e8te (Debian squeeze en\u00a0l\u2019occurrence), de mani\u00e8re inerte, au sein du serveur actuel. Cette distribution compl\u00e8te se verrait installer tous les services\/outils\/d\u00e9mons\/biblioth\u00e8ques n\u00e9cessaires, et chaque processus serait chroot\u00e9 dans cette distribution. Bien plus simple \u00e0 la gestion ! Mais en contrepartie plus lourde sur le syst\u00e8me h\u00f4te. Cette m\u00e9thode peut \u00eatre\u00a0apparent\u00e9e\u00a0au d\u00e9ploiement d&#8217;une nouvelle distribution au sein d&#8217;un syst\u00e8me sain (telle de la virtualisation), sans que cette distribution soit directement active (elle reste inerte dans son chroot).<\/p>\n<p>Comment faire cela? La solution : <strong>debootstrap<\/strong>. Ce paquet permet de r\u00e9cup\u00e9rer une distribution Debian sur les serveurs officiels et en fait une r\u00e9plique locale.<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# apt-get update &amp;amp;amp;amp;&amp;amp;amp;amp; apt-get upgrade&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# apt-get install debootstrap&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# mkdir -p \/chroot\/web\/&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# debootstrap squeeze \/chroot\/web\/ http:\/\/ftp.debian.org\/debian&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[&#8230;]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;I: Base system installed successfully.&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>A la suite de ces commandes, l&#8217;environnement Debian Squeeze qui accueillera le chroot est fin pr\u00eat. Si votre souhait est de scinder plusieurs serveurs applicatifs dans des prisons diff\u00e9rentes, il sera possible ais\u00e9ment de le faire dans &#8220;\/chroot\/ftp\/&#8221; pour un serveur FTP par exemple. La derni\u00e8re commande &#8220;debootstrap&#8221; r\u00e9cup\u00e8re une distribution Debian compl\u00e8te et la d\u00e9ploie dans &#8220;\/chroot\/web\/&#8221;. Cette \u00e9tape peut \u00eatre un peu longue en fonction de votre connexion.<\/p>\n<p>Une fois le debootstrap d&#8217;achev\u00e9, il suffit de se chrooter sur cette nouvelle distribution :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# chroot \/chroot\/web\/&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/# apt-get update &amp;amp;amp;amp;&amp;amp;amp;amp; apt-get upgrade&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/# apt-get install apache2 mysql-server php5 phpmyadmin&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>Une fois chroot\u00e9 dans la nouvelle distribution, on met \u00e0 jour sa liste de paquets et on installe les paquets n\u00e9cessaires \u00e0 notre service Web (ou un quelconque autre). Apr\u00e8s l&#8217;installation, si l&#8217;on d\u00e9marre Apache, un avertissement concernant le &#8220;FQDN&#8221; nous est indiqu\u00e9 :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/# \/etc\/init.d\/apache2 start&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nStarting web server: apache2apache2: Could not reliably determine the server&#8217;s fully qualified domain name, using 192.168.0.137 for ServerName&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n.&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>Pour d\u00e9sactiver ce message, il suffit de renseigner la directive &#8220;ServerName localhost&#8221; dans le fichier de configuration d&#8217;Apache :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/# nano \/etc\/apache2\/apache2.conf&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nroot@ubuntu:\/# \/etc\/init.d\/apache2 stop&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nStopping web server: apache2.&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nroot@ubuntu:\/# \/etc\/init.d\/apache2 start&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nStarting web server: apache2.&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>Idem, il se peut qu&#8217;il y ait r\u00e9guli\u00e8rement des messages d&#8217;avertissement li\u00e9s aux &#8220;locales&#8221; de la Debian chroot\u00e9e :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;Processing triggers for man-db &#8230;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nlocale: Cannot set LC_CTYPE to default locale: No such file or directory&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nlocale: Cannot set LC_MESSAGES to default locale: No such file or directory&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nlocale: Cannot set LC_ALL to default locale: No such file or directory&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>En effet, il est n\u00e9cessaire de g\u00e9n\u00e9rer les locales fran\u00e7ais :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/# apt-get install locales&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/# nano \/etc\/locale.gen&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;# D\u00e9comenter les &amp;amp;amp;quot;fr_FR*&amp;amp;amp;quot; et &amp;amp;amp;quot;en_US*&amp;amp;amp;quot;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nroot@ubuntu:\/# locale-gen&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nGenerating locales (this might take a while)&#8230;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n en_US.ISO-8859-1&#8230; done&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n en_US.ISO-8859-15&#8230; done&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n en_US.UTF-8&#8230; done&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n fr_FR.ISO-8859-1&#8230; done&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n fr_FR.UTF-8&#8230; done&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nGeneration complete.&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>Il ne reste plus qu&#8217;\u00e0 automatiser le lancement des serveurs \u00e0 partir de la distribution h\u00f4te. Pour cela, quitter le chroot (Ctrl+D) pour revenir au prompt de la distribution principale, et cr\u00e9er le fichier \/etc\/init.d\/apache2Chrooted :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# nano \/etc\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nroot@ubuntu:\/home\/x# cat \/etc\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n#!\/bin\/bash&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nchroot \/chroot\/web\/ \/etc\/init.d\/apache2 $1&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# nano \/etc\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nroot@ubuntu:\/home\/x# cat \/etc\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n#!\/bin\/bash&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nchroot \/chroot\/web\/ \/etc\/init.d\/mysql $1&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# chmod +x \/etc\/init.d\/apache2Chrooted&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# chmod +x \/etc\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nroot@ubuntu:\/home\/x# update-rc.d apache2Chrooted defaults&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nupdate-rc.d: warning: \/etc\/init.d\/apache2Chrooted missing LSB information&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nupdate-rc.d: see &amp;amp;amp;lt;http:\/\/wiki.debian.org\/LSBInitScripts&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n Adding system startup for \/etc\/init.d\/apache2Chrooted &#8230;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc0.d\/K20apache2Chrooted -&amp;amp;amp;gt; ..\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc1.d\/K20apache2Chrooted -&amp;amp;amp;gt; ..\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc6.d\/K20apache2Chrooted -&amp;amp;amp;gt; ..\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc2.d\/S20apache2Chrooted -&amp;amp;amp;gt; ..\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc3.d\/S20apache2Chrooted -&amp;amp;amp;gt; ..\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc4.d\/S20apache2Chrooted -&amp;amp;amp;gt; ..\/init.d\/apache2Chrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc5.d\/S20apache2Chrooted -&amp;amp;amp;gt; ..\/init.d\/apache2Chrooted&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;root@ubuntu:\/home\/x# update-rc.d mysqldChrooted defaults&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nupdate-rc.d: warning: \/etc\/init.d\/mysqldChrooted missing LSB information&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nupdate-rc.d: see &amp;amp;amp;lt;http:\/\/wiki.debian.org\/LSBInitScripts&amp;amp;amp;gt;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n Adding system startup for \/etc\/init.d\/mysqldChrooted &#8230;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc0.d\/K20mysqldChrooted -&amp;amp;amp;gt; ..\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc1.d\/K20mysqldChrooted -&amp;amp;amp;gt; ..\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc6.d\/K20mysqldChrooted -&amp;amp;amp;gt; ..\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc2.d\/S20mysqldChrooted -&amp;amp;amp;gt; ..\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc3.d\/S20mysqldChrooted -&amp;amp;amp;gt; ..\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc4.d\/S20mysqldChrooted -&amp;amp;amp;gt; ..\/init.d\/mysqldChrooted&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n \/etc\/rc5.d\/S20mysqldChrooted -&amp;amp;amp;gt; ..\/init.d\/mysqldChrooted&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>Les services Apache2 et MySQL5 sont \u00e0 pr\u00e9sents cloisonn\u00e9s dans un chroot compos\u00e9 d&#8217;une distribution debian compl\u00e8te, id\u00e9al pour les d\u00e9pendances. Les services se lancent au d\u00e9marrage du serveur au travers du chroot d&#8217;eux m\u00eame.<\/p>\n<p>Il est conseill\u00e9 de modifier vos prompts aussi bien dans la machine h\u00f4te que dans la machine chroot\u00e9e, pour \u00e9viter de se perdre dans l&#8217;emplacement des commandes (coloration des prompt \u00e0 r\u00e9gler dans \/etc\/bash.bashrc pour chaque machine).<\/p>\n<p>Cette technique ne dispense pas par la suite de modifier la configuration de l&#8217;Apache\/MySQL dans le chroot, pour supprimer les fingerprint, renforcer la s\u00e9curit\u00e9, installer des modules comme mod_security, suphp, etc.<\/p>\n<p><strong>Edit du 20\/12\/2012 :<\/strong><\/p>\n<p>Dans le cas d&#8217;un d\u00e9ploiement debootstrap au sein d&#8217;une distribution prot\u00e9g\u00e9e par GRSecurity au niveau du noyau, le debootstrap ne pourra s&#8217;effectuer correctement. En effet, lorsque la distribution est install\u00e9e via le debootstrap, des montages de partition (\/proc notamment) de mani\u00e8re chroot\u00e9e sont r\u00e9alis\u00e9s automatiquement. GRSecurity dispose d&#8217;une protection pour l&#8217;ex\u00e9cution de commande &#8220;mount&#8221; ou encore &#8220;chmod&#8221; au sein d&#8217;un chroot, ce qui emp\u00eache le debootstrap de se finaliser :<\/p>\n<p>[bash][&#8230;]&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nI: Extracting util-linux&#8230;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nI: Extracting zlib1g&#8230;&amp;amp;lt;br \/&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\nW: Failure trying to run: chroot \/prison\/cage mount -t proc proc \/proc[\/bash]<\/p>\n<p>Pour forcer le d\u00e9ploiement du debootstrap malgr\u00e9 la protection de GRSecurity, il est n\u00e9cessaire d&#8217;autoriser explicitement la commande &#8220;mount&#8221; et &#8220;chmod&#8221; dans un &#8220;chroot&#8221;. Pour cela, ex\u00e9cuter les commandes suivantes avant le debootstrap :<\/p>\n<p>[bash]&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;echo 0 &amp;amp;amp;gt; \/proc\/sys\/kernel\/grsecurity\/chroot_deny_mount&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;echo 0 &amp;amp;amp;gt; \/proc\/sys\/kernel\/grsecurity\/chroot_deny_chmod&amp;amp;lt;\/p&amp;amp;gt;&amp;lt;br \/&amp;gt;<br \/>\n&amp;amp;lt;p&amp;amp;gt;[\/bash]<\/p>\n<p>A noter que sur des serveurs d\u00e9di\u00e9s &#8220;Kimsufi&#8221; avec une distribution install\u00e9e sur le HDD local (type Ubuntu Server 12.10 64bits), GRSecurity est d\u00e9ploy\u00e9 au travers de la partition de boot, et n&#8217;est donc pas configurable de la sorte&#8230;<\/p>\n<\/p>\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Il y a quelques temps il me devenait n\u00e9cessaire de s\u00e9curiser un serveur Apache2 sous environnement Debian\/Ubuntu Server de mani\u00e8re [&hellip;]<\/p>\n","protected":false},"author":1337,"featured_media":1215,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[59,124,165],"tags":[172,171,180,169,168,177,178,173,174,181,179,176,175,170],"class_list":["post-401","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-administration-reseaux-et-systemes","category-invisibilite-et-camouflage","category-os","tag-apache2","tag-chroot","tag-cloisonnement","tag-debain","tag-debootstrap","tag-dependances","tag-locales","tag-mysql5","tag-php5","tag-prison","tag-protection","tag-securisation-apache","tag-service-hebergement","tag-squeeze"],"_links":{"self":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/401","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/users\/1337"}],"replies":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/comments?post=401"}],"version-history":[{"count":13,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/401\/revisions"}],"predecessor-version":[{"id":1636,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/posts\/401\/revisions\/1636"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media\/1215"}],"wp:attachment":[{"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/media?parent=401"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/categories?post=401"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.asafety.fr\/en\/wp-json\/wp\/v2\/tags?post=401"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}