Přeskočit obsah

IP Resolve Enricher & Expression

IP Resolve obohacuje událost o kanonické hostitelské jméno a/nebo IP na základě buď IP adresy A sítě/prostoru, nebo libovolného hostitelského jména A sítě připojené k IP adrese ve vyhledávání.

ID vyhledávání IP Resolve musí obsahovat následující podřetězec: ip_resolve

Záznam vyhledávání má následující strukturu:

klíč: [IP, síť]
hodnota: {
    "hostnames": [
        canonical_hostname,
        hostname2,
        hostname3
        ...
    ]
}

Příklad

Deklarace #1 - Obohacovač

---
define:
  name: IPResolve
  typ: enricher/ipresolve
  lookup: lmio_ip_resolve # nepovinné

source:
  - ip_addr_and_network_try1
  - ip_addr_and_network_try2
  - hostname_and_network_try3
  - [!IP.PARSE ip4, !ITEM EVENT network4]
  ...

ip: ip_addr_try1
hostname: host_name

Deklarace #2 - Výraz

!IP.RESOLVE
zdroj:
  - ip_addr_and_network_try1
  - ip_addr_and_network_try2
  - hostname_and_network_try3
  - [!IP.PARSE ip4, !ITEM EVENT network4]
  ...
ip: ip_addr_try1
hostname: host_name
with: !EVENT
lookup: lmio_ip_resolve # nepovinné

Input

Feb 5 10:50:01 0:0:0:0:0:ffff:1f1f:e001 %ASA-1-105043 test

Výstup

{
    'rt': 1580899801.0,
    'msg': 'test',
    'ip_addr_try1': 281471203926017,
    'host_name': 'my_hostname'
}

Sekce define

Tato sekce definuje název a typ obohacovače, který je v případě IP Resolve vždy enricher/ipresolve.

Položka name

Kratší lidsky čitelný název této deklarace.

Položka type

Typ této deklarace, musí být enricher/ipresolve.

Sekce source

Zadejte seznam atributů, které se mají vyhledat. Každý atribut by měl být v následujícím formátu:

[IP, síť]
[hostname, network]

Pokud není síť zadána, použije se global.

První úspěšné vyhledávání vrátí výstupní hodnoty (ip, hostname).

Sekce ip

Zadejte atribut, do kterého se uloží vyhledaná IP adresa.

Sekce hostname

Zadejte atribut, do kterého se uloží vyhledané kanonické jméno hostitele. Kanonické hostitelské jméno je první v hodnotě hostnames vyhledávání.

Načtení vyhledávání ze souboru

Data vyhledávání IP Resolve lze načíst ze souboru pomocí nástroje LogMan.io Collector input:FileBlock.

Data jsou tedy k dispozici v LogMan.io Parseru, kde by měla být odeslány do cíle lookup. Do tématu input tedy lookup nevstoupí, ale do tématu lookups, odkud bude zpracován. LogMan.io Watcher, aby aktualizoval data v ElasticSearch.

LogMan.io Watcher očekává následující formát události:

{
    'action': 'full',
    'data': {
        "items": [{
                '_id': [!IP.PARSE 'MyIP', 'MyNetwork'],
                'hostnames': ['canonical_hostname', 'short_hostname', 'another_short_hostname']
            }
        ]
    },
    "lookup_id": "customer_ip_resolve
}

kde action se rovná full znamená, že stávající obsah vyhledávání by měl být nahrazen položkami items v data

Pro vytvoření této struktury použijte následující deklarativní příklad Kaskádový parser:

---
define:
  název: Demo parseru IPResolve
  typ: parser/cascade
  target: lookup

parse:
    !DICT
    set:
      action: full
      lookup_id:
        !JOIN
        items:
          - !ITEM CONTEXT filename
          - ip_resolve
        oddělovač: "_
      data:
        !DICT
        set:
          položky:
            !FOR
            each:
                !REGEX.SPLIT
                co: !EVENT
                regex: "\n
            do:
                !FIRST
                - !CONTEXT.SET
                  set:
                    _temp:
                      !REGEX.SPLIT
                      co: !ARG
                      regex: ';'
                - !DICT
                  set:
                    _id:
                      - !IP.PARSE
                        value: !ITEM CONTEXT _temp.0
                      - MyNetworkOrSpace
                    hostnames:
                      !LIST
                      append:
                        - !ITEM CONTEXT _temp.1
                        - !ITEM CONTEXT _temp.2