Wenn Ihr Skript eine Verbindung zu einem dieser Server herstellen kann, kann jeder mit Zugriff auf das Skript (oder mit privilegiertem Zugriff auf den Computer, auf dem das Skript ausgeführt wird) eine Verbindung zu einem dieser Server herstellen.
Wenn das Skript autonom ausgeführt werden muss, sind alle Wetten deaktiviert. Die Antwort hier ist nein, es gibt keine absolut sichere Möglichkeit, Kennwörter in einer solchen Umgebung zu speichern . Es gibt keine absolut sichere und praktische Möglichkeit, etwas zu tun.
Anstatt zu versuchen, das Unvermeidliche zu vermeiden, sollten Sie sich auf die Verteidigung konzentrieren .
Natürlich sollten Sie die Passwörter rechtzeitig angemessen schützen . Dies bedeutet normalerweise, dass Sie sie in einer Datei getrennt von Ihrem Skript aufbewahren und restriktive Dateisystemberechtigungen konfigurieren müssen . Das ist ungefähr alles, was Sie in dieser Hinsicht tun können.
Andere Maßnahmen können dem Prozess mit Sicherheit Unklarheit verleihen . Durch die Verschlüsselung der Passwörter muss der Angreifer nach dem Entschlüsselungsschlüssel suchen. Durch die Verwendung eines durch ein Betriebssystem geschützten Speichers wird im Allgemeinen verhindert, dass andere Benutzer auf Ihren Schlüssel zugreifen (daher bietet dieser Speicher keinen Vorteil gegenüber Dateisystemberechtigungen, außer dass er komplex anzugreifen und zu verwenden ist). Diese Maßnahmen verzögern einen Angriff, verhindern ihn aber keinesfalls gegen einen entschlossenen Angreifer.
Lassen Sie uns nun die Passwörter für einen Moment als öffentlich behandeln . Was können Sie tun, um Schäden zu mindern?
Eine alte und getestete Lösung besteht darin, die Berechtigungsnachweise einzuschränken. Auf einem UNIX-System empfiehlt es sich, einen separaten Benutzer für Ihr Skript einzurichten und die Funktionen dieses Benutzers sowohl auf dem zugreifenden als auch auf dem zugreifenden Server einzuschränken. Sie können die Benutzerfunktionen auf der SSH-Ebene , auf der Shell-Ebene oder möglicherweise mithilfe eines obligatorischen Zugriffskontrollmechanismus wie SELinux einschränken .
Möglicherweise möchten Sie auch die Skriptlogik auf die Server verschieben . Auf diese Weise erhalten Sie eine kleinere Oberfläche, die einfacher zu steuern ist und insbesondere ...
Überwachen . Überwachen Sie immer den Zugriff auf die Server. Protokollauthentifizierung und Befehle werden vorzugsweise in einem Protokoll zum Anhängen ausgeführt . Vergessen Sie nicht, die Änderungen der Skriptdatei auditd
beispielsweise mit zu überwachen .
Natürlich sind viele dieser Mechanismen nicht nützlich, wenn Sie keine Kontrolle über die Server haben, wie Ihre Frage zu implizieren scheint. In diesem Fall empfehle ich Ihnen, Kontakt mit den Administratoren der Server aufzunehmen und diese über Ihr Skript und die möglichen Sicherheitsrisiken zu informieren.