mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 17:22:49 +01:00
Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev
This commit is contained in:
@@ -1,4 +1,5 @@
|
|||||||
{% set OSQUERY = salt['pillar.get']('master:osquery', '0') %}
|
{%- set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) -%}
|
||||||
|
{%- set FLEETNODE = salt['pillar.get']('static:fleet_node', False) -%}
|
||||||
{% set WAZUH = salt['pillar.get']('master:wazuh', '0') %}
|
{% set WAZUH = salt['pillar.get']('master:wazuh', '0') %}
|
||||||
{% set THEHIVE = salt['pillar.get']('master:thehive', '0') %}
|
{% set THEHIVE = salt['pillar.get']('master:thehive', '0') %}
|
||||||
{% set PLAYBOOK = salt['pillar.get']('master:playbook', '0') %}
|
{% set PLAYBOOK = salt['pillar.get']('master:playbook', '0') %}
|
||||||
@@ -7,7 +8,6 @@
|
|||||||
{% set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') %}
|
{% set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') %}
|
||||||
{% set GRAFANA = salt['pillar.get']('master:grafana', '0') %}
|
{% set GRAFANA = salt['pillar.get']('master:grafana', '0') %}
|
||||||
|
|
||||||
|
|
||||||
eval:
|
eval:
|
||||||
containers:
|
containers:
|
||||||
- so-core
|
- so-core
|
||||||
@@ -20,7 +20,7 @@ eval:
|
|||||||
- so-soc
|
- so-soc
|
||||||
- so-kratos
|
- so-kratos
|
||||||
- so-idstools
|
- so-idstools
|
||||||
{% if OSQUERY != '0' %}
|
{% if FLEETMASTER %}
|
||||||
- so-mysql
|
- so-mysql
|
||||||
- so-fleet
|
- so-fleet
|
||||||
- so-redis
|
- so-redis
|
||||||
@@ -100,7 +100,7 @@ master_search:
|
|||||||
- so-elastalert
|
- so-elastalert
|
||||||
- so-filebeat
|
- so-filebeat
|
||||||
- so-soctopus
|
- so-soctopus
|
||||||
{% if OSQUERY != '0' %}
|
{% if FLEETMASTER %}
|
||||||
- so-mysql
|
- so-mysql
|
||||||
- so-fleet
|
- so-fleet
|
||||||
- so-redis
|
- so-redis
|
||||||
@@ -143,7 +143,7 @@ master:
|
|||||||
- so-kibana
|
- so-kibana
|
||||||
- so-elastalert
|
- so-elastalert
|
||||||
- so-filebeat
|
- so-filebeat
|
||||||
{% if OSQUERY != '0' %}
|
{% if FLEETMASTER %}
|
||||||
- so-mysql
|
- so-mysql
|
||||||
- so-fleet
|
- so-fleet
|
||||||
- so-redis
|
- so-redis
|
||||||
@@ -199,4 +199,13 @@ warm_node:
|
|||||||
- so-core
|
- so-core
|
||||||
- so-telegraf
|
- so-telegraf
|
||||||
- so-elasticsearch
|
- so-elasticsearch
|
||||||
|
fleet:
|
||||||
|
containers:
|
||||||
|
{% if FLEETNODE %}
|
||||||
|
- so-mysql
|
||||||
|
- so-fleet
|
||||||
|
- so-redis
|
||||||
|
- so-filebeat
|
||||||
|
- so-core
|
||||||
|
- so-telegraf
|
||||||
|
{% endif %}
|
||||||
@@ -148,5 +148,4 @@ so-elasticsearch-pipelines:
|
|||||||
so-elasticsearch-templates:
|
so-elasticsearch-templates:
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- name: /usr/sbin/so-elasticsearch-templates
|
- name: /usr/sbin/so-elasticsearch-templates
|
||||||
- cwd: /
|
- cwd: /opt/so
|
||||||
|
|
||||||
@@ -7,8 +7,8 @@
|
|||||||
|
|
||||||
{%- set HOSTNAME = salt['grains.get']('host', '') %}
|
{%- set HOSTNAME = salt['grains.get']('host', '') %}
|
||||||
{%- set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') %}
|
{%- set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') %}
|
||||||
{%- set WAZUHENABLED = salt['pillar.get']('master:wazuh_enabled', '0') %}
|
{%- set WAZUHENABLED = salt['pillar.get']('static:wazuh_enabled', '0') %}
|
||||||
{%- set STRELKAENABLED = salt['pillar.get']('master:strelka_enabled', '0') %}
|
{%- set STRELKAENABLED = salt['pillar.get']('static:strelka_enabled', '0') %}
|
||||||
{%- set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) -%}
|
{%- set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) -%}
|
||||||
{%- set FLEETNODE = salt['pillar.get']('static:fleet_node', False) -%}
|
{%- set FLEETNODE = salt['pillar.get']('static:fleet_node', False) -%}
|
||||||
|
|
||||||
@@ -110,6 +110,26 @@ filebeat.inputs:
|
|||||||
fields_under_root: true
|
fields_under_root: true
|
||||||
clean_removed: false
|
clean_removed: false
|
||||||
close_removed: false
|
close_removed: false
|
||||||
|
|
||||||
|
{%- if STRELKAENABLED == '1' %}
|
||||||
|
|
||||||
|
- type: log
|
||||||
|
paths:
|
||||||
|
- /nsm/strelka/log/strelka.log
|
||||||
|
fields:
|
||||||
|
module: strelka
|
||||||
|
category: file
|
||||||
|
dataset: file
|
||||||
|
|
||||||
|
processors:
|
||||||
|
- drop_fields:
|
||||||
|
fields: ["source", "prospector", "input", "offset", "beat"]
|
||||||
|
|
||||||
|
fields_under_root: true
|
||||||
|
clean_removed: false
|
||||||
|
close_removed: false
|
||||||
|
|
||||||
|
{%- endif %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{%- if WAZUHENABLED == '1' %}
|
{%- if WAZUHENABLED == '1' %}
|
||||||
@@ -160,25 +180,6 @@ filebeat.inputs:
|
|||||||
|
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
|
|
||||||
{%- if STRELKAENABLED == '1' %}
|
|
||||||
|
|
||||||
- type: log
|
|
||||||
paths:
|
|
||||||
- /nsm/strelka/log/strelka.log
|
|
||||||
fields:
|
|
||||||
module: strelka
|
|
||||||
category: file
|
|
||||||
dataset: file
|
|
||||||
|
|
||||||
processors:
|
|
||||||
- drop_fields:
|
|
||||||
fields: ["source", "prospector", "input", "offset", "beat"]
|
|
||||||
|
|
||||||
fields_under_root: true
|
|
||||||
clean_removed: false
|
|
||||||
close_removed: false
|
|
||||||
|
|
||||||
{%- endif %}
|
|
||||||
#----------------------------- Elasticsearch/Logstash output ---------------------------------
|
#----------------------------- Elasticsearch/Logstash output ---------------------------------
|
||||||
{%- if grains['role'] == "so-eval" %}
|
{%- if grains['role'] == "so-eval" %}
|
||||||
output.elasticsearch:
|
output.elasticsearch:
|
||||||
|
|||||||
@@ -32,8 +32,8 @@ sleep 30s
|
|||||||
|
|
||||||
# Sub our IP for placholders
|
# Sub our IP for placholders
|
||||||
for i in FLEETPLACEHOLDER PCAPPLACEHOLDER SOCTOPUSPLACEHOLDER PLACEHOLDER; do
|
for i in FLEETPLACEHOLDER PCAPPLACEHOLDER SOCTOPUSPLACEHOLDER PLACEHOLDER; do
|
||||||
sed -i "s/$i/{{ MASTER }}/g" /opt/so/saltstack/salt/kibana/saved_objects.ndjson
|
sed "s/$i/{{ MASTER }}/g" /opt/so/conf/kibana/saved_objects.ndjson.template > /opt/so/conf/kibana/saved_objects.ndjson
|
||||||
done
|
done
|
||||||
|
|
||||||
# Load saved objects
|
# Load saved objects
|
||||||
curl -X POST "localhost:5601/api/saved_objects/_import" -H "kbn-xsrf: true" --form file=@/opt/so/saltstack/salt/kibana/saved_objects.ndjson
|
curl -X POST "localhost:5601/api/saved_objects/_import" -H "kbn-xsrf: true" --form file=@/opt/so/conf/kibana/saved_objects.ndjson > /dev/null 2>&1
|
||||||
|
|||||||
@@ -59,7 +59,19 @@ synckibanacustom:
|
|||||||
- user: 932
|
- user: 932
|
||||||
- group: 939
|
- group: 939
|
||||||
|
|
||||||
# File.Recurse for custom saved dashboards
|
kibanabin:
|
||||||
|
file.managed:
|
||||||
|
- name: /usr/sbin/so-kibana-config-load
|
||||||
|
- source: salt://kibana/bin/so-kibana-config-load
|
||||||
|
- mode: 755
|
||||||
|
- template: jinja
|
||||||
|
|
||||||
|
kibanadashtemplate:
|
||||||
|
file.managed:
|
||||||
|
- name: /opt/so/conf/kibana/saved_objects.ndjson.template
|
||||||
|
- source: salt://kibana/files/saved_objects.ndjson
|
||||||
|
- user: 932
|
||||||
|
- group: 939
|
||||||
|
|
||||||
# Start the kibana docker
|
# Start the kibana docker
|
||||||
so-kibana:
|
so-kibana:
|
||||||
@@ -80,12 +92,12 @@ so-kibana:
|
|||||||
- 0.0.0.0:5601:5601
|
- 0.0.0.0:5601:5601
|
||||||
|
|
||||||
so-kibana-config-load:
|
so-kibana-config-load:
|
||||||
cmd.script:
|
cmd.run:
|
||||||
- shell: /bin/bash
|
- name: /usr/sbin/so-kibana-config-load
|
||||||
- runas: socore
|
|
||||||
- cwd: /opt/so
|
- cwd: /opt/so
|
||||||
- source: salt://kibana/bin/so-kibana-config-load
|
- onchanges:
|
||||||
- template: jinja
|
- file: kibanadashtemplate
|
||||||
|
|
||||||
|
|
||||||
# Keep the setting correct
|
# Keep the setting correct
|
||||||
#KibanaHappy:
|
#KibanaHappy:
|
||||||
@@ -93,4 +105,4 @@ so-kibana-config-load:
|
|||||||
# - shell: /bin/bash
|
# - shell: /bin/bash
|
||||||
# - runas: socore
|
# - runas: socore
|
||||||
# - source: salt://kibana/bin/keepkibanahappy.sh
|
# - source: salt://kibana/bin/keepkibanahappy.sh
|
||||||
# - template: jinja
|
# - template: jinja
|
||||||
@@ -1,12 +1,12 @@
|
|||||||
{%- set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') -%}
|
{%- set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') -%}
|
||||||
{%- set WAZUH = salt['pillar.get']('master:wazuh', '0') -%}
|
{%- set WAZUH = salt['pillar.get']('static:wazuh', '0') -%}
|
||||||
{%- set THEHIVE = salt['pillar.get']('master:thehive', '0') -%}
|
{%- set THEHIVE = salt['pillar.get']('master:thehive', '0') -%}
|
||||||
{%- set PLAYBOOK = salt['pillar.get']('master:playbook', '0') -%}
|
{%- set PLAYBOOK = salt['pillar.get']('master:playbook', '0') -%}
|
||||||
{%- set FREQSERVER = salt['pillar.get']('master:freq', '0') -%}
|
{%- set FREQSERVER = salt['pillar.get']('master:freq', '0') -%}
|
||||||
{%- set DOMAINSTATS = salt['pillar.get']('master:domainstats', '0') -%}
|
{%- set DOMAINSTATS = salt['pillar.get']('master:domainstats', '0') -%}
|
||||||
{%- set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) -%}
|
{%- set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) -%}
|
||||||
{%- set FLEETNODE = salt['pillar.get']('static:fleet_node', False) -%}
|
{%- set FLEETNODE = salt['pillar.get']('static:fleet_node', False) -%}
|
||||||
{%- set STRELKA = salt['pillar.get']('master:strelka', '0') -%}
|
{%- set STRELKA = salt['pillar.get']('static:strelka', '0') -%}
|
||||||
|
|
||||||
|
|
||||||
base:
|
base:
|
||||||
|
|||||||
@@ -865,10 +865,8 @@ master_pillar() {
|
|||||||
#echo " fleetpass: $FLEETPASS" >> $PILLARFILE
|
#echo " fleetpass: $FLEETPASS" >> $PILLARFILE
|
||||||
echo " grafana: $GRAFANA" >> $PILLARFILE
|
echo " grafana: $GRAFANA" >> $PILLARFILE
|
||||||
echo " osquery: $OSQUERY" >> $PILLARFILE
|
echo " osquery: $OSQUERY" >> $PILLARFILE
|
||||||
echo " wazuh: $WAZUH" >> $PILLARFILE
|
|
||||||
echo " thehive: $THEHIVE" >> $PILLARFILE
|
echo " thehive: $THEHIVE" >> $PILLARFILE
|
||||||
echo " playbook: $PLAYBOOK" >> $PILLARFILE
|
echo " playbook: $PLAYBOOK" >> $PILLARFILE
|
||||||
echo " strelka: $STRELKA" >> $PILLARFILE
|
|
||||||
echo "" >> $PILLARFILE
|
echo "" >> $PILLARFILE
|
||||||
echo "kratos:" >> $PILLARFILE
|
echo "kratos:" >> $PILLARFILE
|
||||||
if [[ $REDIRECTINFO == 'OTHER' ]]; then
|
if [[ $REDIRECTINFO == 'OTHER' ]]; then
|
||||||
@@ -913,6 +911,8 @@ master_static() {
|
|||||||
echo " fleet_hostname: N/A" >> /opt/so/saltstack/pillar/static.sls
|
echo " fleet_hostname: N/A" >> /opt/so/saltstack/pillar/static.sls
|
||||||
echo " fleet_ip: N/A" >> /opt/so/saltstack/pillar/static.sls
|
echo " fleet_ip: N/A" >> /opt/so/saltstack/pillar/static.sls
|
||||||
echo " sensoronikey: $SENSORONIKEY" >> /opt/so/saltstack/pillar/static.sls
|
echo " sensoronikey: $SENSORONIKEY" >> /opt/so/saltstack/pillar/static.sls
|
||||||
|
echo " strelka: $STRELKA" >> /opt/so/saltstack/pillar/static.sls
|
||||||
|
echo " wazuh: $WAZUH" >> /opt/so/saltstack/pillar/static.sls
|
||||||
if [[ $MASTERUPDATES == 'MASTER' ]]; then
|
if [[ $MASTERUPDATES == 'MASTER' ]]; then
|
||||||
echo " masterupdate: 1" >> /opt/so/saltstack/pillar/static.sls
|
echo " masterupdate: 1" >> /opt/so/saltstack/pillar/static.sls
|
||||||
else
|
else
|
||||||
|
|||||||
Reference in New Issue
Block a user