NodeJS, utiliser un port inférieur à 1024 en non-root
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 ?
Activer l'actualisation automatique des commentaires