SIEM & overige integraties

Q-Feeds koppelen aan Wazuh

Eén installer zet onze indicatoren als CDB-lijsten op uw Wazuh-manager en voegt de decoders en regels toe die elke gebeurtenis ertegen controleren. U kiest de standaard API of TAXII 2.1, en cron houdt de lijsten actueel.

De integratie is open source en staat op GitHub: Q-Feeds/Q-Feeds-Wazuh-Integration. Haal hem daar altijd op, dan heeft u zeker de actuele versie. U heeft root-toegang op de Wazuh-manager nodig, uitgaand HTTPS naar api.qfeeds.com of taxii.qfeeds.com en een Q-Feeds API-token of TAXII-gegevens. Zie Uw threat feeds ophalen.

Vereisten

  • Wazuh-manager: 4.x of nieuwer, geïnstalleerd in /var/ossec
  • Rechten: root op de manager
  • Pakketten: curl. Python komt met Wazuh mee, in /var/ossec/framework/python/bin/python3, dus dat hoeft u niet te installeren
  • Gegevens: een Q-Feeds API-token voor de standaardmodus, of een TAXII-gebruikersnaam en wachtwoord voor de TAXII-modus
  • Netwerk: uitgaande toegang tot api.qfeeds.com of taxii.qfeeds.com op poort 443

De scripts ophalen

git clone https://github.com/Q-Feeds/Q-Feeds-Wazuh-Integration.git /tmp/qfeeds-wazuh
cd /tmp/qfeeds-wazuh

Geen git op de manager? Download dan het archief:

curl -sL https://github.com/Q-Feeds/Q-Feeds-Wazuh-Integration/archive/refs/heads/main.tar.gz | tar xz -C /tmp
cd /tmp/Q-Feeds-Wazuh-Integration-main

Installeren

sudo bash install.sh

De installer stelt een aantal vragen, schrijft de configuratie, installeert de updater, de decoders, de regels en een cronjob, en haalt daarna de feeds voor het eerst op. Wat hij vraagt, op volgorde:

  1. Integratiemodus: standaard API of TAXII 2.1.
  2. Gegevens: uw API-token, of uw TAXII-gebruikersnaam en wachtwoord.
  3. Feeds of collections: welke feeds u aanzet. In de TAXII-modus zoekt de installer de API-root op en toont hij de beschikbare collections.
  4. Verlopen indicatoren overslaan (alleen TAXII): indicatoren negeren waarvan de datum in valid_until voorbij is.
  5. IPv6 (standaardmodus): IPv6-adressen meenemen in de IP-feed.
  6. Active Response: gevonden IP-adressen blokkeren op de lokale firewall, met een timeout die u zelf kiest.
  7. IP-whitelist: adressen die nooit een alert mogen opleveren. Zet hier uw eigen beheeradressen neer.
  8. Cron-schema: elke 20 minuten in de standaardmodus, eens per dag op een willekeurig uur in de TAXII-modus. TAXII-collections kunnen groot zijn, daarom worden de dagelijkse runs over klanten gespreid.
  9. Eerste download (alleen TAXII): u kunt die overslaan en de eerste cron-run het werk op de achtergrond laten doen.

Wat er geïnstalleerd wordt

OnderdeelLocatie
Configuratie/etc/qfeeds/qfeeds_wazuh.conf
Updater/usr/local/bin/qfeeds-wazuh-updater.py
Decoders/var/ossec/etc/decoders/qfeeds_decoders.xml
Regels/var/ossec/etc/rules/qfeeds_rules.xml
CDB-lijsten/var/ossec/etc/lists/qfeeds-*
Log/var/log/qfeeds_wazuh.log
Planningcrontab van root

De installer voegt ook de verwijzingen naar de CDB-lijsten toe aan /var/ossec/etc/ossec.conf, en desgewenst de Active Response-configuratie. Die blokken staan tussen markeringen, zodat de uninstaller ze netjes kan weghalen, en er blijft een back-up van het originele bestand staan.

Hoe het werkt

  • Updatecyclus: de updater vraagt eerst aan de API of uw licentie nieuwe data heeft. Zo niet, dan stopt hij zonder iets te downloaden, en daarom is een schema van elke twintig minuten geen belasting.
  • CDB-lijsten: indicatoren worden weggeschreven in het key:value-formaat van Wazuh. In de standaardmodus is de waarde leeg, in de TAXII-modus staat daar de context uit de STIX-beschrijving, zoals threat=Trojan;category=Bot C&C.
  • Regels: IP-treffers geven 100200 en 100201, domeintreffers 100210 tot en met 100213, kwaadaardige URL's 100220 en hashes 100230 tot en met 100232, alle op niveau 10 in de regelgroep qfeeds.
  • Decoders: het pakket voegt een Unbound-DNS-decoder toe, in zowel het RFC5424- als het RFC3164-formaat, plus Sysmon-decoders die het samengestelde veld Hashes opsplitsen in losse MD5-, SHA-1- en SHA-256-waarden.
  • CIDR: Wazuh vergelijkt IP-reeksen in puntnotatie, dus alleen /8, /16, /24 en /32 worden ondersteund. Andere prefixlengtes worden overgeslagen.
  • Kwaadaardige URL's: elke vermelding wordt twee keer opgeslagen, met en zonder protocol, omdat proxylogs meestal https:// meesturen en andere bronnen niet.
  • Herstart: de manager wordt alleen herstart als de lijsten echt zijn veranderd. Wazuh 4.x compileert de CDB-lijsten tijdens die herstart.

Controleren

sudo QFEEDS_FORCE_UPDATE=1 /var/ossec/framework/python/bin/python3 /usr/local/bin/qfeeds-wazuh-updater.py
tail -f /var/log/qfeeds_wazuh.log
wc -l /var/ossec/etc/lists/qfeeds-malware-ip
grep -i qfeeds /var/ossec/logs/ossec.log

Het eerste commando forceert een update en negeert de licentieplanning, wat de snelste manier is om de hele keten te controleren. Wilt u een regel testen, draai dan /var/ossec/bin/wazuh-logtest en plak een logregel met een adres uit de lijst.

Ga in het dashboard naar Threat Hunting en filter op rule.groups: qfeeds, of op een losse regel zoals rule.id: 100200.

Configuratie

Alle instellingen staan in /etc/qfeeds/qfeeds_wazuh.conf. Opties zoals het API-token, IPv6 en de whitelists past u daar direct aan; ze gelden vanaf de volgende run. Wilt u feeds aan- of uitzetten, of achteraf Active Response toevoegen, draai dan opnieuw de installer, want dan moeten het regelbestand en ossec.conf mee veranderen.

Domeindetectie via Unbound

Draait u OPNsense met de Wazuh-agent en wilt u ook DNS-queries laten controleren? Zet Log Queries aan onder Services, Unbound DNS, Advanced, laat de logverbosity op de standaardwaarde staan en voeg het resolver-log toe aan de agentconfiguratie in /var/ossec/etc/ossec.conf op OPNsense:

<localfile>
  <log_format>syslog</log_format>
  <location>/var/log/resolver/latest.log</location>
</localfile>

Herstart de agent met service wazuh-agent restart. Houd er rekening mee dat querylogging prestaties van de resolver kost, dat een plugin-update dit blok kan overschrijven, en dat domeinen die de DNSBL van OPNsense al blokkeert nooit in het resolver-log verschijnen.

Verwijderen

sudo bash uninstall.sh

Dit haalt de cronjob weg, de CDB-lijsten en hun gecompileerde bestanden, de decoders, de regels, de configuratie inclusief eventuele TAXII-gegevens, de updater en de blokken die aan ossec.conf waren toegevoegd. Back-ups van ossec.conf blijven staan. De <localfile>-vermelding voor Unbound op een OPNsense-agent blijft ongemoeid, die haalt u zelf weg als u hem niet meer nodig heeft.

Problemen oplossen

  • Geen alerts: controleer met wc -l /var/ossec/etc/lists/qfeeds-malware-ip of de lijsten gevuld zijn, met grep qfeeds /var/ossec/etc/ossec.conf of de verwijzingen erin staan, en herstart de manager.
  • De updater downloadt niets: lees tail -50 /var/log/qfeeds_wazuh.log en test uw token met curl -s "https://api.qfeeds.com/licenses?api_token=YOUR_TOKEN".
  • Lijsten niet gecompileerd: Wazuh 4.x doet dat bij een herstart. Op oudere versies draait u sudo /var/ossec/bin/ossec-makelists.
  • Active Response blokkeert niet: controleer de configuratie met grep -A5 "Q-FEEDS-AR" /var/ossec/etc/ossec.conf en het log in /var/ossec/logs/active-responses.log.
  • Geen hash-alerts: hashvergelijking vraagt om de TAXII-modus plus Sysmon op uw Windows-endpoints, met hashlogging aan in de Sysmon-configuratie.
  • Ondersteuning: support@qfeeds.com of de supportpagina. Bug gevonden in de scripts? Open een issue in de GitHub-repository.

Bekijk de installer op GitHub Over de Wazuh-integratie

Evalueer onze intelligence vandaag!

Vereenvoudig uw security operations, start uw gratis Q-Feeds-proefperiode en ervaar het verschil.

Activeer gratis toegang