GNU/Linux >> Tutoriales Linux >  >> Linux

Detección de vulnerabilidades de Wazuh

Esta publicación trata sobre la detección de vulnerabilidades de Wazuh

Requisitos

Instale la plataforma de seguridad de código abierto wazuh y el agente wazuh utilizando los blogs mencionados a continuación.

1:WAZUH La plataforma de seguridad de código abierto

2:Instalación del agente WAZUH

Wazuh es capaz de detectar vulnerabilidades en las aplicaciones instaladas en los agentes utilizando el módulo Vulnerability Detector. Esta auditoría de software se realiza a través de la integración de fuentes de vulnerabilidades indexadas por Canonical, Debian, Red Hat y la base de datos nacional de vulnerabilidades.

Cómo funciona

Para poder detectar vulnerabilidades, ahora los agentes pueden recopilar de forma nativa una lista de aplicaciones instaladas, enviándola periódicamente al administrador (donde se almacena en bases de datos sqlite locales, una por agente). Además, el administrador crea una base de datos de vulnerabilidad global, a partir de repositorios CVE disponibles públicamente, y la usa más tarde para correlacionar esta información con los datos de inventario de aplicaciones del agente.

La base de datos de vulnerabilidad global se crea automáticamente y actualmente extrae datos de los siguientes repositorios:

  • https://canonical.com:se usa para extraer CVE para las distribuciones de Ubuntu Linux.
  • https://www.redhat.com:se usa para extraer CVE para las distribuciones Red Hat y CentOS Linux.
  • https://www.debian.org:se utiliza para extraer CVE para las distribuciones Debian Linux.
  • https://nvd.nist.gov/:se utiliza para extraer CVE de la base de datos de vulnerabilidad nacional.
  • https://feed.wazuh.com/:se usa para extraer la fuente de MSU con CVE y parches para productos de Microsoft.

Esta base de datos se puede configurar para que se actualice periódicamente, lo que garantiza que la solución buscará los CVE más recientes.

Una vez creada la base de datos de vulnerabilidades global (con los CVE), el proceso de detección busca paquetes vulnerables en las bases de datos de inventario (únicas por agente). Las alertas se generan cuando un CVE (vulnerabilidades y exposiciones comunes) afecta un paquete que se sabe que está instalado en uno de los servidores monitoreados. Un paquete se etiqueta como vulnerable cuando su versión se encuentra dentro del rango afectado de un CVE. Los resultados se presentan como alertas y también se almacenan en una base de datos. De modo que puede comprobar las alertas del último análisis o consultar la base de datos de software vulnerable de cada agente.

Tipos de escaneo

El módulo Detector de vulnerabilidades puede ejecutar un escaneo al inicio (run_on_start) y cada cierto período de tiempo (intervalo). En cualquiera de estos casos, los paquetes que ya han sido escaneados esperarán hasta que expire el tiempo de ignorar para volver a escanear. Esto mejora el rendimiento y evita alertas repetidas durante un tiempo configurable. Tenemos entonces dos tipos diferentes de escaneo:

  • Análisis completo:la primera vez, Vulnerability Detector analiza todos los paquetes instalados. Después de esto, todos los paquetes disponibles se analizan nuevamente solo cuando expira el tiempo de ignorar configurado.
  • Análisis parciales:solo se analizan los paquetes nuevos mientras ignore_time sigue siendo válido.

Hay algunas consideraciones que surgen de este comportamiento:

  • Cada análisis completo genera alertas para todos los paquetes, por lo que las alertas se repiten hasta que se solucionan.
  • El usuario no puede activar un escaneo completo manualmente, la única opción es disminuir la configuración ignore_time.
  • Los análisis parciales generan alertas para paquetes nuevos, pero no eliminan alertas para paquetes eliminados.
  • Los análisis parciales se pueden activar con un reinicio del administrador.

Consulte la configuración del detector de vulnerabilidades para obtener más detalles de configuración.

El siguiente ejemplo puede ser útil para comprender todos los pasos involucrados

Matriz de compatibilidad

La siguiente tabla muestra los sistemas operativos en los que actualmente se admite el detector de vulnerabilidades y la configuración del proveedor necesaria para cada distribución.

Detección de vulnerabilidades

El siguiente ejemplo muestra cómo configurar los componentes necesarios para ejecutar el proceso de detección de vulnerabilidades.

  1. Habilite el módulo de agente utilizado para recopilar paquetes instalados en el sistema supervisado.

Puede hacerlo agregando el siguiente bloque de configuraciones a su archivo de configuración de agente compartido:

<wodle name="syscollector">
  <disabled>no</disabled>
  <interval>1h</interval>
  <os>yes</os>
  <packages>yes</packages>
</wodle>

Si desea escanear vulnerabilidades en los agentes de Windows, también deberá agregar los hotfixes escanear:

<wodle name="syscollector">
  <disabled>no</disabled>
  <interval>1h</interval>
  <os>yes</os>
  <packages>yes</packages>
  <hotfixes>yes</hotfixes>
</wodle>

Estos análisis están habilitados de forma predeterminada. Para obtener más información sobre el módulo de inventario, consulte la configuración de Sycollector. Habilite el módulo de administrador utilizado para detectar vulnerabilidades.

Puede hacerlo agregando un bloque como el siguiente a su archivo de configuración de administrador:

<vulnerability-detector>
  <enabled>yes</enabled>
  <interval>5m</interval>
  <run_on_start>yes</run_on_start>
  <provider name="canonical">
    <enabled>yes</enabled>
    <os>bionic</os>
    <update_interval>1h</update_interval>
  </provider>
  <provider name="nvd">
    <enabled>yes</enabled>
    <update_from_year>2010</update_from_year>
    <update_interval>1h</update_interval>
  </provider>
</vulnerability-detector>

Recuerda reiniciar el administrador para aplicar los cambios:

systemctl restart wazuh-manager
service wazuh-manager restart

Aquí puede ver una alerta real donde se completan los campos explicados:

** Alert 1591945867.49829472: - vulnerability-detector,gdpr_IV_35.7.d,pci_dss_11.2.1,pci_dss_11.2.3,tsc_CC7.1,tsc_CC7.2,
2020 Jun 12 07:11:07 (Debian) any->vulnerability-detector
Rule: 23505 (level 10) -> 'CVE-2019-12735 affects vim'
vulnerability.package.name: vim
vulnerability.package.version: 2:8.0.0197-4+deb9u1
vulnerability.package.architecture: amd64
vulnerability.package.condition: Package less than 2:8.0.0197-4+deb9u2
vulnerability.cvss.cvss2.vector.attack_vector: network
vulnerability.cvss.cvss2.vector.access_complexity: medium
vulnerability.cvss.cvss2.vector.authentication: none
vulnerability.cvss.cvss2.vector.confidentiality_impact: complete
vulnerability.cvss.cvss2.vector.integrity_impact: complete
vulnerability.cvss.cvss2.vector.availability: complete
vulnerability.cvss.cvss2.base_score: 9.300000
vulnerability.cvss.cvss3.vector.attack_vector: local
vulnerability.cvss.cvss3.vector.access_complexity: low
vulnerability.cvss.cvss3.vector.privileges_required: none
vulnerability.cvss.cvss3.vector.user_interaction: required
vulnerability.cvss.cvss3.vector.scope: changed
vulnerability.cvss.cvss3.vector.confidentiality_impact: high
vulnerability.cvss.cvss3.vector.integrity_impact: high
vulnerability.cvss.cvss3.vector.availability: high
vulnerability.cvss.cvss3.base_score: 8.600000
vulnerability.cve: CVE-2019-12735
vulnerability.title: CVE-2019-12735
vulnerability.rationale: getchar.c in Vim before 8.1.1365 and Neovim before 0.3.6 allows remote attackers to execute arbitrary OS commands via the :source! command in a modeline, as demonstrated by execute in Vim, and assert_fails or nvim_input in Neovim.
vulnerability.severity: High
vulnerability.published: 2019-06-05
vulnerability.updated: 2019-06-13
vulnerability.cwe_reference: CWE-78
vulnerability.references: ["http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00031.html", "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00036.html", "http://lists.opensuse.org/opensuse-security-announce/2019-06/msg00037.html", "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00034.html", "http://lists.opensuse.org/opensuse-security-announce/2019-07/msg00050.html", "http://lists.opensuse.org/opensuse-security-announce/2019-08/msg00075.html", "http://www.securityfocus.com/bid/108724", "https://access.redhat.com/errata/RHSA-2019:1619", "https://access.redhat.com/errata/RHSA-2019:1774", "https://access.redhat.com/errata/RHSA-2019:1793", "https://access.redhat.com/errata/RHSA-2019:1947", "https://bugs.debian.org/930020", "https://bugs.debian.org/930024", "https://github.com/neovim/neovim/pull/10082", "https://github.com/numirias/security/blob/master/doc/2019-06-04_ace-vim-neovim.md", "https://github.com/vim/vim/commit/53575521406739cf20bbe4e384d88e7dca11f040", "https://lists.debian.org/debian-lts-announce/2019/08/msg00003.html", "https://lists.fedoraproject.org/archives/list/[email protected]/message/2BMDSHTF754TITC6AQJPCS5IRIDMMIM7/", "https://lists.fedoraproject.org/archives/list/[email protected]/message/TRIRBC2YRGKPAWVRMZS4SZTGGCVRVZPR/", "https://seclists.org/bugtraq/2019/Jul/39", "https://seclists.org/bugtraq/2019/Jun/33", "https://security.gentoo.org/glsa/202003-04", "https://support.f5.com/csp/article/K93144355", "https://support.f5.com/csp/article/K93144355?utm_source=f5support&amp;utm_medium=RSS", "https://usn.ubuntu.com/4016-1/", "https://usn.ubuntu.com/4016-2/", "https://www.debian.org/security/2019/dsa-4467", "https://www.debian.org/security/2019/dsa-4487", "https://nvd.nist.gov/vuln/detail/CVE-2019-12735", "https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2019-12735"]
vulnerability.assigner: [email protected]
vulnerability.cve_version: 4.0

Finalmente, aquí puede ver cómo se ven los campos resaltados de la alerta en la WUI:


Linux
  1. Optimizar la base de datos MySQL

  2. Archivo de configuración de la base de datos de Magento 2

  3. ¿Qué es una base de datos relacional?

  4. Importar una base de datos MySQL

  5. Comando db_load – generar base de datos db

¿Qué es una base de datos distribuida?

¿Qué es la normalización de bases de datos?

Instalación del agente WAZUH

Servidor de base de datos MySQL

Descripción general de PHPMyAdmin

Descripción general de MySQL

    Distribución Versiones Proveedor de configuración
    Red Hat y CentOS 5 Base de datos nacional de vulnerabilidades de Red Hat
    6
    7
    8
    Ubuntu fiable / 14 Base de datos de vulnerabilidad nacional canónica
    xenial / 16
    biónico / 18
    focales / 20
    Debian estiramiento / 9 Base de datos nacional de vulnerabilidades de Debian
    buster / 10
    Windows Todas las versiones compatibles Base de datos de vulnerabilidad nacionalMSU
    MacOS Todas las versiones compatibles Base de datos de vulnerabilidad nacional