La mascotte BSD dessinée par Tatsumi Hosokawa
  Chuck's corner (intitulé du site)

Accueil
  Bienvenue !
  Who's that Chuck ?

Articles
  Investigation numérique
  Virtual-to-Remote-Physical
  Prométhée, intranet éduc.
  Frenzy, mini CD live
  Sécu. Open/Closed Source
  Installer FreeBSD 5
  Powered by Unknown !
    FreeBSD / Nmap (1/2)
    FreeBSD / Nmap (2/2)
    telnetd
    ftpd
    Apache
    Bind
    Lukemftpd
    OpenSSH
    PHP
    Qpopper
    Sendmail
    Sendmail / Smtpscan
    Sendmail / Smtpmap


  En cours d'élaboration :
  Analyseurs d'empreintes

Logiciels
  Portages
  Projet HeV

Liens
  Sites BSD en français
  Liste systèmes BSD
  Projets à l'honneur

Recherche
  avec Logo Google

  sur le site :
  
  sur BSD en général :
  

Powered by Unknown !

Apache

Les serveurs HTTP, au premier rang desquels Apache, affichent spontanément certaines informations sensibles :

# telnet localhost 80
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Mon, 23 Sep 2002 06:10:01 GMT
Server: Apache/1.3.26 (Unix)
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Fri, 04 May 2001 00:00:38 GMT
ETag: "104e7-5b0-3af1f126;3d8ead48"
Accept-Ranges: bytes
Content-Length: 1456
Connection: close
Content-Type: text/html
Content-Language: en
Expires: Mon, 23 Sep 2002 06:10:01 GMT

[... page Web ...]

Les concepteurs du protocole ont cependant conscience de cette faiblesse et recommandent dans leur spécification de prévoir une option de configuration pour contrôler ce comportement dans les implémentations :

14.38 Server

   The Server response-header field contains information about the
   software used by the origin server to handle the request. 
[...]
      Note: Revealing the specific software version of the server might
      allow the server machine to become more vulnerable to attacks
      against software that is known to contain security holes. Server
      implementors are encouraged to make this field a configurable
      option.

Ainsi, sous Apache ces affichages peuvent-être partiellement débrayés en ajoutant la directive ServerTokens dans la configuration du serveur :


ServerTokens ProductOnly

Cependant, dans le meilleur des cas, le nom du produit apparaît encore :

[...]
Server: Apache
[...]

Ces fuites d'informations peuvent être évitées en appliquant un patch (testé avec Apache 1.3.26) dans le répertoire racine du code source du produit :

# tar vxzf apache_1.3.26.tar.gz
# cd apache_1.3.26
# ./configure [...]
# patch < apache.patch
# make
# make install

Après application du patch, le serveur se comporte comme suit :

# telnet localhost 80
GET / HTTP/1.0

HTTP/1.1 200 OK
Date: Mon, 23 Sep 2002 12:48:22 GMT
Server: Unknown
Content-Location: index.html.en
Vary: negotiate,accept-language,accept-charset
TCN: choice
Last-Modified: Fri, 04 May 2001 00:00:38 GMT
ETag: "104e4-5b0-3af1f126;3d8f0d08"
Accept-Ranges: bytes
Content-Length: 1456
Connection: close
Content-Type: text/html
Content-Language: en
Expires: Mon, 23 Sep 2002 12:48:22 GMT

[... page Web ...]

Ce patch ajoute une nouvelle valeur possible (None) à la directive ServerTokens, affichant "Server: Unknown" à la place de "Server: Apache" dans les en-têtes de la réponse HTTP.

Il modifie également la valeur par défaut de la directive ServerSignature de On à Off, celle-ci pouvant en effet révéler le nom et la version du produit sur les pages d'erreurs.

Derniers avertissements

Le cas échéant, n'oubliez pas d'enlever ce genre de choses :

Logo Apache

Veillez également à retirer ou déplacer les pages et arborescences par défaut du serveur (documentation et icônes Apache).

Prenez garde aux fuites d'informations liées à l'utilisation de modules supplémentaires, ces derniers pouvant ajouter de nouveaux en-têtes ou de nouvelles arborescences par défaut. A titre d'exemple, nous examinons le cas de PHP dans un autre article de cette série.

Enfin, notez que l'identification du serveur reste toujours possible par le biais de son implémentation du protocole HTTP (les combinaisons d'en-têtes utilisés en réponse pouvant être assez caractéristiques).

Compléments possibles

A l'occasion, cet article adressera également le cas des nouvelles versions d'Apache (2.0.40 et plus).


[ Drapeau anglais English version | Informations légales | Ours | Manifeste | Charte | Nous contacter | Commenter cette page ]
[ Anneau FreeBSD | Liste des sites | Aller à : 5 précédents - précédent - au hasard - suivant - 5 suivants ]