Compare commits

...

924 Commits

Author SHA1 Message Date
Mike Reeves
d3802c1668 Merge pull request #11854 from Security-Onion-Solutions/hotfix/2.4.30
Hotfix/2.4.30
2023-11-21 16:39:40 -05:00
Mike Reeves
874618d512 Merge pull request #11853 from Security-Onion-Solutions/2.4.30hf2
2.4.30 hotfix
2023-11-21 14:32:53 -05:00
Mike Reeves
fa9032b323 2.4.30 hotfix 2023-11-21 14:28:23 -05:00
Mike Reeves
17942676c6 Merge pull request #11844 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update soup
2023-11-21 10:32:24 -05:00
Mike Reeves
458c6de39d Update soup 2023-11-21 10:30:21 -05:00
Mike Reeves
a39f696a34 Merge pull request #11843 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update soup
2023-11-21 10:19:21 -05:00
Mike Reeves
9aa193af3b Update soup 2023-11-21 10:18:02 -05:00
Mike Reeves
3f1f256748 Merge pull request #11842 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update HOTFIX
2023-11-21 10:01:13 -05:00
Mike Reeves
c78ea0183f Update HOTFIX 2023-11-21 09:59:51 -05:00
Mike Reeves
e9417dd437 Merge pull request #11841 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update soup
2023-11-21 09:56:45 -05:00
Mike Reeves
14b5aa476e Update soup 2023-11-21 09:55:44 -05:00
Mike Reeves
4b0033c60a Merge pull request #11827 from Security-Onion-Solutions/hotfix/2.4.30
Hotfix 2.4.30
2023-11-20 15:26:16 -05:00
Mike Reeves
c20004c210 Merge pull request #11826 from Security-Onion-Solutions/2.4.30hf
2.4.30 hotfix
2023-11-20 11:35:11 -05:00
Mike Reeves
45dc1ce036 2.4.30 hotfix 2023-11-20 11:32:21 -05:00
Jason Ertel
0cc10fbf80 Merge pull request #11823 from Security-Onion-Solutions/jertel/igwarn
ignore libwbclient upgrade warning
2023-11-19 19:46:19 -05:00
Jason Ertel
e71ee97717 ignore libwbclient upgrade warning 2023-11-19 19:03:23 -05:00
Mike Reeves
77d0a7277a Merge pull request #11818 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update soup
2023-11-17 17:07:54 -05:00
Mike Reeves
2ae87de409 Merge branch 'hotfix/2.4.30' into TOoSmOotH-patch-2 2023-11-17 17:05:11 -05:00
Josh Brower
a69a65c44f Merge pull request #11819 from Security-Onion-Solutions/hftesting
Remove state file
2023-11-17 16:54:08 -05:00
Mike Reeves
d89beefc8c Update soup 2023-11-17 16:53:11 -05:00
Josh Brower
9c371fc374 Remove state file 2023-11-17 16:52:34 -05:00
Mike Reeves
4fb9cce41c Update signing_policies.conf 2023-11-17 16:38:50 -05:00
Mike Reeves
e226efa799 Update soup 2023-11-17 16:35:12 -05:00
Josh Brower
82a41894f3 Merge pull request #11817 from Security-Onion-Solutions/hftesting
Hftesting
2023-11-17 13:12:06 -05:00
Josh Brower
7aadc3851f Remove state file 2023-11-17 13:08:15 -05:00
Josh Brower
ca1498fca1 Dont update Defend Integration 2023-11-17 12:19:22 -05:00
Josh Brower
15fc4f2655 Merge pull request #11815 from Security-Onion-Solutions/hftesting
use updated code
2023-11-17 11:23:45 -05:00
Josh Brower
089a111ae8 use updated code 2023-11-17 11:20:13 -05:00
Josh Brower
33bd04b797 Merge pull request #11811 from Security-Onion-Solutions/hftesting
Move API check logic
2023-11-17 06:02:26 -05:00
Josh Brower
5920a14478 Move API check logic 2023-11-16 20:34:01 -05:00
Josh Brower
3ede19a106 Merge pull request #11808 from Security-Onion-Solutions/2.4/defendhotfix2
Update HOTFIX
2023-11-16 15:25:24 -05:00
weslambert
b6e2df45c7 Update HOTFIX 2023-11-16 14:48:00 -05:00
Josh Brower
af98c8e2da Merge pull request #11805 from Security-Onion-Solutions/2.4/defendhotfix2
.30 hotfix
2023-11-16 11:42:49 -05:00
Josh Brower
6b8e48c973 Remove highstate 2023-11-16 11:41:20 -05:00
Josh Brower
109ee55d8c Add to pre for .30 soup 2023-11-16 11:37:38 -05:00
Josh Brower
ff8cd194f1 Make sure kibana API is up 2023-11-16 11:21:34 -05:00
Josh Brower
d5dd0d88ed .30 hotfix 2023-11-16 10:58:23 -05:00
weslambert
46c5bf40e0 Merge pull request #11804 from Security-Onion-Solutions/fix/kibana_corrupt_integration
Discard corrupt integration
2023-11-16 10:49:39 -05:00
Wes
3ed7b36865 Discard corrupt integration 2023-11-16 15:45:38 +00:00
Mike Reeves
f036623d55 Merge pull request #11777 from Security-Onion-Solutions/2.4/dev
2.4.30
2023-11-13 15:27:24 -05:00
Mike Reeves
1204ce96f3 Merge pull request #11776 from Security-Onion-Solutions/2.4.30
2.4.30
2023-11-13 13:13:29 -05:00
Mike Reeves
bc178a9784 2.4.30 2023-11-13 13:11:49 -05:00
Mike Reeves
c338daabce Merge pull request #11769 from Security-Onion-Solutions/TOoSmOotH-patch-7
Update soup
2023-11-13 08:51:40 -05:00
Mike Reeves
fe7af49a82 Update soup 2023-11-13 08:37:46 -05:00
weslambert
aeb09b16db Merge pull request #11760 from Security-Onion-Solutions/fix/elastic_packages
Add Elastic Agent package and upgrade packages when elasticfleet.packages list changes
2023-11-10 10:20:17 -05:00
weslambert
583ec5176e Add package check 2023-11-10 10:15:52 -05:00
weslambert
4bb1dabb89 Add elastic_agent 2023-11-10 10:14:59 -05:00
Josh Brower
89c3d45abe Merge pull request #11751 from Security-Onion-Solutions/2.4/fleetresetfix2
Remove unneeded datastreams
2023-11-09 15:04:02 -05:00
Josh Brower
551f7831de Add more clarity to message 2023-11-09 15:01:56 -05:00
Josh Brower
193c9d202e Remove unneeded datastreams 2023-11-09 14:30:00 -05:00
Josh Brower
b5912fc1e4 Merge pull request #11750 from Security-Onion-Solutions/2.4/defendpolicy
Upgrade Defend Integration policy
2023-11-09 12:48:57 -05:00
Josh Brower
33f538b73e Upgrade Defend Integration policy 2023-11-09 11:52:06 -05:00
Josh Brower
d3ea5def69 Merge pull request #11747 from Security-Onion-Solutions/2.4/resetscriptfix
remove state file
2023-11-09 09:12:52 -05:00
Josh Brower
d1b6ef411b remove state file 2023-11-09 09:01:57 -05:00
Jason Ertel
8ca825b9a1 Merge pull request #11745 from Security-Onion-Solutions/jertel/yaml
re-add source pkgs from accidental commit
2023-11-09 07:19:22 -05:00
Jason Ertel
209e237d0d re-add source pkgs from accidental commit 2023-11-09 00:34:52 -05:00
Jason Ertel
325dceb01b Merge pull request #11743 from Security-Onion-Solutions/fix/elastic_template_check
Additional fixes for index template check
2023-11-09 00:15:14 -05:00
weslambert
02baa18502 Add metrics 2023-11-08 22:41:24 -05:00
Jason Ertel
268dc03131 Merge pull request #11742 from Security-Onion-Solutions/jertel/yaml
add yaml helper script; refactor python testing
2023-11-08 21:06:04 -05:00
weslambert
e39edab00d Exclude osquery and display failed name 2023-11-08 20:55:08 -05:00
weslambert
acb6e84248 Don't load index template if component template doesn't exist 2023-11-08 20:34:08 -05:00
Jason Ertel
9231c8d2f2 replace reset sed with new script 2023-11-08 19:17:32 -05:00
Jason Ertel
bc044fa2d5 more coverage 2023-11-08 18:42:06 -05:00
Jason Ertel
84b815c2ef add yaml helper script; refactor python testing 2023-11-08 18:30:05 -05:00
Jason Ertel
1ab44a40d3 add yaml helper script; refactor python testing 2023-11-08 18:29:06 -05:00
Jason Ertel
9317e51f20 add yaml helper script; refactor python testing 2023-11-08 18:26:37 -05:00
Jason Ertel
33a8ef1568 add yaml helper script; refactor python testing 2023-11-08 18:24:23 -05:00
Josh Patterson
01e846ba22 Merge pull request #11741 from Security-Onion-Solutions/issue/11738
remove comments from BPFs
2023-11-08 15:25:02 -05:00
weslambert
9df3a8fc18 Merge pull request #11740 from Security-Onion-Solutions/fix/elastic_templates
Remove template files
2023-11-08 15:20:01 -05:00
weslambert
36098e6314 Remove template files 2023-11-08 14:32:58 -05:00
Jason Ertel
32079a7bce Merge pull request #11734 from Security-Onion-Solutions/fix/elastic_scripts
Improve error handling and add retry logic
2023-11-08 12:19:00 -05:00
Jason Ertel
3701c1d847 ignore retry logging 2023-11-08 11:50:56 -05:00
m0duspwnens
f46aef1611 remove comments from BPFs 2023-11-08 11:23:19 -05:00
Jason Ertel
d256be3eb3 allow template loads to partially succeed only on the initial attempt 2023-11-08 10:32:11 -05:00
Wes
653fda124f Check expected with retry 2023-11-08 13:02:17 +00:00
Wes
b46e86c39b Extend index template loading to 60 attempts and a total of ~5 minutes 2023-11-08 02:29:09 +00:00
Wes
de9f9549af Extend template loading to 24 attempts and a total of ~2 minutes 2023-11-07 23:55:03 +00:00
weslambert
749e22e4b9 Fix if statement 2023-11-07 17:29:38 -05:00
weslambert
69ec1987af Fix if statement 2023-11-07 17:28:37 -05:00
Wes
570624da7e Remove RETURN_CODE 2023-11-07 21:09:29 +00:00
Wes
7772657b4b Remove RETURN_CODE 2023-11-07 21:06:35 +00:00
Wes
1676c84f9c Use the retry function so-elasticsearch-query 2023-11-07 19:56:50 +00:00
Jason Ertel
e665899e4d Merge pull request #11735 from Security-Onion-Solutions/fix/elastic_agent_template
Change pipeline to 1.13.1
2023-11-07 14:11:47 -05:00
weslambert
1dcca0bfd3 Change pipeline to 1.13.1 2023-11-07 12:17:51 -05:00
Wes
0b4a246ddb State file changes and retry logic 2023-11-07 16:44:42 +00:00
weslambert
f97dc70fcb Merge pull request #11732 from Security-Onion-Solutions/fix/elastic_agent_template
Change pipeline to 1.8.0
2023-11-07 09:08:25 -05:00
weslambert
cce80eb2fb Change pipeline to 1.8.0 2023-11-07 09:02:48 -05:00
Jason Ertel
b008661b6b Merge pull request #11726 from Security-Onion-Solutions/jertel/auto
improve verbosity of setup logs
2023-11-06 11:27:33 -05:00
Jason Ertel
b99c7ce76e improve verbosity of setup logs 2023-11-06 11:22:35 -05:00
Wes
c30a0d5b5b Better error handling and state file management 2023-11-06 14:29:01 +00:00
Wes
74eda68d84 Exit if unable to communicate with Elasticsearch 2023-11-06 13:16:35 +00:00
Josh Brower
ef1dfc3152 Merge pull request #11722 from Security-Onion-Solutions/2.4/packageupgrade
Set execute permissions
2023-11-06 08:06:13 -05:00
Josh Brower
f6cd35e143 Set execute permissions 2023-11-06 08:03:31 -05:00
Jason Ertel
d010af9a24 Merge pull request #11718 from Security-Onion-Solutions/jertel/auto
disregard false positives
2023-11-04 16:32:02 -04:00
Jason Ertel
7a0b21647f disregard false positives 2023-11-04 10:05:37 -04:00
Josh Patterson
610374816d Merge pull request #11714 from Security-Onion-Solutions/change/so-minion
apply es and soc states to manager if new search or hn are added
2023-11-03 16:43:16 -04:00
Josh Brower
3ff74948d8 Merge pull request #11713 from Security-Onion-Solutions/2.4/agentupdate
Upgrade Elastic Agent
2023-11-03 15:23:55 -04:00
Josh Brower
0086c24729 Upgrade Elastic Agent 2023-11-03 15:21:06 -04:00
m0duspwnens
9d2b84818f apply es and soc states to manager if new search or hn are added 2023-11-03 15:00:13 -04:00
Mike Reeves
b74aa32deb Merge pull request #11712 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update soc_elasticsearch.yaml
2023-11-03 11:33:00 -04:00
Mike Reeves
3d8663db66 Update soc_elasticsearch.yaml 2023-11-03 11:29:45 -04:00
Josh Brower
65978a340f Merge pull request #11710 from Security-Onion-Solutions/2.4/navlayerfix
exit 0
2023-11-03 11:07:10 -04:00
Josh Brower
a8b0e41dbe exit 0 2023-11-03 11:04:52 -04:00
Jason Ertel
1bc4b44be7 Merge pull request #11709 from Security-Onion-Solutions/jertel/auto
ignore malformed open canary log lines
2023-11-03 09:17:23 -04:00
Jason Ertel
1a3d4a2051 ignore malformed open canary log lines 2023-11-03 09:14:26 -04:00
Josh Brower
9d639df882 Merge pull request #11708 from Security-Onion-Solutions/2.4/metadatafix2
Dont overwrite metadata
2023-11-03 08:47:48 -04:00
Josh Brower
8c7767b381 Dont overwrite metadata 2023-11-03 08:41:33 -04:00
weslambert
96582add5e Merge pull request #11704 from Security-Onion-Solutions/feature/integrations_checkpoint_vsphere
Checkpoint and VSphere Integrations
2023-11-02 17:17:03 -04:00
Wes
5bfef3f527 Add checkpoint and vsphere templates 2023-11-02 21:10:01 +00:00
Wes
3875970dc5 Add checkpoint and vsphere packages 2023-11-02 21:09:37 +00:00
Jason Ertel
7aa4f28524 Merge pull request #11702 from Security-Onion-Solutions/jertel/auto
ignore connectivity problems to docker containers during startup
2023-11-02 16:48:09 -04:00
Jason Ertel
96fdfb3829 ignore connectivity problems to docker containers during startup 2023-11-02 16:46:41 -04:00
weslambert
ac593e4632 Merge pull request #11701 from Security-Onion-Solutions/fix/elastic_templates_common
Don't source so-elastic-fleet-common if not there
2023-11-02 16:43:27 -04:00
weslambert
51e7861757 Don't source so-elastic-fleet-common if not there 2023-11-02 16:41:34 -04:00
Jason Ertel
6332df04d1 Merge pull request #11695 from Security-Onion-Solutions/jertel/auto
Jertel/auto
2023-11-02 13:07:09 -04:00
Jason Ertel
32701b5941 more log bypass 2023-11-02 12:50:12 -04:00
Josh Brower
0dec6693dc Merge pull request #11678 from Security-Onion-Solutions/2.4/fleetreset
Add Elastic Fleet reset script
2023-11-02 11:33:58 -04:00
Jason Ertel
41a6ab5b4f Merge pull request #11691 from Security-Onion-Solutions/jertel/auto
more log bypass
2023-11-02 10:41:17 -04:00
Jason Ertel
e18e0fd69a more log bypass 2023-11-02 10:39:14 -04:00
Josh Brower
2c0e287f8c Fix name 2023-11-02 10:34:24 -04:00
Josh Patterson
9a76cfe3d3 Merge pull request #11690 from Security-Onion-Solutions/upgrade/salt3006.3v2
fix UPGRADECOMMAND used for distrib salt upgrade. remove unneeded vars
2023-11-02 10:28:29 -04:00
m0duspwnens
6c4dc7cc09 fix UPGRADECOMMAND used for distrib salt upgrade. remove unneeded vars 2023-11-02 10:23:03 -04:00
Josh Brower
5388b92865 Refactor & cleanup 2023-11-02 10:20:32 -04:00
Jason Ertel
f932444101 Merge pull request #11689 from Security-Onion-Solutions/jertel/auto
more log bypass
2023-11-02 10:02:13 -04:00
Jason Ertel
1d2518310d more log bypass 2023-11-02 09:59:45 -04:00
weslambert
e10f043b1c Merge pull request #11688 from Security-Onion-Solutions/fix/integrations_roles
Add eval and import roles
2023-11-02 09:58:40 -04:00
weslambert
65735fc4d3 Add eval and import roles 2023-11-02 09:54:01 -04:00
Jason Ertel
b7f516fca4 Merge pull request #11687 from Security-Onion-Solutions/jertel/auto
adjust log filter to include all hosts
2023-11-02 09:24:08 -04:00
Jason Ertel
c8d8997119 adjust log filter to include all hosts 2023-11-02 09:21:57 -04:00
Josh Brower
c230cf4eb7 Formatting 2023-11-01 17:00:32 -04:00
Josh Brower
344dd7d61f Add Elastic Fleet reset script 2023-11-01 16:50:20 -04:00
Mike Reeves
cd8949d26b Merge pull request #11677 from Security-Onion-Solutions/lowram
Allow 16GB of memory
2023-11-01 16:38:40 -04:00
weslambert
f9e2940181 Merge pull request #11676 from Security-Onion-Solutions/feature/sublime_platform_integration
Sublime Platform Integration
2023-11-01 16:13:57 -04:00
Wes
f33079f1e3 Make settings global 2023-11-01 20:09:56 +00:00
Mike Reeves
e6a0838e4c Add memory restrictions 2023-11-01 15:26:24 -04:00
Mike Reeves
cc93976db9 Add memory restrictions 2023-11-01 15:17:23 -04:00
Mike Reeves
b3b67acf07 Add memory restrictions 2023-11-01 15:11:54 -04:00
Josh Patterson
64926941dc Merge pull request #11674 from Security-Onion-Solutions/foxtrot
Foxtrot
2023-11-01 15:03:30 -04:00
Wes
c32935e2e6 Remove optional integration from configuration if not enabled 2023-11-01 17:02:43 +00:00
Mike Reeves
4f98beaf9e Merge pull request #11671 from Security-Onion-Solutions/TOoSmOotH-patch-4
Remove legacy pillar info
2023-11-01 13:00:34 -04:00
Wes
655c88cd09 Make sure enabled_nodes is populated 2023-11-01 16:47:51 +00:00
Mike Reeves
f62e02a477 Delete pillar/thresholding/pillar.example 2023-11-01 10:42:29 -04:00
Mike Reeves
2b3e405b2d Delete pillar/thresholding/pillar.usage 2023-11-01 10:41:40 -04:00
Josh Patterson
59328d3909 Merge pull request #11670 from Security-Onion-Solutions/fix/soupagrepo
Fix/soupagrepo
2023-11-01 10:36:17 -04:00
m0duspwnens
4d7b1095b7 Merge remote-tracking branch 'origin/2.4/dev' into fix/soupagrepo 2023-11-01 10:31:59 -04:00
m0duspwnens
338146fedd fix repo update during soup for airgap 2023-11-01 10:19:56 -04:00
Wes
bca1194a46 Sublime SOC Action 2023-11-01 14:01:55 +00:00
Wes
a0926b7b87 Load optional integrations 2023-11-01 13:59:24 +00:00
Wes
44e45843bf Change optional integration Fleet configuration 2023-11-01 13:52:38 +00:00
Wes
9701d0ac20 Optional integration Fleet configuration 2023-11-01 13:47:20 +00:00
Wes
23ee9c2bb0 Sublime Platform integration 2023-11-01 13:41:40 +00:00
Wes
51247be6b9 Sublime Platform integration defaults 2023-11-01 13:37:52 +00:00
Wes
4dc64400c5 Support document_id 2023-11-01 13:36:32 +00:00
Wes
ae45d40eca Add Sublime Platform ingest pipeline 2023-11-01 13:34:30 +00:00
Mike Reeves
ebf982bf86 Merge pull request #11666 from Security-Onion-Solutions/TOoSmOotH-patch-3
Remove unused scripts and functions
2023-10-31 15:18:23 -04:00
Mike Reeves
d07cfdd3fe Update so-functions 2023-10-31 13:10:55 -04:00
Mike Reeves
497294c363 Delete salt/common/tools/sbin/so-zeek-logs 2023-10-31 12:57:10 -04:00
Mike Reeves
cc3a69683c Delete salt/manager/tools/sbin/so-allow-view 2023-10-31 12:55:47 -04:00
Mike Reeves
0c98bd96c7 Delete salt/idstools/tools/sbin/so-rule
UI does this now
2023-10-31 12:52:00 -04:00
Jason Ertel
a6d456e108 Merge pull request #11665 from Security-Onion-Solutions/jertel/auto
ignore specific Suricata errors
2023-10-31 11:20:28 -04:00
Jason Ertel
c420e198fb ignore specific Suricata errors 2023-10-31 11:18:39 -04:00
weslambert
5a85003952 Merge pull request #11664 from Security-Onion-Solutions/fix/elastic_import
Add import roles
2023-10-31 10:47:13 -04:00
weslambert
c354924b68 Add import roles 2023-10-31 10:05:29 -04:00
Jason Ertel
db0d687b87 Merge pull request #11661 from Security-Onion-Solutions/fix/elastic_eval_roles
Add roles for eval mode
2023-10-30 22:01:22 -04:00
weslambert
ed6473a34b Add roles for eval mode 2023-10-30 20:41:49 -04:00
Josh Patterson
1b99d5081a Merge pull request #11659 from Security-Onion-Solutions/issue/11457
ensure networkminer is latest version
2023-10-30 16:20:36 -04:00
m0duspwnens
07e51121ba ensure networkminer is latest version 2023-10-30 16:11:36 -04:00
weslambert
9a1e95cd09 Merge pull request #11648 from Security-Onion-Solutions/fix/ilm_remove_policy
Remove ILM policies for Cases and OSQuery manager indices
2023-10-27 17:28:59 -04:00
weslambert
76dd6f07ab Remove policy for OSQuery manager indices 2023-10-27 17:26:33 -04:00
weslambert
c955f9210a Remove policy for Cases indices 2023-10-27 17:24:27 -04:00
Josh Patterson
d35483aa02 Merge pull request #11647 from Security-Onion-Solutions/upgrade/salt3006.3v2
Upgrade/salt3006.3v2
2023-10-27 14:37:16 -04:00
Jorge Reyes
a9284b35a2 Merge pull request #11644 from Security-Onion-Solutions/bravo
UPGRADE: influxdb 2.7.1 & telegraf 1.28.2
2023-10-27 12:16:48 -04:00
Jason Ertel
58cab35a4c Merge pull request #11643 from Security-Onion-Solutions/kilo
oidc
2023-10-27 11:21:20 -04:00
Jason Ertel
3a83c52660 minor updates 2023-10-27 11:20:05 -04:00
Jason Ertel
d42b5ef901 remove unused url props to avoid kratos complaining about invalid urls when they're blank 2023-10-27 11:18:56 -04:00
m0duspwnens
2b511cef77 Merge branch 'upgrade/salt3006.3' into upgrade/salt3006.3v2 2023-10-27 10:58:09 -04:00
Josh Patterson
4bbcc5002a Revert "Revert "Upgrade/salt3006.3""
This reverts commit c41e19ad0b.
2023-10-27 10:56:45 -04:00
Mike Reeves
f1dbea6e2d Merge pull request #11623 from Security-Onion-Solutions/warmui
Warm Node UI Changes
2023-10-27 10:36:23 -04:00
Mike Reeves
25f1a0251f Annotation changes for warm node 2023-10-27 09:08:07 -04:00
Mike Reeves
87494f64c7 Annotation changes for warm node 2023-10-27 09:06:12 -04:00
Mike Reeves
ce1858fe05 Annotation changes for warm node 2023-10-27 09:02:39 -04:00
Mike Reeves
9fc3a73035 Annotation changes for warm node 2023-10-27 08:58:08 -04:00
Josh Brower
0d52efafa8 Merge pull request #11637 from Security-Onion-Solutions/2.4/kibanauser
2.4/kibanauser
2023-10-27 08:43:12 -04:00
defensivedepth
3b63ef149a Merge remote-tracking branch 'remotes/origin/2.4/dev' into 2.4/kibanauser 2023-10-27 07:50:58 -04:00
defensivedepth
cc3ee43192 Make dirs as needed 2023-10-27 07:49:34 -04:00
Mike Reeves
b37e38e3c3 Update defaults.yaml 2023-10-26 16:03:58 -04:00
Jorge Reyes
25982b79ab Merge pull request #11633 from Security-Onion-Solutions/reyesj2/influxdb_config
UPGRADE: Influxdb 2.7.1 & telegraf 1.28.2
2023-10-26 14:37:09 -04:00
Jason Ertel
cb9d72ebd7 switch back to kilo version 2023-10-26 14:19:59 -04:00
m0duspwnens
7e8f3b753f add minion name to log, update comment 2023-10-26 13:19:04 -04:00
reyesj2
47373adad2 Specify config.yaml in config_path. Otherwise when no influxd.bolt exists influxdb will fail to read the config file and won't create a new db.
Signed-off-by: reyesj2 <94730068+reyesj2@users.noreply.github.com>
2023-10-26 13:15:40 -04:00
m0duspwnens
6891a95254 remove wait_for_salt_minion from so-functions 2023-10-26 13:02:39 -04:00
Mike Reeves
2e0100fd35 Update defaults.yaml 2023-10-26 12:37:55 -04:00
Jason Ertel
a969c319f5 Merge pull request #11631 from Security-Onion-Solutions/kilo
oidc
2023-10-26 12:30:06 -04:00
Jason Ertel
4942f83d4f adjust version to match target branch 2023-10-26 11:45:39 -04:00
Josh Brower
6f4566c23e Merge pull request #11609 from Security-Onion-Solutions/2.4/kibanauser
Add kibana curl config
2023-10-26 10:42:32 -04:00
Wes
891ea997e7 Add lifecycle policies and warm settings 2023-10-26 12:25:37 +00:00
Mike Reeves
01810a782c Annotation changes for warm node 2023-10-25 16:46:30 -04:00
Mike Reeves
6d6292714f Annotation changes for warm node 2023-10-25 16:21:47 -04:00
Mike Reeves
88fb7d06e6 Annotation changes for warm node 2023-10-25 16:20:28 -04:00
Josh Patterson
39abe19cfd Update config.map.jinja 2023-10-25 16:17:06 -04:00
Josh Patterson
807b40019f Update soc_elasticsearch.yaml 2023-10-25 16:16:48 -04:00
Josh Patterson
5f168a33ed Update defaults.yaml 2023-10-25 16:16:01 -04:00
Mike Reeves
d1170cb69f Update soc_elasticsearch.yaml 2023-10-25 16:05:20 -04:00
m0duspwnens
19fdc9319b fix role update 2023-10-25 15:58:26 -04:00
Mike Reeves
dc53b49f15 Update soup 2023-10-25 15:53:39 -04:00
Josh Patterson
af4b34801f Update defaults.yaml 2023-10-25 15:48:27 -04:00
Josh Patterson
1ae8896a05 Update config.map.jinja 2023-10-25 15:47:40 -04:00
Mike Reeves
6fb0c5dbfe Annotation changes for warm node 2023-10-25 15:37:36 -04:00
Mike Reeves
58bf6d3eff Merge branch '2.4/dev' of github.com:Security-Onion-Solutions/securityonion into warmui 2023-10-25 15:37:14 -04:00
Mike Reeves
a887551dad Annotation changes for warm node 2023-10-25 15:22:47 -04:00
Jason Ertel
b20177b0ef Merge branch '2.4/dev' into kilo 2023-10-25 15:19:57 -04:00
defensivedepth
1e710a22ce Merge remote-tracking branch 'remotes/origin/2.4/dev' into 2.4/kibanauser 2023-10-25 11:33:38 -04:00
Josh Patterson
d562445686 Merge pull request #11619 from Security-Onion-Solutions/revert-11612-upgrade/salt3006.3
Revert "Upgrade/salt3006.3"
2023-10-25 11:28:14 -04:00
Josh Patterson
c41e19ad0b Revert "Upgrade/salt3006.3" 2023-10-25 11:01:13 -04:00
m0duspwnens
a3e6b1ee1d change generate_ssl wait_for_salt_minion 2023-10-25 09:26:36 -04:00
Jason Ertel
a28cc274ba Merge branch '2.4/dev' into kilo 2023-10-25 09:04:36 -04:00
Jason Ertel
a66006c8a6 minor updates 2023-10-25 09:04:23 -04:00
defensivedepth
3ad480453a Rename to remove dupe 2023-10-25 07:20:07 -04:00
Josh Patterson
205748e992 Merge pull request #11613 from Security-Onion-Solutions/issue/11610
fix issue/11610
2023-10-24 18:16:44 -04:00
m0duspwnens
dfe707ab64 fix issue/11610 2023-10-24 17:26:39 -04:00
Josh Patterson
308e5ea505 Merge pull request #11612 from Security-Onion-Solutions/upgrade/salt3006.3
Upgrade/salt3006.3
2023-10-24 16:45:12 -04:00
m0duspwnens
3e343bff84 fix line to log properly 2023-10-24 16:40:51 -04:00
m0duspwnens
1d6e32fbab dont exit if salt isnt running 2023-10-24 15:08:50 -04:00
defensivedepth
310a6b4f27 Add kibana curl config 2023-10-24 14:21:01 -04:00
m0duspwnens
180ba3a958 if deb fam, stop salt-master and salt-minion after salt upgrade 2023-10-24 13:24:52 -04:00
m0duspwnens
6d3465626e if deb fam, stop salt-master and salt-minion after salt upgrade 2023-10-24 12:52:25 -04:00
m0duspwnens
fab91edd2d Merge remote-tracking branch 'origin/2.4/dev' into upgrade/salt3006.3 2023-10-24 09:41:23 -04:00
m0duspwnens
752390be2e merge with dev, fix confict 2023-10-24 09:40:09 -04:00
Mike Reeves
02639d3bc5 Merge pull request #11606 from Security-Onion-Solutions/TOoSmOotH-patch-2
Enable http2 for Suricata
2023-10-24 09:23:07 -04:00
Mike Reeves
4a3fc06a4d Enable http2 for Suricata 2023-10-24 09:18:10 -04:00
weslambert
0c2b3f3c62 Merge pull request #11600 from Security-Onion-Solutions/fix/suricata_pkt_src
Parse pkt_src for Suricata logs
2023-10-23 15:51:30 -04:00
weslambert
660020cc76 Parse pkt_src for Suricata logs 2023-10-23 15:45:41 -04:00
Jorge Reyes
b59a95b72f Merge pull request #11594 from Security-Onion-Solutions/fix/playbookrule
FIX: Add -watch to soctopus saltstate for file SOCtopus.conf. Makes contai…
2023-10-23 11:51:53 -04:00
reyesj2
030a667d26 Add -watch to soctopus saltstate for file SOCtopus.conf. Makes container restart @ highstate if file is updated.
Signed-off-by: reyesj2 <94730068+reyesj2@users.noreply.github.com>
2023-10-23 11:47:14 -04:00
Josh Patterson
a40760e601 Merge pull request #11592 from Security-Onion-Solutions/minechanges
Minechanges
2023-10-23 10:37:05 -04:00
m0duspwnens
dc3ca99c12 ask the minion if it can see itself in the mine 2023-10-20 17:16:33 -04:00
m0duspwnens
7e3aa11a73 check mine is populated with ip before telling node to highstate 2023-10-20 16:27:20 -04:00
m0duspwnens
c409339446 change post setup highstate cron to 5 minutes since accepting minion runs a highstate 2023-10-20 13:46:24 -04:00
m0duspwnens
c588bf4395 update mine and highstate minion when added 2023-10-20 13:43:12 -04:00
m0duspwnens
6d77b1e4c3 continue loop if minion not in mine 2023-10-20 13:41:53 -04:00
m0duspwnens
99662c999f log operation and minion target 2023-10-20 13:41:24 -04:00
m0duspwnens
ef2b89f5bf fix attempts logic 2023-10-20 13:40:40 -04:00
Josh Patterson
2878f82754 Merge pull request #11582 from Security-Onion-Solutions/minechanges
handle a minion not being in the mine data return
2023-10-20 10:07:44 -04:00
m0duspwnens
2e16250c93 handle a minion not being in the mine data return 2023-10-20 10:00:39 -04:00
m0duspwnens
f03bbdbc09 Merge remote-tracking branch 'origin/2.4/dev' into upgrade/salt3006.3 2023-10-19 17:01:12 -04:00
m0duspwnens
dbfccdfff8 fix logging when using wait_for_minion 2023-10-19 16:53:03 -04:00
m0duspwnens
dfcbbfd157 update call to wait_for_salt_minion with new options in so-functions 2023-10-19 15:58:50 -04:00
m0duspwnens
37e803917e have soup wait_for_salt_minion() before running any highstate 2023-10-19 15:58:10 -04:00
m0duspwnens
66ee074795 add wait_for_salt_minion to so-common 2023-10-19 15:57:24 -04:00
m0duspwnens
90bde94371 handle debian family salt upgrade for soup 2023-10-19 13:46:48 -04:00
m0duspwnens
84f8e1cc92 debian family upgrade salt without -r flag 2023-10-19 13:46:07 -04:00
m0duspwnens
e3830fa286 all more os to set_os in so-common 2023-10-19 13:43:03 -04:00
m0duspwnens
13a5c8baa7 remove extra || 2023-10-19 11:19:51 -04:00
m0duspwnens
c5610edd83 handle salt for r9 and c9 2023-10-19 11:12:20 -04:00
weslambert
5119e6c45a Merge pull request #11570 from Security-Onion-Solutions/feature/additional_integrations
Additional integrations
2023-10-19 09:30:40 -04:00
m0duspwnens
02e22c87e8 Merge remote-tracking branch 'origin/2.4/dev' into upgrade/salt3006.3 2023-10-19 09:15:31 -04:00
Mike Reeves
0772926992 Merge pull request #11573 from Security-Onion-Solutions/minechanges 2023-10-18 19:45:23 -04:00
m0duspwnens
b2bb92d413 remove extra space 2023-10-18 19:38:19 -04:00
Mike Reeves
19bebe44aa Merge pull request #11572 from Security-Onion-Solutions/minechanges 2023-10-18 19:37:34 -04:00
m0duspwnens
f30a652e19 add back redirects 2023-10-18 19:31:45 -04:00
m0duspwnens
ff18b1f074 remove redirect 2023-10-18 18:45:14 -04:00
m0duspwnens
9eb682bc40 generate_ca after salt-master and salt-minion states run 2023-10-18 18:37:35 -04:00
Wes
c135f886a9 Remove Carbon Black Cloud integration 2023-10-18 20:41:34 +00:00
Wes
28b7a24cc1 Add templates for integrations 2023-10-18 20:36:04 +00:00
m0duspwnens
a52ee063e5 use generate_ca and generate_ssl functions and move them up 2023-10-18 16:35:33 -04:00
Wes
767a54c91b Add pkgs 2023-10-18 20:07:26 +00:00
m0duspwnens
ac28e1b967 verify crt and key differently in checkmine 2023-10-18 15:53:12 -04:00
Jorge Reyes
5e10a0d9e2 Merge pull request #11568 from Security-Onion-Solutions/2.4/zeek6
Add back plugin-tds/ plugin-profinet. Using patched versions for Zeek 6
2023-10-18 15:39:30 -04:00
reyesj2
dd28dc6ddd Add back plugin-tds/ plugin-profinet. Using patched versions for Zeek 6
Signed-off-by: reyesj2 <94730068+reyesj2@users.noreply.github.com>
2023-10-18 15:30:32 -04:00
m0duspwnens
e58c1e189c use x509 instead of file for onchanges 2023-10-18 15:10:17 -04:00
m0duspwnens
1c1b23c328 fix mine update for ca 2023-10-18 15:07:18 -04:00
m0duspwnens
2206cdb0fa change soup comment 2023-10-18 15:04:39 -04:00
m0duspwnens
1999db0bb3 apply ca state early in setup 2023-10-18 15:02:22 -04:00
m0duspwnens
c3cde61202 docker service watches and requires the intca 2023-10-18 15:01:26 -04:00
m0duspwnens
8e68f96316 check that the manager has a ca in the mine and that it is valid 2023-10-18 13:59:15 -04:00
m0duspwnens
138aa9c554 update the mine with the ca when it is created or changed 2023-10-18 13:54:14 -04:00
weslambert
f0e380870d Merge pull request #11567 from Security-Onion-Solutions/fix/mhr_docs
Add note regarding DNS resolver
2023-10-18 13:46:25 -04:00
weslambert
34717fb65e Add note regarding DNS resolver 2023-10-18 13:44:09 -04:00
Josh Patterson
d81dfb99d0 Merge pull request #11563 from Security-Onion-Solutions/minechanges
Minechanges
2023-10-17 17:36:46 -04:00
m0duspwnens
fb9a0ab8b6 endif not fi in jinja 2023-10-17 17:33:53 -04:00
m0duspwnens
928fb23e96 only add node to pillar if returned ip from mine 2023-10-17 17:28:28 -04:00
m0duspwnens
d9862aefcf handle mine.p not being present. only check if mine_ip exists, dont compare to alived ip 2023-10-17 17:09:52 -04:00
m0duspwnens
496b97d706 handle the mine file not being present before checking the size 2023-10-17 15:42:42 -04:00
weslambert
830b5b9a21 Merge pull request #11560 from Security-Onion-Solutions/foxtrot
Elastic 8.10.4
2023-10-17 13:47:21 -04:00
weslambert
06e731c762 Update VERSION 2023-10-17 13:33:12 -04:00
weslambert
be2a829524 Elastic 8.10.4 2023-10-17 10:49:03 -04:00
weslambert
8cab242ad0 Elastic 8.10.4 2023-10-17 10:48:31 -04:00
weslambert
99054a2687 Elastic 8.10.4 2023-10-17 10:47:26 -04:00
weslambert
adcb7840bd Elastic 8.10.3 2023-10-17 10:38:20 -04:00
weslambert
8db6fef92d Elastic 8.10.3 2023-10-17 10:35:36 -04:00
weslambert
24329e3731 Update config_saved_objects.ndjson 2023-10-17 10:34:38 -04:00
weslambert
1db88bdbb5 Update so-common 2023-10-17 10:33:39 -04:00
weslambert
7c2cdb78e9 Update VERSION 2023-10-17 10:31:53 -04:00
Josh Patterson
e858a1211e Merge pull request #11558 from Security-Onion-Solutions/excludelogfp
mark suricata 7 log line as fp fo so-log-check
2023-10-17 10:02:21 -04:00
m0duspwnens
01cb0fccb6 mark suricata 7 log line as fp fo so-log-check 2023-10-17 10:01:11 -04:00
Josh Patterson
86394dab01 Merge pull request #11555 from Security-Onion-Solutions/minechanges
Minechanges
2023-10-16 17:32:16 -04:00
m0duspwnens
53fcafea50 redo how we check if salt-master is ready and accessible 2023-10-16 16:31:43 -04:00
Jorge Reyes
574a81da7f Merge pull request #11554 from Security-Onion-Solutions/2.4/zeek6
Zeek 6 upgrade
2023-10-16 15:52:48 -04:00
reyesj2
ed693a7ae6 Remove commented lines in defaults.yaml to avoid UI issues.
Signed-off-by: reyesj2 <94730068+reyesj2@users.noreply.github.com>
2023-10-16 15:48:51 -04:00
reyesj2
e5c936e8cf Replace external zeek-community-id with builtin community-id. Disable plugin-tds + plugin-profinet. Not updated for Zeek 6.x
Signed-off-by: reyesj2 <94730068+reyesj2@users.noreply.github.com>
2023-10-16 15:18:26 -04:00
m0duspwnens
9f3a9dfab0 reorder salt.master state 2023-10-16 15:00:53 -04:00
m0duspwnens
c0030bc513 dont need to restart minion service when just adding sleep delay on service start 2023-10-16 15:00:07 -04:00
m0duspwnens
a637b0e61b apply salt.master and minion state early in setup to prevent the services from restarting later in setup 2023-10-16 14:58:58 -04:00
Jason Ertel
2f0e673ec3 Merge pull request #11552 from Security-Onion-Solutions/jertel/auto
only add heavynodes to remoteHostUrls
2023-10-16 13:10:10 -04:00
Jason Ertel
84c39b5de7 only add heavynodes to remoteHostUrls 2023-10-16 13:01:13 -04:00
m0duspwnens
07902d17cc display container dl status during soup 2023-10-16 11:20:19 -04:00
m0duspwnens
1a7761c531 display container dl status during soup 2023-10-16 11:00:31 -04:00
m0duspwnens
2773da5a12 run the checkmine engine under master instead of minion 2023-10-16 10:34:45 -04:00
m0duspwnens
e23b3a62f3 default interval of 60s 2023-10-13 16:24:11 -04:00
m0duspwnens
57684efddf checkmine looks for 1 byte file and verify mine ip is correct 2023-10-13 16:23:16 -04:00
m0duspwnens
1641aa111b add checkmine back 2023-10-13 13:46:31 -04:00
Jason Ertel
ca2530e07f Merge pull request #11535 from Security-Onion-Solutions/jertel/auto
avoid rebooting when testing deb installs
2023-10-12 16:30:24 -04:00
Mike Reeves
104b53c6ec Merge pull request #11534 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update HOTFIX
2023-10-12 16:20:37 -04:00
Mike Reeves
6c5f8e4e2d Update HOTFIX 2023-10-12 16:19:59 -04:00
Mike Reeves
b8d586addd Merge pull request #11533 from Security-Onion-Solutions/2.4/main
2.4/main
2023-10-12 16:19:29 -04:00
Mike Reeves
1b5cd4f53a Merge pull request #11532 from Security-Onion-Solutions/hotfix/2.4.20
Hotfix 2.4.20
2023-10-12 16:16:49 -04:00
m0duspwnens
d2002a5158 add additional comments 2023-10-12 15:58:33 -04:00
m0duspwnens
5250292e95 only allow stable install type. require -r to be used 2023-10-12 15:54:22 -04:00
Mike Reeves
acc6715f90 Merge pull request #11531 from Security-Onion-Solutions/2.4.20hf
2.4.20 hotfix
2023-10-12 15:52:44 -04:00
Mike Reeves
b6af59d9b0 2.4.20 hotfix 2023-10-12 15:47:53 -04:00
Jason Ertel
49a651fd72 adjust var name 2023-10-12 15:43:22 -04:00
m0duspwnens
2d688331df handle version install for stable and onedir install type 2023-10-12 15:32:04 -04:00
m0duspwnens
b12c4a96e9 remove files 2023-10-12 15:11:25 -04:00
m0duspwnens
6dd06c0fe9 change install_centos_onedir to install version provided from command line 2023-10-12 15:07:47 -04:00
Jason Ertel
17ae9b3349 avoid reboot during testing 2023-10-12 13:54:07 -04:00
m0duspwnens
8dc163f074 use script from develop branch 2023-10-12 13:09:07 -04:00
Josh Brower
8ce70e1f18 Merge pull request #11525 from Security-Onion-Solutions/hotfixfunctions
Apply named state
2023-10-12 11:05:32 -04:00
defensivedepth
98eab906af Apply named state 2023-10-12 11:00:24 -04:00
Josh Brower
d558f20715 Merge pull request #11524 from Security-Onion-Solutions/hotfixfunctions
Apply state correctly
2023-10-12 10:56:43 -04:00
defensivedepth
967138cdff Apply state correctly 2023-10-12 10:54:26 -04:00
Josh Brower
c76ac717f2 Merge pull request #11522 from Security-Onion-Solutions/hotfixfunctions
Add hotfix changes
2023-10-12 09:52:55 -04:00
defensivedepth
a671ac387a Add hotfix changes 2023-10-12 09:45:20 -04:00
m0duspwnens
ab4c5acd0c update bootstrap-salt.sh with stable branch 2023-10-12 09:28:07 -04:00
defensivedepth
1043315e6b Manage Elastic Defend Integration manually 2023-10-12 09:22:26 -04:00
m0duspwnens
d357864d69 fix upgrade_salt function for oel 2023-10-11 15:32:11 -04:00
Jason Ertel
44b855dd93 merge 2.4/dev 2023-10-11 13:35:16 -04:00
m0duspwnens
2094b4f688 upgrade to salt 3006.3 2023-10-11 09:04:36 -04:00
Josh Patterson
5252482fe3 Merge pull request #11503 from Security-Onion-Solutions/minechanges
Minechanges
2023-10-10 16:33:17 -04:00
m0duspwnens
abeebc7bc4 Merge remote-tracking branch 'origin/2.4/dev' into minechanges 2023-10-10 13:13:55 -04:00
m0duspwnens
4193130ed0 reduce salt mine interval to 25 minutes 2023-10-10 13:07:12 -04:00
m0duspwnens
89467adf9c batch the salt mine update 2023-10-10 13:05:43 -04:00
m0duspwnens
a283e7ea0b remove checkmine salt engine 2023-10-10 13:00:54 -04:00
Mike Reeves
a54479d603 Merge pull request #11497 from Security-Onion-Solutions/TOoSmOotH-patch-9
Update VERSION
2023-10-10 11:07:51 -04:00
Mike Reeves
49ebbf3232 Update VERSION 2023-10-10 11:05:39 -04:00
m0duspwnens
05da5c039c Merge remote-tracking branch 'origin/2.4/dev' into minechanges 2023-10-10 11:02:19 -04:00
Josh Patterson
f3d0248ec5 Merge pull request #11496 from Security-Onion-Solutions/fix/ping
accept icmp on input chain
2023-10-10 10:59:05 -04:00
m0duspwnens
4dc24b22c7 accept icmp on input chain 2023-10-10 10:51:59 -04:00
Mike Reeves
fc0e3c0124 Merge pull request #11476 from Security-Onion-Solutions/2.4/dev
2.4.20
2023-10-06 16:45:11 -04:00
Mike Reeves
32c1d6f95c Merge pull request #11475 from Security-Onion-Solutions/2.4.20
2.4.20
2023-10-05 11:41:55 -04:00
Mike Reeves
c25aed9a2b Update DOWNLOAD_AND_VERIFY_ISO.md 2023-10-05 11:37:49 -04:00
Mike Reeves
d79e27774c 2.4.20 2023-10-05 11:27:48 -04:00
Mike Reeves
194178a250 Merge pull request #11465 from Security-Onion-Solutions/fix/pkgs
Fix/pkgs
2023-10-03 10:17:37 -04:00
m0duspwnens
d78b55873d remove mariadb-devel 2023-10-03 10:15:28 -04:00
Mike Reeves
f3ba28062b Remove MySQL 2023-10-03 10:05:56 -04:00
m0duspwnens
2434ce14d3 remove removing mariadb-devel 2023-10-03 10:01:07 -04:00
m0duspwnens
66be04e78a remove mariadb 2023-10-03 09:53:40 -04:00
Jason Ertel
62e9472f1a Merge pull request #11464 from Security-Onion-Solutions/jertel/lc
exclude known issues
2023-10-03 09:46:18 -04:00
Jason Ertel
c699c2fe2a exclude known issues 2023-10-03 09:43:29 -04:00
Mike Reeves
a35889ebdc Merge pull request #11461 from Security-Onion-Solutions/fix/pkgs 2023-10-02 17:38:38 -04:00
m0duspwnens
8995752c27 let openssl-devel be installed with mariadb 2023-10-02 16:17:26 -04:00
m0duspwnens
57e76232ec openssl pkgs in own state 2023-10-02 15:48:53 -04:00
m0duspwnens
d7a14d9e00 update holds 2023-10-02 15:08:22 -04:00
m0duspwnens
6b90961e87 openssl-libs 2023-10-02 14:26:28 -04:00
m0duspwnens
6547afe6c0 dont hold openssl-devel 2023-10-02 13:35:00 -04:00
m0duspwnens
3a5c6ee43a install version lock before we try to hold pkgs 2023-10-02 12:09:13 -04:00
m0duspwnens
0f08d5d640 install openssl version 1:3.0.7-16.0.1.el9_2 2023-10-02 11:43:03 -04:00
m0duspwnens
f85dd910a3 hold openssl from update during setup 2023-10-02 11:13:08 -04:00
m0duspwnens
c1ab8952eb hold openssl-devel 2023-10-02 10:59:51 -04:00
m0duspwnens
dfe399291f hold openssl-libs 2023-10-02 10:54:41 -04:00
m0duspwnens
70a36bafa5 remove - 2023-10-02 10:38:54 -04:00
m0duspwnens
381d95e032 Merge remote-tracking branch 'origin/2.4/dev' into fix/pkgs 2023-10-02 10:37:12 -04:00
m0duspwnens
cd8a74290b hold openssl version 2023-10-02 10:36:17 -04:00
Jason Ertel
d91eaa9ae5 Merge pull request #11448 from Security-Onion-Solutions/jertel/lc
fix exclusion
2023-09-30 18:16:23 -04:00
Jason Ertel
8c7933cd60 fix exclusion 2023-09-30 18:11:29 -04:00
Jason Ertel
88f461042d Merge pull request #11442 from Security-Onion-Solutions/jertel/lc
more known errors
2023-09-29 21:43:51 -04:00
Jason Ertel
ea085c5ff6 more known errors 2023-09-29 21:38:13 -04:00
m0duspwnens
39ea1d317d add comment 2023-09-29 17:12:14 -04:00
m0duspwnens
827ed7b273 run salt.mine_function state locally and provide pillar info to it 2023-09-29 17:08:42 -04:00
m0duspwnens
8690304dff change how mine_functions.conf is managed during setup 2023-09-29 16:17:19 -04:00
m0duspwnens
1e327c143c Merge remote-tracking branch 'origin/2.4/dev' into minechanges 2023-09-29 15:11:06 -04:00
Jason Ertel
19232124f2 Merge pull request #11441 from Security-Onion-Solutions/jertel/lc
exclude oom error from cmd line
2023-09-29 14:21:05 -04:00
Jason Ertel
e8b67da08b exclude oom error from cmd line 2023-09-29 14:20:20 -04:00
Jason Ertel
b5d19bd561 Merge pull request #11440 from Security-Onion-Solutions/jertel/lc
exclude logstash errors
2023-09-29 14:13:34 -04:00
m0duspwnens
ad01be66ea remove checkmine engine. add x509.get_pem_entries to managers mine_functions. simplify mine update during soup 2023-09-29 14:09:04 -04:00
Jason Ertel
d546d52069 exclude logstash 2023-09-29 14:08:44 -04:00
Josh Patterson
13cc8c4258 Merge pull request #11437 from Security-Onion-Solutions/telegraf/redis
remove redis from eval
2023-09-29 11:12:24 -04:00
m0duspwnens
9d3f6059ee remove redis from eval 2023-09-29 11:10:08 -04:00
Jason Ertel
43855b8ca2 Merge pull request #11436 from Security-Onion-Solutions/jertel/lc
exclude all playbook logs
2023-09-29 11:04:48 -04:00
Jason Ertel
ec3cc7a854 exclude all playbook logs 2023-09-29 10:49:36 -04:00
Mike Reeves
63be7ef6ca Merge pull request #11432 from Security-Onion-Solutions/TOoSmOotH-patch-8
Update defaults.yaml
2023-09-28 19:48:14 -04:00
Mike Reeves
b8aad7f5e6 Update defaults.yaml 2023-09-28 19:44:49 -04:00
weslambert
c02e491609 Merge pull request #11430 from Security-Onion-Solutions/fix/elastic_packages
Upgrade packages and load integrations when packages change
2023-09-28 14:10:39 -04:00
Wes
670cd19051 Exclude package upgrade script 2023-09-28 18:04:07 +00:00
Wes
8c44481ee1 Load templates after package changes 2023-09-28 17:57:31 +00:00
Mike Reeves
a8c94a891b Merge pull request #11426 from Security-Onion-Solutions/TOoSmOotH-patch-7
Fix Yara crontab
2023-09-28 13:09:11 -04:00
Mike Reeves
ff35946050 Fix manager cron logic 2023-09-28 13:06:21 -04:00
Mike Reeves
95d32cb076 Fix manager cron logic 2023-09-28 12:49:46 -04:00
Wes
018186ccbd Upgrade packages and load integrations when packages change 2023-09-28 16:43:56 +00:00
Mike Reeves
5040df7551 Fix manager cron logic 2023-09-28 12:32:40 -04:00
Jason Ertel
c3604f6e80 Merge pull request #11422 from Security-Onion-Solutions/jertel/lc
exclude known issues
2023-09-28 11:47:13 -04:00
Mike Reeves
7a21b7903d Fix manager cron logic 2023-09-28 11:46:43 -04:00
Mike Reeves
a77a53f20b Update init.sls 2023-09-28 11:10:17 -04:00
Mike Reeves
ee45fc31a2 Delete salt/strelka/tools/sbin_jinja/so-yara-download 2023-09-28 11:04:16 -04:00
weslambert
ceae22adab Merge pull request #11423 from Security-Onion-Solutions/fix/elastic_known_certs
Exclude known_certs
2023-09-28 09:20:38 -04:00
weslambert
202eb7e876 Exclude known_certs 2023-09-28 09:16:56 -04:00
Jason Ertel
89a9c30cc8 exclude known issues 2023-09-28 08:27:31 -04:00
Jason Ertel
7012ff6609 Merge pull request #11418 from Security-Onion-Solutions/jertel/lc
more exclusions
2023-09-28 08:02:29 -04:00
Jason Ertel
621da9e7e3 more exclusions 2023-09-27 22:20:54 -04:00
Jason Ertel
26bb0d064f Merge pull request #11417 from Security-Onion-Solutions/jertel/lc
logcheck improvements
2023-09-27 20:35:06 -04:00
Jason Ertel
9ee64f93ca logcheck improvements 2023-09-27 20:17:59 -04:00
Jason Ertel
641ff95f41 Merge pull request #11416 from Security-Onion-Solutions/jertel/lc
Jertel/lc
2023-09-27 20:03:58 -04:00
Jason Ertel
49115cde55 logcheck improvements 2023-09-27 19:55:46 -04:00
Josh Patterson
7d0e1c92a3 Merge pull request #11415 from Security-Onion-Solutions/issue/11390
Issue/11390
2023-09-27 19:39:36 -04:00
m0duspwnens
419acab48a revert up_to_2.4.20 2023-09-27 19:17:13 -04:00
m0duspwnens
528572c15b Merge remote-tracking branch 'origin/2.4/dev' into issue/11390 2023-09-27 18:42:07 -04:00
Jason Ertel
d72e4ae97d ignore soctopus errors 2023-09-27 18:39:23 -04:00
m0duspwnens
76c0b881ff exclude import from snapshotting previous version pillars and states 2023-09-27 18:20:50 -04:00
Jason Ertel
836c49b755 Merge pull request #11414 from Security-Onion-Solutions/jertel/lc
ignore generic python stack trace log lines of code, rely on actual e…
2023-09-27 16:59:34 -04:00
Jason Ertel
24def3a196 ignore generic python stack trace log lines of code, rely on actual error messages 2023-09-27 16:50:01 -04:00
Mike Reeves
b6d58b2fb8 Merge pull request #11411 from Security-Onion-Solutions/TOoSmOotH-patch-6
FIX: Remove telegraf beats EPS script
2023-09-27 16:14:51 -04:00
Mike Reeves
770a74c83d Merge pull request #11409 from Security-Onion-Solutions/TOoSmOotH-patch-5
Fix zeek from creating summary files
2023-09-27 16:14:34 -04:00
Mike Reeves
039d5ae9aa Delete salt/telegraf/scripts/beatseps.sh 2023-09-27 16:09:27 -04:00
Mike Reeves
2fb73cd516 Update defaults.yaml 2023-09-27 16:07:38 -04:00
Mike Reeves
2427344dca Update defaults.yaml 2023-09-27 15:58:58 -04:00
Mike Reeves
62cb661bab Merge pull request #11408 from Security-Onion-Solutions/TOoSmOotH-patch-4
Fix sendmail errors in zeek
2023-09-27 15:53:50 -04:00
Jason Ertel
1e04199ea6 Merge pull request #11406 from Security-Onion-Solutions/jertel/lc
ignore generic python stack trace log lines of code, rely on actual e…
2023-09-27 15:52:48 -04:00
Jason Ertel
4666916077 ignore generic python stack trace log lines of code, rely on actual error messages 2023-09-27 15:48:52 -04:00
Mike Reeves
f094b1162d Update defaults.yaml 2023-09-27 15:48:05 -04:00
Jason Ertel
ae9619f0c3 Merge pull request #11405 from Security-Onion-Solutions/jertel/lc
deb OS doesn't use /var/log/cron, skip
2023-09-27 15:42:10 -04:00
Jason Ertel
87cc389088 deb OS doesn't use /var/log/cron, skip 2023-09-27 15:36:13 -04:00
Josh Patterson
ec046a6943 Merge pull request #11404 from Security-Onion-Solutions/fix/filecheckcron
Fix/filecheckcron
2023-09-27 12:51:25 -04:00
Mike Reeves
7eefe7b79c Merge pull request #11403 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update nginx.conf to use user nobody
2023-09-27 12:38:58 -04:00
Mike Reeves
c4fea9cb9d Update nginx.conf 2023-09-27 11:03:58 -04:00
m0duspwnens
3fded86aa1 Merge remote-tracking branch 'origin/2.4/dev' into fix/filecheckcron 2023-09-27 10:08:17 -04:00
m0duspwnens
05e7c32cf9 remove duplicate filecheck_run cron 2023-09-27 10:08:08 -04:00
Jason Ertel
af2ff2b07c Merge pull request #11399 from Security-Onion-Solutions/jertel/lc
don't inspect imported zeek output
2023-09-27 09:45:39 -04:00
Jason Ertel
b47d915cb6 don't inspect imported zeek output 2023-09-27 09:30:19 -04:00
Jason Ertel
376d525ad7 Merge pull request #11398 from Security-Onion-Solutions/jertel/lc
skip zeek spool logs due to test data false positives
2023-09-26 22:01:50 -04:00
Jason Ertel
9c854a13cc skip zeek spool logs due to test data false positives 2023-09-26 21:41:44 -04:00
Jason Ertel
ff780738fd Merge pull request #11397 from Security-Onion-Solutions/jertel/lc
log check tool initial
2023-09-26 18:23:41 -04:00
Jason Ertel
2c8d413f16 log check tool initial 2023-09-26 18:14:37 -04:00
Jason Ertel
48801da44e log check tool initial 2023-09-26 18:12:20 -04:00
Josh Patterson
641b8ef0b6 Merge pull request #11393 from Security-Onion-Solutions/issue/11390
Issue/11390
2023-09-26 13:26:42 -04:00
m0duspwnens
036a21ff17 Merge remote-tracking branch 'origin/2.4/dev' into issue/11390 2023-09-26 11:01:44 -04:00
m0duspwnens
2abf434ebe create snapshots of default, local salt and pillars during soup. rsync soup with --delete 2023-09-26 10:56:20 -04:00
weslambert
4dc477cc1d Merge pull request #11391 from Security-Onion-Solutions/fix/elasticsearch_strelka_image_version
Make scan.pe.image_version type of 'float'
2023-09-26 10:21:17 -04:00
Wes
0bba68769b Make scan.pe.image_version type of 'float' 2023-09-26 14:05:12 +00:00
m0duspwnens
e25d1c0ff3 so-salt-minion-check is jinja template 2023-09-26 10:01:21 -04:00
weslambert
f9ace4791f Merge pull request #11384 from Security-Onion-Solutions/fix/analyzers_testing
Add a note about testing analyzers outside of the Sensoroni Docker container
2023-09-25 14:48:45 -04:00
weslambert
7cb9b5f257 Add the blank line that was removed from the previous commit 2023-09-25 14:41:20 -04:00
weslambert
c95af6b992 Add a note about testing analyzers outside of the Sensoroni Docker container 2023-09-25 14:39:33 -04:00
weslambert
2fc4d2923d Merge pull request #11289 from Security-Onion-Solutions/fix/elastic_agent_404
/app/dashboards to /kibana/app/dashboards
2023-09-25 09:11:50 -04:00
Wes
eeeae08ec8 /app/ to /app/dashboards/ 2023-09-21 18:39:06 +00:00
Jason Ertel
220f25e206 Merge pull request #11369 from Security-Onion-Solutions/jertel-patch-1
Update soup to prune in background
2023-09-21 09:42:28 -04:00
Jason Ertel
fa3a79a787 Update soup to prune in background 2023-09-21 09:41:44 -04:00
Doug Burks
ca71add51b Merge pull request #11363 from Security-Onion-Solutions/dougburks-patch-1
FIX: SOC Config sensoroni doc links should point to correct docs #11362
2023-09-20 08:29:30 -04:00
Doug Burks
3fa3f83007 Update soc_sensoroni.yaml 2023-09-20 08:22:52 -04:00
weslambert
377802410e Merge pull request #11352 from Security-Onion-Solutions/fix/import_evtx_exists
Fix EVTX Imports
2023-09-19 16:11:22 -04:00
Wes
2e0ea3f374 Set final pipeline 2023-09-19 13:33:12 +00:00
Wes
508260bd46 Use event.created for timestamp 2023-09-19 13:32:03 +00:00
Wes
a1e963f834 Reverse timestamps where necessary 2023-09-19 13:28:20 +00:00
Jason Ertel
8a98040008 Merge pull request #11351 from Security-Onion-Solutions/jertel/auto
ignore debian apt update output
2023-09-19 09:26:31 -04:00
Jason Ertel
47e611682a ignore debian apt update output 2023-09-19 09:24:12 -04:00
Wes
5bac1e4d15 Show correct dates and Kibana URL for already processed EVTX files 2023-09-18 21:31:15 +00:00
Jason Ertel
ad025b9683 Merge pull request #11345 from Security-Onion-Solutions/jertel/auto
ensure all binds are present to avoid volume sprawl
2023-09-18 15:34:57 -04:00
Josh Patterson
3e97ddc22d Merge pull request #11344 from Security-Onion-Solutions/fix/idstoolextra_env
fix idstool extra_env for container
2023-09-18 15:29:33 -04:00
m0duspwnens
151e8bfc4e fix idstool extra_env for container 2023-09-18 15:21:45 -04:00
Jason Ertel
a914a02273 prune unused volumes during upgrade 2023-09-18 14:43:02 -04:00
Jason Ertel
bb3632d1b2 fix bind if statement 2023-09-18 14:38:15 -04:00
Jason Ertel
66bb1272ae avoid volume sprawl 2023-09-18 13:39:56 -04:00
Jason Ertel
bbef96ac25 use unique name 2023-09-18 12:12:57 -04:00
Jason Ertel
f9cbde10a6 avoid volume sprawl 2023-09-18 11:19:21 -04:00
weslambert
fe1bae96ed Merge pull request #11297 from Security-Onion-Solutions/fix/soc_idh
Change description to indicate that opencanary modules only apply to IDH nodes
2023-09-15 11:16:06 -04:00
weslambert
eab6173a31 Merge pull request #11329 from Security-Onion-Solutions/fix/elastic_templates_clean
Clean component template directory
2023-09-15 11:00:17 -04:00
Wes
98499c3963 Clean component template directory 2023-09-15 13:51:46 +00:00
Josh Patterson
26da525ebe Merge pull request #11328 from Security-Onion-Solutions/fix/checkreq
improvents for checking system requirements
2023-09-15 09:17:04 -04:00
m0duspwnens
c65c9777bd improvents for checking system requirements 2023-09-14 17:42:25 -04:00
Josh Brower
af68af7f18 Merge pull request #11317 from Security-Onion-Solutions/2.4/fixes
Regex & Transform Role
2023-09-14 10:59:56 -04:00
defensivedepth
0c11a9b733 Add transform role 2023-09-14 09:33:17 -04:00
defensivedepth
59d077f3ff Fix regex 2023-09-14 08:32:17 -04:00
Jason Ertel
6383712731 Merge pull request #11315 from Security-Onion-Solutions/jertel/auto
exclude docker pull unauth errors from failing setup
2023-09-14 07:41:59 -04:00
Jason Ertel
e067b7134e exclude docker pull unauth errors from failing setup since they'll be retried 2023-09-14 07:38:07 -04:00
Mike Reeves
183c530c82 Merge pull request #11308 from Security-Onion-Solutions/pcapfree
Update so-minion
2023-09-13 13:47:21 -04:00
Mike Reeves
33d68478b6 Update so-minion 2023-09-13 11:48:16 -04:00
Mike Reeves
22c0323bda Update so-minion 2023-09-13 10:57:45 -04:00
Doug Burks
19114c1a26 Merge pull request #11303 from Security-Onion-Solutions/dougburks-patch-1
FIX: SOC Config pcap doc links should point to steno docs #11302
2023-09-13 07:50:43 -04:00
Doug Burks
11b8e13418 FIX: SOC Config pcap doc links should point to steno docs #11302 2023-09-13 07:37:54 -04:00
Josh Patterson
6fdd7b3751 Merge pull request #11295 from Security-Onion-Solutions/issue/11229
dont manage sorules
2023-09-12 09:30:29 -04:00
m0duspwnens
30c3255cb2 dont manage sorules 2023-09-12 08:39:42 -04:00
Wes
35ebbc974c Change description to indicate that opencanary modules only apply to IDH nodes 2023-09-11 13:52:16 +00:00
Wes
f1d0db8171 /app to /kibana/app 2023-09-11 13:30:11 +00:00
Josh Patterson
9968d697f3 Merge pull request #11288 from Security-Onion-Solutions/issue/11229
Issue/11229
2023-09-11 09:19:31 -04:00
m0duspwnens
02c54a264d Merge remote-tracking branch 'origin/2.4/dev' into issue/11229 2023-09-08 15:29:04 -04:00
m0duspwnens
e814a3409f fix rule location for rulecat.conf. run so-rule-update if rules change in /opt/so/rules/nids 2023-09-08 15:28:24 -04:00
Jason Ertel
55847c7bdc Merge pull request #11276 from Security-Onion-Solutions/jertel/auto
give priority to presets
2023-09-08 09:26:27 -04:00
Jason Ertel
598515e5b4 give priority to presets 2023-09-08 09:21:13 -04:00
Jason Ertel
692625f8cd Merge pull request #11271 from Security-Onion-Solutions/jertel/auto
addl node types
2023-09-07 17:25:08 -04:00
Jason Ertel
f8ae3f12e6 addl node types 2023-09-07 17:22:10 -04:00
Josh Patterson
3780ed1b4f Merge pull request #11269 from Security-Onion-Solutions/issue/11210
Issue/11210
2023-09-07 16:54:16 -04:00
m0duspwnens
8d269fee30 Merge remote-tracking branch 'origin/2.4/dev' into issue/11210 2023-09-07 15:46:25 -04:00
m0duspwnens
35157f2e8b add comment 2023-09-07 15:46:04 -04:00
m0duspwnens
60f1947eb4 prevent endgame_dict from being added to standard_actions if it is already present 2023-09-07 14:01:19 -04:00
m0duspwnens
ffaab4a1b4 only add endgame to action if it is populated 2023-09-06 14:19:53 -04:00
weslambert
70e1309c9f Merge pull request #11261 from Security-Onion-Solutions/fix/remove_default_templates
Remove templates
2023-09-06 10:57:09 -04:00
Jason Ertel
5c0045f9f8 Merge pull request #11256 from Security-Onion-Solutions/jertel/sod
only ingest pfsense on sensor nodes
2023-09-05 12:50:47 -04:00
Jason Ertel
b66be9c226 only ingest pfsense on sensor nodes 2023-09-05 12:46:49 -04:00
Josh Patterson
651393988a Merge pull request #11255 from Security-Onion-Solutions/issue/10975
Issue/10975
2023-09-05 11:57:58 -04:00
Wes
cf19c8f8c2 Remove templates 2023-09-05 13:43:41 +00:00
Mike Reeves
ba3ae92702 Merge pull request #11249 from Security-Onion-Solutions/jertel/sod 2023-09-03 22:23:55 -04:00
Jason Ertel
8e2bed7f91 MS testing 2023-09-03 19:56:40 -04:00
Jason Ertel
028b69c7d4 Merge pull request #11245 from Security-Onion-Solutions/jertel/sod
ensure hostname is set
2023-09-02 13:49:49 -04:00
Jason Ertel
0cf913a7c1 ensure hostname is set 2023-09-02 06:05:37 -04:00
Jason Ertel
13fbcd712b Merge pull request #11243 from Security-Onion-Solutions/jertel/sod
ensure hostname is set
2023-09-01 20:43:35 -04:00
Jason Ertel
0aae107155 ensure hostname is set 2023-09-01 20:30:53 -04:00
Mike Reeves
d2dcf7e7c1 Merge pull request #11241 from Security-Onion-Solutions/jertel/sod 2023-09-01 18:22:38 -04:00
Jason Ertel
6efdf1b9d0 add additional test modes 2023-09-01 17:24:12 -04:00
Jason Ertel
a11259c683 add additional test modes 2023-09-01 17:08:27 -04:00
Jason Ertel
863db14b61 add additional test modes 2023-09-01 16:27:02 -04:00
Jason Ertel
335aaa5594 add additional test modes 2023-09-01 15:30:53 -04:00
m0duspwnens
07ed93de19 add elastic agent to desktop 2023-09-01 14:33:32 -04:00
Jason Ertel
8093e5ce7c use IP to avoid host issues 2023-09-01 13:01:17 -04:00
m0duspwnens
585fba4bc6 add functions salt_install_module_deps and salt_patch_x509_v2 2023-09-01 12:40:01 -04:00
weslambert
b8f69b5008 Merge pull request #11239 from Security-Onion-Solutions/fix/syslog_heavynode
Add so-elastic-agent
2023-09-01 12:20:44 -04:00
m0duspwnens
aebfb19ab7 add sostatus.sh to desktop for telegraf scripts 2023-09-01 12:05:28 -04:00
m0duspwnens
490669d378 add ssl to desktop for allowed_states 2023-09-01 12:03:01 -04:00
m0duspwnens
3434d0f200 add sensoroni and telegraf back to individual nodes. add seperate block for desktop 2023-09-01 12:02:30 -04:00
weslambert
765a22e6f0 Add so-elastic-agent 2023-09-01 11:31:23 -04:00
Jason Ertel
546c562ef0 expose standard relay timeout in config UI; up default to 45s to accommodate sluggish pillar.get calls 2023-09-01 10:31:02 -04:00
m0duspwnens
b64d4e3658 add telegraf pillar to desktop 2023-09-01 09:53:26 -04:00
m0duspwnens
0fb00d569e allow states for desktop. give all nodes docker_clean, order it last 2023-09-01 09:39:39 -04:00
m0duspwnens
b64fa51268 give desktop docker state and pillars 2023-09-01 09:16:24 -04:00
Jason Ertel
1871d48f7f remove unnecesary OTHER submenu 2023-08-31 20:42:00 -04:00
m0duspwnens
b010919099 add sensoroni, telegraf, common states to desktop. allow docker_registry connection to managers for desktop 2023-08-31 13:21:32 -04:00
weslambert
ce2a7135cb Merge pull request #11232 from Security-Onion-Solutions/fix/strelka_entropy
Strelka entropy mapping
2023-08-31 11:21:00 -04:00
Wes
0fed757b11 Add entropy mapping 2023-08-31 15:10:27 +00:00
Wes
1a3b3b21fb Change entropy value syntax 2023-08-31 15:09:19 +00:00
Josh Patterson
d86e21c751 Merge pull request #11231 from Security-Onion-Solutions/issue/10975
Issue/10975
2023-08-31 10:54:30 -04:00
m0duspwnens
e408718230 Merge remote-tracking branch 'origin/2.4/dev' into issue/10975 2023-08-31 09:56:02 -04:00
m0duspwnens
ee848b8a8c comments for desktop install 2023-08-31 09:51:55 -04:00
m0duspwnens
a60c34d548 exclude unnecessary pillars from desktop nodes 2023-08-31 09:40:54 -04:00
Doug Burks
8a2fc5d62b Merge pull request #11226 from Security-Onion-Solutions/dougburks-patch-1
Update motd.md
2023-08-31 09:18:19 -04:00
Doug Burks
da56a421e5 Update motd.md 2023-08-31 09:17:33 -04:00
m0duspwnens
bfb0d0ddb5 Merge remote-tracking branch 'origin/2.4/dev' into issue/10975 2023-08-31 08:58:28 -04:00
m0duspwnens
c812c3991e we dont need to run convert-gnome-classic script 2023-08-31 08:54:13 -04:00
coreyogburn
ca9dad396f Merge pull request #11222 from Security-Onion-Solutions/cogburn/11143
New Config Default: longRelayTimeoutMs
2023-08-30 15:47:01 -06:00
Corey Ogburn
a615fc8e47 New Config Default: longRelayTimeoutMs
Salt is getting a second timeout for operations known to take a long time such as sending and importing files. There's also an entry in soc_soc.yaml so the value can be changed in SOC's config page.
2023-08-30 15:33:01 -06:00
weslambert
ac38f32e32 Merge pull request #11218 from Security-Onion-Solutions/feature/soc_administration_analyzers
Analyzer SOC Administration
2023-08-30 16:54:02 -04:00
Josh Patterson
f2d1b9ac95 Merge pull request #11221 from Security-Onion-Solutions/issue/10975
iso desktop join grid - set install_type and minion_type
2023-08-30 16:50:46 -04:00
m0duspwnens
14a6280531 iso desktop join grid - set install_type and minion_type 2023-08-30 16:49:17 -04:00
weslambert
41300af944 Set global to false 2023-08-30 16:30:32 -04:00
weslambert
21e91a7537 Fix api_version 2023-08-30 16:10:38 -04:00
weslambert
4127e0fc53 Merge pull request #11219 from Security-Onion-Solutions/fix/elastic_fortigate
Correct Fortigate Integration
2023-08-30 15:54:39 -04:00
weslambert
d090852895 Correct fortigate template name 2023-08-30 15:40:40 -04:00
weslambert
78915f900b Add fortigate package 2023-08-30 15:37:30 -04:00
Wes
8cc19b0748 Add analyzer configuration description 2023-08-30 19:16:38 +00:00
Wes
fe690922de Add analyzer configuration to the defaults file 2023-08-30 19:16:05 +00:00
Josh Patterson
257a471383 Merge pull request #11217 from Security-Onion-Solutions/issue/10975
Issue/10975
2023-08-30 12:28:34 -04:00
weslambert
bee83a320b Merge pull request #11212 from Security-Onion-Solutions/fix/elastic_heavynode_syslog
Add syslog to heavynode
2023-08-30 10:48:03 -04:00
m0duspwnens
b45e114ef2 cant use GLOBALS var due to desktop nongrid install 2023-08-30 10:41:34 -04:00
m0duspwnens
b14614ae53 need $ for vars 2023-08-30 10:32:13 -04:00
m0duspwnens
8381fa1d42 cant import globals because of nongrid desktop install~ 2023-08-30 10:26:24 -04:00
m0duspwnens
a3eeba4761 do networking_needful for nongrid desktop network install 2023-08-30 09:51:09 -04:00
m0duspwnens
97587064f8 remove packages from nongrid desktop install 2023-08-30 09:48:52 -04:00
m0duspwnens
ae01da780e desktop network install nongrid 2023-08-30 09:10:59 -04:00
Wes
60b0af5ab7 Allow external syslog 2023-08-30 13:05:30 +00:00
Wes
0e22acc255 Add tcp and udp integration 2023-08-30 13:04:32 +00:00
Wes
655eea2b00 Add port_bindings 2023-08-30 13:03:56 +00:00
Wes
ce05f29dc4 Add port_bindings for port 514 2023-08-30 13:03:28 +00:00
weslambert
7e12167b52 Merge pull request #11208 from Security-Onion-Solutions/fix/elasticsearch_syslog
Make sure a data stream is created for syslog
2023-08-30 08:37:39 -04:00
weslambert
706a6e2d56 Make sure a data stream is created for syslog 2023-08-30 08:34:04 -04:00
m0duspwnens
a4dc482372 add is_desktop_grid var 2023-08-29 13:10:06 -04:00
weslambert
f4191fb7fa Merge pull request #11197 from Security-Onion-Solutions/feature/elastic_integration_apache
Add Apache package and templates
2023-08-29 11:27:08 -04:00
weslambert
d2063c7e11 Add auditd reference back 2023-08-29 11:14:49 -04:00
weslambert
c01a9006a6 Add Apache package 2023-08-29 11:01:22 -04:00
weslambert
f118e25e8c Add Apache references 2023-08-29 11:00:31 -04:00
weslambert
d40bbf6b09 Add Apache templates 2023-08-29 10:59:40 -04:00
m0duspwnens
0455063a39 edit other/desktop install whiptail 2023-08-29 10:26:29 -04:00
m0duspwnens
532b2c222a edit other/desktop install whiptail 2023-08-29 10:16:51 -04:00
m0duspwnens
67ea7d31e1 dont exec so-setup desktop 2023-08-29 09:32:10 -04:00
m0duspwnens
a1b1294247 desktop doesnt need docker state 2023-08-29 09:05:01 -04:00
m0duspwnens
1c3d3d703c add desktop.map.jinja for global vars 2023-08-29 08:56:01 -04:00
m0duspwnens
9c3e3f8e06 Merge remote-tracking branch 'origin/2.4/dev' into issue/10975 2023-08-28 15:42:04 -04:00
Mike Reeves
48e5cf7e67 Merge pull request #11193 from Security-Onion-Solutions/TOoSmOotH-patch-1
Fix Heavy Node for acks
2023-08-28 14:42:10 -04:00
Mike Reeves
bd61ee22be Update defaults.map.jinja 2023-08-28 14:41:06 -04:00
Josh Patterson
4f8a0c4173 Merge pull request #11190 from Security-Onion-Solutions/failreposync
Failreposync
2023-08-28 12:01:44 -04:00
m0duspwnens
6b0fbe4634 include so-repo-sync in soup_manager_scripts state 2023-08-28 11:53:45 -04:00
Jason Ertel
2616a2bba3 Merge pull request #11186 from Security-Onion-Solutions/jertel/alts
fix path to intermediate ca cert on heavy nodes
2023-08-28 11:10:04 -04:00
Jason Ertel
c10e686ec6 fix path to intermediate ca cert on heavy nodes 2023-08-28 11:07:28 -04:00
m0duspwnens
a8ec3717c4 fail soup if so-repo-sync fails 2023-08-28 10:20:53 -04:00
Josh Patterson
7dc855bbbe Merge pull request #11184 from Security-Onion-Solutions/wheelwatchdog
dont need to repo_sync rocky or centos
2023-08-28 09:53:34 -04:00
m0duspwnens
1ef4d2cde1 dont need to repo_sync rocky or centos 2023-08-28 09:37:45 -04:00
Jason Ertel
8c5aa4a0e6 Merge pull request #11178 from Security-Onion-Solutions/jertel/alts
ingest pfsense sample data
2023-08-25 16:53:41 -04:00
Jason Ertel
5879eeabfa ingest pfsense sample data 2023-08-25 16:45:31 -04:00
Jason Ertel
022ee36bca ingest pfsense sample data 2023-08-25 16:44:03 -04:00
Josh Patterson
aacd689bae Merge pull request #11177 from Security-Onion-Solutions/wheelwatchdog
new python watchdog
2023-08-25 15:32:52 -04:00
m0duspwnens
388c90f641 add oel to set_os 2023-08-25 14:56:42 -04:00
m0duspwnens
c22f9687fb sync local repo in soup 2023-08-25 13:40:34 -04:00
m0duspwnens
0a88c812e8 differnet watchdog package names for debian vs redhat fams 2023-08-25 13:03:33 -04:00
m0duspwnens
e28ff38d39 Merge remote-tracking branch 'origin/2.4/dev' into wheelwatchdog 2023-08-25 09:40:16 -04:00
m0duspwnens
ab1d97c985 restart filecheck if watchdog pkg changes 2023-08-25 09:39:16 -04:00
m0duspwnens
4a489afb89 remove old and install new watchdog package 2023-08-25 08:55:00 -04:00
Jason Ertel
c957c6ce14 Merge pull request #11169 from Security-Onion-Solutions/jertel/alts
fix centos install
2023-08-24 15:06:10 -04:00
Jason Ertel
e57cc03084 fix centos install 2023-08-24 14:41:04 -04:00
Jason Ertel
3a0590f950 Merge pull request #11166 from Security-Onion-Solutions/jertel/alts
use the correct var
2023-08-24 13:08:35 -04:00
Jason Ertel
43e4cf632a use the correct var 2023-08-24 12:57:35 -04:00
Jason Ertel
92c6229e00 Merge pull request #11165 from Security-Onion-Solutions/jertel/alts
allow testing runs to proceed with unsupported os
2023-08-24 12:30:07 -04:00
Jason Ertel
8252924203 allow testing runs to proceed with unsupported os 2023-08-24 12:16:25 -04:00
Jason Ertel
bdb88cc87b Merge pull request #11161 from Security-Onion-Solutions/jertel/alts
use consistent cert dir and reduce jinja complexity
2023-08-24 11:18:34 -04:00
Jason Ertel
f4be5641da cert work 2023-08-23 20:49:37 -04:00
Jason Ertel
4484e2d031 cert work 2023-08-23 18:16:49 -04:00
Jason Ertel
b8dc9ea560 cert work 2023-08-23 17:50:08 -04:00
weslambert
d4bffba736 Merge pull request #11153 from Security-Onion-Solutions/fix/elastic_fleet_integrations
Add more Elastic Fleet integrations
2023-08-23 16:22:14 -04:00
Wes
d2d0d53eef Change order 2023-08-23 20:20:44 +00:00
Wes
31a49268cb Add o365 and okta 2023-08-23 20:20:06 +00:00
Wes
2f51349ff8 Add SOC configuration 2023-08-23 20:07:42 +00:00
m0duspwnens
a885baf960 add desktop to grid 2023-08-23 15:24:32 -04:00
Wes
3f2793088a Add templates 2023-08-23 19:02:50 +00:00
Wes
0f24c8e8bb Add packages 2023-08-23 19:02:32 +00:00
Jason Ertel
8a751e097d cert path refactor 2023-08-23 14:32:05 -04:00
weslambert
4a582804b0 Merge pull request #11139 from Security-Onion-Solutions/fix/soc_event_fields
Update SOC event fields
2023-08-22 10:46:38 -04:00
Mike Reeves
f278056493 Merge pull request #11129 from Security-Onion-Solutions/TOoSmOotH-patch-6
Update HOTFIX
2023-08-21 16:30:34 -04:00
Mike Reeves
f2c665e4fa Update HOTFIX 2023-08-21 16:30:02 -04:00
Mike Reeves
ce32a0081e Merge pull request #11128 from Security-Onion-Solutions/2.4/main
Merge in hotfix
2023-08-21 16:29:40 -04:00
Mike Reeves
658d132c38 Merge pull request #11127 from Security-Onion-Solutions/hotfix/2.4.10
Hotfix/2.4.10
2023-08-21 16:26:27 -04:00
Mike Reeves
7d2f39a06f Merge pull request #11126 from Security-Onion-Solutions/2410hf
2.4.10 Hotfix
2023-08-21 15:39:07 -04:00
Mike Reeves
84d5d52ec8 2.4.10 Hotfix 2023-08-21 15:36:57 -04:00
weslambert
563a495725 Add Playbook 2023-08-21 11:24:07 -04:00
weslambert
9e18fe64cf Remove OSSEC configuration 2023-08-21 11:20:47 -04:00
weslambert
708a681ed9 Merge pull request #11123 from Security-Onion-Solutions/fix/elastic_fleet_zeek_console
Exclude console log
2023-08-21 10:31:32 -04:00
Josh Patterson
a40937409a Merge pull request #11124 from Security-Onion-Solutions/issue/11122
add missing containers to soc_docker.yaml. force port bindings to []string
2023-08-21 10:28:32 -04:00
m0duspwnens
b8d374b2af add missing containers to soc_docker.yaml. force port bindings to []string 2023-08-21 09:45:23 -04:00
weslambert
fa31bd4bf7 Exclude console log 2023-08-21 09:20:49 -04:00
Mike Reeves
847aab2712 Merge pull request #11120 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update config.sls
2023-08-21 09:17:11 -04:00
Mike Reeves
710b800bc2 Update config.sls 2023-08-21 09:00:11 -04:00
Josh Brower
c92b359b79 Merge pull request #11116 from Security-Onion-Solutions/2.4/hotfixcerts
Fix certs on Rec and Heavy
2023-08-21 07:30:44 -04:00
Josh Brower
e2fd371886 Fix certs on Rec and Heavy 2023-08-21 07:26:37 -04:00
Josh Brower
5b453ca972 Merge pull request #11113 from Security-Onion-Solutions/2.4/rec-certs-fix
Fix certs for Rec & Heavy
2023-08-21 07:03:58 -04:00
Josh Brower
6784bdcb54 Fix certs for Rec & Heavy 2023-08-20 15:46:07 -04:00
Mike Reeves
7e4036f2a5 Merge pull request #11101 from Security-Onion-Solutions/TOoSmOotH-patch-4
Fix Hotfix
2023-08-18 15:45:08 -04:00
Mike Reeves
421cfc46ad Update soup 2023-08-18 15:39:58 -04:00
Mike Reeves
0d4a49a0ff Update so-setup 2023-08-18 15:34:36 -04:00
Mike Reeves
6453a86c2a Merge pull request #11098 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update soup
2023-08-18 10:10:48 -04:00
Mike Reeves
d657bbdc18 Merge pull request #11100 from Security-Onion-Solutions/jertel/souptest
force soup docker output to log
2023-08-18 09:59:24 -04:00
Jason Ertel
8aeb4706e1 force soup docker output to log 2023-08-18 09:57:51 -04:00
Mike Reeves
e04ec1042a Update soup 2023-08-18 09:12:19 -04:00
Josh Patterson
e77e5c3cea Merge pull request #11090 from Security-Onion-Solutions/issue/10998
Issue/10998
2023-08-17 17:27:45 -04:00
Jason Ertel
222352b4b3 fix typo 2023-08-17 17:26:35 -04:00
m0duspwnens
4ac95447eb pop sort settings if index_sorting is false 2023-08-17 16:15:27 -04:00
m0duspwnens
9cba9d9ae0 allow to override number_of_replicas from one place in soc ui 2023-08-17 15:00:01 -04:00
Mike Reeves
056072af7d Merge pull request #11088 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update HOTFIX
2023-08-17 14:51:25 -04:00
Mike Reeves
fb3fee5d4b Update HOTFIX 2023-08-17 14:43:35 -04:00
Jason Ertel
e7be8991f1 Merge pull request #11083 from Security-Onion-Solutions/jertel/souptty
force image pulls to go into soup log
2023-08-17 13:47:37 -04:00
Jason Ertel
09dd3f529b force image pulls to go into soup log 2023-08-17 13:45:51 -04:00
weslambert
488c4d5000 Merge pull request #11079 from Security-Onion-Solutions/fix/import_evtx_pcap
Assign pipeline to import
2023-08-17 12:29:01 -04:00
Mike Reeves
abad833c5e Merge pull request #11075 from Security-Onion-Solutions/2.4/soupmods
Add soup for 2.4.20
2023-08-17 10:53:52 -04:00
Mike Reeves
4363e71e80 Add soup for 2.4.20 2023-08-17 10:51:59 -04:00
Wes
7971d9749a Assign pipeline to import 2023-08-17 14:08:48 +00:00
weslambert
5ebe33d45f Merge pull request #11068 from Security-Onion-Solutions/fix/elastic_fleet_package_force_2
Fix so-elastic-fleet-package-load
2023-08-17 08:20:24 -04:00
weslambert
4887eb4957 Update so-elastic-fleet-package-load 2023-08-16 22:31:14 -04:00
weslambert
0620919241 Merge pull request #11064 from Security-Onion-Solutions/fix/elasticfleet_package_force
Force package installation
2023-08-16 16:37:39 -04:00
Wes
e84d624d23 Force package installation 2023-08-16 20:10:20 +00:00
Josh Patterson
45bc2ec380 Merge pull request #11060 from Security-Onion-Solutions/issue/10922
set timezone during setup. set salt log levels to info
2023-08-16 10:47:13 -04:00
m0duspwnens
9bf7b9bda5 set the timezone earlier in setup 2023-08-16 10:02:47 -04:00
m0duspwnens
ab19fa9ece set salt log levels to info 2023-08-16 09:21:06 -04:00
m0duspwnens
53d7d69135 update salt docs url in service file 2023-08-16 08:46:24 -04:00
m0duspwnens
b22776dc5a set timezone to etc/utc during setup 2023-08-15 16:22:02 -04:00
Mike Reeves
dc6d9d4ba2 Merge pull request #11047 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2023-08-15 07:29:34 -04:00
Mike Reeves
075ef5e02c Update VERSION 2023-08-15 07:27:48 -04:00
Mike Reeves
16da0b469a Merge pull request #11040 from Security-Onion-Solutions/2.4/dev
2.4.10
2023-08-15 07:14:03 -04:00
Mike Reeves
5c2c2908b8 Merge pull request #11044 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update DOWNLOAD_AND_VERIFY_ISO.md
2023-08-14 16:52:53 -04:00
Mike Reeves
ad9da07de1 Update DOWNLOAD_AND_VERIFY_ISO.md 2023-08-14 16:51:24 -04:00
Jason Ertel
d1210e946c Merge pull request #11043 from Security-Onion-Solutions/jertel/up
Jertel/up
2023-08-14 16:46:21 -04:00
Jason Ertel
5d6fe4d9ae Merge branch '2.4/main' into jertel/up 2023-08-14 16:44:13 -04:00
Mike Reeves
193f9c08fb Merge pull request #11042 from Security-Onion-Solutions/2.4.10
2.4.10
2023-08-14 16:41:21 -04:00
Mike Reeves
4808c21cf4 2.4.10 2023-08-14 16:34:32 -04:00
Mike Reeves
4106d1f69d 2.4.10 2023-08-14 16:33:08 -04:00
Jason Ertel
007720132b Merge pull request #11034 from Security-Onion-Solutions/dougburks-patch-1
soup should respect current indentation in soc_global.sls
2023-08-13 16:56:50 -04:00
Doug Burks
f3a58cd336 soup should respect current indentation in soc_global.sls 2023-08-13 16:46:32 -04:00
Josh Brower
faca36e74c Merge pull request #11021 from Security-Onion-Solutions/2.4/esurlfixup
Set default for import and eval only
2023-08-12 08:41:54 -04:00
Josh Brower
f38b77892b Move back 2023-08-11 17:14:48 -04:00
Josh Brower
00297cd864 Move from post to pre 2023-08-11 16:10:16 -04:00
Josh Brower
ce63e47fcd Enable forced update 2023-08-11 14:47:33 -04:00
Jason Ertel
d53489d674 Merge pull request #11023 from Security-Onion-Solutions/jertel/fixann
add missing annotations to avoid soc crash
2023-08-11 13:58:40 -04:00
Jason Ertel
1fb3a59573 add missing annotations to avoid soc crash 2023-08-11 13:41:58 -04:00
Jason Ertel
a5e60363cf add missing annotations to avoid soc crash 2023-08-11 13:38:16 -04:00
Josh Brower
3f054031a0 Set default for import and eval only 2023-08-11 13:32:22 -04:00
Josh Patterson
4a54febf38 Merge pull request #11016 from Security-Onion-Solutions/issue/10957
set SO desktop wallpaper for iso install
2023-08-11 09:22:05 -04:00
m0duspwnens
fdb2ca4167 set SO desktop wallpaper for iso install 2023-08-11 09:15:41 -04:00
Josh Brower
7112d53d4d Merge pull request #11014 from Security-Onion-Solutions/2.4/templateloadfix
Upgrade integration packages
2023-08-10 20:00:57 -04:00
Josh Brower
1d83b2f2e6 Add elasticsearch integration 2023-08-10 19:51:12 -04:00
Josh Brower
a724b95441 Merge branch '2.4/dev' into 2.4/templateloadfix 2023-08-10 19:01:24 -04:00
Josh Brower
0d894b7f52 Upgrade integration packages 2023-08-10 18:57:17 -04:00
Josh Patterson
e32d7eb127 Merge pull request #11012 from Security-Onion-Solutions/issue/10957
set desktop background
2023-08-10 16:27:56 -04:00
m0duspwnens
caced64d11 set desktop background 2023-08-10 16:10:39 -04:00
Doug Burks
3ec3f8bcd8 Merge pull request #11011 from Security-Onion-Solutions/dougburks-patch-1
Update motd.md
2023-08-10 15:17:20 -04:00
Doug Burks
4426437ad3 Update motd.md 2023-08-10 15:04:31 -04:00
Josh Patterson
1f0f74ff04 Merge pull request #11009 from Security-Onion-Solutions/fix/soruleupdate
ensure only 1 instance of so-rule-update runs. execute the cmd at the end of state run
2023-08-10 12:04:42 -04:00
m0duspwnens
e43900074a ensure only 1 instance of so-rule-update runs. execute the cmd at the end of state run 2023-08-10 11:54:49 -04:00
Josh Patterson
732d2605a7 Merge pull request #11008 from Security-Onion-Solutions/fix/esanno
Fix/esanno
2023-08-10 11:32:14 -04:00
m0duspwnens
4d497022db replace . with _x_ for soc ui compat 2023-08-10 09:52:18 -04:00
Josh Brower
2680a50927 Merge pull request #11004 from Security-Onion-Solutions/2.4/esurlfix
Unset defaults
2023-08-10 08:50:56 -04:00
Josh Brower
874dab7535 Unset defaults 2023-08-09 19:02:53 -04:00
Josh Brower
fe9917ef1c Merge pull request #11002 from Security-Onion-Solutions/2.4/fixfqdn
Move base_url to cert SAN
2023-08-09 16:41:09 -04:00
Josh Brower
e844cf11db Move base_url to cert SAN 2023-08-09 16:38:27 -04:00
m0duspwnens
f9e272dd8f add additional annotations for elasticsearch index settings 2023-08-09 16:09:23 -04:00
m0duspwnens
dfe916d7c8 add annotation for so-logs index 2023-08-09 15:19:17 -04:00
Josh Patterson
c3c769922d Merge pull request #11000 from Security-Onion-Solutions/issue/10954
Issue/10954
2023-08-09 11:31:55 -04:00
m0duspwnens
30e3fbb41c remove extra ) 2023-08-09 11:21:16 -04:00
m0duspwnens
78694807ff Merge remote-tracking branch 'origin/2.4/dev' into issue/10954 2023-08-09 11:19:19 -04:00
m0duspwnens
8844e305ab use sensor.interface for suricata. make af-packet.interface ro in soc ui 2023-08-09 11:18:47 -04:00
Josh Brower
1a37c43c98 Merge pull request #10997 from Security-Onion-Solutions/2.4/autoupgrade
Enable Agent Upgrade Check during highstate
2023-08-09 10:58:26 -04:00
Josh Brower
bf78faa0f0 Enable upgrade check during state run 2023-08-09 10:43:34 -04:00
Josh Brower
204ef7e68f Merge pull request #10994 from Security-Onion-Solutions/2.4/autoupgrade
RC2 Fixes
2023-08-09 09:47:57 -04:00
Josh Patterson
176608d2f9 Merge pull request #10995 from Security-Onion-Solutions/fix/desktop
Fix/desktop
2023-08-09 09:34:44 -04:00
m0duspwnens
28dfdbf06d securityonion_desktop is just desktop 2023-08-09 08:51:39 -04:00
m0duspwnens
a443c654e5 fix desktop pillar in setup 2023-08-09 08:48:00 -04:00
m0duspwnens
6413050f2e set doc_desktop_url before jinja 2023-08-09 08:39:46 -04:00
m0duspwnens
fe7a940082 add details for enabling in soc gui 2023-08-09 08:31:54 -04:00
Josh Brower
e586d6b967 Extract Elastic Agent tarball for airgap soup 2023-08-09 08:30:19 -04:00
m0duspwnens
2d25e352d4 write to adv_ pillar file since that is where it would be stored from using the soc ui 2023-08-09 08:18:13 -04:00
Josh Brower
4297d51a2d Refactor for multiple agents 2023-08-09 08:14:52 -04:00
m0duspwnens
1440c72559 changes for desktop referencing Rocky/CentOS to OEL 2023-08-09 08:06:51 -04:00
m0duspwnens
00efc2f88f rename workstation to desktop for firewall 2023-08-09 07:31:31 -04:00
Josh Patterson
d55c2f889c Merge pull request #10989 from Security-Onion-Solutions/issue/10973
Issue/10973
2023-08-08 19:35:02 -04:00
Josh Brower
e1e535b009 Retry if exit code is error 2023-08-08 18:38:18 -04:00
m0duspwnens
789fff561e ensure ownership of /opt/so/log/strelka/filecheck.log 2023-08-08 17:55:30 -04:00
m0duspwnens
58fe25623b ensure ownership of /opt/so/log/strelka/filecheck_stdout.log 2023-08-08 17:48:34 -04:00
m0duspwnens
553b758c61 update cronjobs first, the kill filecheck 2023-08-08 17:28:14 -04:00
m0duspwnens
6da2f117f2 change which user runs filecheck cron based on md engine 2023-08-08 17:25:08 -04:00
Doug Burks
6ad22edf8e Merge pull request #10987 from Security-Onion-Solutions/dougburks-patch-1
Update soup for 2.4.10
2023-08-08 17:18:38 -04:00
m0duspwnens
2dbe679849 force restart of filecheck if the config changes 2023-08-08 17:05:03 -04:00
Doug Burks
2f74b69cc3 Update soup for 2.4.10 2023-08-08 16:27:11 -04:00
bryant-treacle
4320dab856 Merge pull request #10986 from Security-Onion-Solutions/fix/windows_event_table
Fix/windows event table
2023-08-08 16:23:14 -04:00
bryant-treacle
036b81707b Update defaults.yaml 2023-08-08 16:10:54 -04:00
Josh Brower
8455d3da6f Merge pull request #10977 from Security-Onion-Solutions/2.4/squashbug
Set as default
2023-08-08 15:55:58 -04:00
bryant-treacle
3d4fd08547 Update defaults.yaml 2023-08-08 15:28:06 -04:00
m0duspwnens
21c80e4953 run so-rule-update after idstools container restart 2023-08-08 15:27:23 -04:00
m0duspwnens
5c704d7e58 run so-rule-update if idstools configs change 2023-08-08 15:20:44 -04:00
m0duspwnens
230f5868f9 sync sorules 2023-08-08 15:14:27 -04:00
m0duspwnens
20dedab4b2 remove previously add rules files 2023-08-08 15:03:06 -04:00
m0duspwnens
9118ac2b56 filter.rules to filters.rules 2023-08-08 13:59:43 -04:00
m0duspwnens
aab89d2483 rule-files does not go under profiling 2023-08-08 13:54:58 -04:00
m0duspwnens
b2e75e77e8 add local.rules and filter.rules to suricata defaults. add extraction.rules, local.rules and filter.rules for suricata metadata 2023-08-08 13:50:19 -04:00
Josh Patterson
bcd1ccd91b Merge pull request #10983 from Security-Onion-Solutions/fix/tgrafzeekcloss
Fix/tgrafzeekcloss
2023-08-08 10:19:46 -04:00
m0duspwnens
673b45af09 import ZEEKMERGED 2023-08-08 09:41:42 -04:00
m0duspwnens
a06040c035 add WORKERS calculation back to zeekcaptureloss script 2023-08-08 09:37:37 -04:00
m0duspwnens
e286b8f2ba Merge remote-tracking branch 'origin/2.4/dev' into fix/tgrafzeekcloss 2023-08-08 09:36:12 -04:00
m0duspwnens
69553f9017 removes spaces from zeekcaptureloss script 2023-08-08 09:34:59 -04:00
m0duspwnens
609a2bf32e only import ZEEKMERGED if a sensor type node 2023-08-08 09:27:03 -04:00
Jason Ertel
dad541423d Merge pull request #10978 from Security-Onion-Solutions/jertel/bumpver
update version
2023-08-07 16:36:10 -04:00
Jason Ertel
b9d0d03223 update version 2023-08-07 16:35:05 -04:00
Josh Brower
8611d1848c Set as default 2023-08-07 15:55:53 -04:00
m0duspwnens
5278601e5d manage telegraf scripts with a defaults file assigned per node type 2023-08-07 11:18:35 -04:00
Doug Burks
a13b3f305a Merge pull request #10970 from Security-Onion-Solutions/2.4/dev
2.4.5 RC2
2023-08-07 10:21:29 -04:00
Doug Burks
38089c6662 Merge pull request #10971 from Security-Onion-Solutions/2.4/main
2.4/main to 2.4/dev
2023-08-07 10:17:51 -04:00
Doug Burks
2d863f09eb Merge pull request #10969 from Security-Onion-Solutions/dougburks-patch-1
add spaces for proper rendering DOWNLOAD_AND_VERIFY_ISO.md
2023-08-07 09:31:33 -04:00
Doug Burks
37b98ba188 add spaces for proper rendering DOWNLOAD_AND_VERIFY_ISO.md 2023-08-07 09:29:34 -04:00
Doug Burks
65d1e57ccd Merge pull request #10968 from Security-Onion-Solutions/dougburks-patch-1
prepare for 2.4.5 ISO image release
2023-08-07 09:15:53 -04:00
Doug Burks
9ae32e2bd6 create sigs directory and add sig for 2.4.5 2023-08-07 09:02:52 -04:00
Doug Burks
6e8f31e083 Delete sigs 2023-08-07 08:59:24 -04:00
Doug Burks
3c5cd941c7 Update DOWNLOAD_AND_VERIFY_ISO.md for 2.4.5 2023-08-07 08:45:30 -04:00
Doug Burks
2ea2a4d0a7 Merge pull request #10964 from Security-Onion-Solutions/dougburks-patch-1
Revert yesterday's change to zeekcaptureloss.sh
2023-08-05 09:23:58 -04:00
Doug Burks
90102b1148 Finish reverting yesterday's change to zeekcaptureloss.sh 2023-08-05 09:23:27 -04:00
Doug Burks
ec81cbd70d Revert yesterday's change to zeekcaptureloss.sh 2023-08-05 09:11:58 -04:00
Josh Patterson
59c0109c91 Merge pull request #10961 from Security-Onion-Solutions/fix/tgrafzeekcloss
fix count of WORKERS for zeekcaptureloss script for telegraf
2023-08-04 16:39:26 -04:00
m0duspwnens
9af2a731ca fix count of WORKERS for zeekcaptureloss script for telegraf 2023-08-04 16:29:30 -04:00
Josh Brower
9b656ebbc0 Merge pull request #10960 from Security-Onion-Solutions/2.4/fleetcustomfqdn
Refactor to remove new line
2023-08-04 16:16:43 -04:00
Josh Brower
9d3744aa25 Refactor to remove new line 2023-08-04 16:05:28 -04:00
Josh Patterson
9fddd56c96 Merge pull request #10959 from Security-Onion-Solutions/desktopyummv
Desktopyummv
2023-08-04 16:03:20 -04:00
m0duspwnens
89c4f58296 fix indents 2023-08-04 15:41:10 -04:00
m0duspwnens
0ba1e7521a set default session for preexisting users 2023-08-04 15:36:44 -04:00
m0duspwnens
36747cf940 add networkminer to desktop.packages 2023-08-04 13:52:01 -04:00
Doug Burks
118088c35f Merge pull request #10953 from Security-Onion-Solutions/dougburks-patch-1
FEATURE: soup should rotate its log file #10951
2023-08-04 12:38:21 -04:00
Doug Burks
63373710b4 Update soup to rotate log file 2023-08-04 12:26:36 -04:00
Doug Burks
209da766ba Update soup to rotate log file 2023-08-04 12:16:14 -04:00
m0duspwnens
433cde0f9e Merge remote-tracking branch 'origin/2.4/dev' into desktopyummv 2023-08-04 11:25:06 -04:00
Josh Patterson
9fe9256a0f Merge pull request #10950 from Security-Onion-Solutions/fix/idhfirewall
Fix/idhfirewall
2023-08-04 11:00:58 -04:00
m0duspwnens
014aeffb2a add analyst back 2023-08-04 09:56:33 -04:00
m0duspwnens
3b86b60207 Merge remote-tracking branch 'origin/2.4/dev' into fix/idhfirewall 2023-08-04 09:40:01 -04:00
m0duspwnens
0f52530d07 soc_firewall.yaml update adding idh and rename analyst to workstation 2023-08-04 09:37:58 -04:00
m0duspwnens
726ec72350 allow idh to connect to salt_manager ports on managres 2023-08-04 09:22:59 -04:00
Doug Burks
560ec9106d Merge pull request #10948 from Security-Onion-Solutions/dougburks-patch-1
Update so-whiptail
2023-08-04 09:21:55 -04:00
m0duspwnens
a51acfc314 rename analyst to workstation for fw rules. allow workstation to connect to salt_manager port on managers 2023-08-04 09:17:22 -04:00
Doug Burks
78950ebfbb Update so-whiptail 2023-08-04 09:16:58 -04:00
Josh Brower
d3ae2b03f0 Merge pull request #10947 from Security-Onion-Solutions/2.4/comm_id
Generate community_id for defend endpoint logs
2023-08-04 09:07:35 -04:00
Josh Brower
dd1fa51eb5 Generate community_id for defend endpoint logs 2023-08-04 09:03:17 -04:00
m0duspwnens
682289ef23 add sensoroni ports where missing 2023-08-04 09:01:09 -04:00
m0duspwnens
593cdbd060 add rules for idh to connect to managers, change idh from sensor to idh in so-firewall-minion 2023-08-04 08:50:06 -04:00
Josh Brower
4ed0ba5040 Merge pull request #10946 from Security-Onion-Solutions/2.4/logstashfix
Don't watch certs on search nodes
2023-08-03 19:01:13 -04:00
Josh Brower
2472d6a727 Don't watch certs on search nodes 2023-08-03 18:52:29 -04:00
Mike Reeves
18e31a4490 Merge pull request #10944 from Security-Onion-Solutions/raid
Raid refactor + yara and rule proxy
2023-08-03 17:18:19 -04:00
Mike Reeves
2caca92082 Raid refactor + yara and rule proxy 2023-08-03 17:11:43 -04:00
weslambert
abf74e0ae4 Merge pull request #10940 from Security-Onion-Solutions/foxtrot
Add time shift for so-import-evtx
2023-08-03 16:56:40 -04:00
Josh Brower
dc7ce5ba8f Merge pull request #10941 from Security-Onion-Solutions/2.4/defendupdate
Update for 8.8.2
2023-08-03 16:28:56 -04:00
Josh Brower
6b5343f582 Update for 8.8.2 2023-08-03 16:25:02 -04:00
weslambert
ca6276b922 Update VERSION 2023-08-03 15:58:33 -04:00
weslambert
3e4136e641 Update help text 2023-08-03 15:56:05 -04:00
m0duspwnens
15b8e1a753 add convert-gnome-classic.sh 2023-08-03 15:37:26 -04:00
Doug Burks
b7197bbd16 Merge pull request #10939 from Security-Onion-Solutions/dougburks-patch-1
Update soup for airgap
2023-08-03 15:28:28 -04:00
Josh Brower
8966617508 Merge pull request #10926 from Security-Onion-Solutions/2.4/FleetEnhancments
2.4/fleet-Enhancements
2023-08-03 15:28:03 -04:00
Doug Burks
9319c3f2e1 Update soup for airgap 2023-08-03 15:27:24 -04:00
m0duspwnens
d4fbf7d6a6 convert to gnome classic 2023-08-03 15:26:43 -04:00
Josh Brower
e78fcbc6cb Refactor for Jinja instead 2023-08-03 15:25:11 -04:00
Josh Brower
27b70cbf68 Use jinja instead 2023-08-03 15:21:20 -04:00
Josh Patterson
ffb54135d1 Merge pull request #10938 from Security-Onion-Solutions/desktopyummv
Desktopyummv
2023-08-03 14:54:29 -04:00
m0duspwnens
d40a8927c3 install salt version specified in master.defaults.yaml for desktop 2023-08-03 14:51:43 -04:00
m0duspwnens
9172e10dba check if there are files in yum.repos.d before trying to move them 2023-08-03 14:47:53 -04:00
Doug Burks
1907ea805c Merge pull request #10937 from Security-Onion-Solutions/dougburks-patch-1
Update soup for airgap
2023-08-03 14:39:53 -04:00
Doug Burks
80598d7f8d Update soup for airgap 2023-08-03 14:36:47 -04:00
Josh Patterson
13c3e7f5ff Merge pull request #10934 from Security-Onion-Solutions/fix/soupairgap
ensure AIRGAP is lowercase and check for true
2023-08-03 12:00:06 -04:00
m0duspwnens
d4389d5057 ensure AIRGAP is lowercase and check for true 2023-08-03 11:56:48 -04:00
weslambert
cf2233bbb6 Add help information for time shift 2023-08-03 08:54:54 -04:00
weslambert
3847863b3d Add time shift 2023-08-03 08:51:23 -04:00
weslambert
3368789b43 Update VERSION 2023-08-03 08:49:45 -04:00
Josh Brower
1bc7bbc76e Refactor custom_fqdn 2023-08-02 20:02:37 -04:00
Jason Ertel
e108bb9bcd Merge pull request #10932 from Security-Onion-Solutions/jertel/agentcommon
remove unused vars
2023-08-02 19:29:03 -04:00
Jason Ertel
5414b0756c remove unused vars 2023-08-02 19:25:07 -04:00
Jason Ertel
11c827927c Merge pull request #10931 from Security-Onion-Solutions/jertel/agentcommon
refactor elastic-agent download for soup ctrl+c anomalies
2023-08-02 19:20:45 -04:00
Jason Ertel
3054b8dcb9 refactor elastic-agent download for soup ctrl+c anomalies 2023-08-02 18:57:46 -04:00
Josh Brower
399758cd5f Merge remote-tracking branch 'origin/2.4/dev' into 2.4/FleetEnhancments 2023-08-02 17:58:48 -04:00
Josh Brower
1c8a8c460c Restart logstash when certs change 2023-08-02 17:53:29 -04:00
Josh Brower
ab28cee7cf Allow multiple Custom Fleet FQDN 2023-08-02 17:45:37 -04:00
Mike Reeves
5a3c1f0373 Merge pull request #10930 from Security-Onion-Solutions/m0duspwnens-patch-2
add gtk2
2023-08-02 16:58:38 -04:00
Josh Patterson
435da77388 add gtk2 2023-08-02 16:53:45 -04:00
Mike Reeves
da2910e36f Merge pull request #10927 from Security-Onion-Solutions/m0duspwnens-patch-1
add mono-devel
2023-08-02 16:22:09 -04:00
Josh Patterson
eb512d9aa2 add mono-devel 2023-08-02 16:21:23 -04:00
Mike Reeves
03f5e44be7 Merge pull request #10924 from Security-Onion-Solutions/2.4/regenagent
Regen Agent Installers
2023-08-02 15:28:29 -04:00
Josh Brower
f153c1125d Allow multiple Custom Fleet FQDN 2023-08-02 15:23:18 -04:00
Jason Ertel
99b61b5e1d Merge pull request #10925 from Security-Onion-Solutions/jertel/fiximportsuri
ensure suri rules are synced for import installs
2023-08-02 15:13:59 -04:00
Jason Ertel
8036df4b20 ensure suri rules are synced for import installs 2023-08-02 15:10:31 -04:00
Josh Brower
aab55c8cf6 Regen Agent Installers 2023-08-02 15:09:26 -04:00
Josh Patterson
f3c5d26a4e Merge pull request #10923 from Security-Onion-Solutions/soupaloop
Soupaloop
2023-08-02 14:44:49 -04:00
m0duspwnens
64776936cc no longer need so-user migrate in 2.4 2023-08-02 14:09:43 -04:00
m0duspwnens
c17b324108 dont count adv_ sls files for number of minions in deployment 2023-08-02 14:04:19 -04:00
weslambert
72e1cbbfb6 Merge pull request #10920 from Security-Onion-Solutions/fix/pfsense
Pfsense fix
2023-08-02 13:27:33 -04:00
weslambert
f102351052 Add event 2023-08-02 13:25:44 -04:00
weslambert
ac28f90af3 Remove override 2023-08-02 13:15:11 -04:00
m0duspwnens
f6c6204555 procps to procps-ng 2023-08-02 13:05:24 -04:00
m0duspwnens
9873121000 change pgrep for salt-minion PID 2023-08-02 12:54:31 -04:00
m0duspwnens
5630b353c4 change how pgrep finds salt-master PID 2023-08-02 11:20:51 -04:00
Josh Patterson
04ed5835ae Merge pull request #10918 from Security-Onion-Solutions/issue/10917
force portgroups added to hostgroups in roles to be list of strings
2023-08-02 11:00:41 -04:00
m0duspwnens
407cb2a537 force portgroups added to hostgroups in roles to be list of strings 2023-08-02 10:56:41 -04:00
Josh Brower
b520c1abb7 Allow multiple Custom Fleet FQDN 2023-08-02 10:36:40 -04:00
weslambert
25b11c35fb Merge pull request #10915 from Security-Onion-Solutions/fix/ea_elastic_defend
Set version for Elastic Defend and enable updates
2023-08-02 10:32:30 -04:00
weslambert
ef0301d364 Merge pull request #10914 from Security-Onion-Solutions/feature/package_list
Add package list
2023-08-02 10:03:38 -04:00
Wes
e694019027 Add package list 2023-08-02 13:50:14 +00:00
weslambert
22ebb2faf6 Merge pull request #10907 from Security-Onion-Solutions/fix/ea_container_logs
EA Container Logs
2023-08-02 09:26:53 -04:00
Wes
0d5ed2e835 Set version for Elastic Defend and enable updates 2023-08-02 13:21:03 +00:00
Josh Patterson
8ab1769d70 Merge pull request #10912 from Security-Onion-Solutions/mineerror
Mine error
2023-08-01 17:21:31 -04:00
Jason Ertel
6692fffb9b Merge pull request #10910 from Security-Onion-Solutions/jertel/noautoredirforapi
Fix login flicker; so-status sluggishness
2023-08-01 17:05:48 -04:00
Jason Ertel
23414599ee use simple json (w/o template) to resolve sluggishness 2023-08-01 16:53:26 -04:00
Jason Ertel
8b3a38f573 resolve login page flicker 2023-08-01 16:30:24 -04:00
m0duspwnens
9ec4322bf4 Merge remote-tracking branch 'origin/2.4/dev' into mineerror 2023-08-01 16:21:22 -04:00
m0duspwnens
7037fc52f8 sync all modules before running states 2023-08-01 16:21:06 -04:00
Wes
0e047cffad Add to logrotate 2023-08-01 20:14:53 +00:00
Wes
44b086a028 Change path 2023-08-01 20:13:50 +00:00
Wes
4e2eb86b36 Move LOGS_PATH to environment vars 2023-08-01 20:11:51 +00:00
weslambert
1cbf60825d Add log dir 2023-08-01 14:40:52 -04:00
weslambert
2d13bf1a61 Present logs to the host 2023-08-01 14:40:12 -04:00
Josh Brower
968fee3488 Regen Agent Installers when Fleet URLs change 2023-08-01 13:10:41 -04:00
Doug Burks
da51fd59a0 Merge pull request #10905 from Security-Onion-Solutions/dougburks-patch-1
Update verbiage and links in soc_sensor.yaml
2023-08-01 12:52:22 -04:00
Doug Burks
3fa0a98830 Update verbiage and links in soc_sensor.yaml 2023-08-01 12:45:09 -04:00
weslambert
e7bef745eb Merge pull request #10904 from Security-Onion-Solutions/fix/syslog
Move syslog to the INPUT chain where needed
2023-08-01 12:14:48 -04:00
Mike Reeves
82b335ed04 Merge pull request #10899 from Security-Onion-Solutions/offload
Fix Offload
2023-08-01 10:32:53 -04:00
Mike Reeves
f35f42c83d Sensor NIC offload 2023-08-01 10:23:45 -04:00
weslambert
4adaddf13f Move syslog to the INPUT chain where needed 2023-08-01 10:14:59 -04:00
Mike Reeves
b6579d7d45 Sensor NIC offload 2023-08-01 10:13:44 -04:00
Mike Reeves
87a5d20ac9 Sensor NIC offload 2023-08-01 10:03:59 -04:00
Mike Reeves
2875a7a2e5 Sensor NIC offload 2023-08-01 09:48:44 -04:00
Josh Brower
f27ebc47c1 Merge pull request #10897 from Security-Onion-Solutions/2.4/heavyrc2
2.4/heavyrc2
2023-08-01 09:15:10 -04:00
Josh Brower
63b4bdcebe Merge remote-tracking branch 'origin/2.4/dev' into 2.4/heavyrc2 2023-08-01 08:53:07 -04:00
weslambert
ba3660d0da Merge pull request #10894 from Security-Onion-Solutions/fix/soc_auth
SOC Auth msg fix
2023-08-01 08:35:41 -04:00
weslambert
83265d9d6c Merge pull request #10893 from Security-Onion-Solutions/foxtrot
Elastic 8.2.2
2023-08-01 08:20:07 -04:00
weslambert
527a6ba454 Use asterisk when searching 'msg' since it is now a keyword 2023-07-31 23:52:38 -04:00
weslambert
f84b0a3219 Update VERSION 2023-07-31 23:16:46 -04:00
weslambert
ae6997a6b7 Merge pull request #10892 from Security-Onion-Solutions/feature/elastic_8.8.2
Elastic 8.8.2
2023-07-31 22:24:21 -04:00
weslambert
9d59e4250f Update VERSION 2023-07-31 22:23:54 -04:00
Wes
48d9c14563 Enable log package by default 2023-08-01 02:20:43 +00:00
Wes
29b64eadd4 Change log.log to log.logs 2023-08-01 02:20:22 +00:00
weslambert
5dd5f9fc1c Elastic 8.8.2 2023-07-31 22:18:43 -04:00
weslambert
44c926ba8d Elastic 8.8.2 2023-07-31 22:18:07 -04:00
weslambert
6a55a8e5c0 Elastic 8.2.2 2023-07-31 22:17:22 -04:00
Jason Ertel
5c7c3fb996 avoid rare false positive when dasbhoard load completes during setup 2023-07-31 16:09:36 -04:00
Josh Brower
64bad0a9cf Merge remote-tracking branch 'origin/2.4/dev' into 2.4/heavyrc2 2023-07-31 15:24:32 -04:00
Josh Brower
b6dd347eb8 Heavy Node add manager 2023-07-31 15:22:29 -04:00
Josh Brower
a89508f1ae Heavy Node fixes 2023-07-31 15:17:24 -04:00
Josh Patterson
ed7b674fbb Merge pull request #10891 from Security-Onion-Solutions/fix/idh
import DOCKER in idh.enabled
2023-07-31 15:06:26 -04:00
Josh Patterson
0c2a4cbaba Merge pull request #10889 from Security-Onion-Solutions/searchnodefw
add managersearch and standlone fw rules for searchnode
2023-07-31 13:37:39 -04:00
m0duspwnens
57562ad5e3 add managersearch and standlone fw rules for searchnode 2023-07-31 13:34:08 -04:00
m0duspwnens
95581f505a import DOCKER in idh.enabled 2023-07-31 13:18:57 -04:00
Mike Reeves
599de60dc8 Merge pull request #10888 from Security-Onion-Solutions/soups
Update Soup
2023-07-31 13:14:54 -04:00
Mike Reeves
77101fec12 Update Soup 2023-07-31 13:12:32 -04:00
Mike Reeves
069d32be1a Merge pull request #10887 from Security-Onion-Solutions/soups
Soup
2023-07-31 13:10:02 -04:00
Mike Reeves
e78e6b74ed Update Soup 2023-07-31 13:07:29 -04:00
Mike Reeves
16217912db Update Soup 2023-07-31 13:04:33 -04:00
Josh Patterson
635ddc9b21 Merge pull request #10886 from Security-Onion-Solutions/iptables
Iptables
2023-07-31 11:36:22 -04:00
Mike Reeves
18d8f0d448 Merge pull request #10885 from Security-Onion-Solutions/sensorfix
Sensor Fix
2023-07-31 10:37:28 -04:00
Mike Reeves
1c42d70d30 Update soc_sensor.yaml 2023-07-31 10:36:00 -04:00
Mike Reeves
282f13a774 Merge pull request #10881 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update so-yara-download
2023-07-31 10:23:32 -04:00
Mike Reeves
f867be9e04 Fix no_proxy 2023-07-31 10:19:51 -04:00
Mike Reeves
4939447764 Update so-yara-download 2023-07-31 10:16:37 -04:00
Mike Reeves
5a59975cb8 Update so-yara-download 2023-07-31 10:14:31 -04:00
coreyogburn
20f3cedc01 Merge pull request #10842 from Security-Onion-Solutions/cogburn/7992
New Action "Add to Case"
2023-07-28 14:54:28 -06:00
Doug Burks
e563d71856 Merge pull request #10871 from Security-Onion-Solutions/dougburks-patch-1
Update README.md to 2.4 RC2
2023-07-28 16:33:06 -04:00
Doug Burks
1ca78fd297 Update README.md to 2.4 RC2 2023-07-28 16:29:46 -04:00
Mike Reeves
e76ee718e0 Merge pull request #10870 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2023-07-28 16:08:53 -04:00
Mike Reeves
5c90a5f27e Update VERSION 2023-07-28 16:08:01 -04:00
m0duspwnens
ecbb353d68 Merge remote-tracking branch 'origin/2.4/dev' into iptables 2023-07-28 15:12:08 -04:00
Jason Ertel
f4907a5b5c Merge branch '2.4/dev' into kilo 2023-07-28 14:15:14 -04:00
Corey Ogburn
aa56085758 New Action "Add to Case" 2023-07-28 09:55:44 -06:00
m0duspwnens
4c8373452d change to iptables-nft-services 2023-07-28 11:35:34 -04:00
m0duspwnens
3a22ef8e86 change iptables package name for redhat fam 2023-07-28 08:40:32 -04:00
Jason Ertel
a5c4783564 oidc 2023-07-27 18:36:50 -04:00
m0duspwnens
54080c42fe enable, not enabled 2023-07-27 17:01:19 -04:00
m0duspwnens
12486599e0 Merge remote-tracking branch 'origin/2.4/dev' into iptables 2023-07-27 16:13:58 -04:00
m0duspwnens
3c16218c5a map services,pkg,config for firewall state 2023-07-27 15:45:18 -04:00
Jason Ertel
d3e83d154b Merge branch '2.4/t dev' into kilo 2023-07-27 10:20:22 -04:00
Jason Ertel
aa36e9a785 oidc 2023-07-27 08:40:27 -04:00
Jason Ertel
b712d505f2 update version to use kilo images 2023-07-26 09:21:23 -04:00
Jason Ertel
6d56deb2e4 oidc 1 2023-07-25 08:12:45 -04:00
Jason Ertel
101e2e8ba1 do not redirect to API URLs when not logged in 2023-07-24 17:05:52 -04:00
Jason Ertel
83bff72cd4 Merge branch '2.4/dev' into kilo 2023-07-18 10:49:12 -04:00
Jason Ertel
b24afac0f4 upgrade registry version 2023-07-18 10:48:42 -04:00
Jason Ertel
b129b4ceaa prepare for alt login 2023-07-14 17:03:20 -04:00
256 changed files with 15440 additions and 20739 deletions

View File

@@ -4,9 +4,11 @@ on:
push:
paths:
- "salt/sensoroni/files/analyzers/**"
- "salt/manager/tools/sbin"
pull_request:
paths:
- "salt/sensoroni/files/analyzers/**"
- "salt/manager/tools/sbin"
jobs:
build:
@@ -16,7 +18,7 @@ jobs:
fail-fast: false
matrix:
python-version: ["3.10"]
python-code-path: ["salt/sensoroni/files/analyzers"]
python-code-path: ["salt/sensoroni/files/analyzers", "salt/manager/tools/sbin"]
steps:
- uses: actions/checkout@v3
@@ -34,4 +36,4 @@ jobs:
flake8 ${{ matrix.python-code-path }} --show-source --max-complexity=12 --doctests --max-line-length=200 --statistics
- name: Test with pytest
run: |
pytest ${{ matrix.python-code-path }} --cov=${{ matrix.python-code-path }} --doctest-modules --cov-report=term --cov-fail-under=100 --cov-config=${{ matrix.python-code-path }}/pytest.ini
pytest ${{ matrix.python-code-path }} --cov=${{ matrix.python-code-path }} --doctest-modules --cov-report=term --cov-fail-under=100 --cov-config=pytest.ini

View File

@@ -1,18 +1,18 @@
### 2.4.4-20230728 ISO image built on 2023/07/28
### 2.4.30-20231121 ISO image released on 2023/11/21
### Download and Verify
2.4.4-20230728 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.4.4-20230728.iso
MD5: F63E76245F3E745B5BDE9E6E647A7CB6
SHA1: 6CE4E4A3399CD282D4F8592FB19D510388AB3EEA
SHA256: BF8FEB91B1D94B67C3D4A79D209B068F4A46FEC7C15EEF65B0FCE9851D7E6C9F
2.4.30-20231121 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.4.30-20231121.iso
MD5: 09DB0A6B3A75435C855E777272FC03F8
SHA1: A68868E67A3F86B77E01F54067950757EFD3BA72
SHA256: B3880C0302D9CDED7C974585B14355544FC9C3279F952EC79FC2BA9AEC7CB749
Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.4-20230728.iso.sig
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.30-20231121.iso.sig
Signing key:
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/2.4/main/KEYS
@@ -26,22 +26,22 @@ wget https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/2.
Download the signature file for the ISO:
```
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.4-20230728.iso.sig
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.30-20231121.iso.sig
```
Download the ISO image:
```
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.4-20230728.iso
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.30-20231121.iso
```
Verify the downloaded ISO image using the signature file:
```
gpg --verify securityonion-2.4.4-20230728.iso.sig securityonion-2.4.4-20230728.iso
gpg --verify securityonion-2.4.30-20231121.iso.sig securityonion-2.4.30-20231121.iso
```
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
```
gpg: Signature made Tue 11 Jul 2023 06:23:37 PM EDT using RSA key ID FE507013
gpg: Signature made Tue 21 Nov 2023 01:21:38 PM EST using RSA key ID FE507013
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.

2
HOTFIX
View File

@@ -1 +1 @@
20231121

View File

@@ -1,6 +1,6 @@
## Security Onion 2.4 Release Candidate 1 (RC1)
## Security Onion 2.4
Security Onion 2.4 Release Candidate 1 (RC1) is here!
Security Onion 2.4 is here!
## Screenshots

View File

@@ -1 +1 @@
2.4.4
2.4.30

View File

@@ -12,7 +12,6 @@ role:
eval:
fleet:
heavynode:
helixsensor:
idh:
import:
manager:

View File

@@ -7,19 +7,23 @@
tgt_type='compound') | dictsort()
%}
{% set hostname = cached_grains[minionid]['host'] %}
{% set node_type = minionid.split('_')[1] %}
{% if node_type not in node_types.keys() %}
{% do node_types.update({node_type: {hostname: ip[0]}}) %}
{% else %}
{% if hostname not in node_types[node_type] %}
{% do node_types[node_type].update({hostname: ip[0]}) %}
# only add a node to the pillar if it returned an ip from the mine
{% if ip | length > 0%}
{% set hostname = cached_grains[minionid]['host'] %}
{% set node_type = minionid.split('_')[1] %}
{% if node_type not in node_types.keys() %}
{% do node_types.update({node_type: {hostname: ip[0]}}) %}
{% else %}
{% do node_types[node_type][hostname].update(ip[0]) %}
{% if hostname not in node_types[node_type] %}
{% do node_types[node_type].update({hostname: ip[0]}) %}
{% else %}
{% do node_types[node_type][hostname].update(ip[0]) %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}
logstash:
nodes:
{% for node_type, values in node_types.items() %}

View File

@@ -4,18 +4,22 @@
{% set hostname = minionid.split('_')[0] %}
{% set node_type = minionid.split('_')[1] %}
{% set is_alive = False %}
{% if minionid in manage_alived.keys() %}
{% if ip[0] == manage_alived[minionid] %}
{% set is_alive = True %}
# only add a node to the pillar if it returned an ip from the mine
{% if ip | length > 0%}
{% if minionid in manage_alived.keys() %}
{% if ip[0] == manage_alived[minionid] %}
{% set is_alive = True %}
{% endif %}
{% endif %}
{% endif %}
{% if node_type not in node_types.keys() %}
{% do node_types.update({node_type: {hostname: {'ip':ip[0], 'alive':is_alive }}}) %}
{% else %}
{% if hostname not in node_types[node_type] %}
{% do node_types[node_type].update({hostname: {'ip':ip[0], 'alive':is_alive}}) %}
{% if node_type not in node_types.keys() %}
{% do node_types.update({node_type: {hostname: {'ip':ip[0], 'alive':is_alive }}}) %}
{% else %}
{% do node_types[node_type][hostname].update({'ip':ip[0], 'alive':is_alive}) %}
{% if hostname not in node_types[node_type] %}
{% do node_types[node_type].update({hostname: {'ip':ip[0], 'alive':is_alive}}) %}
{% else %}
{% do node_types[node_type][hostname].update({'ip':ip[0], 'alive':is_alive}) %}
{% endif %}
{% endif %}
{% endif %}
{% endfor %}

View File

@@ -1,44 +0,0 @@
thresholding:
sids:
8675309:
- threshold:
gen_id: 1
type: threshold
track: by_src
count: 10
seconds: 10
- threshold:
gen_id: 1
type: limit
track: by_dst
count: 100
seconds: 30
- rate_filter:
gen_id: 1
track: by_rule
count: 50
seconds: 30
new_action: alert
timeout: 30
- suppress:
gen_id: 1
track: by_either
ip: 10.10.3.7
11223344:
- threshold:
gen_id: 1
type: limit
track: by_dst
count: 10
seconds: 10
- rate_filter:
gen_id: 1
track: by_src
count: 50
seconds: 20
new_action: pass
timeout: 60
- suppress:
gen_id: 1
track: by_src
ip: 10.10.3.0/24

View File

@@ -1,20 +0,0 @@
thresholding:
sids:
<signature id>:
- threshold:
gen_id: <generator id>
type: <threshold | limit | both>
track: <by_src | by_dst>
count: <count>
seconds: <seconds>
- rate_filter:
gen_id: <generator id>
track: <by_src | by_dst | by_rule | by_both>
count: <count>
seconds: <seconds>
new_action: <alert | pass>
timeout: <seconds>
- suppress:
gen_id: <generator id>
track: <by_src | by_dst | by_either>
ip: <ip | subnet>

View File

@@ -4,14 +4,9 @@ base:
- global.adv_global
- docker.soc_docker
- docker.adv_docker
- firewall.soc_firewall
- firewall.adv_firewall
- influxdb.token
- logrotate.soc_logrotate
- logrotate.adv_logrotate
- nginx.soc_nginx
- nginx.adv_nginx
- node_data.ips
- ntp.soc_ntp
- ntp.adv_ntp
- patch.needs_restarting
@@ -22,6 +17,13 @@ base:
- telegraf.soc_telegraf
- telegraf.adv_telegraf
'* and not *_desktop':
- firewall.soc_firewall
- firewall.adv_firewall
- nginx.soc_nginx
- nginx.adv_nginx
- node_data.ips
'*_manager or *_managersearch':
- match: compound
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}

26
pyci.sh Executable file
View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
if [[ $# -ne 1 ]]; then
echo "Usage: $0 <python_script_dir>"
echo "Runs tests on all *_test.py files in the given directory."
exit 1
fi
HOME_DIR=$(dirname "$0")
TARGET_DIR=${1:-.}
PATH=$PATH:/usr/local/bin
if ! which pytest &> /dev/null || ! which flake8 &> /dev/null ; then
echo "Missing dependencies. Consider running the following command:"
echo " python -m pip install flake8 pytest pytest-cov"
exit 1
fi
pip install pytest pytest-cov
flake8 "$TARGET_DIR" "--config=${HOME_DIR}/pytest.ini"
python3 -m pytest "--cov-config=${HOME_DIR}/pytest.ini" "--cov=$TARGET_DIR" --doctest-modules --cov-report=term --cov-fail-under=100 "$TARGET_DIR"

View File

@@ -188,6 +188,9 @@
'docker_clean'
],
'so-desktop': [
'ssl',
'docker_clean',
'telegraf'
],
}, grain='role') %}

10
salt/bpf/macros.jinja Normal file
View File

@@ -0,0 +1,10 @@
{% macro remove_comments(bpfmerged, app) %}
{# remove comments from the bpf #}
{% for bpf in bpfmerged[app] %}
{% if bpf.strip().startswith('#') %}
{% do bpfmerged[app].pop(loop.index0) %}
{% endif %}
{% endfor %}
{% endmacro %}

View File

@@ -1,4 +1,7 @@
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
{% import 'bpf/macros.jinja' as MACROS %}
{{ MACROS.remove_comments(BPFMERGED, 'pcap') }}
{% set PCAPBPF = BPFMERGED.pcap %}

View File

@@ -1,4 +1,7 @@
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
{% import 'bpf/macros.jinja' as MACROS %}
{{ MACROS.remove_comments(BPFMERGED, 'suricata') }}
{% set SURICATABPF = BPFMERGED.suricata %}

View File

@@ -1,4 +1,7 @@
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
{% import 'bpf/macros.jinja' as MACROS %}
{{ MACROS.remove_comments(BPFMERGED, 'zeek') }}
{% set ZEEKBPF = BPFMERGED.zeek %}

View File

@@ -37,7 +37,7 @@ x509_signing_policies:
- ST: Utah
- L: Salt Lake City
- basicConstraints: "critical CA:false"
- keyUsage: "critical keyEncipherment"
- keyUsage: "critical keyEncipherment digitalSignature"
- subjectKeyIdentifier: hash
- authorityKeyIdentifier: keyid,issuer:always
- extendedKeyUsage: serverAuth

View File

@@ -50,6 +50,12 @@ pki_public_ca_crt:
attempts: 5
interval: 30
mine_update_ca_crt:
module.run:
- mine.update: []
- onchanges:
- x509: pki_public_ca_crt
cakeyperms:
file.managed:
- replace: False

View File

@@ -8,6 +8,7 @@ include:
- common.packages
{% if GLOBALS.role in GLOBALS.manager_roles %}
- manager.elasticsearch # needed for elastic_curl_config state
- manager.kibana
{% endif %}
net.core.wmem_default:

View File

@@ -17,10 +17,10 @@ commonpkgs:
- netcat-openbsd
- sqlite3
- libssl-dev
- procps
- python3-dateutil
- python3-docker
- python3-packaging
- python3-watchdog
- python3-lxml
- git
- rsync
@@ -46,10 +46,16 @@ python-rich:
{% endif %}
{% if GLOBALS.os_family == 'RedHat' %}
remove_mariadb:
pkg.removed:
- name: mariadb-devel
commonpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- python3-dnf-plugin-versionlock
- curl
- device-mapper-persistent-data
- fuse
@@ -62,25 +68,19 @@ commonpkgs:
- httpd-tools
- jq
- lvm2
{% if GLOBALS.os == 'CentOS Stream' %}
- MariaDB-devel
{% else %}
- mariadb-devel
{% endif %}
- net-tools
- nmap-ncat
- openssl
- python3-dnf-plugin-versionlock
- procps-ng
- python3-docker
- python3-m2crypto
- python3-packaging
- python3-pyyaml
- python3-rich
- python3-watchdog
- rsync
- sqlite
- tcpdump
- unzip
- wget
- yum-utils
{% endif %}

View File

@@ -19,4 +19,5 @@ soup_manager_scripts:
- source: salt://manager/tools/sbin
- include_pat:
- so-firewall
- soup
- so-repo-sync
- soup

View File

@@ -5,7 +5,16 @@
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
ELASTIC_AGENT_TARBALL_VERSION="8.7.1"
# Elastic agent is not managed by salt. Because of this we must store this base information in a
# script that accompanies the soup system. Since so-common is one of those special soup files,
# and since this same logic is required during installation, it's included in this file.
ELASTIC_AGENT_TARBALL_VERSION="8.10.4"
ELASTIC_AGENT_URL="https://repo.securityonion.net/file/so-repo/prod/2.4/elasticagent/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.tar.gz"
ELASTIC_AGENT_MD5_URL="https://repo.securityonion.net/file/so-repo/prod/2.4/elasticagent/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.md5"
ELASTIC_AGENT_FILE="/nsm/elastic-fleet/artifacts/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.tar.gz"
ELASTIC_AGENT_MD5="/nsm/elastic-fleet/artifacts/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.md5"
ELASTIC_AGENT_EXPANSION_DIR=/nsm/elastic-fleet/artifacts/beats/elastic-agent
DEFAULT_SALT_DIR=/opt/so/saltstack/default
DOC_BASE_URL="https://docs.securityonion.net/en/2.4"
@@ -124,34 +133,47 @@ check_elastic_license() {
}
check_salt_master_status() {
local timeout=$1
echo "Checking if we can talk to the salt master"
salt-call state.show_top concurrent=true
return
local count=0
local attempts="${1:- 10}"
current_time="$(date '+%b %d %H:%M:%S')"
echo "Checking if we can access the salt master and that it is ready at: ${current_time}"
while ! salt-call state.show_top -l error concurrent=true 1> /dev/null; do
current_time="$(date '+%b %d %H:%M:%S')"
echo "Can't access salt master or it is not ready at: ${current_time}"
((count+=1))
if [[ $count -eq $attempts ]]; then
# 10 attempts takes about 5.5 minutes
echo "Gave up trying to access salt-master"
return 1
fi
done
current_time="$(date '+%b %d %H:%M:%S')"
echo "Successfully accessed and salt master ready at: ${current_time}"
return 0
}
# this is only intended to be used to check the status of the minion from a salt master
check_salt_minion_status() {
local timeout=$1
echo "Checking if the salt minion will respond to jobs" >> "$setup_log" 2>&1
salt "$MINION_ID" test.ping -t $timeout > /dev/null 2>&1
local minion="$1"
local timeout="${2:-5}"
local logfile="${3:-'/dev/stdout'}"
echo "Checking if the salt minion: $minion will respond to jobs" >> "$logfile" 2>&1
salt "$minion" test.ping -t $timeout > /dev/null 2>&1
local status=$?
if [ $status -gt 0 ]; then
echo " Minion did not respond" >> "$setup_log" 2>&1
echo " Minion did not respond" >> "$logfile" 2>&1
else
echo " Received job response from salt minion" >> "$setup_log" 2>&1
echo " Received job response from salt minion" >> "$logfile" 2>&1
fi
return $status
}
copy_new_files() {
# Copy new files over to the salt dir
cd $UPDATE_DIR
rsync -a salt $DEFAULT_SALT_DIR/
rsync -a pillar $DEFAULT_SALT_DIR/
rsync -a salt $DEFAULT_SALT_DIR/ --delete
rsync -a pillar $DEFAULT_SALT_DIR/ --delete
chown -R socore:socore $DEFAULT_SALT_DIR/
chmod 755 $DEFAULT_SALT_DIR/pillar/firewall/addfirewall.sh
cd /tmp
@@ -161,6 +183,34 @@ disable_fastestmirror() {
sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf
}
download_and_verify() {
source_url=$1
source_md5_url=$2
dest_file=$3
md5_file=$4
expand_dir=$5
if [[ -n "$expand_dir" ]]; then
mkdir -p "$expand_dir"
fi
if ! verify_md5_checksum "$dest_file" "$md5_file"; then
retry 15 10 "curl --fail --retry 5 --retry-delay 15 -L '$source_url' --output '$dest_file'" "" ""
retry 15 10 "curl --fail --retry 5 --retry-delay 15 -L '$source_md5_url' --output '$md5_file'" "" ""
if verify_md5_checksum "$dest_file" "$md5_file"; then
echo "Source file and checksum are good."
else
echo "Unable to download and verify the source file and checksum."
return 1
fi
fi
if [[ -n "$expand_dir" ]]; then
tar -xf "$dest_file" -C "$expand_dir"
fi
}
elastic_license() {
read -r -d '' message <<- EOM
@@ -205,13 +255,13 @@ gpg_rpm_import() {
else
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/$OS/keys"
fi
RPMKEYS=('RPM-GPG-KEY-oracle' 'RPM-GPG-KEY-EPEL-9' 'SALT-PROJECT-GPG-PUBKEY-2023.pub' 'docker.pub' 'securityonion.pub' 'MariaDB-Server-GPG-KEY')
RPMKEYS=('RPM-GPG-KEY-oracle' 'RPM-GPG-KEY-EPEL-9' 'SALT-PROJECT-GPG-PUBKEY-2023.pub' 'docker.pub' 'securityonion.pub')
for RPMKEY in "${RPMKEYS[@]}"; do
rpm --import $RPMKEYSLOC/$RPMKEY
echo "Imported $RPMKEY"
done
elif [[ $is_rpm ]]; then
info "Importing the security onion GPG key"
echo "Importing the security onion GPG key"
rpm --import ../salt/repo/client/files/oracle/keys/securityonion.pub
fi
}
@@ -225,12 +275,15 @@ init_monitor() {
if [[ $MONITORNIC == "bond0" ]]; then
BIFACES=$(lookup_bond_interfaces)
for i in rx tx sg tso ufo gso gro lro rx-vlan-offload tx-vlan-offload generic-receive-offload generic-segmentation-offload tcp-segmentation-offload; do
ethtool -K "$MONITORNIC" "$i" off;
done
else
BIFACES=$MONITORNIC
fi
for DEVICE_IFACE in $BIFACES; do
for i in rx tx sg tso ufo gso gro lro; do
for i in rx tx sg tso ufo gso gro lro rx-vlan-offload tx-vlan-offload generic-receive-offload generic-segmentation-offload tcp-segmentation-offload; do
ethtool -K "$DEVICE_IFACE" "$i" off;
done
ip link set dev "$DEVICE_IFACE" arp off multicast off allmulticast off promisc on
@@ -344,6 +397,10 @@ retry() {
echo "<Start of output>"
echo "$output"
echo "<End of output>"
if [[ $exitcode -eq 0 ]]; then
echo "Forcing exit code to 1"
exitcode=1
fi
fi
elif [ -n "$failedOutput" ]; then
if [[ "$output" =~ "$failedOutput" ]]; then
@@ -352,7 +409,7 @@ retry() {
echo "$output"
echo "<End of output>"
if [[ $exitcode -eq 0 ]]; then
echo "The exitcode was 0, but we are setting to 1 since we found $failedOutput in the output."
echo "Forcing exit code to 1"
exitcode=1
fi
else
@@ -390,6 +447,24 @@ run_check_net_err() {
fi
}
wait_for_salt_minion() {
local minion="$1"
local timeout="${2:-5}"
local logfile="${3:-'/dev/stdout'}"
retry 60 5 "journalctl -u salt-minion.service | grep 'Minion is ready to receive requests'" >> "$logfile" 2>&1 || fail
local attempt=0
# each attempts would take about 15 seconds
local maxAttempts=20
until check_salt_minion_status "$minion" "$timeout" "$logfile"; do
attempt=$((attempt+1))
if [[ $attempt -eq $maxAttempts ]]; then
return 1
fi
sleep 10
done
return 0
}
salt_minion_count() {
local MINIONDIR="/opt/so/saltstack/local/pillar/minions"
MINIONCOUNT=$(ls -la $MINIONDIR/*.sls | grep -v adv_ | wc -l)
@@ -402,15 +477,51 @@ set_os() {
OS=rocky
OSVER=9
is_rocky=true
is_rpm=true
elif grep -q "CentOS Stream release 9" /etc/redhat-release; then
OS=centos
OSVER=9
is_centos=true
is_rpm=true
elif grep -q "AlmaLinux release 9" /etc/redhat-release; then
OS=alma
OSVER=9
is_alma=true
is_rpm=true
elif grep -q "Red Hat Enterprise Linux release 9" /etc/redhat-release; then
if [ -f /etc/oracle-release ]; then
OS=oracle
OSVER=9
is_oracle=true
is_rpm=true
else
OS=rhel
OSVER=9
is_rhel=true
is_rpm=true
fi
fi
cron_service_name="crond"
else
OS=ubuntu
is_ubuntu=true
elif [ -f /etc/os-release ]; then
if grep -q "UBUNTU_CODENAME=focal" /etc/os-release; then
OSVER=focal
UBVER=20.04
OS=ubuntu
is_ubuntu=true
is_deb=true
elif grep -q "UBUNTU_CODENAME=jammy" /etc/os-release; then
OSVER=jammy
UBVER=22.04
OS=ubuntu
is_ubuntu=true
is_deb=true
elif grep -q "VERSION_CODENAME=bookworm" /etc/os-release; then
OSVER=bookworm
DEBVER=12
is_debian=true
OS=debian
is_deb=true
fi
cron_service_name="cron"
fi
}
@@ -444,6 +555,10 @@ set_version() {
fi
}
status () {
printf "\n=========================================================================\n$(date) | $1\n=========================================================================\n"
}
systemctl_func() {
local action=$1
local echo_action=$1
@@ -467,6 +582,11 @@ has_uppercase() {
|| return 1
}
update_elastic_agent() {
echo "Checking if Elastic Agent update is necessary..."
download_and_verify "$ELASTIC_AGENT_URL" "$ELASTIC_AGENT_MD5_URL" "$ELASTIC_AGENT_FILE" "$ELASTIC_AGENT_MD5" "$ELASTIC_AGENT_EXPANSION_DIR"
}
valid_cidr() {
# Verify there is a backslash in the string
echo "$1" | grep -qP "^[^/]+/[^/]+$" || return 1
@@ -620,6 +740,23 @@ valid_username() {
echo "$user" | grep -qP '^[a-z_]([a-z0-9_-]{0,31}|[a-z0-9_-]{0,30}\$)$' && return 0 || return 1
}
verify_md5_checksum() {
data_file=$1
md5_file=${2:-${data_file}.md5}
if [[ ! -f "$dest_file" || ! -f "$md5_file" ]]; then
return 2
fi
SOURCEHASH=$(md5sum "$data_file" | awk '{ print $1 }')
HASH=$(cat "$md5_file")
if [[ "$HASH" == "$SOURCEHASH" ]]; then
return 0
fi
return 1
}
wait_for_web_response() {
url=$1
expected=$2

View File

@@ -137,7 +137,7 @@ update_docker_containers() {
for i in "${TRUSTED_CONTAINERS[@]}"
do
if [ -z "$PROGRESS_CALLBACK" ]; then
echo "Downloading $i" >> "$LOG_FILE" 2>&1
echo "Downloading $i" >> "$LOG_FILE" 2>&1
else
$PROGRESS_CALLBACK $i
fi

View File

@@ -0,0 +1,243 @@
#!/bin/bash
#
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
RECENT_LOG_LINES=200
EXCLUDE_STARTUP_ERRORS=N
EXCLUDE_FALSE_POSITIVE_ERRORS=N
EXCLUDE_KNOWN_ERRORS=N
while [[ $# -gt 0 ]]; do
case $1 in
--exclude-connection-errors)
EXCLUDE_STARTUP_ERRORS=Y
;;
--exclude-false-positives)
EXCLUDE_FALSE_POSITIVE_ERRORS=Y
;;
--exclude-known-errors)
EXCLUDE_KNOWN_ERRORS=Y
;;
--unknown)
EXCLUDE_STARTUP_ERRORS=Y
EXCLUDE_FALSE_POSITIVE_ERRORS=Y
EXCLUDE_KNOWN_ERRORS=Y
;;
--recent-log-lines)
shift
RECENT_LOG_LINES=$1
;;
*)
echo "Usage: $0 [options]"
echo ""
echo "where options are:"
echo " --recent-log-lines N looks at the most recent N log lines per file or container; defaults to 200"
echo " --exclude-connection-errors exclude errors caused by a recent server or container restart"
echo " --exclude-false-positives exclude logs that are known false positives"
echo " --exclude-known-errors exclude errors that are known and non-critical issues"
echo " --unknown exclude everything mentioned above; only show unknown errors"
echo ""
echo "A non-zero return value indicates errors were found"
exit 1
;;
esac
shift
done
echo "Security Onion Log Check - $(date)"
echo "-------------------------------------------"
echo ""
echo "- RECENT_LOG_LINES: $RECENT_LOG_LINES"
echo "- EXCLUDE_STARTUP_ERRORS: $EXCLUDE_STARTUP_ERRORS"
echo "- EXCLUDE_FALSE_POSITIVE_ERRORS: $EXCLUDE_FALSE_POSITIVE_ERRORS"
echo "- EXCLUDE_KNOWN_ERRORS: $EXCLUDE_KNOWN_ERRORS"
echo ""
function status() {
header "$1"
}
function exclude_container() {
name=$1
exclude_id=$(docker ps | grep "$name" | awk '{print $1}')
if [[ -n "$exclude_id" ]]; then
CONTAINER_IDS=$(echo $CONTAINER_IDS | sed -e "s/$exclude_id//g")
return $?
fi
return $?
}
function exclude_log() {
name=$1
cat /tmp/log_check_files | grep -v $name > /tmp/log_check_files.new
mv /tmp/log_check_files.new /tmp/log_check_files
}
function check_for_errors() {
if cat /tmp/log_check | grep -i error | grep -vEi "$EXCLUDED_ERRORS"; then
RESULT=1
fi
}
EXCLUDED_ERRORS="__LOG_CHECK_PLACEHOLDER_EXCLUSION__"
if [[ $EXCLUDE_STARTUP_ERRORS == 'Y' ]]; then
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|database is locked" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|econnreset" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|unreachable" # server not yet ready (logstash waiting on elastic)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|shutdown process" # server not yet ready (logstash waiting on elastic)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|contain valid certificates" # server not yet ready (logstash waiting on elastic)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failedaction" # server not yet ready (logstash waiting on elastic)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|no route to host" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|not running" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|unavailable" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|request.py" # server not yet ready (python stack output)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|httperror" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|servfail" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|connect" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|missing shards" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failed to send metrics" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|broken pipe" # server not yet ready
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|status: 502" # server not yet ready (nginx waiting on upstream)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeout exceeded" # server not yet ready (telegraf waiting on elasticsearch)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|influxsize kbytes" # server not yet ready (telegraf waiting on influx)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|expected field at" # server not yet ready (telegraf waiting on health data)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|cached the public key" # server not yet ready (salt minion waiting on key acceptance)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|no ingest nodes" # server not yet ready (logstash waiting on elastic)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failed to poll" # server not yet ready (sensoroni waiting on soc)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|minions returned with non" # server not yet ready (salt waiting on minions)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|so_long_term" # server not yet ready (influxdb not yet setup)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|search_phase_execution_exception" # server not yet ready (elastalert running searches before ES is ready)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeout retrieving docker" # Telegraf unable to reach Docker engine, rare
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeout retrieving container" # Telegraf unable to reach Docker engine, rare
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error while communicating" # Elasticsearch MS -> HN "sensor" temporarily unavailable
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|tls handshake error" # Docker registry container when new node comes onlines
fi
if [[ $EXCLUDE_FALSE_POSITIVE_ERRORS == 'Y' ]]; then
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|elastalert_status_error" # false positive
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|elastalert_error" # false positive
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error: '0'" # false positive
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|errors_index" # false positive
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|noerror" # false positive
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|outofmemoryerror" # false positive (elastic command line)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|adding component template" # false positive (elastic security)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|adding index template" # false positive (elastic security)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|fs_errors" # false positive (suricata stats)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error-template" # false positive (elastic templates)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|deprecated" # false positive (playbook)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|windows" # false positive (playbook)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|could cause errors" # false positive (playbook)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|_error.yml" # false positive (playbook)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|id.orig_h" # false positive (zeek test data)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|emerging-all.rules" # false positive (error in rulename)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|invalid query input" # false positive (Invalid user input in hunt query)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|example" # false positive (example test data)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|status 200" # false positive (request successful, contained error string in content)
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|app_layer.error" # false positive (suricata 7) in stats.log e.g. app_layer.error.imap.parser | Total | 0
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|is not an ip string literal" # false positive (Open Canary logging out blank IP addresses)
fi
if [[ $EXCLUDE_KNOWN_ERRORS == 'Y' ]]; then
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|eof"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|raise" # redis/python generic stack line, rely on other lines for actual error
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|fail\\(error\\)" # redis/python generic stack line, rely on other lines for actual error
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|urlerror" # idstools connection timeout
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeouterror" # idstools connection timeout
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|forbidden" # playbook
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|_ml" # Elastic ML errors
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|context canceled" # elastic agent during shutdown
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|exited with code 128" # soctopus errors during forced restart by highstate
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|geoip databases update" # airgap can't update GeoIP DB
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|filenotfounderror" # bug in 2.4.10 filecheck salt state caused duplicate cronjobs
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|salt-minion-check" # bug in early 2.4 place Jinja script in non-jinja salt dir causing cron output errors
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|generating elastalert config" # playbook expected error
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|activerecord" # playbook expected error
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|monitoring.metrics" # known issue with elastic agent casting the field incorrectly if an integer value shows up before a float
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|repodownload.conf" # known issue with reposync on pre-2.4.20
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|missing versions record" # stenographer corrupt index
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|soc.field." # known ingest type collisions issue with earlier versions of SO
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error parsing signature" # Malformed Suricata rule, from upstream provider
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|sticky buffer has no matches" # Non-critical Suricata error
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|Unable to determine destination index stats" # Elastic transform temporary error
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|iteration"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|communication packets"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|use of closed"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|bookkeeper"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|noindices"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failed to start transient scope"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|so-user.lock exists"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|systemd-run"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|retcode: 1"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|telemetry-task"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|redisqueue"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|fleet_detail_query"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|num errors=0"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|provisioning/alerting"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|provisioning/notifiers"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|provisoning/plugins"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|active-responses.log"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|scanentropy"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|integration policy"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|blob unknown"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|token required"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|zeekcaptureloss"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|unable to create detection"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error installing new prebuilt rules"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|parent.error"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|req.LocalMeta.host.ip" # known issue in GH
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|sendmail" # zeek
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|stats.log"
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|context deadline exceeded"
fi
RESULT=0
# Check Security Onion container stdout/stderr logs
CONTAINER_IDS=$(docker ps -q)
exclude_container so-kibana # kibana error logs are too verbose with large varieties of errors most of which are temporary
exclude_container so-idstools # ignore due to known issues and noisy logging
exclude_container so-playbook # ignore due to several playbook known issues
for container_id in $CONTAINER_IDS; do
container_name=$(docker ps --format json | jq ". | select(.ID==\"$container_id\")|.Names")
status "Checking container $container_name"
docker logs -n $RECENT_LOG_LINES $container_id > /tmp/log_check 2>&1
check_for_errors
done
# Check Security Onion related log files
find /opt/so/log/ /nsm -name \*.log > /tmp/log_check_files
if [[ -f /var/log/cron ]]; then
echo "/var/log/cron" >> /tmp/log_check_files
fi
exclude_log "kibana.log" # kibana error logs are too verbose with large varieties of errors most of which are temporary
exclude_log "spool" # disregard zeek analyze logs as this is data specific
exclude_log "import" # disregard imported test data the contains error strings
exclude_log "update.log" # ignore playbook updates due to several known issues
exclude_log "playbook.log" # ignore due to several playbook known issues
for log_file in $(cat /tmp/log_check_files); do
status "Checking log file $log_file"
tail -n $RECENT_LOG_LINES $log_file > /tmp/log_check
check_for_errors
done
# Cleanup temp files
rm -f /tmp/log_check_files
rm -f /tmp/log_check
if [[ $RESULT -eq 0 ]]; then
echo -e "\nResult: No errors found"
else
echo -e "\nResult: One or more errors found"
fi
exit $RESULT

View File

@@ -103,7 +103,7 @@ def output(options, console, code, data):
def check_container_status(options, console):
code = 0
cli = "docker"
proc = subprocess.run([cli, 'ps', '--format', '{{json .}}'], stdout=subprocess.PIPE, encoding="utf-8")
proc = subprocess.run([cli, 'ps', '--format', 'json'], stdout=subprocess.PIPE, encoding="utf-8")
if proc.returncode != 0:
fail("Container system error; unable to obtain container process statuses")

View File

@@ -5,4 +5,14 @@
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
set -e
# Playback live sample data onto monitor interface
so-tcpreplay /opt/samples/* 2> /dev/null
# Ingest sample pfsense log entry
if is_sensor_node; then
echo "<134>$(date '+%b %d %H:%M:%S') filterlog[31624]: 84,,,1567509287,igb0.244,match,pass,in,4,0x0,,64,0,0,DF,6,tcp,64,192.168.1.1,10.10.10.10,56320,443,0,S,3333585167,,65535,,mss;nop;wscale;nop;nop;TS;sackOK;eol" | nc -uv -w1 127.0.0.1 514 > /dev/null 2>&1
fi

View File

@@ -1,67 +0,0 @@
#!/bin/bash
local_salt_dir=/opt/so/saltstack/local
zeek_logs_enabled() {
echo "zeeklogs:" > $local_salt_dir/pillar/zeeklogs.sls
echo " enabled:" >> $local_salt_dir/pillar/zeeklogs.sls
for BLOG in "${BLOGS[@]}"; do
echo " - $BLOG" | tr -d '"' >> $local_salt_dir/pillar/zeeklogs.sls
done
}
whiptail_manager_adv_service_zeeklogs() {
BLOGS=$(whiptail --title "so-zeek-logs" --checklist "Please Select Logs to Send:" 24 78 12 \
"conn" "Connection Logging" ON \
"dce_rpc" "RPC Logs" ON \
"dhcp" "DHCP Logs" ON \
"dnp3" "DNP3 Logs" ON \
"dns" "DNS Logs" ON \
"dpd" "DPD Logs" ON \
"files" "Files Logs" ON \
"ftp" "FTP Logs" ON \
"http" "HTTP Logs" ON \
"intel" "Intel Hits Logs" ON \
"irc" "IRC Chat Logs" ON \
"kerberos" "Kerberos Logs" ON \
"modbus" "MODBUS Logs" ON \
"notice" "Zeek Notice Logs" ON \
"ntlm" "NTLM Logs" ON \
"pe" "PE Logs" ON \
"radius" "Radius Logs" ON \
"rfb" "RFB Logs" ON \
"rdp" "RDP Logs" ON \
"sip" "SIP Logs" ON \
"smb_files" "SMB Files Logs" ON \
"smb_mapping" "SMB Mapping Logs" ON \
"smtp" "SMTP Logs" ON \
"snmp" "SNMP Logs" ON \
"ssh" "SSH Logs" ON \
"ssl" "SSL Logs" ON \
"syslog" "Syslog Logs" ON \
"tunnel" "Tunnel Logs" ON \
"weird" "Zeek Weird Logs" ON \
"mysql" "MySQL Logs" ON \
"socks" "SOCKS Logs" ON \
"x509" "x.509 Logs" ON 3>&1 1>&2 2>&3 )
local exitstatus=$?
IFS=' ' read -ra BLOGS <<< "$BLOGS"
return $exitstatus
}
whiptail_manager_adv_service_zeeklogs
return_code=$?
case $return_code in
1)
whiptail --title "so-zeek-logs" --msgbox "Cancelling. No changes have been made." 8 75
;;
255)
whiptail --title "so-zeek-logs" --msgbox "Whiptail error occured, exiting." 8 75
;;
*)
zeek_logs_enabled
;;
esac

View File

@@ -5,15 +5,15 @@
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
source /usr/sbin/so-common
doc_desktop_url="$DOC_BASE_URL/desktop.html"
{# we only want the script to install the desktop if it is Rocky -#}
{% if grains.os == 'Rocky' -%}
{# we only want the script to install the desktop if it is OEL -#}
{% if grains.os == 'OEL' -%}
{# if this is a manager -#}
{% if grains.master == grains.id.split('_')|first -%}
source /usr/sbin/so-common
doc_desktop_url="$DOC_BASE_URL/desktop.html"
pillar_file="/opt/so/saltstack/local/pillar/minions/{{grains.id}}.sls"
pillar_file="/opt/so/saltstack/local/pillar/minions/adv_{{grains.id}}.sls"
if [ -f "$pillar_file" ]; then
if ! grep -q "^desktop:$" "$pillar_file"; then
@@ -65,7 +65,7 @@ if [ -f "$pillar_file" ]; then
fi
else # desktop is already added
echo "The desktop pillar already exists in $pillar_file."
echo "To enable/disable the gui, set 'desktop:gui:enabled' to true or false in $pillar_file."
echo "To enable/disable the gui, set 'desktop:gui:enabled' to true or false in $pillar_file. Alternatively, this can be set in the SOC UI under advanced."
echo "Additional documentation can be found at $doc_desktop_url."
fi
else # if the pillar file doesn't exist
@@ -75,17 +75,22 @@ fi
{#- if this is not a manager #}
{% else -%}
echo "Since this is not a manager, the pillar values to enable Security Onion Desktop must be set manually. Please view the documentation at $doc_desktop_url."
echo "Since this is not a manager, the pillar values to enable Security Onion Desktop must be set manually. This can be enabled in the SOC UI under advanced by adding the following:"
echo "desktop:"
echo " gui:"
echo " enabled: true"
echo ""
echo "Please view the documentation at $doc_desktop_url."
{#- endif if this is a manager #}
{% endif -%}
{#- if not Rocky #}
{#- if not OEL #}
{%- else %}
echo "The Security Onion Desktop can only be installed on Rocky Linux. Please view the documentation at $doc_desktop_url."
echo "The Security Onion Desktop can only be installed on Oracle Linux. Please view the documentation at $doc_desktop_url."
{#- endif grains.os == Rocky #}
{#- endif grains.os == OEL #}
{% endif -%}
exit 0

View File

@@ -27,6 +27,8 @@ Imports one or more evtx files into Security Onion. The evtx files will be analy
Options:
--json Outputs summary in JSON format. Implies --quiet.
--quiet Silences progress information to stdout.
--shift Adds a time shift. Accepts a single argument that is intended to be the date of the last record, and shifts the dates of the previous records accordingly.
Ex. sudo so-import-evtx --shift "2023-08-01 01:01:01" example.evtx
EOF
}
@@ -44,6 +46,10 @@ while [[ $# -gt 0 ]]; do
--quiet)
quiet=1
;;
--shift)
SHIFTDATE=$1
shift
;;
-*)
echo "Encountered unexpected parameter: $param"
usage
@@ -68,12 +74,14 @@ function status {
function evtx2es() {
EVTX=$1
HASH=$2
SHIFTDATE=$3
docker run --rm \
-e "SHIFTTS=$SHIFTDATE" \
-v "$EVTX:/tmp/data.evtx" \
-v "/nsm/import/$HASH/evtx/:/tmp/evtx/" \
-v "/nsm/import/evtx-end_newest:/tmp/newest" \
-v "/nsm/import/evtx-start_oldest:/tmp/oldest" \
-v "/nsm/import/$HASH/evtx-end_newest:/tmp/newest" \
-v "/nsm/import/$HASH/evtx-start_oldest:/tmp/oldest" \
--entrypoint "/evtx_calc_timestamps.sh" \
{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }} >> $LOG_FILE 2>&1
}
@@ -103,17 +111,13 @@ INVALID_EVTXS_COUNT=0
VALID_EVTXS_COUNT=0
SKIPPED_EVTXS_COUNT=0
touch /nsm/import/evtx-start_oldest
touch /nsm/import/evtx-end_newest
echo $START_OLDEST > /nsm/import/evtx-start_oldest
echo $END_NEWEST > /nsm/import/evtx-end_newest
# paths must be quoted in case they include spaces
for EVTX in $INPUT_FILES; do
EVTX=$(/usr/bin/realpath "$EVTX")
status "Processing Import: ${EVTX}"
if ! [ -z "$SHIFTDATE" ]; then
status "- timeshifting logs to end date of $SHIFTDATE"
fi
# generate a unique hash to assist with dedupe checks
HASH=$(md5sum "${EVTX}" | awk '{ print $1 }')
HASH_DIR=/nsm/import/${HASH}
@@ -131,12 +135,19 @@ for EVTX in $INPUT_FILES; do
status "- this EVTX has already been imported; skipping"
SKIPPED_EVTXS_COUNT=$((SKIPPED_EVTXS_COUNT + 1))
else
# create EVTX directory
EVTX_DIR=$HASH_DIR/evtx
mkdir -p $EVTX_DIR
# create import timestamp files
for i in evtx-start_oldest evtx-end_newest; do
if ! [ -f "$i" ]; then
touch /nsm/import/$HASH/$i
fi
done
# import evtx and write them to import ingest pipeline
status "- importing logs to Elasticsearch..."
evtx2es "${EVTX}" $HASH
evtx2es "${EVTX}" $HASH "$SHIFTDATE"
if [[ $? -ne 0 ]]; then
INVALID_EVTXS_COUNT=$((INVALID_EVTXS_COUNT + 1))
status "- WARNING: This evtx file may not have fully imported successfully"
@@ -144,28 +155,37 @@ for EVTX in $INPUT_FILES; do
VALID_EVTXS_COUNT=$((VALID_EVTXS_COUNT + 1))
fi
# compare $START to $START_OLDEST
START=$(cat /nsm/import/evtx-start_oldest)
START_COMPARE=$(date -d $START +%s)
START_OLDEST_COMPARE=$(date -d $START_OLDEST +%s)
if [ $START_COMPARE -lt $START_OLDEST_COMPARE ]; then
START_OLDEST=$START
fi
# compare $ENDNEXT to $END_NEWEST
END=$(cat /nsm/import/evtx-end_newest)
ENDNEXT=`date +%Y-%m-%d --date="$END 1 day"`
ENDNEXT_COMPARE=$(date -d $ENDNEXT +%s)
END_NEWEST_COMPARE=$(date -d $END_NEWEST +%s)
if [ $ENDNEXT_COMPARE -gt $END_NEWEST_COMPARE ]; then
END_NEWEST=$ENDNEXT
fi
cp -f "${EVTX}" "${EVTX_DIR}"/data.evtx
chmod 644 "${EVTX_DIR}"/data.evtx
fi # end of valid evtx
# determine start and end and make sure they aren't reversed
START=$(cat /nsm/import/$HASH/evtx-start_oldest)
END=$(cat /nsm/import/$HASH/evtx-end_newest)
START_EPOCH=`date -d "$START" +"%s"`
END_EPOCH=`date -d "$END" +"%s"`
if [ "$START_EPOCH" -gt "$END_EPOCH" ]; then
TEMP=$START
START=$END
END=$TEMP
fi
# compare $START to $START_OLDEST
START_COMPARE=$(date -d $START +%s)
START_OLDEST_COMPARE=$(date -d $START_OLDEST +%s)
if [ $START_COMPARE -lt $START_OLDEST_COMPARE ]; then
START_OLDEST=$START
fi
# compare $ENDNEXT to $END_NEWEST
ENDNEXT=`date +%Y-%m-%d --date="$END 1 day"`
ENDNEXT_COMPARE=$(date -d $ENDNEXT +%s)
END_NEWEST_COMPARE=$(date -d $END_NEWEST +%s)
if [ $ENDNEXT_COMPARE -gt $END_NEWEST_COMPARE ]; then
END_NEWEST=$ENDNEXT
fi
status
done # end of for-loop processing evtx files
@@ -222,4 +242,4 @@ if [[ $json -eq 1 ]]; then
}'''
fi
exit $RESULT
exit $RESULT

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
@@ -9,25 +9,26 @@
. /usr/sbin/so-common
appliance_check() {
{%- if salt['grains.get']('sosmodel', '') %}
APPLIANCE=1
{%- if grains['sosmodel'] in ['SO2AMI01', 'SO2GCI01', 'SO2AZI01'] %}
exit 0
{%- endif %}
DUDEYOUGOTADELL=$(dmidecode |grep Dell)
if [[ -n $DUDEYOUGOTADELL ]]; then
APPTYPE=dell
else
APPTYPE=sm
fi
mkdir -p /opt/so/log/raid
{%- else %}
echo "This is not an appliance"
exit 0
{%- endif %}
}
{%- if salt['grains.get']('sosmodel', '') %}
{%- set model = salt['grains.get']('sosmodel') %}
model={{ model }}
# Don't need cloud images to use this
if [[ $model =~ ^(SO2AMI01|SO2AZI01|SO2GCI01)$ ]]; then
exit 0
fi
{%- else %}
echo "This is not an appliance"
exit 0
{%- endif %}
if [[ $model =~ ^(SOS10K|SOS500|SOS1000|SOS1000F|SOS4000|SOSSN7200|SOSSNNV|SOSMN)$ ]]; then
is_bossraid=true
fi
if [[ $model =~ ^(SOSSNNV|SOSMN)$ ]]; then
is_swraid=true
fi
if [[ $model =~ ^(SOS10K|SOS500|SOS1000|SOS1000F|SOS4000|SOSSN7200)$ ]]; then
is_hwraid=true
fi
check_nsm_raid() {
PERCCLI=$(/opt/raidtools/perccli/perccli64 /c0/v0 show|grep RAID|grep Optl)
@@ -49,61 +50,44 @@ check_nsm_raid() {
check_boss_raid() {
MVCLI=$(/usr/local/bin/mvcli info -o vd |grep status |grep functional)
if [[ -n $DUDEYOUGOTADELL ]]; then
if [[ -n $MVCLI ]]; then
BOSSRAID=0
else
BOSSRAID=1
fi
if [[ -n $MVCLI ]]; then
BOSSRAID=0
else
BOSSRAID=1
fi
}
check_software_raid() {
if [[ -n $DUDEYOUGOTADELL ]]; then
SWRC=$(grep "_" /proc/mdstat)
if [[ -n $SWRC ]]; then
# RAID is failed in some way
SWRAID=1
else
SWRAID=0
fi
SWRC=$(grep "_" /proc/mdstat)
if [[ -n $SWRC ]]; then
# RAID is failed in some way
SWRAID=1
else
SWRAID=0
fi
}
# This script checks raid status if you use SO appliances
# Set everything to 0
SWRAID=0
BOSSRAID=0
HWRAID=0
# See if this is an appliance
appliance_check
check_nsm_raid
check_boss_raid
{%- if salt['grains.get']('sosmodel', '') %}
{%- if grains['sosmodel'] in ['SOSMN', 'SOSSNNV'] %}
check_software_raid
{%- endif %}
{%- endif %}
if [[ -n $SWRAID ]]; then
if [[ $SWRAID == '0' && $BOSSRAID == '0' ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
elif [[ -n $DUDEYOUGOTADELL ]]; then
if [[ $BOSSRAID == '0' && $HWRAID == '0' ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
elif [[ "$APPTYPE" == 'sm' ]]; then
if [[ -n "$HWRAID" ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
if [[ $is_hwraid ]]; then
check_nsm_raid
fi
if [[ $is_bossraid ]]; then
check_boss_raid
fi
if [[ $is_swraid ]]; then
check_software_raid
fi
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log
sum=$(($SWRAID + $BOSSRAID + $HWRAID))
if [[ $sum == "0" ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log

View File

@@ -0,0 +1,8 @@
# Specify the dconf path
[org/gnome/desktop/background]
# Specify the path to the desktop background image file
picture-uri='file:///usr/local/share/backgrounds/so-wallpaper.jpg'
# Specify one of the rendering options for the background image:
picture-options='zoom'

View File

@@ -0,0 +1,7 @@
# This file is managed by Salt in the desktop.xwindows state
# It will not be overwritten if it already exists
[User]
Session=gnome-classic
Icon=/home/{{USERNAME}}/.face
SystemAccount=false

View File

@@ -1,8 +1,5 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'OEL' %}
{% if grains.os == 'OEL' %}
desktop_packages:
pkg.installed:
@@ -181,6 +178,7 @@ desktop_packages:
- gstreamer1-plugins-good-gtk
- gstreamer1-plugins-ugly-free
- gtk-update-icon-cache
- gtk2
- gtk3
- gtk4
- gtkmm30
@@ -295,6 +293,7 @@ desktop_packages:
- mesa-vulkan-drivers
- microcode_ctl
- mobile-broadband-provider-info
- mono-devel
- mpfr
- mpg123-libs
- mtdev
@@ -433,6 +432,10 @@ desktop_packages:
- xorg-x11-xinit-session
- zip
install_networkminer:
pkg.latest:
- name: securityonion-networkminer
{% else %}
desktop_packages_os_fail:

View File

@@ -1,7 +1,5 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'OEL' %}
{% if grains.os == 'OEL' %}
remove_graphical_target:
file.symlink:

View File

@@ -31,6 +31,6 @@ update_ca_certs:
desktop_trusted-ca_os_fail:
test.fail_without_changes:
- comment: 'SO Desktop can only be installed on CentOS'
- comment: 'SO Desktop can only be installed on Oracle Linux'
{% endif %}

View File

@@ -1,7 +1,5 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'OEL' %}
{% if grains.os == 'OEL' %}
include:
- desktop.packages
@@ -14,6 +12,41 @@ graphical_target:
- require:
- desktop_packages
{# set users to use gnome-classic #}
{% for username in salt['file.find'](path='/home/',mindepth=1,maxdepth=1,type='d') %}
{% set username = username.split('/')[2] %}
{% if username != 'zeek' %}
{% if not salt['file.file_exists']('/var/lib/AccountsService/users/' ~ username) %}
{{username}}_session:
file.managed:
- name: /var/lib/AccountsService/users/{{username}}
- source: salt://desktop/files/session.jinja
- template: jinja
- defaults:
USERNAME: {{username}}
{% endif %}
{% endif %}
{% endfor %}
desktop_wallpaper:
file.managed:
- name: /usr/local/share/backgrounds/so-wallpaper.jpg
- source: salt://desktop/files/so-wallpaper.jpg
- makedirs: True
set_wallpaper:
file.managed:
- name: /etc/dconf/db/local.d/00-background
- source: salt://desktop/files/00-background
run_dconf_update:
cmd.run:
- name: 'dconf update'
- onchanges:
- file: set_wallpaper
{% else %}
desktop_xwindows_os_fail:

View File

@@ -178,6 +178,9 @@ docker:
extra_env: []
'so-elastic-agent':
final_octet: 46
port_bindings:
- 0.0.0.0:514:514/tcp
- 0.0.0.0:514:514/udp
custom_bind_mounts: []
extra_hosts: []
extra_env: []

View File

@@ -6,6 +6,9 @@
{% from 'docker/docker.map.jinja' import DOCKER %}
{% from 'vars/globals.map.jinja' import GLOBALS %}
# include ssl since docker service requires the intca
include:
- ssl
dockergroup:
group.present:
@@ -86,6 +89,11 @@ docker_running:
- enable: True
- watch:
- file: docker_daemon
- x509: trusttheca
- require:
- file: docker_daemon
- x509: trusttheca
# Reserve OS ports for Docker proxy in case boot settings are not already applied/present
# 57314 = Strelka, 47760-47860 = Zeek

View File

@@ -8,7 +8,7 @@ docker:
helpLink: docker.html
advanced: True
containers:
so-curator: &dockerOptions
so-dockerregistry: &dockerOptions
final_octet:
description: Last octet of the container IP address.
helpLink: docker.html
@@ -20,6 +20,7 @@ docker:
helpLink: docker.html
advanced: True
multiline: True
forcedType: "[]string"
custom_bind_mounts:
description: List of custom local volume bindings.
advanced: True
@@ -38,12 +39,8 @@ docker:
helpLink: docker.html
multiline: True
forcedType: "[]string"
so-dockerregistry: *dockerOptions
so-elastalert: *dockerOptions
so-elastic-fleet-package-registry: *dockerOptions
so-elastic-fleet: *dockerOptions
so-elasticsearch: *dockerOptions
so-idh: *dockerOptions
so-idstools: *dockerOptions
so-influxdb: *dockerOptions
so-kibana: *dockerOptions
@@ -53,11 +50,21 @@ docker:
so-nginx: *dockerOptions
so-playbook: *dockerOptions
so-redis: *dockerOptions
so-sensoroni: *dockerOptions
so-soc: *dockerOptions
so-soctopus: *dockerOptions
so-strelka-backend: *dockerOptions
so-strelka-coordinator: *dockerOptions
so-strelka-filestream: *dockerOptions
so-strelka-frontend: *dockerOptions
so-strelka-gatekeeper: *dockerOptions
so-strelka-manager: *dockerOptions
so-strelka-gatekeeper: *dockerOptions
so-strelka-coordinator: *dockerOptions
so-elastalert: *dockerOptions
so-curator: *dockerOptions
so-elastic-fleet-package-registry: *dockerOptions
so-idh: *dockerOptions
so-elastic-agent: *dockerOptions
so-telegraf: *dockerOptions
so-steno: *dockerOptions
so-suricata: *dockerOptions
so-zeek: *dockerOptions

View File

@@ -9,6 +9,7 @@
prune_images:
cmd.run:
- name: so-docker-prune
- order: last
{% else %}

View File

@@ -28,6 +28,13 @@ elasticagentconfdir:
- group: 939
- makedirs: True
elasticagentlogdir:
file.directory:
- name: /opt/so/log/elasticagent
- user: 949
- group: 939
- makedirs: True
elasticagent_sbin_jinja:
file.recurse:
- name: /usr/sbin

View File

@@ -31,22 +31,31 @@ so-elastic-agent:
- {{ XTRAHOST }}
{% endfor %}
{% endif %}
- port_bindings:
{% for BINDING in DOCKER.containers['so-elastic-agent'].port_bindings %}
- {{ BINDING }}
{% endfor %}
- binds:
- /opt/so/conf/elastic-agent/elastic-agent.yml:/usr/share/elastic-agent/elastic-agent.yml:ro
- /opt/so/log/elasticagent:/usr/share/elastic-agent/logs
- /etc/pki/tls/certs/intca.crt:/etc/pki/tls/certs/intca.crt:ro
- /nsm:/nsm:ro
- /opt/so/log:/opt/so/log:ro
{% if DOCKER.containers['so-elastic-agent'].custom_bind_mounts %}
{% for BIND in DOCKER.containers['so-elastic-agent'].custom_bind_mounts %}
- {{ BIND }}
{% endfor %}
{% endif %}
{% endif %}
- environment:
- FLEET_CA=/etc/pki/tls/certs/intca.crt
- LOGS_PATH=logs
{% if DOCKER.containers['so-elastic-agent'].extra_env %}
{% for XTRAENV in DOCKER.containers['so-elastic-agent'].extra_env %}
- {{ XTRAENV }}
{% endfor %}
{% endif %}
- require:
- file: create-elastic-agent-config
- watch:
- file: create-elastic-agent-config

View File

@@ -3,7 +3,7 @@
{%- set ES_PASS = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', '') %}
id: aea1ba80-1065-11ee-a369-97538913b6a9
revision: 2
revision: 1
outputs:
default:
type: elasticsearch
@@ -22,56 +22,369 @@ agent:
metrics: false
features: {}
inputs:
- id: logfile-logs-80ffa884-2cfc-459a-964a-34df25714d85
name: suricata-logs
revision: 1
- id: logfile-logs-fefef78c-422f-4cfa-8abf-4cd1b9428f62
name: import-evtx-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
version:
data_stream:
namespace: so
package_policy_id: 80ffa884-2cfc-459a-964a-34df25714d85
package_policy_id: fefef78c-422f-4cfa-8abf-4cd1b9428f62
streams:
- id: logfile-log.log-80ffa884-2cfc-459a-964a-34df25714d85
- id: logfile-log.log-fefef78c-422f-4cfa-8abf-4cd1b9428f62
data_stream:
dataset: import
paths:
- /nsm/import/*/evtx/*.json
processors:
- dissect:
field: log.file.path
tokenizer: '/nsm/import/%{import.id}/evtx/%{import.file}'
target_prefix: ''
- decode_json_fields:
fields:
- message
target: ''
- drop_fields:
ignore_missing: true
fields:
- host
- add_fields:
fields:
dataset: system.security
type: logs
namespace: default
target: data_stream
- add_fields:
fields:
dataset: system.security
module: system
imported: true
target: event
- then:
- add_fields:
fields:
dataset: windows.sysmon_operational
target: data_stream
- add_fields:
fields:
dataset: windows.sysmon_operational
module: windows
imported: true
target: event
if:
equals:
winlog.channel: Microsoft-Windows-Sysmon/Operational
- then:
- add_fields:
fields:
dataset: system.application
target: data_stream
- add_fields:
fields:
dataset: system.application
target: event
if:
equals:
winlog.channel: Application
- then:
- add_fields:
fields:
dataset: system.system
target: data_stream
- add_fields:
fields:
dataset: system.system
target: event
if:
equals:
winlog.channel: System
- then:
- add_fields:
fields:
dataset: windows.powershell_operational
target: data_stream
- add_fields:
fields:
dataset: windows.powershell_operational
module: windows
target: event
if:
equals:
winlog.channel: Microsoft-Windows-PowerShell/Operational
tags:
- import
- id: logfile-redis-fc98c947-7d17-4861-a318-7ad075f6d1b0
name: redis-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: redis
version:
data_stream:
namespace: default
package_policy_id: fc98c947-7d17-4861-a318-7ad075f6d1b0
streams:
- id: logfile-redis.log-fc98c947-7d17-4861-a318-7ad075f6d1b0
data_stream:
dataset: redis.log
type: logs
exclude_files:
- .gz$
paths:
- /opt/so/log/redis/redis.log
tags:
- redis-log
exclude_lines:
- '^\s+[\-`(''.|_]'
- id: logfile-logs-3b56803d-5ade-4c93-b25e-9b37182f66b8
name: import-suricata-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 3b56803d-5ade-4c93-b25e-9b37182f66b8
streams:
- id: logfile-log.log-3b56803d-5ade-4c93-b25e-9b37182f66b8
data_stream:
dataset: import
pipeline: suricata.common
paths:
- /nsm/import/*/suricata/eve*.json
processors:
- add_fields:
fields:
module: suricata
imported: true
category: network
target: event
- dissect:
field: log.file.path
tokenizer: '/nsm/import/%{import.id}/suricata/%{import.file}'
target_prefix: ''
- id: logfile-logs-c327e1a3-1ebe-449c-a8eb-f6f35032e69d
name: soc-server-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: c327e1a3-1ebe-449c-a8eb-f6f35032e69d
streams:
- id: logfile-log.log-c327e1a3-1ebe-449c-a8eb-f6f35032e69d
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/soc/sensoroni-server.log
processors:
- decode_json_fields:
add_error_key: true
process_array: true
max_depth: 2
fields:
- message
target: soc
- add_fields:
fields:
module: soc
dataset_temp: server
category: host
target: event
- rename:
ignore_missing: true
fields:
- from: soc.fields.sourceIp
to: source.ip
- from: soc.fields.status
to: http.response.status_code
- from: soc.fields.method
to: http.request.method
- from: soc.fields.path
to: url.path
- from: soc.message
to: event.action
- from: soc.level
to: log.level
tags:
- so-soc
- id: logfile-logs-906e0d4c-9ec3-4c6a-bef6-e347ec9fd073
name: soc-sensoroni-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 906e0d4c-9ec3-4c6a-bef6-e347ec9fd073
streams:
- id: logfile-log.log-906e0d4c-9ec3-4c6a-bef6-e347ec9fd073
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/sensoroni/sensoroni.log
processors:
- decode_json_fields:
add_error_key: true
process_array: true
max_depth: 2
fields:
- message
target: sensoroni
- add_fields:
fields:
module: soc
dataset_temp: sensoroni
category: host
target: event
- rename:
ignore_missing: true
fields:
- from: sensoroni.fields.sourceIp
to: source.ip
- from: sensoroni.fields.status
to: http.response.status_code
- from: sensoroni.fields.method
to: http.request.method
- from: sensoroni.fields.path
to: url.path
- from: sensoroni.message
to: event.action
- from: sensoroni.level
to: log.level
- id: logfile-logs-df0d7f2c-221f-433b-b18b-d1cf83250515
name: soc-salt-relay-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: df0d7f2c-221f-433b-b18b-d1cf83250515
streams:
- id: logfile-log.log-df0d7f2c-221f-433b-b18b-d1cf83250515
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/soc/salt-relay.log
processors:
- dissect:
field: message
tokenizer: '%{soc.ts} | %{event.action}'
target_prefix: ''
- add_fields:
fields:
module: soc
dataset_temp: salt_relay
category: host
target: event
tags:
- so-soc
- id: logfile-logs-74bd2366-fe52-493c-bddc-843a017fc4d0
name: soc-auth-sync-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 74bd2366-fe52-493c-bddc-843a017fc4d0
streams:
- id: logfile-log.log-74bd2366-fe52-493c-bddc-843a017fc4d0
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/soc/sync.log
processors:
- dissect:
field: message
tokenizer: '%{event.action}'
target_prefix: ''
- add_fields:
fields:
module: soc
dataset_temp: auth_sync
category: host
target: event
tags:
- so-soc
- id: logfile-logs-d151d9bf-ff2a-4529-9520-c99244bc0253
name: suricata-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: d151d9bf-ff2a-4529-9520-c99244bc0253
streams:
- id: logfile-log.log-d151d9bf-ff2a-4529-9520-c99244bc0253
data_stream:
dataset: suricata
pipeline: suricata.common
paths:
- /nsm/suricata/eve*.json
processors:
- add_fields:
target: event
fields:
category: network
module: suricata
pipeline: suricata.common
- id: logfile-logs-90103ac4-f6bd-4a4a-b596-952c332390fc
category: network
target: event
- id: logfile-logs-31f94d05-ae75-40ee-b9c5-0e0356eff327
name: strelka-logs
revision: 1
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
version:
data_stream:
namespace: so
package_policy_id: 90103ac4-f6bd-4a4a-b596-952c332390fc
package_policy_id: 31f94d05-ae75-40ee-b9c5-0e0356eff327
streams:
- id: logfile-log.log-90103ac4-f6bd-4a4a-b596-952c332390fc
- id: logfile-log.log-31f94d05-ae75-40ee-b9c5-0e0356eff327
data_stream:
dataset: strelka
pipeline: strelka.file
paths:
- /nsm/strelka/log/strelka.log
processors:
- add_fields:
target: event
fields:
category: file
module: strelka
pipeline: strelka.file
category: file
target: event
- id: logfile-logs-6197fe84-9b58-4d9b-8464-3d517f28808d
name: zeek-logs
revision: 1
@@ -117,3 +430,54 @@ inputs:
exclude_files:
- >-
broker|capture_loss|cluster|ecat_arp_info|known_hosts|known_services|loaded_scripts|ntp|ocsp|packet_filter|reporter|stats|stderr|stdout.log$
- id: udp-udp-35051de0-46a5-11ee-8d5d-9f98c8182f60
name: syslog-udp-514
revision: 3
type: udp
use_output: default
meta:
package:
name: udp
version: 1.10.0
data_stream:
namespace: so
package_policy_id: 35051de0-46a5-11ee-8d5d-9f98c8182f60
streams:
- id: udp-udp.generic-35051de0-46a5-11ee-8d5d-9f98c8182f60
data_stream:
dataset: syslog
pipeline: syslog
host: '0.0.0.0:514'
max_message_size: 10KiB
processors:
- add_fields:
fields:
module: syslog
target: event
tags:
- syslog
- id: tcp-tcp-33d37bb0-46a5-11ee-8d5d-9f98c8182f60
name: syslog-tcp-514
revision: 3
type: tcp
use_output: default
meta:
package:
name: tcp
version: 1.10.0
data_stream:
namespace: so
package_policy_id: 33d37bb0-46a5-11ee-8d5d-9f98c8182f60
streams:
- id: tcp-tcp.generic-33d37bb0-46a5-11ee-8d5d-9f98c8182f60
data_stream:
dataset: syslog
pipeline: syslog
host: '0.0.0.0:514'
processors:
- add_fields:
fields:
module: syslog
target: event
tags:
- syslog

View File

@@ -6,6 +6,7 @@
{% from 'allowed_states.map.jinja' import allowed_states %}
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% if sls.split('.')[0] in allowed_states %}
{% set node_data = salt['pillar.get']('node_data') %}
# Add EA Group
elasticfleetgroup:
@@ -37,6 +38,8 @@ elasticfleet_sbin_jinja:
- group: 939
- file_mode: 755
- template: jinja
- exclude_pat:
- so-elastic-fleet-package-upgrade # exclude this because we need to watch it for changes
eaconfdir:
file.directory:
@@ -59,6 +62,15 @@ eastatedir:
- group: 939
- makedirs: True
eapackageupgrade:
file.managed:
- name: /usr/sbin/so-elastic-fleet-package-upgrade
- source: salt://elasticfleet/tools/sbin_jinja/so-elastic-fleet-package-upgrade
- user: 947
- group: 939
- mode: 755
- template: jinja
{% if GLOBALS.role != "so-fleet" %}
eaintegrationsdir:
file.directory:
@@ -82,12 +94,53 @@ eaintegration:
- user: 947
- group: 939
eaoptionalintegrationsdir:
file.directory:
- name: /opt/so/conf/elastic-fleet/integrations-optional
- user: 947
- group: 939
- makedirs: True
{% for minion in node_data %}
{% set role = node_data[minion]["role"] %}
{% if role in [ "eval","fleet","heavynode","import","manager","managersearch","standalone" ] %}
{% set optional_integrations = salt['pillar.get']('elasticfleet:optional_integrations', {}) %}
{% set integration_keys = salt['pillar.get']('elasticfleet:optional_integrations', {}).keys() %}
fleet_server_integrations_{{ minion }}:
file.directory:
- name: /opt/so/conf/elastic-fleet/integrations-optional/FleetServer_{{ minion }}
- user: 947
- group: 939
- makedirs: True
{% for integration in integration_keys %}
{% if 'enabled_nodes' in optional_integrations[integration]%}
{% set enabled_nodes = optional_integrations[integration]["enabled_nodes"] %}
{% if minion in enabled_nodes %}
optional_integrations_dynamic_{{ minion }}_{{ integration }}:
file.managed:
- name: /opt/so/conf/elastic-fleet/integrations-optional/FleetServer_{{ minion }}/{{ integration }}.json
- source: salt://elasticfleet/files/integrations-optional/{{ integration }}.json
- user: 947
- group: 939
- template: jinja
- defaults:
NAME: {{ minion }}
{% else %}
optional_integrations_dynamic_{{ minion }}_{{ integration }}_delete:
file.absent:
- name: /opt/so/conf/elastic-fleet/integrations-optional/FleetServer_{{ minion }}/{{ integration }}.json
{% endif %}
{% endif %}
{% endfor %}
{% endif %}
{% endfor %}
ea-integrations-load:
file.absent:
- name: /opt/so/state/eaintegrations.txt
- onchanges:
- file: eaintegration
- file: eadynamicintegration
- file: /opt/so/conf/elastic-fleet/integrations-optional/*
{% endif %}
{% else %}

View File

@@ -2,7 +2,7 @@ elasticfleet:
enabled: False
config:
server:
custom_fqdn: ''
custom_fqdn: []
enable_auto_configuration: True
endpoints_enrollment: ''
es_token: ''
@@ -13,7 +13,10 @@ elasticfleet:
- broker
- capture_loss
- cluster
- conn-summary
- console
- ecat_arp_info
- known_certs
- known_hosts
- known_services
- loaded_scripts
@@ -25,11 +28,75 @@ elasticfleet:
- stderr
- stdout
packages:
- apache
- auditd
- auth0
- aws
- azure
- barracuda
- carbonblack_edr
- checkpoint
- cisco_asa
- cisco_duo
- cisco_meraki
- cisco_umbrella
- cloudflare
- crowdstrike
- darktrace
- elastic_agent
- elasticsearch
- endpoint
- f5_bigip
- fim
- fireeye
- fleet_server
- fortinet
- fortinet_fortigate
- gcp
- github
- google_workspace
- http_endpoint
- httpjson
- juniper
- juniper_srx
- kafka_log
- lastpass
- log
- m365_defender
- microsoft_defender_endpoint
- microsoft_dhcp
- mimecast
- netflow
- o365
- okta
- osquery_manager
- panw
- pfsense
- pulse_connect_secure
- redis
- sentinel_one
- snyk
- sonicwall_firewall
- sophos
- sophos_central
- symantec_endpoint
- system
- tcp
- tenable_sc
- ti_abusech
- ti_misp
- ti_otx
- ti_recordedfuture
- udp
- vsphere
- windows
- zscaler_zia
- zscaler_zpa
- 1password
optional_integrations:
sublime_platform:
enabled_nodes: []
api_key:
base_url: https://api.platform.sublimesecurity.com
poll_interval: 5m
limit: 100

View File

@@ -15,12 +15,14 @@
include:
- elasticfleet.config
- elasticfleet.sostatus
- ssl
# If enabled, automatically update Fleet Logstash Outputs
{% if ELASTICFLEETMERGED.config.server.enable_auto_configuration and grains.role not in ['so-import', 'so-eval', 'so-fleet'] %}
so-elastic-fleet-auto-configure-logstash-outputs:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-outputs-update
- retry: True
{% endif %}
# If enabled, automatically update Fleet Server URLs & ES Connection
@@ -28,6 +30,7 @@ so-elastic-fleet-auto-configure-logstash-outputs:
so-elastic-fleet-auto-configure-server-urls:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-urls-update
- retry: True
{% endif %}
# Automatically update Fleet Server Elasticsearch URLs
@@ -35,6 +38,7 @@ so-elastic-fleet-auto-configure-server-urls:
so-elastic-fleet-auto-configure-elasticsearch-urls:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-es-url-update
- retry: True
{% endif %}
{% if SERVICETOKEN != '' %}
@@ -61,11 +65,9 @@ so-elastic-fleet:
- {{ BINDING }}
{% endfor %}
- binds:
- /etc/pki:/etc/pki:ro
{% if GLOBALS.os_family == 'Debian' %}
- /etc/ssl:/etc/ssl:ro
{% endif %}
#- /opt/so/conf/elastic-fleet/state:/usr/share/elastic-agent/state:rw
- /etc/pki/elasticfleet-server.crt:/etc/pki/elasticfleet-server.crt:ro
- /etc/pki/elasticfleet-server.key:/etc/pki/elasticfleet-server.key:ro
- /etc/pki/tls/certs/intca.crt:/etc/pki/tls/certs/intca.crt:ro
- /opt/so/log/elasticfleet:/usr/share/elastic-agent/logs
{% if DOCKER.containers['so-elastic-fleet'].custom_bind_mounts %}
{% for BIND in DOCKER.containers['so-elastic-fleet'].custom_bind_mounts %}
@@ -80,25 +82,39 @@ so-elastic-fleet:
- FLEET_SERVER_POLICY_ID=FleetServer_{{ GLOBALS.hostname }}
- FLEET_SERVER_CERT=/etc/pki/elasticfleet-server.crt
- FLEET_SERVER_CERT_KEY=/etc/pki/elasticfleet-server.key
{% if GLOBALS.os_family == 'Debian' %}
- FLEET_CA=/etc/ssl/certs/intca.crt
- FLEET_SERVER_ELASTICSEARCH_CA=/etc/ssl/certs/intca.crt
{% else %}
- FLEET_CA=/etc/pki/tls/certs/intca.crt
- FLEET_CA=/etc/pki/tls/certs/intca.crt
- FLEET_SERVER_ELASTICSEARCH_CA=/etc/pki/tls/certs/intca.crt
{% endif %}
- LOGS_PATH=logs
{% if DOCKER.containers['so-elastic-fleet'].extra_env %}
{% for XTRAENV in DOCKER.containers['so-elastic-fleet'].extra_env %}
- {{ XTRAENV }}
{% endfor %}
{% endif %}
- watch:
- x509: etc_elasticfleet_key
- x509: etc_elasticfleet_crt
{% endif %}
{% if GLOBALS.role != "so-fleet" %}
so-elastic-fleet-package-statefile:
file.managed:
- name: /opt/so/state/elastic_fleet_packages.txt
- contents: {{ELASTICFLEETMERGED.packages}}
so-elastic-fleet-package-upgrade:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-package-upgrade
- onchanges:
- file: /opt/so/state/elastic_fleet_packages.txt
so-elastic-fleet-integrations:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-integration-policy-load
so-elastic-agent-grid-upgrade:
cmd.run:
- name: /usr/sbin/so-elastic-agent-grid-upgrade
- retry: True
{% endif %}
delete_so-elastic-fleet_so-status.disabled:

View File

@@ -13,7 +13,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -14,7 +14,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -0,0 +1,44 @@
{%- from 'elasticfleet/map.jinja' import ELASTICFLEETMERGED -%}
{%- from 'sensoroni/map.jinja' import SENSORONIMERGED -%}
{%- from 'vars/globals.map.jinja' import GLOBALS -%}
{%- raw -%}
{
"package": {
"name": "httpjson",
"version": ""
},
"name": "sublime-platform",
"namespace": "default",
"description": "",
"policy_id": "FleetServer_{%- endraw -%}{{ NAME }}{%- raw -%}",
"vars": {},
"inputs": {
"generic-httpjson": {
"enabled": true,
"streams": {
"httpjson.generic": {
"enabled": true,
"vars": {
"request_method": "GET",
"processors": "- drop_event:\n when:\n not:\n contains: \n message: \"flagged_rules\"\n- decode_json_fields:\n fields: [\"message\"]\n document_id: id\n target: \"\"",
"enable_request_tracer": false,
"oauth_scopes": [],
"request_transforms": "- set:\n target: header.Authorization\n value: 'Bearer {% endraw -%}{{ ELASTICFLEETMERGED.optional_integrations.sublime_platform.api_key }}{%- raw -%}'\n- set:\n target: header.accept\n value: application/json\n- set:\n target: url.params.last_message_created_at[gte]\n value: '[[formatDate (now (parseDuration \"-{%- endraw -%}{{ ELASTICFLEETMERGED.optional_integrations.sublime_platform.poll_interval }}{%- raw -%}\")) \"2006-01-02T15:04:05Z\"]]'\n- set:\n target: url.params.reviewed\n value: false\n- set:\n target: url.params.flagged\n value: true\n- set:\n target: url.params.limit\n value: {% endraw %}{{ ELASTICFLEETMERGED.optional_integrations.sublime_platform.limit }}{%- raw -%}",
"response_transforms": "",
"request_redirect_headers_ban_list": [],
"request_encode_as": "application/x-www-form-urlencoded",
"request_url": "{%- endraw -%}{{ ELASTICFLEETMERGED.optional_integrations.sublime_platform.base_url }}{%- raw -%}/v0/message-groups",
"response_split": "target: body.message_groups\ntype: array\nkeep_parent: false\ntransforms:\n - set:\n target: body.sublime.request_url\n value : '[[ .last_response.url.value ]]'",
"tags": [
"forwarded"
],
"pipeline": "sublime",
"data_stream.dataset": "sublime",
"request_interval": "1m"
}
}
}
}
}
}
{%- endraw -%}

View File

@@ -5,17 +5,16 @@
"package": {
"name": "endpoint",
"title": "Elastic Defend",
"version": ""
"version": "8.10.2"
},
"enabled": true,
"policy_id": "endpoints-initial",
"vars": {},
"inputs": [{
"type": "endpoint",
"type": "ENDPOINT_INTEGRATION_CONFIG",
"enabled": true,
"streams": [],
"config": {
"integration_config": {
"_config": {
"value": {
"type": "endpoint",
"endpointConfig": {
@@ -25,4 +24,4 @@
}
}
}]
}
}

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -12,7 +12,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -20,8 +20,8 @@
],
"data_stream.dataset": "import",
"custom": "",
"processors": "- dissect:\n tokenizer: \"/nsm/import/%{import.id}/evtx/%{import.file}\"\n field: \"log.file.path\"\n target_prefix: \"\"\n- decode_json_fields:\n fields: [\"message\"]\n target: \"\"\n- drop_fields:\n fields: [\"host\"]\n ignore_missing: true\n- add_fields:\n target: data_stream\n fields:\n namespace: default\n type: logs\n dataset: system.security\n- add_fields:\n target: event\n fields:\n dataset: system.security\n module: system\n imported: true \n- if:\n equals:\n winlog.channel: 'Microsoft-Windows-Sysmon/Operational'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: windows.sysmon_operational\n - add_fields:\n target: event\n fields:\n dataset: windows.sysmon_operational\n module: windows\n imported: true\n- if:\n equals:\n winlog.channel: 'Application'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: system.application\n - add_fields:\n target: event\n fields:\n dataset: system.application\n- if:\n equals:\n winlog.channel: 'System'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: system.system\n - add_fields:\n target: event\n fields:\n dataset: system.system\n- if:\n equals:\n winlog.channel: 'Microsoft-Windows-PowerShell/Operational'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: windows.powershell_operational\n - add_fields:\n target: event\n fields:\n dataset: windows.powershell_operational\n module: windows",
"tags": [
"processors": "- dissect:\n tokenizer: \"/nsm/import/%{import.id}/evtx/%{import.file}\"\n field: \"log.file.path\"\n target_prefix: \"\"\n- decode_json_fields:\n fields: [\"message\"]\n target: \"\"\n- drop_fields:\n fields: [\"host\"]\n ignore_missing: true\n- add_fields:\n target: data_stream\n fields:\n type: logs\n dataset: system.security\n- add_fields:\n target: event\n fields:\n dataset: system.security\n module: system\n imported: true\n- add_fields:\n target: \"@metadata\"\n fields:\n pipeline: logs-system.security-1.34.0\n- if:\n equals:\n winlog.channel: 'Microsoft-Windows-Sysmon/Operational'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: windows.sysmon_operational\n - add_fields:\n target: event\n fields:\n dataset: windows.sysmon_operational\n module: windows\n imported: true\n - add_fields:\n target: \"@metadata\"\n fields:\n pipeline: logs-windows.sysmon_operational-1.24.0\n- if:\n equals:\n winlog.channel: 'Application'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: system.application\n - add_fields:\n target: event\n fields:\n dataset: system.application\n - add_fields:\n target: \"@metadata\"\n fields:\n pipeline: logs-system.application-1.34.0\n- if:\n equals:\n winlog.channel: 'System'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: system.system\n - add_fields:\n target: event\n fields:\n dataset: system.system\n - add_fields:\n target: \"@metadata\"\n fields:\n pipeline: logs-system.system-1.34.0\n \n- if:\n equals:\n winlog.channel: 'Microsoft-Windows-PowerShell/Operational'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: windows.powershell_operational\n - add_fields:\n target: event\n fields:\n dataset: windows.powershell_operational\n module: windows\n - add_fields:\n target: \"@metadata\"\n fields:\n pipeline: logs-windows.powershell_operational-1.24.0\n- add_fields:\n target: data_stream\n fields:\n dataset: import",
"tags": [
"import"
]
}

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -1,106 +0,0 @@
{
"package": {
"name": "elasticsearch",
"version": ""
},
"name": "elasticsearch-logs",
"namespace": "default",
"description": "Elasticsearch Logs",
"policy_id": "so-grid-nodes_heavy",
"inputs": {
"elasticsearch-logfile": {
"enabled": true,
"streams": {
"elasticsearch.audit": {
"enabled": false,
"vars": {
"paths": [
"/var/log/elasticsearch/*_audit.json"
]
}
},
"elasticsearch.deprecation": {
"enabled": false,
"vars": {
"paths": [
"/var/log/elasticsearch/*_deprecation.json"
]
}
},
"elasticsearch.gc": {
"enabled": false,
"vars": {
"paths": [
"/var/log/elasticsearch/gc.log.[0-9]*",
"/var/log/elasticsearch/gc.log"
]
}
},
"elasticsearch.server": {
"enabled": true,
"vars": {
"paths": [
"/opt/so/log/elasticsearch/*.log"
]
}
},
"elasticsearch.slowlog": {
"enabled": false,
"vars": {
"paths": [
"/var/log/elasticsearch/*_index_search_slowlog.json",
"/var/log/elasticsearch/*_index_indexing_slowlog.json"
]
}
}
}
},
"elasticsearch-elasticsearch/metrics": {
"enabled": false,
"vars": {
"hosts": [
"http://localhost:9200"
],
"scope": "node"
},
"streams": {
"elasticsearch.stack_monitoring.ccr": {
"enabled": false
},
"elasticsearch.stack_monitoring.cluster_stats": {
"enabled": false
},
"elasticsearch.stack_monitoring.enrich": {
"enabled": false
},
"elasticsearch.stack_monitoring.index": {
"enabled": false
},
"elasticsearch.stack_monitoring.index_recovery": {
"enabled": false,
"vars": {
"active.only": true
}
},
"elasticsearch.stack_monitoring.index_summary": {
"enabled": false
},
"elasticsearch.stack_monitoring.ml_job": {
"enabled": false
},
"elasticsearch.stack_monitoring.node": {
"enabled": false
},
"elasticsearch.stack_monitoring.node_stats": {
"enabled": false
},
"elasticsearch.stack_monitoring.pending_tasks": {
"enabled": false
},
"elasticsearch.stack_monitoring.shard": {
"enabled": false
}
}
}
}
}

View File

@@ -1,29 +0,0 @@
{
"package": {
"name": "log",
"version": ""
},
"name": "kratos-logs",
"namespace": "so",
"description": "Kratos logs",
"policy_id": "so-grid-nodes_heavy",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"enabled": true,
"vars": {
"paths": [
"/opt/so/log/kratos/kratos.log"
],
"data_stream.dataset": "kratos",
"tags": ["so-kratos"],
"processors": "- decode_json_fields:\n fields: [\"message\"]\n target: \"\"\n add_error_key: true \n- add_fields:\n target: event\n fields:\n category: iam\n module: kratos",
"custom": "pipeline: kratos"
}
}
}
}
}
}

View File

@@ -3,7 +3,7 @@
"name": "osquery_manager",
"version": ""
},
"name": "osquery-grid-nodes",
"name": "osquery-grid-nodes_heavy",
"namespace": "default",
"policy_id": "so-grid-nodes_heavy",
"inputs": {

View File

@@ -1,76 +0,0 @@
{
"package": {
"name": "redis",
"version": ""
},
"name": "redis-logs",
"namespace": "default",
"description": "Redis logs",
"policy_id": "so-grid-nodes_heavy",
"inputs": {
"redis-logfile": {
"enabled": true,
"streams": {
"redis.log": {
"enabled": true,
"vars": {
"paths": [
"/opt/so/log/redis/redis.log"
],
"tags": [
"redis-log"
],
"preserve_original_event": false
}
}
}
},
"redis-redis": {
"enabled": false,
"streams": {
"redis.slowlog": {
"enabled": false,
"vars": {
"hosts": [
"127.0.0.1:6379"
],
"password": ""
}
}
}
},
"redis-redis/metrics": {
"enabled": false,
"vars": {
"hosts": [
"127.0.0.1:6379"
],
"idle_timeout": "20s",
"maxconn": 10,
"network": "tcp",
"password": ""
},
"streams": {
"redis.info": {
"enabled": false,
"vars": {
"period": "10s"
}
},
"redis.key": {
"enabled": false,
"vars": {
"key.patterns": "- limit: 20\n pattern: *\n",
"period": "10s"
}
},
"redis.keyspace": {
"enabled": false,
"vars": {
"period": "10s"
}
}
}
}
}
}

View File

@@ -1,29 +0,0 @@
{
"package": {
"name": "log",
"version": ""
},
"name": "soc-auth-sync-logs",
"namespace": "so",
"description": "Security Onion - Elastic Auth Sync - Logs",
"policy_id": "so-grid-nodes_heavy",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"enabled": true,
"vars": {
"paths": [
"/opt/so/log/soc/sync.log"
],
"data_stream.dataset": "soc",
"tags": ["so-soc"],
"processors": "- dissect:\n tokenizer: \"%{event.action}\"\n field: \"message\"\n target_prefix: \"\"\n- add_fields:\n target: event\n fields:\n category: host\n module: soc\n dataset_temp: auth_sync",
"custom": "pipeline: common"
}
}
}
}
}
}

View File

@@ -1,29 +0,0 @@
{
"package": {
"name": "log",
"version": ""
},
"name": "soc-salt-relay-logs",
"namespace": "so",
"description": "Security Onion - Salt Relay - Logs",
"policy_id": "so-grid-nodes_heavy",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"enabled": true,
"vars": {
"paths": [
"/opt/so/log/soc/salt-relay.log"
],
"data_stream.dataset": "soc",
"tags": ["so-soc"],
"processors": "- dissect:\n tokenizer: \"%{soc.ts} | %{event.action}\"\n field: \"message\"\n target_prefix: \"\"\n- add_fields:\n target: event\n fields:\n category: host\n module: soc\n dataset_temp: salt_relay",
"custom": "pipeline: common"
}
}
}
}
}
}

View File

@@ -1,29 +0,0 @@
{
"package": {
"name": "log",
"version": ""
},
"name": "soc-sensoroni-logs",
"namespace": "so",
"description": "Security Onion - Sensoroni - Logs",
"policy_id": "so-grid-nodes_heavy",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"enabled": true,
"vars": {
"paths": [
"/opt/so/log/sensoroni/sensoroni.log"
],
"data_stream.dataset": "soc",
"tags": [],
"processors": "- decode_json_fields:\n fields: [\"message\"]\n target: \"sensoroni\"\n process_array: true\n max_depth: 2\n add_error_key: true \n- add_fields:\n target: event\n fields:\n category: host\n module: soc\n dataset_temp: sensoroni\n- rename:\n fields:\n - from: \"sensoroni.fields.sourceIp\"\n to: \"source.ip\"\n - from: \"sensoroni.fields.status\"\n to: \"http.response.status_code\"\n - from: \"sensoroni.fields.method\"\n to: \"http.request.method\"\n - from: \"sensoroni.fields.path\"\n to: \"url.path\"\n - from: \"sensoroni.message\"\n to: \"event.action\"\n - from: \"sensoroni.level\"\n to: \"log.level\"\n ignore_missing: true",
"custom": "pipeline: common"
}
}
}
}
}
}

View File

@@ -1,29 +0,0 @@
{
"package": {
"name": "log",
"version": ""
},
"name": "soc-server-logs",
"namespace": "so",
"description": "Security Onion Console Logs",
"policy_id": "so-grid-nodes_heavy",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"enabled": true,
"vars": {
"paths": [
"/opt/so/log/soc/sensoroni-server.log"
],
"data_stream.dataset": "soc",
"tags": ["so-soc"],
"processors": "- decode_json_fields:\n fields: [\"message\"]\n target: \"soc\"\n process_array: true\n max_depth: 2\n add_error_key: true \n- add_fields:\n target: event\n fields:\n category: host\n module: soc\n dataset_temp: server\n- rename:\n fields:\n - from: \"soc.fields.sourceIp\"\n to: \"source.ip\"\n - from: \"soc.fields.status\"\n to: \"http.response.status_code\"\n - from: \"soc.fields.method\"\n to: \"http.request.method\"\n - from: \"soc.fields.path\"\n to: \"url.path\"\n - from: \"soc.message\"\n to: \"event.action\"\n - from: \"soc.level\"\n to: \"log.level\"\n ignore_missing: true",
"custom": "pipeline: common"
}
}
}
}
}
}

View File

@@ -4,7 +4,7 @@
"name": "system",
"version": ""
},
"name": "system-grid-nodes",
"name": "system-grid-nodes_heavy",
"namespace": "default",
"inputs": {
"system-logfile": {

View File

@@ -12,10 +12,11 @@ elasticfleet:
config:
server:
custom_fqdn:
description: Custom FQDN for Agents to connect to.
description: Custom FQDN for Agents to connect to. One per line.
global: True
helpLink: elastic-fleet.html
advanced: True
forcedType: "[]string"
enable_auto_configuration:
description: Enable auto-configuration of Logstash Outputs & Fleet Host URLs.
global: True
@@ -39,3 +40,36 @@ elasticfleet:
helpLink: elastic-fleet.html
sensitive: True
advanced: True
optional_integrations:
sublime_platform:
enabled_nodes:
description: Fleet nodes with the Sublime Platform integration enabled. Enter one per line.
global: True
helpLink: elastic-fleet.html
advanced: True
forcedType: "[]string"
api_key:
description: API key for Sublime Platform.
global: True
helpLink: elastic-fleet.html
advanced: True
forcedType: string
sensitive: True
base_url:
description: Base URL for Sublime Platform.
global: True
helpLink: elastic-fleet.html
advanced: True
forcedType: string
poll_interval:
description: Poll interval for alerts from Sublime Platform.
global: True
helpLink: elastic-fleet.html
advanced: True
forcedType: string
limit:
description: The maximum number of message groups to return from Sublime Platform.
global: True
helpLink: elastic-fleet.html
advanced: True
forcedType: int

41
salt/elasticfleet/tools/sbin/so-elastic-fleet-common Executable file → Normal file
View File

@@ -42,6 +42,23 @@ elastic_fleet_integration_create() {
curl -K /opt/so/conf/elasticsearch/curl.config -L -X POST "localhost:5601/api/fleet/package_policies" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
}
elastic_fleet_integration_remove() {
AGENT_POLICY=$1
NAME=$2
INTEGRATION_ID=$(/usr/sbin/so-elastic-fleet-agent-policy-view "$AGENT_POLICY" | jq -r '.item.package_policies[] | select(.name=="'"$NAME"'") | .id')
JSON_STRING=$( jq -n \
--arg INTEGRATIONID "$INTEGRATION_ID" \
'{"packagePolicyIds":[$INTEGRATIONID]}'
)
curl -K /opt/so/conf/elasticsearch/curl.config -L -X POST "localhost:5601/api/fleet/package_policies/delete" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
}
elastic_fleet_integration_update() {
UPDATE_ID=$1
@@ -51,14 +68,33 @@ elastic_fleet_integration_update() {
curl -K /opt/so/conf/elasticsearch/curl.config -L -X PUT "localhost:5601/api/fleet/package_policies/$UPDATE_ID" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
}
elastic_fleet_integration_policy_upgrade() {
INTEGRATION_ID=$1
JSON_STRING=$( jq -n \
--arg INTEGRATIONID "$INTEGRATION_ID" \
'{"packagePolicyIds":[$INTEGRATIONID]}'
)
curl -K /opt/so/conf/elasticsearch/curl.config -L -X POST "localhost:5601/api/fleet/package_policies/upgrade" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
}
elastic_fleet_package_version_check() {
PACKAGE=$1
curl -s -K /opt/so/conf/elasticsearch/curl.config -b "sid=$SESSIONCOOKIE" -L -X GET "localhost:5601/api/fleet/epm/packages/$PACKAGE" | jq -r '.item.version'
}
elastic_fleet_package_latest_version_check() {
PACKAGE=$1
curl -s -K /opt/so/conf/elasticsearch/curl.config -b "sid=$SESSIONCOOKIE" -L -X GET "localhost:5601/api/fleet/epm/packages/$PACKAGE" | jq -r '.item.latestVersion'
}
elastic_fleet_package_install() {
PKGKEY=$1
curl -s -K /opt/so/conf/elasticsearch/curl.config -b "sid=$SESSIONCOOKIE" -L -X POST -H 'kbn-xsrf: true' "localhost:5601/api/fleet/epm/packages/$PKGKEY"
PKG=$1
VERSION=$2
curl -s -K /opt/so/conf/elasticsearch/curl.config -b "sid=$SESSIONCOOKIE" -L -X POST -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d '{"force":true}' "localhost:5601/api/fleet/epm/packages/$PKG/$VERSION"
}
elastic_fleet_package_is_installed() {
@@ -92,3 +128,4 @@ elastic_fleet_policy_update() {
curl -K /opt/so/conf/elasticsearch/curl.config -L -X PUT "localhost:5601/api/fleet/agent_policies/$POLICYID" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
}

View File

@@ -0,0 +1,23 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
# Usage: Run with --force to update the Elastic Defend integration policy
. /usr/sbin/so-elastic-fleet-common
# Manage Elastic Defend Integration for Initial Endpoints Policy
for INTEGRATION in /opt/so/conf/elastic-fleet/integrations/elastic-defend/*.json
do
printf "\n\nInitial Endpoints Policy - Loading $INTEGRATION\n"
elastic_fleet_integration_check "endpoints-initial" "$INTEGRATION"
if [ -n "$INTEGRATION_ID" ]; then
printf "\n\nIntegration $NAME exists - Upgrading integration policy\n"
elastic_fleet_integration_policy_upgrade "$INTEGRATION_ID"
else
printf "\n\nIntegration does not exist - Creating integration\n"
elastic_fleet_integration_create "@$INTEGRATION"
fi
done

View File

@@ -9,16 +9,20 @@
RETURN_CODE=0
if [ ! -f /opt/so/state/eaintegrations.txt ]; then
# First, check for any package upgrades
/usr/sbin/so-elastic-fleet-package-upgrade
# Second, configure Elastic Defend Integration seperately
/usr/sbin/so-elastic-fleet-integration-policy-elastic-defend
# Initial Endpoints
for INTEGRATION in /opt/so/conf/elastic-fleet/integrations/endpoints-initial/*.json
do
printf "\n\nInitial Endpoints Policy - Loading $INTEGRATION\n"
elastic_fleet_integration_check "endpoints-initial" "$INTEGRATION"
if [ -n "$INTEGRATION_ID" ]; then
if [ "$NAME" != "elastic-defend-endpoints" ]; then
printf "\n\nIntegration $NAME exists - Updating integration\n"
elastic_fleet_integration_update "$INTEGRATION_ID" "@$INTEGRATION"
fi
printf "\n\nIntegration $NAME exists - Updating integration\n"
elastic_fleet_integration_update "$INTEGRATION_ID" "@$INTEGRATION"
else
printf "\n\nIntegration does not exist - Creating integration\n"
elastic_fleet_integration_create "@$INTEGRATION"
@@ -60,7 +64,28 @@ if [ ! -f /opt/so/state/eaintegrations.txt ]; then
if [[ "$RETURN_CODE" != "1" ]]; then
touch /opt/so/state/eaintegrations.txt
fi
# Fleet Server - Optional integrations
for INTEGRATION in /opt/so/conf/elastic-fleet/integrations-optional/FleetServer*/*.json
do
if ! [ "$INTEGRATION" == "/opt/so/conf/elastic-fleet/integrations-optional/FleetServer*/*.json" ]; then
FLEET_POLICY=`echo "$INTEGRATION"| cut -d'/' -f7`
printf "\n\nFleet Server Policy - Loading $INTEGRATION\n"
elastic_fleet_integration_check "$FLEET_POLICY" "$INTEGRATION"
if [ -n "$INTEGRATION_ID" ]; then
printf "\n\nIntegration $NAME exists - Updating integration\n"
elastic_fleet_integration_update "$INTEGRATION_ID" "@$INTEGRATION"
else
printf "\n\nIntegration does not exist - Creating integration\n"
if [ "$NAME" != "elasticsearch-logs" ]; then
elastic_fleet_integration_create "@$INTEGRATION"
fi
fi
fi
done
if [[ "$RETURN_CODE" != "1" ]]; then
touch /opt/so/state/eaintegrations.txt
fi
else
exit $RETURN_CODE
fi

View File

@@ -0,0 +1,15 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-elastic-fleet-common
# Let's snag a cookie from Kibana
SESSIONCOOKIE=$(curl -s -K /opt/so/conf/elasticsearch/curl.config -c - -X GET http://localhost:5601/ | grep sid | awk '{print $7}')
# List configured package policies
curl -s -K /opt/so/conf/elasticsearch/curl.config -b "sid=$SESSIONCOOKIE" -L -X GET "localhost:5601/api/fleet/epm/packages" -H 'kbn-xsrf: true' | jq
echo

View File

@@ -11,6 +11,12 @@
. /usr/sbin/so-common
. /usr/sbin/so-elastic-fleet-common
LOG="/opt/so/log/elasticfleet/so-elastic-agent-gen-installers.log"
# Check to see if we are already running
NUM_RUNNING=$(pgrep -cf "/bin/bash /sbin/so-elastic-agent-gen-installers")
[ "$NUM_RUNNING" -gt 1 ] && echo "$(date) - $NUM_RUNNING gen installers script processes running...exiting." >>$LOG && exit 0
for i in {1..30}
do
ENROLLMENTOKEN=$(curl -K /opt/so/conf/elasticsearch/curl.config -L "localhost:5601/api/fleet/enrollment_api_keys" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' | jq .list | jq -r -c '.[] | select(.policy_id | contains("endpoints-initial")) | .api_key')
@@ -40,7 +46,7 @@ do
done
printf "\n### Stripping out unused components"
find /nsm/elastic-agent-workspace/elastic-agent-*/data/elastic-agent-*/components -regex '.*fleet.*\|.*packet.*\|.*apm*.*\|.*audit.*\|.*heart.*\|.*cloud.*' -delete
find /nsm/elastic-agent-workspace/elastic-agent-*/data/elastic-agent-*/components -maxdepth 1 -regex '.*fleet.*\|.*packet.*\|.*apm.*\|.*audit.*\|.*heart.*\|.*cloud.*' -delete
printf "\n### Tarring everything up again"
for OS in "${OSARCH[@]}"
@@ -59,7 +65,7 @@ do
if [[ $GOOS == 'darwin/arm64' ]]; then GOOS="darwin" && GOARCH="arm64"; fi
printf "\n\n### Generating $GOOS/$GOARCH Installer...\n"
docker run -e CGO_ENABLED=0 -e GOOS=$GOOS -e GOARCH=$GOARCH \
--mount type=bind,source=/etc/ssl/certs/,target=/workspace/files/cert/ \
--mount type=bind,source=/etc/pki/tls/certs/,target=/workspace/files/cert/ \
--mount type=bind,source=/nsm/elastic-agent-workspace/,target=/workspace/files/elastic-agent/ \
--mount type=bind,source=/opt/so/saltstack/local/salt/elasticfleet/files/so_agent-installers/,target=/output/ \
{{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-elastic-agent-builder:{{ GLOBALS.so_version }} go build -ldflags "-X main.fleetHostURLsList=$FLEETHOST -X main.enrollmentToken=$ENROLLMENTOKEN" -o /output/so-elastic-agent_${GOOS}_${GOARCH}

View File

@@ -0,0 +1,38 @@
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0; you may not use
# this file except in compliance with the Elastic License 2.0.
. /usr/sbin/so-common
# Only run on Managers
if ! is_manager_node; then
printf "Not a Manager Node... Exiting"
exit 0
fi
# Get current list of Grid Node Agents that need to be upgraded
RAW_JSON=$(curl -K /opt/so/conf/elasticsearch/curl.config -L "http://localhost:5601/api/fleet/agents?perPage=20&page=1&kuery=policy_id%20%3A%20so-grid-nodes_%2A&showInactive=false&showUpgradeable=true&getStatusSummary=true")
# Check to make sure that the server responded with good data - else, bail from script
CHECKSUM=$(jq -r '.page' <<< "$RAW_JSON")
if [ "$CHECKSUM" -ne 1 ]; then
printf "Failed to query for current Grid Agents...\n"
exit 1
fi
# Generate list of Node Agents that need updates
OUTDATED_LIST=$(jq -r '.items | map(.id) | (tojson)' <<< "$RAW_JSON")
if [ "$OUTDATED_LIST" != '[]' ]; then
AGENTNUMBERS=$(jq -r '.total' <<< "$RAW_JSON")
printf "Initiating upgrades for $AGENTNUMBERS Agents to Elastic $ELASTIC_AGENT_TARBALL_VERSION...\n\n"
# Generate updated JSON payload
JSON_STRING=$(jq -n --arg ELASTICVERSION $ELASTIC_AGENT_TARBALL_VERSION --arg UPDATELIST $OUTDATED_LIST '{"version": $ELASTICVERSION,"agents": $UPDATELIST }')
# Update Node Agents
curl -K /opt/so/conf/elasticsearch/curl.config -L -X POST "http://localhost:5601/api/fleet/agents/bulk_upgrade" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
else
printf "No Agents need updates... Exiting\n\n"
exit 0
fi

View File

@@ -12,9 +12,13 @@ if ! is_manager_node; then
fi
function update_es_urls() {
# Generate updated JSON payload
JSON_STRING=$(jq -n --arg UPDATEDLIST $NEW_LIST_JSON '{"name":"so-manager_elasticsearch","type":"elasticsearch","hosts": $UPDATEDLIST,"is_default":false,"is_default_monitoring":false,"config_yaml":""}')
# Generate updated JSON payload
{% if grains.role not in ['so-import', 'so-eval'] %}
JSON_STRING=$(jq -n --arg UPDATEDLIST $NEW_LIST_JSON '{"name":"so-manager_elasticsearch","type":"elasticsearch","hosts": $UPDATEDLIST,"config_yaml":""}')
{%- else %}
JSON_STRING=$(jq -n --arg UPDATEDLIST $NEW_LIST_JSON '{"name":"so-manager_elasticsearch","type":"elasticsearch","hosts": $UPDATEDLIST,"is_default":true,"is_default_monitoring":true,"config_yaml":""}')
{%- endif %}
# Update Fleet Elasticsearch URLs
curl -K /opt/so/conf/elasticsearch/curl.config -L -X PUT "localhost:5601/api/fleet/outputs/so-manager_elasticsearch" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
}
@@ -42,6 +46,13 @@ NEW_LIST_JSON=$(jq --compact-output --null-input '$ARGS.positional' --args -- "$
NEW_HASH=$(sha1sum <<< "$NEW_LIST_JSON" | awk '{print $1}')
# Compare the current & new list of URLs - if different, update the Fleet Elasticsearch URLs
if [ "$1" = "--force" ]; then
printf "\nUpdating List, since --force was specified.\n"
printf "Current List: $CURRENT_LIST\nNew List: $NEW_LIST_JSON\n"
update_es_urls
exit 0
fi
if [ "$NEW_HASH" = "$CURRENT_HASH" ]; then
printf "\nHashes match - no update needed.\n"
printf "Current List: $CURRENT_LIST\nNew List: $NEW_LIST_JSON\n"

View File

@@ -2,7 +2,7 @@
# or more contributor license agreements. Licensed under the Elastic License 2.0; you may not use
# this file except in compliance with the Elastic License 2.0.
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% set CUSTOMFQDN = salt['pillar.get']('elasticfleet:config:server:custom_fqdn') %}
{% from 'elasticfleet/map.jinja' import ELASTICFLEETMERGED %}
. /usr/sbin/so-common
@@ -41,9 +41,14 @@ else
NEW_LIST=("{{ GLOBALS.url_base }}:5055" "{{ GLOBALS.hostname }}:5055")
fi
{% if CUSTOMFQDN != "" %}
# Add Custom Hostname to list
NEW_LIST+=("{{ CUSTOMFQDN }}:5055")
# Query for FQDN entries & add them to the list
{% if ELASTICFLEETMERGED.config.server.custom_fqdn | length > 0 %}
CUSTOMFQDNLIST=('{{ ELASTICFLEETMERGED.config.server.custom_fqdn | join(' ') }}')
readarray -t -d ' ' CUSTOMFQDN < <(printf '%s' "$CUSTOMFQDNLIST")
for CUSTOMNAME in "${CUSTOMFQDN[@]}"
do
NEW_LIST+=("$CUSTOMNAME:5055")
done
{% endif %}
# Query for the current Grid Nodes that are running Logstash

View File

@@ -11,7 +11,7 @@
{%- for PACKAGE in SUPPORTED_PACKAGES %}
echo "Setting up {{ PACKAGE }} package..."
VERSION=$(elastic_fleet_package_version_check "{{ PACKAGE }}")
elastic_fleet_package_install "{{ PACKAGE }}-$VERSION"
elastic_fleet_package_install "{{ PACKAGE }}" "$VERSION"
echo
{%- endfor %}
echo

View File

@@ -0,0 +1,18 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0; you may not use
# this file except in compliance with the Elastic License 2.0.
{%- import_yaml 'elasticfleet/defaults.yaml' as ELASTICFLEETDEFAULTS %}
{%- set SUPPORTED_PACKAGES = salt['pillar.get']('elasticfleet:packages', default=ELASTICFLEETDEFAULTS.elasticfleet.packages, merge=True) %}
. /usr/sbin/so-elastic-fleet-common
{%- for PACKAGE in SUPPORTED_PACKAGES %}
echo "Upgrading {{ PACKAGE }} package..."
VERSION=$(elastic_fleet_package_latest_version_check "{{ PACKAGE }}")
elastic_fleet_package_install "{{ PACKAGE }}" "$VERSION"
echo
{%- endfor %}
echo
/usr/sbin/so-elasticsearch-templates-load

View File

@@ -6,14 +6,21 @@
# this file except in compliance with the Elastic License 2.0.
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% if GLOBALS.os_family == 'Debian' %}
INTCA=/etc/ssl/certs/intca.crt
{% else %}
INTCA=/etc/pki/tls/certs/intca.crt
{% endif %}
. /usr/sbin/so-common
. /usr/sbin/so-elastic-fleet-common
# Check to make sure that Kibana API is up & ready
RETURN_CODE=0
wait_for_web_response "http://localhost:5601/api/fleet/settings" "fleet" 300 "curl -K /opt/so/conf/elasticsearch/curl.config"
RETURN_CODE=$?
if [[ "$RETURN_CODE" != "0" ]]; then
printf "Kibana API not accessible, exiting Elastic Fleet setup..."
exit 1
fi
printf "\n### Create ES Token ###\n"
ESTOKEN=$(curl -K /opt/so/conf/elasticsearch/curl.config -L -X POST "localhost:5601/api/fleet/service_tokens" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' | jq -r .value)
@@ -124,3 +131,4 @@ salt-call state.apply elasticfleet queue=True
# Generate installers & install Elastic Agent on the node
so-elastic-agent-gen-installers
salt-call state.apply elasticfleet.install_agent_grid queue=True
exit 0

View File

@@ -2,7 +2,7 @@
# or more contributor license agreements. Licensed under the Elastic License 2.0; you may not use
# this file except in compliance with the Elastic License 2.0.
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% set CUSTOMFQDN = salt['pillar.get']('elasticfleet:config:server:custom_fqdn') %}
{% from 'elasticfleet/map.jinja' import ELASTICFLEETMERGED %}
. /usr/sbin/so-common
@@ -41,9 +41,14 @@ else
NEW_LIST=("https://{{ GLOBALS.url_base }}:8220" "https://{{ GLOBALS.hostname }}:8220")
fi
{% if CUSTOMFQDN != "" %}
# Add Custom Hostname to list
NEW_LIST+=("https://{{ CUSTOMFQDN }}:8220")
# Query for FQDN entries & add them to the list
{% if ELASTICFLEETMERGED.config.server.custom_fqdn | length > 0 %}
CUSTOMFQDNLIST=('{{ ELASTICFLEETMERGED.config.server.custom_fqdn | join(' ') }}')
readarray -t -d ' ' CUSTOMFQDN < <(printf '%s' "$CUSTOMFQDNLIST")
for CUSTOMNAME in "${CUSTOMFQDN[@]}"
do
NEW_LIST+=("https://$CUSTOMNAME:8220")
done
{% endif %}
# Query for the current Grid Nodes that are running Logstash (which includes Fleet Nodes)
@@ -62,7 +67,7 @@ fi
NEW_LIST_JSON=$(jq --compact-output --null-input '$ARGS.positional' --args -- "${NEW_LIST[@]}")
NEW_HASH=$(sha1sum <<< "$NEW_LIST_JSON" | awk '{print $1}')
# Compare the current & new list of URLs - if different, update the Fleet Server URLs
# Compare the current & new list of URLs - if different, update the Fleet Server URLs & regenerate the agent installer
if [ "$NEW_HASH" = "$CURRENT_HASH" ]; then
printf "\nHashes match - no update needed.\n"
printf "Current List: $CURRENT_LIST\nNew List: $NEW_LIST_JSON\n"
@@ -71,4 +76,5 @@ else
printf "\nHashes don't match - update needed.\n"
printf "Current List: $CURRENT_LIST\nNew List: $NEW_LIST_JSON\n"
update_fleet_urls
/sbin/so-elastic-agent-gen-installers >> /opt/so/log/elasticfleet/so-elastic-agent-gen-installers.log &
fi

View File

@@ -20,20 +20,12 @@
{% for NODE in ES_LOGSTASH_NODES %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.discovery.seed_hosts.append(NODE.keys()|first) %}
{% endfor %}
{% if grains.id.split('_') | last == 'manager' %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.node.update({'roles': ['master','data','remote_cluster_client']}) %}
{% else %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.node.update({'roles': ['master', 'data_hot', 'remote_cluster_client']}) %}
{% endif %}
{% endif %}
{% elif grains.id.split('_') | last == 'searchnode' %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.node.update({'roles': ['data_hot', 'ingest']}) %}
{% if HIGHLANDER %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.node.roles.extend(['ml', 'master', 'transform']) %}
{% endif %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.update({'discovery': {'seed_hosts': [GLOBALS.manager]}}) %}
{% elif grains.id.split('_') | last == 'heavynode' %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.node.update({'roles': ['master', 'data', 'remote_cluster_client', 'ingest']}) %}
{% endif %}
{% if HIGHLANDER %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.xpack.ml.update({'enabled': true}) %}
@@ -53,3 +45,5 @@
{% endif %}
{% endfor %}
{% endif %}
{% do ELASTICSEARCHMERGED.config.node.update({'roles': ELASTICSEARCHMERGED.so_roles[GLOBALS.role].config.node.roles}) %}

File diff suppressed because it is too large Load Diff

View File

@@ -59,7 +59,7 @@ so-elasticsearch:
{% if GLOBALS.is_manager %}
- /etc/pki/ca.crt:/usr/share/elasticsearch/config/ca.crt:ro
{% else %}
- /etc/ssl/certs/intca.crt:/usr/share/elasticsearch/config/ca.crt:ro
- /etc/pki/tls/certs/intca.crt:/usr/share/elasticsearch/config/ca.crt:ro
{% endif %}
- /etc/pki/elasticsearch.crt:/usr/share/elasticsearch/config/elasticsearch.crt:ro
- /etc/pki/elasticsearch.key:/usr/share/elasticsearch/config/elasticsearch.key:ro
@@ -108,8 +108,9 @@ escomponenttemplates:
- source: salt://elasticsearch/templates/component
- user: 930
- group: 939
- clean: True
- onchanges_in:
- cmd: so-elasticsearch-templates
- file: so-elasticsearch-templates-reload
# Auto-generate templates from defaults file
{% for index, settings in ES_INDEX_SETTINGS.items() %}
@@ -122,7 +123,7 @@ es_index_template_{{index}}:
TEMPLATE_CONFIG: {{ settings.index_template }}
- template: jinja
- onchanges_in:
- cmd: so-elasticsearch-templates
- file: so-elasticsearch-templates-reload
{% endif %}
{% endfor %}
@@ -141,7 +142,7 @@ es_template_{{TEMPLATE.split('.')[0] | replace("/","_") }}:
- user: 930
- group: 939
- onchanges_in:
- cmd: so-elasticsearch-templates
- file: so-elasticsearch-templates-reload
{% endfor %}
{% endif %}
@@ -166,6 +167,10 @@ so-elasticsearch-ilm-policy-load:
- onchanges:
- file: so-elasticsearch-ilm-policy-load-script
so-elasticsearch-templates-reload:
file.absent:
- name: /opt/so/state/estemplates.txt
so-elasticsearch-templates:
cmd.run:
- name: /usr/sbin/so-elasticsearch-templates-load

View File

@@ -78,6 +78,10 @@
{ "set": { "if": "ctx.network?.direction == 'ingress'", "override": true, "field": "network.initiated", "value": "false" } },
{ "set": { "if": "ctx.network?.type == 'ipv4'", "override": true, "field": "destination.ipv6", "value": "false" } },
{ "set": { "if": "ctx.network?.type == 'ipv6'", "override": true, "field": "destination.ipv6", "value": "true" } },
{ "set": { "if": "ctx.tags.0 == 'import'", "override": true, "field": "data_stream.dataset", "value": "import" } },
{ "set": { "if": "ctx.tags.0 == 'import'", "override": true, "field": "data_stream.namespace", "value": "so" } },
{ "date": { "if": "ctx.event?.module == 'system'", "field": "event.created", "target_field": "@timestamp", "formats": ["yyyy-MM-dd'T'HH:mm:ss.SSSSSS'Z'"] } },
{ "community_id":{ "if": "ctx.event?.dataset == 'endpoint.events.network'", "ignore_failure":true } },
{ "remove": { "field": [ "message2", "type", "fields", "category", "module", "dataset", "event.dataset_temp", "dataset_tag_temp", "module_temp" ], "ignore_missing": true, "ignore_failure": true } }
],
"on_failure": [

View File

@@ -49,11 +49,10 @@
"on_failure" : [ {"set" : {"field" : "error.message","value" : "{{ _ingest.on_failure_message }}"}}]
}
},
{ "set": { "field": "_index", "value": "so-firewall", "override": true } },
{ "set": { "if": "ctx.network?.transport_id == '0'", "field": "network.transport", "value": "icmp", "override": true } },
{ "community_id": {} },
{ "set": { "field": "module", "value": "pfsense", "override": true } },
{ "set": { "field": "dataset", "value": "firewall", "override": true } },
{ "set": { "field": "event.module", "value": "pfsense", "override": true } },
{ "set": { "field": "event.dataset", "value": "firewall", "override": true } },
{ "set": { "field": "category", "value": "network", "override": true } },
{ "remove": { "field": ["real_message", "ip_sub_msg", "firewall.sub_message"], "ignore_failure": true } }
]

View File

@@ -63,8 +63,8 @@
{ "set": { "if": "ctx.rule?.score != null && ctx.rule?.score >= 50 && ctx.rule?.score <=69", "field": "event.severity", "value": 2, "override": true } },
{ "set": { "if": "ctx.rule?.score != null && ctx.rule?.score >= 70 && ctx.rule?.score <=89", "field": "event.severity", "value": 3, "override": true } },
{ "set": { "if": "ctx.rule?.score != null && ctx.rule?.score >= 90", "field": "event.severity", "value": 4, "override": true } },
{ "set": { "if": "ctx.scan?.entropy?.entropy == 0", "field": "scan.entropy.entropy", "value": "0.0", "override": true } },
{ "set": { "if": "ctx.scan?.pe?.image_version == 0", "field": "scan.pe.image_version", "value": "0.0", "override": true } },
{ "set": { "if": "ctx.scan?.entropy?.entropy == '0'", "field": "scan.entropy.entropy", "value": "0.0", "override": true } },
{ "set": { "if": "ctx.scan?.pe?.image_version == '0'", "field": "scan.pe.image_version", "value": "0.0", "override": true } },
{ "set": { "field": "observer.name", "value": "{{agent.name}}" }},
{ "convert" : { "field" : "scan.exiftool","type": "string", "ignore_missing":true }},
{ "remove": { "field": ["host", "path", "message", "exiftool", "scan.yara.meta"], "ignore_missing": true } },

View File

@@ -0,0 +1,34 @@
{
"description" : " Email alerts from Sublime",
"processors" : [
{ "set": { "field": "event.module", "value": "sublime" } },
{ "set": { "field": "event.dataset", "value": "alert" } },
{ "set": { "field": "event.severity", "value": 3, "override": true } },
{ "set": { "field": "rule.name", "value": "Sublime Platform: {{ flagged_rules.0.name }}", "override": true } },
{ "set": { "field": "sublime.message_group_id", "value": "{{ _id }}", "override": true } },
{ "set": { "field": "email.address", "value": "{{ messages.0.recipients.0.email }}", "override": true } },
{ "set": { "field": "email.forwarded_recipents", "value": "{{ messages.0.forwarded_receipients }}", "override": true } },
{ "set": { "field": "email.sender.address", "value": "{{ messages.0.sender.email }}", "override": true } },
{ "set": { "field": "email.subject", "value": "{{ messages.0.subject }}", "override": true } },
{ "set": { "field": "email.forwarded_at", "value": "{{ messages.0.forwarded_at }}", "override": true } },
{ "set": { "field": "email.created_at", "value": "{{ messages.0.created_at }}", "override": true } },
{ "set": { "field": "email.read_at", "value": "{{ messages.0.read_at }}", "override": true } },
{ "set": { "field": "email.replied_at", "value": "{{ messages.0.replied_at }}", "override": true } },
{
"grok": {
"field": "sublime.request_url",
"patterns": ["^https://api.%{DATA:sublime_host}/v0%{GREEDYDATA}$"],
"ignore_failure": true
}
},
{ "rename": { "field": "sublime_host", "target_field": "sublime.url", "ignore_missing": true } },
{ "rename": { "field": "data", "target_field": "sublime", "ignore_missing": true } },
{ "rename": { "field": "flagged_rules", "target_field": "sublime.flagged_rules", "ignore_missing": true } },
{ "rename": { "field": "organization_id", "target_field": "sublime.organization_id", "ignore_missing": true } },
{ "rename": { "field": "review_status", "target_field": "sublime.review_status", "ignore_missing": true } },
{ "rename": { "field": "state", "target_field": "sublime.state", "ignore_missing": true } },
{ "rename": { "field": "user_reports", "target_field": "sublime.user_reports", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -2,6 +2,7 @@
"description" : "suricata.common",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.pkt_src", "target_field": "network.packet_source","ignore_failure": true } },
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_failure": true } },
{ "rename": { "field": "message2.flow_id", "target_field": "log.id.uid", "ignore_failure": true } },
{ "rename": { "field": "message2.src_ip", "target_field": "source.ip", "ignore_failure": true } },

View File

@@ -33,7 +33,6 @@ elasticsearch:
flood_stage:
description: The max percentage of used disk space that will cause the node to take protective actions, such as blocking incoming events.
helpLink: elasticsearch.html
script:
max_compilations_rate:
description: Max rate of script compilations permitted in the Elasticsearch cluster. Larger values will consume more resources.
@@ -46,57 +45,45 @@ elasticsearch:
description: Max number of boolean clauses per query.
global: True
helpLink: elasticsearch.html
index_settings:
so-elasticsearch: &indexSettings
warm:
description: Age (in days) of this index before it will move to warm storage, if warm nodes are present. Once moved, events on this index can take longer to fetch.
global: True
helpLink: elasticsearch.html
close:
description: Age (in days) of this index before it will be closed. Once closed, events on this index cannot be retrieved without first re-opening the index.
global: True
helpLink: elasticsearch.html
delete:
description: Age (in days) of this index before it will be deleted. Once deleted, events are permanently unrecoverable.
global: True
helpLink: elasticsearch.html
index_sorting:
description: Sorts the index by event time, at the cost of additional processing resource consumption.
global: True
helpLink: elasticsearch.html
index_settings:
global_overrides:
index_template:
template:
settings:
index:
mapping:
total_fields:
limit:
description: Max number of fields that can exist on a single index. Larger values will consume more resources.
global: True
helpLink: elasticsearch.html
number_of_replicas:
description: Number of replicas required for all indices. Multiple replicas protects against data loss, but also increases storage costs. This setting will be applied to all indices.
forcedType: int
global: True
helpLink: elasticsearch.html
refresh_interval:
description: Seconds between index refreshes. Shorter intervals can cause query performance to suffer since this is a synchronous and resource-intensive operation.
global: True
helpLink: elasticsearch.html
description: Seconds between index refreshes. Shorter intervals can cause query performance to suffer since this is a synchronous and resource-intensive operation.
global: True
helpLink: elasticsearch.html
number_of_shards:
description: Number of shards required for this index. Using multiple shards increases fault tolerance, but also increases storage and network costs.
description: Number of shards required for this index. Using multiple shards increases fault tolerance, but also increases storage and network costs.
global: True
helpLink: elasticsearch.html
sort:
field:
description: The field to sort by. Must set index_sorting to True.
global: True
helpLink: elasticsearch.html
number_of_replicas:
description: Number of replicas required for this index. Multiple replicas protects against data loss, but also increases storage costs.
order:
description: The order to sort by. Must set index_sorting to True.
global: True
helpLink: elasticsearch.html
policy:
phases:
hot:
min_age:
description: Minimum age of index. This determines when the index should be moved to the hot tier.
max_age:
description: Maximum age of index. ex. 7d - This determines when the index should be moved out of the hot tier.
global: True
helpLink: elasticsearch.html
actions:
set_priority:
priority:
description: Priority of index. This is used for recovery after a node restart. Indices with higher priorities are recovered before indices with lower priorities.
forcedType: int
global: True
helpLink: elasticsearch.html
rollover:
@@ -110,7 +97,7 @@ elasticsearch:
helpLink: elasticsearch.html
cold:
min_age:
description: Minimum age of index. This determines when the index should be moved to the cold tier. While still searchable, this tier is typically optimized for lower storage costs rather than search speed.
description: Minimum age of index. ex. 30d - This determines when the index should be moved to the cold tier. While still searchable, this tier is typically optimized for lower storage costs rather than search speed.
global: True
helpLink: elasticsearch.html
actions:
@@ -119,18 +106,375 @@ elasticsearch:
description: Used for index recovery after a node restart. Indices with higher priorities are recovered before indices with lower priorities.
global: True
helpLink: elasticsearch.html
warm:
min_age:
description: Minimum age of index. ex. 30d - This determines when the index should be moved to the cold tier. While still searchable, this tier is typically optimized for lower storage costs rather than search speed.
regex: ^\[0-9\]{1,5}d$
forcedType: string
global: True
actions:
set_priority:
priority:
description: Priority of index. This is used for recovery after a node restart. Indices with higher priorities are recovered before indices with lower priorities.
forcedType: int
global: True
helpLink: elasticsearch.html
delete:
min_age:
description: Minimum age of index. ex. 90d - This determines when the index should be deleted.
global: True
helpLink: elasticsearch.html
so-logs: &indexSettings
index_sorting:
description: Sorts the index by event time, at the cost of additional processing resource consumption.
global: True
advanced: True
helpLink: elasticsearch.html
index_template:
index_patterns:
description: Patterns for matching multiple indices or tables.
forceType: "[]string"
multiline: True
global: True
advanced: True
helpLink: elasticsearch.html
template:
settings:
index:
number_of_replicas:
description: Number of replicas required for this index. Multiple replicas protects against data loss, but also increases storage costs.
forcedType: int
global: True
advanced: True
helpLink: elasticsearch.html
mapping:
total_fields:
limit:
description: Max number of fields that can exist on a single index. Larger values will consume more resources.
global: True
advanced: True
helpLink: elasticsearch.html
refresh_interval:
description: Seconds between index refreshes. Shorter intervals can cause query performance to suffer since this is a synchronous and resource-intensive operation.
global: True
advanced: True
helpLink: elasticsearch.html
number_of_shards:
description: Number of shards required for this index. Using multiple shards increases fault tolerance, but also increases storage and network costs.
global: True
advanced: True
helpLink: elasticsearch.html
sort:
field:
description: The field to sort by. Must set index_sorting to True.
global: True
advanced: True
helpLink: elasticsearch.html
order:
description: The order to sort by. Must set index_sorting to True.
global: True
advanced: True
helpLink: elasticsearch.html
mappings:
_meta:
package:
name:
description: Meta settings for the mapping.
global: True
advanced: True
helpLink: elasticsearch.html
managed_by:
description: Meta settings for the mapping.
global: True
advanced: True
helpLink: elasticsearch.html
managed:
description: Meta settings for the mapping.
forcedType: bool
global: True
advanced: True
helpLink: elasticsearch.html
composed_of:
description: The index template is composed of these component templates.
forcedType: "[]string"
global: True
advanced: True
helpLink: elasticsearch.html
priority:
description: The priority of the index template.
forcedType: int
global: True
advanced: True
helpLink: elasticsearch.html
data_stream:
hidden:
description: Hide the data stream.
forcedType: bool
global: True
advanced: True
helpLink: elasticsearch.html
allow_custom_routing:
description: Allow custom routing for the data stream.
forcedType: bool
global: True
advanced: True
helpLink: elasticsearch.html
policy:
phases:
hot:
min_age:
description: Minimum age of index. This determines when the index should be moved to the hot tier.
global: True
advanced: True
helpLink: elasticsearch.html
actions:
set_priority:
priority:
description: Priority of index. This is used for recovery after a node restart. Indices with higher priorities are recovered before indices with lower priorities.
forcedType: int
global: True
advanced: True
helpLink: elasticsearch.html
rollover:
max_age:
description: Maximum age of index. Once an index reaches this limit, it will be rolled over into a new index.
global: True
advanced: True
helpLink: elasticsearch.html
max_primary_shard_size:
description: Maximum primary shard size. Once an index reaches this limit, it will be rolled over into a new index.
global: True
advanced: True
helpLink: elasticsearch.html
warm:
min_age:
description: Minimum age of index. This determines when the index should be moved to the hot tier.
global: True
advanced: True
helpLink: elasticsearch.html
actions:
set_priority:
priority:
description: Priority of index. This is used for recovery after a node restart. Indices with higher priorities are recovered before indices with lower priorities.
forcedType: int
global: True
advanced: True
helpLink: elasticsearch.html
rollover:
max_age:
description: Maximum age of index. Once an index reaches this limit, it will be rolled over into a new index.
global: True
advanced: True
helpLink: elasticsearch.html
max_primary_shard_size:
description: Maximum primary shard size. Once an index reaches this limit, it will be rolled over into a new index.
global: True
advanced: True
helpLink: elasticsearch.html
cold:
min_age:
description: Minimum age of index. This determines when the index should be moved to the cold tier. While still searchable, this tier is typically optimized for lower storage costs rather than search speed.
global: True
advanced: True
helpLink: elasticsearch.html
actions:
set_priority:
priority:
description: Used for index recovery after a node restart. Indices with higher priorities are recovered before indices with lower priorities.
forcedType: int
global: True
advanced: True
helpLink: elasticsearch.html
delete:
min_age:
description: Minimum age of index. This determines when the index should be deleted.
global: True
helpLink: elastic
advanced: True
helpLink: elasticsearch.html
_meta:
package:
name:
description: Meta settings for the mapping.
global: True
advanced: True
helpLink: elasticsearch.html
managed_by:
description: Meta settings for the mapping.
global: True
advanced: True
helpLink: elasticsearch.html
managed:
description: Meta settings for the mapping.
forcedType: bool
global: True
advanced: True
helpLink: elasticsearch.html
so-logs-system_x_auth: *indexSettings
so-logs-system_x_syslog: *indexSettings
so-logs-system_x_system: *indexSettings
so-logs-system_x_application: *indexSettings
so-logs-system_x_security: *indexSettings
so-logs-windows_x_forwarded: *indexSettings
so-logs-windows_x_powershell: *indexSettings
so-logs-windows_x_powershell_operational: *indexSettings
so-logs-windows_x_sysmon_operational: *indexSettings
so-logs-apache_x_access: *indexSettings
so-logs-apache_x_error: *indexSettings
so-logs-auditd_x_log: *indexSettings
so-logs-aws_x_cloudtrail: *indexSettings
so-logs-aws_x_cloudwatch_logs: *indexSettings
so-logs-aws_x_ec2_logs: *indexSettings
so-logs-aws_x_elb_logs: *indexSettings
so-logs-aws_x_firewall_logs: *indexSettings
so-logs-aws_x_route53_public_logs: *indexSettings
so-logs-aws_x_route53_resolver_logs: *indexSettings
so-logs-aws_x_s3access: *indexSettings
so-logs-aws_x_vpcflow: *indexSettings
so-logs-aws_x_waf: *indexSettings
so-logs-azure_x_activitylogs: *indexSettings
so-logs-azure_x_application_gateway: *indexSettings
so-logs-azure_x_auditlogs: *indexSettings
so-logs-azure_x_eventhub: *indexSettings
so-logs-azure_x_firewall_logs: *indexSettings
so-logs-azure_x_identity_protection: *indexSettings
so-logs-azure_x_platformlogs: *indexSettings
so-logs-azure_x_provisioning: *indexSettings
so-logs-azure_x_signinlogs: *indexSettings
so-logs-azure_x_springcloudlogs: *indexSettings
so-logs-barracuda_x_waf: *indexSettings
so-logs-cisco_asa_x_log: *indexSettings
so-logs-cloudflare_x_audit: *indexSettings
so-logs-cloudflare_x_logpull: *indexSettings
so-logs-crowdstrike_x_falcon: *indexSettings
so-logs-crowdstrike_x_fdr: *indexSettings
so-logs-darktrace_x_ai_analyst_alert: *indexSettings
so-logs-darktrace_x_model_breach_alert: *indexSettings
so-logs-darktrace_x_system_status_alert: *indexSettings
so-logs-f5_bigip_x_log: *indexSettings
so-logs-fim_x_event: *indexSettings
so-logs-fortinet_x_clientendpoint: *indexSettings
so-logs-fortinet_x_firewall: *indexSettings
so-logs-fortinet_x_fortimail: *indexSettings
so-logs-fortinet_x_fortimanager: *indexSettings
so-logs-fortinet_x_fortigate: *indexSettings
so-logs-gcp_x_audit: *indexSettings
so-logs-gcp_x_dns: *indexSettings
so-logs-gcp_x_firewall: *indexSettings
so-logs-gcp_x_loadbalancing_logs: *indexSettings
so-logs-gcp_x_vpcflow: *indexSettings
so-logs-github_x_audit: *indexSettings
so-logs-github_x_code_scanning: *indexSettings
so-logs-github_x_dependabot: *indexSettings
so-logs-github_x_issues: *indexSettings
so-logs-github_x_secret_scanning: *indexSettings
so-logs-google_workspace_x_access_transparency: *indexSettings
so-logs-google_workspace_x_admin: *indexSettings
so-logs-google_workspace_x_alert: *indexSettings
so-logs-google_workspace_x_context_aware_access: *indexSettings
so-logs-google_workspace_x_device: *indexSettings
so-logs-google_workspace_x_drive: *indexSettings
so-logs-google_workspace_x_gcp: *indexSettings
so-logs-google_workspace_x_group_enterprise: *indexSettings
so-logs-google_workspace_x_groups: *indexSettings
so-logs-google_workspace_x_login: *indexSettings
so-logs-google_workspace_x_rules: *indexSettings
so-logs-google_workspace_x_saml: *indexSettings
so-logs-google_workspace_x_token: *indexSettings
so-logs-google_workspace_x_user_accounts: *indexSettings
so-logs-http_endpoint_x_generic: *indexSettings
so-logs-httpjson_x_generic: *indexSettings
so-logs-juniper_x_junos: *indexSettings
so-logs-juniper_x_netscreen: *indexSettings
so-logs-juniper_x_srx: *indexSettings
so-logs-juniper_srx_x_log: *indexSettings
so-logs-kafka_log_x_generic: *indexSettings
so-logs-lastpass_x_detailed_shared_folder: *indexSettings
so-logs-lastpass_x_event_report: *indexSettings
so-logs-lastpass_x_user: *indexSettings
so-logs-m365_defender_x_event: *indexSettings
so-logs-m365_defender_x_incident: *indexSettings
so-logs-m365_defender_x_log: *indexSettings
so-logs-microsoft_defender_endpoint_x_log: *indexSettings
so-logs-microsoft_dhcp_x_log: *indexSettings
so-logs-netflow_x_log: *indexSettings
so-logs-o365_x_audit: *indexSettings
so-logs-okta_x_system: *indexSettings
so-logs-panw_x_panos: *indexSettings
so-logs-pfsense_x_log: *indexSettings
so-logs-sentinel_one_x_activity: *indexSettings
so-logs-sentinel_one_x_agent: *indexSettings
so-logs-sentinel_one_x_alert: *indexSettings
so-logs-sentinel_one_x_group: *indexSettings
so-logs-sentinel_one_x_threat: *indexSettings
so-logs-sonicwall_firewall_x_log: *indexSettings
so-logs-symantec_endpoint_x_log: *indexSettings
so-logs-ti_abusech_x_malware: *indexSettings
so-logs-ti_abusech_x_malwarebazaar: *indexSettings
so-logs-ti_abusech_x_threatfox: *indexSettings
so-logs-ti_abusech_x_url: *indexSettings
so-logs-ti_misp_x_threat: *indexSettings
so-logs-ti_misp_x_threat_attributes: *indexSettings
so-logs-ti_otx_x_threat: *indexSettings
so-logs-ti_recordedfuture_x_latest_ioc-template: *indexSettings
so-logs-ti_recordedfuture_x_threat: *indexSettings
so-logs-zscaler_zia_x_alerts: *indexSettings
so-logs-zscaler_zia_x_dns: *indexSettings
so-logs-zscaler_zia_x_firewall: *indexSettings
so-logs-zscaler_zia_x_tunnel: *indexSettings
so-logs-zscaler_zia_x_web: *indexSettings
so-logs-zscaler_zpa_x_app_connector_status: *indexSettings
so-logs-zscaler_zpa_x_audit: *indexSettings
so-logs-zscaler_zpa_x_browser_access: *indexSettings
so-logs-zscaler_zpa_x_user_activity: *indexSettings
so-logs-zscaler_zpa_x_user_status: *indexSettings
so-logs-1password_x_item_usages: *indexSettings
so-logs-1password_x_signin_attempts: *indexSettings
so-logs-osquery-manager-actions: *indexSettings
so-logs-osquery-manager-action_x_responses: *indexSettings
so-logs-elastic_agent_x_apm_server: *indexSettings
so-logs-elastic_agent_x_auditbeat: *indexSettings
so-logs-elastic_agent_x_cloudbeat: *indexSettings
so-logs-elastic_agent_x_endpoint_security: *indexSettings
so-logs-endpoint_x_alerts: *indexSettings
so-logs-endpoint_x_events_x_api: *indexSettings
so-logs-endpoint_x_events_x_file: *indexSettings
so-logs-endpoint_x_events_x_library: *indexSettings
so-logs-endpoint_x_events_x_network: *indexSettings
so-logs-endpoint_x_events_x_process: *indexSettings
so-logs-endpoint_x_events_x_registry: *indexSettings
so-logs-endpoint_x_events_x_security: *indexSettings
so-logs-elastic_agent_x_filebeat: *indexSettings
so-logs-elastic_agent_x_fleet_server: *indexSettings
so-logs-elastic_agent_x_heartbeat: *indexSettings
so-logs-elastic_agent: *indexSettings
so-logs-elastic_agent_x_metricbeat: *indexSettings
so-logs-elastic_agent_x_osquerybeat: *indexSettings
so-logs-elastic_agent_x_packetbeat: *indexSettings
so-case: *indexSettings
so-common: *indexSettings
so-endgame: *indexSettings
so-firewall: *indexSettings
so-idh: *indexSettings
so-suricata: *indexSettings
so-import: *indexSettings
so-kibana: *indexSettings
so-kratos: *indexSettings
so-logstash: *indexSettings
so-osquery: *indexSettings
so-redis: *indexSettings
so-strelka: *indexSettings
so-syslog: *indexSettings
so-zeek: *indexSettings
so_roles:
so-manager: &soroleSettings
config:
node:
roles:
description: List of Elasticsearch roles that the node should have. Blank assumes all roles
forcedType: "[]string"
global: False
advanced: True
helpLink: elasticsearch.html
so-managersearch: *soroleSettings
so-standalone: *soroleSettings
so-searchnode: *soroleSettings
so-heavynode: *soroleSettings
so-eval: *soroleSettings
so-import: *soroleSettings

View File

@@ -1,9 +1,28 @@
{% import_yaml 'elasticsearch/defaults.yaml' as ELASTICSEARCHDEFAULTS with context %}
{%- set ES_INDEX_SETTINGS = salt['pillar.get']('elasticsearch:index_settings', default=ELASTICSEARCHDEFAULTS.elasticsearch.index_settings, merge=True) %}
{% for index, settings in ES_INDEX_SETTINGS.items() %}
{% if settings.index_template is defined %}
{% if not settings.get('index_sorting', False) | to_bool and settings.index_template.template.settings.index.sort is defined %}
{% do settings.index_template.template.settings.index.pop('sort') %}
{% endif %}
{% endif %}
{% import_yaml 'elasticsearch/defaults.yaml' as ELASTICSEARCHDEFAULTS %}
{% set DEFAULT_GLOBAL_OVERRIDES = ELASTICSEARCHDEFAULTS.elasticsearch.index_settings.pop('global_overrides') %}
{% set PILLAR_GLOBAL_OVERRIDES = {} %}
{% if salt['pillar.get']('elasticsearch:index_settings') is defined %}
{% set ES_INDEX_PILLAR = salt['pillar.get']('elasticsearch:index_settings') %}
{% if ES_INDEX_PILLAR.global_overrides is defined %}
{% set PILLAR_GLOBAL_OVERRIDES = ES_INDEX_PILLAR.pop('global_overrides') %}
{% endif %}
{% endif %}
{% set ES_INDEX_SETTINGS_ORIG = ELASTICSEARCHDEFAULTS.elasticsearch.index_settings %}
{% set ES_INDEX_SETTINGS_GLOBAL_OVERRIDES = {} %}
{% for index in ES_INDEX_SETTINGS_ORIG.keys() %}
{% do ES_INDEX_SETTINGS_GLOBAL_OVERRIDES.update({index: salt['defaults.merge'](ELASTICSEARCHDEFAULTS.elasticsearch.index_settings[index], PILLAR_GLOBAL_OVERRIDES, in_place=False)}) %}
{% endfor %}
{% set ES_INDEX_SETTINGS = {} %}
{% do ES_INDEX_SETTINGS_GLOBAL_OVERRIDES.update(salt['defaults.merge'](ES_INDEX_SETTINGS_GLOBAL_OVERRIDES, ES_INDEX_PILLAR, in_place=False)) %}
{% for index, settings in ES_INDEX_SETTINGS_GLOBAL_OVERRIDES.items() %}
{% if settings.index_template is defined %}
{% if not settings.get('index_sorting', False) | to_bool and settings.index_template.template.settings.index.sort is defined %}
{% do settings.index_template.template.settings.index.pop('sort') %}
{% endif %}
{% endif %}
{% do ES_INDEX_SETTINGS.update({index | replace("_x_", "."): ES_INDEX_SETTINGS_GLOBAL_OVERRIDES[index]}) %}
{% endfor %}

View File

@@ -1,12 +0,0 @@
{
"template": {
"settings": {}
},
"_meta": {
"package": {
"name": "elastic_agent"
},
"managed_by": "fleet",
"managed": true
}
}

View File

@@ -1,329 +0,0 @@
{"template": {
"settings": {
"index": {
"lifecycle": {
"name": "logs"
},
"codec": "best_compression",
"default_pipeline": "logs-elastic_agent.apm_server-1.7.0",
"mapping": {
"total_fields": {
"limit": "10000"
}
},
"query": {
"default_field": [
"cloud.account.id",
"cloud.availability_zone",
"cloud.instance.id",
"cloud.instance.name",
"cloud.machine.type",
"cloud.provider",
"cloud.region",
"cloud.project.id",
"cloud.image.id",
"container.id",
"container.image.name",
"container.name",
"host.architecture",
"host.hostname",
"host.id",
"host.mac",
"host.name",
"host.os.family",
"host.os.kernel",
"host.os.name",
"host.os.platform",
"host.os.version",
"host.os.build",
"host.os.codename",
"host.type",
"ecs.version",
"agent.build.original",
"agent.ephemeral_id",
"agent.id",
"agent.name",
"agent.type",
"agent.version",
"log.level",
"message",
"elastic_agent.id",
"elastic_agent.process",
"elastic_agent.version"
]
}
}
},
"mappings": {
"dynamic": false,
"dynamic_templates": [
{
"container.labels": {
"path_match": "container.labels.*",
"mapping": {
"type": "keyword"
},
"match_mapping_type": "string"
}
}
],
"properties": {
"cloud": {
"properties": {
"availability_zone": {
"ignore_above": 1024,
"type": "keyword"
},
"image": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"instance": {
"properties": {
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"provider": {
"ignore_above": 1024,
"type": "keyword"
},
"machine": {
"properties": {
"type": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"project": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"region": {
"ignore_above": 1024,
"type": "keyword"
},
"account": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
}
}
},
"container": {
"properties": {
"image": {
"properties": {
"name": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"agent": {
"properties": {
"build": {
"properties": {
"original": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"ephemeral_id": {
"ignore_above": 1024,
"type": "keyword"
},
"type": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"@timestamp": {
"type": "date"
},
"ecs": {
"properties": {
"version": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"log": {
"properties": {
"level": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"data_stream": {
"properties": {
"namespace": {
"type": "constant_keyword"
},
"type": {
"type": "constant_keyword"
},
"dataset": {
"type": "constant_keyword"
}
}
},
"host": {
"properties": {
"hostname": {
"ignore_above": 1024,
"type": "keyword"
},
"os": {
"properties": {
"build": {
"ignore_above": 1024,
"type": "keyword"
},
"kernel": {
"ignore_above": 1024,
"type": "keyword"
},
"codename": {
"ignore_above": 1024,
"type": "keyword"
},
"name": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"text": {
"type": "text"
}
}
},
"family": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
},
"platform": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"domain": {
"ignore_above": 1024,
"type": "keyword"
},
"ip": {
"type": "ip"
},
"containerized": {
"type": "boolean"
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"type": {
"ignore_above": 1024,
"type": "keyword"
},
"mac": {
"ignore_above": 1024,
"type": "keyword"
},
"architecture": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"elastic_agent": {
"properties": {
"process": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
},
"snapshot": {
"type": "boolean"
}
}
},
"event": {
"properties": {
"dataset": {
"type": "constant_keyword"
}
}
},
"message": {
"type": "text"
}
}
}
},
"_meta": {
"package": {
"name": "elastic_agent"
},
"managed_by": "fleet",
"managed": true
}
}

View File

@@ -1,12 +0,0 @@
{
"template": {
"settings": {}
},
"_meta": {
"package": {
"name": "elastic_agent"
},
"managed_by": "fleet",
"managed": true
}
}

View File

@@ -1,329 +0,0 @@
{"template": {
"settings": {
"index": {
"lifecycle": {
"name": "logs"
},
"codec": "best_compression",
"default_pipeline": "logs-elastic_agent.auditbeat-1.7.0",
"mapping": {
"total_fields": {
"limit": "10000"
}
},
"query": {
"default_field": [
"cloud.account.id",
"cloud.availability_zone",
"cloud.instance.id",
"cloud.instance.name",
"cloud.machine.type",
"cloud.provider",
"cloud.region",
"cloud.project.id",
"cloud.image.id",
"container.id",
"container.image.name",
"container.name",
"host.architecture",
"host.hostname",
"host.id",
"host.mac",
"host.name",
"host.os.family",
"host.os.kernel",
"host.os.name",
"host.os.platform",
"host.os.version",
"host.os.build",
"host.os.codename",
"host.type",
"ecs.version",
"agent.build.original",
"agent.ephemeral_id",
"agent.id",
"agent.name",
"agent.type",
"agent.version",
"log.level",
"message",
"elastic_agent.id",
"elastic_agent.process",
"elastic_agent.version"
]
}
}
},
"mappings": {
"dynamic": false,
"dynamic_templates": [
{
"container.labels": {
"path_match": "container.labels.*",
"mapping": {
"type": "keyword"
},
"match_mapping_type": "string"
}
}
],
"properties": {
"cloud": {
"properties": {
"availability_zone": {
"ignore_above": 1024,
"type": "keyword"
},
"image": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"instance": {
"properties": {
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"provider": {
"ignore_above": 1024,
"type": "keyword"
},
"machine": {
"properties": {
"type": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"project": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"region": {
"ignore_above": 1024,
"type": "keyword"
},
"account": {
"properties": {
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
}
}
},
"container": {
"properties": {
"image": {
"properties": {
"name": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"agent": {
"properties": {
"build": {
"properties": {
"original": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"ephemeral_id": {
"ignore_above": 1024,
"type": "keyword"
},
"type": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"@timestamp": {
"type": "date"
},
"ecs": {
"properties": {
"version": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"log": {
"properties": {
"level": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"data_stream": {
"properties": {
"namespace": {
"type": "constant_keyword"
},
"type": {
"type": "constant_keyword"
},
"dataset": {
"type": "constant_keyword"
}
}
},
"host": {
"properties": {
"hostname": {
"ignore_above": 1024,
"type": "keyword"
},
"os": {
"properties": {
"build": {
"ignore_above": 1024,
"type": "keyword"
},
"kernel": {
"ignore_above": 1024,
"type": "keyword"
},
"codename": {
"ignore_above": 1024,
"type": "keyword"
},
"name": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"text": {
"type": "text"
}
}
},
"family": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
},
"platform": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"domain": {
"ignore_above": 1024,
"type": "keyword"
},
"ip": {
"type": "ip"
},
"containerized": {
"type": "boolean"
},
"name": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"type": {
"ignore_above": 1024,
"type": "keyword"
},
"mac": {
"ignore_above": 1024,
"type": "keyword"
},
"architecture": {
"ignore_above": 1024,
"type": "keyword"
}
}
},
"elastic_agent": {
"properties": {
"process": {
"ignore_above": 1024,
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword"
},
"snapshot": {
"type": "boolean"
}
}
},
"event": {
"properties": {
"dataset": {
"type": "constant_keyword"
}
}
},
"message": {
"type": "text"
}
}
}
},
"_meta": {
"package": {
"name": "elastic_agent"
},
"managed_by": "fleet",
"managed": true
}
}

View File

@@ -1,12 +0,0 @@
{
"template": {
"settings": {}
},
"_meta": {
"package": {
"name": "elastic_agent"
},
"managed_by": "fleet",
"managed": true
}
}

Some files were not shown because too many files have changed in this diff Show More