Avant de commencer à occuper mon emploi actuel (dans une petite entreprise), mon bureau n’avait pas de pare-feu sur le réseau et rien n’était littéralement sauvegardé. Maintenant que je suis connecté en tant que département informatique / administrateur unique, je fais tout ce que je peux pour changer cela. Après avoir expliqué à notre chef à quel point nous étions vulnérables, il m'a permis de mettre en place des serveurs de sauvegarde, dont l'un se trouve chez lui.
En ce moment, j'essaie de tout configurer pour pouvoir automatiser les sauvegardes quotidiennes. Je prévois d'utiliser rsync via ssh pour le faire. Pour des raisons de sécurité ainsi que pour faciliter l'automatisation, je prévoyais de désactiver la connexion par mot de passe ssh et d'utiliser uniquement la validation de clé rsa. Eh bien, si j’ai un mot de passe rsa, je devrai toujours entrer un mot de passe, et c’est un problème.
Ne pas avoir de mot de passe rsa rend les choses beaucoup moins sécurisées? Je suis la seule personne dans l'entreprise à avoir une idée de ce genre de chose, je ne m'inquiète donc pas trop de voir quelqu'un appeler un terminal sur ma machine (qui est toujours verrouillé quand je suis AFK, de toute façon ) et ssh-ing dans l’un des serveurs de sauvegarde et causant des dommages. Je suis encore très très novice dans le monde de l'administration des systèmes, et c'est la première fois que je fais quelque chose comme ça, et je ne veux laisser aucune faille dans la configuration de la sécurité.
Les ordinateurs en question exécutent Ubuntu 10.10, SME Server et OSX 10.6, si cela fait une différence.
Réponses:
Comme vous le savez, l'avantage que vous offre la phrase secrète est que si une personne est capable de lire votre clé privée, elle est «incapable» de l'utiliser.
Si une personne est en mesure d’accéder à cette clé privée, vous devriez considérer qu’elle a accès / compromis aux machines configurées avec la clé publique. Des choses comme .bash_history ou .ssh / config ne font que rendre cela plus facile, même si votre .ssh / known_hosts est masqué.
Ne pas avoir de mot de passe sur votre clé n'est pas la fin du monde, voici 3 idées pour essayer de vous aider à vous protéger un peu mieux malgré cela. ( Le gros problème est la seconde, lisez ceci si rien d'autre )
N'utilisez pas simplement la même clé sur toutes les machines et tous les utilisateurs. Générez chaque utilisateur sur chaque machine (qui doit faire ce genre de chose) sa propre paire de clés. Cela vous permettra de garder un contrôle fin sur ce qui est capable de ssh où.
Lors de l'ajout de la clé à votre fichier registered_keys, vous pouvez la verrouiller pour pouvoir uniquement exécuter une commande spécifique ou l'utiliser uniquement à partir d'un hôte spécifique.
Voir
man ssh
et rechercher command = et from =La syntaxe est quelque chose comme:
from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name
c'est-à-dire que pop 'rsync' est là et que seul 'rsync' peut être appelé par votre clé, et uniquement à partir de l'adresse IP 1.2.3.4. Plusieurs adresses IP peuvent être séparées par
,
. Les noms d'hôte sont également pris en charge.Une autre chose qui me vient à l’esprit est la directive 'AllowUser' dans votre sshd_config
Cela garantit essentiellement que l'utilisateur ne peut se connecter qu'à partir d'un certain emplacement. (bien qu'il accepte aussi les caractères génériques) Ne résoudra pas tous vos problèmes, mais au moins, cela rendra les choses plus difficiles pour les autres.
la source
Vous pouvez utiliser quelque chose comme un trousseau pour rendre la phrase secrète moins douloureuse. Ceci est légèrement plus sécurisé que d'utiliser un identifiant sans mot de passe, et peut être utilisé en combinaison avec les autres réponses ici. La réponse de PriceChild était plutôt bonne.
la source
Personnellement, j'utilise DSA et non pas RSA, principalement parce que c'est ce que j'ai toujours utilisé et que je sais que cela «fonctionne», mais je suppose que la théorie est la même. Vous pouvez remplacer
dsa
parrsa
ci-dessous.Sur la source:
Copiez ensuite le contenu du
.ssh/id_dsa.pub
fichier dans.ssh/authorized_keys
le compte d'utilisateur de la destination.Ensuite, vous devriez juste être capable de ssh entre la source et la destination sans mot de passe.
la source