Kaspersky Container Security

Instalación de la solución

Los componentes de Kaspersky Container Security se entregan como imágenes en el registro del fabricante de Kaspersky Container Security y se despliegan como contenedores.

La instalación de la plataforma de Kaspersky Container Security consta de los siguientes pasos:

  1. Instalación del módulo lógico básico corporativo y de los componentes de Scanner
  2. Primer inicio de la Consola de administración
  3. Configuración de los grupos de agentes y del despliegue de agentes en los nodos controlados del clúster

Después de la instalación, debe preparar la solución para que funcione correctamente:

Contenido de esta sección:

Instalar el módulo lógico básico corporativo y Scanner

Primer inicio de la Consola de administración

Leer y aceptar el Contrato de licencia de usuario final

Verificar las funcionalidades de la solución

Despliegue de Agents

Ver y editar grupos de agentes

Configurar un servidor proxy

Conexión con recursos externos de almacenamiento de datos

Instalar revisiones privadas

Inicio de página
[Topic 276636]

Instalar el módulo lógico básico corporativo y Scanner

Antes de instalar la solución, debe verificar la integridad de los datos en el paquete preparado de Helm Chart.

Para ello, realice lo siguiente:

  1. Descargue el archivo comprimido con el paquete preparado de Helm Chart y el archivo hash y diríjase al siguiente directorio.
  2. Ejecute el comando:

    sha256sum -c kcs-2.0.0.tgz.sha

    Podrá confirmar la integridad de los datos si ve el siguiente mensaje:

    kcs-2.0.0.tgz: OK

Antes de iniciar la instalación (incluso en AWS EKS o Microsoft Azure), preste atención a la configuración de storageClass y ingressClass en los bloques default y ingress.kcs del archivo de configuración. Estos parámetros de configuración son relevantes para los clústeres y, de ser necesario, deben modificarse según la infraestructura que tenga. Por ejemplo, para Azure, se utiliza la siguiente variante:

default:
  storageClass: azurefile
  networkPolicies:
    ingressControllerNamespaces:
      - app-routing-system

ingress:
  kcs:
    ingressClass: webapprouting.kubernetes.azure.com

Para instalar el módulo lógico básico corporativo y Scanner de Kaspersky Container Security:

Después de preparar el archivo de configuración, instale la solución:

cd kcs/

helm upgrade --install kcs . \

--create-namespace \

--namespace kcs \

--values values.yaml \

--set default.domain="example.com" \

--set default.networkPolicies.ingressControllerNamespaces="{ingress-nginx}" \

--set secret.infracreds.envs.POSTGRES_USER="user" \

--set-string secret.infracreds.envs.POSTGRES_PASSWORD="pass" \

--set secret.infracreds.envs.MINIO_ROOT_USER="user" \

--set-string secret.infracreds.envs.MINIO_ROOT_PASSWORD="password" \

--set-string secret.infracreds.envs.CLICKHOUSE_ADMIN_PASSWORD="pass" \

--set secret.infracreds.envs.MCHD_USER="user" \

--set-string secret.infracreds.envs.MCHD_PASS="pass" \

--set pullSecret.kcs-pullsecret.username="user" \

--set-string pullSecret.kcs-pullsecret.password="pass"

Cuando la instalación haya finalizado, se desplegarán los componentes de la solución.

Además, al instalar Kaspersky Container Security Middleware y Scanner, puede configurar la transferencia segura de contraseñas, tokens y secretos. Para ello, se utiliza el almacenamiento de HashiCorp Vault, que puede configurar en el archivo values.yaml y desplegar al iniciar el paquete de Helm Chart.

Al finalizar la instalación, conservará un registro de la ejecución de los comandos de instalación de la solución en la shell de comandos. Puede abrir el archivo con el historial de comandos y eliminarlo o evitar que el historial de comandos se guarde en la shell de comandos antes de la instalación.

El panel de control estará disponible en la dirección especificada en la subsección envs de la sección de variables de entorno. Así podrá crear el objeto ConfigMap para el parámetro API_URL:

http://${DOMAIN}

Inicio de página
[Topic 292077]

Primer inicio de la Consola de administración

Para iniciar la Consola de administración de Kaspersky Container Security:

  1. En el navegador, visite la dirección que se especificó en la Consola de administración durante la instalación del servidor.

    Se abre la página de autorización.

  2. Introduzca su nombre de usuario y contraseña y haga clic en el botón Login.

    Al instalar la solución, el nombre de usuario y la contraseña son iguales: admin. Podrá modificar el nombre de usuario y la contraseña después de iniciar la Consola de administración.

    Después de introducir la contraseña de forma incorrecta 3 veces, se bloquea al usuario temporalmente. De forma predeterminada, la duración de este bloqueo es de 1 minuto.

  3. Siga las instrucciones y modifique la contraseña actual de la cuenta de usuario. Introdúzcala, confírmela y haga clic en el botón Change.

    Las contraseñas deben cumplir con los siguientes requisitos:

    • La contraseña debe contener números, caracteres especiales, mayúsculas y minúsculas.
    • La longitud mínima es de 6 caracteres y la longitud máxima es de 72 caracteres.

Se abre la página principal de la Consola de administración.

De forma predeterminada, la sesión del usuario permanece abierta en la Consola de administración durante 9 horas. En la sección SettingsAuthentication, puede configurar la duración de la sesión: desde 1 hora a 168 horas. Cuando se cumpla este plazo, se cerrará la sesión.

Puede modificar la configuración de la conexión en la sección SettingsAuthentication.

Inicio de página
[Topic 250380]

Leer y aceptar el Contrato de licencia de usuario final

La primera vez que inicie la Consola de administración en un navegador, Kaspersky Container Security le solicitará que lea el Contrato de licencia de usuario final que se celebrará entre usted y Kaspersky. Para continuar usando la solución, confirme que ha leído completamente y acepta los términos del Contrato de licencia de usuario final de Kaspersky Container Security.

Para confirmar su aceptación de los términos del Contrato de licencia de usuario final,

en la parte inferior de la ventana del Contrato, haga clic en el botón Accept.

Se abre la página de autorización para iniciar la Consola de administración.

Siempre que instale una nueva versión de la solución, debe volver a aceptar el Contrato de licencia de usuario final.

Inicio de página
[Topic 255780]

Verificar las funcionalidades de la solución

Después de instalar Kaspersky Container Security e iniciar la Consola de administración, puede verificar que la solución detecte problemas de seguridad y proteja los objetos en contenedores.

Para verificar las funcionalidades de Kaspersky Container Security:

  1. Active la solución con el código de activación o el archivo clave.
  2. Configure la integración a los registros de imágenes. La integración a un único registro es suficiente para verificar las funcionalidades de la solución.
  3. De ser necesario, configure la directiva de análisis que se genera de forma predeterminada después de instalar la solución.
  4. Añada una imagen para su análisis y asegúrese de que la tarea de análisis se envíe para su procesamiento.
  5. Después de completar el análisis, visite la página que contiene información detallada sobre los resultados del análisis de la imagen.

Si la imagen se analiza y se reciben resultados válidos, se puede confirmar el correcto funcionamiento de Kaspersky Container Security. Después, puede continuar configurando la solución.

Inicio de página

[Topic 266166]

Despliegue de Agents

Debe instalar Agents en todos los nodos del clúster que desee proteger.

En cada clúster, se instala un grupo independiente de agentes.

Para desplegar agentes en un clúster:

  1. En el menú principal, vaya a la sección Components → Agents.
  2. En el panel de trabajo, haga clic en el botón Add agent group.
  3. En la pestaña General:
    1. Complete los campos del formulario.
      • Introduzca el nombre del grupo. Para gestionar los agentes de forma cómoda, recomendamos nombrar el grupo según el clúster donde se despliegan los agentes.
      • De ser necesario, introduzca una descripción del grupo de agentes.
      • Elija el orquestador que usará.
      • Especifique el nombre del espacio de nombres.
    2. En la sección KCS registry, introduzca la dirección web del registro donde se encuentran las imágenes que se utilizan para instalar los agentes. Para acceder al registro, debe especificar el nombre de usuario y la contraseña correctos.
    3. En Linked SIEM, elija el sistema SIEM desde la lista desplegable.

      Para vincular un grupo de agentes en Kaspersky Container Security, debe crear y configurar al menos una integración a un sistema SIEM.
      Solo se puede vincular un grupo de agentes a un sistema SIEM.

      Para cada integración a un sistema SIEM, en la lista desplegable encontrará los estados de la conexión: Success, Warning o Error.

  4. En la pestaña Node monitoring, elija las opciones Disable o Enable para comenzar a supervisar y analizar el estado de la red, los procesos dentro de contenedores y Protección frente a amenazas con archivos:
    • Network connections monitoring. El estado de las conexiones de red se supervisa mediante dispositivos de captura de tráfico (monitores de red) y módulos eBPF. Para el proceso, se consideran las directivas referentes a la ejecución pertinentes y los perfiles para la ejecución de contenedores.
    • Container processes monitoring. Los procesos en contenedores se supervisan mediante programas eBPF sobre la base de las reglas de las directivas referentes a la ejecución pertinentes y de los perfiles para la ejecución de contenedores.
    • File threat protection. Para rastrear las actualizaciones de las bases de datos antimalware, especifique uno de los siguientes valores:
      • URL update de la base de datos antimalware: dirección web del servicio de actualización de Kaspersky Container Security
      • Proxy update de la base de datos antimalware: proxy HTTP de un servidor de actualización local o en la nube

      Si el contenedor kcs-updates se utiliza para actualizar las bases de datos antimalware, deberá especificar la dirección URL de la herramienta de actualización de las bases de datos de la siguiente manera: <dominio>/kuu/updates (por ejemplo, https://kcs.company.com/kuu/updates).

      De forma predeterminada, las bases de datos de Protección frente a amenazas en archivos se actualizan desde los servidores en la nube de Kaspersky.

    • File operations. La solución rastrea las operaciones en archivos con los módulos eBPF sobre la base de las directivas referentes a la ejecución pertinentes y los perfiles para la ejecución de contenedores.

      Sin importar cuál sea el modo especificado en la directiva referente a la ejecución, solo el modo Audit es compatible para operaciones en archivos. Si se especifica el modo Enforce en la directiva referente a la ejecución pertinente, las operaciones en archivos se realizan en el modo Audit.

    Los pasos de supervisión que no sean necesarios se desactivarán para evitar cargas innecesarias en los nodos.

  5. Haga clic en Save.

En el espacio de trabajo, en la pestaña Deployment data, verá cuáles son los datos necesarios para desplegar agentes en el clúster:

  • El token generado automáticamente para el despliegue es el identificador que usa el agente para conectarse con el servidor. Puede copiar el token si hace clic en el icono de copia (Icono de copia) que se encuentra junto al campo Deployment token.
  • Instrucción para desplegar agentes en un clúster. Para copiar la instrucción del campo Configuration, haga clic en el icono de copia (Icono de copia) o descargue la instrucción como un archivo .YAML.

    Puede emplear esta instrucción para desplegar los agentes en el clúster. Por ejemplo:

    kubectl apply -f <file> -n <namespace>

    Después de aplicar la instrucción, el agente se despliega en todos los nodos de trabajo del clúster.

La solución actualiza la instrucción de despliegue de agentes automáticamente si modifica alguno de los siguientes parámetros:

  • Certificados TLS de la solución
  • URL, nombre de usuario y contraseña para descargar las imágenes de kube-agent y node-agent
  • El sistema SIEM vinculado
  • Configuración en la sección Node monitoring

Debe volver a copiar o descargar la instrucción actualizada en un archivo .YAML y luego aplicarla con el comando kubectl apply -f <file> -n <namespace>. De lo contrario, los cambios en estos parámetros no se aplicarán a los agentes desplegados.

Inicio de página
[Topic 294539]

Ver y editar grupos de agentes

En la tabla en ComponentsAgents, encontrará los grupos de agentes creados y desplegados. Para cada uno de estos grupos, verá la siguiente información:

  • Nombre del grupo de agentes
  • Número de agentes conectados en el grupo
  • Orquestador
  • Actividades de supervisión de nodos en funcionamiento
  • Sistema SIEM vinculado

Puede filtrar los grupos de agentes según el estado de conexión (All, Connected, Disconnected o Pending) con los botones que se encuentran encima de la tabla.

Si hace clic en el icono de despliegue (Icono de flecha hacia la derecha), podrá expandir cada grupo de agentes en la tabla para ver los siguientes detalles:

  • Nombre del agente y estado de conexión
  • Versión del nodo donde se despliega el agente (principal o trabajador)
  • Nombre del pod asociado con el agente
  • Acciones de supervisión del nodo (Container processes, Network connections, File Threat Protection y File operations)
  • Estado del sistema SIEM
  • Fecha y hora de la última conexión del agente

Si hace clic en el enlace del nombre del agente, podrá expandir la barra lateral para ver información del estado del agente.

Para editar la configuración del grupo de agentes:

  1. En ComponentsAgents, en la tabla que contiene la lista de grupos de agentes, haga clic en el enlace del nombre del grupo de agentes.
  2. En esa ventana, edite la configuración del grupo.
  3. Haga clic en Save.

Inicio de página

[Topic 283087]

Configurar un servidor proxy

En la versión 2.0, Kaspersky Container Security puede redirigir mediante proxy solicitudes desde redes corporativas privadas al entorno externo. La conexión mediante un servidor proxy se configura utilizando las siguientes variables de entorno en el paquete de Helm Chart, que se incluye en el kit de distribución de la solución:

  • HTTP_PROXY: servidor proxy para solicitudes HTTP
  • HTTPS_PROXY: servidor proxy para solicitudes HTTPS
  • NO_PROXY: variable que especifica los dominios o las máscaras de dominio que no se incluirán en la redirección

    Si se utiliza HTTP_PROXY o HTTPS_PROXY, la variable NO_PROXY se genera automáticamente en el paquete de Helm Chart y todos los componentes que usa Kaspersky Container Security se indican con esta variable.

    Puede modificar la variable NO_PROXY si necesita especificar dominios y máscaras para el funcionamiento de Kaspersky Container Security a fin de que se excluyan del redireccionamiento.

  • SCANNER_PROXY: variable especializada que detalla qué servidor proxy recibe las solicitudes de análisis del componente Protección frente a amenazas en archivos. Los servidores de Kaspersky utilizan estas solicitudes para actualizar las bases de datos.
  • LICENSE_PROXY: variable especializada que detalla el servidor proxy mediante el cual el módulo kcs-licenses envía solicitudes a los servidores de Kaspersky para verificar y actualizar la información de la licencia actual.

Según las máscaras de nombre de dominio que admita el servidor proxy que utilice, debe emplear las siguientes máscaras para especificar los servidores de Kaspersky en las listas de servidores proxy permitidos: *.kaspersky.com o .kaspersky.com, *.kaspersky-labs.com o .kaspersky-labs.com. Para acceder a estos servidores proxy, se debe abrir el puerto 80.

Puede especificar el puerto en los parámetros del servidor proxy con la dirección IP o FQDN.

Los caracteres especiales deben escaparse.

En la tabla a continuación, se enumeran los componentes de Kaspersky Container Security que pueden usar variables de entorno y también se indica la finalidad de dichas variables.

Variables de entorno que usan los componentes de Kaspersky Container Security

Componente

Variable de entorno

Finalidad

kcs-ih

HTTP_PROXY

HTTPS_PROXY

NO_PROXY

Obtención de acceso a los registros de imágenes externos no disponibles desde el espacio de nombres de Kaspersky Container Security.

kcs-ih

SCANNER_PROXY

Actualización de las bases de datos de análisis de Protección frente a amenazas en archivos con los servidores de actualización de Kaspersky.

kcs-middleware

HTTP_PROXY

HTTPS_PROXY

NO_PROXY

Obtención de acceso a los registros de imágenes externos no disponibles desde el espacio de nombres de Kaspersky.

kcs-scanner

SCANNER_PROXY

Actualización de las bases de datos de análisis de vulnerabilidades con los servidores de actualización de Kaspersky.

kcs-licenses

LICENSE_PROXY

Verificación y actualización de información sobre la licencia actual con los servidores de las licencias de Kaspersky.

Puede configurar el funcionamiento de agentes con un servidor proxy y este enviará solicitudes a la dirección de instalación de Kaspersky Container Security.

Para configurar el funcionamiento de agentes con un servidor proxy:

  1. En Components → Agents, en la tabla que contiene la lista de grupos de agentes, haga clic en el enlace del nombre del grupo de agentes.
  2. En esa ventana, vaya a la pestaña Node monitoring y realice lo siguiente:
    • Asegúrese de que el componente Protección frente a amenazas en archivos esté activado con el botón Disable/Enable.
    • En la sección File Threat Protection, especifique el servidor proxy en Anti-malware database update proxy.
    • Haga clic en Save.
  3. Haga clic en la pestaña Deployment data.
  4. Copie o descargue la instrucción de despliegue de agentes actualizada en un archivo .YAML y luego aplíquela con el comando kubectl apply -f <file> -n <namespace>.
  5. Configure las variables de entorno HTTP_PROXY, HTTPS_PROXY o NO_PROXY en los objetos Deployment o DaemonSet de los agentes.

Inicio de página

[Topic 293087]

Conexión con recursos externos de almacenamiento de datos

Además de los componentes de Kaspersky Container Security incluidos en el kit de distribución, la solución también puede trabajar con los siguientes recursos externos de almacenamiento de datos:

  • Base de datos de PostgreSQL
  • DBMS ClickHouse
  • Almacenamiento de archivos MinIO compatible con S3

La conexión con recursos de almacenamiento de datos externos se configura mediante el archivo de configuración values.yaml.

En esta sección

Crear un usuario para una base de datos externa de PostgreSQL

Usar ClickHouse, el DBMS externo

Configuración del almacenamiento externo MinIO

Inicio de página
[Topic 298985]

Crear un usuario para una base de datos externa de PostgreSQL

En Kaspersky Container Security, puede usar las bases de datos de PostgreSQL incluidas en la solución con su propia base de datos de PostgreSQL. Para instalar una base de datos de PostgreSQL externa que no funcione en un esquema con Kaspersky Container Security, debe crear otro usuario. Para ello, puede instalar el paquete de Helm Chart con los parámetros del esquema especificados para la base de datos de PostgreSQL externa.

Para crear un usuario con un esquema personalizado para una base de datos de PostgreSQL externa:

  1. Ejecute el siguiente comando para crear un espacio de nombres independiente para la base de datos de PostgreSQL externa:

    kubectl create ns kcspg

    donde kcspg es el espacio de nombres de la base de datos de PostgreSQL externa.

  2. Para desplegar una base de datos de PostgreSQL externa:
    1. Especifique en el archivo de configuración pg.yaml los parámetros para desplegar la base de datos de PostgreSQL externa.

      Parámetros para desplegar la base de datos de PostgreSQL externa

      apiVersion: apps/v1

      kind: Deployment

      metadata:

      annotations:

      deployment.kubernetes.io/revision: "1"

      labels:

      app: postgres

      component: postgres

      name: postgres

      namespace: kcspg

      spec:

      replicas: 1

      selector:

      matchLabels:

      app: postgres

      component: postgres

      strategy:

      type: Recreate

      template:

      metadata:

      creationTimestamp: null

      labels:

      app: postgres

      component: postgres

      spec:

      containers:

      - name: postgres

      image: postgres:13-alpine

      ports:

      - containerPort: 5432

      env:

      - name: POSTGRES_DB

      value: api

      - name: POSTGRES_USER

      value: postgres

      - name: POSTGRES_PASSWORD

      value: postgres

      volumeMounts:

      - mountPath: "/var/lib/postgresql/data"

      name: "pgdata"

      imagePullSecrets:

      - name: ci-creds

      volumes:

      - hostPath:

      path: "/home/docker/pgdata"

      name: pgdata

      Los parámetros especifican la contraseña de la base de datos. Luego, debe especificar esta contraseña en la sección infraconfig del archivo de configuración values.yaml, que forma parte del paquete de Helm Chart incluido en el kit de distribución de la solución.

    2. Ejecute el siguiente comando:

      kubectl apply -f pg.yaml -n kcspg

    El nombre de la base de datos está compuesto de la siguiente manera:

    <nombre_del_pod>.<espacio_de_nombres>.<servicio>.cluster.local

    Por ejemplo: postgres.kcspg.svc.cluster.local.

  3. Para desplegar un objeto Service en un clúster:
    1. Especifique los parámetros del despliegue de un objeto Service en el archivo de configuración svc.yaml.

      Parámetros para desplegar un objeto Service en un clúster

      apiVersion: v1

      kind: Service

      metadata:

      name: postgres

      spec:

      type: ClusterIP

      selector:

      component: postgres

      ports:

      - port: 5432

      targetPort: 5432

    2. Ejecute el siguiente comando:

      kubectl apply -f svc.yaml -n kcspg

  4. Para crear un usuario, un esquema y una relación usuario-esquema:
    1. Inicie sesión en el pod con el elemento postgres expandido del paso 2b.
    2. Inicie la terminal interactiva psql:

      psql -h localhost -U postgres -d api

    3. Ejecute los siguientes comandos:

      CREATE ROLE kks LOGIN PASSWORD 'kks' NOINHERIT CREATEDB;

      CREATE SCHEMA kks AUTHORIZATION kks;

      GRANT USAGE ON SCHEMA kks TO PUBLIC;

  5. En el archivo de configuración values.yaml, especifique los parámetros necesarios para usar una base de datos de PostgreSQL externa.

    Parámetros en el archivo values.yaml

    default:

    postgresql:

    external: true

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    POSTGRES_HOST: postgres.kcspg.svc.cluster.local

    POSTGRES_PORT: 5432

    POSTGRES_DB_NAME: api

    secret:

    infracreds:

    type: fromEnvs

    envs:

    POSTGRES_USER: kks

    POSTGRES_PASSWORD: kks

    Los valores de los parámetros especificados en el archivo values.yaml deben coincidir con los valores de los parámetros correspondientes en los archivos de configuración pg.yaml y svc.yaml.

  6. Actualice la solución.

    Ejemplo de los comandos usados para crear un usuario para una base de datos de PostgreSQL externa

    export KUBECONFIG=/root/.kube/config

    export CHART_URL=repo.kcs.kaspersky.com

    export CHART_USERNAME=<CHART_USERNAME>

    export CHART_PASSWORD=<CHART_PASSWORD>

    export VERSION=2.0.0

    export KCS_HOSTNAME=kcs.apps.aws.ext.company.com

    export IMAGE_URL=company.gitlab.examplecloud.com:5050

    export IMAGE_USERNAME=<repo_user>

    export IMAGE_PASSWORD=<repo_pass>

    cd /tmp

    helm registry login --username $IMAGE_USERNAME --password $IMAGE_PASSWORD company.gitlab.examplecloud.com:5050/company/kcs/chart

    helm pull oci://company.gitlab.examplecloud.com:5050/company/kcs/chart/kcs --version $VERSION

    tar -xf kcs*.tgz -C /tmp

    cp -rf /tmp/values.yaml /tmp/kcs

    cd /tmp/kcs

    helm upgrade --install kcs-release --create-namespace --namespace kcs --values values.yaml --version $VERSION --timeout 30m --wait --debug .

Inicio de página
[Topic 292954]

Usar ClickHouse, el DBMS externo

Además del DBMS ClickHouse (componente de Kaspersky Container Security incluido en el kit de distribución), la solución también puede funcionar con los recursos del DBMS externo ClickHouse. Para ello, debe realizar las siguientes acciones:

Kaspersky Container Security funciona con ClickHouse 22.6 o posterior.

Inicio de página
[Topic 298717]

Crear una base de datos para Kaspersky Container Security

Para crear una base de datos para Kaspersky Container Security, realice lo siguiente:

En ClickHouse, en la estación de trabajo, ejecute el siguiente comando:

CREATE DATABASE IF NOT EXISTS kcs

donde kcs es el nombre de la base de datos para Kaspersky Container Security.

Para configurar la base de datos creada para Kaspersky Container Security:

  1. Añada usuarios y defina el método de autorización. Para ello, debe realizar las siguientes acciones:
    1. Añada los siguientes usuarios:
      • un usuario con derechos para leer los datos que recibe el núcleo de Kaspersky Container Security (lectura)

        <roles>

        <kcs_reader_role>

        <grants>

        <query>GRANT SELECT ON kcs.*</query>

        </grants>

        </kcs_reader_role>

      • un usuario con derechos para escribir datos a partir de solicitudes de agentes externos (escritura)

        <roles>

        <kcs_writer_role>

        <grants>

        <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

        <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

        </grants>

        </kcs_writer_role>

    2. Especifique el método para autorizar usuarios: con una contraseña o mediante un certificado.

      Ejemplo de configuración de usuarios con autenticación mediante contraseña

      <clickhouse>

      ...

      <kcsuser-write>

      <password>*********</password>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_writer_role</query>

      </grants>

      </kcsuser-write>

      <kcsuser-read>

      <password>*********</password>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_reader_role</query>

      </grants>

      </kcsuser-read>

      ...

      <roles>

      <kcs_reader_role>

      <grants>

      <query>GRANT SELECT ON kcs.*</query>

      </grants>

      </kcs_reader_role>

      <kcs_writer_role>

      <grants>

      <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

      <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

      </grants>

      </kcs_writer_role>

      ...

      </roles>

      ...

      </clickhouse>

      Ejemplo de configuración de usuarios con autenticación mediante certificados

      <clickhouse>

      ...

      <kcsuser-write>

      <ssl_certificates>

      <common_name>kcsuser-write</common_name>

      </ssl_certificates>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_writer_role</query>

      </grants>

      </kcsuser-write>

      <kcsuser-read>

      <ssl_certificates>

      <common_name>kcsuser-read</common_name>

      </ssl_certificates>

      <networks>

      <ip>::/0</ip>

      </networks>

      ...

      <grants>

      <query>GRANT kcs_reader_role</query>

      </grants>

      </kcsuser-read>

      ...

      <roles>

      <kcs_reader_role>

      <grants>

      <query>GRANT SELECT ON kcs.*</query>

      </grants>

      </kcs_reader_role>

      <kcs_writer_role>

      <grants>

      <query>GRANT CREATE TABLE, INSERT, ALTER, UPDATE ON kcs.*</query>

      <query>GRANT SELECT (source_ip, source_port, source_alias, dest_ip, dest_port, dest_alias, protocol, severity, action, event_time, count, type) ON kcs.node_agent_events</query>

      </grants>

      </kcs_writer_role>

      ...

      </roles>

      ...

      </clickhouse>

  2. Especifique los discos para el almacenamiento de datos a corto y largo plazo. Al trabajar con ClickHouse, Kaspersky Container Security puede almacenar grandes cantidades de datos con diversos períodos de retención. De forma predeterminada, la mayoría de los eventos se almacenan durante 30 minutos como máximo, mientras que la información sobre incidentes se almacena durante 90 días como máximo. Dado que la grabación de eventos requiere una cantidad considerable de recursos, para garantizar una velocidad de grabación alta y suficiente espacio en disco, se recomienda usar diferentes discos para el almacenamiento de datos a corto y largo plazo.

    Ejemplo de la configuración del almacenamiento de datos

    <clickhouse>

    ...

    <storage_configuration>

    <disks>

    <kcs_disk_hot>

    <path>/etc/clickhouse/hot/</path>

    </kcs_disk_hot>

    <kcs_disk_cold>

    <path>/etc/clickhouse/cold/</path>

    </kcs_disk_cold>

    </disks>

    <policies>

    <kcs_default>

    <volumes>

    <default>

    <disk>kcs_disk_hot</disk>

    </default>

    <cold>

    <disk>kcs_disk_cold</disk>

    </cold>

    </volumes>

    </kcs_default>

    </policies>

    </storage_configuration>

    ...

    </clickhouse>

Inicio de página

[Topic 298742]

Configuración del DBMS externo ClickHouse

Para configurar el uso del DBMS externo ClickHouse en Kaspersky Container Security:

  1. En el archivo de configuración values.yaml, especifique que la solución usará el DBMS externo ClickHouse:

    default:

    kcs-clickhouse:

    external: true

  2. Especifique las variables para usar el DBMS externo ClickHouse:

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...<variables para usar el DBMS externo ClickHouse>

    En esta sección, debe especificar las siguientes variables:

    • EXT_CLICKHOUSE_PROTOCOL: protocolo para conectarse con el DBMS externo ClickHouse
    • EXT_CLICKHOUSE_HOST: host de la conexión con el DBMS externo ClickHouse externo
    • EXT_CLICKHOUSE_PORT: puerto para conectarse con el DBMS externo ClickHouse
    • EXT_CLICKHOUSE_DB_NAME: nombre de la base de datos preparada para usarse con Kaspersky Container Security
    • EXT_CLICKHOUSE_COLD_STORAGE_NAME: nombre del disco donde ClickHouse almacenará a largo plazo datos sobre incidentes
    • EXT_CLICKHOUSE_STORAGE_POLICY_NAME: nombre de la directiva de almacenamiento de datos según la que ClickHouse transferirá al disco los datos sobre incidentes para su almacenamiento a largo plazo

      Si usa el mismo disco para el almacenamiento de datos a corto y a largo plazo, no deberá especificar los valores de EXT_CLICKHOUSE_COLD_STORAGE_NAME ni de EXT_CLICKHOUSE_STORAGE_POLICY_NAME.

    • EXT_CLICKHOUSE_SSL_AUTH: variable de la autenticación SSL para los usuarios de ClickHouse Si se especifica el valor true, la autenticación se realiza sin contraseñas, pero mediante certificados de clientes.

      Si TLS_INTERNAL tiene el valor false, EXT_CLICKHOUSE_SSL_AUTH también debe tener el valor false.

    • EXT_CLICKHOUSE_ROOT_CA_PATH: ruta al certificado de CA, que se especifica si se usa el protocolo https para conectarse a ClickHouse (EXT_CLICKHOUSE_PROTOCOL: https). Puede especificar la ruta de las siguientes maneras:
      • Coloque el certificado de CA de ClickHouse en el directorio que determina la ruta. En ese caso, debe quitar las marcas de comentarios del bloque the secret.cert-kcs-clickhouse-ca.
      • Use Vault para almacenar los datos del certificado. En este caso, debe quitar las marcar de comentarios del bloque cert-kcs-clickhouse-ca en la sección vault.certificate.
  3. Especifique los valores de los secretos para usar el DBMS externo ClickHouse:

    configmap:

    secret:

    infracreds:

    type: fromEnvs

    envs:

    ...<secretos para usar el DBMS externo ClickHouse>

    En esta sección, debe especificar lo siguiente:

    • EXT_CLICKHOUSE_WRITE_USER: nombre de un usuario con permisos de escritura, que se creó para usarse con Kaspersky Container Security
    • CLICKHOUSE_WRITE_PASSWORD: contraseña de un usuario con permisos de escritura, que se creó para usarse con Kaspersky Container Security
    • EXT_CLICKHOUSE_READ_USER: nombre de un usuario con permisos de lectura, que se preparó para usarse con Kaspersky Container Security
    • CLICKHOUSE_READ_PASSWORD: contraseña de un usuario con permisos de lectura, que se creó para usarse con Kaspersky Container Security

      Las variables CLICKHOUSE_READ_PASSWORD y CLICKHOUSE_WRITE_PASSWORD no se usan si el valor de EXT_CLICKHOUSE_SSL_AUTH es true.

    Los nombres de usuario y contraseñas también pueden especificarse al usar el almacenamiento de secretos Vault.

    Ejemplo de la configuración del DBMS externo ClickHouse

    kcs-clickhouse:

    external: true

    persistent: true

    ...

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...

    EXT_CLICKHOUSE_PROTOCOL: https

    EXT_CLICKHOUSE_HOST: clickhouse.ns.svc.cluster.local

    EXT_CLICKHOUSE_PORT: 8443

    EXT_CLICKHOUSE_DB_NAME: kcs

    EXT_CLICKHOUSE_COLD_STORAGE_NAME: cold

    EXT_CLICKHOUSE_STORAGE_POLICY_NAME: kcs_default

    EXT_CLICKHOUSE_SSL_AUTH: false

    EXT_CLICKHOUSE_ROOT_CA_PATH: /etc/ssl/certs/kcs-clickhouse-ca.crt

    ...

    secret:

    ...

    infracreds:

    type: fromEnvs

    envs:

    ...

    EXT_CLICKHOUSE_WRITE_USER: kcsuser-write

    EXT_CLICKHOUSE_READ_USER: kcsuser-read

    CLICKHOUSE_WRITE_PASSWORD: **************

    CLICKHOUSE_READ_PASSWORD: ***********

    ...

    Al usar Vault:

    vault:

    ...

    secret:

    type: managedByVault

    ...

    EXT_CLICKHOUSE_WRITE_USER: kv/secret/kcs/clickhouse@EXT_CLICKHOUSE_WRITE_USER

    EXT_CLICKHOUSE_READ_USER: kv/secret/kcs/clickhouse@EXT_CLICKHOUSE_READ_USER

    CLICKHOUSE_WRITE_PASSWORD: kv/secret/kcs/clickhouse@CLICKHOUSE_WRITE_PASSWORD

    CLICKHOUSE_READ_PASSWORD: kv/secret/kcs/clickhouse@CLICKHOUSE_READ_PASSWORD

    ...

Inicio de página
[Topic 298743]

Configuración del almacenamiento externo MinIO

Para configurar el uso del almacenamiento de archivos externo MinIO compatible con S3 en Kaspersky Container Security:

  1. En el archivo de configuración values.yaml, especifique que la solución usa el almacenamiento de archivos externo MinIO:

    default:

    kcs-s3:

    external: true

  2. Especifique los valores de las variables para usar MinIO:

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ... <variables para usar el almacenamiento de archivos externo MinIO>

    En esta sección, debe especificar las siguientes variables:

    • MINIO_HOST: host que se conectará con MinIO
    • MINIO_PORT: puerto de la conexión con MinIO
    • MINIO_BUCKET_NAME: nombre de la sección en MinIO asignada para los datos de Kaspersky Container Security
    • MINIO_SSL: variable de la conexión SSL con MinIO (incluye el uso del protocolo https)

      Si TLS_INTERNAL tiene el valor false, MINIO_SSL también debe tener el valor false.

    • MINIO_ROOT_CA_PATH: ruta al certificado de CA, que se especifica si se usa el protocolo https para conectarse con MinIO (MINIO_SSL: true). Puede especificar la ruta de las siguientes maneras:
      • Coloque el certificado de CA de MinIO en el directorio que determina la ruta. En ese caso, debe quitar las marcas de comentarios del bloque secret.cert-minio-ca.
      • Use Vault para almacenar los datos del certificado. En este caso, debe quitar las marcar de comentarios del bloque cert-minio-ca en la sección vault.certificate.
  3. Especifique los valores de los secretos para usar el almacenamiento de archivos externo MinIO:

    configmap:

    secret:

    infracreds:

    type: fromEnvs

    envs:

    ...<secretos para usar el almacenamiento de archivos externo MinIO>

    En esta sección, debe especificar lo siguiente:

    • MINIO_ROOT_USER: nombre del usuario de MinIO especificado para Kaspersky Container Security
    • MINIO_ROOT_PASSWORD: contraseña del usuario de MinIO especificado para Kaspersky Container Security

    Los nombres de usuario y contraseñas también pueden especificarse al usar el almacenamiento de secretos Vault.

    Ejemplo de la configuración del almacenamiento de archivos externo MinIO

    kcs-s3:

    enabled: true

    external: true

    ...

    configmap:

    infraconfig:

    type: fromEnvs

    envs:

    ...

    MINIO_HOST: kcs-s3

    MINIO_PORT: 9000

    MINIO_BUCKET_NAME: reports

    MINIO_SSL: true

    MINIO_ROOT_CA_PATH: /etc/ssl/certs/minio-ca.crt

    ...

    secret:

    ...

    infracreds:

    type: fromEnvs

    envs:

    ...

    MINIO_ROOT_USER: kcs_user

    MINIO_ROOT_PASSWORD: ********

    ...

    Al usar Vault:

    vault:

    ...

    secret:

    type: managedByVault

    ...

    MINIO_ROOT_USER: kv/test/minio@MINIO_ROOT_USER

    MINIO_ROOT_PASSWORD: kv/test/minio@MINIO_ROOT_PASSWORD

Inicio de página
[Topic 298749]

Instalar revisiones privadas

Debido a las características específicas de diversas redes corporativas donde se despliega Kaspersky Container Security, en ocasiones puede ser necesario aplicar revisiones privadas a la solución. Una revisión privada está compuesta de una o varias imágenes de Docker en contenedor. Dichas revisiones privadas no se publican en la fuente oficial de imágenes de Kaspersky y se transfieren directamente al cliente para que se coloquen en el registro de imágenes corporativo.

Para colocar la imagen de Docker recibida en un registro de imágenes:

  1. Guarde el archivo comprimido que tiene la imagen de Docker en el directorio elegido.
  2. Ejecute el comando docker load -i <nombre_archivo_comprimido>.
  3. Ejecute el comando docker tag <nombre de hash obtenido en el paso 2> <registro del cliente/<componente>:fix>.
  4. Ejecute el comando docker push <registro del cliente/<componente>:fix>.
  5. Según el componente para el cual se instale la revisión, deberá reemplazar la etiqueta de la imagen de <componente>:2.0 a <registro del cliente/<componente>:fix> en uno de los siguientes archivos de configuración:

Inicio de página

[Topic 298784]