mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 17:22:49 +01:00
Switch to using images in registry
This commit is contained in:
@@ -1,3 +1,5 @@
|
|||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
{%- set GRAFANA = salt['pillar.get']('master:grafana', '0') %}
|
{%- set GRAFANA = salt['pillar.get']('master:grafana', '0') %}
|
||||||
# Add socore Group
|
# Add socore Group
|
||||||
socoregroup:
|
socoregroup:
|
||||||
@@ -114,16 +116,9 @@ nginxtmp:
|
|||||||
- group: 939
|
- group: 939
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
|
|
||||||
# Start the core docker
|
|
||||||
so-coreimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-core:HH1.1.3
|
|
||||||
|
|
||||||
so-core:
|
so-core:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-core:HH{{ VERSION }}
|
||||||
- so-coreimage
|
|
||||||
- image: docker.io/soshybridhunter/so-core:HH1.1.3
|
|
||||||
- hostname: so-core
|
- hostname: so-core
|
||||||
- user: socore
|
- user: socore
|
||||||
- binds:
|
- binds:
|
||||||
@@ -175,15 +170,9 @@ tgrafconf:
|
|||||||
- template: jinja
|
- template: jinja
|
||||||
- source: salt://common/telegraf/etc/telegraf.conf
|
- source: salt://common/telegraf/etc/telegraf.conf
|
||||||
|
|
||||||
so-telegrafimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-telegraf:HH1.1.0
|
|
||||||
|
|
||||||
so-telegraf:
|
so-telegraf:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-telegraf:HH{{ VERSION }}
|
||||||
- so-telegrafimage
|
|
||||||
- image: docker.io/soshybridhunter/so-telegraf:HH1.1.0
|
|
||||||
- environment:
|
- environment:
|
||||||
- HOST_PROC=/host/proc
|
- HOST_PROC=/host/proc
|
||||||
- HOST_ETC=/host/etc
|
- HOST_ETC=/host/etc
|
||||||
@@ -236,15 +225,9 @@ influxdbconf:
|
|||||||
- template: jinja
|
- template: jinja
|
||||||
- source: salt://common/influxdb/etc/influxdb.conf
|
- source: salt://common/influxdb/etc/influxdb.conf
|
||||||
|
|
||||||
so-influximage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-influxdb:HH1.1.0
|
|
||||||
|
|
||||||
so-influxdb:
|
so-influxdb:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-influxdb:HH{{ VERSION }}
|
||||||
- so-influximage
|
|
||||||
- image: docker.io/soshybridhunter/so-influxdb:HH1.1.0
|
|
||||||
- hostname: influxdb
|
- hostname: influxdb
|
||||||
- environment:
|
- environment:
|
||||||
- INFLUXDB_HTTP_LOG_ENABLED=false
|
- INFLUXDB_HTTP_LOG_ENABLED=false
|
||||||
@@ -400,14 +383,9 @@ dashboard-{{ SN }}:
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
# Install the docker. This needs to be behind nginx at some point
|
|
||||||
so-grafanaimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-grafana:HH1.1.0
|
|
||||||
|
|
||||||
so-grafana:
|
so-grafana:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- image: docker.io/soshybridhunter/so-grafana:HH1.1.0
|
- image: {{ MASTER }}:5000/soshybridhunter/so-grafana:HH{{ VERSION }}
|
||||||
- hostname: grafana
|
- hostname: grafana
|
||||||
- user: socore
|
- user: socore
|
||||||
- binds:
|
- binds:
|
||||||
|
|||||||
@@ -1,3 +1,5 @@
|
|||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
{% if grains['role'] == 'so-node' or grains['role'] == 'so-eval' %}
|
{% if grains['role'] == 'so-node' or grains['role'] == 'so-eval' %}
|
||||||
# Curator
|
# Curator
|
||||||
# Create the group
|
# Create the group
|
||||||
@@ -112,15 +114,9 @@ curdel:
|
|||||||
- month: '*'
|
- month: '*'
|
||||||
- dayweek: '*'
|
- dayweek: '*'
|
||||||
|
|
||||||
so-curatorimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-curator:HH1.1.0
|
|
||||||
|
|
||||||
so-curator:
|
so-curator:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-curator:HH{{ VERSION }}
|
||||||
- so-curatorimage
|
|
||||||
- image: docker.io/soshybridhunter/so-curator:HH1.1.0
|
|
||||||
- hostname: curator
|
- hostname: curator
|
||||||
- name: so-curator
|
- name: so-curator
|
||||||
- user: curator
|
- user: curator
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
{% if grains['role'] == 'so-master' %}
|
{% if grains['role'] == 'so-master' %}
|
||||||
|
|
||||||
{% set esalert = salt['pillar.get']('master:elastalert', '1') %}
|
{% set esalert = salt['pillar.get']('master:elastalert', '1') %}
|
||||||
@@ -109,15 +110,9 @@ elastaconf:
|
|||||||
- group: 939
|
- group: 939
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
so-elastalertimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-elastalert:HH1.1.1
|
|
||||||
|
|
||||||
so-elastalert:
|
so-elastalert:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-elastalert:HH{{ VERSION }}
|
||||||
- so-elastalertimage
|
|
||||||
- image: docker.io/soshybridhunter/so-elastalert:HH1.1.1
|
|
||||||
- hostname: elastalert
|
- hostname: elastalert
|
||||||
- name: so-elastalert
|
- name: so-elastalert
|
||||||
- user: elastalert
|
- user: elastalert
|
||||||
|
|||||||
@@ -12,6 +12,8 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
{% if grains['role'] == 'so-master' %}
|
{% if grains['role'] == 'so-master' %}
|
||||||
|
|
||||||
{% set esclustername = salt['pillar.get']('master:esclustername', '') %}
|
{% set esclustername = salt['pillar.get']('master:esclustername', '') %}
|
||||||
@@ -104,15 +106,9 @@ eslogdir:
|
|||||||
- group: 939
|
- group: 939
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
|
|
||||||
so-elasticsearchimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-elasticsearch:HH1.1.0
|
|
||||||
|
|
||||||
so-elasticsearch:
|
so-elasticsearch:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-elasticsearch:HH{{ VERSION }}
|
||||||
- so-elasticsearchimage
|
|
||||||
- image: docker.io/soshybridhunter/so-elasticsearch:HH1.1.0
|
|
||||||
- hostname: elasticsearch
|
- hostname: elasticsearch
|
||||||
- name: so-elasticsearch
|
- name: so-elasticsearch
|
||||||
- user: elasticsearch
|
- user: elasticsearch
|
||||||
@@ -146,91 +142,3 @@ so-elasticsearch-pipelines-file:
|
|||||||
so-elasticsearch-pipelines:
|
so-elasticsearch-pipelines:
|
||||||
cmd.run:
|
cmd.run:
|
||||||
- name: /opt/so/conf/elasticsearch/so-elasticsearch-pipelines {{ esclustername }}
|
- name: /opt/so/conf/elasticsearch/so-elasticsearch-pipelines {{ esclustername }}
|
||||||
|
|
||||||
# Tell the main cluster I am here
|
|
||||||
#curl -XPUT http://\$ELASTICSEARCH_HOST:\$ELASTICSEARCH_PORT/_cluster/settings -H'Content-Type: application/json' -d '{"persistent": {"search": {"remote": {"$HOSTNAME": {"skip_unavailable": "true", "seeds": ["$DOCKER_INTERFACE:$REVERSE_PORT"]}}}}}'
|
|
||||||
|
|
||||||
# See if Freqserver is enabled
|
|
||||||
{% if freq == 1 %}
|
|
||||||
|
|
||||||
# Create the user
|
|
||||||
fservergroup:
|
|
||||||
group.present:
|
|
||||||
- name: freqserver
|
|
||||||
- gid: 935
|
|
||||||
|
|
||||||
# Add ES user
|
|
||||||
freqserver:
|
|
||||||
user.present:
|
|
||||||
- uid: 935
|
|
||||||
- gid: 935
|
|
||||||
- home: /opt/so/conf/freqserver
|
|
||||||
- createhome: False
|
|
||||||
|
|
||||||
# Create the log directory
|
|
||||||
freqlogdir:
|
|
||||||
file.directory:
|
|
||||||
- name: /opt/so/log/freq_server
|
|
||||||
- user: 935
|
|
||||||
- group: 935
|
|
||||||
- makedirs: True
|
|
||||||
|
|
||||||
so-freqimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-freqserver:HH1.0.3
|
|
||||||
|
|
||||||
so-freq:
|
|
||||||
docker_container.running:
|
|
||||||
- require:
|
|
||||||
- so-freqimage
|
|
||||||
- image: docker.io/soshybridhunter/so-freqserver:HH1.0.3
|
|
||||||
- hostname: freqserver
|
|
||||||
- name: so-freqserver
|
|
||||||
- user: freqserver
|
|
||||||
- binds:
|
|
||||||
- /opt/so/log/freq_server:/var/log/freq_server:rw
|
|
||||||
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if dstats == 1 %}
|
|
||||||
|
|
||||||
# Create the group
|
|
||||||
dstatsgroup:
|
|
||||||
group.present:
|
|
||||||
- name: domainstats
|
|
||||||
- gid: 936
|
|
||||||
|
|
||||||
# Add user
|
|
||||||
domainstats:
|
|
||||||
user.present:
|
|
||||||
- uid: 936
|
|
||||||
- gid: 936
|
|
||||||
- home: /opt/so/conf/domainstats
|
|
||||||
- createhome: False
|
|
||||||
|
|
||||||
# Create the log directory
|
|
||||||
dstatslogdir:
|
|
||||||
file.directory:
|
|
||||||
- name: /opt/so/log/domainstats
|
|
||||||
- user: 936
|
|
||||||
- group: 939
|
|
||||||
- makedirs: True
|
|
||||||
|
|
||||||
so-domainstatsimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-domainstats:HH1.0.3
|
|
||||||
|
|
||||||
so-domainstats:
|
|
||||||
docker_container.running:
|
|
||||||
- require:
|
|
||||||
- so-domainstatsimage
|
|
||||||
- image: docker.io/soshybridhunter/so-domainstats:HH1.0.3
|
|
||||||
- hostname: domainstats
|
|
||||||
- name: so-domainstats
|
|
||||||
- user: domainstats
|
|
||||||
- binds:
|
|
||||||
- /opt/so/log/domainstats:/var/log/domain_stats
|
|
||||||
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
{%- set MASTER = grains['master'] %}
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
{%- set MASTERIP = salt['pillar.get']('static:masterip', '') %}
|
{%- set MASTERIP = salt['pillar.get']('static:masterip', '') %}
|
||||||
|
|
||||||
# Filebeat Setup
|
# Filebeat Setup
|
||||||
@@ -46,25 +47,9 @@ filebeatconfsync:
|
|||||||
- group: 0
|
- group: 0
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
#filebeatcrt:
|
|
||||||
# file.managed:
|
|
||||||
# - name: /opt/so/conf/filebeat/etc/pki/filebeat.crt
|
|
||||||
# - source: salt://filebeat/files/filebeat.crt
|
|
||||||
|
|
||||||
#filebeatkey:
|
|
||||||
# file.managed:
|
|
||||||
# - name: /opt/so/conf/filebeat/etc/pki/filebeat.key
|
|
||||||
# - source: salt://filebeat/files/filebeat.key
|
|
||||||
|
|
||||||
so-filebeatimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-filebeat:HH1.1.1
|
|
||||||
|
|
||||||
so-filebeat:
|
so-filebeat:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-filebeat:HH{{ VERSION }}
|
||||||
- so-filebeatimage
|
|
||||||
- image: docker.io/soshybridhunter/so-filebeat:HH1.1.1
|
|
||||||
- hostname: so-filebeat
|
- hostname: so-filebeat
|
||||||
- user: root
|
- user: root
|
||||||
- extra_hosts: {{ MASTER }}:{{ MASTERIP }}
|
- extra_hosts: {{ MASTER }}:{{ MASTERIP }}
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
{%- set MYSQLPASS = salt['pillar.get']('auth:mysql', 'iwonttellyou') %}
|
{%- set MYSQLPASS = salt['pillar.get']('auth:mysql', 'iwonttellyou') %}
|
||||||
{%- set FLEETPASS = salt['pillar.get']('auth:fleet', 'bazinga') -%}
|
{%- set FLEETPASS = salt['pillar.get']('auth:fleet', 'bazinga') -%}
|
||||||
{%- set MASTERIP = salt['pillar.get']('static:masterip', '') -%}
|
{%- set MASTERIP = salt['pillar.get']('static:masterip', '') -%}
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
|
|
||||||
# Fleet Setup
|
# Fleet Setup
|
||||||
fleetcdir:
|
fleetcdir:
|
||||||
@@ -59,15 +61,9 @@ fleetdbpriv:
|
|||||||
- user: fleetdbuser
|
- user: fleetdbuser
|
||||||
- host: 172.17.0.0/255.255.0.0
|
- host: 172.17.0.0/255.255.0.0
|
||||||
|
|
||||||
so-fleetimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-fleet:HH1.1.3
|
|
||||||
|
|
||||||
so-fleet:
|
so-fleet:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-fleet:HH{{ VERSION }}
|
||||||
- so-fleetimage
|
|
||||||
- image: docker.io/soshybridhunter/so-fleet:HH1.1.3
|
|
||||||
- hostname: so-fleet
|
- hostname: so-fleet
|
||||||
- port_bindings:
|
- port_bindings:
|
||||||
- 0.0.0.0:8080:8080
|
- 0.0.0.0:8080:8080
|
||||||
|
|||||||
@@ -1,4 +1,6 @@
|
|||||||
{% set MASTERIP = salt['pillar.get']('master:mainip', '') %}
|
{% set MASTERIP = salt['pillar.get']('master:mainip', '') %}
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
hiveconfdir:
|
hiveconfdir:
|
||||||
file.directory:
|
file.directory:
|
||||||
- name: /opt/so/conf/hive/etc
|
- name: /opt/so/conf/hive/etc
|
||||||
@@ -53,15 +55,9 @@ hiveesdata:
|
|||||||
- user: 939
|
- user: 939
|
||||||
- group: 939
|
- group: 939
|
||||||
|
|
||||||
so-thehive-esimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-thehive-es:HH1.1.1
|
|
||||||
|
|
||||||
so-thehive-es:
|
so-thehive-es:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-thehive-es:HH{{ VERSION }}
|
||||||
- so-thehive-esimage
|
|
||||||
- image: docker.io/soshybridhunter/so-thehive-es:HH1.1.1
|
|
||||||
- hostname: so-thehive-es
|
- hostname: so-thehive-es
|
||||||
- name: so-thehive-es
|
- name: so-thehive-es
|
||||||
- user: 939
|
- user: 939
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
# IDSTools Setup
|
# IDSTools Setup
|
||||||
idstoolsdir:
|
idstoolsdir:
|
||||||
file.directory:
|
file.directory:
|
||||||
@@ -61,15 +62,9 @@ ruleslink:
|
|||||||
- name: /opt/so/saltstack/salt/suricata/rules
|
- name: /opt/so/saltstack/salt/suricata/rules
|
||||||
- target: /opt/so/rules/nids
|
- target: /opt/so/rules/nids
|
||||||
|
|
||||||
so-idstoolsimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-idstools:HH1.1.0
|
|
||||||
|
|
||||||
so-idstools:
|
so-idstools:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-idstools:HH{{ VERSION }}
|
||||||
- so-idstoolsimage
|
|
||||||
- image: docker.io/soshybridhunter/so-idstools:HH1.1.0
|
|
||||||
- hostname: so-idstools
|
- hostname: so-idstools
|
||||||
- user: socore
|
- user: socore
|
||||||
- binds:
|
- binds:
|
||||||
|
|||||||
@@ -1,4 +1,5 @@
|
|||||||
{% set master = salt['grains.get']('master') %}
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
|
|
||||||
# Add ES Group
|
# Add ES Group
|
||||||
kibanasearchgroup:
|
kibanasearchgroup:
|
||||||
@@ -52,25 +53,17 @@ synckibanacustom:
|
|||||||
- user: 932
|
- user: 932
|
||||||
- group: 939
|
- group: 939
|
||||||
|
|
||||||
# File.Recurse for custom saved dashboards
|
|
||||||
|
|
||||||
so-kibanaimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-kibana:HH1.1.1
|
|
||||||
|
|
||||||
# Start the kibana docker
|
# Start the kibana docker
|
||||||
so-kibana:
|
so-kibana:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-kibana:HH{{ VERSION }}
|
||||||
- so-kibanaimage
|
|
||||||
- image: docker.io/soshybridhunter/so-kibana:HH1.1.1
|
|
||||||
- hostname: kibana
|
- hostname: kibana
|
||||||
- user: kibana
|
- user: kibana
|
||||||
- environment:
|
- environment:
|
||||||
- KIBANA_DEFAULTAPPID=dashboard/94b52620-342a-11e7-9d52-4f090484f59e
|
- KIBANA_DEFAULTAPPID=dashboard/94b52620-342a-11e7-9d52-4f090484f59e
|
||||||
- ELASTICSEARCH_HOST={{ master }}
|
- ELASTICSEARCH_HOST={{ MASTER }}
|
||||||
- ELASTICSEARCH_PORT=9200
|
- ELASTICSEARCH_PORT=9200
|
||||||
- MASTER={{ master }}
|
- MASTER={{ MASTER }}
|
||||||
- binds:
|
- binds:
|
||||||
- /opt/so/conf/kibana/etc:/usr/share/kibana/config:rw
|
- /opt/so/conf/kibana/etc:/usr/share/kibana/config:rw
|
||||||
- /opt/so/log/kibana:/var/log/kibana:rw
|
- /opt/so/log/kibana:/var/log/kibana:rw
|
||||||
@@ -78,11 +71,3 @@ so-kibana:
|
|||||||
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
- /sys/fs/cgroup:/sys/fs/cgroup:ro
|
||||||
- port_bindings:
|
- port_bindings:
|
||||||
- 0.0.0.0:5601:5601
|
- 0.0.0.0:5601:5601
|
||||||
|
|
||||||
# Keep the setting correct
|
|
||||||
#KibanaHappy:
|
|
||||||
# cmd.script:
|
|
||||||
# - shell: /bin/bash
|
|
||||||
# - runas: socore
|
|
||||||
# - source: salt://kibana/bin/keepkibanahappy.sh
|
|
||||||
# - template: jinja
|
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
# Logstash Section - Decide which pillar to use
|
# Logstash Section - Decide which pillar to use
|
||||||
{% if grains['role'] == 'so-sensor' %}
|
{% if grains['role'] == 'so-sensor' %}
|
||||||
|
|
||||||
@@ -152,16 +153,9 @@ lslogdir:
|
|||||||
- group: 939
|
- group: 939
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
|
|
||||||
# Add the container
|
|
||||||
so-logstashimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-logstash:HH1.1.1
|
|
||||||
|
|
||||||
so-logstash:
|
so-logstash:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-logstash:HH{{ VERSION }}
|
||||||
- so-logstashimage
|
|
||||||
- image: docker.io/soshybridhunter/so-logstash:HH1.1.1
|
|
||||||
- hostname: so-logstash
|
- hostname: so-logstash
|
||||||
- name: so-logstash
|
- name: so-logstash
|
||||||
- user: logstash
|
- user: logstash
|
||||||
|
|||||||
@@ -12,7 +12,8 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
{% set masterproxy = salt['pillar.get']('static:masterupdate', '0') %}
|
{% set masterproxy = salt['pillar.get']('static:masterupdate', '0') %}
|
||||||
|
|
||||||
{% if masterproxy == 1 %}
|
{% if masterproxy == 1 %}
|
||||||
@@ -55,16 +56,10 @@ acngcopyconf:
|
|||||||
- name: /opt/so/conf/aptcacher-ng/etc/acng.conf
|
- name: /opt/so/conf/aptcacher-ng/etc/acng.conf
|
||||||
- source: salt://master/files/acng/acng.conf
|
- source: salt://master/files/acng/acng.conf
|
||||||
|
|
||||||
so-acngimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-acng:HH1.1.0
|
|
||||||
|
|
||||||
# Install the apt-cacher-ng container
|
# Install the apt-cacher-ng container
|
||||||
so-aptcacherng:
|
so-aptcacherng:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-acng:HH{{ VERSION }}
|
||||||
- so-acngimage
|
|
||||||
- image: docker.io/soshybridhunter/so-acng:HH1.1.0
|
|
||||||
- hostname: so-acng
|
- hostname: so-acng
|
||||||
- port_bindings:
|
- port_bindings:
|
||||||
- 0.0.0.0:3142:3142
|
- 0.0.0.0:3142:3142
|
||||||
|
|||||||
@@ -1,6 +1,8 @@
|
|||||||
{%- set MYSQLPASS = salt['pillar.get']('auth:mysql', 'iwonttellyou') %}
|
{%- set MYSQLPASS = salt['pillar.get']('auth:mysql', 'iwonttellyou') %}
|
||||||
{%- set FLEETPASS = salt['pillar.get']('auth:fleet', 'bazinga') %}
|
{%- set FLEETPASS = salt['pillar.get']('auth:fleet', 'bazinga') %}
|
||||||
{%- set MASTERIP = salt['pillar.get']('static:masterip', '') %}
|
{%- set MASTERIP = salt['pillar.get']('static:masterip', '') %}
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
# MySQL Setup
|
# MySQL Setup
|
||||||
mysqlpkgs:
|
mysqlpkgs:
|
||||||
pkg.installed:
|
pkg.installed:
|
||||||
@@ -48,15 +50,9 @@ mysqldatadir:
|
|||||||
- group: 939
|
- group: 939
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
|
|
||||||
so-mysqlimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-mysql:HH1.1.0
|
|
||||||
|
|
||||||
so-mysql:
|
so-mysql:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-mysql:HH{{ VERSION }}
|
||||||
- so-mysqlimage
|
|
||||||
- image: docker.io/soshybridhunter/so-mysql:HH1.1.0
|
|
||||||
- hostname: so-mysql
|
- hostname: so-mysql
|
||||||
- user: socore
|
- user: socore
|
||||||
- port_bindings:
|
- port_bindings:
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright 2014,2015,2016,2017,2018 Security Onion Solutions, LLC
|
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -12,7 +12,8 @@
|
|||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
# PCAP Section
|
# PCAP Section
|
||||||
|
|
||||||
# Create the logstash group
|
# Create the logstash group
|
||||||
@@ -94,15 +95,9 @@ stenolog:
|
|||||||
- group: 941
|
- group: 941
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
|
|
||||||
so-stenoimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-steno:HH1.1.3
|
|
||||||
|
|
||||||
so-steno:
|
so-steno:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-steno:HH{{ VERSION }}
|
||||||
- so-stenoimage
|
|
||||||
- image: docker.io/soshybridhunter/so-steno:HH1.1.3
|
|
||||||
- network_mode: host
|
- network_mode: host
|
||||||
- privileged: True
|
- privileged: True
|
||||||
- port_bindings:
|
- port_bindings:
|
||||||
|
|||||||
@@ -24,15 +24,9 @@ navigatorconfig:
|
|||||||
- makedirs: True
|
- makedirs: True
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
so-playbookimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-playbook:HH1.1.3
|
|
||||||
|
|
||||||
so-playbook:
|
so-playbook:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-playbook:HH{{ VERSION }}
|
||||||
- so-playbookimage
|
|
||||||
- image: docker.io/soshybridhunter/so-playbook:HH1.1.3
|
|
||||||
- hostname: playbook
|
- hostname: playbook
|
||||||
- name: so-playbook
|
- name: so-playbook
|
||||||
- binds:
|
- binds:
|
||||||
@@ -40,15 +34,9 @@ so-playbook:
|
|||||||
- port_bindings:
|
- port_bindings:
|
||||||
- 0.0.0.0:3200:3000
|
- 0.0.0.0:3200:3000
|
||||||
|
|
||||||
so-navigatorimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-navigator:HH1.1.1
|
|
||||||
|
|
||||||
so-navigator:
|
so-navigator:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-navigator:HH{{ VERSION }}
|
||||||
- so-navigatorimage
|
|
||||||
- image: docker.io/soshybridhunter/so-navigator:HH1.1.1
|
|
||||||
- hostname: navigator
|
- hostname: navigator
|
||||||
- name: so-navigator
|
- name: so-navigator
|
||||||
- binds:
|
- binds:
|
||||||
@@ -56,7 +44,7 @@ so-navigator:
|
|||||||
- /opt/so/conf/playbook/nav_layer_playbook.json:/nav-app/src/assets/playbook.json:ro
|
- /opt/so/conf/playbook/nav_layer_playbook.json:/nav-app/src/assets/playbook.json:ro
|
||||||
- port_bindings:
|
- port_bindings:
|
||||||
- 0.0.0.0:4200:4200
|
- 0.0.0.0:4200:4200
|
||||||
|
|
||||||
/usr/sbin/so-playbook-sync:
|
/usr/sbin/so-playbook-sync:
|
||||||
cron.present:
|
cron.present:
|
||||||
- identifier: so-playbook-sync
|
- identifier: so-playbook-sync
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
# Copyright 2014,2015,2016,2017,2018 Security Onion Solutions, LLC
|
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
|
||||||
|
|
||||||
# This program is free software: you can redistribute it and/or modify
|
# This program is free software: you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
@@ -13,6 +13,8 @@
|
|||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
{% set lsaccessip = salt['pillar.get']('master:lsaccessip', '') %}
|
{% set lsaccessip = salt['pillar.get']('master:lsaccessip', '') %}
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
|
|
||||||
# Redis Setup
|
# Redis Setup
|
||||||
redisconfdir:
|
redisconfdir:
|
||||||
@@ -44,15 +46,9 @@ redisconfsync:
|
|||||||
- group: 939
|
- group: 939
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
so-redisimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-redis:HH1.1.0
|
|
||||||
|
|
||||||
so-redis:
|
so-redis:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-redis:HH{{ VERSION }}
|
||||||
- so-redisimage
|
|
||||||
- image: docker.io/soshybridhunter/so-redis:HH1.1.0
|
|
||||||
- hostname: so-redis
|
- hostname: so-redis
|
||||||
- user: socore
|
- user: socore
|
||||||
- port_bindings:
|
- port_bindings:
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
|
|
||||||
sensoronidir:
|
sensoronidir:
|
||||||
file.directory:
|
file.directory:
|
||||||
- name: /opt/so/conf/sensoroni
|
- name: /opt/so/conf/sensoroni
|
||||||
@@ -27,15 +30,9 @@ sensoronisync:
|
|||||||
- group: 939
|
- group: 939
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
so-sensoroniimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-sensoroni:HH1.1.3
|
|
||||||
|
|
||||||
so-sensoroni:
|
so-sensoroni:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-sensoroni:HH{{ VERSION }}
|
||||||
- so-sensoroniimage
|
|
||||||
- image: docker.io/soshybridhunter/so-sensoroni:HH1.1.3
|
|
||||||
- hostname: sensoroni
|
- hostname: sensoroni
|
||||||
- name: so-sensoroni
|
- name: so-sensoroni
|
||||||
- binds:
|
- binds:
|
||||||
|
|||||||
@@ -1,3 +1,6 @@
|
|||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
|
|
||||||
soctopusdir:
|
soctopusdir:
|
||||||
file.directory:
|
file.directory:
|
||||||
- name: /opt/so/conf/soctopus
|
- name: /opt/so/conf/soctopus
|
||||||
@@ -44,15 +47,9 @@ navigatordefaultlayer:
|
|||||||
- replace: False
|
- replace: False
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
so-soctopusimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-soctopus:HH1.1.3
|
|
||||||
|
|
||||||
so-soctopus:
|
so-soctopus:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-soctopus:HH{{ VERSION }}
|
||||||
- so-soctopusimage
|
|
||||||
- image: docker.io/soshybridhunter/so-soctopus:HH1.1.3
|
|
||||||
- hostname: soctopus
|
- hostname: soctopus
|
||||||
- name: so-soctopus
|
- name: so-soctopus
|
||||||
- binds:
|
- binds:
|
||||||
|
|||||||
@@ -14,7 +14,9 @@
|
|||||||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
{% set interface = salt['pillar.get']('sensor:interface', 'bond0') %}
|
{% set interface = salt['pillar.get']('sensor:interface', 'bond0') %}
|
||||||
{%- set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') %}
|
{% set BROVER = salt['pillar.get']('static:broversion', '') %}
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
|
|
||||||
# Suricata
|
# Suricata
|
||||||
|
|
||||||
@@ -70,15 +72,9 @@ suriconfigsync:
|
|||||||
- group: 940
|
- group: 940
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
so-suricataimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-suricata:HH1.1.1
|
|
||||||
|
|
||||||
so-suricata:
|
so-suricata:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}/soshybridhunter/so-suricata:HH{{ VERSION }}
|
||||||
- so-suricataimage
|
|
||||||
- image: docker.io/soshybridhunter/so-suricata:HH1.1.1
|
|
||||||
- privileged: True
|
- privileged: True
|
||||||
- environment:
|
- environment:
|
||||||
- INTERFACE={{ interface }}
|
- INTERFACE={{ interface }}
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -1,243 +0,0 @@
|
|||||||
@version: 3.5
|
|
||||||
source s_syslog { unix-dgram("/dev/log"); };
|
|
||||||
|
|
||||||
source s_network {
|
|
||||||
tcp();
|
|
||||||
udp();
|
|
||||||
};
|
|
||||||
|
|
||||||
parser p_db {
|
|
||||||
db-parser(file("/opt/so/conf/syslog-ng/patterndb.xml"));
|
|
||||||
};
|
|
||||||
|
|
||||||
filter f_rewrite_cisco_program { match('^(%[A-Z]+\-\d\-[0-9A-Z]+): ([^\n]+)' value("MSGONLY") type("pcre") flags("store-matches" "nobackref")); };
|
|
||||||
filter f_rewrite_cisco_program_2 { match('^[\*\.]?(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)\s+\d{1,2}\s\d{1,2}:\d{1,2}:\d{1,2}(?:\.\d+)?(?: [A-Z]{3})?: (%[^:]+): ([^\n]+)' value("MSGONLY") type("pcre") flags("store-matches" "nobackref")); };
|
|
||||||
filter f_rewrite_cisco_program_3 { match('^\d+[ywdh]\d+[ywdh]: (%[^:]+): ([^\n]+)' value("MSGONLY") type("pcre") flags("store-matches" "nobackref")); };
|
|
||||||
filter f_snort { match('snort:' value("MSGHDR")); };
|
|
||||||
filter f_bro_headers { message("^#") };
|
|
||||||
|
|
||||||
rewrite r_cisco_program {
|
|
||||||
set("$1", value("PROGRAM") condition(filter(f_rewrite_cisco_program) or filter(f_rewrite_cisco_program_2) or filter(f_rewrite_cisco_program_3)));
|
|
||||||
set("$2", value("MESSAGE") condition(filter(f_rewrite_cisco_program) or filter(f_rewrite_cisco_program_2) or filter(f_rewrite_cisco_program_3)));
|
|
||||||
};
|
|
||||||
|
|
||||||
rewrite r_snare { subst("MSWinEventLog.+(Security|Application|System).+", "$1", value("PROGRAM") flags(global)); };
|
|
||||||
rewrite r_from_pipes { subst('\|', "%7C", value("MESSAGE") flags(global) condition(program("bro_*" type(glob)))); };
|
|
||||||
rewrite r_pipes { subst("\t", "|", value("MESSAGE") flags(global)); };
|
|
||||||
rewrite r_host { set("$SOURCEIP", value("HOST")); };
|
|
||||||
rewrite r_extracted_host { set("$pdb_extracted_sourceip", value("HOST") condition("$pdb_extracted_sourceip" != "")); };
|
|
||||||
|
|
||||||
template t_db_parsed { template("$R_UNIXTIME\t$HOST\t$PROGRAM\t${.classifier.class}\t$MSGONLY\t${i0}\t${i1}\t${i2}\t${i3}\t${i4}\t${i5}\t${s0}\t${s1}\t${s2}\t${s3}\t${s4}\t${s5}\n"); };
|
|
||||||
|
|
||||||
source s_bro_conn { file("/nsm/bro/logs/current/conn.log" flags(no-parse) program_override("bro_conn")); };
|
|
||||||
source s_bro_http {
|
|
||||||
file("/nsm/bro/logs/current/http_eth1.log" flags(no-parse) program_override("bro_http"));
|
|
||||||
|
|
||||||
};
|
|
||||||
source s_bro_dns { file("/nsm/bro/logs/current/dns.log" flags(no-parse) program_override("bro_dns")); };
|
|
||||||
source s_bro_files { file("/nsm/bro/logs/current/files.log" flags(no-parse) program_override("bro_files")); };
|
|
||||||
source s_bro_dhcp { file("/nsm/bro/logs/current/dhcp.log" flags(no-parse) program_override("bro_dhcp")); };
|
|
||||||
source s_bro_weird { file("/nsm/bro/logs/current/weird.log" flags(no-parse) program_override("bro_weird")); };
|
|
||||||
source s_bro_tunnels { file("/nsm/bro/logs/current/tunnel.log" flags(no-parse) program_override("bro_tunnels")); };
|
|
||||||
source s_bro_syslog { file("/nsm/bro/logs/current/syslog.log" flags(no-parse) program_override("bro_syslog")); };
|
|
||||||
source s_bro_ftp { file("/nsm/bro/logs/current/ftp.log" flags(no-parse) program_override("bro_ftp")); };
|
|
||||||
source s_bro_notice { file("/nsm/bro/logs/current/notice.log" flags(no-parse) program_override("bro_notice")); };
|
|
||||||
source s_bro_smtp { file("/nsm/bro/logs/current/smtp.log" flags(no-parse) program_override("bro_smtp")); };
|
|
||||||
source s_bro_smtp_entities { file("/nsm/bro/logs/current/smtp_entities.log" flags(no-parse) program_override("bro_smtp_entities")); };
|
|
||||||
source s_bro_ssl { file("/nsm/bro/logs/current/ssl.log" flags(no-parse) program_override("bro_ssl")); };
|
|
||||||
source s_ossec { file("/var/ossec/logs/archives/archives.log" program_override('ossec_archive') follow_freq(1) flags(no-parse)); };
|
|
||||||
source s_bro_software { file("/nsm/bro/logs/current/software.log" flags(no-parse) program_override("bro_software")); };
|
|
||||||
source s_bro_irc { file("/nsm/bro/logs/current/irc.log" flags(no-parse) program_override("bro_irc")); };
|
|
||||||
source s_bro_ssh { file("/nsm/bro/logs/current/ssh.log" flags(no-parse) program_override("bro_ssh")); };
|
|
||||||
source s_bro_intel { file("/nsm/bro/logs/current/intel.log" flags(no-parse) program_override("bro_intel")); };
|
|
||||||
source s_bro_x509 { file("/nsm/bro/logs/current/x509.log" flags(no-parse) program_override("bro_x509")); };
|
|
||||||
source s_bro_snmp { file("/nsm/bro/logs/current/snmp.log" flags(no-parse) program_override("bro_snmp")); };
|
|
||||||
source s_bro_radius { file("/nsm/bro/logs/current/radius.log" flags(no-parse) program_override("bro_radius")); };
|
|
||||||
source s_bro_mysql { file("/nsm/bro/logs/current/mysql.log" flags(no-parse) program_override("bro_mysql")); };
|
|
||||||
source s_bro_kerberos { file("/nsm/bro/logs/current/kerberos.log" flags(no-parse) program_override("bro_kerberos")); };
|
|
||||||
source s_bro_rdp { file("/nsm/bro/logs/current/rdp.log" flags(no-parse) program_override("bro_rdp")); };
|
|
||||||
source s_bro_pe { file("/nsm/bro/logs/current/pe.log" flags(no-parse) program_override("bro_pe")); };
|
|
||||||
source s_bro_sip { file("/nsm/bro/logs/current/sip.log" flags(no-parse) program_override("bro_sip")); };
|
|
||||||
source s_bro_smb_mapping { file("/nsm/bro/logs/current/smb_mapping.log" flags(no-parse) program_override("bro_smb_mapping")); };
|
|
||||||
source s_bro_smb_files { file("/nsm/bro/logs/current/smb_files.log" flags(no-parse) program_override("bro_smb_files")); };
|
|
||||||
source s_bro_ntlm { file("/nsm/bro/logs/current/ntlm.log" flags(no-parse) program_override("bro_ntlm")); };
|
|
||||||
source s_bro_dce_rpc { file("/nsm/bro/logs/current/dce_rpc.log" flags(no-parse) program_override("bro_dce_rpc")); };
|
|
||||||
source s_bro_modbus { file("/nsm/bro/logs/current/modbus.log" flags(no-parse) program_override("bro_modbus")); };
|
|
||||||
source s_bro_dnp3 { file("/nsm/bro/logs/current/dnp3.log" flags(no-parse) program_override("bro_dnp3")); };
|
|
||||||
source s_bro_rfb { file("/nsm/bro/logs/current/rfb.log" flags(no-parse) program_override("bro_rfb")); };
|
|
||||||
|
|
||||||
destination d_elsa { program("sh /opt/elsa/contrib/securityonion/contrib/securityonion-elsa-syslog-ng.sh" template(t_db_parsed)); };
|
|
||||||
destination d_logstash { tcp("logstash" port(6050) template("$(format-json --scope selected_macros --scope nv_pairs --exclude DATE --key ISODATE)\n")); };
|
|
||||||
|
|
||||||
log {
|
|
||||||
source(s_bro_conn);
|
|
||||||
source(s_bro_http);
|
|
||||||
source(s_bro_dns);
|
|
||||||
source(s_bro_weird);
|
|
||||||
source(s_bro_tunnels);
|
|
||||||
source(s_bro_syslog);
|
|
||||||
source(s_bro_ftp);
|
|
||||||
source(s_bro_files);
|
|
||||||
source(s_bro_dhcp);
|
|
||||||
source(s_bro_notice);
|
|
||||||
source(s_bro_smtp);
|
|
||||||
source(s_bro_smtp_entities);
|
|
||||||
source(s_bro_ssl);
|
|
||||||
source(s_bro_irc);
|
|
||||||
source(s_bro_software);
|
|
||||||
source(s_bro_ssh);
|
|
||||||
source(s_bro_smb_mapping);
|
|
||||||
source(s_bro_smb_files);
|
|
||||||
source(s_bro_ntlm);
|
|
||||||
source(s_bro_dce_rpc);
|
|
||||||
source(s_bro_intel);
|
|
||||||
source(s_bro_x509);
|
|
||||||
source(s_bro_snmp);
|
|
||||||
source(s_bro_radius);
|
|
||||||
source(s_bro_mysql);
|
|
||||||
source(s_bro_kerberos);
|
|
||||||
source(s_bro_rdp);
|
|
||||||
source(s_bro_pe);
|
|
||||||
source(s_bro_sip);
|
|
||||||
source(s_bro_modbus);
|
|
||||||
source(s_bro_dnp3);
|
|
||||||
source(s_bro_rfb);
|
|
||||||
source(s_ossec);
|
|
||||||
source(s_network);
|
|
||||||
source(s_syslog);
|
|
||||||
log { filter(f_bro_headers); flags(final); };
|
|
||||||
log { destination(d_logstash); };
|
|
||||||
};
|
|
||||||
# Bring it all back
|
|
||||||
#source s_src {
|
|
||||||
# system();
|
|
||||||
# internal();
|
|
||||||
#};
|
|
||||||
########################
|
|
||||||
# Destinations
|
|
||||||
########################
|
|
||||||
# First some standard logfile
|
|
||||||
#
|
|
||||||
destination d_auth { file("/var/log/auth.log"); };
|
|
||||||
destination d_cron { file("/var/log/cron.log"); };
|
|
||||||
destination d_daemon { file("/var/log/daemon.log"); };
|
|
||||||
destination d_kern { file("/var/log/kern.log"); };
|
|
||||||
destination d_lpr { file("/var/log/lpr.log"); };
|
|
||||||
destination d_mail { file("/var/log/mail.log"); };
|
|
||||||
destination d_syslog { file("/var/log/syslog"); };
|
|
||||||
destination d_user { file("/var/log/user.log"); };
|
|
||||||
destination d_uucp { file("/var/log/uucp.log"); };
|
|
||||||
|
|
||||||
# This files are the log come from the mail subsystem.
|
|
||||||
#
|
|
||||||
destination d_mailinfo { file("/var/log/mail/mail.info"); };
|
|
||||||
destination d_mailwarn { file("/var/log/mail/mail.warn"); };
|
|
||||||
destination d_mailerr { file("/var/log/mail/mail.err"); };
|
|
||||||
|
|
||||||
# Logging for INN news system
|
|
||||||
#
|
|
||||||
destination d_newscrit { file("/var/log/news/news.crit"); };
|
|
||||||
destination d_newserr { file("/var/log/news/news.err"); };
|
|
||||||
destination d_newsnotice { file("/var/log/news/news.notice"); };
|
|
||||||
|
|
||||||
# Some `catch-all' logfiles.
|
|
||||||
#
|
|
||||||
destination d_debug { file("/var/log/debug"); };
|
|
||||||
destination d_error { file("/var/log/error"); };
|
|
||||||
destination d_messages { file("/var/log/messages"); };
|
|
||||||
|
|
||||||
# The root's console.
|
|
||||||
#
|
|
||||||
destination d_console { usertty("root"); };
|
|
||||||
|
|
||||||
# Virtual console.
|
|
||||||
#
|
|
||||||
destination d_console_all { file("/dev/tty10"); };
|
|
||||||
|
|
||||||
# The named pipe /dev/xconsole is for the nsole' utility. To use it,
|
|
||||||
# you must invoke nsole' with the -file' option:
|
|
||||||
#
|
|
||||||
# $ xconsole -file /dev/xconsole [...]
|
|
||||||
#
|
|
||||||
destination d_xconsole { pipe("/dev/xconsole"); };
|
|
||||||
|
|
||||||
# Send the messages to an other host
|
|
||||||
#
|
|
||||||
#destination d_net { tcp("127.0.0.1" port(1000) authentication(on) encrypt(on) log_fifo_size(1000)); };
|
|
||||||
|
|
||||||
# Debian only
|
|
||||||
destination d_ppp { file("/var/log/ppp.log"); };
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Filters
|
|
||||||
########################
|
|
||||||
# Here's come the filter options. With this rules, we can set which
|
|
||||||
# message go where.
|
|
||||||
|
|
||||||
filter f_dbg { level(debug); };
|
|
||||||
filter f_info { level(info); };
|
|
||||||
filter f_notice { level(notice); };
|
|
||||||
filter f_warn { level(warn); };
|
|
||||||
filter f_err { level(err); };
|
|
||||||
filter f_crit { level(crit .. emerg); };
|
|
||||||
|
|
||||||
filter f_debug { level(debug) and not facility(auth, authpriv, news, mail); };
|
|
||||||
filter f_error { level(err .. emerg) and not filter(f_snort); };
|
|
||||||
filter f_messages { level(info,notice,warn) and not facility(auth,authpriv,cron,daemon,mail,news); };
|
|
||||||
filter f_auth { facility(auth, authpriv) and not filter(f_debug); };
|
|
||||||
filter f_cron { facility(cron) and not filter(f_debug); };
|
|
||||||
filter f_daemon { facility(daemon) and not filter(f_debug); };
|
|
||||||
filter f_kern { facility(kern) and not filter(f_debug); };
|
|
||||||
filter f_lpr { facility(lpr) and not filter(f_debug); };
|
|
||||||
filter f_local { facility(local0, local1, local3, local4, local5, local6, local7) and not filter(f_debug); };
|
|
||||||
filter f_mail { facility(mail) and not filter(f_debug); };
|
|
||||||
filter f_news { facility(news) and not filter(f_debug); };
|
|
||||||
filter f_syslog3 { not facility(auth, authpriv, mail) and not filter(f_debug) and not filter(f_snort); };
|
|
||||||
filter f_user { facility(user) and not filter(f_debug); };
|
|
||||||
filter f_uucp { facility(uucp) and not filter(f_debug); };
|
|
||||||
|
|
||||||
filter f_cnews { level(notice, err, crit) and facility(news); };
|
|
||||||
filter f_cother { level(debug, info, notice, warn) or facility(daemon, mail); };
|
|
||||||
|
|
||||||
filter f_ppp { facility(local2) and not filter(f_debug); };
|
|
||||||
filter f_console { level(warn .. emerg); };
|
|
||||||
|
|
||||||
########################
|
|
||||||
# Log paths
|
|
||||||
########################
|
|
||||||
log { source(s_syslog); filter(f_auth); destination(d_auth); };
|
|
||||||
log { source(s_syslog); filter(f_cron); destination(d_cron); };
|
|
||||||
log { source(s_syslog); filter(f_daemon); destination(d_daemon); };
|
|
||||||
log { source(s_syslog); filter(f_kern); destination(d_kern); };
|
|
||||||
log { source(s_syslog); filter(f_lpr); destination(d_lpr); };
|
|
||||||
log { source(s_syslog); filter(f_syslog3); destination(d_syslog); };
|
|
||||||
log { source(s_syslog); filter(f_user); destination(d_user); };
|
|
||||||
log { source(s_syslog); filter(f_uucp); destination(d_uucp); };
|
|
||||||
|
|
||||||
log { source(s_syslog); filter(f_mail); destination(d_mail); };
|
|
||||||
#log { source(s_syslog); filter(f_mail); filter(f_info); destination(d_mailinfo); };
|
|
||||||
#log { source(s_syslog); filter(f_mail); filter(f_warn); destination(d_mailwarn); };
|
|
||||||
#log { source(s_syslog); filter(f_mail); filter(f_err); destination(d_mailerr); };
|
|
||||||
|
|
||||||
log { source(s_syslog); filter(f_news); filter(f_crit); destination(d_newscrit); };
|
|
||||||
log { source(s_syslog); filter(f_news); filter(f_err); destination(d_newserr); };
|
|
||||||
log { source(s_syslog); filter(f_news); filter(f_notice); destination(d_newsnotice); };
|
|
||||||
#log { source(s_syslog); filter(f_cnews); destination(d_console_all); };
|
|
||||||
#log { source(s_syslog); filter(f_cother); destination(d_console_all); };
|
|
||||||
|
|
||||||
#log { source(s_syslog); filter(f_ppp); destination(d_ppp); };
|
|
||||||
|
|
||||||
log { source(s_syslog); filter(f_debug); destination(d_debug); };
|
|
||||||
log { source(s_syslog); filter(f_error); destination(d_error); };
|
|
||||||
log { source(s_syslog); filter(f_messages); destination(d_messages); };
|
|
||||||
|
|
||||||
log { source(s_syslog); filter(f_console); destination(d_console_all); destination(d_xconsole); };
|
|
||||||
log { source(s_syslog); filter(f_crit); destination(d_console); };
|
|
||||||
|
|
||||||
# All messages send to a remote site
|
|
||||||
#
|
|
||||||
#log { source(s_syslog); destination(d_net); };
|
|
||||||
|
|
||||||
###
|
|
||||||
# Include all config files in /etc/syslog-ng/conf.d/
|
|
||||||
###
|
|
||||||
@@ -1,18 +0,0 @@
|
|||||||
# Sync the Files
|
|
||||||
file.directory:
|
|
||||||
- name: /opt/so/conf/syslog-ng
|
|
||||||
- user: 939
|
|
||||||
- group: 939
|
|
||||||
|
|
||||||
# Syslog-ng Docker
|
|
||||||
|
|
||||||
so-syslog-ng:
|
|
||||||
dockerng.running:
|
|
||||||
- image: pillaritem/so-logstash
|
|
||||||
- hostname: syslog-ng
|
|
||||||
- priviledged: true
|
|
||||||
- ports:
|
|
||||||
- 514/tcp
|
|
||||||
- 514/udp
|
|
||||||
- 601
|
|
||||||
- network_mode: so-elastic-net
|
|
||||||
@@ -1,18 +1,14 @@
|
|||||||
{% if grains['role'] == 'so-sensor' or grains['role'] == 'so-eval' %}
|
{% if grains['role'] == 'so-sensor' or grains['role'] == 'so-eval' %}
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
so-tcpreplayimage:
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-tcpreplay:HH1.1.4
|
|
||||||
|
|
||||||
so-tcpreplay:
|
so-tcpreplay:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
|
||||||
- so-tcpreplay
|
|
||||||
- network_mode: "host"
|
- network_mode: "host"
|
||||||
- image: docker.io/soshybridhunter/so-tcpreplay:HH1.1.4
|
- image: {{ MASTER }}:5000/soshybridhunter/so-tcpreplay:HH{{ VERSION }}
|
||||||
- name: so-tcpreplay
|
- name: so-tcpreplay
|
||||||
- user: root
|
- user: root
|
||||||
- interactive: True
|
- interactive: True
|
||||||
- tty: True
|
- tty: True
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -17,7 +17,7 @@ base:
|
|||||||
- idstools
|
- idstools
|
||||||
- pcap
|
- pcap
|
||||||
- suricata
|
- suricata
|
||||||
- bro
|
- zeek
|
||||||
- redis
|
- redis
|
||||||
- logstash
|
- logstash
|
||||||
- filebeat
|
- filebeat
|
||||||
@@ -31,7 +31,7 @@ base:
|
|||||||
- pcap
|
- pcap
|
||||||
- suricata
|
- suricata
|
||||||
{%- if BROVER != 'SURICATA' %}
|
{%- if BROVER != 'SURICATA' %}
|
||||||
- bro
|
- zeek
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
- wazuh
|
- wazuh
|
||||||
- filebeat
|
- filebeat
|
||||||
@@ -57,7 +57,7 @@ base:
|
|||||||
- kibana
|
- kibana
|
||||||
- pcap
|
- pcap
|
||||||
- suricata
|
- suricata
|
||||||
- bro
|
- zeek
|
||||||
- curator
|
- curator
|
||||||
- cyberchef
|
- cyberchef
|
||||||
- elastalert
|
- elastalert
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
{%- set HOSTNAME = salt['grains.get']('host', '') %}
|
{%- set HOSTNAME = salt['grains.get']('host', '') %}
|
||||||
|
{% set VERSION = salt['pillar.get']('static:soversion', '1.1.4') %}
|
||||||
|
{% set MASTER = salt['grains.get']('master') %}
|
||||||
# Add ossec group
|
# Add ossec group
|
||||||
ossecgroup:
|
ossecgroup:
|
||||||
group.present:
|
group.present:
|
||||||
@@ -62,15 +63,9 @@ wazuhagentregister:
|
|||||||
- mode: 755
|
- mode: 755
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
so-wazuhimage:
|
|
||||||
cmd.run:
|
|
||||||
- name: docker pull --disable-content-trust=false docker.io/soshybridhunter/so-wazuh:HH1.1.3
|
|
||||||
|
|
||||||
so-wazuh:
|
so-wazuh:
|
||||||
docker_container.running:
|
docker_container.running:
|
||||||
- require:
|
- image: {{ MASTER }}:5000/soshybridhunter/so-wazuh:HH{{ VERSION }}
|
||||||
- so-wazuhimage
|
|
||||||
- image: docker.io/soshybridhunter/so-wazuh:HH1.1.3
|
|
||||||
- hostname: {{HOSTNAME}}-wazuh-manager
|
- hostname: {{HOSTNAME}}-wazuh-manager
|
||||||
- name: so-wazuh
|
- name: so-wazuh
|
||||||
- detach: True
|
- detach: True
|
||||||
|
|||||||
@@ -366,7 +366,7 @@ if (whiptail_you_sure) ; then
|
|||||||
salt-call state.apply ssl >> $SETUPLOG 2>&1
|
salt-call state.apply ssl >> $SETUPLOG 2>&1
|
||||||
salt-call state.apply firewall >> $SETUPLOG 2>&1
|
salt-call state.apply firewall >> $SETUPLOG 2>&1
|
||||||
salt-call state.apply registry >> $SETUPLOG 2>&1
|
salt-call state.apply registry >> $SETUPLOG 2>&1
|
||||||
echo "Seeding Repo"
|
echo -e "XXX\n42\nDownloading Containers from the Internet... \nXXX"
|
||||||
docker_seed_registry >> $SETUPLOG 2>&1
|
docker_seed_registry >> $SETUPLOG 2>&1
|
||||||
echo -e "XXX\n43\nInstalling Common Components... \nXXX"
|
echo -e "XXX\n43\nInstalling Common Components... \nXXX"
|
||||||
salt-call state.apply common >> $SETUPLOG 2>&1
|
salt-call state.apply common >> $SETUPLOG 2>&1
|
||||||
@@ -609,7 +609,7 @@ if (whiptail_you_sure) ; then
|
|||||||
salt-call state.apply ssl >> $SETUPLOG 2>&1
|
salt-call state.apply ssl >> $SETUPLOG 2>&1
|
||||||
salt-call state.apply firewall >> $SETUPLOG 2>&1
|
salt-call state.apply firewall >> $SETUPLOG 2>&1
|
||||||
salt-call state.apply registry >> $SETUPLOG 2>&1
|
salt-call state.apply registry >> $SETUPLOG 2>&1
|
||||||
echo "Seeding Repo"
|
echo -e "XXX\n14\nDownloading Containers from the Internet... \nXXX"
|
||||||
docker_seed_registry >> $SETUPLOG 2>&1
|
docker_seed_registry >> $SETUPLOG 2>&1
|
||||||
salt-call state.apply master >> $SETUPLOG 2>&1
|
salt-call state.apply master >> $SETUPLOG 2>&1
|
||||||
echo -e "XXX\n15\nInstalling core components... \nXXX"
|
echo -e "XXX\n15\nInstalling core components... \nXXX"
|
||||||
|
|||||||
Reference in New Issue
Block a user