Installation des Linux-Agenten¶
Der Linux-Agent wird von cyberelements.io / cyberelements Cleanroom verwendet, um den möglichen Netzwerkzugriff von SSH-Servern zu begrenzen, auf die Benutzer zugreifen (definiert in Zugriffsrichtlinien / -verträgen).
Voraussetzungen¶
Für die ordnungsgemäße Funktion des Wirkstoffs sind einige Voraussetzungen erforderlich:
- Kompatible Betriebssysteme: Red Hat 9 und Debian 12
- Vorhandensein der
iptablesFirewall - Anmeldung mit einem anderen Konto als
root
Info
Der Linux-Agent wirkt nicht auf die root Der Benutzer hat immer genügend Rechte, um alle ihm auferlegten Beschränkungen zu entfernen.
Da einige Dienste root-Rechte nutzen, könnte das Hinzufügen von Netzwerkbeschränkungen dazu führen, dass diese Dienste instabil werden.
Betrieb¶
Der Linux-Agent ist in mehrere Teile unterteilt:
- Ein Systemd-Dienst mit dem Namen
cleanroom-filter - Ein PAM-Modul mit der Bezeichnung
pam_clr_filter - Eine SELinux-Richtlinie für Red Hat, die es dem SSH-Server ermöglicht, mit dem
cleanroom-filter-Dienst zu kommunizieren
Die allgemeine Operation folgt dieser Reihenfolge:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW_SSH as Edge Gateway<br/>SSH Recorder
participant SSH as SSH Target<br/>SSH Server
participant PAM as SSH Target<br/>pam_clr_filter PAM Module
participant svc as SSH Target<br/>cleanroom-filter Service
MED->>GW_SSH: Request to open an<br/>SSH application
GW_SSH->>+MED: Retrieve filtering information<br/>for the session
MED->>-GW_SSH: Send network<br/>filtering information
GW_SSH->>+SSH: SSH Connection
SSH-->-PAM: Creating an SSH session
PAM->>+svc: Sending the username
Note right of svc: Creating an iptables <br/>chain for the user named clr-LOGIN
svc->>-PAM: Sending a unique token
Note over PAM: Adding the CLR-ID environment<br/> variable containing the unique token<br/> to the user's session
GW_SSH->>svc: Sending the list of networks to be authorized
Note over svc: Creating an iptables OUTPUT rule<br/> to redirect the user's traffic to the iptables<br/> chain created previously
Note over svc: Adding authorizations to the iptables<br/> chain created for the user
break End of SSH session
SSH->>+GW_SSH: End of session notification
SSH-->svc: Detection of end of SSH session
Note over svc: Deletion of iptables OUTPUT<br/> rule created for user
Note over svc: Deletion of iptables chain<br/> created for user
GW_SSH->>-MED: End of SSH session<br/> notification for user
end
- Die Mediation Controller Server sendet Informationen an die Edge Gateway eine neue SSH-Session zu eröffnen.
- Der SSH-Aufzeichnungsdienst bittet den Mediation Controller-Server um die Netzwerkfilterinformationen, die auf die SSH-Sitzung angewendet werden sollen.
- Die Mediation Controller antwortet mit einer Liste der autorisierten Netzwerke.
- Der SSH-Aufzeichnungsdienst stellt dann die Verbindung zum Ziel-SSH-Server her.
- Die Verbindung zum SSH-Server löst die Sequenz zur Erstellung der Sitzung aus und führt somit zum Durchgang durch die PAM-Module, die
sshdzugeordnet sind. - Der Linux-Agent
pam_clr_filterDas PAM-Modul sendet den Benutzernamen an dencleanroom-filterService, der dann eine neue iptables-Kette namens erstelltclr-LOGINwo LOGIN durch den empfangenen Benutzernamen ersetzt wird. - Nach der Erstellung der iptables-Kette erstellt und sendet der
cleanroom-filter-Dienst ein zufälliges Token an daspam_clr_filter-PAM-Modul. Letzteres fügt dieses Token der UmgebungsvariableCLR-IDdes Benutzers hinzu. - Der SSH-Aufzeichnungsdienst sendet über die
/usr/local/ipdiva/bin/cleanroom-netfiltersession.pyDie Kommission hat die Kommission mit der Erstellung der Liste der Netze, die dercleanroom-filterDer Dienst erzeugt dann eineOUTPUTiptables-Regel, um den gesamten Datenverkehr des Benutzers, der durch seine UID identifiziert wird, auf die in Schritt 6 erstellte iptables-Kette umzuleiten. Alle für den Benutzer zu autorisierenden Ströme werden der iptables-Kette hinzugefügt. - Wenn das Ende der SSH-Session ausgelöst wird, werden die Informationen an den SSH-Aufzeichnungsdienst des Edge Gateway gesendet.
- Die
cleanroom-filterDer Dienst erkennt das Ende der Benutzersitzung und bereinigt die hinzugefügten iptables-Regeln: er löscht dieOUTPUTRichtlinie, die den Benutzerverkehr auf eine iptables-Kette umleitet und die Kette selbst löscht. - Sobald der Edge Gateway das Ende der SSH-Session erhalten hat, leitet er diese Information an den Mediation Controller weiter.
Einrichtung¶
Erforderliche rootBerechtigungen
root-Rechte sind erforderlich, um den Agent zu installieren.
Das .deb oder .rpm Paket kann von der Verwaltungskonsole heruntergeladen werden:
Wenn Sie das Paket abgerufen haben, senden Sie es an den Linux-Server im /tmp/-Verzeichnis. Folgen Sie dann den Installationsanweisungen für Ihr Betriebssystem:
Führen Sie die folgenden Befehle mit den entsprechenden root Berechtigungen aus:
1 2 | |
Der zweite Befehl automatisiert das Hinzufügen von zwei Zeilen zur /etc/pam.d/sshd Datei, kann aber auch manuell ausgeführt werden:
27 28 29 30 31 32 33 34 35 36 37 | |
Führen Sie die folgenden Befehle mit root-Berechtigungen aus:
1 2 | |
Der zweite Befehl automatisiert das Hinzufügen von zwei Zeilen zur /etc/pam.d/sshd Datei, kann aber auch manuell ausgeführt werden:
11 12 13 14 15 16 17 | |





