[9] Auditbeat – Instalacja

29 marca 2022 Wyłączono przez Adam [zicherka] Nogły

Zainstaluj Auditbeat, który może monitorować działania audytu.

[1] Zainstaluj Auditbeat. Skonfiguruj repozytorium Elasticsearch przed instalacją.

[root@vlsr01 ~]# dnf install auditbeat

[2] Skonfiguruj podstawowe ustawienia i uruchom Auditbeat.

[root@vlsr01 ~]# mcedit /etc/auditbeat/auditbeat.yml
# linia 13: ustaw akcję Audit (sposób pisania reguł jest taki sam jak w auditctl)
- module: auditd
audit_rules: |
## Define audit rules here.
## Create file watches (-w) or syscall audits (-a or -A). Uncomment these
## examples or add your own rules.
## If you are on a 64 bit platform, everything should be running
## in 64 bit mode. This rule will detect any use of the 32 bit syscalls
## because this might be a sign of someone exploiting a hole in the 32
## bit API.
#-a always,exit -F arch=b32 -S all -F key=32bit-abi
## Executions.
#-a always,exit -F arch=b64 -S execve,execveat -k exec
## External access (warning: these can be expensive to audit).
#-a always,exit -F arch=b64 -S accept,bind,connect -F key=external-access
## Identity changes.
#-w /etc/group -p wa -k identity
#-w /etc/passwd -p wa -k identity
#-w /etc/gshadow -p wa -k identity
# linia 116: jeśli używasz Kibany, odkomentuj i określ hosta wyjściowego
# jeśli SSL jest włączony w Kibana, nazwa hosta powinna być taka sama jak nazwa hosta w certs
setup.kibana:
host: https://vlsr01.zicher.lab:5601
# linia 147 : określ hosta wyjściowego
# domyślną opcją jest Elasticsearch lokalnego hosta
# jeśli wyjście do Logstash, zakomentuj Elasticsearch i odkomentuj wiersze logstash
output.elasticsearch:
# Array of hosts to connect to.l
hosts: ["localhost:9200"]
. . . . .
#output.logstash:
# The Logstash hosts
#hosts: ["localhost:5044"]

[root@vlsr01 ~]# mcedit /etc/auditbeat/auditbeat.reference.yml
# linia 34: podstawowe ustawienia modułu auditd
- module: auditd
resolve_ids: true
failure_mode: silent
backlog_limit: 8196
rate_limit: 0
include_raw_message: false
include_warnings: false
audit_rules: |
. . . . .

[root@vlsr01 ~]# systemctl enable --now auditbeat

[3] Sprawdź status, czy dane zostały zebrane normalnie.

# lista indeksów
[root@vlsr01 ~]# curl localhost:9200/_cat/indices?v
health status index                               uuid                   pri rep docs.count docs.deleted store.size pri.store.size
green  open   .geoip_databases                    3Blp2ITzT3OGMcKpXWQmvQ   1   0         44            0     41.5mb         41.5mb
yellow open   sshd_fail-2022.03                   oEnHEEU5QAe_qnDkUUhxYg   1   1         40            0     41.6kb         41.6kb
green  open   .apm-custom-link                    xQPmqjYQQNGk7jqY47y5lg   1   0          0            0       226b           226b
yellow open   metricbeat-7.17.1-2022.03.26-000001 7YefwbdcSdehjGkbWHoFog   1   1     100406            0     65.1mb         65.1mb
yellow open   heartbeat-7.17.1-2022.03.27-000001  A6XA-CJiSl6FMPlIJr_B_Q   1   1        200            0    699.9kb        699.9kb
green  open   .apm-agent-configuration            5G3uKQzFReOnbIAS1thWCg   1   0          0            0       226b           226b
yellow open   packetbeat-7.17.1-2022.03.27-000001 YmtowBRbQjSaYcjWVRqRHA   1   1     238623            0     70.4mb         70.4mb
green  open   .async-search                       KVliO2njSce1JuGEXKxeuQ   1   0          0            0      6.9kb          6.9kb
green  open   .kibana_task_manager_7.17.1_001     OSLFw2ALSgi4QKmU_ucjOA   1   0         17        62151      6.3mb          6.3mb
green  open   .kibana_7.17.1_001                  rnb6SpMkQQmPFx1PI4t77Q   1   0       5100           82     10.8mb         10.8mb
yellow open   auditbeat-7.17.1-2022.03.27-000001  XPANj74qRra926e9n2o60g   1   1       2367            0      1.8mb          1.8mb
yellow open   filebeat-7.17.1-2022.03.27-000001   AHMGTS80TmqndW4G6_Qo8w   1   1       6357            0        1mb            1mb

[root@vlsr01 ~]# curl localhost:9200/auditbeat-7.17.1-2022.03.27-000001/_search?pretty
{
  "took" : 39,
  "timed_out" : false,
  "_shards" : {
    "total" : 1,
    "successful" : 1,
    "skipped" : 0,
    "failed" : 0
  },
  "hits" : {
    "total" : {
      "value" : 2387,
      "relation" : "eq"
    },
    "max_score" : 1.0,
    "hits" : [
      {
        "_index" : "auditbeat-7.17.1-2022.03.27-000001",
        "_type" : "_doc",
        "_id" : "JF_3yn8Bv-wbtR34T1l-",
        "_score" : 1.0,
        "_source" : {
          "@timestamp" : "2022-03-27T10:41:18.741Z",
          "destination" : {
            "packets" : 4,
            "bytes" : 1193,
            "ip" : "127.0.0.1",
            "port" : 9200
          },
          "network" : {
            "type" : "ipv4",
            "transport" : "tcp",
            "packets" : 7,
            "bytes" : 1474,
            "community_id" : "1:M5ROyjVv8hZ/GCA+q7XriA2nowc=",
            "direction" : "ingress"
          },
          "event" : {
            "action" : "network_flow",
            "end" : "2022-03-27T10:41:12.924Z",
            "type" : [
              "info",
              "connection"
            ],
            "start" : "2022-03-27T10:41:12.923Z",
            "dataset" : "socket",
            "kind" : "event",
            "duration" : 976738,
            "module" : "system",
            "category" : [
              "network",
              "network_traffic"
            ]
          },
. . . . .

[4] Jeśli Kibana jest uruchomiona, możliwe jest importowanie danych do przykładowych Dashboardów.

[root@vlsr01 ~]# auditbeat setup --dashboards
Loading dashboards (Kibana must be running and reachable)
Loaded dashboards