CIS Hardening Guide
Configuración necesaria para RKE2
Pasos:
- Establecer una sesión como el usuario student a
lab-#-masterexport LAB=Xssh student@lab-${LAB}-master - Cambiar al usuario
rootsudo -i - Detener servicio de rke2.
systemctl stop rke2-server rke2-killall.sh -
En nuestro ambiente la instalación se ha realizado utilizando el método tar. RKE2, incluye parámetros pre definidos que pueden ser activados por el operador del sistema operativo.
Valide estos parámetros:cp -f /usr/local/share/rke2/rke2-cis-sysctl.conf /etc/sysctl.d/60-rke2-cis.confSalida de ejemplo:cat /etc/sysctl.d/60-rke2-cis.confvm.panic_on_oom=0 vm.overcommit_memory=1 kernel.panic=10 kernel.panic_on_oops=1Parámetro Descripción vm.panic_on_oom=0Configura que el sistema no entre en pánico cuando se produzca una condición de "Out of Memory" (OOM). vm.overcommit_memory=1Permite la asignación de más memoria de la que físicamente está disponible, útil en sistemas con swap. kernel.panic=10Establece que, en caso de pánico del kernel, el sistema se reinicie automáticamente después de 10 segundos. kernel.panic_on_oops=1Configura que el sistema entre en pánico si ocurre un "oops" (error no fatal en el kernel). -
Aplicamos el cambio en el sistema operativo.
systemctl restart systemd-sysctl - Crear usuario para etcd.
useradd -r -c "etcd user" -s /sbin/nologin -M etcd -U - Validar o cambiar permisos para etcd.
chown -R etcd. /var/lib/rancher/rke2/server/db - Crear un archivo personalizado
/etc/rancher/rke2/rke2-pss-custom.yamlpara PSS y poder utiliar Rancher Server. Con el siguiente contenido:
apiVersion: apiserver.config.k8s.io/v1
kind: AdmissionConfiguration
plugins:
- name: PodSecurity
configuration:
apiVersion: pod-security.admission.config.k8s.io/v1
kind: PodSecurityConfiguration
defaults:
enforce: "restricted"
enforce-version: "latest"
audit: "restricted"
audit-version: "latest"
warn: "restricted"
warn-version: "latest"
exemptions:
usernames: []
runtimeClasses: []
namespaces: [calico-apiserver,
calico-system,
cattle-alerting,
cattle-csp-adapter-system,
cattle-elemental-system,
cattle-epinio-system,
cattle-externalip-system,
cattle-fleet-local-system,
cattle-fleet-system,
cattle-gatekeeper-system,
cattle-global-data,
cattle-global-nt,
cattle-impersonation-system,
cattle-istio,
cattle-istio-system,
cattle-logging,
cattle-logging-system,
cattle-monitoring-system,
cattle-neuvector-system,
cattle-prometheus,
cattle-provisioning-capi-system,
cattle-resources-system,
cattle-sriov-system,
cattle-system,
cattle-ui-plugin-system,
cattle-windows-gmsa-system,
cert-manager,
cis-operator-system,
fleet-default,
ingress-nginx,
istio-system,
kube-node-lease,
kube-public,
kube-system,
longhorn-system,
rancher-alerting-drivers,
security-scan,
tigera-operator]
-
Editar configuración de rke2. Editando config.yaml Agregando:
profile: cis pod-security-admission-config-file: /etc/rancher/rke2/rke2-pss-custom.yaml -
Reinicie el servicio de rke2.
systemctl restart rke2-server -
Proceda a validar su sistema.
ESTE PROCEDIMIENTO DEBE REALIZARLO EN TODOS LOS SERVERS Y AGENTES
EN LOS AGENTES SE DEBE OMITIR LOS CAMBIOS A RKE2 (config.yaml) Y etcd.