Fournir en toute sécurité des mots de passe à un démon Linux

6

J'ai un démon linux qui accède à certains services (db, etc.). Il a besoin de mots de passe pour cela. Quel serait le meilleur moyen de donner les mots de passe au démon de manière sécurisée?

Je stocke actuellement les mots de passe dans un fichier de configuration racine-en lecture-seule, mais il semble plutôt dangereux de s'appuyer sur des autorisations.

J'envisage de demander à l'utilisateur un mot de passe au démarrage du démon et de stocker le mot de passe uniquement en mémoire. Bien sûr, il ne s’agit là que d’un petit obstacle pour un attaquant dédié ayant un accès root, mais au moins, il sécurise la sauvegarde, les instantanés, etc., et peut gagner du temps.

Autres options? Des recommandations?

Arnuschky
la source
4
Si le fichier racine r / o n'est pas suffisamment sécurisé, il n'y a aucune sécurité.
Kondybas

Réponses:

4

Il existe différentes manières de le configurer, notamment en utilisant une méthode d’authentification différente de celle des mots de passe.

Une méthode peut être d'utiliser des certificats TLS / SSL pour la connexion. Mais normalement, conserver le mot de passe dans un fichier en lecture seule suffirait - comme le dit Kondybas, si le compte root est compromis, tout est compromis .... Vous pouvez également demander au startscript d'effectuer un chmod 400 avant de démarrer le service et chmod 000 une fois démarré.

Ainsi, au lieu de vous concentrer uniquement sur la sécurisation du mot de passe, vous souhaiterez travailler sur le serveur cible. Pour une base de données, je commencerais par limiter les hôtes pouvant se connecter avec le nom d'utilisateur utilisé par le serveur Linux. Je voudrais également limiter ce que l'utilisateur est autorisé à faire avec la base de données - par exemple, vous pouvez souhaiter que le démon Linux puisse ajouter du contenu à la base de données, mais peut-être ne pas le faire DROP TABLE.

Vous devez également généralement rendre le serveur aussi sécurisé que possible. Le démon ne doit pas être exécuté par root, sauf en cas d'absolue nécessité. le port SSH ne devrait pas autoriser l'accès depuis un hôte sur Internet, et certainement pas avec la connexion root autorisée.

Veillez également à ce que le mot de passe ne soit réutilisé nulle part ailleurs, sinon une compromission sur ce serveur pourrait entraîner une escalade de la violation sur votre réseau.

Vous pouvez également trouver utile une recherche sur la sécurité .

Jenny D
la source