Comprendre le bitcoin, l'intelligence artificielle, faire un site web... En 3 minutes en vidéo!

Sécuriser votre forum phpbb

Tutoriaux > PhpBB > Sécuriser votre forum phpbb


Via des fichiers .htaccess, modification du config.php ... Pour la version 2 de phpBB

[size=18]Etape 1 : Les dossiers[/size]

Pour commencer, juste après l'installation de votre forum, il vous faut supprimer les dossiers install et contrib à la racine de votre forum (le dossier et tout son contenu).

Après, vous supprimez les dossiers (et toujours leur contenu) suivant :

    db/schemas/
    [size=10](seulement le dossier schemas/ et son contenu, n'effacez pas le dossier db/ et les fichiers s'y trouvant)[/size]
    docs/

Maintenant, il faut augmenter la sécurité de certains répertoires. L'opération se déroule grâce à un fichier htaccess. Créez un fichier texte et incrivez dedans cette unique ligne (sans espace après le dernier mot, ni saut de ligne) : deny from all

Vous l'enregistrez sous le nom htaccess.txt

Ensuite vous le transférez par FTP (en mode ASCII, cette fonction dépend de votre logiciel FTP) dans les répertoires qui suivent et vous le renommez ensuite en .htaccess :

    includes/
    db/
    language/

Pour finir cette première étape de protection, il nous faut supprimer les fichiers inutiles de votre forum.

    templates/subSilver/install.tpl
    [size=10](subSilver est à remplacer par le nom de votre template), supprimez le fichier install.tpl[/size]
    db/
    [size=10]effacez les fichiers qui ne correspondent pas à votre type de base de données. Pour MySQL par exemple, vous laissez seulement les fichiers db2.php, mysql.php, mysql4.php (pour MySQL 4.x), et index.htm[/size]


[size=18]Etape 2 : Protection du fichier config.php[/size]

Le fichier config.php se trouve par défaut à la racine de votre forum. Pour plus de sécurité, nous allons le déplacer dans un nouveau répertoire.

Pour cela, créez un répertoire à la racine de votre forum et appelez-le comme vous voulez (en respectant ces seules conditions : pas de majuscules ni d'espaces). Dans mon exemple, je le nommerais includes_toto. Cette opération effectuée, ajoutez dans le répertoire nouvellement crée un fichier .htaccess comme décrit dans le message précédent. Pour finir, déplacez le fichier config.php dans le nouveau répertoire (n'oubliez pas se supprimer le fichier config.php à la racine du forum).

Maintenant, il faut modifier un autre fichier pour que cette modification soit prise en compte. Editez avec le bloc-note par exemple, le fichier common.php situé à la racine du forum et faites comme suit :

Code

----[ Ouvrir ]----

common.php

----[ Trouver ]----

include($phpbb_root_path . 'config.'.$phpEx);

----[ Remplacer par ]----

include($phpbb_root_path . 'includes_toto/config.'.$phpEx);


le répertoire includes_toto est à changer par le nom que vous avez donné à votre nouveau répertoire contenant le fichier config.php.

Enregistrez et transférez le fichier common.php modifié par FTP à la racine de votre forum (remplacez l'ancien).

Astuce supplémentaire

Vous pouvez mettre un fichier config.php servant de leurre à la racine de votre forum, celui-ci contenant de mauvaises informations pour les variables $dbname, $dbuser, $dbpasswd et $table_prefix.

[size=9](merci à FX pour son sujet sur lequel je me suis basé pour les étapes 1 et 2)[/size]

[size=18]Etape 3 : Protection du dossier admin[/size]

Le dossier admin/ étant une pièce maîtresse d'un forum phpBB, tout ceux ayant le rang d'administrateur (de façon officielle comme officieuse) peuvent modifier l'intégralité d'un forum. Il convient donc de sécuriser cette zone. Pour cela, la création d'un système HTaccess composé de deux fichiers nommés .htaccess et .htpasswd est une protection efficace, qui oblige donc tout administrateur à rentrer un indentifiant et un mot de passe pour accéder à l'administration.

Certains hébergeurs proposent depuis le panel de gestion d'un compte la possibilité de créer des protections sur les répertoires présents sur le ftp. Si ce n'est pas le cas, il reste la méthode manuelle. Là encore, tout dépend de votre hébergeur, car la manipulation peut se révéler différente suivant celui-ci. Par exemple, pour ceux étant sur un hébergement Free, il vous faut suivre ce qui se trouve sur cette page (Free uniquement). Il vous sera expliqué comment créer un fichier .htaccess et .htpasswd pour un répertoire spécifique. Donc, renseignez-vous auprès de votre hébergement s'il existe une page spéciale détaillant la marche à suivre, sinon passez par un tutorial disponible sur internet
PHPdébutant
SiteduZer0

Sources supplémentaires:

Il existe quelques outils annexes pour générer un système HTaccess, ou bien pour crypter le contenu du fichier .htpasswd. Voici deux adresses parmis celles disponibles sur internet:

htaccess generator
[size=9]ce script vous permettra de générer simplement des fichiers .htaccess et .htpasswd.[/size]
htpasswd Content Generator
[size=9]cette page vous permettra de crypter rapidement le contenu du fichier .htpasswd.[/size]

[size=18]Etape 4 : Garantir une sécurité accrue dans l'ACP[/size]

L'ACP (Administration Control Panel) permet donc de gérer la totalité d'un forum phpBB, et même la base de données associée. Or, si une personne malveillante arrive à avoir accès au panneau d'administration, il peut facilement supprimer entièrement la base de donnée. Je préconise deux choses pour éviter ce résultat, n'avoir aucun accès à la base de données depuis l'ACP, et ne gérer cette base de donnée que depuis un module extérieur également sécurisé. J'entends par là, par exemple, l'utilisation de PhpMyAdmin (fourni la plupart du temps par l'hébergement et sécurisé par défaut). Renseignez-vous auprès de votre hébergeur.

Pour empêcher l'accès à la base de données depuis l'ACP, supprimez depuis votre ftp les fichiers suivants:

    admin/admin_db_utilities.php
    templates/subSilver/admin/db_utils_backup_body.tpl
    templates/subSilver/admin/db_utils_restore_body.tpl

Bien entendu, évitez par la suite d'installer des Mods permettant de lancer des actions directement dans la base de données (par exemple: un Mod pour ajouter des requêtes SQL, un Mod pour réparer ou optimiser la base de données). Toutes ces actions doivent être effectuées depuis PhpMyAdmin ou tout autre module extérieur, module sécurisé bien évidemment. Si un hébergeur fourni PhpMyAdmin, son accès est le plus souvent sécurisé. Si rien n'est disponible par votre hébergeur, vous pouvez vous-même installer PhpMyAdmin
(ou bien eSKUeL) et en protéger l'accès via un HTaccess.

[size=18]Etape 5 : Identifiants et mots de passe[/size]

Pour que la sécurité de votre forum soit vraiment efficace, il faut avant toute chose bien choisir vos mots de passe, ou plutôt ne pas les choisir du tout. Préférez des mots de passe assez longs (6-12 caractères étant une bonne moyenne) composés d'une succession aléatoire de chiffres et de lettres, n'ayant aucun rapport avec votre vie. Donc ne choisissez pas la plaque d'immatriculation de votre voiture, et encore moins votre date de naissance. Si vous voulez les noter, comme pense-bête, ne le faites que dans un endroit sûr de votre PC, ou sur un support autre qu'informatique.

Deuxième point important, et cela concerne la plupart du temps les équipes administratives d'un forum, ne laissez aucune traces d'identifiants et de mots de passe dans les sections privées d'un forum ou dans un message privé. Si une personne malveillante récupère un rang d'administrateur, elle pourrait avoir accès facilement à ces données. si vous devez passer ces informations à une autre personne, faites le d'une manière indépendante au forum.

[size=18]Etape 6 : Indexation des répertoires[/size]

Par défaut, le contenu d'un répertoire est visible par tous s'il ne contient pas au moins un fichier index.htm(l). Ce fichier empêche simplement qu'un visiteur puisse visualiser le contenu d'un répertoire. Le dossier templates/ en contient un par exemple [size=9](taille: 169 octets)[/size]. Si vous avez ajouté des répertoires dans votre forum, contenant des images ou autres fichiers, copiez dans ceux-ci ce fichier index.htm pour ne pas lister son contenu.

[size=9](tutorial par reddog - EzCom)[/size]

Par 1 , Le 26 Avril 2006 à 17h38
Ce tutoriel est la propriété d'Aidoweb et ne peut en aucun cas être copié.

Retour à PhpBB

Ajouter un commentaire

Suite a un fort volume de spam, les commentaires d'invités sont pour le moment désactivés. Vous devez vous inscrire ou vous identifier pour pouvoir commenter cet article, ou demander du support.

Lectures recommandées

Commentaires sur cet article

canalsurf - Le 18 Janvier 2008 à 12h45

bonjour,

j'ai réinstallé phpbb 2.022 par l'outil d'install automatique de mon hebergeur (awardspace) en supprimant d'abord le dossier initial dans mon repertoire ftp, et il me l'a réinstallé avec un fichier config.php vide... j'ai eu beau réinstallerr à nouveau, config.php toujours vide.... auriez vous un fichier ou un lien vers ce fichier à me confier?

d'avance, merci

canalsurf

junwebdf - Le 03 Juillet 2007 à 12h33

Problème résolu depuis un petit moment je l'avoue, merci mais ça ne venait pas du 'config.sys' (j'avais fais une faute de frappe, je voulais écrire "config.php").

Skwizer - Le 05 Juin 2007 à 23h48

Coucou,
Tu as dis que ton fichier s'appelait config.sys ? Il s'appelle config.php.
Ton erreur est claire : il ne trouve pas le fichier includes_toto/config.php
Vérifie qu'il est dans ton FTPClin d'oeil ( au bon endroit ! )

junwebdf - Le 25 Mai 2007 à 13h37

Bonjour,
étant dans la recherche d'un moyen pour sécuriser mon forum, je suis tombé sur cette page. J'ai effectué les manips. suivantes:
-mis dans les dossiers le fichier ".htaccess" (avec deny from all)
-crée un dossier include_toto et mis le fichier config.php
-crée un leure config.php à la racine
-Crypter le fichier config.sys suivant la méthode (avec le fichier a.php)

Tout est ok, sauf que j'ai ce message d'erreur lorsque j'essaie d'accéder au ACP :


Warning: main(./a.php) [function.main]: failed to open stream: No such file or directory in includes_toto/config.php on line 15
[quote]
Warning: main() [function.include]: Failed opening './a.php' for inclusion (include_path='php4/lib/php') in includes_toto/config.php on line 15
phpBB : Critical Error

Could not connect to the database
[/quote]


pouvez vous m'aider s'il vous plaît ?

Merci

angel0511 - Le 27 Février 2007 à 16h37

et le cryptage de donnée ,, tu connais pas

a quoi cela sert-il d'avoir créer un dossier backup par exemple,, t'en mets pas du tout

le mieux et afin de facilité la tache des administrateurs et de crypter tout

Tutoriaux > PhpBB > Sécuriser votre forum phpbb