GNU/Linux >> Linux Esercitazione >  >> Linux

Rilevamento delle vulnerabilità di Wazuh

Questo post riguarda il rilevamento delle vulnerabilità di Wazuh

Prerequisiti

Installa la piattaforma di sicurezza wazuh Open Source e l'agente wazuh utilizzando i blog indicati di seguito.

1:WAZUH La piattaforma di sicurezza open source

2:Installazione dell'agente WAZUH

Wazuh è in grado di rilevare le vulnerabilità nelle applicazioni installate negli agenti utilizzando il modulo Vulnerability Detector. Questa verifica del software viene eseguita tramite l'integrazione dei feed di vulnerabilità indicizzati da Canonical, Debian, Red Hat e National Vulnerability Database.

Come funziona

Per poter rilevare le vulnerabilità, ora gli agenti sono in grado di raccogliere nativamente un elenco di applicazioni installate, inviandolo periodicamente al gestore (dove è archiviato nei database sqlite locali, uno per agente). Inoltre, il gestore crea un database di vulnerabilità globale, da repository CVE pubblicamente disponibili, utilizzandolo in seguito per correlare queste informazioni con i dati dell'inventario delle applicazioni dell'agente.

Il database globale delle vulnerabilità viene creato automaticamente, attualmente estraendo i dati dai seguenti repository:

  • https://canonical.com:utilizzato per estrarre CVE per le distribuzioni Ubuntu Linux.
  • https://www.redhat.com:utilizzato per eseguire il pull di CVE per le distribuzioni Linux Red Hat e CentOS.
  • https://www.debian.org:utilizzato per estrarre CVE per le distribuzioni Debian Linux.
  • https://nvd.nist.gov/:utilizzato per estrarre CVE dal National Vulnerability Database.
  • https://feed.wazuh.com/:utilizzato per estrarre il feed MSU con CVE e patch per i prodotti Microsoft.

Questo database può essere configurato per essere aggiornato periodicamente, assicurando che la soluzione controlli gli ultimi CVE.

Una volta creato il database di vulnerabilità globale (con i CVE), il processo di rilevamento cerca i pacchetti vulnerabili nei database di inventario (univoci per agente). Gli avvisi vengono generati quando un CVE (Common Vulnerabilities and Exposures) interessa un pacchetto noto per essere installato in uno dei server monitorati. Un pacchetto è etichettato come vulnerabile quando la sua versione è contenuta all'interno dell'intervallo interessato di un CVE. I risultati vengono presentati come avvisi e anche archiviati in un database. In questo modo puoi controllare gli ultimi avvisi di scansione o interrogare il database del software vulnerabile di ogni singolo agente.

Tipi di scansione

Il modulo Vulnerability Detector può eseguire una scansione all'avvio (run_on_start) e ogni certo periodo di tempo (intervallo). In uno di questi casi, i pacchetti che sono già stati scansionati attenderanno fino alla scadenza di ignore_time per essere nuovamente scansionati. Ciò migliora le prestazioni ed evita avvisi ripetuti durante un periodo di tempo configurabile. Abbiamo quindi due diversi tipi di scansione:

  • Scansione completa:la prima volta, Vulnerability Detector esegue la scansione di ogni singolo pacchetto installato. Dopodiché, tutti i pacchetti disponibili vengono nuovamente scansionati solo allo scadere dell'ignore_time configurato.
  • Scansioni parziali:vengono scansionati solo i nuovi pacchetti mentre ignore_time è ancora valido.

Sono poche le considerazioni che emergono da questo comportamento:

  • Ogni scansione completa genera avvisi per tutti i pacchetti, quindi gli avvisi vengono ripetuti finché non vengono corretti.
  • L'utente non può attivare manualmente una scansione completa, l'unica opzione è diminuire l'impostazione ignore_time.
  • Le scansioni parziali generano avvisi per nuovi pacchetti, ma non eliminano avvisi per pacchetti rimossi.
  • Le scansioni parziali possono essere attivate con un riavvio di Manager.

Controlla le impostazioni del rilevatore di vulnerabilità per maggiori dettagli sulla configurazione.

Il seguente esempio può essere utile per comprendere tutti i passaggi coinvolti

Matrice di compatibilità

La tabella seguente mostra i sistemi operativi in ​​cui è attualmente supportato il rilevatore di vulnerabilità e la configurazione del provider necessaria per ciascuna distribuzione.

Distribuzione Versioni Fornitore di configurazione
Red Hat e CentOS 5 Database delle vulnerabilità di Red HatNational
6
7
8
Ubuntu fidato / 14 Banca dati delle vulnerabilità canoniche nazionali
xenial / 16
bionico / 18
focale / 20
Debian allunga / 9 Database delle vulnerabilità DebianNational
buster / 10
Finestre Tutte le versioni supportate Database nazionale delle vulnerabilità MSU
MacOS Tutte le versioni supportate Database nazionale delle vulnerabilità

Rilevamento delle vulnerabilità

L'esempio seguente mostra come configurare i componenti necessari per eseguire il processo di rilevamento delle vulnerabilità.

  1. Abilita il modulo agente utilizzato per raccogliere i pacchetti installati sul sistema monitorato.

Può essere fatto aggiungendo il seguente blocco di impostazioni al file di configurazione dell'agente condiviso:

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

Se desideri eseguire la scansione delle vulnerabilità negli agenti Windows, dovrai aggiungere anche gli hotfixes scansione:

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

Queste scansioni sono abilitate per impostazione predefinita. Per ulteriori informazioni sul modulo di inventario, controlla le impostazioni di Syscollector.Abilita il modulo manager utilizzato per rilevare le vulnerabilità.

Puoi farlo aggiungendo un blocco come il seguente al file di configurazione del tuo manager:

<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>

Ricordati di riavviare il gestore per applicare le modifiche:

systemctl restart wazuh-manager
service wazuh-manager restart

Qui puoi vedere un avviso reale in cui vengono riempiti i campi spiegati:

** 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

Infine, qui puoi vedere come appaiono i campi evidenziati dell'avviso nella WUI:


Linux
  1. Ottimizza il database MySQL

  2. File di configurazione del database Magento 2

  3. Che cos'è un database relazionale?

  4. Importa un database MySQL

  5. comando slocate in linux

Che cos'è un database distribuito?

Che cos'è la normalizzazione del database?

Installazione dell'agente WAZUH

Server database MySQL

Panoramica di PHPMyAdmin

Panoramica di MySQL