Installatie van de Linux-agent¶
De Linux-agent wordt door CyberElements gebruikt om de mogelijke netwerktoegang vanaf de SSH-servers waartoe de gebruikers toegang hebben te beperken (vastgelegd in het toegangsbeleid of de toegangscontracten).
Voorwaarden¶
Voor een correcte werking van de agent zijn er enkele voorwaarden nodig:
- Compatibele besturingssystemen: Red Hat 9 en Debian 12
- Aanwezigheid van de firewall
iptables - Aanmelding met een ander account dan
root
Informatie
De Linux-agent werkt niet in op de gebruiker root, aangezien deze altijd voldoende rechten heeft om elke op hem toegepaste beperking op te heffen.
Omdat sommige services root-rechten gebruiken, kan het toevoegen van netwerkbeperkingen deze services bovendien instabiel maken.
Werking¶
De Linux-agent bestaat uit meerdere onderdelen:
- Een systemd-service met de naam
cleanroom-filter - Een PAM-module met de naam
pam_clr_filter - Een SELinux-beleid voor Red Hat waarmee de SSH-server kan communiceren met de service
cleanroom-filter
De algemene werking verloopt in de volgende stappen:
SaaS-context
In het onderstaande schema staat ”Mediation Controller” voor de CyberElements-clouddienst die door Systancia wordt beheerd. De SSH-filtering is architectonisch identiek in de SaaS-modus.
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW_SSH as Edge Gateway<br/>SSH-recorder
participant SSH as SSH-doel<br/>SSH-server
participant PAM as SSH-doel<br/>PAM-module pam_clr_filter
participant svc as SSH-doel<br/>Dienst cleanroom-filter
MED->>GW_SSH: Verzoek om een<br/>SSH-toepassing te openen
GW_SSH->>+MED: Ophalen van de filterinformatie<br/>voor de sessie
MED->>-GW_SSH: Verzenden van de netwerk-<br/>filterinformatie
GW_SSH->>+SSH: SSH-verbinding
SSH-->-PAM: Aanmaken van een SSH-sessie
PAM->>+svc: Verzenden van de gebruikersnaam
Note right of svc: Aanmaken van een iptables-keten <br/>voor de gebruiker met de naam clr-LOGIN
svc->>-PAM: Verzenden van een uniek token
Note over PAM: Toevoegen van de omgevingsvariabele<br/> CLR-ID met het unieke token<br/> aan de sessie van de gebruiker
GW_SSH->>svc: Verzenden van de lijst met te autoriseren netwerken
Note over svc: Aanmaken van een iptables-OUTPUT-regel<br/> om het verkeer van de gebruiker om te leiden naar de<br/> eerder aangemaakte iptables-keten
Note over svc: Toevoegen van de autorisaties aan de<br/> iptables-keten van de gebruiker
break Einde van de SSH-sessie
SSH->>+GW_SSH: Melding van het einde van de sessie
SSH-->svc: Detectie van het einde van de SSH-sessie
Note over svc: Verwijderen van de iptables-OUTPUT-<br/>regel van de gebruiker
Note over svc: Verwijderen van de iptables-keten<br/> die voor de gebruiker is aangemaakt
GW_SSH->>-MED: Melding van het einde van de<br/> SSH-sessie van de gebruiker
end
- De Mediation Controller-server stuurt de Edge Gateway de informatie om een nieuwe SSH-sessie te openen.
- De SSH-opnameservice vraagt de Mediation Controller-server de informatie over de netwerkfiltering op die op de SSH-sessie moet worden toegepast.
- De Mediation Controller antwoordt met een lijst van toegestane netwerken.
- De SSH-opnameservice maakt vervolgens de verbinding met de SSH-doelserver.
- De verbinding met de SSH-server start de reeks voor het aanmaken van de sessie en dus de doorgang door de PAM-modules die aan
sshdzijn toegewezen. - De PAM-module
pam_clr_filtervan de Linux-agent stuurt de gebruikersnaam naar de servicecleanroom-filter, die vervolgens een nieuwe iptables-keten met de naamclr-LOGINaanmaakt, waarbij LOGIN wordt vervangen door de ontvangen gebruikersnaam. - Na het aanmaken van de iptables-keten genereert de service
cleanroom-filtereen willekeurig token en stuurt dit naar de PAM-modulepam_clr_filter. Deze voegt het token toe aan de omgevingsvariabeleCLR-IDvan de gebruiker. - De SSH-opnameservice stuurt via het uitvoerbare bestand
/usr/local/ipdiva/bin/cleanroom-netfiltersession.pyde lijst van toe te stane netwerken naar de servicecleanroom-filter. Deze maakt vervolgens een iptables-regelOUTPUTaan om al het verkeer van de gebruiker, die aan zijn UID wordt herkend, naar de in stap 6 aangemaakte iptables-keten om te leiden. Alle voor de gebruiker toe te stane stromen worden aan de iptables-keten toegevoegd. - Wanneer het einde van de SSH-sessie wordt geactiveerd, wordt de informatie naar de SSH-opnameservice van de Edge Gateway gestuurd.
- De service
cleanroom-filterdetecteert het einde van de sessie van de gebruiker en ruimt de toegevoegde iptables-regels op: hij verwijdert de directiveOUTPUTdie het verkeer van de gebruiker naar een iptables-keten omleidt, en verwijdert de keten zelf. - Zodra de Edge Gateway het einde van de SSH-sessie heeft ontvangen, geeft hij deze informatie door aan de Mediation Controller.
Installatie¶
Vereiste root-rechten
Voor de installatie van de agent zijn root-rechten vereist.
Het .deb- of .rpm-pakket kan worden gedownload vanuit de beheerconsole:
- Ga naar het werkgebied ”Configurations” via de knop linksboven:

- Open de tegel ”Toolbox”

- Selecteer in het eerste tabblad, ”Integration Tools”, het installatieprogramma dat bij het gewenste besturingssysteem hoort

Breng het pakket na het ophalen over naar de Linux-server in de map /tmp/. Volg daarna de installatie-instructies voor uw besturingssysteem:
Voer de volgende opdrachten uit met de juiste root-rechten:
1 2 | |
De tweede opdracht voegt automatisch twee regels toe aan het bestand /etc/pam.d/sshd, maar deze bewerking kan ook handmatig worden uitgevoerd:
27 28 29 30 31 32 33 34 35 36 37 | |
Voer de volgende opdrachten uit met root-rechten:
1 2 | |
De tweede opdracht voegt automatisch twee regels toe aan het bestand /etc/pam.d/sshd, maar deze bewerking kan ook handmatig worden uitgevoerd:
11 12 13 14 15 16 17 | |