Instalación del agente Linux¶
El agente Linux es utilizado por cyberelements.io / cyberelements Cleanroom para limitar el posible acceso a la red desde los servidores SSH a los que acceden los usuarios (definidos en las políticas / contratos de acceso).
Requisitos previos¶
Para que el agente funcione correctamente, se requieren algunos requisitos previos:
- Sistema operativo compatible: Red Hat 9 y Debian 12
- Presencia del
iptablescortafuegos - Iniciar sesión con una cuenta diferente a
root
Info
El agente Linux no actúa sobre el root El usuario siempre tiene los derechos suficientes para eliminar las restricciones que se le aplican.
Además, dado que algunos servicios utilizan root En el caso de los servicios de telecomunicaciones, la introducción de restricciones de red podría hacer que estos servicios se volvieran inestables.
Operación¶
El agente Linux se divide en varias partes:
- Un servicio de sistema llamado
cleanroom-filter - Un módulo PAM llamado
pam_clr_filter - Una política SELinux para Red Hat para permitir que el servidor SSH se comunique con el servicio
cleanroom-filter
La operación general sigue esta secuencia:
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
- El Mediation Controller El servidor envía información al Edge Gateway para abrir una nueva sesión SSH.
- El servicio de grabación SSH pide al Mediation Controller servidor para la información de filtrado de red que se aplique a la sesión SSH.
- El Mediation Controller responde con una lista de redes autorizadas.
- El servicio de grabación SSH establece entonces la conexión con el servidor SSH de destino.
- La conexión al servidor SSH activa la secuencia de creación de sesión y, por lo tanto, el paso a través de los módulos PAM asignados a
sshd. - El agente de Linux
pam_clr_filterEl módulo PAM envía el nombre de usuario alcleanroom-filterservicio, que luego crea una nueva cadena iptables llamadaclr-LOGINdonde LOGIN se sustituye por el nombre de usuario recibido. - Después de crear la cadena iptables, el
cleanroom-filterEl servicio crea y envía un token al azar alpam_clr_filterEl módulo PAM agrega este token a la información de acceso del usuario.CLR-IDvariable de entorno. - El servicio de grabación SSH envía, a través de la
/usr/local/ipdiva/bin/cleanroom-netfiltersession.pyEn el caso de las redes de transporte de carga, la lista de redes que se autorizarán a lacleanroom-filterEl servicio crea entonces unOUTPUTreglas iptables para redirigir todo el tráfico del usuario, identificado por su UID, a la cadena iptables creada en el paso 6. Todos los flujos que se autorizarán para el usuario se agregarán a la cadena iptables. - Cuando se activa el final de la sesión SSH, la información se envía al servicio de grabación SSH del Edge Gateway.
- El
cleanroom-filterservicio detecta el final de la sesión del usuario y limpia las reglas iptables añadidas: elimina elOUTPUTdirectiva que redirige el tráfico del usuario a una cadena iptables y elimina la cadena misma. - Una vez que el Edge Gateway ha recibido el final de la sesión SSH, transmite esta información al Mediation Controller.
Instalación¶
Permisos root requeridos
Se requieren privilegios root para instalar el agente.
El paquete .deb o .rpm puede descargarse desde la consola de administración:
Una vez que haya recuperado el paquete, envíelo al servidor Linux en el directorio /tmp/. Luego siga las instrucciones de instalación para su sistema operativo:
Ejecutar los siguientes comandos con los permisos root apropiados:
1 2 | |
El segundo comando automatiza la adición de dos líneas al archivo /etc/pam.d/sshd, pero esta operación también se puede realizar manualmente:
27 28 29 30 31 32 33 34 35 36 37 | |
Ejecutar los siguientes comandos con permisos root:
1 2 | |
El segundo comando automatiza la adición de dos líneas al archivo /etc/pam.d/sshd, pero esta operación también se puede realizar manualmente:
11 12 13 14 15 16 17 | |





