Compare commits

...

847 Commits

Author SHA1 Message Date
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
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
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
defensivedepth 1043315e6b Manage Elastic Defend Integration manually 2023-10-12 09:22:26 -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
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
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
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
Mike Reeves bee429fe29 Merge pull request #10868 from Security-Onion-Solutions/2.4/dev
2.4.4
2023-07-28 16:00:45 -04:00
m0duspwnens ecbb353d68 Merge remote-tracking branch 'origin/2.4/dev' into iptables 2023-07-28 15:12:08 -04:00
Mike Reeves ed21b94c28 Merge pull request #10867 from Security-Onion-Solutions/2.4.4
2.4.4
2023-07-28 14:53:23 -04:00
Mike Reeves 2a282a29c3 2.4.4 2023-07-28 14:49:50 -04:00
Mike Reeves bc09b418ca Merge pull request #10866 from Security-Onion-Solutions/rockyepel
Rockyepel
2023-07-28 14:06:36 -04:00
m0duspwnens 6f6db61a69 remove epel-next 2023-07-28 14:04:27 -04:00
m0duspwnens 9fce80dba3 install epel-next after epel-release 2023-07-28 14:01:14 -04:00
Mike Reeves abfec85e28 Merge pull request #10863 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update so-functions
2023-07-28 12:21:20 -04:00
Mike Reeves 9aa655365b Update so-functions 2023-07-28 12:20:15 -04:00
Corey Ogburn aa56085758 New Action "Add to Case" 2023-07-28 09:55:44 -06:00
Mike Reeves 9a3760951a Merge pull request #10861 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update so-functions
2023-07-28 11:35:49 -04:00
m0duspwnens 4c8373452d change to iptables-nft-services 2023-07-28 11:35:34 -04:00
Mike Reeves 0bb5db2e72 Update so-functions 2023-07-28 11:34:30 -04:00
Mike Reeves 2dbc7d8485 Merge pull request #10859 from Security-Onion-Solutions/ordesk
Ordesk
2023-07-28 10:56:15 -04:00
Mike Reeves 858e884ec2 Fix Desktop ISO install 2023-07-28 10:52:37 -04:00
Mike Reeves 4672eeb99b Fix Desktop ISO install 2023-07-28 10:51:45 -04:00
Mike Reeves aa824e7b6c Merge pull request #10857 from Security-Onion-Solutions/ordesk
Oracle Desktop
2023-07-28 09:58:46 -04:00
Mike Reeves bb2a1b9521 Fix Desktop ISO install 2023-07-28 09:46:27 -04:00
m0duspwnens 3a22ef8e86 change iptables package name for redhat fam 2023-07-28 08:40:32 -04:00
m0duspwnens 54080c42fe enable, not enabled 2023-07-27 17:01:19 -04:00
Mike Reeves a1fa87c150 Merge pull request #10853 from Security-Onion-Solutions/TOoSmOotH-patch-1
Don't restart suricata if it doesn't exist
2023-07-27 16:38:45 -04:00
Mike Reeves 0c553633b1 Don't restart suricata if it doesn't exist 2023-07-27 16:16:46 -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
Josh Patterson f9850025ea Merge pull request #10852 from Security-Onion-Solutions/2.4/debian
2.4/debian
2023-07-27 15:05:23 -04:00
Mike Reeves 65b76d72ca Merge pull request #10850 from Security-Onion-Solutions/ordesk
Fix packages for desktop
2023-07-27 14:44:44 -04:00
Mike Reeves afca15f444 Fix packages for desktop 2023-07-27 14:17:43 -04:00
Mike Reeves 65b9843f14 Fix packages for desktop 2023-07-27 14:11:53 -04:00
m0duspwnens 653e2d8205 Merge remote-tracking branch 'origin/2.4/dev' into 2.4/debian 2023-07-27 10:26:12 -04:00
Josh Patterson bbaf6df914 Merge pull request #10849 from Security-Onion-Solutions/iptables
Iptables
2023-07-27 10:00:46 -04:00
m0duspwnens bc182c1c43 only run firewalld states if os_family is RedHat 2023-07-27 09:24:41 -04:00
m0duspwnens fe9b934af6 Merge remote-tracking branch 'origin/2.4/dev' into iptables 2023-07-26 16:32:03 -04:00
m0duspwnens 373298430b only run iptables-restore if config file is valid 2023-07-26 16:31:22 -04:00
Mike Reeves 4a18eb02f3 Merge pull request #10847 from Security-Onion-Solutions/ordesk
SO Desktop
2023-07-26 15:53:40 -04:00
m0duspwnens 0aab3e185e dont manage interfaces listed in /etc/network/interfaces for debian 2023-07-26 15:16:44 -04:00
Josh Brower b1fb05dd28 Merge pull request #10841 from Security-Onion-Solutions/2.4/eqlfields
Fix formatting
2023-07-26 11:25:20 -04:00
Josh Brower 9437a47946 Fix formatting 2023-07-26 10:54:24 -04:00
Josh Brower bdf4f6190d Merge pull request #10829 from Security-Onion-Solutions/2.4/heavynoderedux
Heavy Node fixes
2023-07-26 10:41:42 -04:00
Josh Brower f24a3a51ce Heavy Node fixes 2023-07-25 18:28:41 -04:00
m0duspwnens ba6043392c reorder whiptail text 2023-07-25 16:18:01 -04:00
m0duspwnens 60eb1611ea upgrade packages for debian and reboot prior to so installation 2023-07-25 16:06:38 -04:00
Josh Brower 3ef6ea9155 Merge pull request #10826 from Security-Onion-Solutions/2.4/navfix
Upgrade Nav
2023-07-25 12:26:07 -04:00
Josh Brower 2b38bc778d Upgrade Nav 2023-07-25 12:24:23 -04:00
m0duspwnens e334d44c95 need quotes for logCmd 2023-07-25 11:03:10 -04:00
m0duspwnens 39662ccf14 import rpm logic change 2023-07-25 10:21:44 -04:00
m0duspwnens fd69d1c714 remove quotes so sed will work in logCmd 2023-07-25 09:59:02 -04:00
m0duspwnens 63eebdf6ac installer_prereq_packages is run for debian during detect_os so not needed again 2023-07-25 09:58:26 -04:00
Josh Brower e19845e41d Merge pull request #10819 from Security-Onion-Solutions/fix/elasticsearch_endpoint
Add endpoint to defaults
2023-07-25 09:11:06 -04:00
Josh Patterson c1190064ad Merge pull request #10823 from Security-Onion-Solutions/2.4/dockerips
2.4/dockerips
2023-07-25 08:39:49 -04:00
Josh Brower 4f94d953c9 Merge remote-tracking branch 'origin/2.4/dev' into fix/elasticsearch_endpoint 2023-07-25 07:42:59 -04:00
Josh Brower 71a83c1fe9 Merge pull request #10815 from Security-Onion-Solutions/2.4/SigmaMappings
2.4/sigma mappings
2023-07-25 07:23:25 -04:00
Wes 5553be02ac Change how tags are added 2023-07-24 21:31:28 +00:00
m0duspwnens b20fad2839 add missing do 2023-07-24 17:08:01 -04:00
m0duspwnens 16edca7834 fix failed copy paste 2023-07-24 17:06:49 -04:00
m0duspwnens 2545f9907f dont allow 172.17.0.0/24 for custom dockernet 2023-07-24 17:00:20 -04:00
Wes 4efc951eaf Add tags 2023-07-24 20:57:39 +00:00
Doug Burks d75191d679 Merge pull request #10820 from Security-Onion-Solutions/dougburks-patch-1
Update README.md
2023-07-24 15:35:34 -04:00
Doug Burks ee667a48c9 Update README.md 2023-07-24 15:33:50 -04:00
Josh Brower 067a83a87c Merge pull request #10818 from Security-Onion-Solutions/2.4/fixnavigator
Update & Fix Navigator
2023-07-24 15:13:09 -04:00
Wes d84dbf9535 Add fleet 2023-07-24 18:53:52 +00:00
m0duspwnens d71254ad29 only add custom docker net to pillar 2023-07-24 14:47:14 -04:00
Wes de7b7ff989 Add endpoint 2023-07-24 18:35:02 +00:00
Josh Brower 510900e640 Update & Fix Navigator 2023-07-24 13:56:22 -04:00
m0duspwnens 00483018ca change docker bip to gateway 2023-07-24 13:38:14 -04:00
Mike Reeves 9416a14971 Merge pull request #10816 from Security-Onion-Solutions/gpgoracle
add oracle key
2023-07-24 11:02:10 -04:00
Mike Reeves c9faa1a340 Add gui 2023-07-24 11:00:26 -04:00
m0duspwnens 9bda01bd29 change ranges 2023-07-24 10:40:23 -04:00
Josh Brower eead0c42d4 Merge remote-tracking branch 'origin/2.4/dev' into 2.4/SigmaMappings 2023-07-24 09:27:14 -04:00
Josh Brower 741e6039c1 Cleanup for Sigma Rules 2023-07-24 09:25:58 -04:00
m0duspwnens db09b465bd change default docker net/range 2023-07-24 09:23:13 -04:00
Doug Burks a59f2ded38 Merge pull request #10813 from Security-Onion-Solutions/2.4/fix-packages-sls
Update packages.sls
2023-07-24 08:08:11 -04:00
Doug Burks e2fe04dadc Update packages.sls 2023-07-24 07:10:48 -04:00
Doug Burks 563bf2ff3a Merge pull request #10812 from Security-Onion-Solutions/fuse
Update packages.sls
2023-07-24 06:48:47 -04:00
Mike Reeves 07eeb4e2a0 Update packages.sls 2023-07-23 21:07:19 -04:00
Mike Reeves 5dc5b99b05 Add gui 2023-07-21 18:00:01 -04:00
Mike Reeves ba69c67dc2 Add gui 2023-07-21 17:30:17 -04:00
Mike Reeves d1d5f8a2b6 Add gui 2023-07-21 17:28:09 -04:00
Mike Reeves 48324911ce Add gui 2023-07-21 17:18:03 -04:00
m0duspwnens 4b0126a2e7 fix split 2023-07-21 17:10:51 -04:00
Mike Reeves 8a3c2e7242 Add gui 2023-07-21 17:06:38 -04:00
m0duspwnens f55c1a4078 DOCKERBIP change 2023-07-21 16:59:22 -04:00
m0duspwnens c4d81a249a remove /24 from DOCKERBIP 2023-07-21 16:36:03 -04:00
m0duspwnens 4c9d172721 sorange to range 2023-07-21 16:21:18 -04:00
m0duspwnens 36a936d3d6 docker ips changes 2023-07-21 16:06:52 -04:00
coreyogburn d6164446c6 Merge pull request #10809 from Security-Onion-Solutions/cogburn/8655
Added ReverseLookup Option
2023-07-21 13:38:38 -06:00
Corey Ogburn bb7a918a16 Added ReverseLookup Option
Defaults to false, has metadata to show up in the config section of soc.
2023-07-21 13:18:08 -06:00
weslambert be254b15f2 Merge pull request #10804 from Security-Onion-Solutions/fix/fleet_logging
Fleet logging
2023-07-20 15:51:56 -04:00
weslambert 83e1e3efdc Merge pull request #10788 from Security-Onion-Solutions/fix/elastic_mappings
Fix user name mapping and remove security subfield
2023-07-20 15:51:42 -04:00
Mike Reeves 7c48f9d6ec Merge pull request #10806 from Security-Onion-Solutions/newrhel
For Phil
2023-07-20 14:41:05 -04:00
Mike Reeves f2947de0ca Add epel-next 2023-07-20 12:13:36 -04:00
Wes d07c46f27e Change playbook and sysmon 2023-07-20 16:08:50 +00:00
Mike Reeves 47e418a441 Add epel-next 2023-07-20 12:07:26 -04:00
Mike Reeves 87b1207ac0 Merge pull request #10805 from Security-Onion-Solutions/alma
Test Alma
2023-07-20 10:57:19 -04:00
Mike Reeves a86cbaa6fa Merge pull request #10803 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update needs_restarting.py
2023-07-20 10:55:11 -04:00
Wes c68cd6cf33 Fix typo 2023-07-20 14:39:35 +00:00
Josh Patterson 3071a1de41 Update map.jinja 2023-07-20 08:42:27 -04:00
Josh Patterson e75d0c8094 Update needs_restarting.py 2023-07-20 08:36:27 -04:00
Mike Reeves 14c685ab10 Update needs_restarting.py 2023-07-20 08:32:19 -04:00
Mike Reeves 54082858dc Update needs_restarting.py 2023-07-20 08:25:13 -04:00
Wes 4b7e7978ef Add final pipeline 2023-07-19 19:56:54 +00:00
Josh Patterson 066de70638 Merge pull request #10799 from Security-Onion-Solutions/2.4/mysql
whiptails for ubuntu focal
2023-07-19 15:55:32 -04:00
m0duspwnens 19c6796927 only allow existing deployment for focal 2023-07-19 15:38:18 -04:00
m0duspwnens 77c9b4fb54 remove OTHER 2023-07-19 15:35:28 -04:00
m0duspwnens 3104137190 install type whiptail for focal 2023-07-19 15:31:09 -04:00
Josh Patterson c8b65ecca0 Merge pull request #10798 from Security-Onion-Solutions/2.4/mysql
2.4/mysql
2023-07-19 14:55:35 -04:00
Mike Reeves 555c881235 Test Alma 2023-07-19 14:48:12 -04:00
m0duspwnens 0ac9a1f9cc Merge remote-tracking branch 'origin/2.4/dev' into 2.4/mysql 2023-07-19 14:41:03 -04:00
m0duspwnens 3c0554a42c queue states during so-playbook-reset 2023-07-19 14:40:29 -04:00
Wes 0b19179630 Add logrotate 2023-07-19 15:17:42 +00:00
Wes 30a14f8aaf Add logging 2023-07-19 15:00:20 +00:00
Wes 877fc36013 Add log dir 2023-07-19 14:57:24 +00:00
Mike Reeves a892adb66f Merge pull request #10668 from Security-Onion-Solutions/centos
CentOS Stream Support
2023-07-19 10:41:38 -04:00
Mike Reeves a49b05661d Merge pull request #10794 from Security-Onion-Solutions/2.4/mysql
2.4/mysql
2023-07-19 10:40:37 -04:00
Jason Ertel 266fc4e866 Merge pull request #10792 from Security-Onion-Solutions/regup
upgrade registry version
2023-07-19 10:00:40 -04:00
Wes b738325880 Remove keyword 2023-07-19 13:55:12 +00:00
m0duspwnens ad7821391d Merge remote-tracking branch 'origin/2.4/dev' into 2.4/mysql 2023-07-19 09:54:54 -04:00
m0duspwnens 1b0c146b54 get rid of mysql error: mbind: Operation not permitted 2023-07-19 09:54:00 -04:00
Wes 1848a835f5 Remove keyword 2023-07-19 13:52:15 +00:00
Jason Ertel 23cc75c68d upgrade registry version 2023-07-19 09:51:07 -04:00
weslambert 17fcf12608 Merge pull request #10791 from Security-Onion-Solutions/fix/elastic_clear
Set delete for interactive
2023-07-19 08:27:00 -04:00
Wes 6a8737e9a2 Set delete for interactive 2023-07-19 12:21:47 +00:00
m0duspwnens 9543058a2c Merge remote-tracking branch 'origin/2.4/dev' into 2.4/mysql 2023-07-18 16:51:52 -04:00
m0duspwnens b66cd82110 fix depreciations 2023-07-18 16:50:34 -04:00
weslambert 41ebb403ca Merge pull request #10787 from Security-Onion-Solutions/fix/elastic_clear
Use new agent scripts for Elastic clear command
2023-07-18 16:15:27 -04:00
Mike Reeves c94436fcbd fix other OS installs 2023-07-18 15:19:10 -04:00
Wes a59eda319e Remove security subfield 2023-07-18 19:00:50 +00:00
Wes 8a76975d8c Use new agent scripts 2023-07-18 18:43:57 +00:00
Mike Reeves 737da45e7f fix other OS installs 2023-07-18 14:02:13 -04:00
m0duspwnens df1bf8e67b restart mysql container if config or pass changes 2023-07-18 13:41:26 -04:00
Mike Reeves f95757c551 fix other OS installs 2023-07-18 11:58:49 -04:00
Mike Reeves 5e46138961 fix other OS installs 2023-07-18 11:55:51 -04:00
Mike Reeves dc8aa4d923 fix other OS installs 2023-07-18 11:53:55 -04:00
Wes 1d3e39b6bd Map user name to keyword and remove security subfield generation 2023-07-18 14:46:47 +00:00
Mike Reeves 9ad7303cf2 fix other OS installs 2023-07-17 16:44:55 -04:00
Mike Reeves b1daa22dfc fix other OS installs 2023-07-17 16:40:35 -04:00
Mike Reeves 49c4edbcbe fix other OS installs 2023-07-17 16:33:47 -04:00
Mike Reeves f4c3103f84 fix other OS installs 2023-07-17 16:24:51 -04:00
Mike Reeves a2aea5530b Merge pull request #10779 from Security-Onion-Solutions/palletethings
Palletethings
2023-07-17 16:20:44 -04:00
Mike Reeves 01234f87f9 fix other OS installs 2023-07-17 16:20:32 -04:00
m0duspwnens 5d4186ac07 different whiptail warning if ubuntu 20.04 2023-07-17 15:56:29 -04:00
m0duspwnens 425ca35a22 Merge remote-tracking branch 'origin/centos' into palletethings 2023-07-17 13:58:00 -04:00
m0duspwnens fe5ca3a0c8 set palette after detecting os and before whiptail 2023-07-17 13:51:14 -04:00
Mike Reeves 7fad710ca1 fix other OS installs 2023-07-17 13:51:01 -04:00
Mike Reeves 8d6c2600c9 fix other OS installs 2023-07-17 13:49:08 -04:00
Mike Reeves 38c7ea0801 fix other OS installs 2023-07-17 13:44:02 -04:00
Mike Reeves abe0a9ec27 fix other OS installs 2023-07-17 11:03:28 -04:00
Mike Reeves f0f8513370 fix other OS installs 2023-07-17 11:02:34 -04:00
Mike Reeves bffd24e0d5 fix other OS installs 2023-07-17 10:55:04 -04:00
Mike Reeves 71cbab8fcc fix other OS installs 2023-07-17 10:47:24 -04:00
weslambert 6816d06710 Merge pull request #10766 from Security-Onion-Solutions/fix/elastic-agent-scripts
Add agent scripts
2023-07-17 10:46:54 -04:00
Wes d19615f743 Fix typo 2023-07-17 14:42:27 +00:00
Mike Reeves 894e009b95 fix other OS installs 2023-07-17 10:34:14 -04:00
Wes 1a4515fc8a Split restart into stop and start 2023-07-17 14:30:51 +00:00
Wes 31696803e1 Use correct name 2023-07-17 14:28:12 +00:00
Wes e715dfa354 Remove sbin 2023-07-17 14:27:39 +00:00
Wes c723a09107 Remove agent installer generation script 2023-07-14 21:45:25 +00:00
Wes 8cf3ceeb71 Update agent scripts 2023-07-14 21:43:03 +00:00
Mike Reeves 921fc95668 Fix logic 2023-07-14 14:35:51 -04:00
Doug Burks 9e42fb927d Add RPM-GPG-KEY-oracle 2023-07-14 14:04:36 -04:00
Mike Reeves 87d72e852c Fix logic 2023-07-14 13:45:31 -04:00
m0duspwnens ba2782c5e7 patch x509_v2.py 2023-07-14 13:22:40 -04:00
Mike Reeves 9169fca9f8 Merge branch '2.4/dev' into centos 2023-07-14 13:17:52 -04:00
Mike Reeves 1028fb1346 Fix ISO install 2023-07-14 13:17:20 -04:00
Josh Brower 6846487909 Merge pull request #10765 from Security-Onion-Solutions/2.4/FleetEnhancements
Retry install
2023-07-14 13:07:25 -04:00
Josh Brower 2cc0c4c0ac Automatically Update ES URLs 2023-07-14 12:07:32 -04:00
Mike Reeves 5a5b643155 Fix ISO install 2023-07-14 12:04:30 -04:00
Josh Patterson e97bec2bc1 Merge pull request #10769 from Security-Onion-Solutions/wtinstalltype
Wtinstalltype
2023-07-14 09:22:40 -04:00
Josh Brower 78db64a419 Auto-managed Fleet Server URLs 2023-07-14 08:40:26 -04:00
m0duspwnens 55d32c5b98 merge and fix conflicts 2023-07-14 08:37:03 -04:00
Mike Reeves 333213d1dd Multi OS Support 2023-07-13 18:40:48 -04:00
Mike Reeves 03b16a5582 Multi OS Support 2023-07-13 18:29:02 -04:00
Mike Reeves 20c76abac4 Multi OS Support 2023-07-13 18:27:21 -04:00
m0duspwnens 4158e18675 warn of unsupported os 2023-07-13 16:38:51 -04:00
Mike Reeves f0c391e801 Multi OS Support 2023-07-13 15:05:51 -04:00
weslambert 922a77ac55 Merge pull request #10762 from Security-Onion-Solutions/fix/integration_elasticsearch
Allow Elasticsearch integration policy
2023-07-13 14:42:23 -04:00
weslambert a62f96595c Merge pull request #10763 from Security-Onion-Solutions/fix/strelka_pe
Strelka entropy and pe fixes
2023-07-13 14:42:12 -04:00
Josh Brower fb8a79e112 Retry install 2023-07-13 13:15:01 -04:00
Mike Reeves 782a3eccfe Initial Oracle support 2023-07-13 11:29:18 -04:00
Mike Reeves 2c996fe7ad Initial Oracle support 2023-07-13 10:54:04 -04:00
weslambert 0c177ec923 Allow Elasticsearch integration policy 2023-07-13 10:46:59 -04:00
Wes 41f00c0aa1 Add agent scripts 2023-07-13 14:32:22 +00:00
Mike Reeves 05b30771c5 Initial Oracle support 2023-07-13 10:29:06 -04:00
Wes e3249c8e4c Wrap values in quotes for proper conversion 2023-07-13 14:18:57 +00:00
Mike Reeves a0b6e1076f Initial Oracle support 2023-07-13 10:04:55 -04:00
weslambert 85bb5a327c Fix long vs float for pe version 2023-07-13 09:38:09 -04:00
Mike Reeves 68f5c9965a Initial Oracle support 2023-07-13 09:24:01 -04:00
Mike Reeves 727d0443a2 Merge pull request #10757 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update VERSION
2023-07-13 08:53:35 -04:00
Mike Reeves b915cea52f Initial Oracle support 2023-07-13 08:44:20 -04:00
Mike Reeves d98a1d5ae5 Initial Oracle support 2023-07-13 08:40:09 -04:00
Josh Brower 6f5bb136ff Merge pull request #10753 from Security-Onion-Solutions/2.4/integrationfixes
Update Integration JSON
2023-07-13 07:34:32 -04:00
Mike Reeves 695ec149f1 Initial Oracle support 2023-07-12 15:07:26 -04:00
Mike Reeves 50103aebb3 Initial Oracle support 2023-07-12 14:59:36 -04:00
Mike Reeves 6f81e234cd Initial Oracle support 2023-07-12 14:52:23 -04:00
Mike Reeves 7732435b64 Initial Oracle support 2023-07-12 14:49:59 -04:00
Mike Reeves 2cf36f1e8f Initial Oracle support 2023-07-12 14:12:24 -04:00
Mike Reeves 43d63a3187 Update VERSION 2023-07-12 10:59:12 -04:00
Josh Brower 40294e2762 Update Integration JSON 2023-07-12 08:49:36 -04:00
Mike Reeves a3f79850fe Initial Oracle support 2023-07-10 20:31:49 -04:00
Mike Reeves b9204cbe99 Initial RHEL support 2023-07-10 12:57:59 -04:00
Mike Reeves 6f7914f3c4 Initial RHEL support 2023-07-10 10:18:09 -04:00
Mike Reeves 0c9e230294 Initial RHEL support 2023-07-10 10:14:47 -04:00
Mike Reeves fa1d53a309 Add Debian 2023-07-07 13:00:39 -04:00
Mike Reeves a41b0dbfea Add Debian 2023-07-07 12:59:41 -04:00
Mike Reeves d28375b304 Add Debian 2023-07-07 12:54:47 -04:00
Mike Reeves 07c0b539d7 Add Debian 2023-07-07 12:53:23 -04:00
Mike Reeves d18ebd6e36 Add Debian 2023-07-07 12:52:45 -04:00
Mike Reeves 5a642b151b Add Debian 2023-07-07 12:51:17 -04:00
Mike Reeves 0aa4ea3e87 Add Debian 2023-07-07 12:49:11 -04:00
Mike Reeves efcef90ead Add Debian 2023-07-07 11:37:33 -04:00
Mike Reeves af56aa4f16 Add Debian 2023-07-07 11:35:11 -04:00
Mike Reeves d5257468eb Add Debian 2023-07-07 11:31:18 -04:00
Mike Reeves a3b0db7949 Add Debian 2023-07-07 11:27:42 -04:00
Mike Reeves 5f509eb2d8 Add Debian 2023-07-07 11:24:59 -04:00
Mike Reeves a38d561684 Add Debian 2023-07-07 11:21:47 -04:00
Mike Reeves 4b559ec182 Add Debian 2023-07-07 11:19:36 -04:00
Mike Reeves 0b209d69e5 Add Debian 2023-07-07 11:02:26 -04:00
Josh Patterson 11493cb615 Merge pull request #10697 from Security-Onion-Solutions/jppcentos
Jppcentos
2023-07-05 09:52:01 -04:00
m0duspwnens 0def41f03c Merge remote-tracking branch 'origin/centos' into jppcentos 2023-07-05 08:44:49 -04:00
Mike Reeves 1c191e426f Add some Ubuntu 2023-07-03 16:20:44 -04:00
m0duspwnens de98baaad4 Merge remote-tracking branch 'origin/centos' into jppcentos 2023-07-03 15:46:30 -04:00
m0duspwnens df0e19ff80 update-alternatives for python3.10 2023-07-03 15:44:51 -04:00
Mike Reeves d22d864ba6 Add some Ubuntu 2023-07-03 15:23:56 -04:00
Mike Reeves 898b352af9 Add some Ubuntu 2023-07-03 15:16:12 -04:00
Mike Reeves 76a8e315b7 Add some Ubuntu 2023-07-03 15:12:56 -04:00
Mike Reeves edaf695463 Add some Ubuntu 2023-07-03 15:12:55 -04:00
Mike Reeves 53fcac4a02 Add some Ubuntu 2023-07-03 15:12:55 -04:00
Mike Reeves 44054ba95f Add some Ubuntu 2023-07-03 15:12:54 -04:00
Mike Reeves 10aa77977e Add some Ubuntu 2023-07-03 15:12:54 -04:00
Mike Reeves 8e90658856 Add some Ubuntu 2023-07-03 15:12:54 -04:00
Mike Reeves 965d0543f4 Add some Ubuntu 2023-07-03 15:12:53 -04:00
Mike Reeves e353855855 Add some Ubuntu 2023-07-03 15:12:53 -04:00
Mike Reeves c54217a8cb Add some Ubuntu 2023-07-03 15:12:52 -04:00
Mike Reeves 710b3bac3d fix repo state 2023-07-03 15:12:52 -04:00
Mike Reeves 8a90579df7 fix repo state 2023-07-03 15:12:51 -04:00
Mike Reeves 39c8766914 fix repo state 2023-07-03 15:12:51 -04:00
Mike Reeves 694ea743cc add more OS logic 2023-07-03 15:12:51 -04:00
Mike Reeves 3d9e7d1e97 add fuse 2023-07-03 15:12:50 -04:00
Mike Reeves ca71c00f1c add fuse 2023-07-03 15:12:50 -04:00
Mike Reeves 2f2394dca2 add OS logic 2023-07-03 15:12:49 -04:00
Mike Reeves fee4c20912 add OS logic 2023-07-03 15:12:49 -04:00
Mike Reeves 03342fd477 Add more packages 2023-07-03 15:12:49 -04:00
Mike Reeves 6dbff3b9df Add more packages 2023-07-03 15:12:48 -04:00
Mike Reeves 2f375b89a8 Add more packages 2023-07-03 15:12:48 -04:00
Mike Reeves f67ac80c56 Add more packages 2023-07-03 15:12:47 -04:00
Mike Reeves b06a35099f Add more packages 2023-07-03 15:12:47 -04:00
Mike Reeves 087099b9b6 Fix keys 2023-07-03 15:12:47 -04:00
Mike Reeves 04fe2ca996 Fix gpg things 2023-07-03 15:12:46 -04:00
Mike Reeves bdb5748b44 Fix whiptail logic 2023-07-03 15:12:46 -04:00
Mike Reeves 1cbe5580a6 Fix whiptail logic 2023-07-03 15:12:45 -04:00
Mike Reeves b57674a7cc Fix syntax error 2023-07-03 15:12:45 -04:00
Mike Reeves 53bd7bcc29 Initial Support 2023-07-03 15:12:45 -04:00
Mike Reeves 6787b97c6a Initial Support 2023-07-03 15:12:44 -04:00
m0duspwnens 0d43f9aaf4 add repo noninteractively 2023-07-03 14:23:24 -04:00
Mike Reeves 40540f47bf Add some Ubuntu 2023-07-03 13:51:01 -04:00
Mike Reeves 24e05c9491 Add some Ubuntu 2023-07-03 13:45:04 -04:00
Mike Reeves 02c9465dfb Add some Ubuntu 2023-07-03 12:30:53 -04:00
Mike Reeves a4d484ea47 Add some Ubuntu 2023-07-03 12:00:57 -04:00
Mike Reeves c9d650f4c8 Add some Ubuntu 2023-07-03 11:59:07 -04:00
Mike Reeves ed1d2d0a8b Add some Ubuntu 2023-07-03 10:06:16 -04:00
Mike Reeves 903de330c2 Add some Ubuntu 2023-07-03 09:49:24 -04:00
Mike Reeves 8621352701 Add some Ubuntu 2023-07-03 09:38:23 -04:00
Mike Reeves 564ab105ba Add some Ubuntu 2023-07-02 09:34:14 -04:00
Mike Reeves b637e27c8d Merge branch '2.4/dev' of github.com:Security-Onion-Solutions/securityonion into centos 2023-07-02 09:13:06 -04:00
Mike Reeves 34ab949dfc fix repo state 2023-06-29 08:56:38 -04:00
Mike Reeves 59191008a0 fix repo state 2023-06-29 08:55:00 -04:00
Mike Reeves 17a04a75c9 fix repo state 2023-06-29 08:53:00 -04:00
Mike Reeves 884d669ae9 add more OS logic 2023-06-29 08:48:46 -04:00
Mike Reeves 8a88b16b9e add fuse 2023-06-28 16:16:59 -04:00
Mike Reeves 6545ae588d add fuse 2023-06-28 16:10:23 -04:00
Mike Reeves 5ab54fcfc5 add OS logic 2023-06-28 16:02:25 -04:00
Mike Reeves ae4befe377 add OS logic 2023-06-28 15:57:43 -04:00
Mike Reeves 0c320e3501 Add more packages 2023-06-28 15:46:29 -04:00
Mike Reeves 933f4fa6c8 Add more packages 2023-06-28 15:45:32 -04:00
Mike Reeves d80c88f613 Add more packages 2023-06-28 15:43:56 -04:00
Mike Reeves 6d2e851a43 Add more packages 2023-06-28 15:36:51 -04:00
Mike Reeves 209aae50bc Add more packages 2023-06-28 15:32:01 -04:00
Mike Reeves 6fc988740d Fix keys 2023-06-28 13:46:25 -04:00
Mike Reeves 387ce22385 Fix gpg things 2023-06-27 13:57:53 -04:00
Mike Reeves cc3c28135d Fix whiptail logic 2023-06-27 12:53:18 -04:00
Mike Reeves 6b6724afcf Fix whiptail logic 2023-06-27 12:52:53 -04:00
Mike Reeves c37a179a3c Fix syntax error 2023-06-27 12:46:13 -04:00
Mike Reeves d519369c6f Initial Support 2023-06-26 19:22:33 -04:00
Mike Reeves 883d9560a0 Initial Support 2023-06-26 19:20:40 -04:00
341 changed files with 10604 additions and 45540 deletions
+12 -12
View File
@@ -1,18 +1,18 @@
### 2.4.3-20230711 ISO image built on 2023/07/11
### 2.4.20-20231012 ISO image released on 2023/10/12
### Download and Verify
2.4.3-20230711 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.4.3-20230711.iso
MD5: F481ED39E02A5AF05EB50D319D97A6C7
SHA1: 20F9BAA8F73A44C21A8DFE81F36247BCF33CEDA6
SHA256: D805522E02CD4941641385F6FF86FAAC240DA6C5FD98F78460348632C7C631B0
2.4.20-20231012 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.4.20-20231012.iso
MD5: 7D6ACA843068BA9432B3FF63BFD1EF0F
SHA1: BEF2B906066A1B04921DF0B80E7FDD4BC8ECED5C
SHA256: 5D511D50F11666C69AE12435A47B9A2D30CB3CC88F8D38DC58A5BC0ECADF1BF5
Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.3-20230711.iso.sig
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.20-20231012.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.3-20230711.iso.sig
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.20-20231012.iso.sig
```
Download the ISO image:
```
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.3-20230711.iso
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.20-20231012.iso
```
Verify the downloaded ISO image using the signature file:
```
gpg --verify securityonion-2.4.3-20230711.iso.sig securityonion-2.4.3-20230711.iso
gpg --verify securityonion-2.4.20-20231012.iso.sig securityonion-2.4.20-20231012.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 Thu 12 Oct 2023 01:28:32 PM EDT 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.
+1 -1
View File
@@ -1 +1 @@
20231012
+2 -2
View File
@@ -1,6 +1,6 @@
## Security Onion 2.4 Beta 4
## Security Onion 2.4
Security Onion 2.4 Beta 4 is here!
Security Onion 2.4 is here!
## Screenshots
+1 -1
View File
@@ -1 +1 @@
2.4.3
2.4.20
+7 -5
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') %}
+3 -3
View File
@@ -3,14 +3,14 @@ import subprocess
def check():
os = __grains__['os']
osfam = __grains__['os_family']
retval = 'False'
if os == 'Ubuntu':
if osfam == 'Debian':
if path.exists('/var/run/reboot-required'):
retval = 'True'
elif os == 'Rocky':
elif osfam == 'RedHat':
cmd = 'needs-restarting -r > /dev/null 2>&1'
try:
+3
View File
@@ -188,6 +188,9 @@
'docker_clean'
],
'so-desktop': [
'ssl',
'docker_clean',
'telegraf'
],
}, grain='role') %}
+2 -4
View File
@@ -1,13 +1,11 @@
{%- set DOCKERRANGE = salt['pillar.get']('docker:range', '172.17.0.0/24') %}
{%- set DOCKERBIND = salt['pillar.get']('docker:bip', '172.17.0.1/24') %}
{
"registry-mirrors": [
"https://:5000"
],
"bip": "{{ DOCKERBIND }}",
"bip": "172.17.0.1/24",
"default-address-pools": [
{
"base": "{{ DOCKERRANGE }}",
"base": "172.17.0.0/24",
"size": 24
}
]
+2 -3
View File
@@ -195,7 +195,7 @@ soversionfile:
{% endif %}
{% if GLOBALS.so_model and GLOBALS.so_model not in ['SO2AMI01', 'SO2AZI01', 'SO2GCI01'] %}
{% if GLOBALS.os == 'Rocky' %}
{% if GLOBALS.os == 'OEL' %}
# Install Raid tools
raidpkgs:
pkg.installed:
@@ -217,8 +217,7 @@ so-raid-status:
- month: '*'
- dayweek: '*'
{% endif %}
{% endif %}
{% else %}
{{sls}}_state_not_allowed:
+40 -21
View File
@@ -1,6 +1,6 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% if GLOBALS.os == 'Ubuntu' %}
{% if GLOBALS.os_family == 'Debian' %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
@@ -14,16 +14,24 @@ commonpkgs:
- software-properties-common
- apt-transport-https
- openssl
- netcat
- netcat-openbsd
- sqlite3
- libssl-dev
- procps
- python3-dateutil
- python3-docker
- python3-packaging
- python3-watchdog
- python3-lxml
- git
- rsync
- vim
- tar
- unzip
{% if grains.oscodename != 'focal' %}
- python3-rich
{% endif %}
{% if grains.oscodename == 'focal' %}
# since Ubuntu requires and internet connection we can use pip to install modules
python3-pip:
pkg.installed
@@ -34,34 +42,45 @@ python-rich:
- target: /usr/local/lib/python3.8/dist-packages/
- require:
- pkg: python3-pip
{% endif %}
{% endif %}
{% if GLOBALS.os_family == 'RedHat' %}
remove_mariadb:
pkg.removed:
- name: mariadb-devel
{% elif GLOBALS.os == 'Rocky' %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- wget
- jq
- tcpdump
- httpd-tools
- net-tools
- curl
- sqlite
- mariadb-devel
- python3-dnf-plugin-versionlock
- nmap-ncat
- yum-utils
- curl
- device-mapper-persistent-data
- lvm2
- openssl
- fuse
- fuse-libs
- fuse-overlayfs
- fuse-common
- fuse3
- fuse3-libs
- git
- httpd-tools
- jq
- lvm2
- net-tools
- nmap-ncat
- procps-ng
- python3-docker
- python3-m2crypto
- rsync
- python3-rich
- python3-pyyaml
- python3-watchdog
- python3-packaging
- python3-pyyaml
- python3-rich
- rsync
- sqlite
- tcpdump
- unzip
- wget
- yum-utils
{% endif %}
+2 -1
View File
@@ -19,4 +19,5 @@ soup_manager_scripts:
- source: salt://manager/tools/sbin
- include_pat:
- so-firewall
- soup
- so-repo-sync
- soup
+91 -23
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.8.2"
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"
@@ -145,13 +154,11 @@ check_salt_minion_status() {
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 +168,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
@@ -199,19 +234,20 @@ get_random_value() {
}
gpg_rpm_import() {
if [[ "$OS" == "rocky" ]]; then
if [[ $is_oracle ]]; then
if [[ "$WHATWOULDYOUSAYYAHDOHERE" == "setup" ]]; then
local RPMKEYSLOC="../salt/repo/client/files/rocky/keys"
local RPMKEYSLOC="../salt/repo/client/files/$OS/keys"
else
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/rocky/keys"
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/$OS/keys"
fi
RPMKEYS=('RPM-GPG-KEY-rockyofficial' 'RPM-GPG-KEY-EPEL-9' 'SALT-PROJECT-GPG-PUBKEY-2023.pub' 'docker.pub' 'securityonion.pub')
for RPMKEY in "${RPMKEYS[@]}"; do
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
echo "Importing the security onion GPG key"
rpm --import ../salt/repo/client/files/oracle/keys/securityonion.pub
fi
}
@@ -224,12 +260,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
@@ -395,19 +434,26 @@ salt_minion_count() {
}
set_cron_service_name() {
if [[ "$OS" == "rocky" ]]; then
cron_service_name="crond"
else
cron_service_name="cron"
fi
}
set_os() {
if [ -f /etc/redhat-release ]; then
OS=rocky
if grep -q "Rocky Linux release 9" /etc/redhat-release; then
OS=rocky
OSVER=9
is_rocky=true
elif grep -q "CentOS Stream release 9" /etc/redhat-release; then
OS=centos
OSVER=9
is_centos=true
elif grep -q "Oracle Linux Server release 9" /etc/system-release; then
OS=oel
OSVER=9
is_oracle=true
fi
cron_service_name="crond"
else
OS=ubuntu
is_ubuntu=true
cron_service_name="cron"
fi
}
@@ -416,7 +462,7 @@ set_minionid() {
}
set_palette() {
if [ "$OS" == ubuntu ]; then
if [[ $is_deb ]]; then
update-alternatives --set newt-palette /etc/newt/palette.original
fi
}
@@ -463,6 +509,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
@@ -616,6 +667,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
+233
View File
@@ -0,0 +1,233 @@
#!/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)
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)
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|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
+1 -1
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")
+10
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
+15 -10
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
+48 -28
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
+50 -66
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
+8
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'
+7
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
+333 -201
View File
@@ -1,170 +1,278 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'Rocky' %}
{% if grains.os == 'OEL' %}
desktop_packages:
pkg.installed:
- pkgs:
- ModemManager
- ModemManager-glib
- NetworkManager
- NetworkManager-adsl
- NetworkManager-bluetooth
- NetworkManager-l2tp-gnome
- NetworkManager-libreswan-gnome
- NetworkManager-openconnect-gnome
- NetworkManager-openvpn-gnome
- NetworkManager-ppp
- NetworkManager-pptp-gnome
- NetworkManager-config-server
- NetworkManager-libnm
- NetworkManager-team
- NetworkManager-tui
- NetworkManager-wifi
- NetworkManager-wwan
- PackageKit
- PackageKit-command-not-found
- PackageKit-glib
- PackageKit-gstreamer-plugin
- aajohan-comfortaa-fonts
- abattis-cantarell-fonts
- acl
- alsa-ucm
- alsa-utils
- anaconda
- anaconda-install-env-deps
- anaconda-live
- at
- attr
- PackageKit-gtk3-module
- audit
- audit-libs
- authselect
- authselect-libs
- avahi
- avahi-glib
- avahi-libs
- baobab
- basesystem
- bash
- bash-completion
- bc
- blktrace
- bcache-tools
- bluez
- bluez-libs
- bluez-obexd
- bolt
- bpftool
- bzip2
- bzip2-libs
- c-ares
- ca-certificates
- cairo
- cairo-gobject
- cairomm
- checkpolicy
- chkconfig
- chrome-gnome-shell
- chromium
- chrony
- cinnamon
- cinnamon-control-center
- cinnamon-screensaver
- cockpit
- coreutils
- cpio
- cronie
- crontabs
- crypto-policies
- crypto-policies-scripts
- cryptsetup
- curl
- cyrus-sasl-plain
- dbus
- clutter
- clutter-gst3
- clutter-gtk
- cogl
- color-filesystem
- colord
- colord-gtk
- colord-libs
- conmon
- cups
- cups-client
- cups-filesystem
- cups-filters
- cups-filters-libs
- cups-ipptool
- cups-libs
- cups-pk-helper
- dconf
- dejavu-sans-fonts
- dejavu-sans-mono-fonts
- dejavu-serif-fonts
- dnf
- dnf-plugins-core
- dos2unix
- dosfstools
- dracut-config-rescue
- dracut-live
- desktop-file-utils
- dsniff
- e2fsprogs
- ed
- efi-filesystem
- efibootmgr
- efivar-libs
- eom
- ethtool
- f36-backgrounds-extras-gnome
- f36-backgrounds-gnome
- f37-backgrounds-extras-gnome
- f37-backgrounds-gnome
- evolution-data-server
- evolution-data-server-langpacks
- file
- filesystem
- firewall-config
- firewalld
- fprintd-pam
- git
- glibc
- glibc-all-langpacks
- flac-libs
- flashrom
- flatpak
- flatpak-libs
- flatpak-selinux
- flatpak-session-helper
- fontconfig
- fonts-filesystem
- foomatic
- foomatic-db
- foomatic-db-filesystem
- foomatic-db-ppds
- freetype
- fuse
- fuse-common
- fuse-libs
- fuse-overlayfs
- fuse3
- fuse3-libs
- fwupd
- fwupd-plugin-flashrom
- gcr
- gcr-base
- gd
- gdbm-libs
- gdisk
- gdk-pixbuf2
- gdk-pixbuf2-modules
- gdm
- gedit
- geoclue2
- geoclue2-libs
- geocode-glib
- gettext
- gettext-libs
- ghostscript
- ghostscript-tools-fonts
- ghostscript-tools-printing
- giflib
- glx-utils
- gmp
- gnome-autoar
- gnome-bluetooth
- gnome-bluetooth-libs
- gnome-calculator
- gnome-characters
- gnome-classic-session
- gnome-color-manager
- gnome-control-center
- gnome-control-center-filesystem
- gnome-desktop3
- gnome-disk-utility
- gnome-font-viewer
- gnome-initial-setup
- gnome-keyring
- gnome-keyring-pam
- gnome-logs
- gnome-menus
- gnome-online-accounts
- gnome-remote-desktop
- gnome-screenshot
- gnome-session
- gnome-session-wayland-session
- gnome-session-xsession
- gnome-settings-daemon
- gnome-shell
- gnome-shell-extension-apps-menu
- gnome-shell-extension-background-logo
- gnome-shell-extension-common
- gnome-shell-extension-desktop-icons
- gnome-shell-extension-launch-new-instance
- gnome-shell-extension-places-menu
- gnome-shell-extension-window-list
- gnome-software
- gnome-system-monitor
- gnome-terminal
- gnupg2
- gnome-terminal-nautilus
- gnome-tour
- gnome-user-docs
- gnome-video-effects
- gobject-introspection
- gom
- google-droid-sans-fonts
- google-noto-cjk-fonts-common
- google-noto-emoji-color-fonts
- google-noto-fonts-common
- google-noto-sans-cjk-ttc-fonts
- google-noto-sans-gurmukhi-fonts
- google-noto-sans-sinhala-vf-fonts
- google-noto-serif-cjk-ttc-fonts
- grub2-common
- grub2-pc-modules
- grub2-tools
- grub2-tools-efi
- grub2-tools-extra
- grub2-tools-minimal
- grubby
- gpgme
- gpm-libs
- graphene
- graphite2
- gsettings-desktop-schemas
- gsm
- gsound
- gspell
- gstreamer1
- gstreamer1-plugins-bad-free
- gstreamer1-plugins-base
- gstreamer1-plugins-good
- gstreamer1-plugins-good-gtk
- gstreamer1-plugins-ugly-free
- gtk-update-icon-cache
- gtk2
- gtk3
- gtk4
- gtkmm30
- gtksourceview4
- gutenprint
- gutenprint-cups
- gutenprint-doc
- gutenprint-libs
- gvfs
- gvfs-client
- gvfs-fuse
- gvfs-goa
- gvfs-gphoto2
- gvfs-mtp
- gvfs-smb
- hostname
- hyperv-daemons
- ibus-anthy
- ibus-hangul
- ibus-libpinyin
- ibus-libzhuyin
- ibus-m17n
- ibus-typing-booster
- imsettings-systemd
- initial-setup-gui
- initscripts
- gzip
- harfbuzz
- harfbuzz-icu
- hdparm
- hicolor-icon-theme
- highcontrast-icon-theme
- hplip-common
- hplip-libs
- hunspell
- hunspell-en
- hunspell-en-GB
- hunspell-en-US
- hunspell-filesystem
- hyphen
- ibus
- ibus-gtk3
- ibus-libs
- ibus-setup
- iio-sensor-proxy
- ima-evm-utils
- inih
- initscripts-rename-device
- iproute
- iproute-tc
- iprutils
- iputils
- irqbalance
- iwl100-firmware
- iwl1000-firmware
- iwl105-firmware
- iwl135-firmware
- iwl2000-firmware
- iwl2030-firmware
- iwl3160-firmware
- iwl5000-firmware
- iwl5150-firmware
- iwl6000g2a-firmware
- iwl6000g2b-firmware
- iwl6050-firmware
- iwl7260-firmware
- initscripts-service
- iso-codes
- jansson
- jbig2dec-libs
- jbigkit-libs
- jomolhari-fonts
- jose
- jq
- json-c
- json-glib
- julietaula-montserrat-fonts
- kbd
- kernel
- kernel-modules
- kernel-modules-extra
- kernel-tools
- kexec-tools
- kbd-misc
- khmer-os-system-fonts
- kmod-kvdo
- kpatch
- kpatch-dnf
- ledmon
- less
- langpacks-core-en
- langpacks-core-font-en
- langpacks-en
- lcms2
- libICE
- libSM
- libX11
- libX11-common
- libX11-xcb
- libXau
- libXcomposite
- libXcursor
- libXdamage
- libXdmcp
- libXext
- libXfixes
- libXfont2
- libXft
- libXi
- libXinerama
- libXmu
- libXpm
- libXrandr
- libXrender
- libXres
- libXt
- libXtst
- libXv
- libXxf86dga
- libXxf86vm
- libappstream-glib
- liberation-fonts-common
- liberation-mono-fonts
- liberation-sans-fonts
- liberation-serif-fonts
- libertas-sd8787-firmware
- libstoragemgmt
- libsysfs
- lightdm
- linux-firmware
- logrotate
- libglvnd-gles
- libglvnd-glx
- libglvnd-opengl
- libgnomekbd
- libgomp
- libgphoto2
- lockdev
- lohit-assamese-fonts
- lohit-bengali-fonts
- lohit-devanagari-fonts
@@ -175,136 +283,160 @@ desktop_packages:
- lohit-telugu-fonts
- lshw
- lsof
- lsscsi
- lvm2
- mailcap
- man-db
- man-pages
- mcelog
- mdadm
- memtest86+
- metacity
- mesa-dri-drivers
- mesa-filesystem
- mesa-libEGL
- mesa-libGL
- mesa-libgbm
- mesa-libglapi
- mesa-libxatracker
- mesa-vulkan-drivers
- microcode_ctl
- mlocate
- mobile-broadband-provider-info
- mono-devel
- mpfr
- mpg123-libs
- mtdev
- mtr
- nano
- ncurses
- nemo-fileroller
- nemo-image-converter
- nemo-preview
- nautilus
- nautilus-extensions
- net-tools
- netronome-firmware
- ngrep
- nm-connection-editor
- nmap-ncat
- nvme-cli
- open-vm-tools-desktop
- openssh-clients
- openssh-server
- p11-kit
- paktype-naskh-basic-fonts
- parole
- parted
- passwd
- oracle-backgrounds
- oracle-indexhtml
- oracle-logos
- pcaudiolib
- pciutils
- pinentry
- pinentry-gnome3
- pinfo
- pipewire
- pipewire-alsa
- pipewire-gstreamer
- pipewire-jack-audio-connection-kit
- pipewire-libs
- pipewire-pulseaudio
- pipewire-utils
- pixman
- plymouth
- plymouth-core-libs
- plymouth-graphics-libs
- plymouth-plugin-label
- plymouth-plugin-two-step
- plymouth-scripts
- plymouth-system-theme
- plymouth-theme-spinner
- policycoreutils
- powerline
- ppp
- prefixdevname
- procps-ng
- psacct
- policycoreutils-python-utils
- pt-sans-fonts
- python3-libselinux
- python3-scapy
- qemu-guest-agent
- quota
- realmd
- redshift-gtk
- rocky-backgrounds
- rocky-release
- rootfiles
- rpm
- rpm-plugin-audit
- rsync
- rsyslog
- rsyslog-gnutls
- rsyslog-gssapi
- rsyslog-relp
- salt-minion
- pulseaudio-libs
- pulseaudio-libs-glib2
- pulseaudio-utils
- sane-airscan
- sane-backends
- sane-backends-drivers-cameras
- sane-backends-drivers-scanners
- selinux-policy-targeted
- setroubleshoot
- setup
- sg3_utils
- sg3_utils-libs
- shadow-utils
- sane-backends-libs
- sil-abyssinica-fonts
- sil-nuosu-fonts
- sil-padauk-fonts
- slick-greeter
- slick-greeter-cinnamon
- smartmontools
- smc-meera-fonts
- sos
- snappy
- sound-theme-freedesktop
- soundtouch
- securityonion-networkminer
- speech-dispatcher
- speech-dispatcher-espeak-ng
- speex
- spice-vdagent
- ssldump
- sssd
- sssd-common
- sssd-kcm
- stix-fonts
- strace
- sudo
- switcheroo-control
- symlinks
- syslinux
- systemd
- systemd-udev
- tar
- system-config-printer-libs
- system-config-printer-udev
- taglib
- tcpdump
- tcpflow
- teamd
- thai-scalable-fonts-common
- thai-scalable-waree-fonts
- time
- tmux
- tmux-powerline
- transmission
- totem
- totem-pl-parser
- totem-video-thumbnailer
- tpm2-tools
- tpm2-tss
- tracer-common
- tracker
- tracker-miners
- tree
- tuned
- twolame-libs
- tzdata
- udisks2
- udisks2-iscsi
- udisks2-lvm2
- unzip
- upower
- urw-base35-bookman-fonts
- urw-base35-c059-fonts
- urw-base35-d050000l-fonts
- urw-base35-fonts
- urw-base35-fonts-common
- urw-base35-gothic-fonts
- urw-base35-nimbus-mono-ps-fonts
- urw-base35-nimbus-roman-fonts
- urw-base35-nimbus-sans-fonts
- urw-base35-p052-fonts
- urw-base35-standard-symbols-ps-fonts
- urw-base35-z003-fonts
- usb_modeswitch
- usb_modeswitch-data
- usbutils
- util-linux
- util-linux-user
- usermode
- userspace-rcu
- vdo
- vim-enhanced
- vim-minimal
- vim-powerline
- virt-what
- wget
- vulkan-loader
- wavpack
- webkit2gtk3
- webkit2gtk3-jsc
- webrtc-audio-processing
- whois
- which
- wireless-regdb
- wireplumber
- wireplumber-libs
- wireshark
- woff2
- words
- wpa_supplicant
- wpebackend-fdo
- xdg-dbus-proxy
- xdg-desktop-portal
- xdg-desktop-portal-gnome
- xdg-desktop-portal-gtk
- xdg-user-dirs
- xdg-user-dirs-gtk
- xed
- xfsdump
- xfsprogs
- xreader
- yum
- xdg-utils
- xkeyboard-config
- xorg-x11-drv-evdev
- xorg-x11-drv-fbdev
- xorg-x11-drv-libinput
- xorg-x11-drv-vmware
- xorg-x11-drv-wacom
- xorg-x11-drv-wacom-serial-support
- xorg-x11-server-Xorg
- xorg-x11-server-Xwayland
- xorg-x11-server-common
- xorg-x11-server-utils
- xorg-x11-utils
- xorg-x11-xauth
- xorg-x11-xinit
- xorg-x11-xinit-session
- zip
{% else %}
desktop_packages_os_fail:
test.fail_without_changes:
- comment: 'SO desktop can only be installed on Rocky'
- comment: 'SO desktop can only be installed on Oracle Linux'
{% endif %}
+2 -4
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 == 'Rocky' %}
{% if grains.os == 'OEL' %}
remove_graphical_target:
file.symlink:
@@ -12,6 +10,6 @@ remove_graphical_target:
{% else %}
desktop_trusted-ca_os_fail:
test.fail_without_changes:
- comment: 'SO Desktop can only be installed on Rocky'
- comment: 'SO Desktop can only be installed on Oracle Linux'
{% endif %}
+2 -2
View File
@@ -1,7 +1,7 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'Rocky' %}
{% if GLOBALS.os == 'OEL' %}
{% set global_ca_text = [] %}
{% set global_ca_server = [] %}
@@ -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 %}
+37 -4
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 == 'Rocky' %}
{% if grains.os == 'OEL' %}
include:
- desktop.packages
@@ -14,10 +12,45 @@ 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:
test.fail_without_changes:
- comment: 'SO Desktop can only be installed on Rocky'
- comment: 'SO Desktop can only be installed on Oracle Linux'
{% endif %}
+6 -5
View File
@@ -1,8 +1,6 @@
docker:
bip: '172.17.0.1'
range: '172.17.0.0/24'
sorange: '172.17.1.0/24'
sobip: '172.17.1.1'
range: '172.17.1.0/24'
gateway: '172.17.1.1'
containers:
'so-dockerregistry':
final_octet: 20
@@ -180,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: []
@@ -202,4 +203,4 @@ docker:
final_octet: 99
custom_bind_mounts: []
extra_hosts: []
extra_env: []
extra_env: []
+1 -1
View File
@@ -1,6 +1,6 @@
{% import_yaml 'docker/defaults.yaml' as DOCKERDEFAULTS %}
{% set DOCKER = salt['pillar.get']('docker', DOCKERDEFAULTS.docker, merge=True) %}
{% set RANGESPLIT = DOCKER.sorange.split('.') %}
{% set RANGESPLIT = DOCKER.range.split('.') %}
{% set FIRSTTHREE = RANGESPLIT[0] ~ '.' ~ RANGESPLIT[1] ~ '.' ~ RANGESPLIT[2] ~ '.' %}
{% for container, vals in DOCKER.containers.items() %}
+28 -6
View File
@@ -12,7 +12,28 @@ dockergroup:
- name: docker
- gid: 920
{% if GLOBALS.os == 'Ubuntu' %}
{% if GLOBALS.os_family == 'Debian' %}
{% if grains.oscodename == 'bookworm' %}
dockerheldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.6.21-1
- docker-ce: 5:24.0.3-1~debian.12~bookworm
- docker-ce-cli: 5:24.0.3-1~debian.12~bookworm
- docker-ce-rootless-extras: 5:24.0.3-1~debian.12~bookworm
- hold: True
- update_holds: True
{% elif grains.oscodename == 'jammy' %}
dockerheldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.6.21-1
- docker-ce: 5:24.0.2-1~ubuntu.22.04~jammy
- docker-ce-cli: 5:24.0.2-1~ubuntu.22.04~jammy
- docker-ce-rootless-extras: 5:24.0.2-1~ubuntu.22.04~jammy
- hold: True
- update_holds: True
{% else %}
dockerheldpackages:
pkg.installed:
- pkgs:
@@ -22,14 +43,15 @@ dockerheldpackages:
- docker-ce-rootless-extras: 5:20.10.5~3-0~ubuntu-focal
- hold: True
- update_holds: True
{% endif %}
{% else %}
dockerheldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.6.21-3.1.el9
- docker-ce: 24.0.2-1.el9
- docker-ce-cli: 24.0.2-1.el9
- docker-ce-rootless-extras: 24.0.2-1.el9
- docker-ce: 24.0.4-1.el9
- docker-ce-cli: 24.0.4-1.el9
- docker-ce-rootless-extras: 24.0.4-1.el9
- hold: True
- update_holds: True
{% endif %}
@@ -80,8 +102,8 @@ dockerreserveports:
sos_docker_net:
docker_network.present:
- name: sobridge
- subnet: {{ DOCKER.sorange }}
- gateway: {{ DOCKER.sobip }}
- subnet: {{ DOCKER.range }}
- gateway: {{ DOCKER.gateway }}
- options:
com.docker.network.bridge.name: 'sobridge'
com.docker.network.driver.mtu: '1500'
+16 -17
View File
@@ -1,22 +1,14 @@
docker:
bip:
description: Bind IP for the default docker interface.
gateway:
description: Gateway for the default docker interface.
helpLink: docker.html
advanced: True
range:
description: Default docker IP range for containers.
helpLink: docker.html
advanced: True
sobip:
description: Bind IP for the SO docker interface.
helpLink: docker.html
advanced: True
sorange:
description: IP range for the SO docker containers.
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
@@ -28,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
@@ -46,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
@@ -61,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-manager: *dockerOptions
so-strelka-gatekeeper: *dockerOptions
so-strelka-manager: *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
+1
View File
@@ -9,6 +9,7 @@
prune_images:
cmd.run:
- name: so-docker-prune
- order: last
{% else %}
+16 -1
View File
@@ -28,6 +28,22 @@ 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
- source: salt://elasticagent/tools/sbin_jinja
- user: 949
- group: 939
- file_mode: 755
- template: jinja
# Create config
create-elastic-agent-config:
file.managed:
@@ -37,7 +53,6 @@ create-elastic-agent-config:
- group: 939
- template: jinja
{% else %}
{{sls}}_state_not_allowed:
+15 -3
View File
@@ -31,21 +31,33 @@ 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 %}
{% if DOCKER.containers['so-elastic-agent'].extra_env %}
{% 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
delete_so-elastic-agent_so-status.disabled:
file.uncomment:
+383 -19
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
@@ -11,7 +11,7 @@ outputs:
- 'https://{{ GLOBALS.hostname }}:9200'
username: '{{ ES_USER }}'
password: '{{ ES_PASS }}'
ssl.verification_mode: none
ssl.verification_mode: full
output_permissions: {}
agent:
download:
@@ -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
@@ -0,0 +1,16 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent inspect
{% else %}
/bin/elastic-agent inspect
{% endif %}
@@ -0,0 +1,17 @@
#!/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
{% if grains.role == 'so-heavynode' %}
/usr/sbin/so-stop elastic-agent $1
/usr/sbin/so-start elasticagent $1
{% else %}
service elastic-agent restart
{% endif %}
@@ -5,6 +5,13 @@
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
/usr/sbin/so-restart elastic-agent $1
{% if grains.role == 'so-heavynode' %}
/usr/sbin/so-start elasticagent $1
{% else %}
service elastic-agent start
{% endif %}
+17
View File
@@ -0,0 +1,17 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent status
{% else %}
/bin/elastic-agent status
{% endif %}
@@ -9,4 +9,9 @@
. /usr/sbin/so-common
{% if grains.role == 'so-heavynode' %}
/usr/sbin/so-stop elastic-agent $1
{% else %}
service elastic-agent stop
{% endif %}
@@ -0,0 +1,17 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent version
{% else %}
/bin/elastic-agent version
{% endif %}
+18
View File
@@ -37,6 +37,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:
@@ -45,6 +47,13 @@ eaconfdir:
- group: 939
- makedirs: True
ealogdir:
file.directory:
- name: /opt/so/log/elasticfleet
- user: 947
- group: 939
- makedirs: True
eastatedir:
file.directory:
- name: /opt/so/conf/elastic-fleet/state
@@ -52,6 +61,14 @@ 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
- template: jinja
{% if GLOBALS.role != "so-fleet" %}
eaintegrationsdir:
file.directory:
@@ -81,6 +98,7 @@ ea-integrations-load:
- onchanges:
- file: eaintegration
- file: eadynamicintegration
- file: eapackageupgrade
{% endif %}
{% else %}
+47 -1
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,10 +28,53 @@ elasticfleet:
- stderr
- stdout
packages:
- apache
- auditd
- aws
- azure
- barracuda
- cisco_asa
- cloudflare
- crowdstrike
- darktrace
- elasticsearch
- endpoint
- f5_bigip
- fleet_server
- fim
- fortinet
- fortinet_fortigate
- gcp
- github
- google_workspace
- http_endpoint
- httpjson
- juniper
- juniper_srx
- kafka_log
- lastpass
- log
- m365_defender
- microsoft_defender_endpoint
- microsoft_dhcp
- netflow
- o365
- okta
- osquery_manager
- panw
- pfsense
- redis
- sentinel_one
- sonicwall_firewall
- symantec_endpoint
- system
- tcp
- ti_abusech
- ti_misp
- ti_otx
- ti_recordedfuture
- udp
- windows
- zscaler_zia
- zscaler_zpa
- 1password
+35 -9
View File
@@ -15,15 +15,30 @@
include:
- elasticfleet.config
- elasticfleet.sostatus
- ssl
{% if ELASTICFLEETMERGED.config.server.enable_auto_configuration and grains.role not in ['so-import', 'so-eval'] %}
# 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 %}
#so-elastic-fleet-auto-configure-server-urls:
# cmd.run:
# - name: /usr/sbin/so-elastic-fleet-urls-update
# If enabled, automatically update Fleet Server URLs & ES Connection
{% if ELASTICFLEETMERGED.config.server.enable_auto_configuration and grains.role not in ['so-fleet'] %}
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
{% if grains.role not in ['so-fleet'] %}
so-elastic-fleet-auto-configure-elasticsearch-urls:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-es-url-update
- retry: True
{% endif %}
{% if SERVICETOKEN != '' %}
@@ -50,8 +65,10 @@ so-elastic-fleet:
- {{ BINDING }}
{% endfor %}
- binds:
- /etc/pki:/etc/pki:ro
#- /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 %}
- {{ BIND }}
@@ -59,25 +76,34 @@ so-elastic-fleet:
{% endif %}
- environment:
- FLEET_SERVER_ENABLE=true
- FLEET_URL=https://{{ GLOBALS.node_ip }}:8220
- FLEET_URL=https://{{ GLOBALS.hostname }}:8220
- FLEET_SERVER_ELASTICSEARCH_HOST=https://{{ GLOBALS.manager }}:9200
- FLEET_SERVER_SERVICE_TOKEN={{ SERVICETOKEN }}
- FLEET_SERVER_POLICY_ID=FleetServer_{{ GLOBALS.hostname }}
- FLEET_SERVER_ELASTICSEARCH_CA=/etc/pki/tls/certs/intca.crt
- FLEET_SERVER_CERT=/etc/pki/elasticfleet-server.crt
- FLEET_SERVER_CERT_KEY=/etc/pki/elasticfleet-server.key
- 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
- 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-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:
@@ -13,7 +13,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -14,7 +14,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -5,17 +5,16 @@
"package": {
"name": "endpoint",
"title": "Elastic Defend",
"version": ""
"version": "8.8.0"
},
"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 @@
}
}
}]
}
}
@@ -13,9 +13,14 @@
"system.auth": {
"enabled": true,
"vars": {
"ignore_older": "72h",
"paths": [
"/var/log/auth.log*",
"/var/log/secure*"
],
"preserve_original_event": false,
"tags": [
"system-auth"
]
}
},
@@ -24,34 +29,49 @@
"vars": {
"paths": [
"/var/log/messages*",
"/var/log/syslog*"
]
"/var/log/syslog*",
"/var/log/system*"
],
"tags": [],
"ignore_older": "72h"
}
}
}
},
"system-winlog": {
"enabled": true,
"vars": {
"preserve_original_event": false
},
"streams": {
"system.application": {
"enabled": true,
"vars": {
"preserve_original_event": false,
"ignore_older": "72h",
"language": 0,
"tags": []
}
},
"system.security": {
"enabled": true,
"vars": {
"preserve_original_event": false,
"ignore_older": "72h",
"language": 0,
"tags": []
}
},
"system.system": {
"enabled": true,
"vars": {
"preserve_original_event": false,
"ignore_older": "72h",
"language": 0,
"tags": []
}
}
}
},
"system-system/metrics": {
"enabled": false
}
},
"system-system/metrics": {
"enabled": false
}
}
}
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -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"
]
}
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -11,7 +11,7 @@
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
@@ -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
}
}
}
}
}
@@ -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"
}
}
}
}
}
}
@@ -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": {
@@ -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"
}
}
}
}
}
}
@@ -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"
}
}
}
}
}
}
@@ -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"
}
}
}
}
}
}
@@ -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"
}
}
}
}
}
}
@@ -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"
}
}
}
}
}
}
@@ -4,7 +4,7 @@
"name": "system",
"version": ""
},
"name": "system-grid-nodes",
"name": "system-grid-nodes_heavy",
"namespace": "default",
"inputs": {
"system-logfile": {
+2
View File
@@ -14,12 +14,14 @@ run_installer:
- name: salt://elasticfleet/files/so_agent-installers/so-elastic-agent_linux_amd64
- cwd: /opt/so
- args: -token={{ GRIDNODETOKENGENERAL }}
- retry: True
{% else %}
run_installer:
cmd.script:
- name: salt://elasticfleet/files/so_agent-installers/so-elastic-agent_linux_amd64
- cwd: /opt/so
- args: -token={{ GRIDNODETOKENHEAVY }}
- retry: True
{% endif %}
{% endif %}
+2 -1
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
+26 -2
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
@@ -56,9 +73,15 @@ elastic_fleet_package_version_check() {
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 +115,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"
}
@@ -0,0 +1,27 @@
#!/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
if [ "$1" = "--force" ]; then
printf "\n\nIntegration $NAME exists - Updating integration\n"
elastic_fleet_integration_update "$INTEGRATION_ID" "@$INTEGRATION"
else
printf "\n\nIntegration $NAME exists - Not updating - rerun with --force to force the update.\n"
fi
else
printf "\n\nIntegration does not exist - Creating integration\n"
elastic_fleet_integration_create "@$INTEGRATION"
fi
done
+10 -7
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"
@@ -35,9 +39,7 @@ if [ ! -f /opt/so/state/eaintegrations.txt ]; then
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
elastic_fleet_integration_create "@$INTEGRATION"
fi
done
if [[ "$RETURN_CODE" != "1" ]]; then
@@ -66,3 +68,4 @@ else
exit $RETURN_CODE
fi
+15
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
@@ -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}
@@ -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
@@ -0,0 +1,16 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent inspect
{% else %}
/bin/elastic-agent inspect
{% endif %}
@@ -0,0 +1,16 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent service elastic-agent restart
{% else %}
service elastic-agent restart
{% endif %}
+17
View File
@@ -0,0 +1,17 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent service elastic-agent start
{% else %}
service elastic-agent start
{% endif %}
+17
View File
@@ -0,0 +1,17 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent status
{% else %}
/bin/elastic-agent status
{% endif %}
+17
View File
@@ -0,0 +1,17 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent service elastic-agent stop
{% else %}
service elastic-agent stop
{% endif %}
@@ -0,0 +1,17 @@
#!/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
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent version
{% else %}
/bin/elastic-agent version
{% endif %}
@@ -0,0 +1,64 @@
# 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.
{% from 'vars/globals.map.jinja' import GLOBALS %}
. /usr/sbin/so-common
# Only run on Managers
if ! is_manager_node; then
printf "Not a Manager Node... Exiting"
exit 0
fi
function update_es_urls() {
# 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"
}
# Get current list of Fleet Elasticsearch URLs
RAW_JSON=$(curl -K /opt/so/conf/elasticsearch/curl.config 'http://localhost:5601/api/fleet/outputs/so-manager_elasticsearch')
# Check to make sure that the server responded with good data - else, bail from script
CHECKSUM=$(jq -r '.item.id' <<< "$RAW_JSON")
if [ "$CHECKSUM" != "so-manager_elasticsearch" ]; then
printf "Failed to query for current Fleet Server Elasticsearch URLs..."
exit 1
fi
# Get the current list of Fleet Server Elasticsearch & hash them
CURRENT_LIST=$(jq -c -r '.item.hosts' <<< "$RAW_JSON")
CURRENT_HASH=$(sha1sum <<< "$CURRENT_LIST" | awk '{print $1}')
# Create array & add initial elements
NEW_LIST=("https://{{ GLOBALS.hostname }}:9200")
# Sort & hash the new list of Fleet Elasticsearch URLs
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 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"
exit 0
else
printf "\nHashes don't match - update needed.\n"
printf "Current List: $CURRENT_LIST\nNew List: $NEW_LIST_JSON\n"
update_es_urls
fi
@@ -2,7 +2,15 @@
# 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
# Only run on Managers
if ! is_manager_node; then
printf "Not a Manager Node... Exiting"
exit 0
fi
function update_logstash_outputs() {
# Generate updated JSON payload
@@ -27,15 +35,20 @@ CURRENT_LIST=$(jq -c -r '.item.hosts' <<< "$RAW_JSON")
CURRENT_HASH=$(sha1sum <<< "$CURRENT_LIST" | awk '{print $1}')
# Create array & add initial elements
if [ "{{ GLOBALS.manager_ip }}" = "{{ GLOBALS.url_base }}" ]; then
if [ "{{ GLOBALS.hostname }}" = "{{ GLOBALS.url_base }}" ]; then
NEW_LIST=("{{ GLOBALS.url_base }}:5055")
else
NEW_LIST=("{{ GLOBALS.url_base }}:5055" "{{ GLOBALS.manager_ip }}:5055")
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
@@ -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
@@ -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
@@ -6,6 +6,8 @@
# this file except in compliance with the Elastic License 2.0.
{% from 'vars/globals.map.jinja' import GLOBALS %}
INTCA=/etc/pki/tls/certs/intca.crt
. /usr/sbin/so-elastic-fleet-common
printf "\n### Create ES Token ###\n"
@@ -13,7 +15,7 @@ ESTOKEN=$(curl -K /opt/so/conf/elasticsearch/curl.config -L -X POST "localhost:5
### Create Outputs & Fleet URLs ###
printf "\nAdd Manager Elasticsearch Output...\n"
ESCACRT=$(openssl x509 -in /etc/pki/tls/certs/intca.crt)
ESCACRT=$(openssl x509 -in $INTCA)
JSON_STRING=$( jq -n \
--arg ESCACRT "$ESCACRT" \
'{"name":"so-manager_elasticsearch","id":"so-manager_elasticsearch","type":"elasticsearch","hosts":["https://{{ GLOBALS.manager_ip }}:9200","https://{{ GLOBALS.manager }}:9200"],"is_default":true,"is_default_monitoring":true,"config_yaml":"","ssl":{"certificate_authorities": [$ESCACRT]}}' )
@@ -22,9 +24,9 @@ printf "\n\n"
printf "\nCreate Logstash Output Config if node is not an Import or Eval install\n"
{% if grains.role not in ['so-import', 'so-eval'] %}
LOGSTASHCRT=$(openssl x509 -in /etc/pki/elasticfleet-agent.crt)
LOGSTASHKEY=$(openssl rsa -in /etc/pki/elasticfleet-agent.key)
LOGSTASHCA=$(openssl x509 -in /etc/pki/tls/certs/intca.crt)
LOGSTASHCRT=$(openssl x509 -in /etc/pki/elasticfleet-logstash.crt)
LOGSTASHKEY=$(openssl rsa -in /etc/pki/elasticfleet-logstash.key)
LOGSTASHCA=$(openssl x509 -in $INTCA)
JSON_STRING=$( jq -n \
--arg LOGSTASHCRT "$LOGSTASHCRT" \
--arg LOGSTASHKEY "$LOGSTASHKEY" \
@@ -35,12 +37,12 @@ curl -K /opt/so/conf/elasticsearch/curl.config -L -X POST "localhost:5601/api/fl
printf "\n\n"
{%- endif %}
# Add Manager IP & URL Base to Fleet Host URLs
# Add Manager Hostname & URL Base to Fleet Host URLs
printf "\nAdd SO-Manager Fleet URL\n"
if [ "{{ GLOBALS.manager_ip }}" = "{{ GLOBALS.url_base }}" ]; then
if [ "{{ GLOBALS.hostname }}" = "{{ GLOBALS.url_base }}" ]; then
JSON_STRING=$( jq -n '{"id":"grid-default","name":"grid-default","is_default":true,"host_urls":["https://{{ GLOBALS.url_base }}:8220"]}')
else
JSON_STRING=$( jq -n '{"id":"grid-default","name":"grid-default","is_default":true,"host_urls":["https://{{ GLOBALS.url_base }}:8220", "https://{{ GLOBALS.manager_ip }}:8220"]}')
JSON_STRING=$( jq -n '{"id":"grid-default","name":"grid-default","is_default":true,"host_urls":["https://{{ GLOBALS.url_base }}:8220", "https://{{ GLOBALS.hostname }}:8220"]}')
fi
## This array replaces whatever URLs are currently configured
@@ -0,0 +1,80 @@
# 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.
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% from 'elasticfleet/map.jinja' import ELASTICFLEETMERGED %}
. /usr/sbin/so-common
# Only run on Managers
if ! is_manager_node; then
printf "Not a Manager Node... Exiting"
exit 0
fi
function update_fleet_urls() {
# Generate updated JSON payload
JSON_STRING=$(jq -n --arg UPDATEDLIST $NEW_LIST_JSON '{"name":"grid-default","is_default":true,"host_urls": $UPDATEDLIST}')
# Update Fleet Server URLs
curl -K /opt/so/conf/elasticsearch/curl.config -L -X PUT "localhost:5601/api/fleet/fleet_server_hosts/grid-default" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d "$JSON_STRING"
}
# Get current list of Fleet Server URLs
RAW_JSON=$(curl -K /opt/so/conf/elasticsearch/curl.config 'http://localhost:5601/api/fleet/fleet_server_hosts/grid-default')
# Check to make sure that the server responded with good data - else, bail from script
CHECKSUM=$(jq -r '.item.id' <<< "$RAW_JSON")
if [ "$CHECKSUM" != "grid-default" ]; then
printf "Failed to query for current Fleet Server URLs..."
exit 1
fi
# Get the current list of Fleet Server URLs & hash them
CURRENT_LIST=$(jq -c -r '.item.host_urls' <<< "$RAW_JSON")
CURRENT_HASH=$(sha1sum <<< "$CURRENT_LIST" | awk '{print $1}')
# Create array & add initial elements
if [ "{{ GLOBALS.hostname }}" = "{{ GLOBALS.url_base }}" ]; then
NEW_LIST=("https://{{ GLOBALS.url_base }}:8220")
else
NEW_LIST=("https://{{ GLOBALS.url_base }}:8220" "https://{{ GLOBALS.hostname }}:8220")
fi
# 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)
LOGSTASHNODES=$(salt-call --out=json pillar.get logstash:nodes | jq '.local')
# Query for Fleet Nodes & add them to the list (Hostname)
if grep -q "fleet" <<< $LOGSTASHNODES; then
readarray -t FLEETNODES < <(jq -r ' .fleet | keys_unsorted[]' <<< $LOGSTASHNODES)
for NODE in "${FLEETNODES[@]}"
do
NEW_LIST+=("https://$NODE:8220")
done
fi
# Sort & hash the new list of Fleet Server URLs
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 & 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"
exit 0
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
+1 -1
View File
@@ -21,7 +21,7 @@
{% 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']}) %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.node.update({'roles': ['master','data','remote_cluster_client','transform']}) %}
{% else %}
{% do ELASTICSEARCHDEFAULTS.elasticsearch.config.node.update({'roles': ['master', 'data_hot', 'remote_cluster_client']}) %}
{% endif %}
File diff suppressed because it is too large Load Diff
+2 -1
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,6 +108,7 @@ escomponenttemplates:
- source: salt://elasticsearch/templates/component
- user: 930
- group: 939
- clean: True
- onchanges_in:
- cmd: so-elasticsearch-templates
@@ -72,8 +72,16 @@
{ "set": { "ignore_failure": true, "field": "event.module", "value": "elastic_agent" } },
{ "split": { "if": "ctx.event?.dataset != null && ctx.event.dataset.contains('.')", "field": "event.dataset", "separator": "\\.", "target_field": "module_temp" } },
{ "set": { "if": "ctx.module_temp != null", "override": true, "field": "event.module", "value": "{{module_temp.0}}" } },
{ "split": { "if": "ctx.event?.dataset != null && ctx.event.dataset.contains('.')", "field": "event.dataset", "separator": "\\.", "target_field": "dataset_tag_temp" } },
{ "append": { "if": "ctx.dataset_tag_temp != null", "field": "tags", "value": "{{dataset_tag_temp.1}}" } },
{ "gsub": { "if": "ctx.event?.dataset != null && ctx.event.dataset.contains('.')", "field": "event.dataset", "pattern": "^[^.]*.", "replacement": "", "target_field": "dataset_tag_temp" } },
{ "append": { "if": "ctx.dataset_tag_temp != null", "field": "tags", "value": "{{dataset_tag_temp}}" } },
{ "set": { "if": "ctx.network?.direction == 'egress'", "override": true, "field": "network.initiated", "value": "true" } },
{ "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": [
+2 -3
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 } }
]
+2 -1
View File
@@ -63,7 +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?.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 } },
+235 -24
View File
@@ -46,28 +46,37 @@ 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_settings:
global_overrides:
index_template:
template:
settings:
index:
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
so-logs: &indexSettings
index_sorting:
description: Sorts the index by event time, at the cost of additional processing resource consumption.
global: True
helpLink: elasticsearch.html
index_template:
index_patterns:
description: Patterns for matching multiple indices or tables.
forceType: "[]string"
multiline: True
global: 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
helpLink: elasticsearch.html
mapping:
total_fields:
limit:
@@ -75,17 +84,59 @@ elasticsearch:
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
mappings:
_meta:
package:
name:
description: Meta settings for the mapping.
global: True
helpLink: elasticsearch.html
managed_by:
description: Meta settings for the mapping.
global: True
helpLink: elasticsearch.html
managed:
description: Meta settings for the mapping.
forcedType: bool
global: True
helpLink: elasticsearch.html
composed_of:
description: The index template is composed of these component templates.
forcedType: "[]string"
global: True
helpLink: elasticsearch.html
priority:
description: The priority of the index template.
forcedType: int
global: True
helpLink: elasticsearch.html
data_stream:
hidden:
description: Hide the data stream.
forcedType: bool
global: True
helpLink: elasticsearch.html
allow_custom_routing:
description: Allow custom routing for the data stream.
forcedType: bool
global: True
helpLink: elasticsearch.html
policy:
phases:
hot:
@@ -97,6 +148,7 @@ elasticsearch:
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:
@@ -117,19 +169,178 @@ elasticsearch:
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
helpLink: elasticsearch.html
delete:
min_age:
description: Minimum age of index. This determines when the index should be deleted.
global: True
helpLink: elastic
helpLink: elasticsearch.html
_meta:
package:
name:
description: Meta settings for the mapping.
global: True
helpLink: elasticsearch.html
managed_by:
description: Meta settings for the mapping.
global: True
helpLink: elasticsearch.html
managed:
description: Meta settings for the mapping.
forcedType: bool
global: 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
+27 -8
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 %}
@@ -4,46 +4,6 @@
"ecs_version": "1.12.2"
},
"template": {
"settings": {
"analysis": {
"analyzer": {
"es_security_analyzer": {
"type": "custom",
"char_filter": [
"whitespace_no_way"
],
"filter": [
"lowercase",
"trim"
],
"tokenizer": "keyword"
}
},
"char_filter": {
"whitespace_no_way": {
"type": "pattern_replace",
"pattern": "(\\s)+",
"replacement": "$1"
}
},
"filter": {
"path_hierarchy_pattern_filter": {
"type": "pattern_capture",
"preserve_original": true,
"patterns": [
"((?:[^\\\\]*\\\\)*)(.*)",
"((?:[^/]*/)*)(.*)"
]
}
},
"tokenizer": {
"path_tokenizer": {
"type": "path_hierarchy",
"delimiter": "\\"
}
}
}
},
"mappings": {
"properties": {
"agent": {
@@ -52,69 +12,33 @@
"properties": {
"original": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"security": {
"type": "text",
"analyzer": "es_security_analyzer"
}
}
"type": "keyword"
}
}
},
"ephemeral_id": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"security": {
"type": "text",
"analyzer": "es_security_analyzer"
}
}
"type": "keyword"
},
"id": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"security": {
"type": "text",
"analyzer": "es_security_analyzer"
}
}
"type": "keyword"
},
"name": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"security": {
"type": "text",
"analyzer": "es_security_analyzer"
}
}
"type": "keyword"
},
"type": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"security": {
"type": "text",
"analyzer": "es_security_analyzer"
}
}
"type": "keyword"
},
"version": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"security": {
"type": "text",
"analyzer": "es_security_analyzer"
}
}
"type": "keyword"
}
}
}
}
}
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
@@ -4,46 +4,6 @@
"ecs_version": "1.12.2"
},
"template": {
"settings": {
"analysis": {
"analyzer": {
"es_security_analyzer": {
"type": "custom",
"char_filter": [
"whitespace_no_way"
],
"filter": [
"lowercase",
"trim"
],
"tokenizer": "keyword"
}
},
"char_filter": {
"whitespace_no_way": {
"type": "pattern_replace",
"pattern": "(\\s)+",
"replacement": "$1"
}
},
"filter": {
"path_hierarchy_pattern_filter": {
"type": "pattern_capture",
"preserve_original": true,
"patterns": [
"((?:[^\\\\]*\\\\)*)(.*)",
"((?:[^/]*/)*)(.*)"
]
}
},
"tokenizer": {
"path_tokenizer": {
"type": "path_hierarchy",
"delimiter": "\\"
}
}
}
},
"mappings": {
"properties": {
"@timestamp": {
@@ -57,15 +17,9 @@
},
"tags": {
"ignore_above": 1024,
"type": "keyword",
"fields": {
"security": {
"type": "text",
"analyzer": "es_security_analyzer"
}
}
"type": "keyword"
}
}
}
}
}
}
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff

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