Bevor ich meinen derzeitigen Job (in einem kleinen Unternehmen) antrat, hatte mein Büro keine Firewall im Netzwerk und es wurde buchstäblich nie etwas gesichert. Nachdem ich mich als Systemadministrator / Ein-Mann-IT-Abteilung angemeldet habe, habe ich alles getan, um dies zu ändern. Nachdem er meinem Chef erklärt hat, wie verletzlich wir sind, hat er mir gestattet, Backup-Server einzurichten, von denen sich einer in seinem Haus befindet.
Im Moment versuche ich, alles so einzustellen, dass ich tägliche Backups automatisieren kann. Ich plane, rsync über ssh zu verwenden, um dies zu tun. Aus Sicherheitsgründen und zur Vereinfachung der Automatisierung plante ich, die SSH-Kennwortanmeldung zu deaktivieren und nur die RSA-Schlüsselüberprüfung zu verwenden. Nun, wenn ich eine Rsa-Passphrase habe, muss ich immer noch ein Passwort eingeben, und das ist ein Problem.
Wird die Sicherheit durch die Verwendung einer Rsa-Passphrase erheblich beeinträchtigt? Ich bin die einzige Person in der Firma, die irgendeine Ahnung von so etwas hat, also mache ich mir keine Sorgen, dass jemand ein Terminal auf meinem Computer aufruft (der sowieso immer gesperrt ist, wenn ich AFK bin ) und ssh-in einen der Backup-Server und Schaden anrichten. Ich bin noch sehr, sehr neu in der Welt der Systemadministration, und dies ist das erste Mal, dass ich so etwas mache, und ich möchte keine Lücken in der Sicherheitseinstellung lassen.
Auf den fraglichen Computern werden Ubuntu 10.10, SME Server und OSX 10.6 ausgeführt, wenn dies irgendwie einen Unterschied macht.
Antworten:
Wie Sie wissen, besteht der Vorteil der Passphrase darin, dass jemand, der Ihren privaten Schlüssel lesen kann, ihn nicht verwenden kann.
Wenn jemand auf diesen privaten Schlüssel zugreifen kann, sollten Sie davon ausgehen, dass er auf alle mit dem öffentlichen Schlüssel eingerichteten Computer Zugriff hat (ed) oder diese gefährdet. Dinge wie .bash_history oder .ssh / config machen dies nur einfacher, selbst wenn Ihr .ssh / known_hosts verschleiert ist.
Ein Passwort auf Ihrem Schlüssel zu haben, ist noch lange nicht das Ende der Welt. Hier sind drei Ideen, die Ihnen helfen sollen, sich trotzdem ein wenig besser abzusichern. ( Der Biggie ist der zweite, lesen Sie das, wenn nichts anderes )
Verwenden Sie nicht nur den gleichen Schlüssel für alle Computer und Benutzer. Generieren Sie für jeden Benutzer auf jedem Computer (auf dem dies erforderlich ist) ein eigenes Schlüsselpaar. Auf diese Weise können Sie genau steuern, was in der Lage ist, wo zu sshen.
Wenn Sie den Schlüssel zu Ihrer authorized_keys-Datei hinzufügen, können Sie ihn sperren, um nur einen bestimmten Befehl ausführen zu können oder ihn nur von einem bestimmten Host aus zu verwenden.
Siehe
man ssh
und suche nach command = und from =Die Syntax sieht ungefähr so aus:
from="1.2.3.4",command="/path/to/executable argument" ssh-rsa key name
Dh Pop 'rsync' drin und nur 'rsync' kann von Ihrem Schlüssel aufgerufen werden, und nur von der IP-Adresse 1.2.3.4. Mehrere IPs können durch getrennt werden
,
. Hostnamen werden ebenfalls unterstützt.Eine andere Sache, die mir einfällt, ist die Anweisung 'AllowUser' in Ihrer sshd_config
Das stellt grundsätzlich sicher, dass sich der Benutzer nur von einem bestimmten Ort aus einloggen kann. (obwohl es auch Platzhalter akzeptiert) Es wird nicht alle Ihre Probleme lösen, aber es wird es zumindest für andere schwerer machen.
quelle
Sie können so etwas wie einen Schlüsselbund verwenden , um eine Passphrase weniger schmerzhaft zu machen. Dies ist etwas sicherer als die Verwendung eines passwortlosen Logins und kann in Kombination mit den anderen Antworten hier verwendet werden. PriceChilds Antwort war ziemlich gut.
quelle
Persönlich verwende ich DSA, nicht RSA, hauptsächlich, weil es das ist, was ich immer verwendet habe und ich weiß, dass es "nur funktioniert", aber die Theorie, die ich denke, ist die gleiche. Sie könnten
dsa
mitrsa
unten ersetzen .Auf der Quelle:
Kopieren Sie dann den Inhalt der
.ssh/id_dsa.pub
Datei in.ssh/authorized_keys
das Benutzerkonto auf dem Ziel.Dann sollten Sie nur in der Lage sein, ohne Passwörter zwischen der Quelle und dem Ziel zu sshen.
quelle