mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-06 09:12:45 +01:00
Merge branch 'kilo' into cogburn/detection_playbooks
This commit is contained in:
@@ -47,13 +47,25 @@
|
|||||||
"isCommunity": {
|
"isCommunity": {
|
||||||
"type": "boolean"
|
"type": "boolean"
|
||||||
},
|
},
|
||||||
"note": {
|
"tags": {
|
||||||
"type": "text"
|
"type": "text"
|
||||||
},
|
},
|
||||||
|
"ruleset": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
"engine": {
|
"engine": {
|
||||||
"ignore_above": 1024,
|
"ignore_above": 1024,
|
||||||
"type": "keyword"
|
"type": "keyword"
|
||||||
},
|
},
|
||||||
|
"language": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"license": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
"overrides": {
|
"overrides": {
|
||||||
"properties": {
|
"properties": {
|
||||||
"type": {
|
"type": {
|
||||||
@@ -98,6 +110,24 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
},
|
||||||
|
"so_detectioncomment": {
|
||||||
|
"properties": {
|
||||||
|
"createTime": {
|
||||||
|
"type": "date"
|
||||||
|
},
|
||||||
|
"detectionId": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
},
|
||||||
|
"value": {
|
||||||
|
"type": "text"
|
||||||
|
},
|
||||||
|
"userId": {
|
||||||
|
"ignore_above": 1024,
|
||||||
|
"type": "keyword"
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -8,7 +8,7 @@ idstools:
|
|||||||
global: True
|
global: True
|
||||||
helpLink: rules.html
|
helpLink: rules.html
|
||||||
ruleset:
|
ruleset:
|
||||||
description: Defines the ruleset you want to run. Options are ETOPEN or ETPRO.
|
description: Defines the ruleset you want to run. Options are ETOPEN or ETPRO. -- WARNING -- Changing the ruleset will remove all existing Suricata rules of the previous ruleset and their associated overrides.'
|
||||||
global: True
|
global: True
|
||||||
regex: ETPRO\b|ETOPEN\b
|
regex: ETPRO\b|ETOPEN\b
|
||||||
helpLink: rules.html
|
helpLink: rules.html
|
||||||
|
|||||||
@@ -9,9 +9,16 @@
|
|||||||
include:
|
include:
|
||||||
- manager.sync_es_users
|
- manager.sync_es_users
|
||||||
|
|
||||||
|
socdirtest:
|
||||||
|
file.directory:
|
||||||
|
- name: /opt/so/rules/elastalert/rules
|
||||||
|
- user: 939
|
||||||
|
- group: 939
|
||||||
|
- makedirs: True
|
||||||
|
|
||||||
socdir:
|
socdir:
|
||||||
file.directory:
|
file.directory:
|
||||||
- name: /opt/so/conf/soc
|
- name: /opt/so/conf/soc/fingerprints
|
||||||
- user: 939
|
- user: 939
|
||||||
- group: 939
|
- group: 939
|
||||||
- makedirs: True
|
- makedirs: True
|
||||||
@@ -57,6 +64,22 @@ socmotd:
|
|||||||
- mode: 600
|
- mode: 600
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
|
socsigmafinalpipeline:
|
||||||
|
file.managed:
|
||||||
|
- name: /opt/so/conf/soc/sigma_final_pipeline.yaml
|
||||||
|
- source: salt://soc/files/soc/sigma_final_pipeline.yaml
|
||||||
|
- user: 939
|
||||||
|
- group: 939
|
||||||
|
- mode: 600
|
||||||
|
|
||||||
|
socsigmasopipeline:
|
||||||
|
file.managed:
|
||||||
|
- name: /opt/so/conf/soc/sigma_so_pipeline.yaml
|
||||||
|
- source: salt://soc/files/soc/sigma_so_pipeline.yaml
|
||||||
|
- user: 939
|
||||||
|
- group: 939
|
||||||
|
- mode: 600
|
||||||
|
|
||||||
socbanner:
|
socbanner:
|
||||||
file.managed:
|
file.managed:
|
||||||
- name: /opt/so/conf/soc/banner.md
|
- name: /opt/so/conf/soc/banner.md
|
||||||
|
|||||||
@@ -1008,6 +1008,11 @@ soc:
|
|||||||
jobDir: jobs
|
jobDir: jobs
|
||||||
kratos:
|
kratos:
|
||||||
hostUrl:
|
hostUrl:
|
||||||
|
elastalertengine:
|
||||||
|
communityRulesImportFrequencySeconds: 180
|
||||||
|
elastAlertRulesFolder: /opt/sensoroni/elastalert
|
||||||
|
rulesFingerprintFile: /opt/sensoroni/fingerprints/sigma.fingerprint
|
||||||
|
sigmaRulePackages: core
|
||||||
elastic:
|
elastic:
|
||||||
hostUrl:
|
hostUrl:
|
||||||
remoteHostUrls: []
|
remoteHostUrls: []
|
||||||
@@ -1049,6 +1054,15 @@ soc:
|
|||||||
- rbac/custom_roles
|
- rbac/custom_roles
|
||||||
userFiles:
|
userFiles:
|
||||||
- rbac/users_roles
|
- rbac/users_roles
|
||||||
|
strelkaengine:
|
||||||
|
compileYaraPythonScriptPath: /opt/so/conf/strelka/compile_yara.py
|
||||||
|
reposFolder: /opt/sensoroni/yara/repos
|
||||||
|
rulesRepos:
|
||||||
|
- https://github.com/Security-Onion-Solutions/securityonion-yara
|
||||||
|
yaraRulesFolder: /opt/sensoroni/yara/rules
|
||||||
|
suricataengine:
|
||||||
|
communityRulesFile: /nsm/rules/suricata/emerging-all.rules
|
||||||
|
rulesFingerprintFile: /opt/sensoroni/fingerprints/emerging-all.fingerprint
|
||||||
client:
|
client:
|
||||||
enableReverseLookup: false
|
enableReverseLookup: false
|
||||||
docsUrl: /docs/
|
docsUrl: /docs/
|
||||||
@@ -1754,3 +1768,55 @@ soc:
|
|||||||
- amber+strict
|
- amber+strict
|
||||||
- red
|
- red
|
||||||
customEnabled: false
|
customEnabled: false
|
||||||
|
detections:
|
||||||
|
viewEnabled: true
|
||||||
|
createLink: /detection/create
|
||||||
|
eventFetchLimit: 500
|
||||||
|
eventItemsPerPage: 50
|
||||||
|
groupFetchLimit: 50
|
||||||
|
mostRecentlyUsedLimit: 5
|
||||||
|
safeStringMaxLength: 100
|
||||||
|
queryBaseFilter: '_index:"*:so-detection" AND so_kind:detection'
|
||||||
|
eventFields:
|
||||||
|
default:
|
||||||
|
- so_detection.title
|
||||||
|
- so_detection.isEnabled
|
||||||
|
- so_detection.language
|
||||||
|
- so_detection.severity
|
||||||
|
queries:
|
||||||
|
- name: "All Detections"
|
||||||
|
query: "_id:*"
|
||||||
|
- name: "Custom Detections"
|
||||||
|
query: "so_detection.isCommunity:false"
|
||||||
|
- name: "All Detections - Enabled"
|
||||||
|
query: "so_detection.isEnabled:true"
|
||||||
|
- name: "All Detections - Disabled"
|
||||||
|
query: "so_detection.isEnabled:false"
|
||||||
|
- name: "Detection Type - Suricata (NIDS)"
|
||||||
|
query: "so_detection.language:suricata"
|
||||||
|
- name: "Detection Type - Sigma - All"
|
||||||
|
query: "so_detection.language:sigma"
|
||||||
|
- name: "Detection Type - Sigma - Windows"
|
||||||
|
query: 'so_detection.language:sigma AND so_detection.content: "*product: windows*"'
|
||||||
|
- name: "Detection Type - Yara (Strelka)"
|
||||||
|
query: "so_detection.language:yara"
|
||||||
|
detection:
|
||||||
|
presets:
|
||||||
|
severity:
|
||||||
|
customEnabled: false
|
||||||
|
labels:
|
||||||
|
- unknown
|
||||||
|
- informational
|
||||||
|
- low
|
||||||
|
- medium
|
||||||
|
- high
|
||||||
|
- critical
|
||||||
|
language:
|
||||||
|
customEnabled: false
|
||||||
|
labels:
|
||||||
|
- suricata
|
||||||
|
- sigma
|
||||||
|
- yara
|
||||||
|
severityTranslations:
|
||||||
|
minor: low
|
||||||
|
major: high
|
||||||
|
|||||||
@@ -22,12 +22,18 @@ so-soc:
|
|||||||
- sobridge:
|
- sobridge:
|
||||||
- ipv4_address: {{ DOCKER.containers['so-soc'].ip }}
|
- ipv4_address: {{ DOCKER.containers['so-soc'].ip }}
|
||||||
- binds:
|
- binds:
|
||||||
|
- /nsm/rules:/nsm/rules:rw #Need to tighten this up?
|
||||||
|
- /opt/so/conf/strelka:/opt/sensoroni/yara:rw
|
||||||
|
- /opt/so/rules/elastalert/rules:/opt/sensoroni/elastalert:rw
|
||||||
|
- /opt/so/conf/soc/fingerprints:/opt/sensoroni/fingerprints:rw
|
||||||
- /nsm/soc/jobs:/opt/sensoroni/jobs:rw
|
- /nsm/soc/jobs:/opt/sensoroni/jobs:rw
|
||||||
- /nsm/soc/uploads:/nsm/soc/uploads:rw
|
- /nsm/soc/uploads:/nsm/soc/uploads:rw
|
||||||
- /opt/so/log/soc/:/opt/sensoroni/logs/:rw
|
- /opt/so/log/soc/:/opt/sensoroni/logs/:rw
|
||||||
- /opt/so/conf/soc/soc.json:/opt/sensoroni/sensoroni.json:ro
|
- /opt/so/conf/soc/soc.json:/opt/sensoroni/sensoroni.json:ro
|
||||||
- /opt/so/conf/soc/motd.md:/opt/sensoroni/html/motd.md:ro
|
- /opt/so/conf/soc/motd.md:/opt/sensoroni/html/motd.md:ro
|
||||||
- /opt/so/conf/soc/banner.md:/opt/sensoroni/html/login/banner.md:ro
|
- /opt/so/conf/soc/banner.md:/opt/sensoroni/html/login/banner.md:ro
|
||||||
|
- /opt/so/conf/soc/sigma_so_pipeline.yaml:/opt/sensoroni/sigma_so_pipeline.yaml:ro
|
||||||
|
- /opt/so/conf/soc/sigma_final_pipeline.yaml:/opt/sensoroni/sigma_final_pipeline.yaml:rw
|
||||||
- /opt/so/conf/soc/custom.js:/opt/sensoroni/html/js/custom.js:ro
|
- /opt/so/conf/soc/custom.js:/opt/sensoroni/html/js/custom.js:ro
|
||||||
- /opt/so/conf/soc/custom_roles:/opt/sensoroni/rbac/custom_roles:ro
|
- /opt/so/conf/soc/custom_roles:/opt/sensoroni/rbac/custom_roles:ro
|
||||||
- /opt/so/conf/soc/soc_users_roles:/opt/sensoroni/rbac/users_roles:rw
|
- /opt/so/conf/soc/soc_users_roles:/opt/sensoroni/rbac/users_roles:rw
|
||||||
|
|||||||
7
salt/soc/files/soc/sigma_final_pipeline.yaml
Normal file
7
salt/soc/files/soc/sigma_final_pipeline.yaml
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
name: Security Onion - Final Pipeline
|
||||||
|
priority: 95
|
||||||
|
transformations:
|
||||||
|
- id: override_field_name_mapping
|
||||||
|
type: field_name_mapping
|
||||||
|
mapping:
|
||||||
|
FieldNameToOverride: NewFieldName
|
||||||
18
salt/soc/files/soc/sigma_so_pipeline.yaml
Normal file
18
salt/soc/files/soc/sigma_so_pipeline.yaml
Normal file
@@ -0,0 +1,18 @@
|
|||||||
|
name: Security Onion Baseline Pipeline
|
||||||
|
priority: 90
|
||||||
|
transformations:
|
||||||
|
- id: baseline_field_name_mapping
|
||||||
|
type: field_name_mapping
|
||||||
|
mapping:
|
||||||
|
cs-method: http.method
|
||||||
|
c-uri: http.uri
|
||||||
|
c-useragent: http.useragent
|
||||||
|
cs-version: http.version
|
||||||
|
uid: user.uid
|
||||||
|
sid: rule.uuid
|
||||||
|
answer: answers
|
||||||
|
query: dns.query.name
|
||||||
|
src_ip: destination.ip.keyword
|
||||||
|
src_port: source.port
|
||||||
|
dst_ip: destination.ip.keyword
|
||||||
|
dst_port: destination.port
|
||||||
@@ -32,6 +32,14 @@ soc:
|
|||||||
global: True
|
global: True
|
||||||
advanced: True
|
advanced: True
|
||||||
helpLink: soc-customization.html
|
helpLink: soc-customization.html
|
||||||
|
sigma_final_pipeline__yaml:
|
||||||
|
title: Final Sigma Pipeline
|
||||||
|
description: Final Processing Pipeline for Sigma Rules
|
||||||
|
syntax: yaml
|
||||||
|
file: True
|
||||||
|
global: True
|
||||||
|
advanced: True
|
||||||
|
helpLink: soc-customization.html
|
||||||
config:
|
config:
|
||||||
licenseKey:
|
licenseKey:
|
||||||
title: License Key
|
title: License Key
|
||||||
@@ -62,6 +70,11 @@ soc:
|
|||||||
global: True
|
global: True
|
||||||
advanced: True
|
advanced: True
|
||||||
modules:
|
modules:
|
||||||
|
elastalertengine:
|
||||||
|
sigmaRulePackages:
|
||||||
|
description: 'Defines the Sigma Community Ruleset you want to run: core | core+ | core++ | all. -- WARNING -- Changing the ruleset will remove all existing Sigma rules of the previous ruleset and their associated overrides.'
|
||||||
|
global: True
|
||||||
|
advanced: False
|
||||||
elastic:
|
elastic:
|
||||||
index:
|
index:
|
||||||
description: Comma-separated list of indices or index patterns (wildcard "*" supported) that SOC will search for records.
|
description: Comma-separated list of indices or index patterns (wildcard "*" supported) that SOC will search for records.
|
||||||
|
|||||||
@@ -42,8 +42,8 @@ strelka_backend:
|
|||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
- restart_policy: on-failure
|
- restart_policy: on-failure
|
||||||
- watch:
|
#- watch:
|
||||||
- file: strelkarules
|
# - file: strelkarules
|
||||||
|
|
||||||
delete_so-strelka-backend_so-status.disabled:
|
delete_so-strelka-backend_so-status.disabled:
|
||||||
file.uncomment:
|
file.uncomment:
|
||||||
|
|||||||
Reference in New Issue
Block a user