Installazione dell'agente Linux¶
L'agente Linux è utilizzato da CyberElements Bastion per limitare i possibili accessi di rete a partire dai server SSH a cui accedono gli utenti (definiti nelle politiche o nei contratti di accesso).
Prerequisiti¶
Perché l'agente funzioni correttamente sono necessari alcuni prerequisiti:
- S.O. compatibili: Red Hat 9 e Debian 12
- Presenza del firewall
iptables - Connessione con un account diverso da
root
Informazioni
L'agente Linux non agisce sull'utente root, poiché questo utente dispone sempre di diritti sufficienti per rimuovere qualsiasi restrizione che gli venga applicata.
Inoltre, poiché alcuni servizi utilizzano i diritti root, l'aggiunta di restrizioni di rete potrebbe rendere instabili tali servizi.
Funzionamento¶
L'agente Linux è suddiviso in più parti:
- Un servizio systemd denominato
cleanroom-filter - Un modulo PAM denominato
pam_clr_filter - Una policy SELinux per Red Hat, che consente al server SSH di comunicare con il servizio
cleanroom-filter
Il funzionamento generale segue questa sequenza:
sequenceDiagram
autonumber
participant MED as Mediation Controller
participant GW_SSH as Edge Gateway<br/>Registratore SSH
participant SSH as Destinazione SSH<br/>Server SSH
participant PAM as Destinazione SSH<br/>Modulo PAM pam_clr_filter
participant svc as Destinazione SSH<br/>Servizio cleanroom-filter
MED->>GW_SSH: Richiesta di apertura di un'<br/>applicazione SSH
GW_SSH->>+MED: Recupero delle informazioni di<br/>filtraggio per la sessione
MED->>-GW_SSH: Invio delle informazioni di<br/>filtraggio di rete
GW_SSH->>+SSH: Connessione SSH
SSH-->-PAM: Creazione di una sessione SSH
PAM->>+svc: Invio del nome utente
Note right of svc: Creazione di una catena <br/>iptables per l'utente denominata clr-LOGIN
svc->>-PAM: Invio di un token univoco
Note over PAM: Aggiunta alla sessione dell'utente<br/> della variabile d'ambiente CLR-ID<br/> contenente il token univoco
GW_SSH->>svc: Invio dell'elenco delle reti da autorizzare
Note over svc: Creazione di una regola iptables OUTPUT<br/> per reindirizzare il traffico dell'utente nella<br/> catena iptables creata in precedenza
Note over svc: Aggiunta delle autorizzazioni nella catena<br/> iptables creata per l'utente
break Fine della sessione SSH
SSH->>+GW_SSH: Notifica di fine sessione
SSH-->svc: Rilevamento della fine della sessione SSH
Note over svc: Eliminazione della regola iptables<br/> OUTPUT creata per l'utente
Note over svc: Eliminazione della catena iptables<br/> creata per l'utente
GW_SSH->>-MED: Notifica di fine della sessione<br/> SSH per l'utente
end
- Il server Mediation Controller invia all'Edge Gateway le informazioni necessarie per aprire una nuova sessione SSH.
- Il servizio di registrazione SSH richiede al server Mediation Controller le informazioni di filtraggio di rete da applicare alla sessione SSH.
- Il Mediation Controller risponde con un elenco di reti autorizzate.
- Il servizio di registrazione SSH stabilisce quindi la connessione al server SSH di destinazione.
- La connessione al server SSH avvia la sequenza di creazione della sessione e, di conseguenza, il passaggio attraverso i moduli PAM assegnati a
sshd. - Il modulo PAM
pam_clr_filterdell'agente Linux invia il nome utente al serviziocleanroom-filter, che crea quindi una nuova catena iptables denominataclr-LOGIN, dove LOGIN viene sostituito dal nome utente ricevuto. - Dopo aver creato la catena iptables, il servizio
cleanroom-filtergenera e invia un token casuale al modulo PAMpam_clr_filter, che aggiunge tale token alla variabile d'ambienteCLR-IDdell'utente. - Il servizio di registrazione SSH invia, tramite l'eseguibile
/usr/local/ipdiva/bin/cleanroom-netfiltersession.py, l'elenco delle reti da autorizzare al serviziocleanroom-filter. Il servizio crea quindi una regola iptablesOUTPUTper reindirizzare tutto il traffico dell'utente, identificato dal suo UID, verso la catena iptables creata al passaggio 6. Tutti i flussi da autorizzare per l'utente vengono aggiunti alla catena iptables. - Quando viene rilevata la fine della sessione SSH, l'informazione viene inviata al servizio di registrazione SSH dell'Edge Gateway.
- Il servizio
cleanroom-filterrileva la fine della sessione dell'utente e ripulisce le regole iptables aggiunte: elimina la direttivaOUTPUTche reindirizza il traffico dell'utente verso una catena iptables ed elimina la catena stessa. - Una volta che l'Edge Gateway ha ricevuto la fine della sessione SSH, trasmette questa informazione al Mediation Controller.
Installazione¶
Autorizzazioni root necessarie
Per installare l'agente sono necessari i privilegi root.
Il pacchetto .deb o .rpm può essere scaricato dalla console di amministrazione:
- Accedere allo spazio di lavoro «Configurations» tramite il pulsante situato in alto a sinistra:

- Aprire il riquadro «Toolbox»

- Selezionare il programma di installazione corrispondente al sistema operativo desiderato nella prima scheda, «Integration Tools»

Dopo aver ottenuto il pacchetto, inviarlo al server Linux nella directory /tmp/. Seguire quindi le istruzioni di installazione relative al proprio sistema operativo:
Eseguire i comandi seguenti con le autorizzazioni root adeguate:
1 2 | |
Il secondo comando automatizza l'aggiunta di due righe al file /etc/pam.d/sshd, ma questa operazione può essere eseguita anche manualmente:
27 28 29 30 31 32 33 34 35 36 37 | |
Eseguire i comandi seguenti con le autorizzazioni root:
1 2 | |
Il secondo comando automatizza l'aggiunta di due righe al file /etc/pam.d/sshd, ma questa operazione può essere eseguita anche manualmente:
11 12 13 14 15 16 17 | |