mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-19 07:23:06 +01:00
handle elasticsearch.auth state like kibana.secrets
This commit is contained in:
@@ -238,6 +238,10 @@
|
||||
{% do allowed_states.append('elasticsearch') %}
|
||||
{% endif %}
|
||||
|
||||
{% if ELASTICSEARCH and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch', 'so-import'] %}
|
||||
{% do allowed_states.append('elasticsearch.auth') %}
|
||||
{% endif %}
|
||||
|
||||
{% if KIBANA and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch', 'so-import'] %}
|
||||
{% do allowed_states.append('kibana') %}
|
||||
{% do allowed_states.append('kibana.secrets') %}
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
{% set so_elastic_user_pass = salt['random.get_str'](72) %}
|
||||
{% set so_kibana_user_pass = salt['random.get_str'](72) %}
|
||||
{% set so_logstash_user_pass = salt['random.get_str'](72) %}
|
||||
{% set so_beats_user_pass = salt['random.get_str'](72) %}
|
||||
{% set so_monitor_user_pass = salt['random.get_str'](72) %}
|
||||
{% from 'allowed_states.map.jinja' import allowed_states %}
|
||||
{% if sls in allowed_states %}
|
||||
|
||||
{% set so_elastic_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', salt['random.get_str'](72)) %}
|
||||
{% set so_kibana_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_kibana_user:pass', salt['random.get_str'](72)) %}
|
||||
{% set so_logstash_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_logstash_user:pass', salt['random.get_str'](72)) %}
|
||||
{% set so_beats_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_beats_user:pass', salt['random.get_str'](72)) %}
|
||||
{% set so_monitor_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_monitor_user:pass', salt['random.get_str'](72)) %}
|
||||
|
||||
elastic_auth_pillar:
|
||||
file.managed:
|
||||
@@ -29,11 +32,11 @@ elastic_auth_pillar:
|
||||
so_monitor_user:
|
||||
user: so_monitor
|
||||
pass: {{ so_monitor_user_pass }}
|
||||
# since we are generating a random password, and we don't want that to happen everytime
|
||||
# a highstate runs, we only manage the file each user isn't present in the file. if the
|
||||
# pillar file doesn't exists, then the default vault provided to pillar.get should not
|
||||
# be within the file either, so it should then be created
|
||||
- unless:
|
||||
{% for so_app_user, values in salt['pillar.get']('elasticsearch:auth:users', {'so_noapp_user': {'user': 'r@NDumu53Rd0NtDOoP'}}).items() %}
|
||||
- grep {{ values.user }} /opt/so/saltstack/local/pillar/elasticsearch/auth.sls
|
||||
{% endfor%}
|
||||
|
||||
{% else %}
|
||||
|
||||
{{sls}}_state_not_allowed:
|
||||
test.fail_without_changes:
|
||||
- name: {{sls}}_state_not_allowed
|
||||
|
||||
{% endif %}
|
||||
|
||||
Reference in New Issue
Block a user