web-dev-qa-db-fra.com

Est-il correct de désactiver la configuration requise?

J'essaie de configurer un script de déploiement en utilisant Capistrano À une étape cap deploy:setup le script se connecte à mon serveur et essaie d'exécuter des commandes qui créent des répertoires. Ensuite, je vois une erreur: msudo: sorry, you must have a tty to run Sudo

Il existe une solution suggérée pour désactiver la configuration requise sur mon serveur. https://unix.stackexchange.com/a/49078/26271

Je me demande si c'est sûr de le faire?

39
dev.e.loper

Il y a un avantage de sécurité très limité à avoir requiretty sur un serveur. Si du code non root est exploité (un PHP, par exemple), l'option requiretty signifie que le code d'exploitation ne pourra pas mettre à niveau directement ses privilèges en exécutant Sudo.

Il peut y avoir un autre moyen pour l'attaquant de se rooter, et bien sûr l'attaquant sera toujours en mesure de défigurer votre site, mais ne pas laisser l'attaquant gagner root signifie que d'autres services fonctionnant en tant qu'utilisateurs différents continueront de fonctionner normalement et l'attaquant a gagné '' t pouvoir effacer les journaux système. Si aucune de vos règles Sudo ne fait quelque chose de dangereux comme la création d'un répertoire , ce n'est pas un problème.

De plus - et plus accablant pour requiretty - aucun privilège n'est nécessaire pour créer un tty, par ex. avec attendez . Donc, vous pourriez aussi bien désactiver requiretty: à lui seul, il n'offre pas d'avantage de sécurité. Il offre un léger avantage d'auditabilité lorsqu'il est exécuté par les utilisateurs (car les journaux donnent une meilleure idée de qui a appelé Sudo et d'où ils viennent), mais pas lorsqu'ils sont exécutés à partir d'un travail d'arrière-plan.