Édition à distance sécurisée de fichiers accessibles par root via SSH

8

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.

Mikko Ohtamaa
la source
Alors, quel est votre système d'exploitation client? Veuillez être plus précis dans votre question!
SPRBRN
Je ne vois pas pourquoi la connexion root directe basée sur les clés devrait être moins sécurisée que sudo.
jpc

Réponses:

2

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.

thejhh
la source
1

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

sudo nano /etc/apache2/sites-available/default

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' -Xoption sur votre ligne de commande ssh.

ssh -X server.example.com

Ensuite, vous pouvez modifier le fichier fichier un éditeur GUI:

sudo gedit /etc/apache2/sites-available/default
Mikkel
la source
Il s'agit de l'édition à distance comme je le faisais référence; Vous exécutez gedit sur le serveur, pas un éditeur de texte local qui édite des fichiers via SSH / SFTP
Mikko Ohtamaa