Merge pull request #9717 from Security-Onion-Solutions/2.4/firewall

2.4/firewall
This commit is contained in:
Josh Patterson
2023-02-03 11:04:36 -05:00
committed by GitHub
33 changed files with 79 additions and 60 deletions

View File

@@ -5,6 +5,8 @@ import logging
def status(): def status():
return __salt__['cmd.run']('/usr/sbin/so-status') return __salt__['cmd.run']('/usr/sbin/so-status')
def version():
return __salt__['cp.get_file_str']('/etc/soversion')
def mysql_conn(retry): def mysql_conn(retry):
log = logging.getLogger(__name__) log = logging.getLogger(__name__)
@@ -61,4 +63,4 @@ def mysql_conn(retry):
for addr in ip_arr: for addr in ip_arr:
log.debug(f' - {addr}') log.debug(f' - {addr}')
return mysql_up return mysql_up

View File

@@ -43,7 +43,7 @@ APPLY=${APPLY,,}
function rolecall() { function rolecall() {
THEROLE=$1 THEROLE=$1
THEROLES="analyst analyst_workstations beats_endpoint beats_endpoint_ssl elastic_agent_endpoint elasticsearch_rest endgame eval heavynodes idh manager receivers searchnodes sensors standalone strelka_frontend syslog" THEROLES="analyst analyst_workstations beats_endpoint beats_endpoint_ssl elastic_agent_endpoint elasticsearch_rest endgame eval heavynodes idh manager managersearch receivers searchnodes sensors standalone strelka_frontend syslog"
for AROLE in $THEROLES; do for AROLE in $THEROLES; do
if [ "$AROLE" = "$THEROLE" ]; then if [ "$AROLE" = "$THEROLE" ]; then

View File

@@ -130,7 +130,7 @@ so-curator:
- name: so-curator - name: so-curator
- user: curator - user: curator
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-curator'].ip }} - ipv4_address: {{ DOCKER.containers['so-curator'].ip }}
- interactive: True - interactive: True
- tty: True - tty: True

View File

@@ -1,8 +1,8 @@
docker: docker:
bip: '172.17.0.1' bip: '172.17.0.1'
range: '172.17.0.0/24' range: '172.17.0.0/24'
sosrange: '172.17.1.0/24' sorange: '172.17.1.0/24'
sosbip: '172.17.1.1' sobip: '172.17.1.1'
containers: containers:
'so-dockerregistry': 'so-dockerregistry':
final_octet: 20 final_octet: 20

View File

@@ -1,6 +1,6 @@
{% import_yaml 'docker/defaults.yaml' as DOCKERDEFAULTS %} {% import_yaml 'docker/defaults.yaml' as DOCKERDEFAULTS %}
{% set DOCKER = salt['pillar.get']('docker', DOCKERDEFAULTS.docker, merge=True) %} {% set DOCKER = salt['pillar.get']('docker', DOCKERDEFAULTS.docker, merge=True) %}
{% set RANGESPLIT = DOCKER.sosrange.split('.') %} {% set RANGESPLIT = DOCKER.sorange.split('.') %}
{% set FIRSTTHREE = RANGESPLIT[0] ~ '.' ~ RANGESPLIT[1] ~ '.' ~ RANGESPLIT[2] ~ '.' %} {% set FIRSTTHREE = RANGESPLIT[0] ~ '.' ~ RANGESPLIT[1] ~ '.' ~ RANGESPLIT[2] ~ '.' %}
{% for container, vals in DOCKER.containers.items() %} {% for container, vals in DOCKER.containers.items() %}

View File

@@ -79,13 +79,13 @@ dockerreserveports:
sos_docker_net: sos_docker_net:
docker_network.present: docker_network.present:
- name: sosbridge - name: sobridge
- subnet: {{ DOCKER.sosrange }} - subnet: {{ DOCKER.sorange }}
- gateway: {{ DOCKER.sosbip }} - gateway: {{ DOCKER.sobip }}
- options: - options:
com.docker.network.bridge.name: 'sosbridge' com.docker.network.bridge.name: 'sobridge'
com.docker.network.driver.mtu: '1500' com.docker.network.driver.mtu: '1500'
com.docker.network.bridge.enable_ip_masquerade: 'true' com.docker.network.bridge.enable_ip_masquerade: 'true'
com.docker.network.bridge.enable_icc: 'true' com.docker.network.bridge.enable_icc: 'true'
com.docker.network.bridge.host_binding_ipv4: '0.0.0.0' com.docker.network.bridge.host_binding_ipv4: '0.0.0.0'
- unless: 'docker network ls | grep sosbridge' - unless: 'docker network ls | grep sobridge'

View File

@@ -88,7 +88,7 @@ so-elastalert:
- name: so-elastalert - name: so-elastalert
- user: so-elastalert - user: so-elastalert
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-elastalert'].ip }} - ipv4_address: {{ DOCKER.containers['so-elastalert'].ip }}
- detach: True - detach: True
- binds: - binds:

View File

@@ -29,7 +29,7 @@ so-elastic-fleet-package-registry:
- detach: True - detach: True
- user: 948 - user: 948
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-elastic-fleet-package-registry'].ip }} - ipv4_address: {{ DOCKER.containers['so-elastic-fleet-package-registry'].ip }}
- extra_hosts: - extra_hosts:
- {{ GLOBALS.hostname }}:{{ GLOBALS.node_ip }} - {{ GLOBALS.hostname }}:{{ GLOBALS.node_ip }}

View File

@@ -49,7 +49,7 @@ so-elastic-fleet:
- detach: True - detach: True
- user: 947 - user: 947
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-elastic-fleet'].ip }} - ipv4_address: {{ DOCKER.containers['so-elastic-fleet'].ip }}
- extra_hosts: - extra_hosts:
- {{ GLOBALS.hostname }}:{{ GLOBALS.node_ip }} - {{ GLOBALS.hostname }}:{{ GLOBALS.node_ip }}

View File

@@ -291,7 +291,7 @@ so-elasticsearch:
- name: so-elasticsearch - name: so-elasticsearch
- user: elasticsearch - user: elasticsearch
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-elasticsearch'].ip }} - ipv4_address: {{ DOCKER.containers['so-elasticsearch'].ip }}
- extra_hosts: {{ LOGSTASH_NODES }} - extra_hosts: {{ LOGSTASH_NODES }}
- environment: - environment:

View File

@@ -99,7 +99,7 @@ so-filebeat:
- hostname: so-filebeat - hostname: so-filebeat
- user: root - user: root
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-filebeat'].ip }} - ipv4_address: {{ DOCKER.containers['so-filebeat'].ip }}
- extra_hosts: {{ FILEBEAT_EXTRA_HOSTS }} - extra_hosts: {{ FILEBEAT_EXTRA_HOSTS }}
- binds: - binds:

View File

@@ -164,7 +164,7 @@ role:
chain: chain:
DOCKER-USER: DOCKER-USER:
hostgroups: hostgroups:
manager: managersearch:
portgroups: portgroups:
- {{ portgroups.playbook }} - {{ portgroups.playbook }}
- {{ portgroups.mysql }} - {{ portgroups.mysql }}

View File

@@ -10,7 +10,7 @@ firewall:
ips: ips:
delete: delete:
insert: insert:
- {{ DOCKER.sosrange }} - {{ DOCKER.sorange }}
localhost: localhost:
ips: ips:
delete: delete:

View File

@@ -33,11 +33,11 @@
{%- endif %} {%- endif %}
{%- do PR.append("-A POSTROUTING -s " ~ DOCKER.containers[container].ip ~ "/32 -d " ~ DOCKER.containers[container].ip ~ "/32 -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ containerPort ~ " -j MASQUERADE") %} {%- do PR.append("-A POSTROUTING -s " ~ DOCKER.containers[container].ip ~ "/32 -d " ~ DOCKER.containers[container].ip ~ "/32 -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ containerPort ~ " -j MASQUERADE") %}
{%- if bindip | length and bindip != '0.0.0.0' %} {%- if bindip | length and bindip != '0.0.0.0' %}
{%- do D1.append("-A DOCKER -d " ~ bindip ~ "/32 ! -i sosbridge -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ hostPort ~ " -j DNAT --to-destination " ~ DOCKER.containers[container].ip ~ ":" ~ containerPort) %} {%- do D1.append("-A DOCKER -d " ~ bindip ~ "/32 ! -i sobridge -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ hostPort ~ " -j DNAT --to-destination " ~ DOCKER.containers[container].ip ~ ":" ~ containerPort) %}
{%- else %} {%- else %}
{%- do D1.append("-A DOCKER ! -i sosbridge -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ hostPort ~ " -j DNAT --to-destination " ~ DOCKER.containers[container].ip ~ ":" ~ containerPort) %} {%- do D1.append("-A DOCKER ! -i sobridge -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ hostPort ~ " -j DNAT --to-destination " ~ DOCKER.containers[container].ip ~ ":" ~ containerPort) %}
{%- endif %} {%- endif %}
{%- do D2.append("-A DOCKER -d " ~ DOCKER.containers[container].ip ~ "/32 ! -i sosbridge -o sosbridge -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ containerPort ~ " -j ACCEPT") %} {%- do D2.append("-A DOCKER -d " ~ DOCKER.containers[container].ip ~ "/32 ! -i sobridge -o sobridge -p " ~ proto ~ " -m " ~ proto ~ " --dport " ~ containerPort ~ " -j ACCEPT") %}
{%- endfor %} {%- endfor %}
{%- endif %} {%- endif %}
{%- endfor %} {%- endfor %}
@@ -50,11 +50,11 @@
:DOCKER - [0:0] :DOCKER - [0:0]
-A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER -A PREROUTING -m addrtype --dst-type LOCAL -j DOCKER
-A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER -A OUTPUT ! -d 127.0.0.0/8 -m addrtype --dst-type LOCAL -j DOCKER
-A POSTROUTING -s {{DOCKER.sosrange}} ! -o sosbridge -j MASQUERADE -A POSTROUTING -s {{DOCKER.sorange}} ! -o sobridge -j MASQUERADE
{%- for rule in PR %} {%- for rule in PR %}
{{ rule }} {{ rule }}
{%- endfor %} {%- endfor %}
-A DOCKER -i sosbridge -j RETURN -A DOCKER -i sobridge -j RETURN
{%- for rule in D1 %} {%- for rule in D1 %}
{{ rule }} {{ rule }}
{%- endfor %} {%- endfor %}
@@ -98,10 +98,10 @@ COMMIT
-A INPUT -j LOGGING -A INPUT -j LOGGING
-A FORWARD -j DOCKER-USER -A FORWARD -j DOCKER-USER
-A FORWARD -j DOCKER-ISOLATION-STAGE-1 -A FORWARD -j DOCKER-ISOLATION-STAGE-1
-A FORWARD -o sosbridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -o sobridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -o sosbridge -j DOCKER -A FORWARD -o sobridge -j DOCKER
-A FORWARD -i sosbridge ! -o sosbridge -j ACCEPT -A FORWARD -i sobridge ! -o sobridge -j ACCEPT
-A FORWARD -i sosbridge -o sosbridge -j ACCEPT -A FORWARD -i sobridge -o sobridge -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i lo -j ACCEPT -A FORWARD -i lo -j ACCEPT
-A FORWARD -m conntrack --ctstate INVALID -j DROP -A FORWARD -m conntrack --ctstate INVALID -j DROP
@@ -113,12 +113,12 @@ COMMIT
{{ rule }} {{ rule }}
{%- endfor %} {%- endfor %}
-A DOCKER-ISOLATION-STAGE-1 -i sosbridge ! -o sosbridge -j DOCKER-ISOLATION-STAGE-2 -A DOCKER-ISOLATION-STAGE-1 -i sobridge ! -o sobridge -j DOCKER-ISOLATION-STAGE-2
-A DOCKER-ISOLATION-STAGE-1 -j RETURN -A DOCKER-ISOLATION-STAGE-1 -j RETURN
-A DOCKER-ISOLATION-STAGE-2 -o sosbridge -j DROP -A DOCKER-ISOLATION-STAGE-2 -o sobridge -j DROP
-A DOCKER-ISOLATION-STAGE-2 -j RETURN -A DOCKER-ISOLATION-STAGE-2 -j RETURN
-A DOCKER-USER ! -i sosbridge -o sosbridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT -A DOCKER-USER ! -i sobridge -o sobridge -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A DOCKER-USER ! -i sosbridge -o sosbridge -j LOGGING -A DOCKER-USER ! -i sobridge -o sobridge -j LOGGING
-A DOCKER-USER -j RETURN -A DOCKER-USER -j RETURN
-A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-dropped: " -A LOGGING -m limit --limit 2/min -j LOG --log-prefix "IPTables-dropped: "
-A LOGGING -j DROP -A LOGGING -j DROP

View File

@@ -22,6 +22,7 @@
'heavynodes', 'heavynodes',
'idh', 'idh',
'manager', 'manager',
'managersearch',
'receivers', 'receivers',
'searchnodes', 'searchnodes',
'sensors', 'sensors',

View File

@@ -126,7 +126,7 @@ so-grafana:
- hostname: grafana - hostname: grafana
- user: socore - user: socore
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-grafana'].ip }} - ipv4_address: {{ DOCKER.containers['so-grafana'].ip }}
- extra_hosts: - extra_hosts:
- {{GLOBALS.influxdb_host}}:{{pillar.node_data[GLOBALS.influxdb_host].ip}} - {{GLOBALS.influxdb_host}}:{{pillar.node_data[GLOBALS.influxdb_host].ip}}

View File

@@ -33,7 +33,7 @@ so-idstools:
- hostname: so-idstools - hostname: so-idstools
- user: socore - user: socore
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-idstools'].ip }} - ipv4_address: {{ DOCKER.containers['so-idstools'].ip }}
{% if proxy %} {% if proxy %}
- environment: - environment:

View File

@@ -49,7 +49,7 @@ so-influxdb:
- image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-influxdb:{{ GLOBALS.so_version }} - image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-influxdb:{{ GLOBALS.so_version }}
- hostname: influxdb - hostname: influxdb
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-influxdb'].ip }} - ipv4_address: {{ DOCKER.containers['so-influxdb'].ip }}
- environment: - environment:
- INFLUXDB_HTTP_LOG_ENABLED=false - INFLUXDB_HTTP_LOG_ENABLED=false

View File

@@ -83,7 +83,7 @@ so-kibana:
- hostname: kibana - hostname: kibana
- user: kibana - user: kibana
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-kibana'].ip }} - ipv4_address: {{ DOCKER.containers['so-kibana'].ip }}
- environment: - environment:
- ELASTICSEARCH_HOST={{ GLOBALS.manager }} - ELASTICSEARCH_HOST={{ GLOBALS.manager }}

View File

@@ -69,7 +69,7 @@ so-kratos:
- hostname: kratos - hostname: kratos
- name: so-kratos - name: so-kratos
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-kratos'].ip }} - ipv4_address: {{ DOCKER.containers['so-kratos'].ip }}
- binds: - binds:
- /opt/so/conf/kratos/schema.json:/kratos-conf/schema.json:ro - /opt/so/conf/kratos/schema.json:/kratos-conf/schema.json:ro

View File

@@ -140,7 +140,7 @@ so-logstash:
- hostname: so-logstash - hostname: so-logstash
- name: so-logstash - name: so-logstash
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-logstash'].ip }} - ipv4_address: {{ DOCKER.containers['so-logstash'].ip }}
- user: logstash - user: logstash
- extra_hosts: {{ REDIS_NODES }} - extra_hosts: {{ REDIS_NODES }}

View File

@@ -85,7 +85,7 @@ so-mysql:
- hostname: so-mysql - hostname: so-mysql
- user: socore - user: socore
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-mysql'].ip }} - ipv4_address: {{ DOCKER.containers['so-mysql'].ip }}
- port_bindings: - port_bindings:
{% for BINDING in DOCKER.containers['so-mysql'].port_bindings %} {% for BINDING in DOCKER.containers['so-mysql'].port_bindings %}

View File

@@ -85,7 +85,7 @@ so-nginx:
- image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-nginx:{{ GLOBALS.so_version }} - image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-nginx:{{ GLOBALS.so_version }}
- hostname: so-nginx - hostname: so-nginx
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-nginx'].ip }} - ipv4_address: {{ DOCKER.containers['so-nginx'].ip }}
- binds: - binds:
- /opt/so/conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro - /opt/so/conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro

View File

@@ -18,7 +18,7 @@ create_playbookdbuser:
mysql_user.present: mysql_user.present:
- name: playbookdbuser - name: playbookdbuser
- password: {{ PLAYBOOKPASS }} - password: {{ PLAYBOOKPASS }}
- host: "{{ DOCKER.sosrange.split('/')[0] }}/255.255.255.0" - host: "{{ DOCKER.sorange.split('/')[0] }}/255.255.255.0"
- connection_host: {{ GLOBALS.manager_ip }} - connection_host: {{ GLOBALS.manager_ip }}
- connection_port: 3306 - connection_port: 3306
- connection_user: root - connection_user: root
@@ -27,7 +27,7 @@ create_playbookdbuser:
query_playbookdbuser_grants: query_playbookdbuser_grants:
mysql_query.run: mysql_query.run:
- database: playbook - database: playbook
- query: "GRANT ALL ON playbook.* TO 'playbookdbuser'@'{{ DOCKER.sosrange.split('/')[0] }}/255.255.255.0';" - query: "GRANT ALL ON playbook.* TO 'playbookdbuser'@'{{ DOCKER.sorange.split('/')[0] }}/255.255.255.0';"
- connection_host: {{ GLOBALS.manager_ip }} - connection_host: {{ GLOBALS.manager_ip }}
- connection_port: 3306 - connection_port: 3306
- connection_user: root - connection_user: root
@@ -81,7 +81,7 @@ so-playbook:
- hostname: playbook - hostname: playbook
- name: so-playbook - name: so-playbook
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-playbook'].ip }} - ipv4_address: {{ DOCKER.containers['so-playbook'].ip }}
- binds: - binds:
- /opt/so/log/playbook:/playbook/log:rw - /opt/so/log/playbook:/playbook/log:rw

View File

@@ -47,7 +47,7 @@ so-redis:
- hostname: so-redis - hostname: so-redis
- user: socore - user: socore
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-redis'].ip }} - ipv4_address: {{ DOCKER.containers['so-redis'].ip }}
- port_bindings: - port_bindings:
{% for BINDING in DOCKER.containers['so-redis'].port_bindings %} {% for BINDING in DOCKER.containers['so-redis'].port_bindings %}

View File

@@ -39,7 +39,7 @@ so-dockerregistry:
- image: ghcr.io/security-onion-solutions/registry:latest - image: ghcr.io/security-onion-solutions/registry:latest
- hostname: so-registry - hostname: so-registry
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-dockerregistry'].ip }} - ipv4_address: {{ DOCKER.containers['so-dockerregistry'].ip }}
- restart_policy: always - restart_policy: always
- port_bindings: - port_bindings:

View File

@@ -19,7 +19,7 @@
{% do SOCDEFAULTS.soc.server.modules.influxdb.update({'hostUrl': 'https://' ~ GLOBALS.influxdb_host ~ ':8086'}) %} {% do SOCDEFAULTS.soc.server.modules.influxdb.update({'hostUrl': 'https://' ~ GLOBALS.influxdb_host ~ ':8086'}) %}
{% endif %} {% endif %}
{% do SOCDEFAULTS.soc.server.modules.statickeyauth.update({'anonymousCidr': DOCKER.sosrange, 'apiKey': pillar.sensoroni.sensoronikey}) %} {% do SOCDEFAULTS.soc.server.modules.statickeyauth.update({'anonymousCidr': DOCKER.sorange, 'apiKey': pillar.sensoroni.sensoronikey}) %}
{% do SOCDEFAULTS.soc.server.client.case.update({'analyzerNodeId': GLOBALS.minion_id}) %} {% do SOCDEFAULTS.soc.server.client.case.update({'analyzerNodeId': GLOBALS.minion_id}) %}

View File

@@ -97,7 +97,7 @@ so-soc:
- hostname: soc - hostname: soc
- name: so-soc - name: so-soc
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-soc'].ip }} - ipv4_address: {{ DOCKER.containers['so-soc'].ip }}
- binds: - binds:
- /nsm/soc/jobs:/opt/sensoroni/jobs:rw - /nsm/soc/jobs:/opt/sensoroni/jobs:rw

View File

@@ -64,7 +64,7 @@ so-soctopus:
- hostname: soctopus - hostname: soctopus
- name: so-soctopus - name: so-soctopus
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-soctopus'].ip }} - ipv4_address: {{ DOCKER.containers['so-soctopus'].ip }}
- binds: - binds:
- /opt/so/conf/soctopus/SOCtopus.conf:/SOCtopus/SOCtopus.conf:ro - /opt/so/conf/soctopus/SOCtopus.conf:/SOCtopus/SOCtopus.conf:ro

View File

@@ -169,7 +169,7 @@ strelka_coordinator:
- image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-redis:{{ GLOBALS.so_version }} - image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-redis:{{ GLOBALS.so_version }}
- name: so-strelka-coordinator - name: so-strelka-coordinator
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-strelka-coordinator'].ip }} - ipv4_address: {{ DOCKER.containers['so-strelka-coordinator'].ip }}
- entrypoint: redis-server --save "" --appendonly no - entrypoint: redis-server --save "" --appendonly no
- port_bindings: - port_bindings:
@@ -187,7 +187,7 @@ strelka_gatekeeper:
- image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-redis:{{ GLOBALS.so_version }} - image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-redis:{{ GLOBALS.so_version }}
- name: so-strelka-gatekeeper - name: so-strelka-gatekeeper
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-strelka-gatekeeper'].ip }} - ipv4_address: {{ DOCKER.containers['so-strelka-gatekeeper'].ip }}
- entrypoint: redis-server --save "" --appendonly no --maxmemory-policy allkeys-lru - entrypoint: redis-server --save "" --appendonly no --maxmemory-policy allkeys-lru
- port_bindings: - port_bindings:
@@ -209,7 +209,7 @@ strelka_frontend:
- privileged: True - privileged: True
- name: so-strelka-frontend - name: so-strelka-frontend
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-strelka-frontend'].ip }} - ipv4_address: {{ DOCKER.containers['so-strelka-frontend'].ip }}
- command: strelka-frontend - command: strelka-frontend
- port_bindings: - port_bindings:
@@ -230,7 +230,7 @@ strelka_backend:
- /opt/so/conf/strelka/rules/:/etc/yara/:ro - /opt/so/conf/strelka/rules/:/etc/yara/:ro
- name: so-strelka-backend - name: so-strelka-backend
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-strelka-backend'].ip }} - ipv4_address: {{ DOCKER.containers['so-strelka-backend'].ip }}
- command: strelka-backend - command: strelka-backend
- restart_policy: on-failure - restart_policy: on-failure
@@ -247,7 +247,7 @@ strelka_manager:
- /opt/so/conf/strelka/manager/:/etc/strelka/:ro - /opt/so/conf/strelka/manager/:/etc/strelka/:ro
- name: so-strelka-manager - name: so-strelka-manager
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-strelka-manager'].ip }} - ipv4_address: {{ DOCKER.containers['so-strelka-manager'].ip }}
- command: strelka-manager - command: strelka-manager
@@ -264,7 +264,7 @@ strelka_filestream:
- /nsm/strelka:/nsm/strelka - /nsm/strelka:/nsm/strelka
- name: so-strelka-filestream - name: so-strelka-filestream
- networks: - networks:
- sosbridge: - sobridge:
- ipv4_address: {{ DOCKER.containers['so-strelka-filestream'].ip }} - ipv4_address: {{ DOCKER.containers['so-strelka-filestream'].ip }}
- command: strelka-filestream - command: strelka-filestream

View File

@@ -0,0 +1,15 @@
{% from 'vars/elasticsearch.map.jinja' import ELASTICSEARCH_GLOBALS %}
{% from 'vars/logstash.map.jinja' import LOGSTASH_GLOBALS %}
{% set ROLE_GLOBALS = {} %}
{% set MANAGERSEARCH_GLOBALS =
[
ELASTICSEARCH_GLOBALS,
LOGSTASH_GLOBALS
]
%}
{% for sg in MANAGERSEARCH_GLOBALS %}
{% do salt['defaults.merge'](ROLE_GLOBALS, sg, merge_lists=False, in_place=True) %}
{% endfor %}

View File

@@ -3,13 +3,13 @@
{% set ROLE_GLOBALS = {} %} {% set ROLE_GLOBALS = {} %}
{% set STANDALONE_GLOBALS = {% set SEARCHNODE_GLOBALS =
[ [
ELASTICSEARCH_GLOBALS, ELASTICSEARCH_GLOBALS,
LOGSTASH_GLOBALS LOGSTASH_GLOBALS
] ]
%} %}
{% for sg in STANDALONE_GLOBALS %} {% for sg in SEARCHNODE_GLOBALS %}
{% do salt['defaults.merge'](ROLE_GLOBALS, sg, merge_lists=False, in_place=True) %} {% do salt['defaults.merge'](ROLE_GLOBALS, sg, merge_lists=False, in_place=True) %}
{% endfor %} {% endfor %}

View File

@@ -1179,9 +1179,10 @@ firewall_generate_templates() {
logCmd "cp ../files/firewall/* /opt/so/saltstack/local/salt/firewall/" logCmd "cp ../files/firewall/* /opt/so/saltstack/local/salt/firewall/"
for i in analyst beats_endpoint endgame sensor manager minion elastic_agent_endpoint search_node; do # i think this can be commented out for 2.4
$default_salt_dir/salt/common/tools/sbin/so-firewall includehost "$i" 127.0.0.1 #for i in analyst beats_endpoint endgame sensors manager managersearch elastic_agent_endpoint searchnodes; do
done # $default_salt_dir/salt/common/tools/sbin/so-firewall --role="$i" --ip=127.0.0.1
#done
} }
@@ -1490,8 +1491,8 @@ docker_pillar() {
touch $adv_docker_pillar_file touch $adv_docker_pillar_file
printf '%s\n'\ printf '%s\n'\
"docker:"\ "docker:"\
" sosrange: '$DOCKERNET2/24'"\ " sorange: '$DOCKERNET2/24'"\
" sosbip: '$DOCKER2BIP'"\ " sobip: '$DOCKER2BIP'"\
" range: '$DOCKERNET/24'"\ " range: '$DOCKERNET/24'"\
" bip: '$DOCKERBIP'" > $docker_pillar_file " bip: '$DOCKERBIP'" > $docker_pillar_file
} }