Bien protéger son site internet est une étape importante lors de la conception de celui-ci mais aussi tout au long de son existence.
Cela peut être terrifiant et embarrassant pour le propriétaire du site vis-à-vis de ses visiteurs en le voyant piraté. C’est pour cela que nous allons voir dès maintenant des actions à mettre en place pour la protection de votre site internet ! Il faut mieux prévenir que guérir comme le dit le proverbe.
Mettre à jour les scripts de son site
Commençons par l’action la plus importante concernant la protection de votre site. Vous devez absolument mettre à jour les scripts disponibles sur votre site. Par exemple si vous utilisez WordPress, vous devez le mettre à jour mais sans oublier les plugins que vous avez aussi installé.
Pourquoi est-ce si important de garder son site à jour? Dans la plupart des mises à jour, celles-ci comblent des failles de sécurité qui étaient présentes sur le plugin / module ou le CMS en question. Si vous ne les mettez pas à jour, vous serez alors exposé aux hackers ayant connaissances de cette faille.
Si vous utilisez un CMS comme WordPress, je vous conseille de lire cet article : Comment sécuriser son CMS contre le piratage
Installer un plugin de sécurité
Certains CMS proposent des plugins de sécurité. Je vous recommande vivement d’en installer un pour ainsi protéger votre site au maximum.
Pour WordPress par exemple, je peux vous conseiller les plugins Wordfence Security, iTemes Security ou BulletProof Security qui en plus de cela, sont gratuits.
Sauvegarder son site internet
Bien souvent, lorsqu’un site internet se fait pirater, les données de celui-ci sont inutilisables ou irrécupérables. Il est donc très important de sauvegarder régulièrement son site de manière à pouvoir revenir à une version antérieure.
Pour les hébergements mutualisés de LWS, une option de sauvegarde est disponible, vous permettant de sauvegarder tous vos fichiers web et mysql une fois par jour et de les remettre en place en un clic.
Si vous disposez d’un serveur dédié, VPS ou autre, des solutions de sauvegarde en ligne sont aussi disponibles.
Protéger son site internet avec HTTPS
La mise en place d’un certificat SSL (HTTPS) est très importante pour protéger votre site internet. Voici les trois bonnes raisons d’installer un certificat SSL :
- Votre site est sécurisé grâce à une connexion chiffrée entre votre serveur (site web) et le visiteur. Cela rend la tâche beaucoup plus compliquée pour les hackers.
- Vous gagnez en confiance auprès de vos visiteurs.
- Cela améliore votre référencement naturel (SEO). Le moteur de recherche Google a affirmé que celui-ci favorisait les sites sécurisés en https au niveau de la position dans ses pages.
Vous pouvez par ailleurs mettre en place un certificat SSL dès LWS Perso sur nos formules d’hébergement web.
La sécurité des mots de passe
La sécurité des mots de passe n’est surtout pas à négliger. Ne mettez jamais de mots ayant un sens dans votre mot de passe comme « chien », « maison » ou autre.
Il est recommandé d’avoir un mot de passe avec les caractéristiques minimum ci-dessous surtout lorsqu’il s’agit de données sensibles :
- Huit caractères
- Une majuscule
- Une minuscule
- Un caractère spécial (!, @, /, etc)
- Un chiffre
Si vous souhaitez ne pas vous contraindre avec cela, vous trouverez des outils sur internet vous proposant la création de mot de passe complexe. Vous pouvez par exemple utiliser Dashlane que je vous présentais dans mon précédent article. Il permet non seulement la génération de mot de passe mais aussi la gestion de ceux-ci.
Aller plus loin
Permissions des fichiers et dossiers
On va ici rentrer un peu plus dans des termes techniques mais je vais essayer de faire au plus simple.
Qu’est-ce qu’une permission ? Une permission (CHMOD) permet d’informer au serveur les droits d’accès et d’utilisation à ce fichier ou dossier.
Les permissions s’attribuent / se changent grâce à la commande « chmod XYZ » où XYZ correspond à des chiffres. Regardons cela de plus près :
- 0 = Pas de permissions pour cet utilisateur
- 1 = Exécuter (Execute)
- 2 = Ecriture (Write)
- 3 = Ecriture et Exécution
- 4 = Lecture (Read)
- 5 = Lecture et Exécution
- 6 = Lecture et Ecriture
- 7 = Tous les droits (lecture, écriture et exécution)
Maintenant que nous connaissons ces chiffres, faut-il encore savoir les utiliser. Revenons à notre commande « chmod XYZ ». Chacun de ces caractères (XYZ) correspondent à un droit particulier :
- X correspond aux droits du propriétaire
- Y correspond aux droits du groupe
- Z correspond aux droits des autres utilisateurs
Si nous voulons par exemple donner un droit de lecture et écriture (6) au propriétaire et de lecture seule (4) aux autres cela donnerait : 644 donc si nous reprenons notre commande : « chmod 644 ».
Comme on peut se douter, si nous donnons un droit de 7 aux autres utilisateurs, cela comporte une très grand risque ! C’est pourquoi, je vous conseille de ne jamais utiliser la permission 777 sur vos dossiers et fichiers.
Les permissions recommandées sont :
- Pour les dossiers : 755
- Pour les fichiers individuels : 644
Comment les mettre en place
Vous pouvez effectuer une commande CHMOD si vous avez un accès root à votre serveur cependant nous allons voir ici comment les modifier depuis Filezilla.
Cliquez sur « Droits d’accès au fichier … » comme ci-dessus puis une fenêtre apparaîtra comme ci-dessous :
Et là, comme vous pouvez le voir, nous retrouvons les « Lecture », « Ecriture » et « Exécution ». Il suffit de cocher ou de mettre directement la valeur numérique puis de cliquer sur « OK ».
Utiliser les requêtes paramétrées
L’une des attaques les plus courantes est l’injections SQL. Ce type d’attaque peut être lancé si vous avez un formulaire ou un paramètre URL qui permettent aux visiteurs de fournir des informations. Si les paramètres du champ sont trop ouverts, alors une personne mal intentionnée peut insérer du code permettant de pirater votre base de données et ainsi de récupérer les informations comme les informations personnelles de vos clients, carte de crédit, etc.
Il existe un grand nombre de mesures pour protéger son site des injections SQL. L’une des plus importantes et des plus faciles à mettre en oeuvre est l’utilisation de requêtes paramétrées. Celles-ci vous permettent de vous garantir que votre code possède des paramètres spécifiques et suffisants pour lutter contre les hackers qui souhaiteraient y mettre en place du code.
Utiliser CSP
Similaire aux injections SQL, les cross-site scripting (XSS) sont des attaques se produisant lorsque les pirates ont l’occasion d’insérer du code JavaScript sur vos pages.
Une règle d’or lorsque vous êtes propriétaire d’un site à garder en tête est : Ne jamais faire confiance aux données saisies par les utilisateurs.
Non seulement, cela peut mener à un piratage de votre site mais aussi à des bugs qui n’ont pas été spécialement produit par des utilisateurs mal intentionnés. Il faut donc vérifier toutes les données qui seront saisies par vos utilisateurs.
Un outil pratique pour vous protéger contre les attaques XSS est le CSP (Content Security Policy). Celui-ci permet de spécifier des sources valides de scripts exécutables sur votre page. Pour le mettre en place, il suffit d’ajouter une en-tête HTTP approprié à votre page web. Vous pouvez retrouver toutes les informations concernant le CSP sur la documentation de Mozilla.