DokuWiki

It's better when it's simple

Outils pour utilisateurs

Outils du site


fr:security

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
fr:security [2022-09-22 18:20] – [Empêcher l'accès à des répertoires avec IIS] JeromePfr:security [2024-09-01 02:34] (Version actuelle) – [Sécurité] 2a01:e0a:4c1:e270:9539:5ecf:64a2:9f16
Ligne 1: Ligne 1:
-:!: à relire 
 ====== Sécurité ====== ====== Sécurité ======
  
-DokuWiki est une application Web et est souvent utilisée sur des serveurs publics, accessible sur Internet. Cela signifie qu'il y a beaucoup plus de risques qu'il subissent des attaques que, par exemple, une application locale à votre ordinateur.+DokuWiki est une application Web et est souvent utilisée sur des serveurs publics, accessibles sur Internet. Cela signifie qu'il y a beaucoup plus de risques qu'il subissent des attaques que, par exemple, une application locale à votre ordinateur.
  
 DokuWiki est développé en pensant à la sécurité à chaque instant. Nous essayons de trouver un juste équilibre entre l'ergonomie et la sécurité, mais lorsque le cas se présente et qu'aucun compromis n'a été trouvé, l'ergonomie est mise de côté pour privilégier la sécurité. DokuWiki est développé en pensant à la sécurité à chaque instant. Nous essayons de trouver un juste équilibre entre l'ergonomie et la sécurité, mais lorsque le cas se présente et qu'aucun compromis n'a été trouvé, l'ergonomie est mise de côté pour privilégier la sécurité.
Ligne 18: Ligne 17:
 Utilisez les deux premiers moyens de préférence, les troisième et quatrième étant pour des bogues très sérieux, dont la publication avant qu'un patch soit accessible pourrait causer du tort à tous les DokuWiki de par le monde. Utilisez les deux premiers moyens de préférence, les troisième et quatrième étant pour des bogues très sérieux, dont la publication avant qu'un patch soit accessible pourrait causer du tort à tous les DokuWiki de par le monde.
  
-Les problèmes de sécurité déjà rencontrés peuvent être vus dans le [[https://github.com/splitbrain/dokuwiki/issues?q=label%3ASecurity+|système de suivi des bugs]].+Les problèmes de sécurité déjà rencontrés peuvent être vus dans le [[https://github.com/dokuwiki/dokuwiki/issues?q=label%3ASecurity+|système de suivi des bugs]].
  
 Suivant la gravité du problème de sécurité trouvé, le bogue sera incorporé à une version future (pour les problèmes mineurs) ou feront l'objet d'une "bugfix release". Dans ce dernier cas, les administrateurs de DokuWiki seront informés via le système de vérification des mises à jour. Suivant la gravité du problème de sécurité trouvé, le bogue sera incorporé à une version future (pour les problèmes mineurs) ou feront l'objet d'une "bugfix release". Dans ce dernier cas, les administrateurs de DokuWiki seront informés via le système de vérification des mises à jour.
Ligne 40: Ligne 39:
 Pour savoir si votre configuration et les droits d'accès sont bons, essayez d'accéder à ''%%http://yourserver.com/dokuwiki/data/pages/wiki/dokuwiki.txt%%''. Vous ne devriez pas avoir accès à ce fichier de cette manière. L'[[admin_window|Interface Administrer]] vérifiera également ces éléments pour vous et affichera un avertissement si quelque chose ne va pas. Pour savoir si votre configuration et les droits d'accès sont bons, essayez d'accéder à ''%%http://yourserver.com/dokuwiki/data/pages/wiki/dokuwiki.txt%%''. Vous ne devriez pas avoir accès à ce fichier de cette manière. L'[[admin_window|Interface Administrer]] vérifiera également ces éléments pour vous et affichera un avertissement si quelque chose ne va pas.
  
-Veuillez noter que cela n'a rien à voir avec les [[install:permissions|permissions de fichiers]]. L'accès au Web est une configuration spécifique à votre serveur Web.+Veuillez noter que cela n'a rien à voir avec les [[fr:install:permissions|permissions de fichiers]]. L'accès au Web est une configuration spécifique à votre serveur Web.
  
 Si vos répertoires ne sont pas sécurisés correctement, lisez les sections ci-dessous pour savoir comment le faire. Si vos répertoires ne sont pas sécurisés correctement, lisez les sections ci-dessous pour savoir comment le faire.
Ligne 163: Ligne 162:
   - Choisissez "Par défaut, tous les ordinateurs seront : Refusés d'accès"   - Choisissez "Par défaut, tous les ordinateurs seront : Refusés d'accès"
   - Répétez l'opération pour les répertoires /data/ /conf/ /bin/ /inc/ et /vendor/.   - Répétez l'opération pour les répertoires /data/ /conf/ /bin/ /inc/ et /vendor/.
-==== Empêcher l'accès à des répertoires avec Lighttpd ====+==== Refuser l'accès aux répertoires dans Lighttpd ====
  
-En utilisant [[http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModRewrite|URL re-write]], vous pouvez refuser l'accès aux répertoires listés au-dessus. Dans votre fichier de configuration lighttpd.conf, il suffit d'ajouter la règle de réécriture d'URL suivante afin d'empêcher l'accès à quiconqueLa règle suppose que vous ayez installé DokuWiki sous %%http://yourwebsite.tld/dokuwiki/%%. N'oubliez pas de décommenter ''//"mod_rewrite"//'' dans la section ''//server.modules//''.+En utilisant une [[https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModRewrite||URL re-write]], vous pouvez interdire l'accès aux répertoires ci-dessus. Dans votre fichier /etc/lighttpd/lighttpd.conf, l'ajout de la règle de réécriture d'URL suivante devrait suffire à empêcher l'accès. Cela suppose que vos fichiers Dokuwiki sont installés sous http://yourwebsite.tld/dokuwiki/. 
 +  url.rewrite-once = ("^/dokuwiki/(data|conf|bin|inc|vendor)/+." => "/dossier inexistant"
 +N'oubliez pas de décommenter ou d'ajouter "mod_rewrite" dans la section server.modules de /etc/lighttpd/lighttpd.conf. Cela devrait ressembler à ceci : 
 +  server.modules += ( 
 +    "mod_compress", 
 +    "mod_dirlisting", 
 +    "mod_staticfile", 
 +    "mod_rewrite"
 +  ) 
 +Malheureusement, cela n'empêche pas les personnes qui utilisent Vivaldi et probablement d'autres navigateurs basés sur Chromium d'accéder au site. Combiné avec "[[https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModAccess|mod_access]]", il empêche les gens d'accéder au site. D'autres exemples de mod_access sont disponibles [[https://redmine.lighttpd.net/projects/lighttpd/wiki/Docs_ModAccess|ici]]. 
 +Dans le fichier /etc/lighttpd/lighttpd.conf, "mod_access" doit se trouver dans la section "server.modules = (".  
 +<code> 
 +$HTTP["url"] =~ "^/dokuwiki/(data|conf|bin|inc|vendor)/+."
 +url.access-deny = (""
 +
 +</code> 
 +Ajoutez également dans /etc/lighttpd/lighttpd.conf.\\ 
 +\\ 
 +Redémarrer lighttpd avec systemctl reload-or-restart lighttpd et vérifier l'état avec systemctl status lighttpd 
 +==== Refuser l'accès au répertoire dans Nginx ==== 
 + 
 +L'accès aux répertoires susmentionnés peut être désactivé dans la section serveur DokuWiki du fichier de configuration Nginx. 
 +Dans votre fichier de configuration d'hôte (par exemple, /etc/nginx/sites-available/default) ou le fichier nginx.conf, ajoutez l'emplacement suivant pour empêcher l'accès aux répertoires sécurisés.
  
 <code> <code>
-url.rewrite-once = ( "^/dokuwiki/(data|conf|bin|inc|vendor)/+.*" => "/nonexistentfolder" )+    location ~ /(data|conf|bin|inc|vendor)/ 
 +      deny all; 
 +    }
 </code> </code>
  
-ou utilisez ''//"mod_access"//''. Plusieurs exemples sont disponibles [[http://redmine.lighttpd.net/wiki/lighttpd/Docs:ModAccess|ici]].+Remarque : si vous utilisez [[fr:config:xsendfile|xsendfile]], les règles ci-dessus interrompront la fonctionnalité sendfileConsidérer ce qui suit: 
 <code> <code>
-$HTTP["url"] ="^/dokuwiki/(data|conf|bin|inc|vendor)/+.*" +    location ~ /(conf|bin|inc|vendor)/
-    url.access-deny = ("") +        deny all; 
-}+    } 
 +     
 +    location ~ /data/ { 
 +        internal; 
 +    }
 </code> </code>
  
 +==== Refuser l'accès au répertoire dans Cherokee ====
  
-==== Empêcher l'accès à des répertoires avec Nginx ====+Il est relativement facile d'interdire l'accès à ces répertoires en utilisant Cherokee. Dans cherokee-admin, sélectionnez le serveur virtuel où est installé dokuwiki et sélectionnez la gestion des règles.
  
-L'accès aux dossiers sus-mentionnés peut être désactivé dans la section serveur de DokuWiki dans le fichier de configuration de Nginx. +puis ajoutez une nouvelle règle "Regular Expression" et mettez-y ce qui suit (en supposant que dokuwiki se trouve dans le répertoire racine):
-Dans votre fichier nginx.conf, ajoutez les directives ''location'' suivantes afin de prévenir l'accès aux répertoires à sécuriser :+
  
 <code> <code>
-    location ~ /(data|conf|bin|inc|vendor)/ +   /(data|conf|bin|inc|vendor)/
-      deny all; +
-    }+
 </code> </code>
  
-Il est de plus recommandé de refuser l'accès aux fichiers ''.htaccess'' :+N'oubliez pas de le définir comme "NON FINAL", car sinon, un code dans ces répertoires peut toujours être exécuté dans certaines circonstances (règle "Extensions php" comme "NON FINAL" présente, par exemple).
  
 +Allez ensuite dans la section "Gestionnaire"("Handler") et sélectionnez Erreur HTTP. Enfin, sélectionnez "403 Forbidden" dans Erreur HTTP.
 +
 +==== Refuser l'accès au répertoire dans Caddy ====
 +
 +Voici un exemple de Caddyfile pour un wiki servi avec [[https://caddyserver.com|Caddy]] :
 <code> <code>
-    location ~ /\.ht +wiki.example.com { 
-      deny  all; +        log /var/log/caddy/dokuwiki.log 
-    }+        root /var/www/dokuwiki/ 
 +        # Assuming install/config of php-fpm  
 +        # to listen on localhost:9000 
 +        fastcgi / 127.0.0.1:9000 php 
 +        # This block below sends an HTTP 401 message when 
 +        # a client attempts to access the secured directories.  
 + status 401 
 + /data 
 + /conf 
 + /bin 
 + /inc 
 + /vendor 
 + } 
 +}
 </code> </code>
  
Ligne 209: Ligne 253:
  
 La façon la plus sécurisé d'empêcher l'accès aux répertoires mentionnés est de les déplacer hors du-dit "Document Root" (Racine des documents désservis) du serveur web. La façon la plus sécurisé d'empêcher l'accès aux répertoires mentionnés est de les déplacer hors du-dit "Document Root" (Racine des documents désservis) du serveur web.
 +Ce n'est généralement pas nécessaire si vous avez suivi les guides ci-dessus et nécessite un peu plus de compréhension sur le fonctionnement du serveur Web et de DokuWiki. Néanmoins, c'est le moyen le plus sûr de sécuriser votre installation DokuWiki quel que soit le serveur Web utilisé.
  
  
Ligne 262: Ligne 307:
   * [[fr:config:hidepages]] -- cache pour certaines pages de l'indexation et de la recherche   * [[fr:config:hidepages]] -- cache pour certaines pages de l'indexation et de la recherche
   * [[fr:config:safemodehack]] -- contourne les restrictions du mode sans échec   * [[fr:config:safemodehack]] -- contourne les restrictions du mode sans échec
 +  * [[fr:config:disableactions]] -- disable certain actions, e.g. registration or view source
 +  * [[fr:config:baseurl]] -- set a fixed server name the wiki should use to avoid server name spoofing attacks
  
  
Ligne 284: Ligne 331:
  
   * [[fr:install:permissions|Configuration des droits d'accès aux fichiers et répertoires]]   * [[fr:install:permissions|Configuration des droits d'accès aux fichiers et répertoires]]
-  * [[fr:acl|Liste de contrôle d'accès (ACLs)]]+  * Avec la [[fr:acl|liste de contrôle d'accès (ACLs)]] vous pouvez restreindre les pages et/ou les espaces de noms auxquels les utilisateurs ont accès. Vous pouvez accorder des autorisations de lecture et d'écriture en fonction du groupe d'utilisateurs ou des utilisateurs individuels.
   * [[tips:httpslogin|Forcer le login via HTTPS]] (en anglais)   * [[tips:httpslogin|Forcer le login via HTTPS]] (en anglais)
   * [[fr:install:php|Configuration PHP pour DokuWiki]]   * [[fr:install:php|Configuration PHP pour DokuWiki]]
fr/security.1663863647.txt.gz · Dernière modification : de JeromeP

Sauf mention contraire, le contenu de ce wiki est placé sous les termes de la licence suivante : CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki