Elastic Stack : Install Auditbeat2026/07/09 |
|
Install Auditbeat that can monitor Audit actions. |
|
| [1] | Install Auditbeat. Configure Elasticsearch repository before it. |
|
root@dlp:~# apt -y install auditbeat
|
| [2] | Configure basic settings and start Auditbeat. |
|
root@dlp:~#
vi /etc/auditbeat/auditbeat.yml # line 13 : set Audit action (writing rules is the same with 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
.....
.....
# line 122 : if use Kibana, uncomment and specify output host # if SSL is enabled on Kibana, hostname should be the same with the hostname in certs # [username] and [password] is the admin user's one # if using self-signed certificate, specify [ssl.verification_mode: none] setup.kibana: ..... host: "https://dlp.srv.world:5601" protocol: "https" username: "elastic" password: "password" ssl.enabled: true ssl.verification_mode: none # line 154 : specify output of Elasticsearch # [username] and [password] is the admin user's one # [ssl.certificate_authorities] is the cacert generated by Elasticsearch installation output.elasticsearch: # Array of hosts to connect to. hosts: ["https://dlp.srv.world:9200"] protocol: "https" #api_key: "id:api_key" username: "elastic" password: "password" ssl.certificate_authorities: "/etc/elasticsearch/certs/http_ca.crt" ..... .....
root@dlp:~#
vi /etc/auditbeat/auditbeat.reference.yml # line 34 : basic settings for auditd module - module: auditd resolve_ids: true failure_mode: silent backlog_limit: 8196 rate_limit: 0 include_raw_message: false include_warnings: false audit_rules: | ..... ..... # line 1472 : if use Kibana, uncomment and specify output host # if SSL is enabled on Kibana, uncomment ssl related lines # [username] and [password] is the admin user's one # if using self-signed certificate, specify [ssl.verification_mode: none] setup.kibana: # Kibana Host # Scheme and port can be left out and will be set to the default (http and 5601) # In case you specify and additional path, the scheme is required: http://localhost:5601/path # IPv6 addresses should always be defined as: https://[2001:db8::1]:5601 host: "https://dlp.srv.world:5601" # Optional protocol and basic auth credentials. protocol: "https" username: "elastic" password: "password" # Optional HTTP Path #path: "" # Use SSL settings for HTTPS. Default is true. ssl.enabled: true ..... ..... # after very careful consideration. It is primarily intended as a temporary # diagnostic mechanism when attempting to resolve TLS errors; its use in # production environments is strongly discouraged. # The default value is full. ssl.verification_mode: noneroot@dlp:~# systemctl enable --now auditbeat
|
| [3] | Verify status the data has been collected normally. |
|
# index list root@dlp:~# curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://127.0.0.1:9200/_cat/indices?v health status index uuid pri rep docs.count docs.deleted store.size pri.store.size dataset.size yellow open .ds-packetbeat-9.4.3-2026.07.09-000001 c6-tYY3RS_WdOk7R-D_9fw 1 1 2753 0 1.5mb 1.5mb 1.5mb green open .internal.alerts-security.alerts-default-000001 pLfq98_1SbeGh_oI8_jomg 1 0 0 0 249b 249b 249b yellow open .ds-metricbeat-9.4.3-2026.07.09-000001 Nk25Ry-iSSW_kSUA1SYh1A 1 1 2156 0 4.6mb 4.6mb 4.6mb yellow open test_index J7NriUgETm2_PQAG8aFUdw 1 1 1 0 7.3kb 7.3kb 7.3kb yellow open .ds-auditbeat-9.4.3-2026.07.09-000001 Nk0Rl97xQ6-Vgo02flbl6A 1 1 2751 0 1.4mb 1.4mb 1.4mb green open .ds-.workflows-events-2026.07.09-000001 HkoWywm4SNm6bPzDJjhAOg 1 0 0 0 249b 249b 249b # document list on the index root@dlp:~# curl -u elastic --cacert /etc/elasticsearch/certs/http_ca.crt https://127.0.0.1:9200/.ds-auditbeat-9.4.3-2026.07.09-000001/_search?pretty
{
"took" : 1,
"timed_out" : false,
"_shards" : {
"total" : 1,
"successful" : 1,
"skipped" : 0,
"failed" : 0
},
"hits" : {
"total" : {
"value" : 2822,
"relation" : "eq"
},
"max_score" : 1.0,
"hits" : [
{
"_index" : ".ds-auditbeat-9.4.3-2026.07.09-000001",
"_id" : "SKdQRJ8B0LOAoAIkfFdt",
"_score" : 1.0,
"_source" : {
"@timestamp" : "2026-07-09T00:39:03.248Z",
"service" : {
"type" : "system"
},
"client" : {
"ip" : "127.0.0.1",
"port" : 54958,
"packets" : 1,
"bytes" : 70
.....
.....
|
| [4] | If Kibana is running, it's possible to import data to sample Dashboards. |
|
root@dlp:~# auditbeat setup --dashboards Loading dashboards (Kibana must be running and reachable) Loaded dashboards |
|
|
| Sponsored Link |
|
|