EN DIRECT en ligne connexion / inscription
Connexion

Surnom/Pseudo
Mot de Passe :

[ Vous avez perdu votre mot de pass ? | Devenir membre ]

×

[RESEAU] Peut-on tuer le Port 80 ?

CowcotLand topic RSS feed Surveiller les réponses de ce sujet
Comias @
Céréalier
Céréalier

7546pts

Inscrit le: 04 décembre 2011
Age: 38
Messages: 2243
Localisation: Nancy
Navigateur : Firefox

Hors ligne
Message Posté le: 12 juillet 2022 à 11:18  Lien permanent
Répondre en citant
Salut les fermiers!

Si on parler réseau, ports, HTTP/HTTPS, serveur? Très content

Depuis quelques jours, je me pose une question (enfin, non, plusieurs Confus )

On vois un peu partout que quand ont veux héberger (chez soit) un serveur web, cloud, mail, etc..., il faut ouvrir au niveau du routeur et pare-feu, les ports 80 = HTTP et 443 = HTTPS, pour que le serveur puisse communiquer.

Mais quand cela est fait, certaine données passe par le port 80 et de fait ne son pas sécurisé en HTTPS, ce qui pose certains problèmes.

>> Donc je me demande, si ont peu ce passé du port 80, le fermer au niveau du pare-feu et routeur, pour que le serveur utilise uniquement le port 443 HTTPS ??

>> Suite a cette question, je me suis demander, si au niveau de la configuration du serveur ou routeur, ont pouvais modifier le port 80, pour qu'il communique également et uniquement en HTTPS ?

Exemple de la configuration de mon fichier Nginx.conf:
Code:

server {
       listen                   192.168.1.2:80;
       server_name    domain.com;
       return                  301 https://$server_name$request_uri; #Redirection
}
server {
       listen                   192.168.1.2:443 ssl;
       server_name    domain.com;
       ssl_certificate  /etc/letsencrypt/live/example.com/fullchain.pem
      ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem
}



Pourrait-on par exemple, dire a la config que :

Code:

server {
       listen                   192.168.1.2:80 ssl;
       server_name    domain.com;
       ssl_certificate  /etc/letsencrypt/live/example.com/fullchain.pem
      ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem
   
}


Ou doit-on obligatoirement passé par le port 443 ?
Code:
server {
       listen                   192.168.1.2:443 ssl;
       server_name    domain.com;
       ssl_certificate  /etc/letsencrypt/live/example.com/fullchain.pem
      ssl_certificate_key  /etc/letsencrypt/live/example.com/privkey.pem
}



A cela une autre question m'est venu Roulement des yeux
Étant donner que sur mon serveur, je n'héberge pas qu'un seul site, mais plusieurs ainsi qu'un serveur cloud.
> Existent-il un moyen pour le pas surcharger le port 443, en attribuant par exemple un 2ème port HTTPS (exemple) le port 8443?

Détail technique de ma config :
Serveur Debian 11
Nginx 1.22
PHP 8.0/8.1
MariaDB 10.5

Merci par avance, pour les réponses qui seront apporter Très content



Mes Photos: https://www.nico-robin.fr/
https://www.instagram.com/nico_r0bin
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur » Google Map
ouamtax @
Saisonnier
Saisonnier

129pts

Inscrit le: 10 juin 2010
Messages: 52

Navigateur : n.c.

Hors ligne
Message Posté le: 12 juillet 2022 à 11:42  Lien permanent
Répondre en citant
Salut,

Intéressé par le sujet également.
Tu peux te passer de la redirection sur le 80 et n'attaquer que le https.
Au niveau de nginx, tu as déjà fait la redirection, donc tout ce qui arrive en 80 sur nginx sera redirigé sur le 443 de nginx avant d'attaquer l'url locale
Voir le profil de l'utilisateur Envoyer un message privé
t0t0 @
Saisonnier
Saisonnier

196pts

Inscrit le: 11 décembre 2016
Messages: 81

Navigateur : n.c.

Hors ligne
Message Posté le: 12 juillet 2022 à 12:07  Lien permanent
Répondre en citant
Lu,

Citation:
Donc je me demande, si on peut se passer du port 80, le fermer au niveau du pare-feu et routeur, pour que le serveur utilise uniquement le port 443 HTTPS ??


Oui mais c'est surtout ton serveur web qu'il faut configurer pour ne pas écouter sur le port 80 au départ (autant déjà commencer par configurer nginx pour ne pas écouter sur ce port). En général, pour des questions pratiques pour les clients, on ouvre le port 80 (http) pour rediriger sur la version https du site. C'est ce que tu fais sur la première configuration. Si vraiment tu ne veux pas gérer le trafic http, tu supprimes le premier bloc server.

Citation:
Suite à cette question, je me suis demandé, si au niveau de la configuration du serveur ou routeur, on pouvait modifier le port 80, pour qu'il communique également et uniquement en HTTPS ?


Oui, on peut configurer tout serveur web pour faire du http et/ou du https mais de l'https sur le port 80, ce n'est pas une très bonne idée mais j'y reviens plus bas.

Citation:
Existe-t-il un moyen pour ne pas surcharger le port 443, en attribuant par exemple un 2ème port HTTPS (exemple) le port 8443?


Tu peux avoir plusieurs sites (virtual hosts) en http comme en https et sur les ports que tu souhaites. Sachant que si tu utilises un port non standard comme 8443, le client devra explicitement le faire figurer dans l'URL (ie https://ton.site.fr:8443/), ce qui implique que tes clients/utilisateurs doivent le savoir (et l'expliciter dans l'URL de la même façon - s'ils saisissent l'URL à la main) puisque le port par défaut pour https c'est 443 (et 80 pour http)

Citation:
Pourrait-on par exemple, dire à la config que :


Sauf erreur de ma part, avec la configuration en question tu ferais du https sur le port 80 (ie https://ton.site.fr:80/), ça risque de porter à confusion et ne pas être pratique pour tes utilisateurs.

Citation:
J'ai un doute si ca ne créera pas une faille de sécurité


C'est possible en effet, si on veut l'éviter, il faut se tourner vers HSTS (HTTP Strict Transport Security) et surtout le preload (enregistrer son site pour forcer https mais attention il est difficile de revenir en arrière).


Dernière édition par t0t0 le 12 juillet 2022 à 13:47; édité 8 fois
Voir le profil de l'utilisateur Envoyer un message privé » Album Photos
fission @
Meuhdérateur
Meuhdérateur

3428pts

Inscrit le: 08 mars 2019
Messages: 2876
Localisation: ile de france
Navigateur : n.c.

En ligne
Message Posté le: 12 juillet 2022 à 13:14  Lien permanent
Répondre en citant
Ton fichier de config est paramétré comme il faut:

Il ecoute le port 80 (http) pour rediriger les requetes vers le port sécurisé.
Tu peux virer la premiere partie pour n'utiliser que le https mais dans ce cas tu n'auras plus la redirection. J'ai un doute si ca ne créera pas une faille de sécurité


Voir le profil de l'utilisateur Envoyer un message privé
gautierS @
Fermier
Fermier

5381pts

Inscrit le: 16 juillet 2018
Age: 30
Messages: 2225

Navigateur : n.c.

Hors ligne
Message Posté le: 12 juillet 2022 à 16:09  Lien permanent
Répondre en citant
le port 80 n'est pas dangereux pour ton serveur c'est surtout toi si tu est client que tu peux tomber sur un miroir et ton navigateur ne le sera pas. changer les ports par défaut pourquoi pas (ça évite les bot qui attaques les ports par défaut) mais comme le dit t0t0 c'est une configuration hors standard, faut savoir ce que tu fait et pourquoi =)
Voir le profil de l'utilisateur Envoyer un message privé
Comias @
Céréalier
Céréalier

7546pts

Inscrit le: 04 décembre 2011
Age: 38
Messages: 2243
Localisation: Nancy
Navigateur : Firefox

Hors ligne
Message Posté le: 19 juillet 2022 à 13:17  Lien permanent
Répondre en citant
Bonjour vous 4, je reviens vers vous après une semaines de testes Très content

Mais avant tout je réponse a certaines réponses Clin d'oeil

Citation:
Sachant que si tu utilises un port non standard comme 8443, le client devra explicitement le faire figurer dans l'URL (ie https://ton.site.fr:8443/), ce qui implique que tes clients/utilisateurs doivent le savoir (et l'expliciter dans l'URL de la même façon - s'ils saisissent l'URL à la main) puisque le port par défaut pour https c'est 443 (et 80 pour http)

Il n'y a pas besoin que l'utilisateur fasse la mention du port de connexion si cela a étais fait en amont dans le fichier de configuration.
Exemple j'ai un des sous-domaine qui est sur le port 8080, l'utilisateur tape uniquement toto.monsite.fr et tombe directement dessus.

L'utilisateur ne vois pas les ports, c'est Nginx qui gère cette parti.


Pour en revenir a ma question du début qui étais de savoir si on peut sauté le port 80 et passé uniquement par le port 443, la réponse est Oui et Non!

Oui si on héberge des sous sites de type wordpress, joomla, drupal, etc... cela ne pause aucun problème.

Extrait des fichiers config Nginx pour chacun des deux sites qui tourne avec un CMS type blog:

Toto-1
Code:
server {
   # SSL configuration
   #
   listen 172.16.152.5:443 ssl http2;
   listen [IPv6 renseigner]:443 ssl http2;
        server_name toto1.monsite.fr;

root /espace1/web/WP-1;

        fastcgi_param HTTPS on;
# Add Alt-Svc header to negotiate HTTP/3.
        add_header alt-svc 'h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400';
ssl_early_data on;


Toto-2
Code:
server {
   # SSL configuration
   #
   listen 172.16.152.5:443 ssl http2 ;
   listen [IPv6 renseigner]:443 ssl http2 ;
        server_name toto2.monsite.fr;

root /espace2/web/WP-2;

        fastcgi_param HTTPS on;
# Add Alt-Svc header to negotiate HTTP/3.
        add_header alt-svc 'h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400';
ssl_early_data on;



Par contre sur en se qui concerne le Cloud, je suis obliger de laisser activé le port 80, pour plusieurs système interne au fonctionnement du cloud.

Code:
server {
   listen  172.16.152.5:80 default_server;
   listen [IPv6 renseigner]:80 default_server;
        return    301 https://www.$server_name$request_uri;
        server_name cloud.monsite.fr


root /RAID-5/Cloud;

   # SSL configuration
   #
   listen  172.16.152.5:443 ssl http3;
   listen [IPv6 renseigner]:443 ssl  http3;
        server_name cloud.monsite.fr;

        fastcgi_param HTTPS on;
# Add Alt-Svc header to negotiate HTTP/3.
        add_header alt-svc 'h3-27=":443"; ma=86400, h3-28=":443"; ma=86400, h3-29=":443"; ma=86400';
ssl_early_data on;


Autre point important, découvert pendant les testes, si on ferme le port 80 dans le pare-feu, Debian, ne peut plus rechercher et faire les mises a jours!
Confus

Mais je vais quand même continué a creuser mon idée de changement de ports, en farfouillant dans les documents technique de Nginx, il y fond références, mais il y a une compilations a faire, car c'est un module qui n'est pas présent de base dans Nginx.



Mes Photos: https://www.nico-robin.fr/
https://www.instagram.com/nico_r0bin
Voir le profil de l'utilisateur Envoyer un message privé Visiter le site web du posteur » Google Map
t0t0 @
Saisonnier
Saisonnier

196pts

Inscrit le: 11 décembre 2016
Messages: 81

Navigateur : n.c.

Hors ligne
Message Posté le: 19 juillet 2022 à 13:36  Lien permanent
Répondre en citant
Re,

Citation:
Il n'y a pas besoin que l'utilisateur fasse la mention du port de connexion si cela a étais fait en amont dans le fichier de configuration.
Exemple j'ai un des sous-domaine qui est sur le port 8080, l'utilisateur tape uniquement toto.monsite.fr et tombe directement dessus.


Non, impossible soit tu ne tombes pas où tu penses soit tu as encore un proxy quelconque devant ton serveur nginx (proxy sur le port 80 qui renvoie sur ton serveur nginx/VH en 8080). Si l'URL ne mentionne pas de port, c'est 80 pour de l'http, le client ne devinera pas ce port non standard ni ne le demandera au serveur.

EDIT : c'est parce que tu as redirection de port (via ta box par exemple) de son port 80 vers ton serveur en 8080 ? Si oui, d'accord mais dans ce cas les ports d'écoute du serveur n'entrent pas en ligne de compte car ce sont ceux avant redirection qui vont compter pour le client et URL.

Citation:
Autre point important, découvert pendant les testes, si on ferme le port 80 dans le pare-feu, Debian, ne peut plus rechercher et faire les mises a jours!


Il faudrait distinguer trafic entrant (ce qui arrive sur ton serveur http) et sortant (quand tu vas sur un site http) dans ce cas. Par rapport à ta demande, c'est spécifiquement l'entrant que tu dois bloquer.

Citation:
Mais je vais quand même continué a creuser mon idée de changement de ports, en farfouillant dans les documents technique de Nginx, il y fond références, mais il y a une compilations a faire, car c'est un module qui n'est pas présent de base dans Nginx


?!? Ce n'est pas le rôle de la directive listen ?


Dernière édition par t0t0 le 20 juillet 2022 à 18:19; édité 3 fois
Voir le profil de l'utilisateur Envoyer un message privé » Album Photos
GrizzliGourmet @
Paysan
Paysan

991pts

Inscrit le: 06 novembre 2020
Messages: 301
Localisation: Au milieu des volcans !
Navigateur : n.c.

Hors ligne
Message Posté le: 19 juillet 2022 à 14:38  Lien permanent
Répondre en citant
Salut, je pense que tu te prends la tête en mélangeant plusieurs notions. Si l'idée est d'héberger un ou plusieurs sites depuis chez soi, mettre la machine faisant office de serveur dans une DMZ est le plus simple. Si tu possède un nom de domaine, il te faudra changer l'entrer DNS pour faire pointer l'entrée AAAA (A) vers l'IP (fixe) de chez toi.

Ton serveur nginx écoute sur le port 80 et 443. Dans la config de nginx tu déclares plusieurs virtualhost avec le même nom de domaine en créant plusieurs sous domaine, ces virtuals host permettent de rediriger le traffic http vers le bon site/dossier pour schématiser.

Côté serveur Debian, je te conseil de passer PHP en FPM en socket. tu gagneras en performance. avec ce type de configuration tu pourras créer autant de virtual host que tu le souhaites. au niveau de la machine debian, il faudra ajouter en entrée DNS local nomdedomaine.fr 127.0.0.1 ou quelque chose dans le genre.

Si tu as des services sur un autre port du genre un serveur qui tourne sur java sur le port 8080, tu peux utiliser nginx en tant que proxy, ce qui te permettra de dire pour cloud.nomdedomaine.fr en local tu pointe sur 127.0.0.1:8080
Voir le profil de l'utilisateur Envoyer un message privé » Album Photos
Sauter vers: 
Surveiller les réponses de ce sujet CowcotLand topic RSS feed  

Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Sujets similaires

Sujet Auteur Forum Réponses Posté le
Pas de nouveau message MSI B550 Gaming + : Pbl SSD port Gen4 MonsterPC CPU, Cartes mères, RAM 7 17 février 2024 à 17:52
Pas de nouveau message Problème W11 > SSD port M2 Gen4 MonsterPC SSD 0 16 février 2024 à 15:00
Pas de nouveau message 🧐Migrer Windows 10 vers Windows 11 peut-être ou pas JPC Optimisation Windows 45 14 janvier 2024 à 12:36
Pas de nouveau message Réseau de l'entre aide mini-pouce Connectique Land 11 03 octobre 2023 à 09:46
Pas de nouveau message RTX FE port I/O vers le bas et ventilation Kaptain_K7 AirCooling 2 05 septembre 2023 à 16:24