Merge pull request #647 from Security-Onion-Solutions/bugfix/playbook-mysql

feature/playbook mysql
This commit is contained in:
Josh Brower
2020-05-09 16:30:50 -04:00
committed by GitHub
8 changed files with 3086 additions and 51 deletions
+22
View File
@@ -0,0 +1,22 @@
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.2') %}
{% set MASTER = salt['grains.get']('master') %}
navigatorconfig:
file.managed:
- name: /opt/so/conf/navigator/navigator_config.json
- source: salt://navigator/files/navigator_config.json
- user: 939
- group: 939
- makedirs: True
- template: jinja
so-navigator:
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-navigator:{{ VERSION }}
- hostname: navigator
- name: so-navigator
- binds:
- /opt/so/conf/navigator/navigator_config.json:/nav-app/src/assets/config.json:ro
- /opt/so/conf/navigator/nav_layer_playbook.json:/nav-app/src/assets/playbook.json:ro
- port_bindings:
- 0.0.0.0:4200:4200
File diff suppressed because it is too large Load Diff
File diff suppressed because one or more lines are too long
+64 -46
View File
@@ -1,65 +1,83 @@
{% set MASTERIP = salt['pillar.get']('master:mainip', '') %} {% set MASTERIP = salt['pillar.get']('master:mainip', '') %}
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.2') %} {% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.2') %}
{% set MASTER = salt['grains.get']('master') %} {% set MASTER = salt['grains.get']('master') %}
{% set MAINIP = salt['pillar.get']('node:mainip') %}
{%- set MYSQLPASS = salt['pillar.get']('secrets:mysql', None) -%}
{%- set PLAYBOOKPASS = salt['pillar.get']('secrets:playbook', None) -%}
playbookdb: {% if salt['mysql.db_exists']('playbook') %}
file.managed: #Playbook database exists - Do nothing
- name: /opt/so/conf/playbook/redmine.db {% else %}
- source: salt://playbook/files/redmine.db
- user: 999
- group: 999
- makedirs: True
- replace: False
playbookwebhook: {% set PLAYBOOK_DB_COPY = salt['docker.copy_to']('so-mysql','salt://playbook/files/playbook_db_init.sql','/tmp/playbook_db_init.sql',overwrite=True) %}
module.run: {% set PLAYBOOK_DB_CREATE = salt['docker.run']('so-mysql','/bin/bash -c "/usr/bin/mysql -uroot -p' + MYSQLPASS + ' < /tmp/playbook_db_init.sql"') %}
- sqlite3.modify:
- db: /opt/so/conf/playbook/redmine.db
- sql: "update webhooks set url = 'http://{{MASTERIP}}:7000/playbook/webhook' where project_id = 1"
playbookapiendpoints: {% if PLAYBOOK_DB_COPY and PLAYBOOK_DB_CREATE %}
module.run: PLAYBOOK_DB_INIT_SUCCESS:
- sqlite3.modify: test.configurable_test_state:
- db: /opt/so/conf/playbook/redmine.db - changes: False
- sql: |- - result: True
update settings set value = - comment: "Playbook database initialization was successful"
"--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess {% else %}
project: '1' PLAYBOOK_DB_INIT_FAILURE:
import_trackers: test.configurable_test_state:
- '6' - changes: False
convert_url: http://{{MASTERIP}}:7000/playbook/sigmac - result: False
create_url: http://{{MASTERIP}}:7000/playbook/play" - comment: "Playbook database initialization was not successful"
where id = 46; {% endif %}
{% endif %}
navigatorconfig:
file.managed: query_updatwebhooks:
- name: /opt/so/conf/playbook/navigator_config.json mysql_query.run:
- source: salt://playbook/files/navigator_config.json - database: playbook
- user: 939 - query: "update webhooks set url = 'http://{{MASTERIP}}:7000/playbook/webhook' where project_id = 1"
- group: 939 - connection_host: {{ MAINIP }}
- makedirs: True - connection_port: 3306
- template: jinja - connection_user: root
- connection_pass: {{ MYSQLPASS }}
query_updatepluginurls:
mysql_query.run:
- database: playbook
- query: |-
update settings set value =
"--- !ruby/hash:ActiveSupport::HashWithIndifferentAccess
project: '1'
convert_url: http://{{MASTERIP}}:7000/playbook/sigmac
create_url: http://{{MASTERIP}}:7000/playbook/play"
where id = 43
- connection_host: {{ MAINIP }}
- connection_port: 3306
- connection_user: root
- connection_pass: {{ MYSQLPASS }}
{% if PLAYBOOKPASS == None %}
playbook_password_none:
test.configurable_test_state:
- changes: False
- result: False
- comment: "Playbook MySQL Password Error - Not Starting Playbook"
{% else %}
so-playbook: so-playbook:
docker_container.running: docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-playbook:{{ VERSION }} - image: {{ MASTER }}:5000/soshybridhunter/so-playbook:{{ VERSION }}
- hostname: playbook - hostname: playbook
- name: so-playbook - name: so-playbook
- environment:
- REDMINE_DB_MYSQL={{ MASTERIP }}
- REDMINE_DB_DATABASE=playbook
- REDMINE_DB_USERNAME=playbookdbuser
- REDMINE_DB_PASSWORD={{ PLAYBOOKPASS }}
- binds: - binds:
- /opt/so/conf/playbook/redmine.db:/usr/src/redmine/sqlite/redmine.db:rw - /opt/so/conf/playbook/redmine.db:/usr/src/redmine/sqlite/redmine.db:rw
- port_bindings: - port_bindings:
- 0.0.0.0:3200:3000 - 0.0.0.0:3200:3000
so-navigator: {% endif %}
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-navigator:{{ VERSION }}
- hostname: navigator
- name: so-navigator
- binds:
- /opt/so/conf/playbook/navigator_config.json:/nav-app/src/assets/config.json:ro
- /opt/so/conf/playbook/nav_layer_playbook.json:/nav-app/src/assets/playbook.json:ro
- port_bindings:
- 0.0.0.0:4200:4200
so-playbooksynccron: so-playbooksynccron:
cron.present: cron.present:
@@ -72,4 +90,4 @@ so-playbookruleupdatecron:
- name: /usr/sbin/so-playbook-ruleupdate - name: /usr/sbin/so-playbook-ruleupdate
- user: root - user: root
- minute: '1' - minute: '1'
- hour: '6' - hour: '6'
+1 -1
View File
@@ -60,7 +60,7 @@ slack_webhook = YOURSLACKWEBHOOK
[playbook] [playbook]
playbook_url = https://{{ip}}/playbook playbook_url = https://{{ip}}/playbook
playbook_key = a4a34538782804adfcb8dfae96262514ad70c37c playbook_key = de6639318502476f2fa5aa06f43f51fb389a3d7f
playbook_verifycert = no playbook_verifycert = no
[log] [log]
+4 -4
View File
@@ -49,8 +49,8 @@ playbookrulessync:
navigatordefaultlayer: navigatordefaultlayer:
file.managed: file.managed:
- name: /opt/so/conf/playbook/nav_layer_playbook.json - name: /opt/so/conf/navigator/nav_layer_playbook.json
- source: salt://playbook/files/nav_layer_playbook.json - source: salt://navigator/files/nav_layer_playbook.json
- user: 939 - user: 939
- group: 939 - group: 939
- makedirs: True - makedirs: True
@@ -63,9 +63,9 @@ so-soctopus:
- hostname: soctopus - hostname: soctopus
- name: so-soctopus - name: so-soctopus
- binds: - binds:
- /opt/so/conf/soctopus/SOCtopus.conf:/SOCtopus/SOCtopus.conf:ro - /opt/so/conf/soctopus/SOCtopus.conf:/SOCtopus.conf:ro
- /opt/so/log/soctopus/:/var/log/SOCtopus/:rw - /opt/so/log/soctopus/:/var/log/SOCtopus/:rw
- /opt/so/rules/elastalert/playbook:/etc/playbook-rules:rw - /opt/so/rules/elastalert/playbook:/etc/playbook-rules:rw
- /opt/so/conf/playbook/nav_layer_playbook.json:/etc/playbook/nav_layer_playbook.json:rw - /opt/so/conf/navigator/nav_layer_playbook.json:/etc/playbook/nav_layer_playbook.json:rw
- port_bindings: - port_bindings:
- 0.0.0.0:7000:7000 - 0.0.0.0:7000:7000