Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
1
Protéger son site Web – Team AAZ
Préambule
En automne, les feuilles tombent et malheureusement certains sites avec…
Les kiddies ont fini de jouer les play-boys sur les plages (sans succès d’ailleurs) et
retournent derrière leur PC pour essayer de faire tomber des sites web (et oui ils ont
une vie passionnante !)
Devant ce triste constat, la Team AAZ a essayé de vulgariser quelques rudiments
de protection informatique pour que tout à chacun puisse prendre ses précautions.
En effet, des milliers de sites se créent chaque jour, mais trop peu sont correctement
sécurisé !
Par contre, nous préférons vous le dire tout de suite, le risque zéro n’existe pas. Il y
aura toujours un hacker plus fort qu’un programme et un programme plus fort qu’un
hacker…
Disons que le but de cet ouvrage est de donner des conseils, accessibles au
plus grand nombre, pour se protéger contre 95% des kiddies boutonneux du
web !
Nous avons essayé de traiter de manière simple un sujet assez complexe et
nous nous excusons par avance si certains passages sont confus.
Voici donc les 5 étapes que nous vous proposons pour protéger votre site
Web :
- Etape 1 : Mettre en place une sauvegarde automatique son site.
- Etape 2 : Se protéger avec Crawlprotect.
- Etape 3 : Vérifier les chmod de son site.
- Etape 4 : Mettre en place des .htaccess pour les dossiers sensibles.
- Etape 5 : 15 points pour aller plus loin…
2
Protéger son site Web – Team AAZ
ETAPE 1 : Mettre en place une sauvegarde automatique de son site
Alors voilà, au début je voulais vous expliquer comment faire une sauvegarde avec rsync, du
ssh, et des lignes de commande cron mais en rédigeant le tuto je me suis dit que ce n’était
pas très clair et qu’au final on avait qu’une sauvegarde incrémental des données et qu’on
allait me le reprocher si il y avait des problèmes…
J’ai donc calmé mes ardeurs et revu ma copie :
- Tout d’abord, dans le cadre d’une sauvegarde mon premier et conseil est demander
à votre hébergeur un devis pour effectuer une sauvegarde « système » pour
vous, de manière hebdomadaire, sur un serveur distant. Ce genre d’option est
souvent peu cher (10 à 20€ par an), et parfois vous l’avez même déjà dans votre
pack il vous suffit juste de l’activer ! De cette manière vous n’avez rien à paramétrer
et bien souvent la sauvegarde est plus propre. Surtout si vous utilisez des bases
de données
- Sinon si vous êtes du genre à aimer tout faire par vous-même je vous conseille
cobian backup 10 :
Cobian backup permet de réaliser des sauvegardes de votre FTP directement sur
votre PC de manière automatique.
a) Téléchargez et installez Cobian Backup sur votre PC (Site officiel)
b) Une fois le logiciel installé, un « petit champignon » doit apparaitre dans votre barre
des tâches… Cliquez dessus pour ouvrir le tableau de bord du logiciel :
c) Vous arrivez sur l’interface de Cobian Backup
3
Protéger son site Web – Team AAZ
d) Nous allons maintenant programmer une sauvegarde automatique de notre site
directement sur notre ordinateur.
Mais avant il faut savoir qu’il existe plusieurs « types » de sauvegarde.
- La sauvegarde complète de votre FTP qui sauvegarde l’ensemble du contenu de
votre FTP (dossiers et sous-dossiers)
- La sauvegarde incrémentielle qui ne copie que les fichiers modifiés depuis la
dernière sauvegarde.
- La sauvegarde différentielle qui ne copie que les fichiers modifiés depuis la
dernière sauvegarde complète.
- La sauvegarde factice qui ignore la source.
L’équipe AAZ vous recommande une sauvegarde complète de votre FTP de manière
hebdomadaire ainsi qu’une sauvegarde incrémentielle quotidienne.
Pour chacune d’elles conserver les 3 dernières copies.
Pour programmer une sauvegarde : cliquez sur Tâches Nouvelle tâche
4
Protéger son site Web – Team AAZ
Dans l’onglet General, donnez un nom à votre sauvegarde (surtout si vous possédez
plusieurs sites), et choisissez le type, le nombre de copies…
Dans l’onglet Fichier, paramétrez le dossier source et le dossier destination. Dans notre cas
nous parlons de la sauvegarde d’un site internet, donc d’un dossier FTP :
5
Protéger son site Web – Team AAZ
Remplissez les champs nécessaires (au besoin contactez votre hébergeur) :
Enfin nous vous conseillons de faire un test de Connexion :
Dans l’onglet Planification, choisissez vos fréquences de sauvegarde :
6
Protéger son site Web – Team AAZ
Les onglets suivants ne nous intéressent pas, ils permettent de paramétrer de manières
plus poussés le logiciel, mais puisque nous recherchons un moyen simple de sauvegarder
de manière automatique son site internet, disons que les réglages par défaut sont correct.
Pour ceux qui souhaitent que leurs sauvegardes soient cryptées, ou compressés, ou
encore ne pas sauvegarder certains types de fichiers allez jeter un œil, c’est plutôt intuitif…
Si vous avez donc suivi ce petit tutoriel, désormais votre site internet sera sauvegardé
automatiquement sur votre PC.
A la fin de chaque sauvegarde un simple petit pop-up vous avertira de la bonne
réussite de l’opération !
Cependant, si vous utilisez des bases de données il faut savoir que cette démarche ne les
sauvegardera pas nécessairement (cela dépend des hébergeurs, d’où mon premier
conseil !).
Si votre sauvegarde FTP ne contient pas vos bases de données (généralement dans un
fichier data) et que souhaitez également programmer cette sauvegarde (ce que nous vous
conseillons), il faudra alors le faire avec la commande automysqlbackup et l’automatiser
avec cron.
Ces caractéristiques variant d’un type de site à l’autre, d’un hébergeur à l’autre… nous ne
détaillerons pas davantage la démarche ici, si vous rencontrez des difficultés, n’hésitez pas à
nous contacter sur notre forum de support.
Nous allons donc maintenant pouvoir entrer dans le vif du sujet et passer à la protection de
votre serveur !
7
Protéger son site Web – Team AAZ
Etape 2 : Se protéger avec Crawlprotect
Des outils pour protéger votre site Web il en existe des dizaines, mais la Team AAZ a choisi
de travailler avec Crawlprotect.
En effet, après en avoir utilisé et testé plusieurs, nous avons choisi celui-ci pour deux raisons
essentielles : - il est très simple d’installation et d’utilisation.
- il est gratuit !
Voici donc la démarche à suivre pour installer cette protection sur votre site :
a) Téléchargez Crawlprotect sur le site officiel.
b) Dézippez le fichier téléchargé.
c) Uploader sur votre site le dossier crawlprotect (vous pouvez le renommer, mais il ne
faudra pas changer ce nom après la création du fichier htaccess), l'adresse de votre
CrawlProtect sera: www.votresite.com/crawlprotect/
d) Rendez-vous à l'adresse de votre CrawlProtect, choisissez la langue à utiliser et
créez votre login et mot de passe (Le mot de passe doit contenir des majuscules,
des minuscules et des chiffres !)
e) Une fois logué, la première chose à faire et d'aller sur la page d'administration pour
créer votre fichier htaccess. Choisissez les paramètres qui correspondent à votre
site et lancez la création du fichier htaccess. S’il y a déjà un fichier htaccess en place,
pas d'inquiétude, CrawlProtect va copier son contenu dans le nouveau fichier.
f) Si votre hébergeur bloque la création du fichier htaccess (et c’est plutôt une bonne
nouvelle), il vous faudra le créer manuellement (Un simple fichier .txt renommé en
.htaccess) et le copier à la racine de votre site web.
g) Une fois crawlprotect en place vous devez avoir cette page d’accueil à l’adresse
www.votresite.com/crawlprotect/
8
Protéger son site Web – Team AAZ
h) Mais surtout vérifiez que le htaccess est bien place :
Et voilà l’installation de crawlprotect sur votre site est déjà terminée !
Pour vérifier que vous êtes bien protégé, vous pouvez essayer de vous rendre à l’adresse :
« http://www.votresite.com/index.php?site=http://www.test.com », normalement
crawlprotect vous bloque !
CrawlProtect fonctionne en toute autonomie, vous n'avez donc rien à faire de plus !
Pour les amateurs du genre sachez que Crawlprotect vous protège notamment contre :
- les tentatives d'injection de code - les tentatives d'injection SQL - les visites de robot connus comme étant des "Badbots" (robot utilisés par les hackers) - les aspirateurs de site - les tentatives d'éxécution de commande shell
Votre site web est maintenant sécurisé par un outil puissant, nous pouvons alors passer à
l’étape suivante : la vérification des chmod sur votre site.
9
Protéger son site Web – Team AAZ
Etape 3 : Vérifier les chmod de son site
a) Les chmods c’est quoi ?
Chmod (abréviation de change mode) est la commande qui permet de changer les droits d'accès sur vos fichiers et répertoires. Il s'agit d'une commande Unix, elle n'existe donc pas en environnement Windows. Par abus de langage on emploie le terme chmod pour désigner les droits d'accès à un fichier ou un répertoire.
La valeur associée à chmod est la plupart du temps donnée par un nombre à 3 chiffres:
- Le premier chiffre défini les droits du propriétaire du fichier - Le second ceux des membres du groupe auquel appartient le propriétaire du fichier - Le troisième ceux de tous les autres utilisateurs (tout le monde en fait).
Ces chiffres varient de 0 à 7:
-0 -----> aucun droit -4 -----> droit de lire -5 -----> droit de lire et d'exécuter -6 -----> droit de lire et d'écrire -7 -----> droit de lire, exécuter et écrire
Vous vous rendez compte tout de suite, que si vos répertoires sont en chmod 777, tout le monde a le droit de lire, exécuter mais aussi et surtout d'écrire dans ceux-ci. Autant laisser votre porte grande ouverte en espérant que personne ne viendra vous cambrioler...
b) Comment Savoir quel chmod attribuer à mes dossiers :
Encore une fois, pour faire simple, nous allons utiliser crawlprotect, qui nous indique, pour chaque dossier le chmod actuel et si cela est convenable.
Rendez-vous donc à l’accueil de crawlprotect (www.votresite.com/crawlprotect/) et cliquez maintenant sur Audit répertoires et fichiers.
10
Protéger son site Web – Team AAZ
Vous accédez alors à la liste des dossiers et des fichiers de votre site. Vous pouvez y
voir leurs noms, leur chmod et leur dernière modification.
Les fichiers et dossiers ayant un chmod insuffisant sont marqués d’une croix rouge :
c) Modifier le chmod des dossiers
Pour modifier le chmod d’un dossier (ou d’un fichier) sur votre site il existe plusieurs moyen.
Vous pouvez passer par crawlprotect, mais également par votre client FTP (surtout si,
comme dans mon cas, votre hébergeur bloque les logiciels distants).
En général, il suffit, depuis votre client FTP, de faire un clic droit sur un dossier
propriétés (ou chmod, ou droit d’accès) pour en modifier le chmod. Vous tombez alors sur
une boite de dialogue assez explicite :
11
Protéger son site Web – Team AAZ
Il ne vous reste plus qu’à choisir votre chmod (en fonction de vos besoins et des conseils de
crawlprotect) et de valider par OK.
Vous remarquerez que CrawlProtect vous conseille de mettre vos répertoires en chmod
505, c'est à dire que personne, y compris vous, ne pourra écrire dans ces répertoires et donc
y ajouter un fichier infectés.
Il vous faudra donc modifier ce chmod en 755 pour faire des modifications sur votre site.
Pour ce qui est de vos fichiers, même principe mais là CrawlProtect va vous suggérer de les
mettre en chmod 404, et il faudra les mettre en 644 pour faire des modifications.
J’en vois déjà certains trouver ce travail fastidieux, je peux le comprendre.
Mais croyez-moi un site web ne contenant que des fichiers et des dossiers avec des chmods
aussi restrictifs a cent fois moins de chance de se faire pirater !
Si vous avez mis en application les trois premières parties de cet ouvrage, nous pouvons
dire que vous avez déjà très bien sécurisé votre site internet contre la majorité des petits
kiddies du net.
Dans les deux étapes suivantes nous allons voir des moyens de protection
supplémentaires. Cependant, ils sont également plus compliqué à mettre en place, donc si
votre but était de sécurisé de manière simple votre site vous pouvez vous en tenir là…
Sinon suivez le guide !
12
Protéger son site Web – Team AAZ
Etape 4 : Mettre en place des .htaccess pour les dossiers sensibles
Si vous avez suivi l’étape numéro 2 de ce tuto, vous avez protégé votre site web avec un
.htaccess créé par crawlprotect.
Mais nous pouvons aller encore plus loin en protégeant certains dossiers avec des
.htaccess faisant appel à des .htpasswd.
Cette manipulation permet de rajouter une barrière supplémentaire, par la mise en place
d’un mot de passe, pour l’accès à un dossier particulier.
Et vous l’aurez compris nous allons protéger nos dossiers « sensibles ».
Prenons pour l’exemple le dossier « wp-admin » qui contient toute l’interface administration
de votre site sous Wordpress (et tout équivalent sur votre CMS personnel).
Par défaut, Wordpress vous demande un mot de passe pour y accéder, nous vous
conseillons de rajouter un .htaccess pour sécuriser encore davantage le dossier !
a) Créer un fichier .htaccess
En réalité créer un fichier .htaccess n’est pas très complexe.
Nous vous conseillons de travailler avec Notepad++.
Ouvrez donc Notepad et copier ce code :
AuthName "AUTHENTIFICATION REQUISE"
AuthType Basic
AuthUserFile " www/vhosts/team-aaz.com/httpdocs/wp-admin/.htpasswd"
Require valid-user
Et enregistrez-le de cette manière : Nom du fichier : .htaccess
Type : All files (*)
13
Protéger son site Web – Team AAZ
Voilà, votre fichier .htaccess est créé !
Maintenant nous allons devoir le paramétrer correctement et pour cela il faut connaitre le
chemin absolu du dossier que vous souhaitez protéger par un mot de passe.
Le chemin absolu, c’est l’adresse exacte du dossier sur le serveur et pour la connaître il
existe un moyen simple :
Crée un fichier chemin.php contenant uniquement cette ligne :
<?php echo realpath('chemin.php'); ?>
Et déposez ce fichier dans le dossier que vous souhaitez protéger (avec votre client FTP).
Ensuite ouvrez votre navigateur et rendez-vous à l’adresse de votre fichier (pour moi
http://www.team-aaz.com/wp-admin/chemin.php) et vous verrez alors le chemin absolu de
votre dossier, pour moi :
www/vhosts/team-aaz.com/httpdocs/wp-admin
Retournons donc dans le fichier .htaccess créé précédemment (avec Notepad).
La ligne qui nous intéresse est
AuthUserFile " www/vhosts/team-aaz.com/httpdocs/wp-admin/.htpasswd"
Cette ligne sert à indiquer que ce dossier est protégé par un mot de passe contenu dans le
fichier .htpasswd (que nous allons créer), il faut donc remplacer mon chemin absolu par le
vôtre. N’oubliez ni les guillemets, ni de finir par .htpasswd et enregistrez le tout !
Et voilà votre fichier .htaccess est créé.
b) Créer un fichier .htpasswd
Dans la première partie vous avez créé un fichier .htaccess qui protégera le dossier choisi
par un mot de passe.
Le fichier .htpasswd contient ce mot de passe !
Pour le créer nous avons encore besoin de Notepad++.
Il vous faut tout d’abord choisir un mot de passe, puis nous allons le crypter !
Pour mon exemple je choisis le mot de passe : banane.
Il suffit alors de créer un fichier passe.php contenant uniquement cette ligne
<?php echo crypt('banane'); ?>
14
Protéger son site Web – Team AAZ
Enregistrez-le et déposez-le sur votre serveur FTP. Ouvrez-le dans votre navigateur,
Vous obtenez votre mot de passe crypté :
$1$2VWCkf7D$jc3CjlwtqLuZrNOK9P7ja0
Copiez ce code est supprimez le fichier passe.php de votre serveur.
Nous pouvons maintenant créer notre fichier .htpasswd
- Ouvrez Notepad++
- Ecrivez une simple ligne contenant votre login et votre mot de passe crypté sous
cette forme :
login:mot de passe
(Par exemple pour moi : teamaaz:$1$2VWCkf7D$jc3CjlwtqLuZrNOK9P7ja0 )
Puis enregistrez-le de cette manière : Nom du fichier : .htpasswd
Type : All files (*)
c) Sécuriser un dossier avec ces fichiers
Ce qu’il faut savoir, c’est qu’un fichier .htaccess agit sur les permissions du répertoire qui le
contient et sur tous ses sous-répertoires.
Il ne vous reste donc plus qu’à déposer vos deux fichiers .htaccess et .htpasswd dans le
dossier à sécuriser et le tour est joué !
15
Protéger son site Web – Team AAZ
Normalement, la prochaine fois que vous souhaiterez accéder à ce dossier par votre
navigateur vous obtiendrez cette boite de dialogue :
Vous pouvez, de cette manière, créer autant de fichiers .htaccess et .htpasswd que vous le
souhaitez pour sécuriser tous vos dossiers sensibles ! Pratique non ?!
16
Protéger son site Web – Team AAZ
OUI NON
- Etape 5 : 15 points pour aller plus loin…
Comme nous l’avons déjà dit, il n’existe pas de système de protection infaillible. Nous
avons essayé ici de vous aider, de manière simple et imagée, à mieux sécuriser votre site
web.
Cependant, afin d’être le plus complet possible, voici quelques pistes de recherche qui
nous semblent intéressantes pour améliorer la protection de votre site web. A vous de voir si
elles vous évoquent quelque chose ou pas :
1) J’ai modifié les noms « par défaut » de mes dossiers d’administration.
2) J’ai mis en place un système de captcha sur mon site.
3) Je suis le seul à avoir accès à la totalité du serveur.
4) Je n’utilise pas le même mot de passe pour mon FTP, mon mail, mes bases
de données et l’administration de mon site.
5) Mon moteur de site (Wordpress, Joomla, Phpbb) est à jour.
6) Je vérifie régulièrement la structure de mes bases de données.
7) Mon ssh n’est plus sur le port 22 et mon httpd n’est plus sur le 80.
8) J’ai supprimé les utilisateurs inutiles du système : gopher, halt, sync…
9) Je connais le module Apache « Mod_evasive ».
10) Je connais le script « DoS Deflate ».
11) J’ai crypté mes informations personnelles (mail, mot de passe…) dans mes fichiers.
12) Je connais les services lancé au démarrage de mon serveur.
13) Je connais les failles xxs, require, include et Cie…
14) Je suis au point sur les injections SQL.
15) Je suis contient que mon site ne sera jamais 100% sécurisé
17
Protéger son site Web – Team AAZ
En conclusion :
Une fois n’est pas coutume, ma conclusion sera très brève.
Je pense que la sécurité d’un site web est une chose sérieuse mais sur
laquelle il ne faut pas passer des heures non plus.
En effet, la protection totale n’existant pas, autant faire les choses simplement !
Nous pouvons donc synthétiser cet ebook en 4 conseils :
- Sauvegardez régulièrement votre site.
- Installez un outil de protection sérieux (crawlprotect ou un autre).
- Vérifiez vos chmod.
- Soyez vigilant et ne facilitez pas la vie aux pirates en laissant les paramètres
par défaut, les dossiers d’administration ouvert, toujours le même mot de
passe…
Pour le reste, si vous n’êtes pas un expert en ligne de commande et protocole ssh, et
bien ne vous en faîtes pas, ça ne change pas grand chose !
A bientôt sur la toile,
Publié par la Team AAZ, le 17 novembre 2011.