Y a-t-il une raison de conserver l'en-tête de réponse «Serveur» dans Apache

16

Mon serveur répond Server: Apache/2.2.15 (CentOS)à toutes les demandes. Je suppose que cela trahit mon architecture de serveur, ce qui facilite le piratage des tentatives.

Est-ce déjà utile pour un navigateur Web? Dois-je le garder?

Nic Cottrell
la source
Évidemment, je garde également mes serveurs à jour avec yum-cron!
Nic Cottrell

Réponses:

16

À mon avis, il est préférable de masquer cela autant que possible. C'est l'un des outils que vous utilisez pour pirater un site Web - découvrez sa technologie, utilisez les failles connues de cette technologie. La même raison pour laquelle les meilleures pratiques de sécurité ont commencé il y a quelque temps à promouvoir la création d'URL sous la forme "/ view / page" au lieu de "/view/page.jsp" ou "/view/page.asp" ... donc la technologie sous-jacente ne serait pas exposé.

Il y a quelques discussions à ce sujet comme /programming/843917/why-does-the-server-http-header-exist et http://www.troyhunt.com/2012/02/shhh- dont-let-your-response-headers.html et évidemment Hacking Exposed livre.

Aussi ceci sur le Security SE /security/23256/what-is-the-http-server-response-header-field-used-for

Mais gardez à l'esprit que ce n'est pas la fin pour sécuriser vos serveurs. Encore un pas dans la bonne direction. Il n'empêche aucun hack d'être exécuté. Cela rend simplement moins visible le hack à effectuer.

ETL
la source
6
La suppression des extensions de nom de fichier dans les URL n'a rien à voir avec la sécurité ... c'est plus lisible pour les humains. Il existe mille autres façons de révéler votre plate-forme d'application.
Brad
Si le serveur est correctement configuré, révéler la plate-forme à un attaquant potentiel ne l'aidera pas de toute façon.
Cthulhu
19

Vous pouvez modifier l'en-tête du serveur si vous le souhaitez, mais ne comptez pas sur cela pour la sécurité. Seule la mise à jour le fera, car un attaquant peut simplement ignorer l'en-tête de votre serveur et essayer tous les exploits connus depuis le début.

La RFC 2616 déclare, en partie:

Les implémenteurs de serveur sont encouragés à faire de ce champ une option configurable.

Et Apache l'a fait, avec la ServerTokensdirective. Vous pouvez l'utiliser si vous le souhaitez, mais encore une fois, ne pensez pas que cela vous empêchera magiquement d'être attaqué.

Michael Hampton
la source
4
+1 Mes journaux sont pleins «d'attaques» pour les logiciels qui ne sont pas installés. Les pirates jettent simplement tout ce qu'ils ont et voient ce qui colle. S'il y a un utilitaire à changer les ServerTokens, c'est au mieux négligeable.
Chris S
@ChrisS Effectivement. Je ne m'embête même pas; Je garde à la place mes serveurs Web à jour.
Michael Hampton
3
Je suis en quelque sorte en désaccord. Bien que cela puisse être mineur, la sécurité n'est jamais assez forte, et tout ce qui peut aider sans apporter de défauts ou diminuer les performances doit être appliqué.
mveroone
2
Pourquoi des informations sur la version volontaire? Je mets toujours "ServerSignature Off" et "ServerTokens Prod". Acceptez également que la mise à jour de vos serveurs Web est la seule véritable protection. Si vous ne supprimez pas les informations de version et que vous ne les soumettez pas à un test de pénétration tiers, ils sont sûrs de signaler cela comme une "fuite d'informations".
HTTP500
@ HTTP500 Je m'occupe régulièrement de la conformité PCI-DSS. Il s'agit d'un non-problème complet, à condition que vous soyez corrigé. Lorsque cela devient un problème, c'est quand il fuit des informations sur d' autres parties du système (c'est-à-dire que je peux dire que l'OP exécute CentOS 5.x) ou que vous ne vous êtes pas tenu à jour.
Michael Hampton
2

L'affichage de la chaîne complète, avec les informations de version, pourrait vous exposer à un risque accru d'attaques 0day si l'attaquant a gardé une liste des serveurs exécutant quel logiciel.

Cela étant dit, vous ne devez pas vous attendre à ce que masquer une chaîne de serveur vous protège contre les tentatives de piratage. Il existe des moyens de prendre les empreintes digitales d'un serveur en fonction de la manière dont les réponses et les erreurs sont signalées.

Je désactive mes chaînes, autant que je peux mais je ne transpire pas sur celles que je ne peux pas cacher (par exemple OpenSSH).

Dan
la source