So stellen Sie im Remote-Modus einen sicheren Zugriff auf Server her



Hier auf Habré gibt es bereits Dutzende von Artikeln, die erzählen, wie Menschen den Übergang zu einem abgelegenen Ort erlebt haben, wie sie die ersten Tage eines abgelegenen Ortes erlebt haben, wie die erste Woche verlaufen ist und so weiter. Manchmal rutschten einige praktische Ratschläge zwischen der Beschreibung von Emotionen hin und her. Als Personen mit 12 Jahren Erfahrung in der Remote-Serververwaltung haben wir uns entschlossen, über ein Tool zu sprechen, ohne das der Remote-Server zu einem ziemlich gefährlichen Ereignis für Ihr Unternehmen wird. Warum? - Weil die Leute an irgendetwas denken (vor allem natürlich an die verdammt freien 40 Minuten im „Zoom“), aber nicht an Sicherheit. Genauer gesagt haben Sie natürlich über dieses Problem nachgedacht - aber wir wetten, dass er nicht der erste in der Reihe war?

Und die Gegenfrage: Ich frage mich, wozu Ihre Gedanken geführt haben. Schließlich gehen Ihre Kollegen, die in gemütlichen Wohnungen und Häusern sitzen, mit ungeschützten Geräten über ungeschützte Kanäle und berühren buchstäblich alle Server des Unternehmens ...

Wir möchten Ihnen eine Open-Source-Version des in unserem Unternehmen als Bastion-Server verwendeten Tools zur Verfügung stellen. Es wird als DevOpsProdigy Isolate Authentication Server bezeichnet .

Wie es funktioniert


1. Isolieren fügt dem SSH-Login ein Einmalkennwort und eine Zwei-Faktor-Authentifizierung hinzu. Sie können hierfür das YubiKey- Gerät oder die Google Authenticator- Anwendung verwenden . Selbst wenn ein Benutzer das Kennwort ohne OTP-Schlüssel von seinem Konto verloren hat, kann ein Angreifer es nicht verwenden und zum Isolate-Server gelangen. Um die Zwei-Faktor-Authentifizierung zu implementieren, verwenden wir das pam-Modul. Sie können mehr darüber in diesem alten Artikel lesen .

2. Benutzer erhalten keinen direkten Zugriff auf die Endserver. Die Verbindung wird über den Isolate-Server geleitet, und das System überwacht und zeichnet alle ihre Aktivitäten auf.

Bei allen Benutzeraktionen werden zwei Befehle verwendet:

s <search-str>- Um nach Informationen nach Projektname oder Servernamen zu suchen, werden Informationen in der integrierten Redis-Datenbank gespeichert, die durch Autorisierung geschlossen wird.

g <ip-address> / g <project-name> <server-name>- Ein Aufruf dieses Befehls wird gestartet /usd/bin/ssh . Argumente für den Aufruf (z. B. Benutzername, IP-Adresse, Port, Proxy) werden aus der Datenbank übernommen.

3. Der Zugriff auf den Authentifizierungsserver ist einfach zu verwalten - Benutzer hinzufügen / entfernen usw. Sie können eine große Anzahl von Beispielen für die Verwendung von Befehlen in der Readme - Datei finden auth-add-user, auth-add-hostusw.

Technisch, benötigen Sie den Isolat Server - Schlüssel auf den Zielservern zu generieren und zu setzen, und Ihre Benutzer eines regelmäßigen Zugang zum Isolieren Server von sudo zu ssh erhalten müssen.

Wenn sie eine Verbindung zum Zielserver herstellen möchten, führt das System den Befehl ssh aus. Als nächstes erhält der ssh-Client, der von einem privilegierten Benutzer gestartet wird, einen Schlüssel, mit dem das System wiederum Zugriff auf den gewünschten Server erhält.

Das ist alles. Isolate läuft unter CentOS 7 / Ubuntu 16.04 / Debian 9 . Ansible 2.3+ wird ebenfalls benötigt .

Ich kann nur feststellen, dass DevOpsProdigy IsolateDies ist auch in Friedenszeiten nützlich: Sie können für Ihre Server ruhig sein, selbst wenn jemand einen Laptop mit einem SSH-Schlüssel verliert. Und wenn ein Mitarbeiter, der Zugriff hatte, das Unternehmen verlässt, müssen Sie sich nicht beeilen, um alle Passwörter und Schlüssel zu ändern. Jetzt bereiten wir eine Liste von Verbesserungen und Funktionen für die aktuelle Version dieses Tools vor, die in unserem internen System implementiert sind. Wir warten auf Wünsche, Probleme und PR in unserem Github-Repository . Für Diskussionen und Fragen gibt es auch einen Telegramm-Chat und einen Chat in Slack .

Jetzt kann die Remote-Arbeit in Ihrem Unternehmen etwas einfacher werden. Und sicher - viel sicherer. Viel Glück

All Articles