Conformément aux meilleures pratiques de sécurité, il ne faut pas autoriser la connexion root via SSH avec un mot de passe ou des clés. Au lieu de cela, sudo doit être utilisé.
Cependant, si l'on veut utiliser SSH (SFTP) pour l'édition à distance des fichiers de configuration du serveur, comme ceux vivant dans / etc (Apache, Cron, vous l'appelez), comment cela doit-il être fait?
L'édition à distance des fichiers accessibles par root via SFTP peut-elle être compatible avec les meilleures pratiques de sécurité
Comment définir les autorisations de fichiers, les groupes d'utilisateurs et respecter les meilleures pratiques de sécurité
Actuellement, j'utilise l'authentification par clé publique protégée par mot de passe pour me connecter en tant que root, mais je ne suis pas sûr qu'il y ait quelque chose de plus sécurisé que je puisse faire, de sorte que les connexions SSH face à la racine puissent être complètement désactivées.
Le serveur est Ubuntu 12.04.
Réponses:
Si l'édition à distance est vraiment souhaitée, une solution simple pourrait être de conserver une copie de / etc (ou des parties de celle-ci) sur un autre utilisateur local et de configurer le système pour copier les modifications à partir de là vers le / etc réel. Encore mieux serait d'utiliser un git - ou svn, ou tout autre système de contrôle de version de votre choix - et vous auriez également un journal de modifications supplémentaire.
Il est également possible de configurer chroot sur SFTP et de désactiver la connexion normale pour un compte spécifique - ou de limiter la connexion à cet utilisateur uniquement à partir des adresses IP spécifiées - avec la même fonctionnalité d'OpenSSH (Match Group, etc.). À ce sujet, consultez http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/
Cependant, n'oubliez pas que la plupart des fichiers de configuration sur / etc permettent d'obtenir un accès root simplement en les éditant. J'ai vu des systèmes configurés avec svn / git pour vérifier la validation des fichiers de configuration avant d'accepter les modifications des fichiers - qui pourraient être utilisés pour accepter uniquement les formats de configuration sécurisés.
Quoi qu'il en soit, il existe de nombreuses solutions différentes au problème. Ce n'était qu'une approche.
la source
Je ne vois pas pourquoi ce ne serait pas correct de sudo éditer ces fichiers via SSH. Je le fais tout le temps, par exemple
Si vous souhaitez utiliser un éditeur GUI, vous pouvez utiliser le tunneling X. Vous devez l'autoriser dans votre fichier ssh conf puis utiliser l'
-X
option sur votre ligne de commande ssh.Ensuite, vous pouvez modifier le fichier fichier un éditeur GUI:
la source
Voir cette réponse SO pour un exemple de la façon de le faire via un tunnel SSH dans Sublime Text.
la source