Cette page vous donne les différences entre la révision choisie et la version actuelle de la page.
linux:dokuwiki:secu [2011/01/16 11:42] matthieu |
linux:dokuwiki:secu [2011/10/04 22:15] (Version actuelle) matthieu ancienne révision restaurée |
||
---|---|---|---|
Ligne 4: | Ligne 4: | ||
Cette page détaille comment sécuriser les sections privées de [[linux:Dokuwiki]]. | Cette page détaille comment sécuriser les sections privées de [[linux:Dokuwiki]]. | ||
- | :!: Dernière mise à jour pour la version 2010-11-07. | + | :!: Dernière mise à jour pour la version 2011-05-25a. |
===== Créer une section privée ===== | ===== Créer une section privée ===== | ||
Ligne 39: | Ligne 39: | ||
- | ===== Masquer complètement l'existence des pages ===== | + | ===== Masquer complètement l'existence des pages non autorisées ===== |
Les ACL permettent de rendre les pages inaccessibles mais ne masquent pas complètement leur existence.\\ | Les ACL permettent de rendre les pages inaccessibles mais ne masquent pas complètement leur existence.\\ | ||
Cette section recense les failles de sécurité que j'ai détectée lorsque des sections privées sont utilisées et fournit un correctif. | Cette section recense les failles de sécurité que j'ai détectée lorsque des sections privées sont utilisées et fournit un correctif. | ||
Ligne 62: | Ligne 62: | ||
{{:linux:dokuwiki:doku_secu_1_4.png|}} | {{:linux:dokuwiki:doku_secu_1_4.png|}} | ||
- | Le détail des problèmes est décrit dans les paragraphes suivants. | + | Détail des problèmes : |
+ | * Même si le contenu d'une page est bloqué, il est malgré tout possible de connaitre son titre si l'option "use_heading" est activée. | ||
+ | * Le breadcrumb (ou piste en français) indique les pages visitées, permet de connaitre si une page existe (les pages inexistantes ne sont pas ajoutées). | ||
+ | * Lorsqu'une page contient des liens vers d'autres pages, ceux-ci indiquent si la page existe même lorsque l'accès y est interdit.\\ | ||
+ | De plus si useheading est activé, le titre de la page est également indiqué. | ||
+ | |||
+ | :!: Attention, les pages générées sont cachées par dokuwiki, un utilisateur peut donc voir les liens si la page cachée a été générée pour utilisateur qui dispose des autorisations pour ces liens.\\ | ||
+ | Il faut donc éviter d'insérer dans des pages "publiques" des liens vers des pages "privées" ou désactiver le cache des pages. | ||
+ | |||
+ | Correctif : {{:linux:dokuwiki:dokuwiki_2011-05-25_secu1.patch|}} | ||
+ | <code> | ||
+ | :/opt/dokuwiki/inc# patch -p 1 < /root/dokuwiki_2011-05-25_secu1.patch | ||
+ | patching file common.php | ||
+ | patching file parser/xhtml.php | ||
+ | :/opt/dokuwiki/inc# | ||
+ | </code> | ||
+ | |||
+ | |||
+ | ==== Démo corrigée ==== | ||
+ | Voici les screenshots avec les patchs appliqués : | ||
+ | |||
+ | {{:linux:dokuwiki:doku_secu_2_1.png|}} | ||
+ | |||
+ | {{:linux:dokuwiki:doku_secu_2_2.png|}} | ||
+ | |||
+ | |||
+ | ==== Patchs pour les anciennes versions ==== | ||
+ | === 2008-05-05 === | ||
+ | Patch pour la version 2008-05-05: {{doku_hide-2008-05-05.patch}} | ||
+ | |||
+ | <code> | ||
+ | wiki:/opt/wiki# patch -p 1 < /root/doku_hide.patch | ||
+ | patching file inc/common.php | ||
+ | patching file inc/parser/xhtml.php | ||
+ | patching file inc/parserutils.php | ||
+ | patching file inc/template.php | ||
+ | wiki:/opt/wiki# | ||
+ | </code> | ||
+ | |||
+ | |||
+ | === 2009-02-14 === | ||
+ | Patch pour la version 2009-02-14: {{dokuwiki-2009-02-14_security.patch}} | ||
+ | |||
+ | <code> | ||
+ | wiki:/opt/wiki/inc# patch -p 1 < /root/doku_hide.patch | ||
+ | patching file common.php | ||
+ | patching file parser/xhtml.php | ||
+ | patching file parserutils.php | ||
+ | patching file template.php | ||
+ | wiki:/opt/wiki/inc# | ||
+ | </code> | ||
+ | |||
+ | === 2010-11-07 === | ||
+ | Patchs pour la version 2010-11-07. | ||
- | ==== Affichage du titre des sections privées ==== | + | == Affichage du titre des sections privées == |
Même si le contenu d'une page est bloqué, il est malgré tout possible de connaitre son titre si l'option "use_heading" est activée. | Même si le contenu d'une page est bloqué, il est malgré tout possible de connaitre son titre si l'option "use_heading" est activée. | ||
Ligne 75: | Ligne 128: | ||
- | ==== Le style utilisé dans youarehere indique si la page existe ==== | + | == Le style utilisé dans youarehere indique si la page existe == |
Il est possible de distinguer si une page existe ou non en fonction du style utilisé dans "youarehere" (il s'agit du texte en haut à gauche en titre dans la page). | Il est possible de distinguer si une page existe ou non en fonction du style utilisé dans "youarehere" (il s'agit du texte en haut à gauche en titre dans la page). | ||
Ligne 86: | Ligne 139: | ||
</code> | </code> | ||
- | ==== Le breadcrumb indique si la page existe ==== | + | == Le breadcrumb indique si la page existe == |
Le breadcrumb (ou piste en français) indique les pages visitées, permet de connaitre si une page existe (les pages inexistantes ne sont pas ajoutées). | Le breadcrumb (ou piste en français) indique les pages visitées, permet de connaitre si une page existe (les pages inexistantes ne sont pas ajoutées). | ||
Ligne 97: | Ligne 150: | ||
</code> | </code> | ||
- | ==== Les liens vers les pages indiquent si une page existe et en indique le titre ==== | + | == Les liens vers les pages indiquent si une page existe et en indique le titre == |
Lorsqu'une page contient des liens vers d'autres pages, ceux-ci indiquent si la page existe même lorsque l'accès y est interdit.\\ | Lorsqu'une page contient des liens vers d'autres pages, ceux-ci indiquent si la page existe même lorsque l'accès y est interdit.\\ | ||
De plus si useheading est activé, le titre de la page est également indiqué. | De plus si useheading est activé, le titre de la page est également indiqué. | ||
Ligne 111: | Ligne 164: | ||
:!: Attention, les pages générées sont cachées par dokuwiki, un utilisateur peut donc voir les liens si la page cachée a été générée pour utilisateur qui dispose des autorisations pour ces liens.\\ | :!: Attention, les pages générées sont cachées par dokuwiki, un utilisateur peut donc voir les liens si la page cachée a été générée pour utilisateur qui dispose des autorisations pour ces liens.\\ | ||
Il faut donc éviter d'insérer dans des pages "publiques" des liens vers des pages "privées". | Il faut donc éviter d'insérer dans des pages "publiques" des liens vers des pages "privées". | ||
- | |||
- | ==== Démo corrigée ==== | ||
- | Voici les screenshots avec les patchs appliqués : | ||
- | |||
- | {{:linux:dokuwiki:doku_secu_2_1.png|}} | ||
- | |||
- | {{:linux:dokuwiki:doku_secu_2_2.png|}} | ||
- | |||
- | |||
- | ==== Patchs pour les anciennes versions ==== | ||
- | === 2008-05-05 === | ||
- | Patch pour la version 2008-05-05: {{doku_hide-2008-05-05.patch}} | ||
- | |||
- | <code> | ||
- | wiki:/opt/wiki# patch -p 1 < /root/doku_hide.patch | ||
- | patching file inc/common.php | ||
- | patching file inc/parser/xhtml.php | ||
- | patching file inc/parserutils.php | ||
- | patching file inc/template.php | ||
- | wiki:/opt/wiki# | ||
- | </code> | ||
- | |||
- | |||
- | === 2009-02-14 === | ||
- | Patch pour la version 2009-02-14: {{dokuwiki-2009-02-14_security.patch}} | ||
- | |||
- | <code> | ||
- | wiki:/opt/wiki/inc# patch -p 1 < /root/doku_hide.patch | ||
- | patching file common.php | ||
- | patching file parser/xhtml.php | ||
- | patching file parserutils.php | ||
- | patching file template.php | ||
- | wiki:/opt/wiki/inc# | ||
- | </code> | ||
- | |||
- | |||