Je ne veux pas que quiconque soit capable de détecter que j'utilise NGINX ou même Ubuntu à partir d'Internet. Il existe des outils (tels que BuiltWith) qui analysent les serveurs pour détecter les outils qu'ils utilisent. En outre, certains outils de craquage peuvent aider à la détection. Quel est le meilleur / le plus proche de ce que je peux arriver à cacher toutes ces informations de l'extérieur?
81
Si vous avez installé nginx à l'aide d'apt-get dans Debian ou Ubuntu, vous devrez peut-être installer le paquet nginx-extras pour définir ou effacer l'en-tête "Server".
Une fois que cela est fait, vous pouvez ajouter les lignes ci-dessous dans nginx.conf (généralement /etc/nginx/nginx.conf):
Pour effacer complètement l'en-tête "Serveur":
Pour définir une chaîne personnalisée en tant que "Serveur"
la source
more_clear_headers Server;
fonctionne également sur Debian Jessie 8.5 Version nginx: nginx / 1.6.2http
,server
,location
, etlocation if
contextes. Source: ngx_headers_more documentationsudo apt-get install nginx-extras
puis définissez les enunknown directive "more_set_headers"
. Résolu via l'activation explicite du module dans/etc/nginx/nginx.conf
. Ajoutez simplementload_module modules/ngx_http_headers_more_filter_module.so;
au début du fichier de configuration.@ Martin F. Oui, c'est le cas. Vous devrez le compiler à partir du source et changer ce qui est nécessaire avant de compiler le source.
Je suppose que vous avez téléchargé la dernière version stable que vous avez décompressée et que vous savez où se trouvent les fichiers. Si c'est le cas, procédez comme suit:
Ensuite, cherchez la ligne 48 si je me souviens bien.
Remplacez nginx par MyWitelyServerNameIWant, par exemple
ensuite
cherche la ligne
remplacez "nginx /" par "MyWurtherServerNameIWant /" afin qu'il soit lu
Enfin si vous voulez aussi changer le numéro de version
cherche la ligne #define NGINX_VERSION "1.0.4"
et changez "1.0.4" pour la version de votre choix. Par exemple, il va lire
J'espère que ça aide. Néanmoins. Sécuriser un serveur va bien au-delà de ne pas montrer ce qui fonctionne. PHP est par nature peu sûr, de même que Linux. Bien sûr, Linux peut être assez sécurisé si toutes les mesures nécessaires sont prises afin de parvenir à une sécurité décente. En ce qui concerne PHP, je recommanderais d'utiliser Suoshin pour renforcer la sécurité de votre code.
la source
Après avoir longuement réfléchi à la création d’une version personnalisée de nginx sur Ubuntu, j’ai réalisé que vous pouviez utiliser le module lua à cet effet.
Sur Ubuntu 14.04, si vous installez le
nginx-extras
paquet, vous pouvez supprimer l’en-tête du serveur en utilisant:header_filter_by_lua 'ngx.header["server"] = nil';
Jetez ceci dans le bloc http et chaque demande manquera d'un en-
Server
tête.Si cela ne fonctionne
nginx -V
pas, vérifiez que le module lua a bien été compilé dans votre copie de nginx. Sinon, il y a probablement un autre paquet que vous pouvez utiliser pour l'obtenir.la source
nginx-extra
amore_set_headers "Server: whatever";
fonctionné, donc +1: DAu lieu de header_filter_by_lua, il est recommandé d'utiliser la nouvelle directive header_filter_by_lua_block qui insère la source Lua directement entre accolades (
{}
). Avec cela, il n'est pas nécessaire d'échapper aux caractères spéciaux.header_filter_by_lua_block { ngx.header["server"] = nil }
https://github.com/openresty/lua-nginx-module#header_filter_by_lua_block
la source
Tout d’abord: pourquoi utiliser un module supplémentaire en-tête More Nginx? Seulement pour cacher l'en-tête du serveur. Si quelques lignes, simple patch peut atteindre la même solution pour vous.
L'utilisation d'un module supplémentaire risquerait d'entraîner une instabilité (dans quelle mesure at-il été testé avec votre environnement? Avec vos autres modules, etc.) ou une insécurité (ce module est-il régulièrement mis à jour avec des correctifs liés aux bogues et à la sécurité?)
Deuxièmement. Cette discussion décrit comme réponse 279389 comment vous pouvez ajuster le code Nginx pour modifier l'en-tête du serveur. Le problème est qu'ils ont oublié HTTP / 2. En bref, rien ne changera. L'en-tête du serveur sera toujours visible.
Moins c'est plus c'est mieux. Ok, je l’avoue, je cherche aussi depuis longtemps une bonne solution. Mais finalement trouvé:
Patch de suppression d'en-tête de serveur Nginx
Je suis finalement racheté de cet en-tête ennuyeux du serveur Nginx.
la source
Exécutez cette fonction bash dans le dossier du code source nginx. Dans nginx- $ version, pas dans src /.
Basé sur cette réponse .
la source
Reportez-vous à cette essence . Va sûrement vous aider.
la source