Skip to main content

Pregunta 36 | Configuración de Auditoría Kubernetes

Pregunta: Habilita la auditoría en este cluster de Kubernetes. Crea un nuevo archivo de política de auditoría que solo registrará eventos basándose en los siguientes detalles:

  • Namespace: test
  • Level: metadata
  • Operations: delete & update
  • Resources: pods
  • Log Path: /var/log/test-audit.log
  • Audit file location: /etc/kubernetes/test-audit.yaml
  • Maximum days to keep the logs: 20

Solución

1 - Crear el archivo de auditoría

# Crear archivo de audit en /etc/kubernetes/test-audit.yaml

apiVersion: audit.k8s.io/v1
kind: Policy
rules:
- level: Metadata ## nivel de verbosidad
namespace: ["test"] ## asegurar usar el namespace correcto
verb: ["delete","update"] ## ¿operaciones correctas especificadas?
resources:
- group: ""
resource: ["pods"] ## ¿recurso correcto especificado?

2 - Habilitar auditoría en el servidor kube-api

- --audit-policy-file=/etc/kubernetes/test-audit.yaml ## asegurar que se especifica el archivo de política de audit correcto
- --audit-log-path=/var/log/test-audit.log ## ruta del log
- --audit-log-maxage=20 ## días máximos para mantener el log

3 - Añadir los volúmenes y montajes de volúmenes en el servidor kube-api

volumes:
- name: audit
hostPath:
path: /etc/kubernetes/test-audit.yaml
type: File
- name: audit-log
hostPath:
path: /var/log/test-audit.log
type: FileOrCreate
volumeMounts:
- mountPath: /etc/kubernetes/test-audit.yaml
name: audit
readOnly: true
- mountPath: /var/log/test-audit.log
name: audit-log
readOnly: false

## asegurar que se montan las rutas de volúmenes correctas
  • Después de salir del manifiesto del servidor kube-api, dale un momento para que el servidor se reinicie y los cambios surtan efecto.