Je suis chargé d'automatiser un déchiffrement gpg à l'aide de cron (ou de tout outil de planification de travaux compatible avec Ubuntu Server). Puisqu'il doit être automatisé, j'ai utilisé, --passphrase
mais il se retrouve dans l'historique du shell, il est donc visible dans la liste des processus.
Comment puis-je automatiser le déchiffrement tout en maintenant de bonnes normes de sécurité (de préférence excellentes)?
Un exemple sera très apprécié.
ps
etc sauf si vous avezhidepid
activé/proc
, mais un shell exécutant un script (à partir de cron ou autre) n'est pas interactif et ne doit pas écrire d'historique à moins qu'il ne soit mal configuré.Réponses:
Stockez la phrase secrète dans un fichier qui n'est lisible que par l'utilisateur du travail cron, et utilisez l'
--passphrase-file
option pour indiquergpg
d'y lire la phrase secrète.Cela garantira que la phrase secrète n'est pas visible dans les informations de processus en mémoire. Le niveau de sécurité sera déterminé par le niveau d'accès au fichier stockant la phrase secrète (ainsi que le niveau d'accès au fichier contenant la clé), y compris partout où son contenu finira par être copié (alors faites attention aux sauvegardes), et l'accessibilité hors ligne (retirer le disque du serveur). Que ce niveau de sécurité soit suffisant dépendra de vos contrôles d'accès au serveur contenant le fichier, physiquement et dans le logiciel, et des scénarios que vous essayez d'atténuer.
Si vous souhaitez de grandes normes de sécurité, vous devez utiliser un module de sécurité matériel au lieu de stocker votre clé (et votre phrase secrète) localement. Cela n'empêchera pas la clé d'être utilisée in situ , mais cela l'empêchera d'être copiée et utilisée ailleurs.
la source
L'automatisation du déchiffrement signifie que vous devez stocker la phrase secrète quelque part, ou ne pas utiliser de phrase secrète (sauf si vous utilisez des options supplémentaires comme indiqué dans l'autre réponse soumise par Stephen pendant que je tapais la mienne)! Aucun de ceux-ci ne correspond à votre exigence de bonnes ou de grandes normes de sécurité.
c'est-à-dire que votre exigence n'est pas compatible avec sa sécurisation.
Vous pouvez compter sur des choses comme - vous devez être root, j'ai donné au fichier dans lequel ma phrase secrète est stockée un nom vraiment déroutant, j'ai chiffré les systèmes de fichiers sous-jacents, etc., etc., mais ce sont tous des calques qui sont triviales à contourner une fois que vous êtes root en premier lieu.
L'option qui empêche la phrase secrète de s'afficher dans la liste des processus est
--passphrase-file <file-name>
.Cependant, ce n'est pas plus sûr que de simplement retirer la phrase secrète en premier lieu.
la source