{"id":93,"date":"2011-01-15T17:02:55","date_gmt":"2011-01-15T16:02:55","guid":{"rendered":"http:\/\/vdeffontaines.free.fr\/newblog\/?p=93"},"modified":"2011-01-15T17:02:55","modified_gmt":"2011-01-15T16:02:55","slug":"spip-et-la-securite","status":"publish","type":"post","link":"https:\/\/blog.gryzor.com\/index.php\/2011\/01\/15\/spip-et-la-securite\/","title":{"rendered":"Spip et la s\u00e9curit\u00e9"},"content":{"rendered":"<p>Penchons nous sur un test, avec un oeil orient\u00e9 &#8220;s\u00e9curit\u00e9&#8221;, du c\u00e9l\u00e8bre CMS spip.<br \/>\nJe teste donc la version 2.1.8. Lors de l&#8217;installation, spip m&#8217;indique que quelques r\u00e9pertoires doivent offrir au processus &#8220;apache&#8221; les droits en \u00e9criture. Ce n&#8217;est pas d\u00e9lirant, dans la mesure o\u00f9 la publication se fait en ligne : je vais y injecter des images, etc.<br \/>\nJ&#8217;applique donc la r\u00e8gle du &#8220;privil\u00e8ge le plus faible&#8221; traditionnelle des syst\u00e8mes de fichiers unix : j&#8217;assigne \u00e0 ces repertoires le groupe apache, et en accordant \u00e0 ce groupe les droits en \u00e9criture :<br \/>\n<code>chgrp www-data IMG\/ tmp\/ local\/ config\/<\/code><br \/>\n<code>chmod g+w IMG\/ tmp\/ local\/ config\/<\/code><br \/>\nL&#8217;installation termin\u00e9e, je cr\u00e9e une rubrique, un article, et j&#8217;y colle une photo pour voir le r\u00e9sultat.<br \/>\nLe r\u00e9sultat, le voici : une image est bien ajout\u00e9e dans le r\u00e9pertoire IMG\/ avec les droits en 666.<br \/>\n<b>De nombreux fichiers de spip sont automatiquement pass\u00e9s en droits 666 ou 777, dans les installations par d\u00e9faut. Y compris des fichiers PHP execut\u00e9s par le serveur web.<\/b><br \/>\nFranchement, \u00e7a fait peur.<br \/>\nJ&#8217;ai trouv\u00e9 une solution simple : remettre un chmod global \u00e0 une valeur plus saine de mani\u00e8re globale pour spip.<br \/>\n\u00c9ditez votre fichier ecrire\/mes_options.php, et posez-y le code suivant :<br \/>\ndefine(&#8216;_SPIP_CHMOD&#8217;, 0770);<br \/>\nou mieux<br \/>\ndefine(&#8216;_SPIP_CHMOD&#8217;, 0570);<br \/>\nLe serveur web aura ainsi les droits de lire les fichiers, et son groupe les droits de lire et modifier ces fichiers.<\/p>\n<p>Je reste tout de m\u00eame estomaqu\u00e9 de voir un logiciel aussi populaire faire la b\u00eatise monumentale du &#8220;chmod 777&#8221;, qui est comme chacun le sait r\u00e9put\u00e9e pour \u00eatre la b\u00eatise traditionnelle du newbie.<br \/>\nPour r\u00e9f\u00e9rence, en s\u00e9curit\u00e9, on ne doit JAMAIS positionner les droits 666 ou 777 sur un fichier, c&#8217;est une h\u00e9r\u00e9sie, et on a TOUJOURS une meilleure solution. La litt\u00e9rature \u00e0 ce sujet ne manque pas : commencer par cet article sur la <a href=\"http:\/\/fr.wikipedia.org\/wiki\/S%C3%A9paration_des_privil%C3%A8ges\">S\u00e9paration des privil\u00e8ges<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Penchons nous sur un test, avec un oeil orient\u00e9 &#8220;s\u00e9curit\u00e9&#8221;, du c\u00e9l\u00e8bre CMS spip. Je teste donc la version 2.1.8. Lors de l&#8217;installation, spip m&#8217;indique que quelques r\u00e9pertoires doivent offrir au processus &#8220;apache&#8221; les droits en \u00e9criture. Ce n&#8217;est pas d\u00e9lirant, dans la mesure o\u00f9 la publication se fait en ligne : je vais y [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[3],"tags":[],"_links":{"self":[{"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/posts\/93"}],"collection":[{"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/comments?post=93"}],"version-history":[{"count":2,"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/posts\/93\/revisions"}],"predecessor-version":[{"id":95,"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/posts\/93\/revisions\/95"}],"wp:attachment":[{"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/media?parent=93"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/categories?post=93"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.gryzor.com\/index.php\/wp-json\/wp\/v2\/tags?post=93"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}