NodeJS, utiliser un port inférieur à 1024 en non-root

De Ikoula Wiki
Jump to navigation Jump to search

Introduction

Cet article indique comment outrepasser la sécurité permettant d'ouvrir un socket NodeJS sur un port inférieur à 1024 en tant qu'utilisateur non-root.

Déroulé

Si vous n'utilisez de proxy en amont de votre service NodeJS et que ce dernier est lancé via un utilisateur qui n'est pas root, il y a une limite qui interdit l’utilisation d'un port inférieur à 1024.


Donc pour par exemple rendre le service accessible sur le port 80, trois choix s'offrent à vous, soit :

- Un proxy écoutant sur le port 80 et redirigeant vers le port sur lequel NodeJS est configuré.

- Lancer le service en tant que root (déconseillé pour des raisons de sécurité)

- Outrepasser la limite définie sur les ports inférieurs à 1024.


Pour la troisième option, il vous faudra utiliser la commande suivante :

setcap 'cap_net_bind_service=+ep' `which nodejs`



Cet article vous a semblé utile ?

0



Vous n'êtes pas autorisé à publier de commentaire.