18

Préambule - Team AAZ 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

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Préambule - Team AAZ 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
Page 2: Préambule - Team AAZ 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

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…

Page 3: Préambule - Team AAZ 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

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

Page 4: Préambule - Team AAZ 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

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

Page 5: Préambule - Team AAZ 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

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 :

Page 6: Préambule - Team AAZ 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

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 :

Page 7: Préambule - Team AAZ 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

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 !

Page 8: Préambule - Team AAZ 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

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/

Page 9: Préambule - Team AAZ 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

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.

Page 10: Préambule - Team AAZ 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

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.

Page 11: Préambule - Team AAZ 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

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 :

Page 12: Préambule - Team AAZ 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

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 !

Page 13: Préambule - Team AAZ 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

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 (*)

Page 14: Préambule - Team AAZ 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

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'); ?>

Page 15: Préambule - Team AAZ 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

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é !

Page 16: Préambule - Team AAZ 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

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 ?!

Page 17: Préambule - Team AAZ 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

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é

Page 18: Préambule - Team AAZ 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

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.