Quelques mesures de protection
Si vous possédez un serveur Apache qui héberge un ou plusieurs sites, ceci vous concerne.
Les mesures évoquées ici son non-exhaustives et pourront être complétées.
Ne pas indiquer la version d'Apache
Les réponses HTTP du serveur contiennent un en-tête HTTP Server qui indique la version Apache: Apache/2.2.22 par exemple.
Il sera plus difficile pour une personne malveillante d'attaquer votre site si elle ne connaît pas la version.
Editez le fichier de configuration httpd.conf.
Placez ce qui suit :
# Cacher la version dans l'en-tête HTTP 'Server'.
ServerTokens Prod
# Ne pas ajouter de ligne contenant le nom et la version du serveur à la fin de chaque réponse.
ServerSignature Off
Eviter les attaques du type "clickjacking"
Ce type d'attaque consiste à intégrer votre page sur un site malveillant via des balises <frame> ou <iframe>.
Il est alors possible de faire croire au visiteur qu'il est sur votre propre page.
Celui-ci sera amené à saisir des informations confidentielles que le site malveillant sera à même d'intercepter.
Il suffit de configurer le serveur de façon à ce que la réponse contienne l'en-tête HTTP "X-Frame-Options".
3 types de valeurs peuvent être définies :
DENY pour refuser toute frame ou iframe intégrant la page.
SAMEORIGIN pour n'autoriser que les frames provenant du même nom de domaine.
ALLOW-FROM uri pour préciser les domaines pouvant intégrer la page dans une frame (non compatible avec tous les navigateurs).
Le module mode_headers étant activé, placez les lignes suivantes dans httpd.conf ou dans votre htaccess.
<IfModule mod_headers.c>
Header always set X-FRAME-OPTIONS "DENY"
</IfModule>
Bloquer le contenu en cas d'attaque XSS
Une attaque de type XSS (Cross-Site scripting) a pour objectif d'injecter un contenu sur la page.
Les navigateurs actuels disposent de filtres intégrés pour détecter une possible attaque et d'informer l'utilisateur.
Cette fonctionnalité peut cependant être désactivée par ce dernier.
Il est souhaitable que l'utilisateur n'ait accès à aucun contenu de la page, afin de prévenir tout risque.
Le module mode_headers étant activé, placez les lignes suivantes dans httpd.conf ou dans votre htaccess.
<IfModule mod_headers.c>
Header always set X-XSS-Protection "1; mode=block"
</IfModule>
Se protéger du MIME Sniffing
Les navigateurs Internet Explorer et Chrome disposent d'une fonctionnalité dite de "MIME-Type sniffing", qui consiste à détecter automatiquement le type d'une ressource web.
Une ressource déclarée comme étant une image pourra être interprétée comme un script si tel est son contenu.
Une personne malveillante pourrait profiter d'un envoi de fichier sur le site pour injecter du code malveillant.
Le module mode_headers étant activé, placez les lignes suivantes dans httpd.conf ou dans votre htaccess.
<IfModule mod_headers.c>
Header always set X-Content-Type-Options "nosniff"
</IfModule>