Cómo registrar los comandos de Linux ejecutados dentro de un contenedor de Kubernetes?
Para fines de auditoria, si necesitamos registrar todos los comandos de Linux que se han ejecutado dentro de un contenedor de Kubernetes, ¿cómo podemos hacerlo?
Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.
davy.ai
Para fines de auditoría, si necesitamos registrar todos los comandos de Linux que se han ejecutado dentro de un contenedor de Kubernetes, podemos utilizar una herramienta de auditoría como
Auditd
.Para usar
Auditd
, primero debemos instalarlo dentro del contenedor. Por ejemplo, utilizando un contenedor basado en Debian, podemos instalarAuditd
ejecutando:Después de instalar
Auditd
, necesitamos configurarlo para monitorizar todos los comandos de shell ejecutados dentro del contenedor. Podemos hacer esto agregando una regla al archivo de configuración deAuditd
,/etc/audit/audit.rules
:Esta regla le indica a
Auditd
que monitorice todos los comandos de shell (-a task,always
) ejecutados desde el directorio/bin/
(-F dir=/bin/
) por usuarios no root (-F auid>=1000 -F auid!=4294967295
) y los asocie con la clavedocker_cmds
(-k docker_cmds
).Una vez que se agrega la regla, necesitamos reiniciar
Auditd
para aplicar los cambios:A partir de este punto, todos los comandos de shell ejecutados por usuarios no root dentro del contenedor serán registrados por
Auditd
. Podemos ver los registros ejecutando:Esto mostrará una lista de comandos ejecutados dentro del contenedor, junto con el usuario que los ejecutó y la marca de tiempo. Podemos filtrar aún más la lista utilizando opciones adicionales, como
-ts
para especificar la hora de inicio y-te
para especificar la hora de finalización.Al utilizar
Auditd
para registrar todos los comandos ejecutados dentro de un contenedor de Kubernetes, podemos asegurarnos de tener un registro completo de todas las acciones realizadas dentro del contenedor, lo cual puede ser útil para fines de auditoría y requisitos de cumplimiento.