Problem: Ich habe einen Produktionsserver, den ich niemandem anvertraue. Allerdings kann ich nicht die einzige Person sein, die darauf zugreifen kann.
Realisierung: Ich muss den Leuten erlauben, sich als Root anzumelden, aber über einen Proxy, sodass alles, was sie über SSH eingeben/senden, auf einem Proxy-Rechner protokolliert wird, auf den sie tatsächlich keinen Zugriff haben (damit sie die Protokolle nicht manipulieren können).
Was ist das ideale Setup dafür? Ich bin bisher nur auf tshark gestoßen (SSH-Protokollierung aller Befehle), aber ich bin nicht wirklich sicher, ob es für den Job gut ist und nicht sicher, wie ich es genau einrichte, da die Leute sagen, dass es den Verkehr auf Protokollebene protokolliert und die SSH-Verschlüsselung auf Anwendungsebene stattfindet.
Kann jemand hierfür eine endgültige, getestete Lösung bereitstellen?
Antwort1
Es gibthttps://goteleport.comdas sollte genau das tun, was Sie verlangen. Sie sagen, es sei produktionsreif, aber ich spiele damit herum und es kommt mir wie ein frühes Entwicklungsstadium vor.
Ich suche nach Alternativen und habe Ihre Frage gefunden, die immer noch relevant ist. Ich würde mich für eine kommerzielle Lösung entscheiden.
Antwort2
Sie können es mit NHI versuchen:https://github.com/strang1ato/nhi
nhi
erfasst automatisch alle potenziell nützlichen Informationen zu jedem ausgeführten Befehl und allem, was damit zusammenhängt, und bietet einen leistungsstarken Abfragemechanismus.
nhi
führt Aufzeichnungen über:
- Befehl
- Ausgabe des Befehls
- Beendigungsstatus des Befehls
- Arbeitsverzeichnis am Ende der Befehlsausführung
- Startzeit des Befehls
- Endzeit des Befehls
- Shell-Prompt zum Zeitpunkt der Befehlsausführung
nhi
speichert außerdem allgemeine Informationen zu Shell-Sitzungen.
[...]
Der nhi-Daemon basiert auf eBPF – einer im Linux-Kernel integrierten Technologie. Die Nutzung
eBPF
garantiert eine hohe Leistung und einen geringen Overhead des Tools, da das Tracing sicher im Kernel erfolgt.
nhi
hat keinen Einfluss auf das Verhalten von Programmen/Prozessen (und Betriebssystemen im Allgemeinen).