Neuen Kommentar schreiben

5 erreurs à éviter pour votre site Drupal - Numéro 2 : la Sécurité

Les bonnes pratiques en matière de sécurité sont essentielles pour protéger votre site contre les attaques des hackers. Dans cet article, nous examinerons quelques méthodes destinées à réduire les risques pour votre site.

Les meilleures pratiques pour la sécurité de votre site Drupal

Drupal intègre un haut niveau de sécurité lorsqu’il est utilisé correctement. Toutes les interventions visant à configurer votre site peuvent toutefois introduire de nouveaux risques. Il est donc important de n’accorder des autorisations de configuration qu’aux utilisateurs de confiance.

Mettez régulièrement à jour le noyau et les modules contrib

Vous pouvez omettre la mise à jour de certains modules lorsque cette mise à jour n’apporte que des corrections ou des améliorations qui n’ont pas d’effet direct sur votre site ; en revanche, il est toujours préférable d’appliquer les mises à jour de sécurité le plus rapidement possible. Abonnez-vous aux annonces relatives à la sécurité sur Drupal.org.

Utilisez des mots de passe forts

Les mots de passe peuvent potentiellement créer des brèches dans la sécurité de votre site. Servez-vous du module Password Policy pour imposer une série de contraintes à vos utilisateurs lors de la définition de leurs mots de passe. Vous pouvez également fixer des délais d’expiration pour les mots de passe.

Limitez les possibilités de chargement et les types de fichiers autorisés

Limitez les types de fichiers autorisés et réservez le droit de chargement aux utilisateurs de confiance uniquement. Adaptez vos autorisations en fonction des types de contenus spécifiques et vérifiez les types de fichiers autorisés pour le chargement de champs.

Utilisez le module Security Review et Acquia Insight

Le module Security Review analyse la configuration de votre site et propose des méthodes pour corriger les erreurs. Ce module ne doit être utilisé que sur un site de test ou de pré-production. Vous devez le désactiver et le supprimer sur le site de production. Notre service Acquia Insight permet également des contrôles additionnels sur la configuration de site et la sécurité.

Protégez votre code personnalisé contre les attaques

Voici trois attaques contre lesquelles vous devez protéger le code personnalisé dans vos thèmes et modules.

À éviter : injection SQL

Erreur : Utiliser des requêtes SQL au lieu de l’API Drupal.

Exemple : Le code db_query("select * from table where id=$_GET[‘id’]"); permet une attaque du type .com/index .php?id=1 union select * from users;

Solution : Utiliser la couche d’abstraction de base de données de Drupal. [Voir http://api.drupal.org/api/drupal/includes%21database%21database.inc/group/database/7]

À éviter : XSS—Cross-site scripting

Erreur : L’affichage des paramètres visiteurs sans les vérifier permet aux visiteurs d’injecter des scripts côté client dans les pages visualisées par d’autres utilisateurs.

Exemple : Le code  &lt;?php echo "Your number is ". $_GET['id']; ?&gt; permet les attaques du type Index.php?id=<script> alert("UAAAT??");</script>

Solution : Nettoyer (supprimer ou filtrer) les entrées des utilisateurs non fiables avant tout retour au navigateur pour rendu. Pour plus d’informations, voir l’introduction au XSS ici : http://drupalscout.com/knowledge-base/introduction-cross-site-scripting-xss-and-drupal

À éviter : CSRF—Cross-site request forgery

Erreur : URL contenant des caractères génériques (%) qui ne sont pas protégés et code de formulaire saisi directement dans le site. Une requête HTTP Post from forms peut provenir de n’importe où, et pas uniquement de votre site comme vous pourriez vous y attendre.

Solution : Utiliser l’API Form de Drupal, qui protège contre ces attaques en insérant un jeton dans chaque formulaire. Lors de la restitution d’un URL censé être protégé, assurez-vous qu’une confirmation est demandée avec l’API Form, ou bien utilisez un jeton avec l’URL et vérifiez que ce jeton est présent et valide au moment du traitement de la réponse. Pour plus d’informations, voir l’introduction au CSRF ici : http://drupalscout.com/knowledge-base/introduction-cross-site-request-forgery-csrf

Plain text

  • Keine HTML-Tags erlaubt.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.

Filtered HTML

  • Use [acphone_sales], [acphone_sales_text], [acphone_support], [acphone_international], [acphone_devcloud], [acphone_extra1] and [acphone_extra2] as placeholders for Acquia phone numbers. Add class "acquia-phones-link" to wrapper element to make number a link.
  • To post pieces of code, surround them with <code>...</code> tags. For PHP code, you can use <?php ... ?>, which will also colour it based on syntax.
  • Internet- und E-Mail-Adressen werden automatisch umgewandelt.
  • Zulässige HTML-Tags: <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <h4> <h5> <h2> <img>
  • HTML - Zeilenumbrüche und Absätze werden automatisch erzeugt.
By submitting this form, you accept the Mollom privacy policy.