Dans cet article, nous aimerions vous montrer comment mieux sécuriser vos données avec des outils simples.

De plus, nous décrirons brièvement ce que Drupal peut faire pour vous protéger contre le piratage de sites Web.

METTRE À JOUR LE CORE DE DRUPAL ET LES MODULES UTILISÉS

Le noyau Drupal et toutes les extensions doivent être tenus à jour. Les pirates attaqueront spécifiquement les anciennes versions parce que les précautions et les normes de sécurité n’y sont pas à jour. C’est pourquoi il y a des mises à jour régulières qui sont faciles à reconnaître et à installer.

De plus, vous devriez prendre l’habitude de faire des sauvegardes régulières. Si, malgré toutes les précautions de sécurité, un de vos sites est attaqué, vous pouvez restaurer vos données depuis la sauvegarde.

MOTS DE PASSE FORTS, NOMS D’UTILISATEUR INTELLIGENTS

Une grande partie des attaques sur un site Web sont dues à la faiblesse des données de connexion. C’est un fait.

Prenez votre temps pour ça. Un nom d’utilisateur ne doit pas être’admin’, car les pirates attaquent d’abord les noms d’utilisateur simples et courants.

Évitez d’utiliser des mots de passe trop simples et faciles à retenir, car les structures de mots de passe plus légères sont craquées plus rapidement par les programmes d’attaque.

Pour cela, il existe des programmes qui génèrent des mots de passe forts selon les critères de sécurité communs. Mais il y a aussi beaucoup d’instructions en ligne pour savoir à quoi doit ressembler un mot de passe sécurisé.

MODULE DE SÉCURITÉ

La communauté Drupal comprend l’importance de la sécurité des données et a développé des modules de sécurité que vous devriez utiliser ! En voici quelques exemples.

LOGIN SECURITY

Module de sécurité de connexion pour Drupal 8
Pour embrouiller les attaquants, ce module peut être utilisé pour désactiver les messages d’erreur de connexion standard. Ceci indique généralement si un nom d’utilisateur existe. Le module Login Security désactive ce message d’erreur.

Vous trouverez toutes les informations complémentaires sur le module sur https://www.drupal.org/project/login_security

PASSWORD POLICY

Une façon pour les attaquants d’accéder à votre site est de créer un nouveau mot de passe pour un utilisateur arbitraire. Ce module vous aide à définir certaines valeurs par défaut pour la création d’un mot de passe. A titre d’exemple :

Une condition majuscule avec la valeur 2
et une condition numérique avec la valeur 4
Cela signifie qu’un nouveau mot de passe doit contenir au moins 2 lettres majuscules et 4 chiffres. Sinon, le mot de passe ne sera pas créé.

Pour plus d’informations, veuillez consulter le site https://www.drupal.org/project/password_policy

SECURITY REVIEW

Les risques de sécurité courants y sont automatiquement vérifiés et évalués à l’aide d’un système de couleurs. Cela simplifie la recherche d’erreurs et réduit le temps nécessaire.

Ce module comporte plusieurs fonctions, notamment la détermination des permissions des fichiers, les tentatives de connexion ratées ou la visibilité des messages d’erreur.

Pour plus d’informations sur ce module, consultez le site https://www.drupal.org/project/security_review

TWO-FACTOR AUTHENTICATION (TFA)

Ce module ajoute une deuxième étape à l’authentification par nom d’utilisateur et mot de passe. Par exemple, un code de confirmation est transmis à un terminal vérifié. Vous ne pouvez voir ce code et continuer l’authentification que si vous possédez ce terminal.

Pour de plus amples informations, veuillez consulter le site https://www.drupal.org/project/tfa

Bien que certains de ces modules soient encore en phase de développement, il est conseillé de suivre le développement ou même d’en installer un ou plusieurs à titre d’essai.

BLOQUER LES MAUVAIS BOTS

Une autre possibilité est le blocage manuel de certains user agents. Drupal 7 dispose à cet effet de nombreux modules, dont l’un est Bad Behavior.

Il y aura certainement un modules de ce type pour Drupal 8 dans le futur. Il faut cependant noter qu’ils agissent sur la couche S, c’est-à-dire après que la requête a déjà passé par le serveur et le fichier .htaccess.

Par conséquent, il est plus efficace de construire les bot-blocs le plus tôt possible. Sur http://www.botreports.com/ il y a une liste des robots connus et leur user-agent. Ceci pourrait être bloqué dans le fichier .htaccess comme suit :

RewriteEngine On

RewriteCond %{HTTP_USER_AGENT} ^.*(agent1|Wget|Catall Spider).*$ [NC]

RewriteRule .* - [F,L]

Ainsi, agent1, Wget et Catall Spider représentent chacun un bot.

Mais il est encore mieux d’installer ce filtrage encore plus tôt. Cela peut être fait, par exemple, sur un serveur proxy, ce qui signifie que le serveur web réel reçoit beaucoup moins de requêtes suspectes.

L’UTILISATION DE CONNEXIONS SÉCURISÉES PENDANT LE DÉPLOIEMENT


Si votre hôte le prend en charge, vous devez toujours utiliser le cryptage SFTP. Une connexion Secure Shell (ssh) est encore meilleure.

Pour exécuter le client FTP sur SFTP, entrez simplement le port 22.

Attention : Certains clients FTP stockent les mots de passe sur votre ordinateur, parfois même en clair.

PERMISSIONS DES FICHIERS

Chaque fichier a ses propres droits de lecture, d’exécution et d’écriture. Des permissions trop lâches peuvent ouvrir des portes aux intrus, des permissions trop strictes peuvent empêcher l’exécution d’une page Drupal, car différents fichiers doivent être accessibles au noyau ou aux modules Drupal.

Une bonne documentation sur les paramètres d’autorisation peut être trouvée ici : https://www.drupal.org/node/244924

BLOQUER L’ACCÈS

Pour les fichiers importants comme authorize.php, upgrade.php, cron.php ou install.php, l’accès peut être bloqué dans le fichier .htaccess. Ceci ressemblera à ceci :

<FilesMatch "(authorize|cron|install|upgrade)\.php">

Order deny, allow

deny from all

Allow from 127.0.0.1

</FilesMatch>

Cela signifie que vous seul êtes autorisé à visualiser et à exécuter ces fichiers.

PRÉFIXE DES TABLES DE LA BASE DE DONNÉES

Une autre façon d’augmenter la sécurité de votre site est de définir des préfixes de table. La table serait donc ‘node‘ puis ‘prefix_node‘ et l’accès pour les intrus est immédiatement rendu plus difficile. Les noms de tables non conventionnels sont difficiles à deviner. Ces préfixes doivent être ajoutés lors de la création de la page ou par la suite via un outil de base de données approprié.

CERTIFICAT SSL

Si votre site ne fonctionne pas sur HTTPS, votre nom d’utilisateur et votre mot de passe seront envoyés sous forme de texte sur Internet et pourront être interceptés par quiconque.

Par conséquent, vous devriez toujours utiliser un certificat SSL. Cela a des avantages SEO supplémentaires et donne à vos visiteurs plus de sécurité.