Dans une série de petits billets concernant la sécurité, j'avais envie de noter une chose très simple à faire pour commencer un peu à sécuriser son serveur web.
Vous avez peut-être remarqué que nous voyons la version de son serveur quand nous tombons sur une page "Not Found" ou tout autre erreur http classique. L'idée ici est de diminuer le nombre d'informations qu'une personne mal intentionnée pourrait utiliser pour exploiter une faille de notre serveur. Donner la version de son système linux et le type et la version de son serveur est déjà une information facile à cacher pour donner du fil à retordre à un piti pirate du web.
Deux directives faciles à masquer sur un serveur Apache:
La première, ServerSignature, est par défaut à On et nous donne la version de notre serveur. On le voit sur toutes les pages en erreur 404 Not Found
{img-fluid}
Pour obtenir ce résultat, allez éditer le fichier de configuration
vim /etc/apache2/conf-available/security.conf
Et modifier la ligne
#
# Optionally add a line containing the server version and virtual host
# name to server-generated pages (internal error documents, FTP directory
# listings, mod_status and mod_info output etc., but not CGI generated
# documents or custom error documents).
# Set to "EMail" to also include a mailto: link to the ServerAdmin.
# Set to one of: On | Off | EMail
#ServerSignature On
ServerSignature Off
Cela donne une fois la signature à Off :
{img-fluid}
Même chose pour la seconde directive ServerTokens qui va donner des informations dans l'entête http dans le champ Server
. Nous pouvons le remarquer en utilisant la console debug de firefox et regarder l'entête :
{img-fluid}
# ServerTokens
# This directive configures what you return as the Server HTTP response
# Header. The default is 'Full' which sends information about the OS-Type
# and compiled in modules.
# Set to one of: Full | OS | Minimal | Minor | Major | Prod
# where Full conveys the most information, and Prod the least.
#ServerTokens Minimal
#ServerTokens OS
ServerTokens Prod
#ServerTokens Full
Nous n'avons plus l'affichage de la version du serveur en ayant indiqué au serveur que nous étions dans un environnement de production.
Simple mais efficace pour avoir un petit peu plus de sécurité sur notre serveur. Bien évidemment ce n'est pas suffisant mais c'est un début simple à faire.