feat(ext/beats): Monitor using unprivileged user
Both the collection and storage of monitoring data are now performed using the unpriviliged built-in users 'remote_monitoring_user' and 'beats_system' respectively, instead of the 'elastic' superuser.
This commit is contained in:
parent
595f42cc90
commit
654a18dcdb
12
.env
12
.env
|
@ -20,3 +20,15 @@ LOGSTASH_INTERNAL_PASSWORD='changeme'
|
||||||
# The user Kibana uses to connect and communicate with Elasticsearch.
|
# The user Kibana uses to connect and communicate with Elasticsearch.
|
||||||
# https://www.elastic.co/guide/en/elasticsearch/reference/current/built-in-users.html
|
# https://www.elastic.co/guide/en/elasticsearch/reference/current/built-in-users.html
|
||||||
KIBANA_SYSTEM_PASSWORD='changeme'
|
KIBANA_SYSTEM_PASSWORD='changeme'
|
||||||
|
|
||||||
|
# User 'beats_system' (built-in)
|
||||||
|
#
|
||||||
|
# The user the Beats use when storing monitoring information in Elasticsearch.
|
||||||
|
# https://www.elastic.co/guide/en/elasticsearch/reference/current/built-in-users.html
|
||||||
|
BEATS_SYSTEM_PASSWORD=''
|
||||||
|
|
||||||
|
# User 'remote_monitoring_user' (built-in)
|
||||||
|
#
|
||||||
|
# The user Metricbeat uses when collecting and storing monitoring information in Elasticsearch.
|
||||||
|
# https://www.elastic.co/guide/en/elasticsearch/reference/current/built-in-users.html
|
||||||
|
REMOTE_MONITORING_USER_PASSWORD=''
|
||||||
|
|
|
@ -163,7 +163,7 @@ reset the passwords of all aforementioned Elasticsearch users to random secrets.
|
||||||
|
|
||||||
1. Reset passwords for default users
|
1. Reset passwords for default users
|
||||||
|
|
||||||
The commands below resets the passwords of the `elastic`, `logstash_internal` and `kibana_system` users. Take note
|
The commands below reset the passwords of the `elastic`, `logstash_internal` and `kibana_system` users. Take note
|
||||||
of them.
|
of them.
|
||||||
|
|
||||||
```console
|
```console
|
||||||
|
|
|
@ -24,6 +24,8 @@ services:
|
||||||
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
||||||
LOGSTASH_INTERNAL_PASSWORD: ${LOGSTASH_INTERNAL_PASSWORD:-}
|
LOGSTASH_INTERNAL_PASSWORD: ${LOGSTASH_INTERNAL_PASSWORD:-}
|
||||||
KIBANA_SYSTEM_PASSWORD: ${KIBANA_SYSTEM_PASSWORD:-}
|
KIBANA_SYSTEM_PASSWORD: ${KIBANA_SYSTEM_PASSWORD:-}
|
||||||
|
BEATS_SYSTEM_PASSWORD: ${BEATS_SYSTEM_PASSWORD:-}
|
||||||
|
REMOTE_MONITORING_USER_PASSWORD: ${REMOTE_MONITORING_USER_PASSWORD:-}
|
||||||
networks:
|
networks:
|
||||||
- elk
|
- elk
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
@ -21,6 +21,9 @@ processors:
|
||||||
|
|
||||||
monitoring:
|
monitoring:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
elasticsearch:
|
||||||
|
username: beats_system
|
||||||
|
password: ${BEATS_SYSTEM_PASSWORD}
|
||||||
|
|
||||||
output.elasticsearch:
|
output.elasticsearch:
|
||||||
hosts: [ http://elasticsearch:9200 ]
|
hosts: [ http://elasticsearch:9200 ]
|
||||||
|
|
|
@ -28,6 +28,7 @@ services:
|
||||||
read_only: true
|
read_only: true
|
||||||
environment:
|
environment:
|
||||||
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
||||||
|
BEATS_SYSTEM_PASSWORD: ${BEATS_SYSTEM_PASSWORD:-}
|
||||||
networks:
|
networks:
|
||||||
- elk
|
- elk
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
@ -22,6 +22,9 @@ processors:
|
||||||
|
|
||||||
monitoring:
|
monitoring:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
elasticsearch:
|
||||||
|
username: beats_system
|
||||||
|
password: ${BEATS_SYSTEM_PASSWORD}
|
||||||
|
|
||||||
output.elasticsearch:
|
output.elasticsearch:
|
||||||
hosts: [ http://elasticsearch:9200 ]
|
hosts: [ http://elasticsearch:9200 ]
|
||||||
|
|
|
@ -17,6 +17,7 @@ services:
|
||||||
- ./extensions/heartbeat/config/heartbeat.yml:/usr/share/heartbeat/heartbeat.yml:ro,Z
|
- ./extensions/heartbeat/config/heartbeat.yml:/usr/share/heartbeat/heartbeat.yml:ro,Z
|
||||||
environment:
|
environment:
|
||||||
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
||||||
|
BEATS_SYSTEM_PASSWORD: ${BEATS_SYSTEM_PASSWORD:-}
|
||||||
networks:
|
networks:
|
||||||
- elk
|
- elk
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
@ -18,8 +18,8 @@ metricbeat.autodiscover:
|
||||||
metricbeat.modules:
|
metricbeat.modules:
|
||||||
- module: elasticsearch
|
- module: elasticsearch
|
||||||
hosts: [ http://elasticsearch:9200 ]
|
hosts: [ http://elasticsearch:9200 ]
|
||||||
username: elastic
|
username: remote_monitoring_user
|
||||||
password: ${ELASTIC_PASSWORD}
|
password: ${REMOTE_MONITORING_USER_PASSWORD}
|
||||||
xpack.enabled: true
|
xpack.enabled: true
|
||||||
period: 10s
|
period: 10s
|
||||||
- module: logstash
|
- module: logstash
|
||||||
|
@ -28,8 +28,8 @@ metricbeat.modules:
|
||||||
period: 10s
|
period: 10s
|
||||||
- module: kibana
|
- module: kibana
|
||||||
hosts: [ http://kibana:5601 ]
|
hosts: [ http://kibana:5601 ]
|
||||||
username: elastic
|
username: remote_monitoring_user
|
||||||
password: ${ELASTIC_PASSWORD}
|
password: ${REMOTE_MONITORING_USER_PASSWORD}
|
||||||
xpack.enabled: true
|
xpack.enabled: true
|
||||||
period: 10s
|
period: 10s
|
||||||
- module: docker
|
- module: docker
|
||||||
|
@ -51,6 +51,9 @@ processors:
|
||||||
|
|
||||||
monitoring:
|
monitoring:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
elasticsearch:
|
||||||
|
username: beats_system
|
||||||
|
password: ${BEATS_SYSTEM_PASSWORD}
|
||||||
|
|
||||||
output.elasticsearch:
|
output.elasticsearch:
|
||||||
hosts: [ http://elasticsearch:9200 ]
|
hosts: [ http://elasticsearch:9200 ]
|
||||||
|
|
|
@ -39,6 +39,8 @@ services:
|
||||||
read_only: true
|
read_only: true
|
||||||
environment:
|
environment:
|
||||||
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
ELASTIC_PASSWORD: ${ELASTIC_PASSWORD:-}
|
||||||
|
BEATS_SYSTEM_PASSWORD: ${BEATS_SYSTEM_PASSWORD:-}
|
||||||
|
REMOTE_MONITORING_USER_PASSWORD: ${REMOTE_MONITORING_USER_PASSWORD:-}
|
||||||
networks:
|
networks:
|
||||||
- elk
|
- elk
|
||||||
depends_on:
|
depends_on:
|
||||||
|
|
|
@ -13,6 +13,8 @@ declare -A users_passwords
|
||||||
users_passwords=(
|
users_passwords=(
|
||||||
[logstash_internal]="${LOGSTASH_INTERNAL_PASSWORD:-}"
|
[logstash_internal]="${LOGSTASH_INTERNAL_PASSWORD:-}"
|
||||||
[kibana_system]="${KIBANA_SYSTEM_PASSWORD:-}"
|
[kibana_system]="${KIBANA_SYSTEM_PASSWORD:-}"
|
||||||
|
[beats_system]="${BEATS_SYSTEM_PASSWORD=:-}"
|
||||||
|
[remote_monitoring_user]="${REMOTE_MONITORING_USER_PASSWORD:-}"
|
||||||
)
|
)
|
||||||
|
|
||||||
declare -A users_roles
|
declare -A users_roles
|
||||||
|
|
Loading…
Reference in New Issue