Dois-je exécuter mon petit site Web sur le port 80, 8080 ou 81?


20

J'exécute un petit site Web en utilisant nginx. Puisqu'il n'y aura (probablement) pas beaucoup de trafic dans la durée de vie de mon serveur et pour éviter les attaques DoS aléatoires, j'envisage de configurer le serveur Web pour écouter sur un port alternatif au lieu du port 80.

L'écoute sur un autre port (81, 8080, etc.) réduit-elle réellement mon risque d'attaques ou de violations? Ou le fardeau de le maintenir l'emporte-t-il sur les avantages? Dans ce cas, dois-je utiliser ces ports alternatifs pour d'autres services Web au cas où je les configurerais à l'avenir?


4
Pourquoi certains «attaquants» prennent des risques pour (D) DoS un petit site Web?
Gilles Quenot

Réponses:


40

Il y a deux choses à considérer ici:

  1. Vos utilisateurs se souviendront-ils d'utiliser un port non standard dans le nom? Par défaut, le port 80 est le standard et vous n'avez donc pas à le saisir dans l'URL. Par exemple, http://superuser.coms'exécute sur le port 80 et votre navigateur suppose que 80 est le port que vous entendez lorsque vous le saisissez. Ce n'est pas différent de la saisie http://superuser.com:80. Si vous exécutez votre websever sur le port 8080, l'utilisateur doit taper http://superuser.com:8080. L'utilisateur moyen ne s'en souviendra probablement pas.
  2. L'exécution d'un serveur Web sur un port non standard vous protège-t-elle des attaques DoS? Pas vraiment. Si quelqu'un voulait vraiment mettre votre site hors service, l'exécution sur un port non standard ne l'arrêtera pas. Les attaquants analysent tous les ports de votre IP et constatent rapidement que 8080 (ou tout ce que vous choisissez) est ouvert et répond aux requêtes HTTP.

Des méthodes telles que le changement de ports sont appelées « Sécurité par l'obscurité » et il est très douteux que le travail supplémentaire et les inconvénients apportent une sécurité précieuse.


6
Je veux ajouter que toute la sécurité par l'obscurité n'est pas mauvaise. La modification du nom d'utilisateur administrateur ou racine par défaut est considérée comme une bonne pratique. Cependant, des choses comme changer les ports sont inutiles car il n'y en a que 32k et un ordinateur peut scanner cela en quelques secondes.
Keltari

2
Il n'ajoute pas de sécurité, mais il empêche les robots d'analyse bruts de ralentir votre site, en particulier si le site a un enregistrement DNS.
Nathan MacInnes

1
Cela dépend totalement de l'ampleur de l'attaque. L'utilisation de ports autres que ceux par défaut peut aider à éviter les analyses à grande échelle, par exemple, de / 0 pour les vulnérabilités du serveur Web à l'aide de zmap ou nmap. Mais @Keltari a raison, si vous êtes une cible, un attaquant effectuera une analyse complète sur vous, déterminera à partir de quel port votre serveur s'exécute, puis jouera si vous êtes vulnérable ;-).
wi1

@NathanMacInnes avec la technologie disponible aujourd'hui, je suppose que le nombre de bots qui analysent un petit site est négligeable, et l'inconvénient de changer un port par défaut est assez grand.
ILikeTacos

2
C'est faux, /superuser/et il fonctionne sur le port 443. Les sites Web sécurisés utilisent 443.
Elliot A.

5

Oui, la définition d'un autre port réduit en fait les risques d'attaques, car les robots explorant le Web pour trouver une application Web défectueuse ne regardent généralement pas les autres ports.

Si un attaquant humain vise votre serveur, il sera très facile de découvrir le vrai port sur lequel nginx écoute (en scannant les ports ouverts).

L'utilisation de ces ports alternatifs est rare (sauf les proxys ou ... serveurs Web alternatifs), donc je pense que vous pouvez l'utiliser sans crainte.

Mais rappelez-vous que l'utilisation d'un tel port alternatif empêchera les visiteurs "par défaut" de trouver votre site Web, vous devrez dire aux gens (ou l'écrire dans les liens) le bon port en utilisant des URL comme http://yourserver.com:81/ . ..


2

Une considération supplémentaire (aux deux fournies par Keltari) est que l'utilisation d'un port non standard peut faire en sorte que votre site Web soit négligé par les robots d'indexation des moteurs de recherche comme Google, sauf indication contraire.

Si votre intention est que votre site Web soit difficile à trouver pour tout le monde, sauf pour les personnes avec lesquelles vous fournissez un lien, alors l'utilisation d'un port non standard semble être favorable, mais sinon j'irais avec un port standard.


1

Ça dépend. Quelle est l'utilité du "petit site"?

  • Si cela va être utilisé par d'autres personnes, je recommanderais fortement d'utiliser des ports standard. Comme mentionné dans la plupart des réponses, l'utilisation d'un port non standard nécessite que le port soit spécifié par l'utilisateur (par exemple pour le port 81 -> yoursite.com:81). Si vous utilisez un port standard, le navigateur déduit le port à partir du protocole (http, https). http: // est normalement le port 80 et https: // est normalement le port 443, sauf en cas de substitution. Je recommande fortement d'utiliser des ports standard. Bien sûr, vous POUVEZ mettre la seule entrée d'une maison dans l'arrière-cour, mais comment les visiteurs sauront-ils qu'elle est là?

  • S'il s'agit d'un site de test que vous utilisez uniquement, vous devez vous poser deux questions:

    • Sera-t-il attaché à un enregistrement DNS (nom de domaine)? (Je trouve que mes serveurs sans références DNS sont beaucoup plus silencieux en termes d'attaque. REMARQUE: veuillez ne pas considérer cela comme plus sécurisé. Ce n'est pas le cas; cela rend simplement plus difficile pour les attaquants de vous trouver via DNS)
    • Êtes-vous d'accord pour taper manuellement le port et / ou l'IP?

TL; DR:

  • Utilisé par d'autres personnes: utilisez 80/443
  • Privé: à vous de voir

0

Vous pouvez exécuter le serveur http sur n'importe quel port, mais il sera difficile pour vos internautes, les utilisateurs de se souvenir du port.

Cela réduira le risque d'attaques ou de violations, mais il existe également d'autres moyens, comme la sécurisation de votre serveur et le maintien du serveur HTTP sur le port 80.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.