Compare commits

..

1692 Commits

Author SHA1 Message Date
Doug Burks
39f32a6e13 Merge pull request #5185 from Security-Onion-Solutions/dev
2.3.70
2021-08-19 06:22:57 -04:00
Mike Reeves
8e9f95652d Merge pull request #5188 from Security-Onion-Solutions/2.3.70
2.3.70 sigs
2021-08-18 09:37:51 -04:00
Mike Reeves
30489e4117 2.3.70 sigs 2021-08-18 09:35:48 -04:00
Mike Reeves
9dc9f10003 Merge pull request #5174 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update so-functions
2021-08-17 10:46:17 -04:00
Mike Reeves
1ced05c1d2 Update so-functions 2021-08-17 10:44:44 -04:00
Mike Reeves
41b246b8b3 Merge pull request #5169 from Security-Onion-Solutions/agrepo
Fix repo creation in airgap
2021-08-16 13:08:21 -04:00
Mike Reeves
a12f19c533 Fix repo creation in airgap 2021-08-16 13:00:52 -04:00
Josh Patterson
f1c91555ae Merge pull request #5166 from Security-Onion-Solutions/issue/2806
Issue/2806
2021-08-16 09:08:27 -04:00
Jason Ertel
e39de8c7bc Merge pull request #5089 from Ron89/feature/thehive-userupdate
add user password update command
2021-08-15 09:36:35 -04:00
Mike Reeves
d0e312ec42 Merge pull request #5149 from Security-Onion-Solutions/gridraid
Grid Fixes
2021-08-13 18:42:34 -04:00
Mike Reeves
e492833453 Grid Fixes 2021-08-13 18:32:55 -04:00
Mike Reeves
9beacacd44 Grid Fixes 2021-08-13 18:26:17 -04:00
Mike Reeves
aad14b2461 Grid Fixes 2021-08-13 18:22:02 -04:00
m0duspwnens
4955b552df remove - 2021-08-13 17:42:37 -04:00
Mike Reeves
55e8a777d4 Merge pull request #5147 from Security-Onion-Solutions/issue/4674
keep the list unique
2021-08-13 17:39:54 -04:00
m0duspwnens
a98ed282c0 keep the list unique 2021-08-13 17:38:45 -04:00
Mike Reeves
7504b1cb2e Merge pull request #5146 from Security-Onion-Solutions/gridraid
Grid Fixes
2021-08-13 16:25:31 -04:00
m0duspwnens
afab1cb1e6 Merge remote-tracking branch 'remotes/origin/dev' into issue/2806 2021-08-13 16:19:57 -04:00
m0duspwnens
cd0b9bbe4a dont always add curator to so-status 2021-08-13 16:19:41 -04:00
Mike Reeves
3ea29e77a9 Merge pull request #5145 from Security-Onion-Solutions/bugfix/so-logscan-soup-pull
Remove so-logscan from so-image-common arrays
2021-08-13 13:59:10 -04:00
William Wernert
fb4c2c35e3 Remove so-logscan from so-image-common arrays 2021-08-13 13:58:08 -04:00
HE Chong
81ccce8659 negative case where username doesn't exist now report exception as expected 2021-08-13 23:00:11 +08:00
HE Chong
0d5e3771f5 modify user password update script for theHive, keep it in consistency with Fleet counterpart. 2021-08-13 21:52:19 +08:00
HE Chong
2030ef65f1 add user password update script for Fleet 2021-08-13 21:50:24 +08:00
HE Chong
b6c361f83d add user password update script for The Hive 2021-08-13 20:54:35 +08:00
Mike Reeves
9404cb635d Grid Fixes 2021-08-13 08:48:47 -04:00
William Wernert
da53b39c15 Merge pull request #5142 from Security-Onion-Solutions/foxtrot
Add image pull script to allow so-learn to pull missing images, update wording on several whiptail prompts
2021-08-12 16:09:55 -04:00
William Wernert
86569b0599 Make sbin script permissions consistent 2021-08-12 16:05:54 -04:00
William Wernert
45aa2f72cb Merge branch 'dev' into foxtrot 2021-08-12 15:45:12 -04:00
Mike Reeves
06b7434ca2 Merge pull request #5141 from Security-Onion-Solutions/kilo 2021-08-12 15:05:14 -04:00
Jason Ertel
258cebda6e Correct identity update payload to not have unsupported fields 2021-08-12 15:01:45 -04:00
Jason Ertel
0cca43c4bd Merge branch 'dev' into kilo 2021-08-12 15:01:12 -04:00
William Wernert
bf40a1038e Whiptail changes
* Update wording of ip mask prompt + so-allow question for clarity
* Remove old ip+mask prompts
2021-08-12 10:32:27 -04:00
William Wernert
3312a66e75 Fix indent 2021-08-11 16:37:22 -04:00
William Wernert
4a31d6b3bc Specify images are also verified 2021-08-11 16:35:33 -04:00
William Wernert
64dfc6e191 Fix pull logic and properly hide output 2021-08-11 16:33:45 -04:00
William Wernert
95bd7f9861 Merge branch 'dev' into foxtrot 2021-08-11 13:47:38 -04:00
William Wernert
983549711c Pull image if missing when enabling module in so-learn 2021-08-11 13:47:31 -04:00
Josh Patterson
5922dbdf22 Merge pull request #5120 from Security-Onion-Solutions/issue/4674
Issue/4674
2021-08-10 12:29:51 -04:00
m0duspwnens
9e48a5b57b fix the pillar.get 2021-08-10 10:29:29 -04:00
m0duspwnens
3c1114403e fix the pillar.get 2021-08-10 10:25:05 -04:00
m0duspwnens
8d2f614af6 Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-08-10 10:16:30 -04:00
m0duspwnens
1415de858c delete old dashboard folders via api - https://github.com/Security-Onion-Solutions/securityonion/issues/4674 2021-08-10 10:16:14 -04:00
Josh Patterson
59e9fddf18 Merge pull request #5109 from Security-Onion-Solutions/issue/4674
remove old dashboard dirs
2021-08-09 13:37:45 -04:00
m0duspwnens
ad3b6cf629 remove old dashboard dirs - https://github.com/Security-Onion-Solutions/securityonion/issues/4674 2021-08-09 13:34:02 -04:00
William Wernert
b12e2eded5 Merge pull request #5086 from Security-Onion-Solutions/foxtrot
Add conditional check for logscan log + add log folder to logrotate config
2021-08-06 11:32:23 -04:00
William Wernert
26030d83eb Merge branch 'dev' into foxtrot 2021-08-06 09:44:10 -04:00
William Wernert
3b01f6431e Add logscan to logrotate config 2021-08-06 09:43:58 -04:00
Jason Ertel
a646867593 Merge branch 'dev' into kilo 2021-08-06 09:14:45 -04:00
Josh Patterson
768e61e11a Merge pull request #5080 from Security-Onion-Solutions/issue/2806
Issue/2806
2021-08-05 12:02:42 -04:00
m0duspwnens
e72ad9eb5a allow curator 2021-08-05 11:54:49 -04:00
m0duspwnens
ac4faf673d add so-manager to curator.yml 2021-08-05 11:11:59 -04:00
William Wernert
dd1769fbef Only check for logscan on manager-type and import 2021-08-05 11:02:09 -04:00
m0duspwnens
853a986082 add reqs to docker add manager to so-curator-closed-delete-delte 2021-08-05 10:36:18 -04:00
m0duspwnens
727a3742f5 run only on manager if truecluster enabled 2021-08-05 09:50:51 -04:00
Doug Burks
478a0b6a3f Merge pull request #5075 from Security-Onion-Solutions/fix/typo
fix typo
2021-08-05 07:43:46 -04:00
Doug Burks
771688a70f fix typo 2021-08-05 07:34:07 -04:00
Josh Patterson
40fa549353 Merge pull request #5066 from Security-Onion-Solutions/issue/2806
dont run curator on searchnode if truecluster is enabled
2021-08-04 15:01:11 -04:00
Jason Ertel
84fdc1e690 Merge pull request #5057 from Security-Onion-Solutions/bravo
Several Suricata things
2021-08-04 12:26:11 -04:00
Mike Reeves
71bbb41b5f Merge branch 'dev' into bravo 2021-08-04 10:57:10 -04:00
m0duspwnens
52cb72ba67 dont run curator on searchnode if truecluster is enabled - https://github.com/Security-Onion-Solutions/securityonion/issues/2806 2021-08-04 09:40:34 -04:00
William Wernert
54a3b754e0 Merge pull request #5050 from Security-Onion-Solutions/foxtrot
Add logscan state, related pipeline config, and initial so-learn script
2021-08-03 16:30:07 -04:00
William Wernert
2bc88e7750 Remove learn from allowed states for helixsensor 2021-08-03 15:29:37 -04:00
William Wernert
ef59cb47dd Use print_err function 2021-08-03 15:26:57 -04:00
William Wernert
9e5d3aa286 Fix removed root check in so-rule 2021-08-03 15:25:53 -04:00
William Wernert
25bf25eae6 Allowed states remove typo'd logscan 2021-08-03 15:24:32 -04:00
William Wernert
24f5fa66f3 Merge branch 'dev' into foxtrot 2021-08-03 13:02:29 -04:00
Mike Reeves
1aeb2d7d4f Merge pull request #5040 from Security-Onion-Solutions/kilo
Condense cloud automations
2021-08-03 10:59:28 -04:00
Jason Ertel
ee176f5bfd Condense cloud automations 2021-08-03 07:40:50 -04:00
Jason Ertel
eb093b8e6c Condense cloud automations 2021-08-02 21:52:42 -04:00
Jason Ertel
f88fa6e3b2 Condense cloud automations 2021-08-02 21:51:26 -04:00
Jason Ertel
724f7d4f3d Merge pull request #5036 from Security-Onion-Solutions/kilo
Condense cloud automations
2021-08-02 18:04:05 -04:00
Jason Ertel
19816d8814 Condense cloud automations 2021-08-02 17:55:27 -04:00
William Wernert
d3b170c6df Add logscan automation file + fix enable command in setup 2021-08-02 12:37:37 -04:00
William Wernert
757091beeb Add log_level to logscan.conf 2021-08-02 10:35:39 -04:00
William Wernert
8a49039b85 Only append source.ip to logscan.source.ips if it's been created 2021-08-02 09:50:49 -04:00
William Wernert
4f39cd1d7f Add logscan dynamic object to so-common template mappings 2021-07-30 16:02:02 -04:00
William Wernert
2a6277c0c3 Fix field names in logscan pipeline 2021-07-30 15:46:39 -04:00
William Wernert
33bd6aed20 Fix logscan pipeline on eval
* Rename logscan pipeline to logscan.alert
* Add module to indices array in filebeat.yml
2021-07-30 14:41:15 -04:00
William Wernert
b9980c9d30 Fix pipeline name 2021-07-30 13:09:09 -04:00
William Wernert
01bb94514c Correct mod_so_status to only act on single string 2021-07-30 11:05:48 -04:00
William Wernert
d71967ea1d Fix incorrect writing of so-status.conf 2021-07-30 10:28:39 -04:00
William Wernert
0b06d0bfdb Merge branch 'dev' into foxtrot 2021-07-29 15:15:25 -04:00
William Wernert
b2a83018ba Remove or run logscan based on enabled bool 2021-07-29 15:14:54 -04:00
William Wernert
ba265d94f4 Change default value in learn init to a dict where approriate 2021-07-29 15:14:28 -04:00
Mike Reeves
af7b314cfe Merge pull request #4993 from Security-Onion-Solutions/kilo
Merge 2.3.61 MSEARCH Hotfix into dev
2021-07-29 15:02:51 -04:00
Jason Ertel
4c6447a3da merge 2.3.61 MSEARCH hotfix into dev 2021-07-29 15:00:58 -04:00
William Wernert
b30f771fa2 Set write_needed flag correctly, include newline in so-status.conf string 2021-07-29 14:59:26 -04:00
Mike Reeves
837c0402a0 Merge pull request #4989 from Security-Onion-Solutions/hotfix/2.3.61
Hotfix/2.3.61
2021-07-29 14:58:25 -04:00
William Wernert
e38219aa2e Fix learn init.sls typo 2021-07-29 14:35:02 -04:00
William Wernert
9e92f6da3d Add container to so-status when enabling/disabling ml module 2021-07-29 14:25:20 -04:00
William Wernert
44551ea9ee Fix so-learn list 2021-07-29 13:31:48 -04:00
William Wernert
c53da9b1ff Fix wrong variables in learn init.sls 2021-07-29 12:04:40 -04:00
William Wernert
e1785dbd9a Fix typo 2021-07-29 12:00:53 -04:00
William Wernert
2560a9b78c [wip] Change learn:modules to dictionary 2021-07-29 11:58:58 -04:00
William Wernert
d53e989c55 Add ability to set cpu_period per module 2021-07-29 11:52:10 -04:00
William Wernert
211a841cdb Fix file path in bind mount for logscan 2021-07-29 11:40:19 -04:00
Josh Patterson
50e4365475 Merge pull request #4990 from Security-Onion-Solutions/issue/4985
Issue/4985
2021-07-29 11:14:54 -04:00
Jason Ertel
c524b54af1 Merge pull request #4988 from Security-Onion-Solutions/mkr2361
2.3.61-MSEARCH
2021-07-29 11:10:41 -04:00
Mike Reeves
7591bb115e 2.3.61-MSEARCH 2021-07-29 11:09:54 -04:00
Mike Reeves
3d2da303c8 2.3.61-MSEARCH 2021-07-29 11:09:27 -04:00
Mike Reeves
f585eb6e62 2.3.61-MSEARCH 2021-07-29 11:08:03 -04:00
m0duspwnens
4b6120a46b fix the hours get 2021-07-29 10:59:33 -04:00
Mike Reeves
d946c6d5ed Merge pull request #4987 from Security-Onion-Solutions/kilo
Do not prompt about uppercased hostname during testing
2021-07-29 10:57:56 -04:00
William Wernert
5894b85bd1 Remove broken yaml dump arg, rename metavars 2021-07-29 10:57:53 -04:00
m0duspwnens
3fc43f7d92 allow for adjustment to auto patch os schedule - https://github.com/Security-Onion-Solutions/securityonion/issues/4985 2021-07-29 10:48:24 -04:00
Jason Ertel
8ed264460f Do not prompt about uppercased hostname during testing 2021-07-29 10:45:35 -04:00
William Wernert
811b32735e Merge branch 'dev' into foxtrot 2021-07-29 09:52:29 -04:00
Mike Reeves
4b3db0c4d2 Merge pull request #4972 from Security-Onion-Solutions/mkr2361
Fix Manager Search
2021-07-28 17:08:40 -04:00
Mike Reeves
281ba21298 Merge pull request #4956 from Security-Onion-Solutions/kilo
Merge master to dev
2021-07-28 17:07:58 -04:00
Mike Reeves
d4a177949a Fix Manager Search 2021-07-28 17:05:16 -04:00
Mike Reeves
a42d8c9229 Fix Manager Search 2021-07-28 17:03:14 -04:00
William Wernert
dd0e407935 Use correct container name 2021-07-28 15:06:38 -04:00
William Wernert
7ef5b39b04 [wip] Fix 'Nonetype' object is not callable error 2021-07-28 14:28:00 -04:00
William Wernert
cf9121dfc2 Actually download so-learn container 2021-07-28 14:13:16 -04:00
Josh Patterson
fcfc2a65a9 Merge pull request #4968 from Security-Onion-Solutions/issue/3933
allow for sampleSize adjustment in kibana
2021-07-28 11:13:49 -04:00
William Wernert
91accb0bc6 [wip] Fixing so-learn script 2021-07-28 10:12:32 -04:00
William Wernert
e2abe8840f Fix directory in logscan state 2021-07-28 10:12:19 -04:00
m0duspwnens
ead9ae8cb5 fix merge and defaults passed 2021-07-28 09:58:38 -04:00
William Wernert
455719936b Uncomment required lines in so-learn 2021-07-28 09:53:35 -04:00
William Wernert
8d56fc71fa Fix jinja length calculation 2021-07-28 09:53:24 -04:00
William Wernert
833d154bf4 Merge branch 'dev' into foxtrot 2021-07-28 09:50:11 -04:00
William Wernert
f31dc5abc7 Add learn to allowed states 2021-07-28 09:49:59 -04:00
m0duspwnens
9a429230fe wrap with raw due to {{value}} 2021-07-28 09:39:35 -04:00
m0duspwnens
b36d46b7f2 change to jinja tem,plate 2021-07-28 09:27:44 -04:00
m0duspwnens
fee89665fd dict not list for defaults 2021-07-28 09:18:15 -04:00
m0duspwnens
d78a37f9e3 allow for control of kibana discover sampleSize - https://github.com/Security-Onion-Solutions/securityonion/issues/3933 2021-07-28 09:12:31 -04:00
Jason Ertel
28c5c02ef1 Merge pull request #4958 from Security-Onion-Solutions/issue/4024
https://github.com/Security-Onion-Solutions/securityonion/issues/4024
2021-07-27 16:21:13 -04:00
m0duspwnens
8ffeae38bc https://github.com/Security-Onion-Solutions/securityonion/issues/4024 2021-07-27 16:16:48 -04:00
William Wernert
f4fae7938e Merge branch 'dev' into foxtrot 2021-07-27 16:01:44 -04:00
Jason Ertel
22920bc9a1 clear out hotfix from merge 2021-07-27 14:42:11 -04:00
Jason Ertel
ceb82cb863 Merge branch 'master' into kilo 2021-07-27 14:40:31 -04:00
Mike Reeves
1caa361e22 Merge pull request #4955 from Security-Onion-Solutions/hotfix/2.3.61
Hotfix/2.3.61
2021-07-27 14:33:31 -04:00
Mike Reeves
da20790238 Merge pull request #4954 from Security-Onion-Solutions/mkr2361
Steno ISO Details
2021-07-27 11:11:22 -04:00
Mike Reeves
f359dd0cd4 Steno ISO Details 2021-07-27 11:09:25 -04:00
Josh Patterson
bee442a21f Merge pull request #4950 from Security-Onion-Solutions/issue/4674
Issue/4674
2021-07-27 10:28:02 -04:00
m0duspwnens
a66765e99b remove old dashboards, set default refresh to 5m 2021-07-27 10:23:35 -04:00
m0duspwnens
0db7f91eb4 Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-07-27 08:53:31 -04:00
m0duspwnens
850315dc20 remove role conditional from all panel queiries 2021-07-27 08:47:44 -04:00
Mike Reeves
d35e4bea01 Merge pull request #4932 from Security-Onion-Solutions/issue/4922
Issue/4922
2021-07-26 16:18:22 -04:00
Jason Ertel
356b623148 Merge pull request #4937 from Security-Onion-Solutions/kilo
Add Azure automations
2021-07-26 16:13:57 -04:00
Jason Ertel
3a022e7a83 Add Azure automations 2021-07-26 15:50:15 -04:00
William Wernert
64945cec16 [wip] Initial work to enable/disable "learn" modules 2021-07-26 14:24:10 -04:00
Jason Ertel
26741bdb53 Add wss: to CSP for browsers that enforce wss distinctly from other protocols 2021-07-26 10:55:30 -04:00
m0duspwnens
7aa5e857ed update hotfix file 2021-07-26 10:46:52 -04:00
m0duspwnens
2e277bf487 change container to abesent of pcap is disabled 2021-07-26 10:08:59 -04:00
m0duspwnens
e4f46c6e14 hide role template var from all dash except overview 2021-07-26 09:36:05 -04:00
m0duspwnens
e9d90644fd fix query and allow for setting text and value of servername template var 2021-07-23 16:52:07 -04:00
m0duspwnens
5a06f0dce9 role template var now selects default role 2021-07-23 16:34:58 -04:00
m0duspwnens
08e9a58f2e simply to one servername.json 2021-07-23 16:09:25 -04:00
m0duspwnens
e1f0c8e87c add "list" bast to tempating defs for overview 2021-07-23 15:43:31 -04:00
m0duspwnens
17a532f7b5 add new templating defs to overview 2021-07-23 15:41:03 -04:00
m0duspwnens
c7306dda12 fix servername_eval template var, test using 1 servername template var 2021-07-23 15:38:45 -04:00
m0duspwnens
00d311cd6c fix nodetype listing 2021-07-23 14:40:44 -04:00
m0duspwnens
f8d2a7f449 fix nodetype listing 2021-07-23 13:43:35 -04:00
m0duspwnens
a02a928996 add missing ] 2021-07-23 13:33:25 -04:00
m0duspwnens
eb661b7a24 add ability to set title for dashboards, only create dashboards/dirs if that node type exists 2021-07-23 13:31:44 -04:00
m0duspwnens
6aea607f21 Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-07-23 11:12:48 -04:00
m0duspwnens
41e747dcc1 add servername_all template var 2021-07-23 10:55:15 -04:00
m0duspwnens
d3d02faa1c remove detailed 2021-07-23 10:52:30 -04:00
m0duspwnens
7a85a3c7f7 move dashboard location 2021-07-23 10:20:57 -04:00
m0duspwnens
fceb2851ef add eval dashboard 2021-07-23 09:02:40 -04:00
William Wernert
2f118781ea Merge branch 'dev' into foxtrot 2021-07-23 08:54:08 -04:00
William Wernert
b8e3a45a7e [wip] Add logscan state
Do not add state to top file or setup yet, script will be written to enable the feature shortly
2021-07-23 08:53:45 -04:00
m0duspwnens
61312397e1 update container uptime panel 2021-07-23 08:25:43 -04:00
m0duspwnens
8ea4682aab add docker container uptime to overview dash 2021-07-23 07:34:01 -04:00
m0duspwnens
3b6befdb97 adjust gridpos 2021-07-22 15:05:37 -04:00
m0duspwnens
613979ea3f remove extra comma 2021-07-22 15:03:58 -04:00
m0duspwnens
191def686b add packet loss panels 2021-07-22 15:02:06 -04:00
Mike Reeves
f986e0dc78 Merge pull request #4892 from Security-Onion-Solutions/kilo
Merge master back to dev
2021-07-22 14:37:40 -04:00
Jason Ertel
08e75567d4 merge master to kilo 2021-07-22 14:34:24 -04:00
Mike Reeves
668199f1a8 Merge pull request #4889 from Security-Onion-Solutions/2361update
2.3.61
2021-07-22 14:29:13 -04:00
Jason Ertel
7a753a56ec Update README with 2.3.61 2021-07-22 13:54:04 -04:00
m0duspwnens
7b38b4e280 fix {{}} 2021-07-22 13:36:44 -04:00
m0duspwnens
7dc2e2ca73 add option to hide trend on zeek packet loss graph 2021-07-22 13:35:25 -04:00
m0duspwnens
44eb23615a change to packet_loss 2021-07-22 13:20:19 -04:00
m0duspwnens
d47566f667 remove monitor inbound graph 2021-07-22 13:18:31 -04:00
m0duspwnens
9ae84c8108 add network and tool packetloss panels to overview 2021-07-22 13:16:39 -04:00
Mike Reeves
578c7aac35 2.3.61 2021-07-22 13:06:26 -04:00
m0duspwnens
1c460cc19c fix traffic overview graphs 2021-07-22 10:31:47 -04:00
m0duspwnens
ff436aea93 allow multi and all for manint and monint vars 2021-07-22 10:06:31 -04:00
m0duspwnens
aa333794f7 add disk usage percent graphs 2021-07-22 09:54:17 -04:00
doug
3d3593a1a9 FIX: Suricata dns.response.code needs to be renamed to dns.response.code_name #4770 2021-07-22 09:50:21 -04:00
Jason Ertel
257062e20c Update release notes link to match top right menu for airgap 2021-07-22 09:48:34 -04:00
doug
fa9d7afb46 FIX: Airgap link to Release Notes #4685 2021-07-22 09:42:37 -04:00
m0duspwnens
ae5f351e1a change row name 2021-07-22 09:31:17 -04:00
m0duspwnens
257a88ec8e change row name 2021-07-22 09:30:43 -04:00
m0duspwnens
e1e6304a8a rename 2021-07-22 09:29:37 -04:00
m0duspwnens
a81ef0017c rename panels source, reorg overview 2021-07-22 09:15:22 -04:00
m0duspwnens
b89162e086 change id 2021-07-22 08:01:54 -04:00
m0duspwnens
a6630540a4 add system uptime graph to overview dash 2021-07-21 18:11:42 -04:00
m0duspwnens
a528c5d54b role first var for overview 2021-07-21 17:41:53 -04:00
m0duspwnens
690699ddf7 update template vars to use regex for $servername 2021-07-21 17:17:23 -04:00
m0duspwnens
cd8d9c657e add mgmt interface traffic graphs to overview 2021-07-21 16:24:16 -04:00
m0duspwnens
f732b80b92 add swap usage percent to overview dash 2021-07-21 15:48:04 -04:00
Jason Ertel
ad8c12afa5 Upgrade ES to 7.13.4 2021-07-21 15:07:02 -04:00
m0duspwnens
479fcb6c46 add panel for memory usage percent 2021-07-21 15:00:05 -04:00
Jason Ertel
74874dfff2 Allow web pages to load blob data 2021-07-21 14:59:33 -04:00
m0duspwnens
ceb108a5fe set min yaxes to 0 2021-07-21 14:47:57 -04:00
m0duspwnens
235d8b7cf0 ensure role matches 2021-07-21 14:44:07 -04:00
Mike Reeves
7c9df2d75a Update HOTFIX 2021-07-21 14:40:53 -04:00
Mike Reeves
43bf75217f Update VERSION 2021-07-21 14:40:23 -04:00
m0duspwnens
9bf6d478c5 remove $col var 2021-07-21 14:36:08 -04:00
m0duspwnens
e2baa93270 remove role from node_config for telegraf 2021-07-21 14:32:01 -04:00
m0duspwnens
37fcda3817 add cpu row and panels to overview dashboard 2021-07-21 14:30:41 -04:00
m0duspwnens
457ae54341 role var 2021-07-21 11:50:06 -04:00
m0duspwnens
4cc3c5ada9 add role template var to overview dashboard 2021-07-21 11:35:02 -04:00
m0duspwnens
07d5736d61 change sort of legend 2021-07-21 11:33:48 -04:00
m0duspwnens
a7551a44e5 allow multi and all on servername_all template var 2021-07-21 11:29:30 -04:00
m0duspwnens
f4d3e13c7f begin overview dashboard 2021-07-21 11:26:02 -04:00
m0duspwnens
47d82b3d35 sort desc remaining tooltips 2021-07-21 10:36:07 -04:00
m0duspwnens
9d06aff1d1 add manager dashboard 2021-07-21 10:23:39 -04:00
m0duspwnens
5ea8c978a0 add managersearch 2021-07-21 10:16:40 -04:00
m0duspwnens
6809c3a9f6 add mastersearch dashboard 2021-07-21 10:13:43 -04:00
m0duspwnens
761108964e remove panels from searchnode dashboard 2021-07-21 10:05:43 -04:00
m0duspwnens
e3e74a84f2 test sort tooltip descending 2021-07-21 10:00:14 -04:00
m0duspwnens
1fee4e87c4 add searchnode dashboard 2021-07-21 09:51:49 -04:00
m0duspwnens
0c4c59375d sort container uptime ascending 2021-07-21 09:11:39 -04:00
Mike Reeves
09165daab8 Several Suricata things 2021-07-21 09:10:33 -04:00
m0duspwnens
3393b77535 add sensor dashboard 2021-07-21 08:54:26 -04:00
m0duspwnens
d050bc02e2 dont show legend for docker uptime trend 2021-07-20 16:29:49 -04:00
m0duspwnens
af60ddf404 add docker container uptime graph 2021-07-20 16:28:07 -04:00
m0duspwnens
1bb92f63d1 add docker details 2021-07-20 15:21:59 -04:00
m0duspwnens
a405ca39fa add redis.sh for telegraf on heavynodes 2021-07-20 14:31:09 -04:00
m0duspwnens
852b686d81 add servername vars for each role 2021-07-20 14:25:56 -04:00
m0duspwnens
608d5d3c26 change uid logic 2021-07-20 14:10:26 -04:00
m0duspwnens
6038ebb705 handle multile nodetpes and uid 2021-07-20 14:04:28 -04:00
m0duspwnens
4bb350d37d add heavynode 2021-07-20 13:55:52 -04:00
m0duspwnens
d01ac55db1 add heavynode 2021-07-20 13:55:18 -04:00
Jason Ertel
fcde5c3c18 Merge pull request #4865 from Security-Onion-Solutions/kilo
Merge curator hotfix into dev
2021-07-20 11:47:49 -04:00
Jason Ertel
dbf19e134f Merge branch 'master' into kilo 2021-07-20 11:44:10 -04:00
Mike Reeves
b13c5a3b8b Merge pull request #4863 from Security-Onion-Solutions/hotfix/2.3.60
Hotfix/2.3.60 CuratorFix
2021-07-20 11:02:34 -04:00
m0duspwnens
b0c5a352c1 remove old panaels 2021-07-20 10:53:47 -04:00
m0duspwnens
d0b3cd5f66 add the detailed dash dir 2021-07-20 10:50:40 -04:00
m0duspwnens
24efdec9ea cap the var 2021-07-20 10:48:46 -04:00
m0duspwnens
1bed818a8e fix jinja 2021-07-20 10:47:10 -04:00
m0duspwnens
3c4c52567d fix jinja 2021-07-20 10:46:41 -04:00
m0duspwnens
87ae14d11c fix jinja 2021-07-20 10:44:32 -04:00
m0duspwnens
258d303e7f change how dashboards are deployed 2021-07-20 10:43:00 -04:00
m0duspwnens
458350e1a8 new redis queue stat panel, change to lastnotnull 2021-07-20 09:45:28 -04:00
Mike Reeves
fe7ee1e2c7 Merge pull request #4862 from Security-Onion-Solutions/curatorfix
Curator Fix
2021-07-20 09:26:54 -04:00
m0duspwnens
d8910a0097 add redis queue to overview, reposition overview panels 2021-07-20 09:22:43 -04:00
Mike Reeves
3b6e683d37 Curator Fix 2021-07-20 09:21:22 -04:00
m0duspwnens
90f6bad6ce panel title change 2021-07-20 08:54:39 -04:00
m0duspwnens
fcc6802f86 convert all singlestat to stat 2021-07-20 08:51:53 -04:00
m0duspwnens
3b9bc77ecc remove scopedvars 2021-07-19 17:51:43 -04:00
m0duspwnens
0fb4500fcc add legends 2021-07-19 17:39:32 -04:00
m0duspwnens
93ca00c7fe change min y 2021-07-19 17:29:57 -04:00
m0duspwnens
522f2a3f9f maxdatapoints and min interval 2021-07-19 17:19:56 -04:00
m0duspwnens
40ddf5f49c fix cords 2021-07-19 16:30:02 -04:00
m0duspwnens
60356eacce make the ids unique 2021-07-19 16:26:09 -04:00
m0duspwnens
158f3bf092 add row_stenographer 2021-07-19 16:18:02 -04:00
m0duspwnens
ebf3c65bed add many more panels 2021-07-19 16:02:40 -04:00
William Wernert
df6d1d72e2 Merge branch 'dev' into feature/logscan 2021-07-19 15:19:59 -04:00
weslambert
72542322ca Merge pull request #4857 from Security-Onion-Solutions/fix/beats_output_fb_modules
Check if Filebeat modules are being used for incoming (external) Beats
2021-07-19 13:11:06 -04:00
weslambert
fea4f3f973 Check if Filebeat modules are being used for incoming Beats 2021-07-19 12:57:42 -04:00
Mike Reeves
7878180f54 Merge pull request #4854 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update HOTFIX
2021-07-19 12:50:23 -04:00
Mike Reeves
0669aa6bbd Update HOTFIX 2021-07-19 12:49:43 -04:00
Mike Reeves
2c4924a602 Merge pull request #4853 from Security-Onion-Solutions/fix/curator_http_auth
Use http_auth instead of username/password until Curator is updated to latest version
2021-07-19 12:45:29 -04:00
weslambert
bde86e0383 Use http_auth instead of username/password until Curator is upgraded to next version 2021-07-19 12:42:46 -04:00
Jason Ertel
bab18275bc Merge pull request #4836 from Security-Onion-Solutions/fix/airgap-release-notes
FIX: Airgap link to Release Notes #4685
2021-07-17 11:05:33 -04:00
doug
7e86681509 FIX: Airgap link to Release Notes #4685 2021-07-16 16:50:49 -04:00
William Wernert
c2fc2df54c Merge pull request #4835 from Security-Onion-Solutions/feature/uppercase-warning
Show warning to user when trying to use uppercase characters in hostname or domain name
2021-07-16 15:44:47 -04:00
William Wernert
0deb77468f Change uppercase regex
Check for any uppercase characters rather than revalidating input sans uppercase
2021-07-16 15:39:09 -04:00
William Wernert
9bf1d3e0c6 Misc fixes 2021-07-16 14:59:44 -04:00
William Wernert
3a12d28d20 Merge branch 'dev' into feature/logscan 2021-07-16 14:13:19 -04:00
William Wernert
e8ba4bdc6c Add quotes to string 2021-07-16 14:07:23 -04:00
William Wernert
b552973e00 Add logic to show uppercase warning message when appropriate 2021-07-15 16:36:46 -04:00
William Wernert
ac98e1fd0f Remove testing default values, change wording, set default option to no 2021-07-15 16:36:24 -04:00
m0duspwnens
4246aac51b unhide disk var 2021-07-15 13:57:43 -04:00
William Wernert
33f396bdae Add uppercase warning function 2021-07-15 13:53:57 -04:00
William Wernert
ff25cecd54 Remove unused function 2021-07-15 13:53:31 -04:00
m0duspwnens
e88b258208 add maxDataPoints and min interval to more panels 2021-07-15 11:53:24 -04:00
m0duspwnens
1cbf895e0e add missing , 2021-07-15 11:27:19 -04:00
m0duspwnens
7dc1f5c445 add maxDataPoints and min interval to some panels for testing 2021-07-15 11:25:20 -04:00
m0duspwnens
439e049948 revert to $__interval 2021-07-15 10:17:21 -04:00
m0duspwnens
fbf26bef8d test new groupby interval for trend on monitor packets 2021-07-15 08:42:53 -04:00
m0duspwnens
c1f550382c remove interval var 2021-07-15 08:31:42 -04:00
m0duspwnens
23fb6a5c02 rename 2021-07-14 18:04:33 -04:00
m0duspwnens
d632266092 fix jinja 2021-07-14 18:01:56 -04:00
m0duspwnens
4ea3ab9538 add disk iops graphs 2021-07-14 17:58:49 -04:00
m0duspwnens
725161ea6e fix datasource 2021-07-14 16:07:14 -04:00
m0duspwnens
fccd86f676 add disk var to standalone 2021-07-14 16:04:55 -04:00
m0duspwnens
0f0a977ed9 add disk var 2021-07-14 16:04:17 -04:00
Jason Ertel
7f9d0b59b8 Merge pull request #4808 from Security-Onion-Solutions/kilo
Merge hotfix from master into dev; add `so-firewall apply` feature to dev
2021-07-14 15:49:12 -04:00
m0duspwnens
b0d510167c change title 2021-07-14 15:36:26 -04:00
m0duspwnens
4971933201 rename file 2021-07-14 15:34:39 -04:00
m0duspwnens
693a9b30ae add swap, adjust cords 2021-07-14 15:33:28 -04:00
Jason Ertel
76c285158a Merge branch 'master' into kilo 2021-07-14 15:24:35 -04:00
Jason Ertel
08517e3732 Merge branch 'dev' into kilo 2021-07-14 15:24:29 -04:00
m0duspwnens
59530f4263 cahnge nullPointMode 2021-07-14 14:54:48 -04:00
Mike Reeves
5d48fb41ba Merge pull request #4800 from Security-Onion-Solutions/hotfix/2.3.60 2021-07-14 14:54:00 -04:00
m0duspwnens
4acebe7f59 replace $interval with $__interval 2021-07-14 14:47:02 -04:00
m0duspwnens
a44a7b7161 change title 2021-07-14 14:45:17 -04:00
m0duspwnens
be13f0a066 change id 2021-07-14 14:31:25 -04:00
m0duspwnens
98ce77c2b1 add disk usage graphs 2021-07-14 14:28:25 -04:00
m0duspwnens
275a491cac cords 2021-07-14 13:44:47 -04:00
m0duspwnens
1c868f85c4 fix cords; 2021-07-14 13:25:17 -04:00
m0duspwnens
b6deacf86d cords 2021-07-14 13:11:48 -04:00
Mike Reeves
ebe5ef6535 Merge pull request #4799 from Security-Onion-Solutions/agsoupupdate
Update ISO info
2021-07-14 12:07:35 -04:00
m0duspwnens
294f91473c fix packets legend 2021-07-14 11:49:24 -04:00
m0duspwnens
902f04efb4 set 0 as min 2021-07-14 11:44:14 -04:00
m0duspwnens
ca2989c0e5 fix network cords 2021-07-14 11:42:01 -04:00
m0duspwnens
2d9697cd66 fix network cords 2021-07-14 11:40:31 -04:00
m0duspwnens
b4111a9f79 fix network cords 2021-07-14 11:38:16 -04:00
m0duspwnens
7f8212fdba add trend, add network graphs 2021-07-14 11:31:48 -04:00
weslambert
7e1be8a3a4 Merge pull request #4798 from Security-Onion-Solutions/fix/strelka_filepath_mapping
Replace staging with processed in Strelka file path mapping
2021-07-14 11:16:15 -04:00
Wes Lambert
05aad07bfc Replace staging path with processed path for analyzed files 2021-07-14 15:04:46 +00:00
Mike Reeves
92a80f9a58 Update ISO info 2021-07-14 10:30:10 -04:00
m0duspwnens
4b4ceb525a trends for load and process status 2021-07-14 10:29:35 -04:00
weslambert
42ba9888d7 Merge pull request #4797 from Security-Onion-Solutions/fix/wazuh_data_port
Change field name and mapping for Wazuh's data.port
2021-07-14 10:14:53 -04:00
William Wernert
818f912a90 [fix] Remove indent 2021-07-14 10:13:14 -04:00
m0duspwnens
dae64b82ff add trend to cpu 2021-07-14 10:09:34 -04:00
m0duspwnens
53c6edcbdb add trends memory usage and network graphs 2021-07-14 09:57:43 -04:00
Wes Lambert
723172bc1f Add path_unmatch for data.port so it is not mapped as integer 2021-07-14 13:45:09 +00:00
Wes Lambert
323b5d6694 Add dynamic mapping for wazuh 2021-07-14 13:43:34 +00:00
Wes Lambert
441cd3fc59 Move Wazuh-specific data to wazuh.data 2021-07-14 13:42:51 +00:00
m0duspwnens
1d23d1b2e2 start network row 2021-07-14 09:21:46 -04:00
Jason Ertel
1dd81b6d49 Merge pull request #4790 from Security-Onion-Solutions/agsoupupdate
Remove old airgap scripts
2021-07-13 15:45:45 -04:00
Mike Reeves
741e825ab9 Remove old airgap scripts 2021-07-13 15:44:26 -04:00
William Wernert
e41811fbd0 [fix] Typo 2021-07-13 15:14:13 -04:00
m0duspwnens
f111106a9f fix cords 2021-07-13 14:13:19 -04:00
m0duspwnens
f9e29eaede update memory usage graph panel 2021-07-13 14:09:23 -04:00
William Wernert
e7a6172d7e [fix] Add single quotes to strings 2021-07-13 14:07:27 -04:00
m0duspwnens
ec8f9228e8 add memory and docker container rows 2021-07-13 14:01:42 -04:00
m0duspwnens
6c12e26632 add mem usage, add docker graphs back, update nsm usage thresh 2021-07-13 13:55:01 -04:00
m0duspwnens
9a6ac7bd20 change panels 2021-07-13 12:30:45 -04:00
m0duspwnens
5b3751da70 new load averages panel 2021-07-13 12:24:32 -04:00
m0duspwnens
65127eb226 fix servername var 2021-07-13 12:04:52 -04:00
William Wernert
115e0a6fee [fix] Add missing comma 2021-07-13 12:04:10 -04:00
m0duspwnens
ddfab44883 new id 2021-07-13 11:59:01 -04:00
Mike Reeves
6eab390962 Merge pull request #4788 from Security-Onion-Solutions/fix/fbpipeline
Only route to FB module pipeline if filebeat in metadata
2021-07-13 11:40:58 -04:00
Mike Reeves
35388056d3 Merge pull request #4789 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update HOTFIX
2021-07-13 11:40:44 -04:00
Mike Reeves
e2c5967191 Update HOTFIX 2021-07-13 11:38:20 -04:00
weslambert
7cdb967810 Only route to FB module pipeline if filebeat in metadata 2021-07-13 11:36:18 -04:00
m0duspwnens
8900d52c33 change y 2021-07-13 11:30:14 -04:00
m0duspwnens
bab72393e6 query and id changes 2021-07-13 11:23:06 -04:00
William Wernert
e059c25ebc [fix][wip] Fix pipeline parsing errors 2021-07-13 11:05:05 -04:00
m0duspwnens
c87ca8f5dc spacing 2021-07-13 10:42:33 -04:00
m0duspwnens
e01e3cdd43 change file name 2021-07-13 10:25:26 -04:00
m0duspwnens
2ab9ade761 add missing gridPos 2021-07-13 10:22:48 -04:00
m0duspwnens
0b35b8f6d6 add cpu row 2021-07-13 10:19:20 -04:00
William Wernert
9ff95f66dd Merge branch 'dev' into feature/logscan 2021-07-13 10:02:58 -04:00
William Wernert
c1523c4936 Merge pull request #4782 from Security-Onion-Solutions/feature/check-local-mods
Add jinja raw tag
2021-07-13 08:58:25 -04:00
m0duspwnens
b6e31278a7 move old panels into old for organization 2021-07-13 08:57:01 -04:00
William Wernert
ca2b24f735 Add jinja raw tag 2021-07-13 08:46:57 -04:00
William Wernert
2b0bca8e55 Merge branch 'dev' into feature/logscan 2021-07-12 14:58:30 -04:00
m0duspwnens
98fe7e8700 fix mean 2021-07-12 14:37:17 -04:00
m0duspwnens
0acc3cc537 rename 2021-07-12 14:32:37 -04:00
m0duspwnens
8491ffde07 add docker container network usage graphs 2021-07-12 14:18:54 -04:00
Doug Burks
2ea3989497 Merge pull request #4775 from Security-Onion-Solutions/fix/suricata-dns-response-code
FIX: Suricata dns.response.code needs to be renamed to dns.response.code_name #4770
2021-07-12 13:40:14 -04:00
doug
e6f9592cde FIX: Suricata dns.response.code needs to be renamed to dns.response.code_name #4770 2021-07-12 13:24:21 -04:00
William Wernert
222d79bf53 Merge pull request #4774 from Security-Onion-Solutions/feature/check-local-mods
Compare local files to their defaults to check for potentially breaking changes
2021-07-12 12:00:18 -04:00
m0duspwnens
19d9258717 add postfix , change color 2021-07-12 11:22:48 -04:00
m0duspwnens
b46456b78e move math, add 2 decimal spot 2021-07-12 11:16:33 -04:00
m0duspwnens
cebc2ef09d add missing , 2021-07-12 11:13:32 -04:00
m0duspwnens
c4ff8f6876 convert seconds to days 2021-07-12 11:12:28 -04:00
m0duspwnens
619022ef7f 2 new panels to overview 2021-07-12 11:09:23 -04:00
weslambert
c0f3c5b3db Merge pull request #4773 from Security-Onion-Solutions/feature/filebeat-logging-level
Allow setting Filebeat logging level in pillar
2021-07-12 10:55:43 -04:00
m0duspwnens
860b8bf945 panel changes 2021-07-12 10:34:39 -04:00
m0duspwnens
694db81b80 fix locations and panel ids 2021-07-12 10:29:09 -04:00
weslambert
a895270bc8 Allow setting Filebeat logging level in pillar 2021-07-12 10:27:43 -04:00
m0duspwnens
7474b451ca rename file 2021-07-12 10:24:12 -04:00
m0duspwnens
e8eecc8bc1 rename file 2021-07-12 10:22:25 -04:00
m0duspwnens
28e33b413c add more panels for overview 2021-07-12 10:17:23 -04:00
Jason Ertel
78c58e61ea Resolves #4765 2021-07-12 09:38:01 -04:00
William Wernert
f3ecdf21bf Revert "Add newline to local modifications warning"
This reverts commit ff656365d2.
2021-07-12 09:28:24 -04:00
William Wernert
ff656365d2 Add newline to local modifications warning 2021-07-12 09:22:22 -04:00
William Wernert
ea7c09bb00 Merge branch 'dev' into feature/check-local-mods 2021-07-12 09:20:10 -04:00
Jason Ertel
e23f7cd3e7 Merge pull request #4766 from Security-Onion-Solutions/kilo
Bump version to 2.3.70
2021-07-10 13:01:54 -04:00
Jason Ertel
c6bb32b862 Bump version to 2.3.70 2021-07-10 07:34:52 -04:00
m0duspwnens
0bde69b441 update panel 2021-07-09 16:47:39 -04:00
m0duspwnens
6fbafb74bd update panel 2021-07-09 16:45:02 -04:00
m0duspwnens
9572c1f663 fix var 2021-07-09 16:33:09 -04:00
m0duspwnens
0fedb0f2c5 add 5 minute load avg panel 2021-07-09 16:29:48 -04:00
m0duspwnens
33d3aef9f5 yamlize gridpos 2021-07-09 16:14:25 -04:00
m0duspwnens
fb8ccedf66 reduce height by 2 2021-07-09 16:04:55 -04:00
m0duspwnens
efcf0accc1 change IDs 2021-07-09 16:01:57 -04:00
m0duspwnens
f556d5c07d change row id 2021-07-09 15:58:45 -04:00
m0duspwnens
6c1f424c0b fix row_overview 2021-07-09 15:56:27 -04:00
William Wernert
90970f97e8 Add function to check if files copied to local have been changed in default 2021-07-09 15:44:27 -04:00
m0duspwnens
d3137dc6b9 add row panels 2021-07-09 15:43:51 -04:00
m0duspwnens
efaf53f2f7 add a panel header, change memeory usage panel 2021-07-09 15:13:50 -04:00
m0duspwnens
beb7b89275 yamlize the gridpos for panels 2021-07-09 14:13:00 -04:00
Jason Ertel
8c15fa1627 Merge pull request #4758 from Security-Onion-Solutions/kilo
Upgrade to ES 7.13.3; Use nginx reverse proxy for access to Playbook and Soctopus
2021-07-09 12:40:33 -04:00
m0duspwnens
bc814c9be6 new panels, add containers var, hide manint and monint var from dash 2021-07-09 11:21:06 -04:00
William Wernert
bac7ef71d8 Add logscan.source.ips field 2021-07-09 10:55:11 -04:00
m0duspwnens
dd199ea30f remove quotes if pillar doesnt exist 2021-07-09 10:00:47 -04:00
m0duspwnens
fc8acac1a5 change id 2021-07-08 17:39:34 -04:00
m0duspwnens
fec269c3e7 add combined container mem panel 2021-07-08 17:28:18 -04:00
m0duspwnens
8e366fd633 add combined container mem panel 2021-07-08 17:27:51 -04:00
m0duspwnens
f7d54186dd remove all panels from standalone 2021-07-08 17:11:33 -04:00
m0duspwnens
ab92fb3910 add cpucount to standalone 2021-07-08 17:08:45 -04:00
m0duspwnens
6783e2e28b dont hide cpucount on dashboard 2021-07-08 17:06:21 -04:00
m0duspwnens
4e47d3f458 remove single quotes 2021-07-08 17:04:41 -04:00
m0duspwnens
b265c7dcb7 single quote cpucount 2021-07-08 17:00:17 -04:00
m0duspwnens
f4fae89b8e fix copy paste error 2021-07-08 16:50:25 -04:00
m0duspwnens
45f0b4c85f manint and monint 2021-07-08 16:43:53 -04:00
m0duspwnens
7c80483f6e change CPUS to $cpucount 2021-07-08 16:39:14 -04:00
Jason Ertel
08ba4fdbee Update Kibana saved objects to 7.13.3 2021-07-08 16:34:16 -04:00
m0duspwnens
7085796601 replace SERVERNAME with $servername 2021-07-08 16:33:21 -04:00
m0duspwnens
091b5f73b1 update var 2021-07-08 14:43:38 -04:00
Jason Ertel
0c079edc1a Reverse proxy requests to playbook, soctopus, and nodered 2021-07-08 14:27:16 -04:00
m0duspwnens
54cdfb89f6 remove common_standalone.json.jinja 2021-07-08 14:14:40 -04:00
m0duspwnens
f56514ed7d Merge remote-tracking branch 'remotes/origin/dev' into issue/4674 2021-07-08 14:12:26 -04:00
m0duspwnens
56697fde19 create common dashboard and define templates/dashbaord vars 2021-07-08 14:10:22 -04:00
William Wernert
80525ee736 [wip] Add logscan pipeline 2021-07-08 12:29:50 -04:00
Jason Ertel
a43bdd9aad Merge pull request #4723 from Security-Onion-Solutions/dev
HEAVYNODE_REDIS hotfix
2021-07-08 11:42:22 -04:00
m0duspwnens
20360d0bb0 create node_config measurement for nodes to be used for grafana dashboard vars 2021-07-08 11:18:25 -04:00
Josh Patterson
70d7513f84 Merge pull request #4729 from Security-Onion-Solutions/fix/heavyfix
Fix/heavyfix
2021-07-07 14:49:38 -04:00
Josh Patterson
12b7fd3ab4 whitespace 2021-07-07 14:48:07 -04:00
Josh Patterson
c32b5b5429 whitespace 2021-07-07 14:47:16 -04:00
Josh Patterson
ea2a748dba whitespace 2021-07-07 14:44:44 -04:00
Josh Patterson
c1d7d8c55a add new line 2021-07-07 14:43:20 -04:00
Josh Patterson
a3c58d8445 remove heavy soup 2021-07-07 14:42:38 -04:00
Josh Patterson
cfc5c2aef6 do ; instead of && 2021-07-07 14:32:57 -04:00
Josh Patterson
313260a0c5 add heavy action in soup for ssl redis, es, ls, fb 2021-07-07 14:22:45 -04:00
Josh Patterson
ee548aaf83 Merge pull request #4728 from Security-Onion-Solutions/fix/heavyfix
remove soup control of heavy
2021-07-07 14:01:32 -04:00
m0duspwnens
5eab57e500 remove soup control of heavy 2021-07-07 13:58:52 -04:00
Josh Patterson
6f48fdad42 Merge pull request #4727 from Security-Onion-Solutions/fix/heavyfix
Fix/heavyfix
2021-07-07 12:15:50 -04:00
m0duspwnens
98fb5109d7 tell heavys to update ssl and restart containers for HEAVYNODE_SSL_LOGSTASH_REDIS_PIPELINES hotfix 2021-07-07 12:05:38 -04:00
m0duspwnens
9c2ead16cc common name changes, allow cert to be managed regardless of expire date for heavy node 2021-07-07 10:22:37 -04:00
Jason Ertel
c4293c6119 Merge pull request #4724 from Security-Onion-Solutions/kilo
Merge master into dev via kilo
2021-07-07 07:21:21 -04:00
Jason Ertel
13c392d758 Merge branch 'master' into kilo 2021-07-07 06:40:30 -04:00
m0duspwnens
35f10518b2 map file into container 2021-07-06 17:12:21 -04:00
m0duspwnens
03066c4674 rename file 2021-07-06 17:08:29 -04:00
m0duspwnens
e33a6892b3 point to new location 2021-07-06 16:58:15 -04:00
m0duspwnens
87bb3f4a6b quote the 5m 2021-07-06 16:45:10 -04:00
m0duspwnens
62bfaa4e45 send node_config data into telegraf for dashboard queries 2021-07-06 16:30:35 -04:00
Josh Patterson
9e94e605ee Merge pull request #4715 from Security-Onion-Solutions/fix/heavyfix
add to HOTFIX file
2021-07-06 16:01:11 -04:00
m0duspwnens
f8dc647b1f add to HOTFIX file 2021-07-06 15:59:35 -04:00
Josh Patterson
fc727d6909 Merge pull request #4711 from Security-Onion-Solutions/fix/heavyfix
Fix/heavyfix
2021-07-06 15:56:02 -04:00
m0duspwnens
c1d61dc624 add to HOTFIX file 2021-07-06 15:54:15 -04:00
m0duspwnens
0627ca2fc2 use heavynode hostname for certs if heavynode. changes to logstash pipeline for redis if heavynode 2021-07-06 15:32:39 -04:00
weslambert
ce0b064972 Add conditional for heavynode for redis and elasticsearch 2021-07-06 14:21:29 -04:00
weslambert
2f3f04e4ca Change from nodename to host 2021-07-06 14:18:39 -04:00
weslambert
2e91f27336 Add conditional for heavynode 2021-07-06 14:17:49 -04:00
weslambert
10b1829830 Add conditional for heavynode 2021-07-06 14:16:34 -04:00
weslambert
4946f32d88 Add extra_hosts entry for local instance when running as heavy node 2021-07-06 14:14:58 -04:00
m0duspwnens
dc1363aaf5 create file for telegraf to read node config details 2021-07-06 13:06:03 -04:00
m0duspwnens
a5067718d2 comma control 2021-07-06 11:06:35 -04:00
m0duspwnens
98505a9a3f beginning of managing individual panels in grafana 2021-07-06 10:08:36 -04:00
Mike Reeves
e054fdb464 Merge pull request #4680 from Security-Onion-Solutions/dev
ECSFIX HOTFIX
2021-07-02 11:16:49 -04:00
Mike Reeves
3c8ad18693 Merge pull request #4683 from Security-Onion-Solutions/2.3.60ecs
2.3.60 ECSFIX
2021-07-02 11:05:17 -04:00
Mike Reeves
0a91f571c1 2.3.60 ECSFIX 2021-07-02 10:41:15 -04:00
Mike Reeves
8db5284f6e Merge pull request #4679 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update telegraf.conf
2021-07-02 09:48:33 -04:00
Mike Reeves
22aa695508 Update telegraf.conf 2021-07-02 09:47:31 -04:00
m0duspwnens
a16f733622 add individual panels 2021-07-02 09:35:04 -04:00
Mike Reeves
af7d6c8cb5 Merge pull request #4678 from Security-Onion-Solutions/ecsfix1
ECS Hotfix
2021-07-02 09:14:42 -04:00
Mike Reeves
693f455862 ECS hotfix 2021-07-02 08:55:49 -04:00
Mike Reeves
b0abd290a9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-07-02 08:47:02 -04:00
Mike Reeves
0a9686f584 Merge pull request #4669 from Security-Onion-Solutions/TOoSmOotH-patch-1
2.3.70
2021-07-01 14:39:01 -04:00
Mike Reeves
0b11bf6266 Update VERSION 2021-07-01 14:37:56 -04:00
Mike Reeves
d26056d272 Merge pull request #4655 from Security-Onion-Solutions/dev
2.3.60
2021-07-01 14:31:04 -04:00
Mike Reeves
724f9ec76f Merge pull request #4667 from Security-Onion-Solutions/2.3.60v2
2.3.60
2021-07-01 13:11:10 -04:00
Mike Reeves
d583c79936 2.3.60 2021-07-01 13:09:09 -04:00
Mike Reeves
73b47716bc Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-07-01 13:00:30 -04:00
Josh Patterson
4eaef94454 Merge pull request #4664 from Security-Onion-Solutions/influx_scripts
so-influxdb-downsample script improvements
2021-07-01 10:28:21 -04:00
m0duspwnens
21c9c7b8f4 only render main script if a manager type node 2021-07-01 07:56:45 -04:00
m0duspwnens
108fb12612 s/Migrating/Downsampling 2021-06-30 17:53:09 -04:00
m0duspwnens
eb8a030966 reset vars in jinja loop 2021-06-30 17:41:38 -04:00
m0duspwnens
9235bb35a1 fix jinja whatspace and add defaults 2021-06-30 17:30:33 -04:00
m0duspwnens
7b281abf0c migrate script now goes through each day and measurement 2021-06-30 17:21:18 -04:00
Mike Reeves
b5fecd30cf Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-30 17:05:17 -04:00
Mike Reeves
26ff50f85c Merge pull request #4659 from Security-Onion-Solutions/kilo 2021-06-30 16:34:16 -04:00
Mike Reeves
2eb1ba565f Merge pull request #4658 from Security-Onion-Solutions/fix/so-docker-prune 2021-06-30 16:34:05 -04:00
William Wernert
4dbb869952 Fix typo 2021-06-30 16:21:09 -04:00
Jason Ertel
f3041a8d7e Ensure all curl's to Kibana are properly sessioned and/or authenticated depending on elastic auth toggle 2021-06-30 16:09:08 -04:00
William Wernert
4109cdec53 Refactor so-docker-prune to prevent exceptions when removing images
* Prune containers at beginning of script so stopped containers using old images are removed
* Add force=True arg to remove() call to ensure an image is still deleted on the off chance a container is still using that image
* Add exception handling to continue removing containers instead of exiting if the script fails to remove a container
2021-06-30 15:35:01 -04:00
Josh Patterson
cdced887d1 Merge pull request #4654 from Security-Onion-Solutions/2.3.60
2.3.60
2021-06-30 12:40:00 -04:00
Mike Reeves
77ca922f62 2.3.60 2021-06-30 12:37:30 -04:00
Mike Reeves
a08166f27d Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-30 11:38:15 -04:00
Mike Reeves
b9c56d1885 Merge pull request #4647 from Security-Onion-Solutions/fb-module-template 2021-06-30 09:38:20 -04:00
weslambert
fcbacd473d Add ELK, redis 2021-06-30 09:34:56 -04:00
weslambert
06d77d9972 Update so-common-template.json 2021-06-30 09:31:32 -04:00
Mike Reeves
ee9c4f130e Merge pull request #4646 from Security-Onion-Solutions/influx_scripts 2021-06-30 08:58:33 -04:00
m0duspwnens
ada729087d add script to drop autogen, rename so-influxdb-migrate to so-influxdb-downsample 2021-06-30 08:14:52 -04:00
m0duspwnens
aa47a72656 source common to require root 2021-06-30 07:25:51 -04:00
Jason Ertel
857ec70abb Merge pull request #4639 from Security-Onion-Solutions/issue/4609
grafana dashboards with trends
2021-06-29 22:23:31 -04:00
m0duspwnens
149f837223 Merge remote-tracking branch 'remotes/origin/dev' into issue/4609 2021-06-29 22:20:28 -04:00
m0duspwnens
37d6529ae0 fix load panel for manager graf 2021-06-29 22:18:17 -04:00
m0duspwnens
8d3ae65e04 fix load graf standalone 2021-06-29 22:13:51 -04:00
m0duspwnens
649e539ca6 add trends to sensor dash 2021-06-29 22:08:29 -04:00
m0duspwnens
45e90750a0 add trends for searchnode grafs 2021-06-29 21:37:20 -04:00
Mike Reeves
ce2a8917a6 Merge pull request #4635 from Security-Onion-Solutions/kilo 2021-06-29 21:21:55 -04:00
m0duspwnens
b22cd2d27c managersearch dash with trends 2021-06-29 21:07:02 -04:00
m0duspwnens
813ef7d81a new eval dashboard with trends 2021-06-29 20:23:27 -04:00
m0duspwnens
88275cd968 remove trend zeek capture loss, turn on line and points for capture loss standalone graf 2021-06-29 19:50:53 -04:00
m0duspwnens
3a47563b27 remove queries manager dashboard 2021-06-29 19:26:40 -04:00
m0duspwnens
ebb45a866b remove queries from standalone dashboard 2021-06-29 19:20:29 -04:00
Mike Reeves
1433822437 Merge pull request #4637 from Security-Onion-Solutions/influxdb_cqs
Influxdb cqs - fix the query groupby
2021-06-29 19:08:56 -04:00
m0duspwnens
4a5b416a0b Merge remote-tracking branch 'remotes/origin/influxdb_cqs' into issue/4609 2021-06-29 18:55:38 -04:00
Jason Ertel
cad4efdded Fixed PCAP files are readable by root only, which prevents Suricata from being able to scan the file during import 2021-06-29 17:51:04 -04:00
m0duspwnens
f73a8d4d80 Merge remote-tracking branch 'remotes/origin/dev' into influxdb_cqs 2021-06-29 17:15:14 -04:00
m0duspwnens
dac19d224f update cq 2021-06-29 17:15:00 -04:00
m0duspwnens
fa3e5eebe2 update manager dashboard 2021-06-29 15:11:31 -04:00
Jason Ertel
b64749c9d7 Merge pull request #4630 from Security-Onion-Solutions/dougburks-patch-1
Move salt lines after shebang
2021-06-29 13:33:00 -04:00
Doug Burks
822165f168 Move salt lines after shebang 2021-06-29 13:32:02 -04:00
m0duspwnens
2d16463fc6 Merge remote-tracking branch 'remotes/origin/dev' into issue/4609 2021-06-29 12:05:12 -04:00
m0duspwnens
3d8cbe9427 add trend lines 2021-06-29 11:22:14 -04:00
m0duspwnens
f18b64faaf new standalone dashboard 2021-06-29 11:11:23 -04:00
Jason Ertel
95c7a7e9de Merge pull request #4629 from Security-Onion-Solutions/influxdb_cqs
Influxdb cqs
2021-06-29 10:01:07 -04:00
m0duspwnens
ca152ab04c redefine measurements 2021-06-29 09:54:17 -04:00
m0duspwnens
bf8bba7b84 only set measurements if conditions are met 2021-06-29 08:57:51 -04:00
m0duspwnens
3f2f699449 Merge remote-tracking branch 'remotes/origin/dev' into influxdb_cqs 2021-06-29 07:46:42 -04:00
m0duspwnens
6b68a39cbe handle senario where there are no measurements 2021-06-29 07:46:25 -04:00
Jason Ertel
8867840215 Merge pull request #4628 from Security-Onion-Solutions/influxdb_cqs
Influxdb cqs
2021-06-28 17:10:27 -04:00
m0duspwnens
1c516daa96 fix measurement list 2021-06-28 17:05:32 -04:00
m0duspwnens
21c9388ee6 generate measurement list and cq for each 2021-06-28 16:12:36 -04:00
m0duspwnens
c72146587a standalone dashboard 2021-06-28 16:07:32 -04:00
m0duspwnens
0ba685d0e2 change time filter 2021-06-28 12:36:06 -04:00
m0duspwnens
ce98f46331 update standalone dashboard for new influx 2021-06-28 08:49:02 -04:00
m0duspwnens
d6aa672556 updating standalone dashboard 2021-06-25 17:30:25 -04:00
Jason Ertel
6d2761b155 Merge pull request #4625 from Security-Onion-Solutions/foxtrot
Add Elasticsearch and Kibana to list of services that use webuser creds
2021-06-25 15:58:56 -04:00
Doug Burks
127afe1582 Merge pull request #4624 from Security-Onion-Solutions/fix/soup-grammar
fix soup grammar
2021-06-25 11:19:22 -04:00
doug
a3d7f4e35d fix grammar 2021-06-25 11:16:26 -04:00
Mike Reeves
8eb163532d Merge pull request #4620 from Security-Onion-Solutions/modulefix
Fix filebeat modules
2021-06-24 15:59:16 -04:00
Mike Reeves
ea50023ca5 Fix filebeat modules 2021-06-24 15:53:14 -04:00
Mike Reeves
846aef1bd6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-24 14:54:51 -04:00
Mike Reeves
143f2eb1a8 Merge pull request #4616 from Security-Onion-Solutions/airsoup
remove some debug statements
2021-06-24 13:31:17 -04:00
Mike Reeves
3f8cb23cf6 remove some debug statements 2021-06-24 13:29:16 -04:00
Mike Reeves
f92709b03b Merge pull request #4614 from Security-Onion-Solutions/airsoup
Airsoup
2021-06-24 11:37:16 -04:00
Mike Reeves
81bb7c6534 remove a net check 2021-06-24 11:32:01 -04:00
Mike Reeves
bdd1074be7 remove a net check 2021-06-24 11:24:12 -04:00
Mike Reeves
42a63f8ea5 remove a net check 2021-06-24 11:15:16 -04:00
Mike Reeves
3c85db1769 Fix regression 2021-06-24 11:04:56 -04:00
Mike Reeves
930d5b3627 Revert "Move up script verification"
This reverts commit 66e88cef42.
2021-06-24 10:52:53 -04:00
Mike Reeves
a1ec40b547 Revert "Move up script verification"
This reverts commit 2681903c93.
2021-06-24 10:52:27 -04:00
William Wernert
022f9ea76e Add Elasticsearch and Kibana to list of services that use webuser creds 2021-06-24 10:45:12 -04:00
Mike Reeves
2681903c93 Move up script verification 2021-06-24 10:24:00 -04:00
Jason Ertel
403d10cc75 Merge pull request #4611 from Security-Onion-Solutions/airsoup
Move up script verification
2021-06-24 10:05:05 -04:00
Mike Reeves
66e88cef42 Move up script verification 2021-06-24 10:03:38 -04:00
Jason Ertel
8f9d1b99e2 Merge pull request #4610 from Security-Onion-Solutions/airsoup
Fix airgap check
2021-06-24 09:51:47 -04:00
Mike Reeves
4af2f6d84a Fix airgap check 2021-06-24 09:49:57 -04:00
Mike Reeves
78fa4feac6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-23 15:38:38 -04:00
Jason Ertel
5189f38766 Merge pull request #4601 from Security-Onion-Solutions/kilo
Elastic auth related adjustments; Soup error handling corrections, ES pipeline load improvements
2021-06-23 14:46:05 -04:00
Jason Ertel
243e888717 Add queue=True -- needed for all salt commands, not just state changes 2021-06-23 14:41:38 -04:00
weslambert
c5b81f2f4b Fix output so that it can be redirected to local file with appropriate syntax 2021-06-23 14:41:38 -04:00
Mike Reeves
caa14e0cad Fix Retry Spam 2021-06-23 14:41:38 -04:00
weslambert
d411a9e1ff Merge pull request #4597 from Security-Onion-Solutions/fix/pipeline-view-output
Fix output so that it can be redirected to local file with appropriat…
2021-06-23 09:24:41 -04:00
weslambert
3fbc850774 Fix output so that it can be redirected to local file with appropriate syntax 2021-06-23 09:17:37 -04:00
Jason Ertel
d16febcae1 Merge pull request #4591 from Security-Onion-Solutions/kilo
Require either true | false in parameter to so-elastic-auth and ensur…
2021-06-22 15:31:48 -04:00
Jason Ertel
26bb6cc011 Require either true | false in parameter to so-elastic-auth and ensure all minions are fully updated with the new auth setting 2021-06-22 15:29:48 -04:00
Jason Ertel
bc80ef9a80 Merge pull request #4590 from Security-Onion-Solutions/kilo
only attempt to upgrade salt on minions if the minion count it > 1
2021-06-22 11:36:37 -04:00
m0duspwnens
9fad0876c5 only attempt to upgrade salt on minions if the minion count it > 1 2021-06-22 11:31:31 -04:00
Jason Ertel
914e635b4a Merge pull request #4589 from Security-Onion-Solutions/TOoSmOotH-patch-1
Fix Retry Spam
2021-06-22 10:15:39 -04:00
Mike Reeves
85bb234cf9 Fix Retry Spam 2021-06-22 10:14:33 -04:00
Mike Reeves
f7675a5dea Merge pull request #4588 from Security-Onion-Solutions/souperduper
let the first highstate pass
2021-06-22 09:58:00 -04:00
Josh Patterson
7b662055dd Merge pull request #4587 from Security-Onion-Solutions/kilo
fix timeout for docker_container.running for so-dockerregistry
2021-06-22 09:56:24 -04:00
m0duspwnens
d78c6f1a74 Merge branch 'kilo' of https://github.com/Security-Onion-Solutions/securityonion into kilo 2021-06-22 09:54:35 -04:00
m0duspwnens
9fa83d1cee change to client_timeout 2021-06-22 09:54:25 -04:00
Mike Reeves
6e780164ea Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-22 09:52:44 -04:00
Jason Ertel
2ca8da0710 Merge pull request #4585 from Security-Onion-Solutions/kilo
Kilo
2021-06-22 08:38:39 -04:00
Jason Ertel
c3deabae36 Update init.sls 2021-06-22 08:30:54 -04:00
m0duspwnens
9cdbcb72ac Merge branch 'kilo' of https://github.com/Security-Onion-Solutions/securityonion into kilo 2021-06-22 08:23:26 -04:00
m0duspwnens
bc86590411 only add sosyncuser cron if startup_states: highstate is set in minion config 2021-06-22 08:23:16 -04:00
Jason Ertel
cb167f3d74 Merge pull request #4584 from Security-Onion-Solutions/kilo
retry on so-dockerregistry
2021-06-22 08:08:28 -04:00
Jason Ertel
8ddc99e91f Allow for adjusting SOC session timeout 2021-06-22 08:07:52 -04:00
Jason Ertel
dcc9af946a Avoid logging when sync is unnecessary due to cronjob log output spam 2021-06-22 08:07:52 -04:00
m0duspwnens
e4e3b199fc retry on so-dockerregistry 2021-06-22 08:05:08 -04:00
Josh Patterson
bf61c82cf2 Merge pull request #4581 from Security-Onion-Solutions/kilo
adding elasticsearch.auth to heavynode and searchnode
2021-06-21 14:48:32 -04:00
m0duspwnens
c9ee28ce01 adding elasticsearch.auth to heavynode and searchnode 2021-06-21 14:47:24 -04:00
Jason Ertel
5135beb036 Merge pull request #4579 from Security-Onion-Solutions/kilo
Improve user sync algorithm
2021-06-21 12:40:27 -04:00
Jason Ertel
f36ef86ccc Improve algorithm for determining if a user sync is necessary; Apply salt state in foreground to avoid collisions with setup salt states. 2021-06-21 12:38:02 -04:00
Jason Ertel
5e042bf4b8 Improve algorithm for determining if a user sync is necessary; Apply salt state in foreground to avoid collisions with setup salt states. 2021-06-21 12:16:47 -04:00
Josh Brower
130ce34686 Merge pull request #4578 from Security-Onion-Solutions/fix/esAlerter
esalerter ES creds fix
2021-06-21 11:08:59 -04:00
Josh Brower
591ef540a6 esalerter ES creds fix 2021-06-21 10:50:09 -04:00
Josh Patterson
697f6ab538 Merge pull request #4577 from Security-Onion-Solutions/issue/1333
remove the salt-minion check for schedules
2021-06-21 09:05:18 -04:00
m0duspwnens
ba5b5db2c4 remove the salt-minion check for schedules 2021-06-21 08:56:24 -04:00
Jason Ertel
e7afbab6a1 Merge pull request #4576 from Security-Onion-Solutions/kilo
Fix intermittent 'like' failures; Ensure bash is on first line of loa…
2021-06-21 07:09:10 -04:00
Jason Ertel
5298cb8cfb Update copyrights 2021-06-21 07:06:49 -04:00
Jason Ertel
777bece2eb Fix intermittent 'like' failures; Ensure bash is on first line of load templates script 2021-06-20 22:14:13 -04:00
Mike Reeves
7daad1a52a Merge pull request #4571 from Security-Onion-Solutions/kilo
Ensure htpasswd exists earlier in the install process
2021-06-18 21:45:29 -04:00
Jason Ertel
60fd3c6bd3 Ensure htpasswd exists earlier in the install process 2021-06-18 20:01:32 -04:00
Josh Patterson
dc1c82f347 Merge pull request #4567 from Security-Onion-Solutions/issue/1333
Issue/1333
2021-06-18 16:12:42 -04:00
m0duspwnens
c7a58816b6 move condition to avoid wrong notic about schedule not set in pillar 2021-06-18 15:30:51 -04:00
m0duspwnens
48c3cb4816 if the salt-minion service isnt running when the state is rendered, dont try to apply schedule - https://github.com/Security-Onion-Solutions/securityonion/issues/1333 2021-06-18 14:56:01 -04:00
Jason Ertel
6e7f2107cb Merge pull request #4566 from Security-Onion-Solutions/kilo
Remove unused mode
2021-06-18 14:45:02 -04:00
Jason Ertel
101b835cf6 Remove unused mode 2021-06-18 14:34:42 -04:00
Jason Ertel
558a90aaf8 Merge pull request #4563 from Security-Onion-Solutions/kilo
Disable HaveIBeenPwned API (pwnedpasswords.com)
2021-06-18 08:41:23 -04:00
Jason Ertel
1d4161ba31 Disable HaveIBeenPwned API (pwnedpasswords.com) 2021-06-18 08:36:36 -04:00
Mike Reeves
78d53af27c Merge pull request #4562 from Security-Onion-Solutions/kilo
Fix wrong grep file
2021-06-17 21:19:05 -04:00
Jason Ertel
188b4424e4 Fix wrong grep file 2021-06-17 21:00:56 -04:00
Mike Reeves
0615d635eb let the first highstate pass 2021-06-17 16:12:39 -04:00
Mike Reeves
85d7e75fb1 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-17 16:09:11 -04:00
Jason Ertel
833559dde6 Merge pull request #4559 from Security-Onion-Solutions/kilo
Kilo
2021-06-17 15:55:28 -04:00
Jason Ertel
b294cee278 Remove passwords from soctopus templates since these are the basis for elastalert rules, which will use the user/pass at the elastalert global config level 2021-06-17 15:53:07 -04:00
Jason Ertel
afe7ddb480 Remove passwords from soctopus templates since these are the basis for elastalert rules, which will use the user/pass at the elastalert global config level 2021-06-17 15:51:53 -04:00
Jason Ertel
98526af82a Merge pull request #4558 from Security-Onion-Solutions/kilo
Lock so-user to avoid two processes from overwriting eachother
2021-06-17 15:23:42 -04:00
Jason Ertel
0cb4562254 Lock so-user to avoid two processes from overwriting eachother 2021-06-17 15:19:39 -04:00
Josh Patterson
70f0ee719c Merge pull request #4557 from Security-Onion-Solutions/fix_soup_elasticcurl
Fix soup elasticcurl
2021-06-17 15:02:27 -04:00
m0duspwnens
63b120e9e2 use just curl for elastic in soup 2021-06-17 14:56:05 -04:00
m0duspwnens
d587120613 set ELASTICCUURL default as curl 2021-06-17 14:42:04 -04:00
Mike Reeves
0dc4bc3cee Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-17 13:30:58 -04:00
Josh Patterson
79aad225a4 Merge pull request #4552 from Security-Onion-Solutions/kilo
Kilo
2021-06-17 09:38:41 -04:00
m0duspwnens
8cd2bc7c13 adding so-eval to ES_INCLUDED_NODES 2021-06-17 09:37:21 -04:00
m0duspwnens
2a5198cae4 change perms to resolve error about module-setup.yml being 660 2021-06-17 08:49:21 -04:00
Jason Ertel
b8c463db82 Merge pull request #4551 from Security-Onion-Solutions/kilo
Fix require statement
2021-06-16 21:49:47 -04:00
Jason Ertel
059b016c62 Fix require statement 2021-06-16 21:48:31 -04:00
Jason Ertel
f1429632d2 Merge pull request #4549 from Security-Onion-Solutions/kilo
Elastic auth: Fun with Salt
2021-06-16 17:57:58 -04:00
Jason Ertel
2d34208269 Elastic auth: Fun with Salt 2021-06-16 17:52:22 -04:00
Jason Ertel
36c9054744 Merge pull request #4547 from Security-Onion-Solutions/kilo
Kilo
2021-06-16 14:55:27 -04:00
William Wernert
5e11efb0b9 Merge pull request #4548 from Security-Onion-Solutions/fix/soup-merge-fix
Fix merge issue in soup
2021-06-16 14:36:24 -04:00
William Wernert
703988b376 Fix merge issue in soup 2021-06-16 14:28:20 -04:00
Jason Ertel
fefd2677fb Only include so-common if available. It only is used for requiring root, but since this script is needed before common is installed, we can safely assume that it's being run as root already (during the install) 2021-06-16 14:26:26 -04:00
Jason Ertel
a323aeb8fa Allow so-elastic-auth to run before common even though the script has dependency on a common-provided script (benign error). This is needed first since common will need to know if auth is enabled 2021-06-16 14:23:58 -04:00
Mike Reeves
8d6b0e23ce Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-06-16 13:23:44 -04:00
Jason Ertel
edac99e5a9 Merge pull request #4546 from Security-Onion-Solutions/kilo
Accept either 200 or 401 instead of wasting 3 minutes waiting for thi…
2021-06-16 11:41:23 -04:00
Jason Ertel
dd14235e31 Accept either 200 or 401 instead of wasting 3 minutes waiting for this to timeout 2021-06-16 11:39:21 -04:00
Jason Ertel
15eadd4f89 Merge pull request #4545 from Security-Onion-Solutions/kilo
Merge kilo to dev for additional ES Auth changes
2021-06-16 11:04:39 -04:00
Jason Ertel
09fbb045a1 If ES auth disabled ensure user/pass are blank 2021-06-16 09:59:57 -04:00
Josh Patterson
7bdd0d3bf1 Merge pull request #4543 from Security-Onion-Solutions/issue/2977
Issue/2977
2021-06-16 08:16:36 -04:00
m0duspwnens
ebea9a7198 remove space 2021-06-16 08:07:28 -04:00
m0duspwnens
ad9441bb60 prevent suricata state from running on manager and managersearch https://github.com/Security-Onion-Solutions/securityonion/issues/2977 2021-06-16 08:06:26 -04:00
Jason Ertel
989f9dce42 Ensure sqlite.db exists before querying it; Execute so-elastic-auth after common state has been applied and redirect output to setup log 2021-06-15 16:57:13 -04:00
Jason Ertel
b95437347e Upgrade ES to 7.13.2 2021-06-15 12:50:57 -04:00
Jason Ertel
2d27e0d9a9 Merge pull request #4530 from Security-Onion-Solutions/kilo
Elastic auth
2021-06-15 11:15:19 -04:00
Jason Ertel
c3c078e5be Merge pull request #4522 from Security-Onion-Solutions/feature/contributing-md
Add CONTRIBUTING.md
2021-06-15 10:25:07 -04:00
Jason Ertel
dd8eb29a18 Continue merge of ECS into Elastic Auth 2021-06-15 09:11:58 -04:00
William Wernert
2d5591a87f Remove draft label 2021-06-14 16:33:52 -04:00
William Wernert
71b079eb54 Add bullet detailing linking pull request to issue 2021-06-14 16:04:22 -04:00
William Wernert
ca6f3807fc Don't use idioms, and remove TBD lines 2021-06-14 15:58:21 -04:00
Doug Burks
c2f6a6983d Merge pull request #4521 from Security-Onion-Solutions/feature/security-md
Create SECURITY.md
2021-06-14 15:51:55 -04:00
Jason Ertel
3891ca2929 Use correct mode param to file.recurse 2021-06-14 15:46:25 -04:00
Doug Burks
20437ef2c7 Create SECURITY.md 2021-06-14 15:42:18 -04:00
William Wernert
7de02d541f Increase width of verified commit screenshot 2021-06-14 15:28:44 -04:00
William Wernert
68e4c5e469 Add CONTRIBUTING.md draft, move markdown images to assets/images 2021-06-14 15:21:46 -04:00
Jason Ertel
62187807f0 Specify elastic creds for playbook alert templates 2021-06-14 14:08:14 -04:00
Jason Ertel
37f4caf536 Make new ECS changes Elastic-auth compatible 2021-06-14 12:13:50 -04:00
Jason Ertel
fca1c6e957 Merge branch 'dev' into kilo 2021-06-14 10:40:04 -04:00
Josh Patterson
0de7e71fa0 Merge pull request #4517 from Security-Onion-Solutions/fix/filebeat
update roles that include es state
2021-06-14 10:02:50 -04:00
m0duspwnens
fd5d540c78 update roles that include es state 2021-06-14 10:00:19 -04:00
m0duspwnens
d2069dc5f2 update roles that include es state 2021-06-14 09:58:50 -04:00
Mike Reeves
2ac832678f Merge pull request #4513 from Security-Onion-Solutions/fix/filebeat
fix two bugs
2021-06-14 08:53:13 -04:00
m0duspwnens
5941332d49 fix two bugs 2021-06-14 08:51:29 -04:00
Josh Patterson
45732bd87a Merge pull request #4494 from Security-Onion-Solutions/fix_module_config_jinja
dont loop if modules arent defined for the node
2021-06-11 13:54:15 -04:00
m0duspwnens
f7600af89b dont loop if modules arent defined for the node 2021-06-11 13:52:33 -04:00
Josh Patterson
5108121b59 Merge pull request #4489 from Security-Onion-Solutions/hotfix/soup_salt
Hotfix/soup salt
2021-06-10 16:04:27 -04:00
Josh Patterson
c2339c84e7 Merge branch 'dev' into hotfix/soup_salt 2021-06-10 15:48:00 -04:00
Jason Ertel
7205c5cb7b Provide timestamp as arg to SOC PCAP pivots 2021-06-10 15:21:03 -04:00
m0duspwnens
ff807c9a6f empty hotfix file for merge into dev 2021-06-10 14:06:24 -04:00
Mike Reeves
0341eb5d8f Merge pull request #4479 from Security-Onion-Solutions/hotfix/soup_salt
Hotfix/soup salt
2021-06-10 13:44:10 -04:00
Mike Reeves
a2e1b1de3a Merge pull request #4484 from Security-Onion-Solutions/pipeline
Pipeline
2021-06-10 13:41:14 -04:00
m0duspwnens
e64059bd7b remove unneeded function 2021-06-10 09:31:10 -04:00
m0duspwnens
46b1de97f5 change function name 2021-06-10 09:30:03 -04:00
Mike Reeves
ca7d2c6d64 Merge branch 'pipeline' of https://github.com/Security-Onion-Solutions/securityonion into pipeline 2021-06-10 09:20:38 -04:00
Mike Reeves
12d4d4a4f7 Dynamix Pipelines take 2 2021-06-10 09:19:15 -04:00
m0duspwnens
7c92054f13 soup hotfix to updating repos for earlier versions of SO so salt will isntall 2021-06-10 09:13:15 -04:00
weslambert
1bef1d5652 Update to apply to any so-prefixed index 2021-06-10 08:16:00 -04:00
Jason Ertel
89a02383b8 Correct cronjob path issue for sysctl; suppress diff outputs from users/roles files; suppress salt state output during user sync 2021-06-09 16:31:32 -04:00
Mike Reeves
7fba904f75 Dynamix Pipelines take 1 2021-06-09 15:32:39 -04:00
Mike Reeves
1c7741fdbe Add templates for SO logs 2021-06-09 12:38:19 -04:00
Mike Reeves
4c90a0ed7e Add templates for SO logs 2021-06-09 12:04:32 -04:00
m0duspwnens
a82b174826 perform the repo changes for any upgrade 2021-06-09 11:53:10 -04:00
Mike Reeves
579ff8c0b4 Add verbosity to checkin 2021-06-09 11:40:17 -04:00
Mike Reeves
264080546c Add log path 2021-06-09 11:37:27 -04:00
Jason Ertel
a0c65e2333 Ensure elastic minions also update their auth files 2021-06-09 09:38:50 -04:00
Jason Ertel
dd73ad544c Rename PATH var to avoid collision with OS PATH var; wrapped password var in quotes to support spaces in Fleet/TheHive passwords 2021-06-09 09:06:29 -04:00
Mike Reeves
33db9023eb Revert to SO taxonomy for zeek and suricata 2021-06-08 13:50:39 -04:00
Mike Reeves
88eea03f97 Revert to SO taxonomy for zeek and suricata 2021-06-08 13:36:50 -04:00
Mike Reeves
a959ec1eb1 Revert to SO taxonomy for zeek and suricata 2021-06-08 13:23:31 -04:00
Mike Reeves
3e138cbc6d Revert to SO taxonomy for zeek and suricata 2021-06-08 13:14:46 -04:00
Jason Ertel
9b61723194 Merge branch 'dev' into kilo 2021-06-08 11:04:09 -04:00
Jason Ertel
d2381b0209 Ensure empty/aborted users/roles files do not get copied onto final filenames 2021-06-08 11:03:56 -04:00
Mike Reeves
4972f69dd6 Merge remote-tracking branch 'remotes/origin/dev' into pipeline 2021-06-08 11:03:14 -04:00
Mike Reeves
56eb220ed6 Revert to SO taxonomy for zeek and suricata 2021-06-08 09:52:05 -04:00
Jason Ertel
343c47d67a Add so-elasticsearch-query tool 2021-06-07 17:26:07 -04:00
Jason Ertel
e53f2217ec Add so-elasticsearch-query tool 2021-06-07 17:24:22 -04:00
Mike Reeves
016a5a5914 Merge pull request #4432 from Security-Onion-Solutions/merge_2.3.52
Merge 2.3.52
2021-06-07 14:10:16 -04:00
William Wernert
9f2adfb67a Merge branch 'master' into merge_2.3.52
# Conflicts:
#	VERSION
2021-06-07 14:08:17 -04:00
Mike Reeves
6e92e7283d Merge pull request #4411 from Security-Onion-Solutions/hotfix-0528
2.3.52
2021-06-07 13:55:51 -04:00
Mike Reeves
e3c16147ce 2.3.52 2021-06-07 09:34:22 -04:00
Jason Ertel
14aa9805b4 Stop failing an install because salt is already running when a highstate is applied at 95% 2021-06-06 18:20:57 -04:00
Jason Ertel
fdab17a3b9 Due to dir ownership restrictions need to run crossthestreams and eval as root 2021-06-06 16:36:35 -04:00
Jason Ertel
bebba7d280 Switch ownership of curl config to socore 2021-06-06 07:43:53 -04:00
Jason Ertel
11b2b2a893 Switch ownership of curl config to socore 2021-06-06 05:42:34 -04:00
Jason Ertel
84141082ab Avoid applying state when adding web user 2021-06-05 08:41:48 -04:00
Jason Ertel
ba29b5e036 Do not apply salt state if already applying a state 2021-06-04 21:56:41 -04:00
Jason Ertel
e22421ec99 Refactor users/roles management via salt due to Salt's clobbering of the inode which breaks Docker mounts 2021-06-04 20:01:30 -04:00
Jason Ertel
416b38fc71 Use cronjob to ensure user synchronization 2021-06-04 11:24:58 -04:00
William Wernert
fd5fcfeaae Merge pull request #4402 from Security-Onion-Solutions/foxtrot
Use variable for whiptail title and make sure all menus in setup have the same title
2021-06-04 11:10:01 -04:00
Mike Reeves
75ff268ecc 2.3.52 2021-06-04 11:03:08 -04:00
Mike Reeves
9f98b8ad2f 2.3.52 2021-06-04 10:59:18 -04:00
Jason Ertel
316035910f Remove inotify beacon due to it not functioning as documented; Add back so-user changes to sync upon so-user changes 2021-06-03 15:15:35 -04:00
William Wernert
d1d09d4aab Remove useless variable assignment 2021-06-03 14:20:52 -04:00
Mike Reeves
31365b266a Update so-zeek-stats 2021-06-03 13:53:11 -04:00
Mike Reeves
2f34e7eeed Update HOTFIX 2021-06-03 11:04:10 -04:00
William Wernert
3aff3ac7e4 Change logic to check for unmanaged nics
Resolves issue mentioned in #4327
2021-06-03 11:00:20 -04:00
William Wernert
d1a185aaae Further standardize whiptail titles 2021-06-03 10:59:14 -04:00
Mike Reeves
ff10432124 Update VERSION 2021-06-03 10:57:20 -04:00
William Wernert
bb5b805983 Merge branch 'fix/missing-version-string' into foxtrot 2021-06-03 10:45:02 -04:00
Jason Ertel
58ae3479dc Fix mispelled db filename; ensure ELASTICCURL is used for loading config objects 2021-06-03 10:11:10 -04:00
William Wernert
d55e007032 Merge pull request #4386 from Security-Onion-Solutions/foxtrot
Update wording for iso location prompt in soup
2021-06-03 09:55:15 -04:00
Jason Ertel
2af43d62eb Wrap curl param in quotes for function call 2021-06-03 08:53:59 -04:00
Jason Ertel
5c527b2c48 Rename username param to user since logstash is 'unique' 2021-06-03 07:51:43 -04:00
Jason Ertel
e6165f0046 Update kibana config load for auth changes 2021-06-03 07:47:32 -04:00
Jason Ertel
70427bc676 Merge branch 'dev' into kilo 2021-06-03 07:41:35 -04:00
Mike Reeves
9ec7cbef8e Merge pull request #4391 from Security-Onion-Solutions/es-7.13.1
Es 7.13.1 saved objects update
2021-06-02 20:23:40 -04:00
Jason Ertel
719d841353 Update saved objects 2021-06-02 20:15:03 -04:00
Jason Ertel
fa6af06204 Avoid running highstate during setup when flipping auth flag 2021-06-02 17:13:59 -04:00
weslambert
cba719b3a0 Remove extra comma 2021-06-02 16:42:09 -04:00
weslambert
4241bb08b8 Add suricata/zeek until we migrate templates 2021-06-02 16:37:43 -04:00
Jason Ertel
901242f7e9 remove extra parenthesis 2021-06-02 16:23:45 -04:00
weslambert
4c74e7f308 Add event.kind and set name to module[dot]dataset 2021-06-02 15:35:26 -04:00
weslambert
db48c15f1d Create event.kind field and rename dataset to be module[dot]dataset 2021-06-02 15:33:18 -04:00
weslambert
a1b34e7a88 Fix Suricata index name 2021-06-02 15:30:14 -04:00
Jason Ertel
fc6b3726a4 Fix missing colon for mode 2021-06-02 15:23:16 -04:00
Mike Reeves
9c9bcac61b Update DNS queries 2021-06-02 15:01:14 -04:00
Jason Ertel
588da4d7dc Resolve salt pillar/state/jinja race condition 2021-06-02 14:34:21 -04:00
Mike Reeves
e42db3cd2d Fix some hunt queries 2021-06-02 14:05:02 -04:00
Mike Reeves
e8cc88174f Fix some hunt queries 2021-06-02 13:55:05 -04:00
Mike Reeves
7b7111e12c Fix some hunt queries 2021-06-02 13:53:39 -04:00
William Wernert
b3f2c60065 Whiptail title fixes
- Use a variable for the title
- Fix cases where the whiptail title wasn't changed previously
2021-06-02 12:38:32 -04:00
Jason Ertel
20e896cacf Update all configs to pass user/pass to ES 2021-06-02 12:17:15 -04:00
William Wernert
afbf7de9e3 Remove empty lines in iso location prompt 2021-06-02 11:05:43 -04:00
Jason Ertel
4ff85ab0c4 Merge branch 'dev' into kilo 2021-06-02 10:39:51 -04:00
Jason Ertel
dd7388e577 Merge pull request #4382 from Security-Onion-Solutions/jertel/timeouts
Increase SOC API timeouts and ES timeout from 2m to 5m
2021-06-02 10:28:36 -04:00
Mike Reeves
77f13961ad Merge remote-tracking branch 'remotes/origin/dev' into pipeline 2021-06-02 10:12:17 -04:00
Mike Reeves
e00fe0a732 Enable for all modes 2021-06-02 10:02:11 -04:00
Jason Ertel
c757d21360 Increase default SOC API and ES timeouts from 2m to 5m 2021-06-02 09:38:59 -04:00
Jason Ertel
3a134cc706 fix merge conflicts 2021-06-02 09:16:28 -04:00
Jason Ertel
7aede4d058 Persist chown/chmod settings on users/roles files 2021-06-02 09:01:16 -04:00
Mike Reeves
5983eae3a8 fix filebeat module syntax 2021-06-01 17:47:13 -04:00
Josh Patterson
9d6dca9c64 Merge pull request #4372 from Security-Onion-Solutions/pipeline_userpass
fix typo
2021-06-01 17:46:41 -04:00
m0duspwnens
7b68c1bc9b fix typo 2021-06-01 17:45:52 -04:00
Josh Patterson
9d905368ca Merge pull request #4371 from Security-Onion-Solutions/pipeline_userpass
Pipeline userpass
2021-06-01 17:01:51 -04:00
m0duspwnens
867613669d changes for syncing users 2021-06-01 17:01:03 -04:00
Mike Reeves
fd1de624c8 Disable TTY for filebeat script 2021-06-01 14:50:21 -04:00
Jason Ertel
2a2247e1da Additional so-user sync adjustments 2021-06-01 14:45:01 -04:00
Jason Ertel
7a59bee315 Add so-elastic-auth script 2021-06-01 12:48:53 -04:00
William Wernert
91c8a7c65b Use correct syntax for tar to drop directory structure 2021-06-01 12:16:56 -04:00
Mike Reeves
73a0b31380 elastic pipeline enable 2021-06-01 12:12:20 -04:00
m0duspwnens
ef00695b07 fix typo 2021-06-01 11:31:50 -04:00
m0duspwnens
bfaffbc87e add reactor and beacon for sqlite db 2021-06-01 11:15:28 -04:00
William Wernert
e800d62df4 Merge branch 'dev' into fix/update-iso-soup-wording 2021-06-01 11:12:17 -04:00
Josh Patterson
6fe765434e Merge pull request #4362 from Security-Onion-Solutions/pipeline_userpass
Pipeline userpass
2021-06-01 10:56:29 -04:00
m0duspwnens
7e48740ea7 fix merge conflict 2021-06-01 10:56:02 -04:00
m0duspwnens
d25a439bd4 more changes 2021-06-01 10:53:58 -04:00
Jason Ertel
ed8c85df2b Only sync web users if teh sqlite db exists 2021-06-01 10:26:33 -04:00
Josh Patterson
c4ae8c3418 Merge pull request #4359 from Security-Onion-Solutions/pipeline_userpass
generate pillar file if auth enabled or not
2021-06-01 09:38:34 -04:00
m0duspwnens
f87dce8ec1 generate pillar file if auth enabled or not 2021-06-01 09:38:07 -04:00
Josh Patterson
5d2f1c8e11 Merge pull request #4357 from Security-Onion-Solutions/pipeline_userpass
fix logic
2021-06-01 08:36:48 -04:00
m0duspwnens
1aa2852ed6 fix logic 2021-06-01 08:35:43 -04:00
Jason Ertel
a42a406f53 Remove extra users file mounts; disable elastic anon access when auth enabled 2021-05-29 07:52:08 -04:00
Jason Ertel
47b56e78b3 Fix missing endif 2021-05-28 20:07:51 -04:00
Josh Patterson
52db7b32ef Merge pull request #4335 from Security-Onion-Solutions/pipeline_userpass
fix logic on password created in pillar and fix how me manage
2021-05-28 18:29:59 -04:00
m0duspwnens
3aad5a30e9 fix logic on password created in pillar and fix how me manage 2021-05-28 18:28:53 -04:00
Jason Ertel
b8a10f2e86 Support multiple elastic system users 2021-05-28 15:59:51 -04:00
Josh Patterson
4e8dc0e3b9 Merge pull request #4334 from Security-Onion-Solutions/pipeline_userpass
Pipeline userpass
2021-05-28 15:29:07 -04:00
m0duspwnens
edf60f80f7 manager and common states now require elasticsearch.auth state 2021-05-28 15:26:26 -04:00
William Wernert
a94c598d00 Merge pull request #4333 from Security-Onion-Solutions/feature/show-version-in-setup
Show version in setup
2021-05-28 15:15:43 -04:00
m0duspwnens
68abaa5e3c update auth.map and curl.config to use new elasticsearch:auth pillar format 2021-05-28 14:03:21 -04:00
m0duspwnens
63b31de2b8 add additional users - manage file if user name isnt returned from grepping the file 2021-05-28 13:58:03 -04:00
Mike Reeves
eac5c604bd Update packetloss.sh 2021-05-28 12:57:35 -04:00
Mike Reeves
e7d8df499c Update HOTFIX 2021-05-28 12:55:57 -04:00
Josh Patterson
35845440c6 Merge pull request #4330 from Security-Onion-Solutions/pipeline_userpass
remove unneeded curl.config template
2021-05-28 10:38:43 -04:00
m0duspwnens
18926009d3 remove unneeded curl.config template 2021-05-28 10:38:06 -04:00
William Wernert
d55a9e6274 Add version to all whiptail titles 2021-05-28 10:20:19 -04:00
William Wernert
ba011581ef Add version to ending summary 2021-05-28 10:14:58 -04:00
Jason Ertel
1788ceccea Merge pull request #4329 from Security-Onion-Solutions/fix/kibana_7.13.0
bump Kibana version to 7.13.0
2021-05-28 09:14:18 -04:00
doug
ada8255af0 bump version to 7.13.0 2021-05-28 08:59:40 -04:00
Josh Patterson
f1a6f66d49 Merge pull request #4317 from Security-Onion-Solutions/pipeline_userpass
remove vault pg from when i was testing
2021-05-27 13:55:01 -04:00
m0duspwnens
423793ecf9 remove vault pg from testing 2021-05-27 13:50:22 -04:00
Josh Patterson
94cfa3c9d0 Merge pull request #4314 from Security-Onion-Solutions/pipeline_userpass
Pipeline userpass
2021-05-27 11:34:34 -04:00
m0duspwnens
0134ceef16 merge and resolve conflict in elasticsearch state 2021-05-27 11:33:44 -04:00
m0duspwnens
b23ce7462e add depenency 2021-05-27 11:26:25 -04:00
Doug Burks
cf3dda6869 Merge pull request #4300 from j-bernal/patch-1
Update so-whiptail
2021-05-27 07:58:16 -04:00
m0duspwnens
dc8520df42 user curl.config for curl and elasticscripts 2021-05-26 18:04:30 -04:00
Jason Ertel
d9c5976ed0 Merge pull request #4304 from Security-Onion-Solutions/feature/1596
add menu.actions.json and update soc.json
2021-05-26 16:41:30 -04:00
doug
aeea5701e4 completely disable both alerts.actions.json and hunt.actions.json 2021-05-26 16:34:05 -04:00
m0duspwnens
7263e35a89 happy little comment 2021-05-26 14:52:59 -04:00
m0duspwnens
4d991d3773 propogate users and users_roles 2021-05-26 14:52:10 -04:00
Mike Reeves
bfcde15a24 elastic pipeline test 2021-05-26 14:22:14 -04:00
doug
ee675546ac add menu.actions.json and update soc.json 2021-05-26 14:09:00 -04:00
Jason Ertel
b43e6c5d6b Salt will handle auto-sync 2021-05-26 13:51:24 -04:00
Jason Ertel
c531ef0773 Move user sync'd files to saltstack for grid propagation 2021-05-26 13:44:30 -04:00
Jason Ertel
a6a4c03029 Improve error scenarios for user sync; Ensure user sync runs before Elastic container starts 2021-05-26 12:08:10 -04:00
Mike Reeves
b525cfc787 Remove old modules 2021-05-26 11:07:53 -04:00
m0duspwnens
842aa97f7e load filebeat modules when es container starts and if fb container is running 2021-05-26 11:00:18 -04:00
Mike Reeves
34d4eedf67 Remove old modules 2021-05-26 10:11:47 -04:00
Josh Brower
4a109d6af1 Merge pull request #4299 from Security-Onion-Solutions/feature/so-pcap-pull
Feature/so-pcap-export
2021-05-26 09:59:45 -04:00
John Bernal
cb40a76247 Update so-whiptail
Updated Zeek capitalization when prompting for the number of processes.
2021-05-26 09:55:14 -04:00
Josh Brower
ed249600d3 Merge remote-tracking branch 'remotes/origin/dev' into feature/so-pcap-pull 2021-05-26 09:52:58 -04:00
Josh Brower
0187c9d6df Adds so-pcap-export 2021-05-26 09:51:37 -04:00
William Wernert
6da37966d9 Update wording for iso location prompt in soup 2021-05-26 09:32:25 -04:00
m0duspwnens
525d4325c7 define ZEEKLOGLOOKUP in the yaml 2021-05-25 17:18:58 -04:00
m0duspwnens
ecf7e25a51 fix merge conflict 2021-05-25 17:16:44 -04:00
Jason Ertel
ec2f8fe6c8 Synchronize SOC passwords with Elastic 2021-05-25 17:16:05 -04:00
m0duspwnens
dfaf40f583 add zeekloglookup to translate zeeklogs to filebeat filesets 2021-05-25 17:14:26 -04:00
Mike Reeves
543154f037 Remove old modules 2021-05-25 16:58:18 -04:00
Mike Reeves
cd3e355f84 Fix zeek depth 2021-05-25 16:54:20 -04:00
m0duspwnens
2eee6b45bc Merge branch 'pipeline' of https://github.com/Security-Onion-Solutions/securityonion into pipeline 2021-05-25 16:52:08 -04:00
m0duspwnens
0de5c6f204 fix sodefault modules 2021-05-25 16:52:02 -04:00
Mike Reeves
9363fc153c Fix pillar for module 2021-05-25 16:44:13 -04:00
m0duspwnens
2aacd5b9b6 so defaults filebeat modules 2021-05-25 16:40:50 -04:00
m0duspwnens
c3b2e1e8b2 dont show changes 2021-05-25 16:16:57 -04:00
m0duspwnens
e261c197f3 add elasticsearch.auth state to statnalone node 2021-05-25 13:46:18 -04:00
m0duspwnens
747dc77c92 comment out the hackery 2021-05-25 13:23:26 -04:00
m0duspwnens
35cc7b27e9 remove extra quote 2021-05-25 13:12:30 -04:00
William Wernert
67828a86c1 Merge pull request #4289 from Security-Onion-Solutions/foxtrot
Soup error handling, reorder sensoroni state
2021-05-25 12:42:01 -04:00
m0duspwnens
58ec31d6c7 pass ELASTICAUTH to script 2021-05-25 12:02:41 -04:00
m0duspwnens
6da0b57ce1 fix file.file_exists 2021-05-25 11:55:22 -04:00
m0duspwnens
8d9d5a267a generate elasticsearch.auth pillar if it doesnt exist 2021-05-25 11:52:58 -04:00
William Wernert
94af55a951 Fix typo 2021-05-25 11:25:37 -04:00
William Wernert
192cec1825 Change how version with dashes are handled by so-docker-prune 2021-05-25 11:25:12 -04:00
Mike Reeves
1e564c2140 Fix zeek jinja 2021-05-25 10:22:36 -04:00
William Wernert
7e008378ba Replace string with variable, remove unnecessary text 2021-05-25 09:23:44 -04:00
William Wernert
dbc4ffd69a Fix typo 2021-05-25 09:20:45 -04:00
m0duspwnens
5a1e8d9fe9 update kibana scripts for elastic auth 2021-05-25 08:50:55 -04:00
Mike Reeves
5e5d30a377 Fix 3rd party modules 2021-05-25 08:26:25 -04:00
William Wernert
3bc0def02a Add failure message to salt-master check 2021-05-24 16:45:05 -04:00
m0duspwnens
bd301880ad define the default 2021-05-24 16:32:30 -04:00
m0duspwnens
2deb703272 map users_roles and users conf into docker container 2021-05-24 16:30:55 -04:00
Jason Ertel
8c6489a49a Initial pass at synchronizing users file 2021-05-24 15:48:05 -04:00
m0duspwnens
87609ba5d1 fix elasticcurl if auth is enabled 2021-05-24 15:44:01 -04:00
m0duspwnens
ba3a51387c set default to False 2021-05-24 15:31:46 -04:00
William Wernert
ffd5bfc480 Force images from automated branches to a very high semver 2021-05-24 15:25:03 -04:00
m0duspwnens
a4226cc39a use elastic map file 2021-05-24 15:14:05 -04:00
William Wernert
dcb89b704a Move sensoroni state out of the * block of top.sls
Resolves #3559
2021-05-24 13:45:12 -04:00
William Wernert
686c7c5a6c Add exception handling for docker API error to so-docker-prune 2021-05-24 13:26:43 -04:00
Jason Ertel
409eea677d Continue removal of argon hashing 2021-05-24 11:50:53 -04:00
William Wernert
99d41d1606 Add ending newline to soup 2021-05-24 11:29:40 -04:00
Jason Ertel
915b7aa2df Switch Kratos config from argon2 to bcrypt12 2021-05-24 10:52:54 -04:00
m0duspwnens
e2d5102a0e changes for script to auth to elastic 2021-05-24 10:13:29 -04:00
Mike Reeves
e5a41b60ef Merge remote-tracking branch 'remotes/origin/dev' into pipeline 2021-05-24 09:14:03 -04:00
Jason Ertel
0572ea4095 Fail curl command if a failing status code is returned by the remote server 2021-05-21 17:27:11 -04:00
Jason Ertel
71032150c5 Add secure HTTP headers to all SO application responses to reduce exposure to browser and other HTTP-related vulnerabilities 2021-05-21 17:27:00 -04:00
Jason Ertel
36d13dd414 Merge branch 'dev' into kilo 2021-05-21 17:26:50 -04:00
William Wernert
946e369a44 Merge branch 'dev' into foxtrot 2021-05-21 15:26:24 -04:00
Mike Reeves
18922ed6f5 Merge pull request #4263 from Security-Onion-Solutions/feature/merge-2.3.51
Merge 2.3.51 into dev
2021-05-21 12:47:15 -04:00
William Wernert
c1dd4dafe4 Fix influx state 2021-05-21 12:41:10 -04:00
William Wernert
fe3aec173f Merge branch 'master' into feature/merge-2.3.51
# Conflicts:
#	VERSION
#	salt/influxdb/init.sls
2021-05-21 12:31:54 -04:00
Mike Reeves
c5d0286e24 Merge pull request #4254 from Security-Onion-Solutions/2.3.51
2.3.51
2021-05-21 12:15:04 -04:00
Mike Reeves
7aed01658f Sig file for 2.3.51 2021-05-20 22:10:36 -04:00
Mike Reeves
de4fde4ee3 Merge pull request #4248 from Masaya-A/MAC-Address
Showing Mac Address to select suitable NICs (Discussions #4214)
2021-05-19 21:18:15 -04:00
Masaya-A
3450219bc7 Drop error to /dev/null 2021-05-20 09:33:14 +09:00
Jason Ertel
b440f73336 Truncate wait_for_web_response.log before each wait invocation 2021-05-19 18:37:08 -04:00
Masaya-A
6af126b872 Fix array 2021-05-19 10:02:19 +09:00
Masaya-A
ac42cba50b Adding MAC Address for NIC List 2021-05-19 09:06:02 +09:00
Masaya-A
5d263f63cb Merge pull request #10 from Security-Onion-Solutions/dev
Dev Sync
2021-05-19 08:59:49 +09:00
William Wernert
f445186f1e Remove redundant error messages 2021-05-18 13:38:55 -04:00
Jason Ertel
25e2edc6d2 Reset HOTFIX with new release 2021-05-18 12:31:33 -04:00
William Wernert
bdd53ed5e3 Change retry delay + count 2021-05-18 12:23:40 -04:00
Jason Ertel
c207504657 Merge branch '2.3.51' of ssh://github.com/security-onion-solutions/securityonion into 2.3.51 2021-05-18 09:52:07 -04:00
Jason Ertel
fe155222c2 Introduce mixed-case sensor into distributed test 2021-05-18 09:51:54 -04:00
Josh Patterson
9b4325662b Merge pull request #4218 from Security-Onion-Solutions/issue/4207
Issue/4207
2021-05-18 09:04:26 -04:00
m0duspwnens
0de1c9a669 removing unreference pillar file docker/config.sls 2021-05-18 07:57:00 -04:00
m0duspwnens
ef32bff302 fix up soc.json 2021-05-17 18:29:27 -04:00
m0duspwnens
e50002e0ca influx and grafana default for manager nodes - https://github.com/Security-Onion-Solutions/securityonion/issues/4207 2021-05-17 16:26:12 -04:00
William Wernert
dbd5ef70c9 Change retry delay + count 2021-05-17 16:19:31 -04:00
William Wernert
ce9554281e Fix backwards logic 2021-05-17 16:08:34 -04:00
William Wernert
4e1fba5b38 Only echo error code if not using retry 2021-05-17 16:04:13 -04:00
William Wernert
3f238f7a4a Set flag so trap doesn't repeat info 2021-05-17 16:02:52 -04:00
William Wernert
b89091cc7d Try retrying in curl instead of shell function 2021-05-17 15:58:25 -04:00
Mike Reeves
d001597e52 Update README.md 2021-05-17 15:56:46 -04:00
Mike Reeves
4c7cee4ebc Update VERSION 2021-05-17 15:55:49 -04:00
Mike Reeves
6eed730209 Merge pull request #4213 from Security-Onion-Solutions/zeekhotfix
Zeekhotfix
2021-05-17 15:55:17 -04:00
William Wernert
992b76a0f0 Remove debug lines 2021-05-17 15:38:10 -04:00
William Wernert
2bcd51b21c Fix error message 2021-05-17 15:10:57 -04:00
William Wernert
3625453668 Don't unmount airgap directory if not airgap 2021-05-17 11:00:28 -04:00
William Wernert
5821a122cc Merge branch 'dev' into issue/3220 2021-05-17 10:58:06 -04:00
Josh Patterson
891e414cb6 Merge pull request #4202 from Security-Onion-Solutions/issue/3264
Issue/3264
2021-05-14 16:30:16 -04:00
m0duspwnens
54f9e3ff9d remove leading space on comment line 2021-05-14 16:24:16 -04:00
m0duspwnens
1c0cc15fdb Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-05-14 15:19:58 -04:00
m0duspwnens
231e07dbbd circumvent file.patch putting ERROR in log if patch doesnt need applied 2021-05-14 15:19:45 -04:00
m0duspwnens
3859f6464a dont be quiet on first grep 2021-05-14 08:56:42 -04:00
Mike Reeves
71a74a6656 Added updated script and core modules 2021-05-13 13:07:16 -04:00
Josh Patterson
3668d1aadf Merge pull request #4188 from Security-Onion-Solutions/issue/3264
install influxdb and grafana during setup prior to final highstate
2021-05-13 11:46:57 -04:00
m0duspwnens
d3af06e7a4 handle exception if influxdb module doesnt exist 2021-05-13 11:00:42 -04:00
m0duspwnens
74f2a61b25 install influxdb and grafana during setup prior to final highstate 2021-05-13 09:06:47 -04:00
Mike Reeves
68a667ee7c Add thirfpartydefaults.yml 2021-05-12 15:31:19 -04:00
William Wernert
192b5db25a Add true to end of functions ending with shorthand comparison
Functions ending with test using [[ <false> ]] && <cmd> will trip set -e, so adding true to the last line of the function will prevent the function from returning a nonzero code
2021-05-12 15:26:39 -04:00
William Wernert
9ced391c11 Fix indent in main(), re-add trap, remove ERR_HANDLED variable 2021-05-12 13:20:59 -04:00
William Wernert
807b525c79 Temp remove exit on failure + bash trap 2021-05-12 11:19:33 -04:00
William Wernert
7bd04deae7 Unset exit on failure for pkill command 2021-05-12 10:45:03 -04:00
William Wernert
c379822bf0 Set variable to skip trap if error already handled 2021-05-11 12:59:49 -04:00
m0duspwnens
ad67167e97 remove whitespace control 2021-05-11 12:58:21 -04:00
m0duspwnens
4012a8276c add template for module .yml file 2021-05-11 12:22:25 -04:00
m0duspwnens
efc028d0a5 handle the docker port bindings for filebeat modules 2021-05-10 18:08:47 -04:00
Mike Reeves
01a121e029 Add defaults.yml 2021-05-10 15:29:50 -04:00
William Wernert
f793450d97 Return actual exit code from retry 2021-05-10 13:22:13 -04:00
William Wernert
fec868432f Try to fix bash trap 2021-05-10 11:59:22 -04:00
William Wernert
d3b08beb53 Only cat file if it exists 2021-05-10 11:11:54 -04:00
William Wernert
a75d4841d0 Add debug lines 2021-05-10 11:05:24 -04:00
William Wernert
8b3730748b Add debug line and remove exit command on retry failure 2021-05-10 10:58:29 -04:00
William Wernert
de5552c91a Merge branch 'dev' into issue/3220 2021-05-10 10:33:52 -04:00
m0duspwnens
a7e6dec51d Merge remote-tracking branch 'remotes/origin/dev' into kilo 2021-05-10 09:57:50 -04:00
Josh Patterson
26335a9b42 Merge pull request #4140 from Security-Onion-Solutions/issue/3264
https://github.com/Security-Onion-Solutions/securityonion/issues/3264
2021-05-10 08:14:12 -04:00
William Wernert
f8dd6890b2 Unset/set exit on command fail for retries 2021-05-07 16:50:59 -04:00
m0duspwnens
1c103f92f2 Merge remote-tracking branch 'remotes/origin/issue/3264' into kilo 2021-05-07 14:48:42 -04:00
m0duspwnens
e3ce683970 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-05-07 14:48:16 -04:00
m0duspwnens
9eb63b17f9 exit if retry fails 2021-05-07 14:48:02 -04:00
m0duspwnens
755370eff0 Merge remote-tracking branch 'remotes/origin/dev' into kilo 2021-05-07 14:46:08 -04:00
Jason Ertel
407ad51244 Merge pull request #4139 from Security-Onion-Solutions/issue/4081
FEATURE: Pivot from Alerts/Hunt to CyberChef #4081
2021-05-07 13:31:21 -04:00
Doug Burks
293fb0a76d FEATURE: Pivot from Alerts/Hunt to CyberChef #4081 2021-05-07 13:23:46 -04:00
Doug Burks
2e228c8355 FEATURE: Pivot from Alerts/Hunt to CyberChef #4081 2021-05-07 13:22:03 -04:00
m0duspwnens
009f7617c1 check salt-master is responding 2021-05-07 12:47:22 -04:00
m0duspwnens
b39c8c1f1f exit after 50 tries if manager cant connect to iteself via salt 2021-05-07 11:02:23 -04:00
William Wernert
7b29c6427b Add preliminary error handling in soup 2021-05-07 10:55:17 -04:00
m0duspwnens
d0e084b8ea change command to test if salt-master is accepting connections 2021-05-07 10:20:04 -04:00
m0duspwnens
46223e0b30 add quotes around minionid 2021-05-07 08:59:47 -04:00
m0duspwnens
5d3b147b42 change retry command 2021-05-06 20:32:26 -04:00
m0duspwnens
6474c296e1 dont need to specify dest rp 2021-05-06 20:26:13 -04:00
m0duspwnens
b8ad80ae35 update comment 2021-05-06 17:49:40 -04:00
m0duspwnens
78240b4b52 change retry command 2021-05-06 17:49:02 -04:00
m0duspwnens
e7c716ede4 merge with dev, use retry to check if manager up instead of sleep in soup 2021-05-06 16:44:34 -04:00
m0duspwnens
fb986b5cff set both log levels to error 2021-05-06 14:55:14 -04:00
m0duspwnens
a49f2e2d98 change log_level_logfile to error for /opt/so/log/salt/minion 2021-05-06 13:38:16 -04:00
Mike Reeves
90b3462ead No recurse for you 2021-05-06 13:29:15 -04:00
m0duspwnens
da528e802f ensure migration script doesnt migrate the current days data and fix downsample cq to move from so_short_term rp 2021-05-06 12:52:47 -04:00
Josh Brower
23b4327c28 Merge pull request #4072 from petiepooo/fix-sleep
fix 5-second sleep
2021-05-06 12:48:34 -04:00
Mike Reeves
1de768c182 Update HOTFIX 2021-05-06 12:02:05 -04:00
William Wernert
9f6dfa4d2e Merge pull request #4112 from Security-Onion-Solutions/master
Bring hotfix changes into dev
2021-05-06 10:44:25 -04:00
Mike Reeves
96c20ea3cf Merge pull request #4080 from Security-Onion-Solutions/hotfix2
GRIDFIX Hotfix
2021-05-06 10:34:17 -04:00
Wes Lambert
728d1f7540 Make Zeek and Suricata great again 2021-05-06 14:06:17 +00:00
Wes Lambert
ee92ba20b0 Add modules path reference 2021-05-06 13:56:39 +00:00
Wes Lambert
1b749cf004 Additional config 2021-05-06 13:55:07 +00:00
Wes Lambert
37929dbd7d Add additional config for Filebeat modules 2021-05-06 13:54:28 +00:00
Wes Lambert
865ba912f8 Merge remote-tracking branch 'remotes/origin/dev' into pipeline 2021-05-06 13:19:31 +00:00
m0duspwnens
9dbb9f519b create so_short_term rp as default so that autogen can just be dropped once data is downsampled 2021-05-06 09:14:49 -04:00
m0duspwnens
20188549f7 add the logic for so-influxdb-migrate 2021-05-05 19:28:16 -04:00
m0duspwnens
925be17d51 clean some commas in so-influxdb-clean 2021-05-05 15:59:18 -04:00
m0duspwnens
0ea4c99102 remove support for months as it isnt supported in InfluxQL 2021-05-05 15:32:53 -04:00
m0duspwnens
db98b7ed27 verify with user before proceedig to clean 2021-05-05 15:08:11 -04:00
m0duspwnens
44de611097 rename to so-influxdb-clean 2021-05-05 14:57:39 -04:00
m0duspwnens
a5ee8fb59d fix the issues with so-influxdb-clear 2021-05-05 14:56:53 -04:00
m0duspwnens
e532804474 move to proper dir 2021-05-05 13:42:21 -04:00
m0duspwnens
ce24781446 first take at so-infludb-clean 2021-05-05 13:29:24 -04:00
weslambert
c867d6648a Merge pull request #4098 from Security-Onion-Solutions/delta
Add ignore above for message keyword field
2021-05-05 08:53:39 -04:00
m0duspwnens
8ae5ae7e57 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-05-05 08:33:47 -04:00
m0duspwnens
6a639edb05 have cq created once again 2021-05-05 08:33:31 -04:00
Wes Lambert
a1a79719fc Add ignore above for message keyword field 2021-05-05 12:07:30 +00:00
m0duspwnens
c5f99b012e comment out creation of cq to test data migration 2021-05-04 13:58:53 -04:00
m0duspwnens
fcd1bea4a3 remove auto data migration, change duration from 0s to 0d 2021-05-04 12:06:03 -04:00
Mike Reeves
0622c77a7f Add filebeat modules 2021-05-04 10:50:13 -04:00
Mike Reeves
8aaf3e1052 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-05-04 10:44:13 -04:00
m0duspwnens
3dcaa1f6fb more logging for influxdb migration 2021-05-04 10:37:25 -04:00
m0duspwnens
2d91e509fa update wording 2021-05-04 10:34:13 -04:00
m0duspwnens
a0f1839162 run in background 2021-05-04 09:59:16 -04:00
m0duspwnens
e2f52765e4 add newline 2021-05-04 09:34:42 -04:00
m0duspwnens
f186a3dde9 make sure user sees influxdb migration message by requiring enter to be pressed to continue 2021-05-04 09:30:38 -04:00
Mike Reeves
10c4a7fd98 Update soup 2021-05-04 09:18:59 -04:00
m0duspwnens
9b065155f4 log iunfluxdb migration to new log 2021-05-04 08:56:13 -04:00
m0duspwnens
12306368cf add post upgrade function for 2.3.60 soup to migrate influxdb data 2021-05-04 08:37:52 -04:00
Mike Reeves
ffa9001df4 Update raid.sh 2021-05-04 07:57:07 -04:00
Mike Reeves
e113e75f4d Update soup 2021-05-03 18:52:40 -04:00
Mike Reeves
9066959945 Update soup 2021-05-03 18:46:24 -04:00
Jason Ertel
6768e8ddf6 copy_new_files usage consistent across soup and hotfixapply scripts 2021-05-03 15:42:24 -04:00
Mike Reeves
a489b369d7 Jertel Compliance 2021-05-03 15:23:34 -04:00
Mike Reeves
074fe46e90 Adding airgap hotfix 2021-05-03 15:02:51 -04:00
Mike Reeves
f56244d708 Adding airgap hotfix 2021-05-03 14:39:32 -04:00
Mike Reeves
cedcf05751 Adding airgap hotfix 2021-05-03 14:38:18 -04:00
Mike Reeves
f04ed94627 Adding airgap hotfix 2021-05-03 14:33:45 -04:00
Mike Reeves
296c1c5a3c Adding airgap hotfix 2021-05-03 14:30:53 -04:00
weslambert
d4e8ea8e72 Merge pull request #4079 from Security-Onion-Solutions/delta
Add event_data to common template so elastalert/playbook event_data f…
2021-05-03 13:45:17 -04:00
Wes Lambert
619402cc67 Add event_data to common template so elastalert/playbook event_data fields can be indexed and searchable 2021-05-03 17:03:30 +00:00
m0duspwnens
b01bfda862 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-05-03 11:49:09 -04:00
William Wernert
da19df5174 Merge pull request #4076 from Security-Onion-Solutions/issue/4004
Don't ask for node description on eval and import installs
2021-05-03 11:43:37 -04:00
William Wernert
19dd9b97d2 Don't ask for node description on eval and import installs 2021-05-03 09:40:53 -04:00
Mike Reeves
21b92ac077 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-05-02 13:06:29 -04:00
Pete
b80dd1ef3e fix 5-second sleep
using wait here instead of sleep tries to wait until pid 5 exits and generates the error
> /usr/sbin/so-playbook-reset: line 25: wait: pid 5 is not a child of this shell
2021-04-30 20:21:50 +00:00
m0duspwnens
d6b9154a88 change how version to be installed is defined to work with centos 2021-04-30 14:48:51 -04:00
m0duspwnens
f9573f7972 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-04-30 13:33:47 -04:00
m0duspwnens
038cadeae8 change version to 2.3.60 to prepare to push to dev 2021-04-30 12:31:57 -04:00
m0duspwnens
e32ca284c5 ensure proper version of python3-influxdb is installed prior to running the states that require it 2021-04-30 11:10:31 -04:00
Mike Reeves
a56426010d Merge pull request #4057 from Security-Onion-Solutions/kilo 2021-04-29 17:46:26 -04:00
Jason Ertel
dda07af4d4 Update Kibana config defaults 2021-04-29 17:44:15 -04:00
Mike Reeves
81bfb202f7 Merge pull request #4055 from Security-Onion-Solutions/kilo 2021-04-29 15:37:34 -04:00
Jason Ertel
b6561fd8e2 Update defaultRoute with new path structure 2021-04-29 15:35:22 -04:00
m0duspwnens
d475e50bef add deps for ubuntu 2021-04-29 13:49:15 -04:00
m0duspwnens
689a01423f fix deps 2021-04-29 13:28:31 -04:00
m0duspwnens
888d637b67 add %} 2021-04-29 13:26:24 -04:00
m0duspwnens
e7660d68cb add %} 2021-04-29 13:25:29 -04:00
m0duspwnens
450a01784b support installing via pip for ubuntu 2021-04-29 13:22:31 -04:00
Mike Reeves
5d8cb511be Merge pull request #4046 from Security-Onion-Solutions/kilo
Switch to the ES-included community_id plugin
2021-04-29 12:11:44 -04:00
Jason Ertel
44ad8ce888 Switch to the ES-included community_id plugin 2021-04-29 12:08:07 -04:00
Jason Ertel
14572d9eab Merge pull request #4045 from Security-Onion-Solutions/ktbackup
Add Grid nodeid fix and Kratos backup to include Kratos
2021-04-29 11:55:46 -04:00
Mike Reeves
76d735ff43 Add ID Fix to nodeID 2021-04-29 11:49:20 -04:00
Mike Reeves
02b621bd2c Add Kratos to Backups 2021-04-29 11:29:07 -04:00
Mike Reeves
96eab86bc6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-04-29 11:19:19 -04:00
m0duspwnens
93ee96b1cd Ignore "Status .* was not found" due to output from salt http.query or http.wait_for_successful_query states used with retry 2021-04-29 10:19:42 -04:00
m0duspwnens
907dbe6388 for for influx to be up so the reliant states dont fail 2021-04-29 08:47:33 -04:00
m0duspwnens
f8e01d5d53 let the state retry incase influxdb isnt fully up yet 2021-04-29 06:43:05 -04:00
m0duspwnens
454b541a2e merge with dev, change version so test box doesnt try to upgrade to 2.3.60 2021-04-28 18:04:14 -04:00
m0duspwnens
2b9b22cd90 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-04-28 18:02:01 -04:00
m0duspwnens
5584c4f1ae define and install the dependencies for python36-influxdb 2021-04-28 18:01:33 -04:00
Mike Reeves
9830f661c8 Merge pull request #4031 from Security-Onion-Solutions/kilo
Remove unused and incorrectly formatted osraid metric
2021-04-28 13:34:57 -04:00
Jason Ertel
7a21c44727 Remove unused and incorrectly formatted osraid metric 2021-04-28 13:27:11 -04:00
Mike Reeves
4c55e5a6cc Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2021-04-28 10:27:55 -04:00
Mike Reeves
f0012015e6 Merge pull request #4018 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update raid.sh
2021-04-28 10:27:35 -04:00
Mike Reeves
14557983e1 Update raid.sh 2021-04-28 10:24:39 -04:00
Jason Ertel
865e5cb120 Merge pull request #4017 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2021-04-28 10:19:07 -04:00
m0duspwnens
d9cb018a7d merge with dev, resolve conflicts 2021-04-28 10:19:01 -04:00
Mike Reeves
8dd9564171 Update VERSION 2021-04-28 10:17:37 -04:00
Mike Reeves
153394356b Merge pull request #4003 from Security-Onion-Solutions/dev
2.3.50
2021-04-28 10:11:53 -04:00
Mike Reeves
bd454c7f25 Merge pull request #4016 from Security-Onion-Solutions/2350
Repo Fix
2021-04-27 16:02:15 -04:00
Mike Reeves
b6792f73e0 Repo Fix 2021-04-27 15:51:30 -04:00
Mike Reeves
03774e6270 Repo Fix 2021-04-27 15:46:45 -04:00
Mike Reeves
77533f7873 Repo Fix 2021-04-27 15:45:35 -04:00
Mike Reeves
a6b2eefee1 Prompt airgap to update 2021-04-27 15:33:52 -04:00
Mike Reeves
4cea08c080 Prompt airgap to update 2021-04-27 15:32:00 -04:00
Mike Reeves
b23902fc2c Merge pull request #4015 from Security-Onion-Solutions/importfix
Update import install
2021-04-27 13:38:31 -04:00
Mike Reeves
458c386377 Update import install 2021-04-27 13:37:37 -04:00
Mike Reeves
79984f4808 Merge pull request #4007 from Security-Onion-Solutions/2350
Repo Fix
2021-04-26 16:40:28 -04:00
Mike Reeves
167e656abb Repo Fix 2021-04-26 16:38:12 -04:00
Josh Patterson
f2b1b9a073 Merge pull request #4006 from Security-Onion-Solutions/2350
Prompt airgap to update
2021-04-26 15:38:23 -04:00
Mike Reeves
939414aef6 Prompt airgap to update 2021-04-26 15:36:56 -04:00
Josh Patterson
6a956702df Merge pull request #4005 from Security-Onion-Solutions/2350
Repo Fix
2021-04-26 14:52:00 -04:00
Mike Reeves
df22269fc9 Repo Fix 2021-04-26 14:49:44 -04:00
Mike Reeves
d36237ee87 Merge pull request #4002 from Security-Onion-Solutions/2350
2.3.50 sig files
2021-04-26 09:32:10 -04:00
Mike Reeves
0499b141ed 2.3.50 sig files 2021-04-26 09:20:03 -04:00
Mike Reeves
d56e66917a 2.3.50 sig files 2021-04-26 09:18:15 -04:00
Mike Reeves
0654c6511a Merge pull request #4001 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update README.md
2021-04-26 09:10:56 -04:00
Mike Reeves
bbe2f81cb6 Update README.md 2021-04-26 08:53:58 -04:00
Jason Ertel
33bdd96221 Merge pull request #3996 from Security-Onion-Solutions/updateag
Prompt airgap to update
2021-04-25 12:25:45 -04:00
Mike Reeves
6135d89721 Prompt airgap to update 2021-04-25 12:19:34 -04:00
Mike Reeves
abbe0ec819 Merge pull request #3995 from Security-Onion-Solutions/updateag
Fix updates for airgap
2021-04-25 11:26:20 -04:00
Mike Reeves
4d0b06dfc7 Fix updates for airgap 2021-04-25 11:01:21 -04:00
Mike Reeves
0505664b84 Merge pull request #3987 from Security-Onion-Solutions/TOoSmOotH-patch-4
Prime the CentOS Repos
2021-04-23 12:11:01 -04:00
Mike Reeves
f2628f2e5b Prime the CentOS Repos 2021-04-23 12:09:41 -04:00
Mike Reeves
fcaabaade0 Merge pull request #3986 from Security-Onion-Solutions/grafanaeps
remove eps graph from manager and update to consumptioneps for standalone and managersearch
2021-04-23 12:08:06 -04:00
m0duspwnens
fff12b423a remove eps graph from manager and update to consumptioneps for standalone and managersearch 2021-04-23 11:56:27 -04:00
Jason Ertel
b81ac6b7bd Merge pull request #3983 from Security-Onion-Solutions/kilo
Update MOTD with training link and simplify customization commands
2021-04-23 11:03:57 -04:00
Jason Ertel
f4606828c7 Update MOTD with training link and simply customization commands 2021-04-23 10:42:14 -04:00
Josh Patterson
4e2ffbf5e5 Merge pull request #3971 from Security-Onion-Solutions/issue/3501
let remote nodes upgrade on their own time
2021-04-22 16:35:26 -04:00
m0duspwnens
7c7624c87e let remote nodes upgrade on their own time 2021-04-22 16:32:58 -04:00
Josh Patterson
7da091375e Merge pull request #3968 from Security-Onion-Solutions/issue/3501
Issue/3501
2021-04-22 15:37:59 -04:00
m0duspwnens
4f545eefc2 update preflight 2021-04-22 15:27:57 -04:00
m0duspwnens
90683a7e04 fix UPDATE_DIR var 2021-04-22 15:22:55 -04:00
m0duspwnens
36bc4f4aa8 remove by package name not wildcard 2021-04-22 15:21:36 -04:00
Mike Reeves
694c3b87fe Merge pull request #3967 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update soup
2021-04-22 14:18:46 -04:00
Mike Reeves
e7d3369cef Update soup 2021-04-22 14:17:38 -04:00
Josh Patterson
fb6fa789b7 Merge pull request #3965 from Security-Onion-Solutions/soversion2
Soversion2
2021-04-22 13:45:56 -04:00
Mike Reeves
b7c6110e57 sync soversion 2021-04-22 13:41:58 -04:00
Mike Reeves
93148e4adc sync soversion 2021-04-22 13:39:33 -04:00
Mike Reeves
016837df28 sync soversion 2021-04-22 13:36:52 -04:00
Mike Reeves
4b78b114f7 Merge pull request #3964 from Security-Onion-Solutions/fix/so-playbook-sync
Fix so-playbook-sync
2021-04-22 13:28:25 -04:00
Josh Brower
94352c212f Fix so-playbook-sync 2021-04-22 13:26:41 -04:00
Mike Reeves
3a65f7875e Merge pull request #3963 from Security-Onion-Solutions/fixsaltsoup
fix SALTNOTHELD for salt.minion
2021-04-22 13:25:05 -04:00
m0duspwnens
781ac0293c fix SALTNOTHELD for salt.minion 2021-04-22 13:22:08 -04:00
Mike Reeves
a93b75af05 Merge pull request #3962 from Security-Onion-Solutions/fixsaltsoup
Fixsaltsoup
2021-04-22 11:52:05 -04:00
m0duspwnens
a49d6a8d5c apply highstate to minions instead of just salt.minion for soup if salt needs upgraded 2021-04-22 11:47:53 -04:00
m0duspwnens
440c546bb4 remove docker-ce.repo 2021-04-22 11:41:14 -04:00
Mike Reeves
8c67ec5316 Merge pull request #3961 from Security-Onion-Solutions/fix/extra-paren
Remove extra paren
2021-04-22 11:27:16 -04:00
William Wernert
41a5818bb7 Remove extra paren 2021-04-22 11:26:15 -04:00
Mike Reeves
ee48bb9b2a Merge pull request #3959 from Security-Onion-Solutions/fix/zeekpillar
Fix Zeek Setting for close-delete
2021-04-22 10:55:46 -04:00
Mike Reeves
a41c40ccbb Fix Zeek Setting for close-delete 2021-04-22 10:53:59 -04:00
Mike Reeves
3d65135993 Merge pull request #3954 from Security-Onion-Solutions/feature/vim
Make sure VIM is installed with correct settings
2021-04-22 09:52:02 -04:00
Mike Reeves
9ba7beed95 Merge pull request #3957 from Security-Onion-Solutions/fix/yum-conf
Add support for legacy grids
2021-04-22 09:44:51 -04:00
William Wernert
7176a4214b Add support for legacy grids 2021-04-22 09:42:39 -04:00
Josh Brower
8f37b6b73b Make sure VIM is installed with correct settings 2021-04-22 09:35:42 -04:00
Josh Patterson
f0e9b09d8f Merge pull request #3951 from Security-Onion-Solutions/issue/3948
fix salt retries
2021-04-22 08:50:14 -04:00
Mike Reeves
0bfe2aa6b6 Merge pull request #3950 from Security-Onion-Solutions/fix/correct-pillar
Use correct pillar value in yum.conf template
2021-04-22 08:40:09 -04:00
William Wernert
1519936e44 Use correct pillar value in yum.conf template 2021-04-22 08:37:49 -04:00
m0duspwnens
1d8e065902 fix salt retries - https://github.com/Security-Onion-Solutions/securityonion/issues/3948 2021-04-22 08:35:50 -04:00
Josh Patterson
fb3b4dc44a Merge pull request #3949 from Security-Onion-Solutions/TOoSmOotH-patch-3
Roll back cluster changes
2021-04-22 08:29:13 -04:00
Mike Reeves
fae72aa243 Roll back cluster changes 2021-04-22 08:25:01 -04:00
m0duspwnens
28982e0e0b fix requirement 2021-04-21 19:22:07 -04:00
m0duspwnens
1fbf77d090 fix state name 2021-04-21 18:53:00 -04:00
Mike Reeves
81581711da Merge pull request #3940 from Security-Onion-Solutions/foxtrot
Foxtrot
2021-04-21 18:44:37 -04:00
m0duspwnens
6c8a2e68d9 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-04-21 18:24:07 -04:00
m0duspwnens
f5ddb084b6 create salt.helper-packages state, use it to install the patch package 2021-04-21 18:22:44 -04:00
m0duspwnens
21077ef26e undo path change 2021-04-21 18:09:11 -04:00
m0duspwnens
5cedf98f55 change path 2021-04-21 18:05:52 -04:00
Mike Reeves
0a2d44131b Merge pull request #3939 from Security-Onion-Solutions/soupmkr
send suricata compress to dev/null
2021-04-21 18:00:03 -04:00
William Wernert
c297031f6b Surround scalar in single quotes 2021-04-21 17:58:13 -04:00
William Wernert
071e5166b4 Set package manager source in patch pillar for yum.conf 2021-04-21 17:57:02 -04:00
Mike Reeves
c337be8f4f send suricata compress to dev/null 2021-04-21 17:27:52 -04:00
Josh Patterson
22a7729fcf Merge pull request #3938 from Security-Onion-Solutions/soupmkr
soup will now ask to update packages
2021-04-21 17:20:18 -04:00
m0duspwnens
a7247e9812 update package name 2021-04-21 17:17:49 -04:00
m0duspwnens
c9298137b5 adding docker-ce.repo to delete list 2021-04-21 17:08:35 -04:00
m0duspwnens
17c95723ec update package name 2021-04-21 16:44:40 -04:00
Mike Reeves
fa972ea110 soup will now ask to update packages 2021-04-21 16:37:13 -04:00
William Wernert
261e7f7fd9 sed and grep need input files 2021-04-21 16:29:24 -04:00
Mike Reeves
b5b0c262c1 soup will now ask to update packages 2021-04-21 16:25:41 -04:00
William Wernert
c1ae7ff3b6 Set proxy, replace when setting up yum for manager proxy 2021-04-21 16:18:20 -04:00
Mike Reeves
5c4be5e1cd soup will now ask to update packages 2021-04-21 16:15:40 -04:00
William Wernert
f3d663f090 Don't set yum/apt proxy if updating through manager 2021-04-21 15:59:37 -04:00
Mike Reeves
73001713e3 soup will now ask to update packages 2021-04-21 15:51:28 -04:00
Mike Reeves
13ad07cd88 soup will now ask to update packages 2021-04-21 15:41:58 -04:00
Mike Reeves
7335611166 soup will now ask to update packages 2021-04-21 15:35:05 -04:00
William Wernert
d5717b7011 Merge branch 'dev' into foxtrot 2021-04-21 14:45:11 -04:00
Josh Patterson
df2420f6fe Merge pull request #3936 from Security-Onion-Solutions/TOoSmOotH-patch-2
Fix Security onion repo
2021-04-21 14:44:50 -04:00
Mike Reeves
06ccad334b Fix Security 2021-04-21 14:43:15 -04:00
Mike Reeves
dd1fff59d7 Merge pull request #3934 from bryant-treacle/Issue-#3926
Update threading.map.jinja
2021-04-21 12:22:16 -04:00
William Wernert
428be2b8ad Merge pull request #3935 from Security-Onion-Solutions/fix/manager-check
Fix salt-master check
2021-04-21 12:10:14 -04:00
m0duspwnens
1f654d4444 fix the state apply 2021-04-21 12:04:58 -04:00
William Wernert
075ba0d83b Fix salt-master check 2021-04-21 12:01:21 -04:00
bryant-treacle
f14df24ddc Update threading.map.jinja 2021-04-21 11:49:29 -04:00
m0duspwnens
0a01d7b041 fix var 2021-04-21 11:14:13 -04:00
m0duspwnens
b53017ee87 ensure salt python modules are installed and patched during soup 2021-04-21 10:44:46 -04:00
William Wernert
b618207f51 Merge branch 'dev' into foxtrot 2021-04-21 10:23:10 -04:00
m0duspwnens
af86a9dac0 handle different paths for salt states/modules based on os 2021-04-21 09:52:22 -04:00
m0duspwnens
d792c65ce3 change how influx is patch and python3-influxdb is installed 2021-04-21 09:25:25 -04:00
m0duspwnens
8eef574342 install python3-influxdb and create requires 2021-04-21 08:28:01 -04:00
m0duspwnens
2d0594398c Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-04-20 15:53:34 -04:00
Josh Patterson
86e7c0f87d Merge pull request #3927 from Security-Onion-Solutions/telefix1
Add Security Onion Repo
2021-04-20 15:47:28 -04:00
Mike Reeves
cc4c092301 Add Security Onion Repo 2021-04-20 15:44:35 -04:00
William Wernert
3f007f1026 Disable fastestmirror during setup + soup 2021-04-20 15:18:06 -04:00
William Wernert
3d90423495 Fix summary message to preserve empty line 2021-04-20 14:44:58 -04:00
William Wernert
113e558a05 Set manager early for proxy config 2021-04-20 14:32:17 -04:00
William Wernert
ca9ac46cd2 Add keypress instruction at end of summary 2021-04-20 13:27:52 -04:00
William Wernert
95bb757b03 Fix salt-master check 2021-04-20 13:12:55 -04:00
William Wernert
369c0b43f5 Further jinja fixes 2021-04-20 12:55:23 -04:00
William Wernert
cd0a115ac7 Fix acng config and don't show changes when proxy string can exist in file 2021-04-20 12:55:00 -04:00
William Wernert
bbf16d0f11 Show airgap prompt within if statement + persist variable for node installs 2021-04-20 11:34:17 -04:00
m0duspwnens
115764ae38 merge with dev and fix merge conflict in so-functions https://github.com/Security-Onion-Solutions/securityonion/issues/3264 2021-04-20 10:03:15 -04:00
Mike Reeves
3b203b9a31 Merge pull request #3922 from Security-Onion-Solutions/telefix1
Adjust sostatus timers
2021-04-20 08:14:34 -04:00
Mike Reeves
5072c24134 Adjust sostatus timers 2021-04-20 08:12:44 -04:00
William Wernert
b449955711 Proxy whiptail fixes
* Don't try to set up proxy/manager proxy during network only flow
* Fix logic to never show new menu on airgap, set MANAGERUPDATES to 1 on airgap minions
2021-04-19 16:26:53 -04:00
Mike Reeves
e9b86388da Merge pull request #3912 from Security-Onion-Solutions/telefix1
Change telegraf scripts to new method of process detection
2021-04-19 14:40:06 -04:00
Mike Reeves
be6933e8fb Change EPS for Telegraf 2021-04-19 14:20:00 -04:00
William Wernert
6156e754c4 Merge branch 'dev' into foxtrot 2021-04-19 14:15:23 -04:00
William Wernert
d2067a42bd Don't skip new menu on airgap minions 2021-04-19 14:12:53 -04:00
William Wernert
b37da027fd ECDSA to ED25519 2021-04-19 14:08:25 -04:00
William Wernert
d8457255cb n -> z 2021-04-19 14:06:10 -04:00
William Wernert
7948906f51 Fix minion airgap logic 2021-04-19 14:04:01 -04:00
William Wernert
ba9a45bd0f Split network init + ssh copy notices 2021-04-19 14:02:00 -04:00
William Wernert
07e0ce563d Symmetrical spaces + remove useless logic 2021-04-19 13:50:30 -04:00
William Wernert
002fa99055 Fix whiptail order 2021-04-19 13:47:50 -04:00
William Wernert
59247b4579 Add exit check to new menu 2021-04-19 13:45:01 -04:00
Josh Patterson
a70b631b2c Merge pull request #3911 from Security-Onion-Solutions/issue/3501
Issue/3501
2021-04-19 13:43:34 -04:00
Mike Reeves
0c0edbaac8 Change EPS for Telegraf 2021-04-19 13:29:46 -04:00
Mike Reeves
54322f5e9d Change EPS for Telegraf 2021-04-19 13:17:02 -04:00
Mike Reeves
f5b0411772 Change EPS for Telegraf 2021-04-19 13:11:19 -04:00
Mike Reeves
31f193c397 Change EPS for Telegraf 2021-04-19 12:36:46 -04:00
William Wernert
c907d416df Set proxy for apt cacher too 2021-04-19 11:27:17 -04:00
William Wernert
e8553162a5 [refactor] Change how whiptail asks for proxy settings 2021-04-19 10:51:39 -04:00
Mike Reeves
af7b6af32f Merge pull request #3901 from Security-Onion-Solutions/TOoSmOotH-patch-1
Fix beat script location
2021-04-19 09:44:59 -04:00
m0duspwnens
9e57fd2df0 cant pipe to grep without , python_shell=True 2021-04-19 09:00:30 -04:00
Mike Reeves
ef0669aabb Fix beat script location 2021-04-17 18:24:33 -04:00
William Wernert
58febe7955 [fix] so-docker-prune breaks when multiple "so-" images share a version 2021-04-16 16:04:07 -04:00
m0duspwnens
1b15f01874 fix salt.master state 2021-04-16 13:09:01 -04:00
m0duspwnens
24b263c812 only hold/unhold packages if not already unheld/held 2021-04-16 11:37:18 -04:00
m0duspwnens
9d676efada move salt_minion_service state outside jinja if 2021-04-15 12:45:34 -04:00
m0duspwnens
9d01387a04 remove references to the common salt package 2021-04-15 11:57:25 -04:00
m0duspwnens
22edbcc111 can use SPLITCHAR before defined 2021-04-15 11:29:01 -04:00
m0duspwnens
2f198ed9fb change how salt is held and unheld from updates 2021-04-15 09:42:00 -04:00
weslambert
427dd31fcb Merge pull request #3876 from Security-Onion-Solutions/delta
FIX:Remove ESUSER/ESPASS for now to prevent issues with attempting Elasti…
2021-04-15 08:11:15 -04:00
Wes Lambert
f61bf73f97 Remove ESUSER/ESPASS for now to prevent issues with attempting Elastic Auth when connecting to ES. 2021-04-15 11:59:34 +00:00
Josh Patterson
923d50d91e Merge pull request #3875 from Security-Onion-Solutions/issue/3543
add delay for salt-minion service starting
2021-04-14 16:34:21 -04:00
m0duspwnens
71d7ca8958 only manage service file if the right salt version is installed 2021-04-14 15:48:33 -04:00
m0duspwnens
d42cd52ae1 Merge remote-tracking branch 'remotes/origin/dev' into issue/3543 2021-04-14 15:23:51 -04:00
Mike Reeves
f177819e4f Merge pull request #3871 from Security-Onion-Solutions/beatstats
Beatstats
2021-04-14 15:03:13 -04:00
m0duspwnens
f60da54ff0 remove extra lines at end 2021-04-14 11:11:13 -04:00
m0duspwnens
d003d4941b fix bad typing 2021-04-14 11:10:19 -04:00
m0duspwnens
48c531bc2c fix file defaults def 2021-04-14 11:09:13 -04:00
m0duspwnens
47aa66876d fix import 2021-04-14 11:07:16 -04:00
m0duspwnens
9bfdae9cd5 fix import 2021-04-14 11:06:06 -04:00
m0duspwnens
a50b3e8475 add delay to salt-minion service starting - https://github.com/Security-Onion-Solutions/securityonion/issues/3543 2021-04-14 10:22:06 -04:00
Mike Reeves
6fc7ed1a25 Add telegraf scripts to track eps and failures for beats 2021-04-13 20:51:27 -04:00
Mike Reeves
904d34977f Add telegraf scripts to track eps and failures for beats 2021-04-13 20:48:53 -04:00
Mike Reeves
aa66b6226f Add hostname to the listener 2021-04-13 20:22:51 -04:00
Mike Reeves
db7dcd76cd Add hostname to the listener 2021-04-13 20:21:32 -04:00
Mike Reeves
7153f58a03 Add Firewall for Beats port 2021-04-13 20:17:26 -04:00
Mike Reeves
621e5c1cf8 Enable Filebeat Stats 2021-04-13 19:18:10 -04:00
Mike Reeves
26547f4e96 Merge pull request #3864 from Security-Onion-Solutions/agauto
Fix Airgap Automation
2021-04-13 15:36:08 -04:00
Mike Reeves
989c2b23b1 Fix Airgap Automation 2021-04-13 15:34:03 -04:00
Josh Patterson
e16875da0c Merge pull request #3855 from Security-Onion-Solutions/salt3003
Salt3003
2021-04-13 13:23:21 -04:00
Josh Brower
2b06223d7c Merge pull request #3856 from Security-Onion-Solutions/feature/osquery-ingest-timestamp
Differentiate between event & ingest timestamp
2021-04-13 13:00:52 -04:00
Josh Brower
7cbeed985a Differentiate between event & ingest timestamp 2021-04-13 12:55:40 -04:00
m0duspwnens
78ff84f968 Merge remote-tracking branch 'remotes/origin/dev' into salt3003.1 2021-04-13 12:05:58 -04:00
m0duspwnens
eb94c011e2 update location of yum keys and repo files for setup 2021-04-13 11:15:15 -04:00
m0duspwnens
325264dafd point to new repo location 2021-04-12 17:44:50 -04:00
William Wernert
2392c0e2d4 Merge pull request #3846 from Security-Onion-Solutions/foxtrot
Setup changes/fixes
2021-04-12 16:39:08 -04:00
m0duspwnens
eb7bf58f30 fix issues with repo.client state 2021-04-12 16:33:32 -04:00
William Wernert
9d09e7bec3 Fix sostatus log cron job 2021-04-12 16:25:17 -04:00
William Wernert
25637b74db Add back removed testing skip 2021-04-12 16:14:47 -04:00
William Wernert
cc344d921a Skip whiptail during testing, echo error message to setup log 2021-04-12 16:13:32 -04:00
Josh Brower
2fa01c9386 Merge pull request #3845 from Security-Onion-Solutions/fix/wazuh-wel-alerts
Fix Wazuh WEL Shipping
2021-04-12 15:22:57 -04:00
Josh Brower
cf4de255ec Fix Wazuh WEL Shipping 2021-04-12 15:18:18 -04:00
m0duspwnens
9240d376f3 combine client repo management into 1 state 2021-04-12 14:31:41 -04:00
William Wernert
8cb4a75eb1 Merge branch 'dev' into feature/setup-check-manager 2021-04-12 13:14:51 -04:00
William Wernert
73a1bdd885 Send stdout to log, and actually populate error message 2021-04-12 12:59:45 -04:00
William Wernert
5d98c896a3 /opt/so/log needs 755 permissions for soremote to read sostatus log 2021-04-12 12:53:17 -04:00
Mike Reeves
03abf4d4ee Merge pull request #3828 from Security-Onion-Solutions/kilo
Do not set influxdb hostUrl if import node since import nodes don't r…
2021-04-09 21:43:25 -04:00
Jason Ertel
8facbcf18c Do not set influxdb hostUrl if import node since import nodes don't run influxdb 2021-04-09 20:40:44 -04:00
Jason Ertel
280958e298 Merge pull request #3826 from Security-Onion-Solutions/kilo
Add raid/process status to Grid
2021-04-09 16:33:14 -04:00
Jason Ertel
5cb73ced36 Add Influx module to SOC config 2021-04-09 14:58:15 -04:00
Jason Ertel
21d922c640 Merge branch 'dev' into kilo 2021-04-09 10:24:27 -04:00
William Wernert
4db20a00ff Add quotes around description, since it can contain spaces 2021-04-09 10:16:19 -04:00
William Wernert
026ce76966 Change airgap prompt to menu 2021-04-09 10:11:00 -04:00
William Wernert
764307bfa0 Reformat airgap whiptail prompt 2021-04-09 10:09:28 -04:00
William Wernert
fc9df2bbae Update airgap question to ask during minion installs too 2021-04-09 10:00:50 -04:00
William Wernert
9b5276f1ab Remove bad || statement 2021-04-09 09:59:54 -04:00
William Wernert
b2fcd438c2 Initial support for checking state of manager during setup 2021-04-09 09:39:33 -04:00
m0duspwnens
ecda46c04b Merge remote-tracking branch 'remotes/origin/dev' into salt3003.1 2021-04-09 09:37:35 -04:00
Josh Patterson
69ad3ad491 Merge pull request #3817 from Security-Onion-Solutions/saltver
Do not upgrade salt on ISO installs
2021-04-09 08:50:08 -04:00
Mike Reeves
c9feda1168 Do not upgrade salt on ISO installs 2021-04-09 08:48:29 -04:00
Jason Ertel
d5bc7ec627 Merge branch 'dev' into kilo 2021-04-08 18:43:37 -04:00
m0duspwnens
6650ad5cdd make the -r for all 2021-04-08 14:04:30 -04:00
William Wernert
0ea57b4848 Merge pull request #3805 from Security-Onion-Solutions/foxtrot
Setup option summary + proxy test fix
2021-04-08 12:00:23 -04:00
Mike Reeves
ea9103ad53 Merge pull request #3806 from Security-Onion-Solutions/saltfix
Fix Telegraf sostatus
2021-04-08 11:51:24 -04:00
Mike Reeves
b53815d04a Fix Telegraf sostatus 2021-04-08 11:42:41 -04:00
Jason Ertel
5ef336fed2 Merge branch 'dev' into kilo 2021-04-08 11:23:07 -04:00
Jason Ertel
f7f95b6c54 Add model to sensoroni agent config 2021-04-08 11:22:54 -04:00
Mike Reeves
28666e0db2 Merge pull request #3804 from Security-Onion-Solutions/saltfix
Fix Repos by forcing removal
2021-04-08 11:08:35 -04:00
Mike Reeves
09b14e6a86 Fix Repo Logic 2021-04-08 10:38:50 -04:00
Mike Reeves
4c5f373ffa Fix Repo Logic 2021-04-08 10:37:44 -04:00
Mike Reeves
fdaf251ba0 Fix Repo Logic 2021-04-08 10:36:52 -04:00
Mike Reeves
951369c2d6 Fix Repo Logic 2021-04-08 10:25:36 -04:00
Mike Reeves
ce9f781d81 Fix Repo Logic 2021-04-08 10:24:04 -04:00
Mike Reeves
725320ebc8 Fix Repo Logic 2021-04-08 10:02:11 -04:00
m0duspwnens
dce476b604 change back to saltstack3003 repo 2021-04-08 09:54:41 -04:00
Mike Reeves
b609f250c3 Merge pull request #3798 from Security-Onion-Solutions/saltfix
Fix so repo for salt
2021-04-08 08:48:57 -04:00
Mike Reeves
d4a3bc4550 Fix so repo for salt 2021-04-08 08:43:20 -04:00
William Wernert
a5f5888913 Summary order change 2021-04-07 17:03:08 -04:00
Mike Reeves
9a7a7a3b12 Merge pull request #3795 from Security-Onion-Solutions/telemetric
Add raid bind
2021-04-07 16:33:14 -04:00
Mike Reeves
3caaf06820 Add sostatus for telegraf 2021-04-07 16:30:16 -04:00
Mike Reeves
8ab4dd10d4 Add sostatus for telegraf 2021-04-07 16:29:44 -04:00
Mike Reeves
9baa9767ca Add raid bind 2021-04-07 16:12:51 -04:00
William Wernert
3c69c0c24c Correct patch schedule name logic in summary 2021-04-07 14:15:02 -04:00
William Wernert
3a4cf8aa26 Add proxy url/user to summary 2021-04-07 13:54:01 -04:00
m0duspwnens
c4f0119276 fix check if repo file exists 2021-04-07 13:51:40 -04:00
William Wernert
ec076bba4a MTU is not always set by the user, so don't always show in summary 2021-04-07 13:42:18 -04:00
William Wernert
f83ac5a278 Print install summary to file and setup log after user confirms 2021-04-07 13:38:47 -04:00
m0duspwnens
425e5bc4c3 add some quotes 2021-04-07 13:31:43 -04:00
William Wernert
5e5df4d65a Merge branch 'feature/setup-end-screen' into foxtrot 2021-04-07 13:23:45 -04:00
William Wernert
377b14ccb1 ESCLUSTERNAME is empty for standalone, so check if it's set before listing 2021-04-07 13:20:55 -04:00
William Wernert
ceb1ea61dc Summary screen changes 2021-04-07 13:15:49 -04:00
m0duspwnens
249fa06fc7 echo when performing the repo actions for 2.3.50 2021-04-07 13:03:27 -04:00
m0duspwnens
5578206bf1 need to make the repo changes before we try to upgrade sa;t 2021-04-07 12:41:01 -04:00
Josh Patterson
ceb4d4ace4 Merge pull request #3790 from Security-Onion-Solutions/airgapfix
Fix Logic for Airgap distributed
2021-04-07 12:37:11 -04:00
Mike Reeves
c8c1553247 Fix Logic for Airgap distributed 2021-04-07 12:36:50 -04:00
Mike Reeves
ed0cd97de5 Fix Logic for Airgap distributed 2021-04-07 12:34:23 -04:00
m0duspwnens
b7aa9ddaa3 run preupgrade changes if 2.3.40 2021-04-07 11:37:55 -04:00
m0duspwnens
54e0394776 change from saltstack3003 to just saltstack for repo 2021-04-07 10:57:09 -04:00
m0duspwnens
080ecba8e6 change delrepos 2021-04-07 10:54:46 -04:00
William Wernert
5b3014496b Proxy fixes
* Adjust proxy test timeout
* Don't show proxy on error
* Add echo statement so user knows what setup is doing
2021-04-07 10:35:59 -04:00
Mike Reeves
95b440de43 Merge pull request #3783 from Security-Onion-Solutions/airgapfix
Fix Logic for Airgap distributed
2021-04-07 10:18:07 -04:00
William Wernert
88c565feae Fix proxy test logic 2021-04-07 10:14:16 -04:00
Mike Reeves
5cd7d65b3f Fix Logic for Airgap distributed 2021-04-07 10:03:33 -04:00
m0duspwnens
8f208728dd change delete repos 2021-04-07 09:10:16 -04:00
William Wernert
099ac2ff19 Minor formatting changes to whiptail end screen 2021-04-07 09:06:22 -04:00
Jason Ertel
fb02a10bfb Merge pull request #3781 from Security-Onion-Solutions/waagent
Detect if running in an Azure VM
2021-04-07 08:35:36 -04:00
Jason Ertel
ee079f1132 Merge from dev 2021-04-07 08:09:24 -04:00
m0duspwnens
9b19f93ad0 Merge remote-tracking branch 'remotes/origin/soup2350' into salt3003.1 2021-04-06 16:46:12 -04:00
Mike Reeves
6f7e6cee80 Force it 2021-04-06 16:43:42 -04:00
m0duspwnens
a95ead1ec8 Merge remote-tracking branch 'remotes/origin/soup2350' into salt3003.1 2021-04-06 16:31:16 -04:00
Mike Reeves
51bf988d31 Add .repo extension 2021-04-06 16:21:19 -04:00
m0duspwnens
73e00dbe30 change salt upgrade in soup 2021-04-06 16:07:08 -04:00
m0duspwnens
f522799b36 Merge remote-tracking branch 'remotes/origin/soup2350' into salt3003.1 2021-04-06 15:58:21 -04:00
Mike Reeves
b50700114c Add the do 2021-04-06 15:58:08 -04:00
m0duspwnens
9c7309797a Merge remote-tracking branch 'remotes/origin/soup2350' into salt3003.1 2021-04-06 15:48:36 -04:00
Mike Reeves
92768ecd08 Add upgrade function 2021-04-06 15:47:50 -04:00
Mike Reeves
af6403f874 soup salt and repos ohh my 2021-04-06 15:45:05 -04:00
William Wernert
6d6829ba34 Remove duplicate variable assignment 2021-04-06 13:21:07 -04:00
William Wernert
b70d9c0892 Add end summary and warning about SSH host key change 2021-04-06 13:20:56 -04:00
m0duspwnens
80509fbbc6 fix -R repo option 2021-04-06 12:23:11 -04:00
m0duspwnens
914a01e321 Merge remote-tracking branch 'remotes/origin/dev' into salt3003.1 2021-04-06 12:02:22 -04:00
m0duspwnens
6da84c7c87 strip trailing / 2021-04-06 12:00:36 -04:00
m0duspwnens
521dbbd90a change repo path 2021-04-06 11:45:59 -04:00
m0duspwnens
01f95c846c remove trailing / 2021-04-06 11:41:06 -04:00
m0duspwnens
049001d572 set repo url for salt upgrade for centos 2021-04-06 09:48:21 -04:00
m0duspwnens
1ea0be0097 remove references to 3003.1 change to 3003 2021-04-06 09:15:22 -04:00
William Wernert
b6dba26e2c Merge pull request #3767 from Security-Onion-Solutions/foxtrot
Move function call using nmcli to prevent error during setup
2021-04-06 09:11:23 -04:00
m0duspwnens
5525b9e97d point to new salt repo 2021-04-06 08:30:57 -04:00
Jason Ertel
919eec497d Merge branch 'dev' into waagent 2021-04-05 20:19:30 -04:00
Josh Patterson
8dc915e965 Merge pull request #3770 from Security-Onion-Solutions/newrepo
Fix Spelling issue
2021-04-05 18:53:19 -04:00
Mike Reeves
168d0bcaf4 Fix Spelling issue 2021-04-05 18:30:07 -04:00
Mike Reeves
08a857239c Merge pull request #3769 from Security-Onion-Solutions/newrepo
Add some manager logic
2021-04-05 17:50:05 -04:00
Mike Reeves
a38015bd98 Add some manager logic 2021-04-05 17:28:04 -04:00
m0duspwnens
3a1c478d9a compare the new var 2021-04-05 16:56:34 -04:00
Jason Ertel
5f6770925d speculative commit 2021-04-05 16:52:12 -04:00
m0duspwnens
89f72bb6ed check if . in new version, append .1 if not 2021-04-05 16:44:51 -04:00
Jason Ertel
4d9f928aed Merge branch 'dev' into kilo 2021-04-05 15:57:59 -04:00
m0duspwnens
83bf709290 use -r for salt boostrap in soup as well 2021-04-05 15:12:53 -04:00
Mike Reeves
d62ab60d48 Merge pull request #3768 from Security-Onion-Solutions/newrepo
Newrepo
2021-04-05 15:03:44 -04:00
Mike Reeves
fc88634159 Set the Repo for airgap during install 2021-04-05 15:01:21 -04:00
m0duspwnens
ae83fa61f3 Merge remote-tracking branch 'remotes/origin/dev' into salt3003.1 2021-04-05 14:36:21 -04:00
Josh Patterson
3adc2a8e63 Merge pull request #3766 from Security-Onion-Solutions/newrepo
Newrepo
2021-04-05 14:35:46 -04:00
Mike Reeves
97503bc35d Merge pull request #3761 from Security-Onion-Solutions/newraid
Newraid
2021-04-05 14:31:51 -04:00
m0duspwnens
9b8b5e6173 use -r by default to disable salt bootstrap from doing repo things 2021-04-05 14:12:24 -04:00
m0duspwnens
ba3c65d49f Merge remote-tracking branch 'remotes/origin/issue/3501' into salt3003.1 2021-04-05 12:52:48 -04:00
William Wernert
1dc45541eb Merge branch 'dev' into foxtrot 2021-04-05 12:41:08 -04:00
William Wernert
6f784565d4 Merge branch 'fix/nmcli-ami-error' into foxtrot 2021-04-05 12:41:02 -04:00
William Wernert
c864936c15 Merge pull request #3762 from Security-Onion-Solutions/foxtrot
Refactor so-ssh-harden
2021-04-05 12:39:51 -04:00
Mike Reeves
a824813cdb Add model to sensoroni config 2021-04-05 12:10:29 -04:00
Mike Reeves
bad22ab541 Add model to sensoroni config 2021-04-05 12:08:38 -04:00
Mike Reeves
f41ee1457b Merge pull request #3755 from Security-Onion-Solutions/issue/3753
FIX: Hunt query for HTTP EXE downloads should work for both Zeek and …
2021-04-05 11:42:45 -04:00
Mike Reeves
5aefa2a024 Fix Raid for Jertel compliance 2021-04-05 11:41:19 -04:00
Mike Reeves
f9dc040c7f Fix Raid 2021-04-05 11:38:39 -04:00
m0duspwnens
1c3a7094bd upgrade salt to 3003.1 2021-04-05 11:05:48 -04:00
Mike Reeves
d43cb3e133 Merge remote-tracking branch 'remotes/origin/dev' into newrepo 2021-04-05 10:48:01 -04:00
m0duspwnens
534dbf9761 change the upgrade command - https://github.com/Security-Onion-Solutions/securityonion/issues/3501 2021-04-05 09:07:00 -04:00
Doug Burks
8ca0626387 FIX: Hunt query for HTTP EXE downloads should work for both Zeek and Suricata #3753 2021-04-05 06:55:40 -04:00
Jason Ertel
e430be1017 Enable Flux compatibility mode to prepare for eventual migration to 2.0 2021-04-02 16:36:29 -04:00
William Wernert
d19c03efef Refactor search of config lines
* Create arrays for each line and loop through them for better code readability
* Add more host key algorithms for removal
* Update regex to look for a comma or EOL at the end of the search term, to avoid missing last item in list
2021-04-02 14:49:22 -04:00
William Wernert
8b8086b91a Update wording, as the new key tends to be ED25519, not ECDSA 2021-04-02 10:20:28 -04:00
William Wernert
fd57996bc6 Change behavior of adding lines to sshd config
* Replace existing lines in cases where a change has already been made
2021-04-02 10:00:27 -04:00
William Wernert
43c31b4e66 Fix script so changes are actually made 2021-04-01 14:56:05 -04:00
William Wernert
fa373e9db0 Merge branch 'fix/ssh-harden-setup' into foxtrot 2021-04-01 11:04:10 -04:00
William Wernert
58989398e0 Merge pull request #3721 from Security-Onion-Solutions/foxtrot
Allow user to enter a description during setup
2021-04-01 11:02:23 -04:00
m0duspwnens
5cda35db0a change defaults for testing - https://github.com/Security-Onion-Solutions/securityonion/issues/3264 2021-04-01 10:45:54 -04:00
Mike Reeves
c60d4aca16 Merge pull request #3724 from Masaya-A/Fix-https
Fix: Connection to ES is "https" from 2.3.40
2021-04-01 10:36:02 -04:00
Mike Reeves
234dec3f63 Merge pull request #3734 from Security-Onion-Solutions/zeekports
Reserve ports for Zeek
2021-04-01 10:35:16 -04:00
Mike Reeves
7d489ea34f Merge pull request #3735 from Security-Onion-Solutions/kilo
For hunt quick actions, pipe value to 'escape' operator to escape bac…
2021-04-01 10:35:01 -04:00
Mike Reeves
7c6b037ae5 Reserve ports for Zeek 2021-04-01 10:30:52 -04:00
Mike Reeves
40313fc2f5 Reserve ports for Zeek 2021-04-01 10:29:58 -04:00
m0duspwnens
4f3b3a787c change defaults for testing, remove measurements list since cq uses wildcard now - https://github.com/Security-Onion-Solutions/securityonion/issues/3264 2021-04-01 10:18:29 -04:00
Mike Reeves
0d05612393 Reserve ports for Zeek 2021-04-01 10:00:55 -04:00
Masaya-A
bc04cae918 Fix: Connection to ES is "https" from 2.3.40 2021-04-01 16:59:47 +09:00
Masaya-A
908c5f8ef6 Merge pull request #8 from Security-Onion-Solutions/dev
Dev Sync 20210401
2021-04-01 16:55:41 +09:00
Mike Reeves
88eab86528 Manage the repo files 2021-03-31 17:07:30 -04:00
Mike Reeves
9645988555 Manage the repo files 2021-03-31 17:06:26 -04:00
Mike Reeves
1509722185 Manage the repo files 2021-03-31 17:04:56 -04:00
Mike Reeves
bfc5bb011f Manage the repo files 2021-03-31 17:03:52 -04:00
Mike Reeves
13421bb04b Manage the repo files 2021-03-31 16:59:15 -04:00
Josh Patterson
6cebc41353 Merge pull request #3720 from Security-Onion-Solutions/issue/3709
https://github.com/Security-Onion-Solutions/securityonion/issues/3709
2021-03-31 16:54:15 -04:00
Mike Reeves
f387c4327a Manage the repo files 2021-03-31 16:53:20 -04:00
Mike Reeves
358f397535 Manage the repo files 2021-03-31 16:50:43 -04:00
Mike Reeves
9b84a92ced Manage the repo files 2021-03-31 16:47:04 -04:00
William Wernert
a8483cb30e Merge branch 'dev' into foxtrot 2021-03-31 16:02:26 -04:00
William Wernert
dfe5e73608 Merge branch 'feature/node-description' into foxtrot 2021-03-31 16:02:12 -04:00
William Wernert
3de980e4a1 Move function call to run after Network Manager is installed 2021-03-31 16:00:37 -04:00
Josh Brower
2b86241450 Merge pull request #3717 from Security-Onion-Solutions/fix/playbook-timestamps
Fix Playbook Alert timestamps
2021-03-31 15:47:11 -04:00
Josh Brower
ef98445560 Fix Playbook Alert timestamps 2021-03-31 15:44:41 -04:00
m0duspwnens
f7e99b4961 https://github.com/Security-Onion-Solutions/securityonion/issues/3709 2021-03-31 15:17:15 -04:00
Jason Ertel
820b01405f For hunt quick actions, pipe value to 'escape' operator to escape backslashes and double quotes 2021-03-31 14:57:36 -04:00
William Wernert
2a595f03b7 Merge pull request #3630 from Security-Onion-Solutions/foxtrot
Add option to configure chrony as an ntp service
2021-03-31 13:41:06 -04:00
William Wernert
761a12ebbb Fix variable name 2021-03-31 13:32:49 -04:00
William Wernert
1c4ba28336 [fix] host_pillar overwrites the file, so run ntp_pillar after it 2021-03-31 13:28:42 -04:00
Mike Reeves
f8d7241354 Fix repo file path 2021-03-31 12:55:46 -04:00
Mike Reeves
89922a439e Move repo files 2021-03-31 12:37:33 -04:00
Josh Brower
209d348108 Merge pull request #3688 from Security-Onion-Solutions/fix/playbook-sync
Fix sensor cleanup & playbook sync scripts
2021-03-31 11:59:27 -04:00
Jason Ertel
cdf3254485 Merge pull request #3708 from Security-Onion-Solutions/newrepo
Add Wazuh 4 repo
2021-03-31 09:29:50 -04:00
Mike Reeves
5e25d762c4 Merge remote-tracking branch 'remotes/origin/dev' into newrepo 2021-03-31 09:28:18 -04:00
Mike Reeves
46865809ed Fix Automation Testing round 2 2021-03-31 09:28:02 -04:00
Mike Reeves
bb39ccc1aa Fix Automation Testing 2021-03-31 09:25:21 -04:00
Mike Reeves
0d077b0d49 Merge pull request #3704 from gebhard73/patch-2
Update so-index-list
2021-03-31 09:18:29 -04:00
William Wernert
04920dcbed Merge branch 'dev' into foxtrot 2021-03-31 09:15:17 -04:00
William Wernert
c03e2b2c11 Move ntp server array to its own pillar in the minion sls file 2021-03-31 09:14:40 -04:00
Mike Reeves
5203c25971 Add Wazuh 4 Repo 2021-03-31 09:13:38 -04:00
Mike Reeves
b485531bd8 Merge remote-tracking branch 'remotes/origin/dev' into newrepo 2021-03-31 09:12:56 -04:00
weslambert
5eb0137c21 Merge pull request #3705 from Security-Onion-Solutions/delta
Enforce date type for ingest.timestamp
2021-03-31 08:40:41 -04:00
Wes Lambert
942de130ca Enforce date type for ingest.timestamp 2021-03-31 12:24:51 +00:00
gebhard73
0b9cf57b5f Update so-index-list
Sort by index name.
2021-03-31 14:22:06 +02:00
Mike Reeves
e92f5c122c Merge pull request #3689 from Security-Onion-Solutions/kilo
Remove incompatible example
2021-03-30 16:08:16 -04:00
William Wernert
177989269f Better formatting of chrony.conf 2021-03-30 15:50:37 -04:00
William Wernert
fd51b327ee Add messaging to explain chronyc output to log 2021-03-30 15:23:57 -04:00
William Wernert
be6eb3ed6c Restart chrony in case it's already running 2021-03-30 14:17:05 -04:00
m0duspwnens
8e55e0b994 start graphing data from so_long_term 2021-03-30 13:36:52 -04:00
Josh Brower
679925ebd9 Fix sensor cleanup & playbook sync scripts 2021-03-30 13:29:56 -04:00
weslambert
ff317cdcf1 Merge pull request #3684 from Security-Onion-Solutions/delta
Add Elastic scripts
2021-03-30 12:06:00 -04:00
Wes Lambert
7049383ba6 Add Elastic scripts 2021-03-30 15:47:05 +00:00
Mike Reeves
2534ca7eb7 Merge pull request #3633 from Security-Onion-Solutions/newrepo
Attempt to use so repo for network install
2021-03-30 11:37:46 -04:00
Mike Reeves
b2138045c0 Merge remote-tracking branch 'remotes/origin/dev' into newrepo 2021-03-30 11:29:22 -04:00
Mike Reeves
fc3fd00216 Fix formatting 2021-03-30 11:28:47 -04:00
Mike Reeves
09064baf71 Update so-common 2021-03-30 11:21:19 -04:00
Mike Reeves
5f5a53b8bb Push repolist to dev null 2021-03-30 11:14:58 -04:00
William Wernert
25eca39428 Always ask for ntp setup on iso installs, don't ask on network installs 2021-03-30 09:54:21 -04:00
m0duspwnens
30c6d4756a change default long term resolution to 5m 2021-03-30 09:38:37 -04:00
William Wernert
0e9ffe033d Show message about setting up network earlier during setup 2021-03-30 09:30:06 -04:00
Jason Ertel
e98f3e54c0 Merge branch 'dev' into kilo 2021-03-29 17:37:18 -04:00
Mike Reeves
3fce63e0c5 Fix Repo Again 2021-03-29 16:43:44 -04:00
Mike Reeves
f73bf947bc Fix repo url 2021-03-29 15:42:26 -04:00
Mike Reeves
1a58479f39 Fix acng passthrough 2021-03-29 15:15:34 -04:00
m0duspwnens
d1150f150f loop through the rps 2021-03-29 10:59:18 -04:00
m0duspwnens
e0f4abaa09 try to do it with just 1 cq, modify defaults for testing 2021-03-29 10:36:56 -04:00
William Wernert
d81d4e7474 Merge branch 'dev' into foxtrot 2021-03-29 09:36:38 -04:00
William Wernert
2ff790699f [fix] Set ntp_string to empty, not ntp_servers 2021-03-29 09:36:24 -04:00
Jason Ertel
6bce8e8e2c Remove incompatible example 2021-03-29 07:30:26 -04:00
Mike Reeves
d889bd2694 Fix Security Onio Pub Key 2021-03-28 22:32:03 -04:00
Mike Reeves
5882642c32 fixpath for GPG Keys for real 2021-03-28 22:10:02 -04:00
Mike Reeves
362bf55526 fixpath for GPG keys 2021-03-28 22:01:58 -04:00
Jason Ertel
0945747a70 Merge pull request #3649 from Security-Onion-Solutions/kilo
Support custom login banner
2021-03-26 22:33:36 -04:00
Mike Reeves
bab062e52b Fix acng to actually cache 2021-03-26 16:21:03 -04:00
Mike Reeves
955d41abde Fix acng to actually cache 2021-03-26 16:18:49 -04:00
Mike Reeves
26f8ae87c5 Fix acng to actually cache 2021-03-26 16:10:00 -04:00
Mike Reeves
8819cc1371 Fix acng to actually cache 2021-03-26 16:01:22 -04:00
Jason Ertel
9d6c2a5f15 Merge branch 'dev' into kilo 2021-03-26 15:58:05 -04:00
Jason Ertel
0195d366cc Add custom banner to login page 2021-03-26 14:44:31 -04:00
William Wernert
eb674b3b93 Validate list of ntp servers (ip4, hostname, or fqdn) 2021-03-25 14:45:33 -04:00
William Wernert
150e724a4a Fix chrony install logic + add sleep for chrony to finish sync 2021-03-25 13:37:54 -04:00
Mike Reeves
af3951e1ad Attempt to use so repo for network install 2021-03-25 11:51:55 -04:00
m0duspwnens
889e624a8c add shard_duration to state and defaults - https://github.com/Security-Onion-Solutions/securityonion/issues/3264 2021-03-25 09:33:10 -04:00
m0duspwnens
cd0ab5c709 add support for shard_duration to influxdb module and influxdb_retention_policy state - https://github.com/Security-Onion-Solutions/securityonion/issues/3264 2021-03-25 08:50:32 -04:00
Masaya-A
16f88c38de Merge pull request #7 from Security-Onion-Solutions/dev
Dev Sync
2021-03-25 09:09:38 +09:00
m0duspwnens
d75fafb19c add support for shard_duration to influxdb module and influxdb_retention_policy state - https://github.com/Security-Onion-Solutions/securityonion/issues/3264 2021-03-24 17:30:27 -04:00
Jason Ertel
909a1badcb Merge pull request #3622 from Security-Onion-Solutions/kilo
Correct local online docs link to release notes
2021-03-24 15:01:35 -04:00
Jason Ertel
7fc2467951 Correct local online docs link to release notes 2021-03-24 15:00:02 -04:00
William Wernert
c6a257bc50 Merge branch 'dev' into feature/ntp-service 2021-03-24 11:50:47 -04:00
Mike Reeves
f0c19cf2af Merge pull request #3616 from Security-Onion-Solutions/kilo 2021-03-24 11:48:31 -04:00
Jason Ertel
08f46a779a Remove freqserver, minio, and domainstats from image list 2021-03-24 11:32:29 -04:00
m0duspwnens
11c3f14b42 end patch files with newline 2021-03-24 10:35:20 -04:00
William Wernert
982f2de33c [fix] Refactor so-ssh-harden
* Create a temp file to make changes, and only copy back over if any changes are made
* Test changes as they're made, and exit if the test fails
* Only add lines if they don't already exist in the config
2021-03-24 09:48:00 -04:00
m0duspwnens
53528d486c remove minio 2021-03-24 09:44:56 -04:00
m0duspwnens
3a8aea0de6 removing domainstats and freqserver from so-image-common 2021-03-24 09:11:48 -04:00
Jason Ertel
79ad87f83c Remove freqserver, minio, and domainstats from image list 2021-03-23 21:16:17 -04:00
Jason Ertel
887920e7c5 Implement customizable overview page 2021-03-23 16:44:08 -04:00
Jason Ertel
2d8c73d317 Merge branch 'dev' into kilo 2021-03-23 16:31:44 -04:00
Jason Ertel
5ade0b9f40 Implement customizable overview page 2021-03-23 16:31:41 -04:00
m0duspwnens
a3e11f017b merge with 2.3.40 2021-03-23 14:34:52 -04:00
William Wernert
23cd006724 so-ssh-harden fixes
* Change when script is run during setup
* Add newlines to sshd config for legibility
2021-03-23 14:06:10 -04:00
William Wernert
3287a777a2 [fix] Pre-fill hostname re-enter on default 2021-03-23 11:41:12 -04:00
William Wernert
9f0afd90f1 [fix] Add missing backslash 2021-03-23 11:27:37 -04:00
William Wernert
2d873b92fa Fix ntp logic elsewhere 2021-03-23 10:22:41 -04:00
William Wernert
0e9c81c145 Fix logic around ntp prompt 2021-03-23 09:44:44 -04:00
William Wernert
884343b299 Merge branch 'dev' into feature/ntp-service 2021-03-23 09:36:41 -04:00
William Wernert
184c763b02 [fix] Export correct variable to check later in setup 2021-03-23 09:36:08 -04:00
William Wernert
ace30c07ea [fix] Also sync time before updating system clock 2021-03-23 09:22:09 -04:00
William Wernert
b3f558a1f8 [fix] Also check if proxy is set before asking for ntp servers 2021-03-23 09:14:34 -04:00
Masaya-A
151376a18f Merge pull request #5 from Security-Onion-Solutions/dev
Dev Sync
2021-03-23 14:27:29 +09:00
Jason Ertel
197693df4e Merge pull request #3580 from Security-Onion-Solutions/kilo
Upgrade to version 2.3.50
2021-03-22 21:10:05 -04:00
William Wernert
449e0d853c Initial support for ntp service via chronyd 2021-03-22 15:52:51 -04:00
Jason Ertel
8448588809 Upgrade to version 2.3.50 2021-03-22 15:04:02 -04:00
Mike Reeves
cdb16e3e5a Merge pull request #3579 from Security-Onion-Solutions/kilo
Revert upgrade to version 2.3.50
2021-03-22 14:55:21 -04:00
Jason Ertel
86cb59d5ae Revert upgrade to version 2.3.50 2021-03-22 14:53:36 -04:00
Mike Reeves
b4172565e8 Merge pull request #3578 from Security-Onion-Solutions/kilo
Upgrade to version 2.3.50
2021-03-22 14:50:27 -04:00
Jason Ertel
b83ae4bded Upgrade to version 2.3.50 2021-03-22 14:49:14 -04:00
Mike Reeves
afed0b70eb Merge pull request #3572 from Security-Onion-Solutions/dev
2.3.40
2021-03-22 14:43:34 -04:00
William Wernert
50fa0dc81a Allow user to enter a description during setup
Resolves #2404
2021-03-22 11:32:37 -04:00
Jason Ertel
e9bd3888c4 Merge pull request #3571 from Security-Onion-Solutions/2340sigrtd
Verify ISO and update gpg
2021-03-22 10:03:42 -04:00
Mike Reeves
ea5624b4bf Update date 2021-03-22 10:02:04 -04:00
Mike Reeves
11cb843fb4 Verify ISO and update gpg 2021-03-22 09:59:48 -04:00
Mike Reeves
57664a3c8a Merge pull request #3570 from Security-Onion-Solutions/Update-Readme
Update README.md
2021-03-22 09:14:34 -04:00
Mike Reeves
71d4d7ee8f Update README.md 2021-03-22 09:03:47 -04:00
Mike Reeves
25c9e70658 Merge pull request #3564 from Security-Onion-Solutions/fix/dash
Fix Dashboard Placeholder
2021-03-20 16:10:07 -04:00
Mike Reeves
e06e023d8e Fix Dashboard Placeholder 2021-03-20 14:05:55 -04:00
Mike Reeves
4fe14dbfd8 Merge pull request #3558 from Security-Onion-Solutions/fix/https-playbook-alerter
Fix https Playbook Alerter
2021-03-19 16:39:35 -04:00
Josh Brower
2425355680 Fix https Playbook Alerter 2021-03-19 16:38:33 -04:00
Josh Patterson
30b948f6b8 Merge pull request #3557 from Security-Onion-Solutions/suri-eve-file-mode
prevent salt warning about file mode
2021-03-19 16:24:26 -04:00
m0duspwnens
e87fb013dc prevent salt warning - The 'file_mode' argument will be ignored. Please use 'mode' instead to set file permissions. 2021-03-19 16:21:18 -04:00
Mike Reeves
908a9c2c06 Merge pull request #3550 from Security-Onion-Solutions/issue/3493
fix docker-ce holds
2021-03-19 15:18:45 -04:00
m0duspwnens
d0f938a600 fix docker-ce holds 2021-03-19 15:16:58 -04:00
Mike Reeves
ee2a6f8be9 Merge pull request #3549 from Security-Onion-Solutions/saved_objects
Update saved objects and remove index patterns because this is now handled by Field Caps API
2021-03-19 14:32:55 -04:00
Wes Lambert
b481cf885b Update saved objects and remove index patterns because this is now handled by Field Caps API 2021-03-19 18:30:42 +00:00
Mike Reeves
890c0da81a Merge pull request #3546 from Security-Onion-Solutions/kilo
Update release notes for 2.3.40
2021-03-19 11:25:15 -04:00
Jason Ertel
e69f6270f9 Merge branch 'dev' into kilo 2021-03-19 11:15:47 -04:00
Jason Ertel
83a3488a06 Update changes.json to reflect 2.3.40 changes 2021-03-19 11:15:27 -04:00
Mike Reeves
de61886441 Merge pull request #3544 from Security-Onion-Solutions/feature/setup-kibana-space
Configure default Space in Kibana during setup
2021-03-19 09:02:18 -04:00
Josh Brower
9d533e5db0 Merge pull request #3542 from Security-Onion-Solutions/fix/fleet-custom-hostname
Fix Fleet Custom Hostname Reactor
2021-03-19 08:21:30 -04:00
Josh Brower
d020f1d1a1 Fix Fleet Custom Hostname Reactor 2021-03-19 08:15:47 -04:00
William Wernert
b595c6ddf7 Configure default Space in Kibana during setup 2021-03-18 16:00:13 -04:00
Mike Reeves
28999af493 Merge pull request #3539 from Security-Onion-Solutions/fix/postsoup
Fix/postsoup
2021-03-18 15:46:36 -04:00
Josh Brower
77b8aecfd9 add so-kibana-space-defaults 2021-03-18 15:40:12 -04:00
Mike Reeves
2e84af621e Add postloop for 2.3.40 2021-03-18 15:14:10 -04:00
William Wernert
6b2947ca6a Merge pull request #3535 from Security-Onion-Solutions/fix/cloud-var
Set is_cloud variable in the main shell process
2021-03-18 14:00:58 -04:00
Mike Reeves
2bd3a6418d Merge pull request #3536 from Security-Onion-Solutions/kilo
Refresh fieldcaps every 5 minutes
2021-03-18 13:57:24 -04:00
Jason Ertel
cc30abfe1b Refresh fieldcaps every 5 minutes 2021-03-18 13:48:57 -04:00
William Wernert
0edf419bcb Remove redundant message 2021-03-18 13:16:45 -04:00
William Wernert
360f0d4dfd Also print stdout message to log 2021-03-18 13:12:16 -04:00
William Wernert
27ff823bc0 [fix] Don't set is_cloud in a subshell 2021-03-18 13:09:46 -04:00
Mike Reeves
1f85506fb1 Merge pull request #3532 from Security-Onion-Solutions/fix/packaging
Also add python packaging lib package to common state
2021-03-18 11:30:56 -04:00
William Wernert
cb0fb93f77 Also add python packaging lib package to common state 2021-03-18 11:28:25 -04:00
William Wernert
fcf0417fbf Merge pull request #3528 from Security-Onion-Solutions/fix/default-no-proxy
Change proxy prompt to default to no
2021-03-18 09:57:03 -04:00
William Wernert
c910a2d2a0 Change proxy prompt to default to no 2021-03-18 09:52:11 -04:00
William Wernert
066a8598a6 Merge pull request #3523 from Security-Onion-Solutions/issue/3493
fix docker versions in setup
2021-03-18 09:31:35 -04:00
William Wernert
b5770964c4 Merge pull request #3522 from Security-Onion-Solutions/fix/install-network-manager
[fix] CentOS ami does not include NetworkManager, so install it
2021-03-18 09:10:41 -04:00
William Wernert
31725ac627 [fix] Indent 2021-03-18 09:09:29 -04:00
m0duspwnens
dbe54708ef fix docker versions in setup https://github.com/Security-Onion-Solutions/securityonion/issues/3493 2021-03-18 09:09:28 -04:00
William Wernert
163cb8f3ca [fix] Typo 2021-03-18 09:08:31 -04:00
William Wernert
4f104c860e [fix] CentOS ami does not include NetworkManager, so install it 2021-03-18 09:00:02 -04:00
Mike Reeves
db605adaf6 Merge pull request #3517 from Security-Onion-Solutions/fix/restarting-docker-message 2021-03-17 21:15:37 -04:00
Mike Reeves
308f10fbdd Merge pull request #3510 from Security-Onion-Solutions/kilo 2021-03-17 21:14:45 -04:00
William Wernert
6e3d951b01 [fix] Show message in terminal when restarting Docker to avoid confusion 2021-03-17 20:17:23 -04:00
Mike Reeves
9a2b5fa301 Merge pull request #3516 from Security-Onion-Solutions/add_suricata_eve_clean
https://github.com/Security-Onion-Solutions/securityonion/issues/3515
2021-03-17 18:50:23 -04:00
m0duspwnens
ec179f8e9b https://github.com/Security-Onion-Solutions/securityonion/issues/3515 2021-03-17 18:44:25 -04:00
Jason Ertel
bc002cb9fb Merge branch 'dev' into kilo 2021-03-17 18:29:52 -04:00
Jason Ertel
4e9f629231 Reformat inactiveTools list in JSON format 2021-03-17 18:25:05 -04:00
Mike Reeves
75f9138a40 Merge pull request #3514 from Security-Onion-Solutions/fix/accept-hostname-proxy
[fix] Also accept a hostname in the proxy URL
2021-03-17 17:51:59 -04:00
William Wernert
96ac742b69 [fix] Also accept a hostname in the proxy URL 2021-03-17 17:31:47 -04:00
Jason Ertel
42809083e8 Merge branch 'dev' into kilo 2021-03-17 17:14:29 -04:00
Mike Reeves
a3b7388aba Merge pull request #3511 from Security-Onion-Solutions/fix/elastic-license-agree
Make the Elastic license prompt case insensitive
2021-03-17 16:57:32 -04:00
William Wernert
7da027abc1 Make the Elastic license prompt case insensitive 2021-03-17 16:55:34 -04:00
Jason Ertel
4de809ecbd Automatically hide SOC tools that are not installed. Resolves #1643. 2021-03-17 16:13:50 -04:00
Josh Brower
8fd3f102f1 Merge pull request #3509 from Security-Onion-Solutions/fix/kibana-space-defaults
Add space defaults script
2021-03-17 15:55:11 -04:00
Josh Brower
7583593152 Add space defaults scripot 2021-03-17 15:47:36 -04:00
Jason Ertel
dc0d989942 Merge pull request #3504 from Security-Onion-Solutions/issue/3493
UPGRADE: docker-ce, docker-ce-cli, containerd to latest
2021-03-17 13:51:31 -04:00
William Wernert
46d346aa62 Merge pull request #3503 from Security-Onion-Solutions/foxtrot
Foxtrot
2021-03-17 12:07:40 -04:00
William Wernert
16d6e116fa Merge branch 'dev' into foxtrot
# Conflicts:
#	salt/idstools/init.sls
2021-03-17 11:52:54 -04:00
Mike Reeves
52b836d456 Merge pull request #3498 from Security-Onion-Solutions/fix/so-rule-apply
Fix so-rule apply - manually tested
2021-03-17 11:28:16 -04:00
William Wernert
8aac9d6bea Reorder states in sync_files.sls 2021-03-17 10:46:17 -04:00
William Wernert
99a37a56a9 [fix] Change the commands so-rule uses to apply changes 2021-03-17 10:36:43 -04:00
m0duspwnens
f63cc10602 https://github.com/Security-Onion-Solutions/securityonion/issues/3493 2021-03-17 10:26:52 -04:00
William Wernert
c0163108ab Merge branch 'dev' into foxtrot
# Conflicts:
#	salt/common/tools/sbin/soup
2021-03-17 10:23:51 -04:00
m0duspwnens
aa14dda155 https://github.com/Security-Onion-Solutions/securityonion/issues/3493 2021-03-17 10:20:20 -04:00
Mike Reeves
fbdb627ab7 Merge pull request #3488 from Security-Onion-Solutions/issue/3288
insert instead of append
2021-03-17 09:17:20 -04:00
m0duspwnens
68ce7a902d insert instead of append 2021-03-17 09:14:19 -04:00
Doug Burks
2ba130b44c Merge pull request #3487 from Security-Onion-Solutions/issue/3486
FEATURE: soup should provide some initial information and then prompt…
2021-03-17 09:02:29 -04:00
Doug Burks
d32c1de411 FEATURE: soup should provide some initial information and then prompt the user to continue #3486 2021-03-17 09:00:46 -04:00
Josh Brower
d21abd9693 Merge pull request #3482 from Security-Onion-Solutions/feature/revert-livequery-hunt
Temp revert Fleet Live Query to Hunt
2021-03-17 08:29:28 -04:00
Josh Brower
bba9913be1 Temp revert Fleet Live Query to Hunt 2021-03-17 08:25:25 -04:00
Jason Ertel
1b6f681ae1 Merge pull request #3477 from Security-Onion-Solutions/esheap
Esheap
2021-03-17 08:14:13 -04:00
Mike Reeves
137e1a699d Fix the math 2021-03-16 19:01:10 -04:00
Mike Reeves
2f3488b134 Merge pull request #3476 from Security-Onion-Solutions/issue/3288
Issue/3288
2021-03-16 18:56:07 -04:00
Mike Reeves
7719a26a96 Change ES Heap calculation 2021-03-16 18:53:41 -04:00
m0duspwnens
53c3b19a08 Merge remote-tracking branch 'remotes/origin/dev' into issue/3288 2021-03-16 16:46:32 -04:00
Doug Burks
065f1c2927 Merge pull request #3473 from Security-Onion-Solutions/fix/shorten-elastic-license-url
Shorten Elastic License URL to avoid line wrap
2021-03-16 16:43:38 -04:00
Doug Burks
388524ec4e Shorten Elastic License URL to avoid line wrap 2021-03-16 16:39:14 -04:00
m0duspwnens
38a497932c https://github.com/Security-Onion-Solutions/securityonion/issues/3288 2021-03-16 16:36:35 -04:00
weslambert
8d29f757b1 Merge pull request #3471 from Security-Onion-Solutions/kilo
Reverse Zeek index close/delete count for Curator
2021-03-16 14:34:46 -04:00
Josh Brower
b56434aea1 Merge pull request #3470 from Security-Onion-Solutions/feature/disable-features-ui
Feature/disable certain features in Kibana UI
2021-03-16 14:00:21 -04:00
Josh Brower
abd4f92088 Cleanup curl output 2021-03-16 13:53:28 -04:00
Josh Brower
c855e0a55a Disable certain Features within the default space 2021-03-16 13:48:13 -04:00
Wes Lambert
7a02150389 Reverse Zeek index close/delete count for Curator 2021-03-16 17:16:55 +00:00
weslambert
5fd483a99d Merge pull request #3466 from Security-Onion-Solutions/soup2340
Soup for 2.3.40
2021-03-16 13:03:33 -04:00
Mike Reeves
d92c1c11aa Merge pull request #3463 from Security-Onion-Solutions/kilo
Ignore TIME_WAIT when checking for Strelka frontend port reservation
2021-03-16 12:59:16 -04:00
Mike Reeves
71c6bb71c1 Merge remote-tracking branch 'remotes/origin/dev' into soup2340 2021-03-16 12:56:24 -04:00
Mike Reeves
e528d84ebe Update Elastic License Text 2021-03-16 12:56:06 -04:00
William Wernert
129db23062 Move interface message to later in setup 2021-03-16 12:34:44 -04:00
William Wernert
1e7aaf9ffb Collect manager info before showing message about copying ssh key 2021-03-16 12:32:37 -04:00
Mike Reeves
2851840e76 Fix Logging 2021-03-16 12:18:01 -04:00
Josh Brower
7b748128ea Merge pull request #3462 from Security-Onion-Solutions/delta
Fixes IP & Port mappings
2021-03-16 12:05:23 -04:00
Josh Brower
4d6cac4a2a Merge remote-tracking branch 'remotes/origin/dev' into delta 2021-03-16 11:57:17 -04:00
William Wernert
c8bbe078a6 Use more lines on proxy error message 2021-03-16 11:42:15 -04:00
William Wernert
6a48d7f478 Print curl error to populate variable 2021-03-16 11:34:36 -04:00
Wes Lambert
038c58f3d5 Ignore TIME_WAIT when checking for Strelka frontend port reservation 2021-03-16 14:51:16 +00:00
William Wernert
59c62393b5 Change back to validating proxy, show user error message from curl 2021-03-16 10:18:02 -04:00
Mike Reeves
00025e5c74 Fix Syntax Error 2021-03-16 09:34:53 -04:00
Josh Brower
71ae5b60ea Update Sigmac mappings and config for IPs and ports 2021-03-16 09:32:40 -04:00
Josh Brower
44c75122ed Update Sigmac mappings and config for IPs and ports 2021-03-16 09:05:35 -04:00
Mike Reeves
8d23518f90 Update Elastic Link 2021-03-15 17:50:06 -04:00
Mike Reeves
9a4c4448f3 Fix whiptail display 2021-03-15 17:45:44 -04:00
Mike Reeves
12501e0079 Add check license to its own logic 2021-03-15 17:41:45 -04:00
Mike Reeves
72759de97f Fix so-common syntax 2021-03-15 17:37:44 -04:00
Mike Reeves
67e0d450e4 Add Elastic License Prompts 2021-03-15 17:32:36 -04:00
Mike Reeves
05ec7dba21 Merge pull request #3452 from Security-Onion-Solutions/Telegraf-Fix
Turn off SSL Verification in Telegraf
2021-03-15 16:47:27 -04:00
Mike Reeves
674bb342ea Turn off SSL Verification in Telegraf 2021-03-15 16:39:43 -04:00
Josh Brower
5fe025318b Update Sigmac mappings and config for IPs and ports 2021-03-15 15:53:00 -04:00
William Wernert
086f2b3437 Change when prereq packages are installed to follow new order 2021-03-15 14:59:24 -04:00
Mike Reeves
c93aab7a85 Merge pull request #3448 from Security-Onion-Solutions/kilo
Allow for moving Strelka files to processed directory after scanning
2021-03-15 14:51:04 -04:00
William Wernert
efc0463201 Change when proxy + variables are set so strings are built correctly 2021-03-15 14:45:23 -04:00
William Wernert
55aee69a74 Merge branch 'dev' into foxtrot 2021-03-15 12:34:24 -04:00
William Wernert
6ae3a26cbe Revert all proxy changes on reinstall 2021-03-15 12:34:13 -04:00
Wes Lambert
f142b754dc Add Strelka files.processed directory so files will be moved from staging to processed 2021-03-15 15:43:31 +00:00
Wes Lambert
b6a785395d Add Strelka staging directory for state 2021-03-15 15:42:13 +00:00
Mike Reeves
ab75d0e563 soup for 2.3.40 2021-03-15 10:51:31 -04:00
Mike Reeves
79c7af9a31 soup for 2.3.40 2021-03-15 10:48:24 -04:00
Masaya-A
236373cda2 Merge pull request #2 from Security-Onion-Solutions/dev
Dev Sync
2021-03-14 20:27:50 +09:00
Mike Reeves
d931e57fd8 Merge pull request #3428 from Security-Onion-Solutions/kilo 2021-03-12 17:03:48 -05:00
Doug Burks
cfdf9703ab Merge pull request #3427 from Security-Onion-Solutions/issue/3340
FEATURE: soup should output more guidance for distributed deployments at the end #3340
2021-03-12 15:27:26 -05:00
Doug Burks
da7adab566 FEATURE: soup should output more guidance for distributed deployments at the end #3340 2021-03-12 12:59:17 -05:00
William Wernert
f80dfda60b Only run initial installer progress to 98 to avoid sitting at 100 2021-03-12 11:39:44 -05:00
William Wernert
302d6e03be Merge branch 'dev' into foxtrot 2021-03-12 11:36:26 -05:00
Mike Reeves
4ac408ad38 Merge pull request #3423 from Security-Onion-Solutions/issue/3422
FIX: Improve Setup verbiage #3422
2021-03-12 11:04:25 -05:00
doug
edb88ac09a FIX: Improve Setup verbiage #3422 2021-03-12 10:54:44 -05:00
Jason Ertel
747f387936 Replace salt's http.wait_for_successful_query with so-common's wait_for_web_response due to issues with salt 2021-03-12 10:42:18 -05:00
Jason Ertel
8cddfeb47d Provide pillar for each client param 2021-03-12 07:42:10 -05:00
Doug Burks
555f9b5091 Merge pull request #3417 from Security-Onion-Solutions/issue/3413
FIX: SMTP shoud read SNMP on Kibana SNMP view #3413
2021-03-12 06:52:21 -05:00
doug
a5779a520c FIX: SMTP shoud read SNMP on Kibana SNMP view #3413 2021-03-12 06:48:57 -05:00
Jason Ertel
a7ea0808c3 Merge pull request #3399 from Security-Onion-Solutions/kilo
feature: Show job owner/submitter. Resolves #2775
2021-03-12 06:45:34 -05:00
Jason Ertel
462f76e2bb Remove client params block in favor in individual settings that will go into the pillar 2021-03-12 06:38:53 -05:00
Jason Ertel
b5cf9ae820 Merge branch 'dev' into kilo 2021-03-11 18:01:17 -05:00
Jason Ertel
80987dfd1d Support overrides of client params 2021-03-11 18:01:04 -05:00
William Wernert
6842204981 Ask for hostname earlier in setup 2021-03-11 16:55:06 -05:00
Doug Burks
ab1c84afca Merge pull request #3409 from Security-Onion-Solutions/issue/3408
FIX: Populate http.status_message field #3408
2021-03-11 16:45:53 -05:00
doug
adbc7436b6 FIX: Populate http.status_message field #3408 2021-03-11 16:42:20 -05:00
William Wernert
6d431c0bda Add more info to comment 2021-03-11 16:36:56 -05:00
William Wernert
b14b9e8e17 [fix] Fix dependency install progress bar 2021-03-11 16:34:54 -05:00
William Wernert
b35e65190e [fix] Fix dependency install progress bar 2021-03-11 16:30:14 -05:00
William Wernert
8e8bb1489b Redirect output of kill command 2021-03-11 16:13:52 -05:00
William Wernert
e2fc1b0b39 Redirect output of kill command 2021-03-11 16:06:49 -05:00
William Wernert
3306ffa792 Only collect proxy once, include manager in no_proxy value on minions 2021-03-11 16:03:43 -05:00
William Wernert
a86b2ab653 [fix] Remove additional collect_proxy call 2021-03-11 15:54:46 -05:00
William Wernert
5612fc10d4 [feat] Remove setup dependency on bc 2021-03-11 15:53:04 -05:00
Jason Ertel
286351f424 Merge branch 'dev' into kilo 2021-03-11 15:32:38 -05:00
Jason Ertel
908720592a Upgrade saved objects to 7.11.2 2021-03-11 15:32:22 -05:00
William Wernert
66da3e380f [fix] Set percentage value when needed 2021-03-11 15:25:38 -05:00
William Wernert
e60bc87ffa Install setup required packages later so that also uses the proxy 2021-03-11 15:20:39 -05:00
m0duspwnens
c4da576030 ensure the presence of the telegraf database 2021-03-11 12:20:32 -05:00
William Wernert
0d01f63e3b [fix] Confirm proxy password 2021-03-11 11:46:46 -05:00
Jason Ertel
79dd0d1809 Fix indentation 2021-03-11 11:13:14 -05:00
Mike Reeves
cdd95986a8 Merge pull request #3398 from Security-Onion-Solutions/issue/3397
FIX: Improve Suricata DHCP logging and parsing #3397
2021-03-11 11:07:53 -05:00
doug
b4ad7e7359 FIX: Improve Suricata DHCP logging and parsing #3397 2021-03-11 11:01:51 -05:00
m0duspwnens
465253a769 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-03-11 10:55:19 -05:00
William Wernert
0434ffac38 Merge branch 'dev' into foxtrot 2021-03-11 10:52:36 -05:00
William Wernert
506162bfcc Use auth for automated proxy test 2021-03-11 10:52:17 -05:00
m0duspwnens
3b74d987c1 fix retry in ca state. add subjectAltName to influxdb.crt 2021-03-11 10:49:15 -05:00
m0duspwnens
3385ba2ca2 verify ssl 2021-03-11 09:35:54 -05:00
m0duspwnens
6dba2879c5 change so_long_term rp to 6h for tetsing 2021-03-11 09:25:44 -05:00
m0duspwnens
8fc1656939 fix timeouts / retries in ssl state 2021-03-11 09:24:57 -05:00
Doug Burks
adb25d63d2 Merge pull request #3396 from Security-Onion-Solutions/issue/3295
FIX: Improve DHCP leases query in Hunt #3395
2021-03-11 08:22:48 -05:00
Doug Burks
85aaa71006 FIX: Improve DHCP leases query in Hunt #3395 2021-03-11 08:01:27 -05:00
William Wernert
750de6333d [fix] Remove last bad usage of cortexkey 2021-03-10 16:24:21 -05:00
William Wernert
9ffbb9d37e [fix] Use update so-cortex-user-enable with correct pillar
Fixes #3388
2021-03-10 16:17:10 -05:00
William Wernert
157badf448 [fix] Use correct pillar value for api key
Fixes #3388
2021-03-10 16:12:59 -05:00
m0duspwnens
75012cdcba create rps and cqs 2021-03-10 15:20:11 -05:00
Jason Ertel
eefa6bb949 feature: Show job owner/submitter. Resolves #2775 2021-03-10 14:44:21 -05:00
William Wernert
19ccd0c9a2 Merge branch 'dev' into foxtrot 2021-03-10 09:33:42 -05:00
Mike Reeves
6bbcc7a5e9 Merge pull request #3382 from Security-Onion-Solutions/kilo
Ensure MTU is defined for advanced sensor automation
2021-03-10 09:27:20 -05:00
Jason Ertel
3eb4a37c76 Expose zeek and suri pins for automation 2021-03-10 09:26:46 -05:00
Jason Ertel
180bba782e Expose zeek and suri pins for automation 2021-03-10 09:26:11 -05:00
Jason Ertel
b1531cc75e Merge pull request #3384 from Security-Onion-Solutions/Eval/Import-Fix
Update cert location for eval.import
2021-03-10 09:15:53 -05:00
Mike Reeves
18203513ab Update cert location for eval.import 2021-03-10 09:14:14 -05:00
Jason Ertel
46af6a5c84 Ensure MTU is defined for advanced sensor automation 2021-03-10 08:14:25 -05:00
Mike Reeves
2e74cb6abf Merge pull request #3377 from Security-Onion-Solutions/kilo 2021-03-09 21:40:43 -05:00
Jason Ertel
a496b03de7 Add missing MTU var for automation of advanced sensor 2021-03-09 20:52:34 -05:00
William Wernert
60f40163aa Merge branch 'dev' into foxtrot 2021-03-09 13:51:13 -05:00
Jason Ertel
46288802d1 Merge pull request #3368 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update 9101_output_osquery_livequery.conf.jinja
2021-03-09 13:16:17 -05:00
Mike Reeves
2e01330e1b Update 9101_output_osquery_livequery.conf.jinja 2021-03-09 13:15:04 -05:00
m0duspwnens
c1e4c4cb30 fix pip and python-influxdb install 2021-03-09 11:50:27 -05:00
m0duspwnens
a3a0af64ce Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-03-09 10:34:39 -05:00
m0duspwnens
1f9e5ca3cc install influxdb python module add test retention policies 2021-03-09 10:31:59 -05:00
William Wernert
f0e089b6bf Merge branch 'dev' into foxtrot 2021-03-09 10:11:04 -05:00
Mike Reeves
734d25b1ac Merge pull request #3361 from Security-Onion-Solutions/nomorefeatures
Make saved objects less hacky
2021-03-09 10:05:23 -05:00
Mike Reeves
49258a13a3 Make saved objects less hacky 2021-03-09 10:03:29 -05:00
Josh Brower
00da549430 Merge pull request #3358 from Security-Onion-Solutions/delta
FEATURE: Initial support for viewing Osquery Live Query results in Hunt
2021-03-09 09:18:57 -05:00
Jason Ertel
b1777ff10f Merge pull request #3357 from Security-Onion-Solutions/nomorefeatures
SSL with Elastic Security
2021-03-08 21:22:30 -05:00
Mike Reeves
3967e581cf Merge pull request #3356 from Security-Onion-Solutions/kilo
fix: Sensors can temporarily show offline while processing large PCAP…
2021-03-08 19:14:54 -05:00
William Wernert
ba71b2fbc8 Change proxy Jinja logic (none and empty string are falsy) 2021-03-08 17:36:34 -05:00
Mike Reeves
1ecb079066 Fix Kibana Script for loading dashboards 2021-03-08 17:36:07 -05:00
William Wernert
f85f86ccdd [fix] Check for empty proxy string everywhere 2021-03-08 17:25:23 -05:00
William Wernert
8c4e66f7bb [fix] Print error to stderr 2021-03-08 15:52:21 -05:00
William Wernert
5ee6856a07 Strip the last substring following a hyphen for automated branches
Also don't show the user a stack trace on invalid version strings, just alert on the bad string and exit
2021-03-08 15:43:54 -05:00
William Wernert
ed4f8025be [fix] Also check for proxy to be empty string 2021-03-08 13:57:24 -05:00
Josh Brower
fe8788c09a Merge remote-tracking branch 'remotes/origin/dev' into delta 2021-03-08 12:56:47 -05:00
William Wernert
5c7d3656dd [fix] Don't try to create so_proxy during automated installs, just set it 2021-03-08 12:26:17 -05:00
Jason Ertel
84c152e233 fix: Sensors can temporarily show offline while processing large PCAP jobs. Resolves #3279. 2021-03-08 12:05:44 -05:00
Mike Reeves
bf4ac2a312 Fix some merge conflicts 2021-03-08 11:43:24 -05:00
William Wernert
368b04b24e Add back accidentally removed code 2021-03-08 09:04:17 -05:00
William Wernert
ca2766511b Revert "[wip] Change when proxy is set up so main ip is known"
This reverts commit 1ea3cb1c61.

# Conflicts:
#	setup/so-functions
2021-03-08 09:02:53 -05:00
William Wernert
06c584910c Merge branch 'dev' into foxtrot 2021-03-08 08:58:31 -05:00
Josh Brower
19b3c7bb07 Merge pull request #3339 from Security-Onion-Solutions/feature/live_query-hunt
Feature/live query hunt
2021-03-08 08:31:25 -05:00
William Wernert
49db2a016a Merge pull request #3341 from Security-Onion-Solutions/kilo
Kilo
2021-03-08 08:17:29 -05:00
Jason Ertel
94610307b3 Merge branch 'dev' into kilo 2021-03-08 07:56:48 -05:00
William Wernert
35ae9363f5 [fix] Log gateway error, and don't show whiptail msg on automated installs 2021-03-05 20:15:37 -05:00
William Wernert
9c49cef2de Merge branch 'feature/docker-prune-rework' into foxtrot 2021-03-05 14:18:57 -05:00
William Wernert
f537b3c7f7 Merge branch 'feature/setup-ssh-harden' into foxtrot 2021-03-05 14:18:35 -05:00
William Wernert
e5110dc3fc [fix] None -> none 2021-03-05 14:08:03 -05:00
m0duspwnens
7409f15752 update all grafana queries that were using autogen to use default 2021-03-05 13:59:29 -05:00
William Wernert
50fcdb65a6 [fix] Modify the proxy automated test
* It makes more sense to test the proxy using a network install, not via the iso
2021-03-05 13:53:48 -05:00
William Wernert
32e7afdc5f Merge branch 'feature/setup' into foxtrot 2021-03-05 12:53:31 -05:00
William Wernert
245902326f [wip] Add automation support for proxy settings 2021-03-05 12:53:20 -05:00
Jason Ertel
7234353476 Merge pull request #3319 from Security-Onion-Solutions/foxtrot
fix: syntax error in reserved ports configuration #3308
2021-03-05 12:51:50 -05:00
William Wernert
ec04145d15 [fix] Set proxy for idstools container manually 2021-03-05 11:34:31 -05:00
Jason Ertel
61a7efeeab fix: syntax error in reserved ports configuration; ensure ports are reserved prior to setup 2021-03-05 10:54:01 -05:00
Josh Brower
548f67ca6f Initial support for Live Queries in Hunt 2021-03-04 18:21:13 -05:00
William Wernert
33b2bd33fe [fix] Also create config.json so containers use proxy 2021-03-04 17:12:10 -05:00
William Wernert
e0d0baafcc [fix] Permanently set proxy for yum using template 2021-03-04 16:40:32 -05:00
William Wernert
b3c7760ad4 [fix] Use correct variable in so-proxy.sh 2021-03-04 14:08:21 -05:00
Mike Reeves
39d4f077b4 Merge pull request #3290 from Security-Onion-Solutions/foxtrot
Foxtrot
2021-03-04 13:44:00 -05:00
William Wernert
a435ea77e8 [fix] Also add hostname to no_proxy list 2021-03-04 12:43:42 -05:00
William Wernert
2ee8c7ad1c [fix] Always pass $proxy_addr since we retry the surrounding function 2021-03-04 12:16:23 -05:00
William Wernert
ac0a4f4a13 Merge branch 'dev' into feature/setup 2021-03-04 12:11:17 -05:00
William Wernert
b265854644 [wip] Move proxy config to separate file 2021-03-04 12:10:42 -05:00
William Wernert
4339ded17f [wip][fix] Don't add logic to so-setup, create wrapper function in so-functions 2021-03-04 12:10:14 -05:00
William Wernert
d19ca943cc [fix][wip] Only setup proxy early on configure network setup 2021-03-04 11:57:16 -05:00
William Wernert
2e56252f54 [wip] Syntax fixes 2021-03-04 11:54:21 -05:00
William Wernert
13dc822197 [wip] Ask user if they want to re-enter the proxy 2021-03-04 11:53:08 -05:00
William Wernert
5a97341d33 [wip] Fix how collect_proxy function works on retry 2021-03-04 11:41:36 -05:00
William Wernert
7ee0fd6375 [wip] Specify setup log location to user when directing them to it 2021-03-04 11:31:22 -05:00
Mike Reeves
05c7bd5789 Merge pull request #3285 from Security-Onion-Solutions/elastic
Elastic
2021-03-04 10:57:06 -05:00
Mike Reeves
c2b347e4bb Security Enable for only nodes and heavy 2021-03-04 10:52:01 -05:00
Mike Reeves
a0a8d12526 Enable SSL and Features 2021-03-04 10:08:28 -05:00
Mike Reeves
8c474cc7df Merge pull request #3268 from Security-Onion-Solutions/issue/3254
FIX: Custom Kibana settings are not being applied properly on upgrades #3254
2021-03-04 08:39:50 -05:00
William Wernert
3d5cf128ae [wip] Test proxy before using it 2021-03-03 15:02:21 -05:00
Mike Reeves
49371a1d6a fix elastic output for ssl 2021-03-03 14:30:45 -05:00
William Wernert
1ea3cb1c61 [wip] Change when proxy is set up so main ip is known
* Also only restart docker if the command exists (i.e. docker is installed)
2021-03-03 14:20:26 -05:00
Mike Reeves
bf4249d28b fix elastalert verification 2021-03-03 14:16:10 -05:00
William Wernert
4ffa0fbc13 [wip] Fix proxy validation 2021-03-03 14:09:59 -05:00
Mike Reeves
e0538417f1 fix http.wait 2021-03-03 14:06:35 -05:00
doug
d39b3280c8 FIX: Custom Kibana settings are not being applied properly on upgrades #3254 2021-03-03 14:04:32 -05:00
Mike Reeves
6c7111cd0a turn off verification mode for ES 2021-03-03 13:42:04 -05:00
Mike Reeves
4de62c878c turn on elastic security 2021-03-03 12:51:29 -05:00
William Wernert
e951e9d9c5 [wip] Further proxy changes
* Remove unused docker.conf template
* Rename proxy variable to avoid name collision
* Reword address prompt to specify users should not include user:pass in their input
* Actually call the collect_proxy function
2021-03-03 12:19:14 -05:00
William Wernert
26b1da744c [wip] Reword proxy yesno prompt 2021-03-03 12:01:15 -05:00
William Wernert
83791d87c7 [wip][fix] Use passwordbox for proxy password 2021-03-03 11:58:45 -05:00
William Wernert
279a5b60b8 Soup indent fixes 2021-03-03 11:58:10 -05:00
Mike Reeves
4f34eca5b9 remove unused script 2021-03-03 10:32:23 -05:00
Mike Reeves
07b5cc3d1d Fix https for rw indicies script 2021-03-03 10:29:41 -05:00
Mike Reeves
d7451dcd75 Merge remote-tracking branch 'origin/foxtrot' into nomorefeatures 2021-03-03 10:04:38 -05:00
Mike Reeves
4f867e5375 Fix all scripts for ssl elastic 2021-03-03 10:02:23 -05:00
William Wernert
82018a206c [wip] Don't validate user+pass for proxy, use new variable 2021-03-03 09:56:14 -05:00
William Wernert
2b94fa366e [wip] Add auth inputs for proxy settings, fix some broken logic 2021-03-03 09:51:38 -05:00
William Wernert
de77d3ebc9 [wip] Initial work for setting up proxy on manager 2021-03-02 17:41:49 -05:00
William Wernert
4df53b3c70 Unify log_size_limit variable value in so-curator-closed-delete-delete 2021-03-02 17:38:17 -05:00
William Wernert
497938460a [fix] manager:log_size_limit is no longer used, remove generation 2021-03-02 16:47:49 -05:00
Mike Reeves
e0d9212e55 Make https default for all things 2021-03-02 14:01:05 -05:00
Mike Reeves
80574d3c20 Make https default for all things 2021-03-02 13:59:43 -05:00
Mike Reeves
bfd05a8cfc Change to https for elastic connections 2021-03-02 11:32:29 -05:00
Mike Reeves
3219f4cd12 Remove Features Option 2021-03-02 11:04:50 -05:00
William Wernert
a18dd869c4 Merge branch 'dev' into feature/setup 2021-03-02 10:23:33 -05:00
William Wernert
61611b8de2 Fix Elasticsearch disk space prompt
Resolves #3205
2021-03-02 10:23:04 -05:00
William Wernert
0db9991307 Reword/remove some comments 2021-03-02 10:20:33 -05:00
Jason Ertel
4014dbbc3d Revert "Move version to 2.3.31"
This reverts commit cf21200a36.
2021-03-02 10:14:45 -05:00
William Wernert
35f5c7fb4b Merge branch 'dev' into feature/docker-prune-rework 2021-03-02 09:48:41 -05:00
Jason Ertel
cf21200a36 Move version to 2.3.31 2021-03-02 09:11:49 -05:00
Mike Reeves
bff446543a Merge pull request #3215 from Security-Onion-Solutions/foxtrot
Foxtrot
2021-03-01 15:58:41 -05:00
Jason Ertel
53a45e1c97 Merge branch 'dev' into foxtrot 2021-03-01 15:54:41 -05:00
Jason Ertel
b37d5ae15f Enable advanced setup for some search/sensor installs 2021-03-01 15:54:29 -05:00
Mike Reeves
85204dbb14 Merge pull request #3210 from Security-Onion-Solutions/dev2340
Update VERSION
2021-03-01 15:28:45 -05:00
Mike Reeves
2c75cb74db Update VERSION 2021-03-01 15:17:38 -05:00
William Wernert
1834e07aad Merge branch 'dev' into feature/docker-prune-rework 2021-03-01 09:37:47 -05:00
William Wernert
33696398eb Add new so-docker-prune script
* Script will pull list of so- images and prune any older than most recent + last version
2021-02-26 18:06:07 -05:00
Josh Brower
b8137214e4 Initial Support - Live Query to Hunt 2021-02-26 08:08:09 -05:00
Josh Patterson
dc673eef77 Merge pull request #3148 from Security-Onion-Solutions/salt-3002.5
Salt 3002.5
2021-02-25 23:00:35 -05:00
Josh Patterson
18365ed87d Merge pull request #3140 from Security-Onion-Solutions/issue/3130
Issue/3130
2021-02-25 11:27:46 -05:00
Josh Patterson
81331264e7 Merge pull request #3117 from Security-Onion-Solutions/issue/3115
logfile is 1 word
2021-02-24 11:57:33 -05:00
Josh Patterson
a9066f491d Merge pull request #3116 from Security-Onion-Solutions/issue/3115
Issue/3115
2021-02-24 11:51:42 -05:00
Josh Patterson
988ad5f8fc Merge pull request #3086 from Security-Onion-Solutions/issue/3056
Issue/3056
2021-02-23 14:53:42 -05:00
William Wernert
d205fff3ba Run ssh-harden in setup per #1932 2021-02-19 13:45:23 -05:00
392 changed files with 23434 additions and 33508 deletions

39
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,39 @@
# Contributing to Security Onion
### Questions, suggestions, and general comments
* Security Onion uses GitHub's [Discussions](https://github.com/Security-Onion-Solutions/securityonion/discussions) to provide a forum where the community and developers can interact as well as ask and answer questions.
### Reporting a bug
* The primary place to report unexpected behavior or possible bugs is the repo's [Discussions forum](https://github.com/Security-Onion-Solutions/securityonion/discussions).
* **If you are familiar with the current version of Security Onion and are confident you've discovered a bug**, first ensure there is not already an issue present by searching the open [issues](https://github.com/Security-Onion-Solutions/securityonion/issues). If there is, a thumbs up :+1: is a great way to show this bug is affecting you too.
* If an issue doesn't exist, [open a new one](https://github.com/Security-Onion-Solutions/securityonion/issues/new), following the directions in the issue template. This means including:
* **System information** and how Security Onion was installed
* **Log files** relevant to the bug report
* **Reproduction steps**
### Contributing code
* **All commits must be signed** with a valid key that has been added to your GitHub account. The commits should have all the "**Verified**" tag when viewed on GitHub as shown below:
<img src="./assets/images/verified-commit-1.png" width="450">
* If an issue does not already exist for the bug or feature for which you are submitting a pull request, [create one](https://github.com/Security-Onion-Solutions/securityonion/issues/new) with the relevant prefix. (**`FIX:`** for bug fixes, **`FEATURE:`** for new features.)
* Link the PR to the related issue, either using [keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) in the PR description, or [manually](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue#manually-linking-a-pull-request-to-an-issue).
* **Pull requests should be opened against the `dev` branch of this repo**, and should clearly describe the problem and solution.
* Be sure you have tested your changes and are confident they will not break other parts of the product.
* See this document's [code styling and conventions section](#code-style-and-conventions) below to be sure your PR fits our code requirements prior to submitting.
### Code style and conventions
* **Keep code [DRY](https://en.wikipedia.org/wiki/Don%27t_repeat_yourself)**. For example, Bash code used by multiple scripts will likely best be added to <span style="white-space: nowrap;">[`so-common`](salt/common/tools/sbin/so-common)</span>.
* All new Bash code should pass [ShellCheck](https://www.shellcheck.net/) analysis. Where errors can be *safely* [ignored](https://github.com/koalaman/shellcheck/wiki/Ignore), the relevant disable directive should be accompanied by a brief explanation as to why the error is being ignored.
* **Ensure all YAML (this includes Salt states and pillars) is properly formatted**. The spec for YAML v1.2 can be found [here](https://yaml.org/spec/1.2/spec.html), however there are numerous online resources with simpler descriptions of its formatting rules.

1
HOTFIX Normal file
View File

@@ -0,0 +1 @@

View File

@@ -1,14 +1,14 @@
## Security Onion 2.3.30
## Security Onion 2.3.70
Security Onion 2.3.30 is here!
Security Onion 2.3.70 is here!
## Screenshots
Alerts
![Alerts](https://raw.githubusercontent.com/security-onion-solutions/securityonion/master/screenshots/alerts-1.png)
![Alerts](./assets/images/screenshots/alerts-1.png)
Hunt
![Hunt](https://raw.githubusercontent.com/security-onion-solutions/securityonion/master/screenshots/hunt-1.png)
![Hunt](./assets/images/screenshots/hunt-1.png)
### Release Notes

21
SECURITY.md Normal file
View File

@@ -0,0 +1,21 @@
# Security Policy
## Supported Versions
| Version | Supported |
| ------- | ------------------ |
| 2.x.x | :white_check_mark: |
| 16.04.x | :x: |
Security Onion 16.04 has reached End Of Life and is no longer supported.
## Reporting a Vulnerability
If you have any security concerns regarding Security Onion or believe you have uncovered a vulnerability, please follow these steps:
- send an email to security@securityonion.net
- include a description of the issue and steps to reproduce
- please use plain text format (no Word documents or PDF files)
- please do not disclose publicly until we have had sufficient time to resolve the issue
This security address should be used only for undisclosed vulnerabilities. Dealing with fixed issues or general questions on how to use Security Onion should be handled via the normal support channels.

View File

@@ -1,16 +1,18 @@
### 2.3.30 ISO image built on 2021/03/01
### 2.3.70 ISO image built on 2021/08/17
### Download and Verify
2.3.30 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.3.30.iso
2.3.70 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.3.70.iso
MD5: 65202BA0F7661A5E27087F097B8E571E
SHA1: 14E842E39EDBB55A104263281CF25BF88A2E9D67
SHA256: 210B37B9E3DFC827AFE2940E2C87B175ADA968EDD04298A5926F63D9269847B7
MD5: F048FABC7FD2D0E1A8B02381F115D1E0
SHA1: DF6D20FEF13CDC1B19309D2A1178D6E5D25FDA6F
SHA256: B193FFD7EE69958A8E257117149DCFB2125C5772FBFA6003AD80FD1CC129E571
Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.30.iso.sig
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.70.iso.sig
Signing key:
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS
@@ -24,22 +26,22 @@ wget https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/ma
Download the signature file for the ISO:
```
wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.30.iso.sig
wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.70.iso.sig
```
Download the ISO image:
```
wget https://download.securityonion.net/file/securityonion/securityonion-2.3.30.iso
wget https://download.securityonion.net/file/securityonion/securityonion-2.3.70.iso
```
Verify the downloaded ISO image using the signature file:
```
gpg --verify securityonion-2.3.30.iso.sig securityonion-2.3.30.iso
gpg --verify securityonion-2.3.70.iso.sig securityonion-2.3.70.iso
```
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
```
gpg: Signature made Mon 01 Mar 2021 02:15:28 PM EST using RSA key ID FE507013
gpg: Signature made Tue 17 Aug 2021 10:52:17 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.

View File

@@ -1 +1 @@
2.3.30
2.3.70

View File

Before

Width:  |  Height:  |  Size: 245 KiB

After

Width:  |  Height:  |  Size: 245 KiB

View File

Before

Width:  |  Height:  |  Size: 168 KiB

After

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

View File

@@ -67,3 +67,7 @@ peer:
reactor:
- 'so/fleet':
- salt://reactor/fleet.sls
- 'salt/beacon/*/watch_sqlite_db//opt/so/conf/kratos/db/sqlite.db':
- salt://reactor/kratos.sls

View File

@@ -1,208 +0,0 @@
{%- set FLEETMANAGER = salt['pillar.get']('global:fleet_manager', False) -%}
{%- set FLEETNODE = salt['pillar.get']('global:fleet_node', False) -%}
{% set WAZUH = salt['pillar.get']('manager:wazuh', '0') %}
{% set THEHIVE = salt['pillar.get']('manager:thehive', '0') %}
{% set PLAYBOOK = salt['pillar.get']('manager:playbook', '0') %}
{% set FREQSERVER = salt['pillar.get']('manager:freq', '0') %}
{% set DOMAINSTATS = salt['pillar.get']('manager:domainstats', '0') %}
{% set ZEEKVER = salt['pillar.get']('global:mdengine', 'COMMUNITY') %}
{% set GRAFANA = salt['pillar.get']('manager:grafana', '0') %}
eval:
containers:
- so-nginx
- so-telegraf
{% if GRAFANA == '1' %}
- so-influxdb
- so-grafana
{% endif %}
- so-dockerregistry
- so-soc
- so-kratos
- so-idstools
{% if FLEETMANAGER %}
- so-mysql
- so-fleet
- so-redis
{% endif %}
- so-elasticsearch
- so-logstash
- so-kibana
- so-steno
- so-suricata
- so-zeek
- so-curator
- so-elastalert
{% if WAZUH != '0' %}
- so-wazuh
{% endif %}
- so-soctopus
{% if THEHIVE != '0' %}
- so-thehive
- so-thehive-es
- so-cortex
{% endif %}
{% if PLAYBOOK != '0' %}
- so-playbook
{% endif %}
{% if FREQSERVER != '0' %}
- so-freqserver
{% endif %}
{% if DOMAINSTATS != '0' %}
- so-domainstats
{% endif %}
heavy_node:
containers:
- so-nginx
- so-telegraf
- so-redis
- so-logstash
- so-elasticsearch
- so-curator
- so-steno
- so-suricata
- so-wazuh
- so-filebeat
{% if ZEEKVER != 'SURICATA' %}
- so-zeek
{% endif %}
helix:
containers:
- so-nginx
- so-telegraf
- so-idstools
- so-steno
- so-zeek
- so-redis
- so-logstash
- so-filebeat
hot_node:
containers:
- so-nginx
- so-telegraf
- so-logstash
- so-elasticsearch
- so-curator
manager_search:
containers:
- so-nginx
- so-telegraf
- so-soc
- so-kratos
- so-acng
- so-idstools
- so-redis
- so-logstash
- so-elasticsearch
- so-curator
- so-kibana
- so-elastalert
- so-filebeat
- so-soctopus
{% if FLEETMANAGER %}
- so-mysql
- so-fleet
- so-redis
{% endif %}
{% if WAZUH != '0' %}
- so-wazuh
{% endif %}
- so-soctopus
{% if THEHIVE != '0' %}
- so-thehive
- so-thehive-es
- so-cortex
{% endif %}
{% if PLAYBOOK != '0' %}
- so-playbook
{% endif %}
{% if FREQSERVER != '0' %}
- so-freqserver
{% endif %}
{% if DOMAINSTATS != '0' %}
- so-domainstats
{% endif %}
manager:
containers:
- so-dockerregistry
- so-nginx
- so-telegraf
{% if GRAFANA == '1' %}
- so-influxdb
- so-grafana
{% endif %}
- so-soc
- so-kratos
- so-acng
- so-idstools
- so-redis
- so-elasticsearch
- so-logstash
- so-kibana
- so-elastalert
- so-filebeat
{% if FLEETMANAGER %}
- so-mysql
- so-fleet
- so-redis
{% endif %}
{% if WAZUH != '0' %}
- so-wazuh
{% endif %}
- so-soctopus
{% if THEHIVE != '0' %}
- so-thehive
- so-thehive-es
- so-cortex
{% endif %}
{% if PLAYBOOK != '0' %}
- so-playbook
{% endif %}
{% if FREQSERVER != '0' %}
- so-freqserver
{% endif %}
{% if DOMAINSTATS != '0' %}
- so-domainstats
{% endif %}
parser_node:
containers:
- so-nginx
- so-telegraf
- so-logstash
search_node:
containers:
- so-nginx
- so-telegraf
- so-logstash
- so-elasticsearch
- so-curator
- so-filebeat
{% if WAZUH != '0' %}
- so-wazuh
{% endif %}
sensor:
containers:
- so-nginx
- so-telegraf
- so-steno
- so-suricata
{% if ZEEKVER != 'SURICATA' %}
- so-zeek
{% endif %}
- so-wazuh
- so-filebeat
warm_node:
containers:
- so-nginx
- so-telegraf
- so-elasticsearch
fleet:
containers:
{% if FLEETNODE %}
- so-mysql
- so-fleet
- so-redis
- so-filebeat
- so-nginx
- so-telegraf
{% endif %}

View File

@@ -7,8 +7,10 @@ logstash:
- so/9000_output_zeek.conf.jinja
- so/9002_output_import.conf.jinja
- so/9034_output_syslog.conf.jinja
- so/9100_output_osquery.conf.jinja
- so/9050_output_filebeatmodules.conf.jinja
- so/9100_output_osquery.conf.jinja
- so/9400_output_suricata.conf.jinja
- so/9500_output_beats.conf.jinja
- so/9600_output_ossec.conf.jinja
- so/9700_output_strelka.conf.jinja
- so/9800_output_logscan.conf.jinja

View File

@@ -22,6 +22,9 @@ base:
'*_manager or *_managersearch':
- match: compound
- data.*
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
- secrets
- global
- minions.{{ grains.id }}
@@ -38,6 +41,9 @@ base:
- secrets
- healthcheck.eval
- elasticsearch.eval
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
- global
- minions.{{ grains.id }}
@@ -46,6 +52,9 @@ base:
- logstash.manager
- logstash.search
- elasticsearch.search
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
- data.*
- zeeklogs
- secrets
@@ -59,6 +68,7 @@ base:
'*_heavynode':
- zeeklogs
- elasticsearch.auth
- global
- minions.{{ grains.id }}
@@ -80,6 +90,7 @@ base:
- logstash
- logstash.search
- elasticsearch.search
- elasticsearch.auth
- global
- minions.{{ grains.id }}
- data.nodestab
@@ -88,5 +99,8 @@ base:
- zeeklogs
- secrets
- elasticsearch.eval
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
- global
- minions.{{ grains.id }}
- minions.{{ grains.id }}

View File

@@ -52,5 +52,4 @@ zeek:
- frameworks/signatures/detect-windows-shells
redef:
- LogAscii::use_json = T;
- LogAscii::json_timestamps = JSON::TS_ISO8601;
- CaptureLoss::watch_interval = 5 mins;
- CaptureLoss::watch_interval = 5 mins;

View File

@@ -1,71 +0,0 @@
{% from 'allowed_states.map.jinja' import allowed_states %}
{% if sls in allowed_states %}
{% set MANAGER = salt['grains.get']('master') %}
airgapyum:
file.managed:
- name: /etc/yum/yum.conf
- source: salt://airgap/files/yum.conf
airgap_repo:
pkgrepo.managed:
- humanname: Airgap Repo
- baseurl: https://{{ MANAGER }}/repo
- gpgcheck: 0
- sslverify: 0
agbase:
file.absent:
- name: /etc/yum.repos.d/CentOS-Base.repo
agcr:
file.absent:
- name: /etc/yum.repos.d/CentOS-CR.repo
agdebug:
file.absent:
- name: /etc/yum.repos.d/CentOS-Debuginfo.repo
agfasttrack:
file.absent:
- name: /etc/yum.repos.d/CentOS-fasttrack.repo
agmedia:
file.absent:
- name: /etc/yum.repos.d/CentOS-Media.repo
agsources:
file.absent:
- name: /etc/yum.repos.d/CentOS-Sources.repo
agvault:
file.absent:
- name: /etc/yum.repos.d/CentOS-Vault.repo
agkernel:
file.absent:
- name: /etc/yum.repos.d/CentOS-x86_64-kernel.repo
agepel:
file.absent:
- name: /etc/yum.repos.d/epel.repo
agtesting:
file.absent:
- name: /etc/yum.repos.d/epel-testing.repo
agssrepo:
file.absent:
- name: /etc/yum.repos.d/saltstack.repo
agwazrepo:
file.absent:
- name: /etc/yum.repos.d/wazuh.repo
{% else %}
{{sls}}_state_not_allowed:
test.fail_without_changes:
- name: {{sls}}_state_not_allowed
{% endif %}

View File

@@ -45,7 +45,8 @@
'schedule',
'soctopus',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-heavynode': [
'ca',
@@ -108,7 +109,8 @@
'zeek',
'schedule',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-manager': [
'salt.master',
@@ -127,7 +129,8 @@
'utility',
'schedule',
'soctopus',
'docker_clean'
'docker_clean',
'learn'
],
'so-managersearch': [
'salt.master',
@@ -146,7 +149,8 @@
'utility',
'schedule',
'soctopus',
'docker_clean'
'docker_clean',
'learn'
],
'so-node': [
'ca',
@@ -178,7 +182,8 @@
'schedule',
'soctopus',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-sensor': [
'ca',
@@ -237,7 +242,7 @@
{% do allowed_states.append('kibana') %}
{% endif %}
{% if CURATOR and grains.role in ['so-eval', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode'] %}
{% if grains.role in ['so-eval', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode', 'so-manager'] %}
{% do allowed_states.append('curator') %}
{% endif %}
@@ -296,4 +301,4 @@
{% endif %}
{# all nodes can always run salt.minion state #}
{% do allowed_states.append('salt.minion') %}
{% do allowed_states.append('salt.minion') %}

View File

@@ -43,8 +43,9 @@ pki_private_key:
- require:
- file: /etc/pki
- timeout: 30
- retry: 5
- interval: 30
- retry:
attempts: 5
interval: 30
x509_pem_entries:
module.run:

View File

@@ -1 +1 @@
net.ipv4.ip_local_reserved_ports="55000,57314"
net.ipv4.ip_local_reserved_ports=55000,57314,47760-47860

View File

@@ -22,6 +22,7 @@
/opt/so/log/salt/so-salt-minion-check
/opt/so/log/salt/minion
/opt/so/log/salt/master
/opt/so/log/logscan/*.log
{
{{ logrotate_conf | indent(width=4) }}
}

View File

@@ -0,0 +1,2 @@
{%- set VERSION = salt['pillar.get']('global:soversion') -%}
{{ VERSION }}

6
salt/common/files/vimrc Normal file
View File

@@ -0,0 +1,6 @@
" Activates filetype detection
filetype plugin indent on
" Sets .sls files to use YAML syntax highlighting
autocmd BufNewFile,BufRead *.sls set syntax=yaml
set number

View File

@@ -2,6 +2,7 @@
{% if sls in allowed_states %}
{% set role = grains.id.split('_') | last %}
{% from 'elasticsearch/auth.map.jinja' import ELASTICAUTH with context %}
# Remove variables.txt from /tmp - This is temp
rmvariablesfile:
@@ -49,6 +50,11 @@ sosaltstackperms:
- gid: 939
- dir_mode: 770
so_log_perms:
file.directory:
- name: /opt/so/log
- dir_mode: 755
# Create a state directory
statedir:
file.directory:
@@ -64,20 +70,12 @@ salttmp:
- group: 939
- makedirs: True
# Install epel
{% if grains['os'] == 'CentOS' %}
repair_yumdb:
cmd.run:
- name: 'mv -f /var/lib/rpm/__db* /tmp && yum clean all'
- onlyif:
- 'yum check-update 2>&1 | grep "Error: rpmdb open failed"'
epel:
pkg.installed:
- skip_suggestions: True
- pkgs:
- epel-release
{% endif %}
# VIM config
vimconfig:
file.managed:
- name: /root/.vimrc
- source: salt://common/files/vimrc
- replace: False
# Install common packages
{% if grains['os'] != 'CentOS' %}
@@ -90,7 +88,6 @@ commonpkgs:
- ntpdate
- jq
- python3-docker
- docker-ce
- curl
- ca-certificates
- software-properties-common
@@ -99,17 +96,21 @@ commonpkgs:
- netcat
- python3-mysqldb
- sqlite3
- argon2
- libssl-dev
- python3-dateutil
- python3-m2crypto
- python3-mysqldb
- python3-packaging
- git
- vim
heldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.2.13-2
- docker-ce: 5:19.03.14~3-0~ubuntu-bionic
- containerd.io: 1.4.4-1
- docker-ce: 5:20.10.5~3-0~ubuntu-bionic
- docker-ce-cli: 5:20.10.5~3-0~ubuntu-bionic
- docker-ce-rootless-extras: 5:20.10.5~3-0~ubuntu-bionic
- hold: True
- update_holds: True
@@ -127,7 +128,6 @@ commonpkgs:
- net-tools
- curl
- sqlite
- argon2
- mariadb-devel
- nmap-ncat
- python3
@@ -135,17 +135,21 @@ commonpkgs:
- python36-dateutil
- python36-m2crypto
- python36-mysql
- python36-packaging
- yum-utils
- device-mapper-persistent-data
- lvm2
- openssl
- git
- vim-enhanced
heldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.2.13-3.2.el7
- docker-ce: 3:19.03.14-3.el7
- containerd.io: 1.4.4-3.1.el7
- docker-ce: 3:20.10.5-3.el7
- docker-ce-cli: 1:20.10.5-3.el7
- docker-ce-rootless-extras: 20.10.5-3.el7
- hold: True
- update_holds: True
{% endif %}
@@ -164,6 +168,14 @@ alwaysupdated:
Etc/UTC:
timezone.system
elastic_curl_config:
file.managed:
- name: /opt/so/conf/elasticsearch/curl.config
- source: salt://elasticsearch/curl.config
- mode: 600
- show_changes: False
- makedirs: True
# Sync some Utilities
utilsyncscripts:
file.recurse:
@@ -173,6 +185,10 @@ utilsyncscripts:
- file_mode: 755
- template: jinja
- source: salt://common/tools/sbin
- defaults:
ELASTICCURL: 'curl'
- context:
ELASTICCURL: {{ ELASTICAUTH.elasticcurl }}
{% if role in ['eval', 'standalone', 'sensor', 'heavynode'] %}
# Add sensor cleanup
@@ -230,6 +246,30 @@ commonlogrotateconf:
- month: '*'
- dayweek: '*'
# Create the status directory
sostatusdir:
file.directory:
- name: /opt/so/log/sostatus
- user: 0
- group: 0
- makedirs: True
sostatus_log:
file.managed:
- name: /opt/so/log/sostatus/status.log
- mode: 644
# Install sostatus check cron
'/usr/sbin/so-status -q; echo $? > /opt/so/log/sostatus/status.log 2>&1':
cron.present:
- user: root
- minute: '*/1'
- hour: '*'
- daymonth: '*'
- month: '*'
- dayweek: '*'
{% if role in ['eval', 'manager', 'managersearch', 'standalone'] %}
# Lock permissions on the backup directory
backupdir:
@@ -249,6 +289,14 @@ backupdir:
- daymonth: '*'
- month: '*'
- dayweek: '*'
{% else %}
soversionfile:
file.managed:
- name: /etc/soversion
- source: salt://common/files/soversion
- mode: 644
- template: jinja
{% endif %}
# Manager daemon.json
@@ -266,9 +314,10 @@ docker:
- file: docker_daemon
# Reserve OS ports for Docker proxy in case boot settings are not already applied/present
# 55000 = Wazuh, 57314 = Strelka, 47760-47860 = Zeek
dockerapplyports:
cmd.run:
- name: if [ ! -s /etc/sysctl.d/99-reserved-ports.conf ]; then sysctl -w net.ipv4.ip_local_reserved_ports="55000,57314"; fi
- name: if [ ! -s /etc/sysctl.d/99-reserved-ports.conf ]; then sysctl -w net.ipv4.ip_local_reserved_ports="55000,57314,47760-47860"; fi
# Reserve OS ports for Docker proxy
dockerreserveports:
@@ -277,6 +326,16 @@ dockerreserveports:
- name: /etc/sysctl.d/99-reserved-ports.conf
{% if salt['grains.get']('sosmodel', '') %}
{% if grains['os'] == 'CentOS' %}
# Install Raid tools
raidpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- securityonion-raidtools
- securityonion-megactl
{% endif %}
# Install raid check cron
/usr/sbin/so-raid-status > /dev/null 2>&1:
cron.present:

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common
salt-call state.highstate
salt-call state.highstate -linfo

View File

@@ -15,6 +15,8 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
DEFAULT_SALT_DIR=/opt/so/saltstack/default
# Check for prerequisites
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run using sudo!"
@@ -97,6 +99,60 @@ check_password() {
return $?
}
check_elastic_license() {
[ -n "$TESTING" ] && return
# See if the user has already accepted the license
if [ ! -f /opt/so/state/yeselastic.txt ]; then
elastic_license
else
echo "Elastic License has already been accepted"
fi
}
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/
chown -R socore:socore $DEFAULT_SALT_DIR/
chmod 755 $DEFAULT_SALT_DIR/pillar/firewall/addfirewall.sh
cd /tmp
}
disable_fastestmirror() {
sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf
}
elastic_license() {
read -r -d '' message <<- EOM
\n
Starting in Elastic Stack version 7.11, the Elastic Stack binaries are only available under the Elastic License:
https://securityonion.net/elastic-license
Please review the Elastic License:
https://www.elastic.co/licensing/elastic-license
Do you agree to the terms of the Elastic License?
If so, type AGREE to accept the Elastic License and continue. Otherwise, press Enter to exit this program without making any changes.
EOM
AGREED=$(whiptail --title "$whiptail_title" --inputbox \
"$message" 20 75 3>&1 1>&2 2>&3)
if [ "${AGREED^^}" = 'AGREE' ]; then
mkdir -p /opt/so/state
touch /opt/so/state/yeselastic.txt
else
echo "Starting in 2.3.40 you must accept the Elastic license if you want to run Security Onion."
exit 1
fi
}
fail() {
msg=$1
echo "ERROR: $msg"
@@ -109,6 +165,23 @@ get_random_value() {
head -c 5000 /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w $length | head -n 1
}
gpg_rpm_import() {
if [[ "$OS" == "centos" ]]; then
if [[ "$WHATWOULDYOUSAYYAHDOHERE" == "setup" ]]; then
local RPMKEYSLOC="../salt/repo/client/files/centos/keys"
else
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/centos/keys"
fi
RPMKEYS=('RPM-GPG-KEY-EPEL-7' 'GPG-KEY-WAZUH' 'docker.pub' 'SALTSTACK-GPG-KEY.pub' 'securityonion.pub')
for RPMKEY in "${RPMKEYS[@]}"; do
rpm --import $RPMKEYSLOC/$RPMKEY
echo "Imported $RPMKEY"
done
fi
}
header() {
printf '%s\n' "" "$banner" " $*" "$banner"
}
@@ -166,6 +239,7 @@ lookup_salt_value() {
key=$1
group=$2
kind=$3
output=${4:-newline_values_only}
if [ -z "$kind" ]; then
kind=pillar
@@ -175,7 +249,7 @@ lookup_salt_value() {
group=${group}:
fi
salt-call --no-color ${kind}.get ${group}${key} --out=newline_values_only
salt-call --no-color ${kind}.get ${group}${key} --out=${output}
}
lookup_pillar() {
@@ -203,7 +277,7 @@ lookup_role() {
require_manager() {
if is_manager_node; then
echo "This is a manager, We can proceed."
echo "This is a manager, so we can proceed."
else
echo "Please run this command on the manager; the manager controls the grid."
exit 1
@@ -216,6 +290,7 @@ retry() {
cmd=$3
expectedOutput=$4
attempt=0
local exitcode=0
while [[ $attempt -lt $maxAttempts ]]; do
attempt=$((attempt+1))
echo "Executing command with retry support: $cmd"
@@ -235,7 +310,29 @@ retry() {
sleep $sleepDelay
done
echo "Command continues to fail; giving up."
return 1
return $exitcode
}
run_check_net_err() {
local cmd=$1
local err_msg=${2:-"Unknown error occured, please check /root/$WHATWOULDYOUSAYYAHDOHERE.log for details."} # Really need to rename that variable
local no_retry=$3
local exit_code
if [[ -z $no_retry ]]; then
retry 5 60 "$cmd"
exit_code=$?
else
eval "$cmd"
exit_code=$?
fi
if [[ $exit_code -ne 0 ]]; then
ERR_HANDLED=true
[[ -z $no_retry ]] || echo "Command failed with error $exit_code"
echo "$err_msg"
exit $exit_code
fi
}
set_os() {
@@ -250,6 +347,12 @@ set_minionid() {
MINIONID=$(lookup_grain id)
}
set_palette() {
if [ "$OS" == ubuntu ]; then
update-alternatives --set newt-palette /etc/newt/palette.original
fi
}
set_version() {
CURRENTVERSION=0.0.0
if [ -f /etc/soversion ]; then
@@ -269,6 +372,14 @@ set_version() {
fi
}
has_uppercase() {
local string=$1
echo "$string" | grep -qP '[A-Z]' \
&& return 0 \
|| return 1
}
valid_cidr() {
# Verify there is a backslash in the string
echo "$1" | grep -qP "^[^/]+/[^/]+$" || return 1
@@ -340,6 +451,40 @@ valid_int() {
# {% raw %}
valid_proxy() {
local proxy=$1
local url_prefixes=( 'http://' 'https://' )
local has_prefix=false
for prefix in "${url_prefixes[@]}"; do
echo "$proxy" | grep -q "$prefix" && has_prefix=true && proxy=${proxy#"$prefix"} && break
done
local url_arr
mapfile -t url_arr <<< "$(echo "$proxy" | tr ":" "\n")"
local valid_url=true
if ! valid_ip4 "${url_arr[0]}" && ! valid_fqdn "${url_arr[0]}" && ! valid_hostname "${url_arr[0]}"; then
valid_url=false
fi
[[ $has_prefix == true ]] && [[ $valid_url == true ]] && return 0 || return 1
}
valid_ntp_list() {
local string=$1
local ntp_arr
IFS="," read -r -a ntp_arr <<< "$string"
for ntp in "${ntp_arr[@]}"; do
if ! valid_ip4 "$ntp" && ! valid_hostname "$ntp" && ! valid_fqdn "$ntp"; then
return 1
fi
done
return 0
}
valid_string() {
local str=$1
local min_length=${2:-1}
@@ -360,12 +505,14 @@ wait_for_web_response() {
url=$1
expected=$2
maxAttempts=${3:-300}
curlcmd=${4:-curl}
logfile=/root/wait_for_web_response.log
truncate -s 0 "$logfile"
attempt=0
while [[ $attempt -lt $maxAttempts ]]; do
attempt=$((attempt+1))
echo "Waiting for value '$expected' at '$url' ($attempt/$maxAttempts)"
result=$(curl -ks -L $url)
result=$($curlcmd -ks -L $url)
exitcode=$?
echo "--------------------------------------------------" >> $logfile

View File

@@ -35,6 +35,7 @@ if [ ! -f $BACKUPFILE ]; then
{%- endfor %}
tar -rf $BACKUPFILE /etc/pki
tar -rf $BACKUPFILE /etc/salt
tar -rf $BACKUPFILE /opt/so/conf/kratos
fi

View File

@@ -30,7 +30,7 @@ fi
USER=$1
CORTEX_KEY=$(lookup_pillar cortexkey)
CORTEX_KEY=$(lookup_pillar cortexorguserkey)
CORTEX_API_URL="$(lookup_pillar url_base)/cortex/api"
CORTEX_ORG_NAME=$(lookup_pillar cortexorgname)
CORTEX_USER=$USER

View File

@@ -30,7 +30,7 @@ fi
USER=$1
CORTEX_KEY=$(lookup_pillar cortexkey)
CORTEX_KEY=$(lookup_pillar cortexorguserkey)
CORTEX_API_URL="$(lookup_pillar url_base)/cortex/api"
CORTEX_USER=$USER

View File

@@ -0,0 +1,102 @@
#!/usr/bin/env python3
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import sys, argparse, re, docker
from packaging.version import Version, InvalidVersion
from itertools import groupby, chain
def get_image_name(string) -> str:
return ':'.join(string.split(':')[:-1])
def get_so_image_basename(string) -> str:
return get_image_name(string).split('/so-')[-1]
def get_image_version(string) -> str:
ver = string.split(':')[-1]
if ver == 'latest':
# Version doesn't like "latest", so use a high semver
return '99999.9.9'
else:
try:
Version(ver)
except InvalidVersion:
# Also return a very high semver for any version
# with a dash in it since it will likely be a dev version of some kind
if '-' in ver:
return '999999.9.9'
return ver
def main(quiet):
client = docker.from_env()
# Prune old/stopped containers
if not quiet: print('Pruning old containers')
client.containers.prune()
image_list = client.images.list(filters={ 'dangling': False })
# Map list of image objects to flattened list of tags (format: "name:version")
tag_list = list(chain.from_iterable(list(map(lambda x: x.attrs.get('RepoTags'), image_list))))
# Filter to only SO images (base name begins with "so-")
tag_list = list(filter(lambda x: re.match(r'^.*\/so-[^\/]*$', get_image_name(x)), tag_list))
# Group tags into lists by base name (sort by same projection first)
tag_list.sort(key=lambda x: get_so_image_basename(x))
grouped_tag_lists = [ list(it) for _, it in groupby(tag_list, lambda x: get_so_image_basename(x)) ]
no_prunable = True
for t_list in grouped_tag_lists:
try:
# Group tags by version, in case multiple images exist with the same version string
t_list.sort(key=lambda x: Version(get_image_version(x)), reverse=True)
grouped_t_list = [ list(it) for _,it in groupby(t_list, lambda x: get_image_version(x)) ]
# Keep the 2 most current version groups
if len(grouped_t_list) <= 2:
continue
else:
no_prunable = False
for group in grouped_t_list[2:]:
for tag in group:
if not quiet: print(f'Removing image {tag}')
try:
client.images.remove(tag, force=True)
except docker.errors.ClientError as e:
print(f'Could not remove image {tag}, continuing...')
except (docker.errors.APIError, InvalidVersion) as e:
print(f'so-{get_so_image_basename(t_list[0])}: {e}', file=sys.stderr)
exit(1)
except Exception as e:
print('Unhandled exception occurred:')
print(f'so-{get_so_image_basename(t_list[0])}: {e}', file=sys.stderr)
exit(1)
if no_prunable and not quiet:
print('No Security Onion images to prune')
if __name__ == "__main__":
main_parser = argparse.ArgumentParser(add_help=False)
main_parser.add_argument('-q', '--quiet', action='store_const', const=True, required=False)
args = main_parser.parse_args(sys.argv[1:])
main(args.quiet)

View File

@@ -145,9 +145,9 @@ EOF
rulename=$(echo ${raw_rulename,,} | sed 's/ /_/g')
cat << EOF >> "$rulename.yaml"
# Elasticsearch Host
es_host: elasticsearch
es_port: 9200
# Elasticsearch Host Override (optional)
# es_host: elasticsearch
# es_port: 9200
# (Required)
# Rule name, must be unique

View File

@@ -0,0 +1,67 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if [ -f "/usr/sbin/so-common" ]; then
. /usr/sbin/so-common
fi
ES_AUTH_PILLAR=${ELASTIC_AUTH_PILLAR:-/opt/so/saltstack/local/pillar/elasticsearch/auth.sls}
ES_USERS_FILE=${ELASTIC_USERS_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users}
authEnable=$1
if ! grep -q "enabled: " "$ES_AUTH_PILLAR"; then
echo "Elastic auth pillar file is invalid. Unable to proceed."
exit 1
fi
function restart() {
if [[ -z "$ELASTIC_AUTH_SKIP_HIGHSTATE" ]]; then
echo "Elasticsearch on all affected minions will now be stopped and then restarted..."
salt -C 'G@role:so-standalone or G@role:so-eval or G@role:so-import or G@role:so-manager or G@role:so-managersearch or G@role:so-node or G@role:so-heavynode' cmd.run so-elastic-stop queue=True
echo "Applying highstate to all affected minions..."
salt -C 'G@role:so-standalone or G@role:so-eval or G@role:so-import or G@role:so-manager or G@role:so-managersearch or G@role:so-node or G@role:so-heavynode' state.highstate queue=True
fi
}
if [[ "$authEnable" == "true" ]]; then
if grep -q "enabled: False" "$ES_AUTH_PILLAR"; then
sed -i 's/enabled: False/enabled: True/g' "$ES_AUTH_PILLAR"
restart
echo "Elastic auth is now enabled."
if grep -q "argon" "$ES_USERS_FILE"; then
echo ""
echo "IMPORTANT: The following users will need to change their password, after logging into SOC, in order to access Kibana:"
grep argon "$ES_USERS_FILE" | cut -d ":" -f 1
fi
else
echo "Auth is already enabled."
fi
elif [[ "$authEnable" == "false" ]]; then
if grep -q "enabled: True" "$ES_AUTH_PILLAR"; then
sed -i 's/enabled: True/enabled: False/g' "$ES_AUTH_PILLAR"
restart
echo "Elastic auth is now disabled."
else
echo "Auth is already disabled."
fi
else
echo "Usage: $0 <true|false>"
echo ""
echo "Toggles Elastic authentication. Elasticsearch will be restarted on each affected minion."
echo ""
fi

View File

@@ -50,11 +50,7 @@ done
if [ $SKIP -ne 1 ]; then
# List indices
echo
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -k -L https://{{ NODEIP }}:9200/_cat/indices?v
{% else %}
curl -L {{ NODEIP }}:9200/_cat/indices?v
{% endif %}
{{ ELASTICCURL }} -k -L https://{{ NODEIP }}:9200/_cat/indices?v
echo
# Inform user we are about to delete all data
echo
@@ -93,18 +89,10 @@ fi
# Delete data
echo "Deleting data..."
{% if grains['role'] in ['so-node','so-heavynode'] %}
INDXS=$(curl -s -XGET -k -L https://{{ NODEIP }}:9200/_cat/indices?v | egrep 'logstash|elastalert|so-' | awk '{ print $3 }')
{% else %}
INDXS=$(curl -s -XGET -L {{ NODEIP }}:9200/_cat/indices?v | egrep 'logstash|elastalert|so-' | awk '{ print $3 }')
{% endif %}
INDXS=$({{ ELASTICCURL }} -s -XGET -k -L https://{{ NODEIP }}:9200/_cat/indices?v | egrep 'logstash|elastalert|so-' | awk '{ print $3 }')
for INDX in ${INDXS}
do
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -XDELETE -k -L https://"{{ NODEIP }}:9200/${INDX}" > /dev/null 2>&1
{% else %}
curl -XDELETE -L "{{ NODEIP }}:9200/${INDX}" > /dev/null 2>&1
{% endif %}
{{ ELASTICCURL }} -XDELETE -k -L https://"{{ NODEIP }}:9200/${INDX}" > /dev/null 2>&1
done
#Start Logstash/Filebeat

View File

@@ -0,0 +1,21 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_cat/indices?pretty

View File

@@ -21,6 +21,5 @@ THEHIVEESPORT=9400
echo "Removing read only attributes for indices..."
echo
for p in $ESPORT $THEHIVEESPORT; do
curl -XPUT -H "Content-Type: application/json" -L http://$IP:$p/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 2>&1 | if grep -q ack; then echo "Index settings updated..."; else echo "There was any issue updating the read-only attribute. Please ensure Elasticsearch is running.";fi;
done
{{ ELASTICCURL }} -s -k -XPUT -H "Content-Type: application/json" -L https://$IP:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 2>&1 | if grep -q ack; then echo "Index settings updated..."; else echo "There was any issue updating the read-only attribute. Please ensure Elasticsearch is running.";fi;
{{ ELASTICCURL }} -XPUT -H "Content-Type: application/json" -L http://$IP:9400/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 2>&1 | if grep -q ack; then echo "Index settings updated..."; else echo "There was any issue updating the read-only attribute. Please ensure Elasticsearch is running.";fi;

View File

@@ -19,15 +19,7 @@
. /usr/sbin/so-common
if [ "$1" == "" ]; then
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -s -k -L https://{{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines"
{% else %}
curl -s -L {{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines"
{% endif %}
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines"
else
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -s -k -L https://{{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines.\"$1\""
{% else %}
curl -s -L {{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines.\"$1\""
{% endif %}
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines.\"$1\""
fi

View File

@@ -0,0 +1,25 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/* | jq .
else
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/$1 | jq .[]
fi

View File

@@ -17,15 +17,7 @@
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/* | jq 'keys'
{% else %}
curl -s -L {{ NODEIP }}:9200/_ingest/pipeline/* | jq 'keys'
{% endif %}
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/* | jq 'keys'
else
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/$1 | jq
{% else %}
curl -s -L {{ NODEIP }}:9200/_ingest/pipeline/$1 | jq
{% endif %}
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/$1 | jq
fi

View File

@@ -0,0 +1,37 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
. /usr/sbin/so-common
if [[ $# -lt 1 ]]; then
echo "Submit a cURL request to the local Security Onion Elasticsearch host."
echo ""
echo "Usage: $0 <PATH> [ARGS,...]"
echo ""
echo "Where "
echo " PATH represents the elastic function being requested."
echo " ARGS is used to specify additional, optional curl parameters."
echo ""
echo "Examples:"
echo " $0 /"
echo " $0 '*:so-*/_search' -d '{\"query\": {\"match_all\": {}},\"size\": 1}' | jq"
exit 1
fi
QUERYPATH=$1
shift
{{ ELASTICCURL }} -s -k -L -H "Content-Type: application/json" "https://localhost:9200/${QUERYPATH}" "$@"

View File

@@ -0,0 +1,21 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_cat/shards?pretty

View File

@@ -0,0 +1,21 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
{{ ELASTICCURL }} -s -k -L -XDELETE https://{{ NODEIP }}:9200/_template/$1

View File

@@ -0,0 +1,25 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_template/* | jq .
else
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_template/$1 | jq .
fi

View File

@@ -17,15 +17,7 @@
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -s -k -L https://{{ NODEIP }}:9200/_template/* | jq 'keys'
{% else %}
curl -s -L {{ NODEIP }}:9200/_template/* | jq 'keys'
{% endif %}
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_template/* | jq 'keys'
else
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -s -k -L https://{{ NODEIP }}:9200/_template/$1 | jq
{% else %}
curl -s -L {{ NODEIP }}:9200/_template/$1 | jq
{% endif %}
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_template/$1 | jq
fi

View File

@@ -1,8 +1,5 @@
{%- set mainint = salt['pillar.get']('host:mainint') %}
{%- set MYIP = salt['grains.get']('ip_interfaces:' ~ mainint)[0] %}
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019 Security Onion Solutions, LLC
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
@@ -17,6 +14,9 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
{%- set mainint = salt['pillar.get']('host:mainint') %}
{%- set MYIP = salt['grains.get']('ip_interfaces:' ~ mainint)[0] %}
default_conf_dir=/opt/so/conf
ELASTICSEARCH_HOST="{{ MYIP }}"
ELASTICSEARCH_PORT=9200
@@ -30,11 +30,7 @@ echo -n "Waiting for ElasticSearch..."
COUNT=0
ELASTICSEARCH_CONNECTED="no"
while [[ "$COUNT" -le 240 ]]; do
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -k --output /dev/null --silent --head --fail -L https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"
{% else %}
curl --output /dev/null --silent --head --fail -L http://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"
{% endif %}
{{ ELASTICCURL }} -k --output /dev/null --silent --head --fail -L https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"
if [ $? -eq 0 ]; then
ELASTICSEARCH_CONNECTED="yes"
echo "connected!"
@@ -55,11 +51,7 @@ cd ${ELASTICSEARCH_TEMPLATES}
echo "Loading templates..."
{% if grains['role'] in ['so-node','so-heavynode'] %}
for i in *; do TEMPLATE=$(echo $i | cut -d '-' -f2); echo "so-$TEMPLATE"; curl -k ${ELASTICSEARCH_AUTH} -s -XPUT -L https://${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}/_template/so-$TEMPLATE -H 'Content-Type: application/json' -d@$i 2>/dev/null; echo; done
{% else %}
for i in *; do TEMPLATE=$(echo $i | cut -d '-' -f2); echo "so-$TEMPLATE"; curl ${ELASTICSEARCH_AUTH} -s -XPUT -L http://${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}/_template/so-$TEMPLATE -H 'Content-Type: application/json' -d@$i 2>/dev/null; echo; done
{% endif %}
for i in *; do TEMPLATE=$(echo $i | cut -d '-' -f2); echo "so-$TEMPLATE"; {{ ELASTICCURL }} -k ${ELASTICSEARCH_AUTH} -s -XPUT -L https://${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}/_template/so-$TEMPLATE -H 'Content-Type: application/json' -d@$i 2>/dev/null; echo; done
echo
cd - >/dev/null

View File

@@ -0,0 +1,5 @@
#!/bin/bash
. /usr/sbin/so-common
wait_for_web_response "https://localhost:9200/_cat/indices/.kibana*" "green open" 300 "{{ ELASTICCURL }}"

View File

@@ -1,53 +0,0 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
. /usr/sbin/so-image-common
local_salt_dir=/opt/so/saltstack/local
cat << EOF
This program will switch from the open source version of the Elastic Stack to the Features version licensed under the Elastic license.
If you proceed, then we will download new Docker images and restart services.
Please review the Elastic license:
https://raw.githubusercontent.com/elastic/elasticsearch/master/licenses/ELASTIC-LICENSE.txt
Please also note that, if you have a distributed deployment and continue with this change, Elastic traffic between nodes will change from encrypted to cleartext!
(We expect to support Elastic Features Security at some point in the future.)
Do you agree to the terms of the Elastic license and understand the note about encryption?
If so, type AGREE to accept the Elastic license and continue. Otherwise, just press Enter to exit this program without making any changes.
EOF
read INPUT
if [ "$INPUT" != "AGREE" ]; then
exit
fi
echo "Please wait while switching to Elastic Features."
require_manager
TRUSTED_CONTAINERS=( \
"so-elasticsearch" \
"so-filebeat" \
"so-kibana" \
"so-logstash" )
update_docker_containers "features" "-features"
# Modify global.sls to enable Features
sed -i 's/features: False/features: True/' $local_salt_dir/pillar/global.sls

View File

@@ -0,0 +1,67 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
{%- set mainint = salt['pillar.get']('host:mainint') %}
{%- set MYIP = salt['grains.get']('ip_interfaces:' ~ mainint)[0] %}
default_conf_dir=/opt/so/conf
ELASTICSEARCH_HOST="{{ MYIP }}"
ELASTICSEARCH_PORT=9200
#ELASTICSEARCH_AUTH=""
# Define a default directory to load pipelines from
FB_MODULE_YML="/usr/share/filebeat/module-setup.yml"
# Wait for ElasticSearch to initialize
echo -n "Waiting for ElasticSearch..."
COUNT=0
ELASTICSEARCH_CONNECTED="no"
while [[ "$COUNT" -le 240 ]]; do
{{ ELASTICCURL }} -k --output /dev/null --silent --head --fail -L https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"
if [ $? -eq 0 ]; then
ELASTICSEARCH_CONNECTED="yes"
echo "connected!"
break
else
((COUNT+=1))
sleep 1
echo -n "."
fi
done
if [ "$ELASTICSEARCH_CONNECTED" == "no" ]; then
echo
echo -e "Connection attempt timed out. Unable to connect to ElasticSearch. \nPlease try: \n -checking log(s) in /var/log/elasticsearch/\n -running 'sudo docker ps' \n -running 'sudo so-elastic-restart'"
echo
fi
echo "Testing to see if the pipelines are already applied"
ESVER=$({{ ELASTICCURL }} -sk https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT" |jq .version.number |tr -d \")
PIPELINES=$({{ ELASTICCURL }} -sk https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"/_ingest/pipeline/filebeat-$ESVER-suricata-eve-pipeline | jq . | wc -c)
if [[ "$PIPELINES" -lt 5 ]]; then
echo "Setting up ingest pipeline(s)"
for MODULE in activemq apache auditd aws azure barracuda bluecoat cef checkpoint cisco coredns crowdstrike cyberark cylance elasticsearch envoyproxy f5 fortinet gcp google_workspace googlecloud gsuite haproxy ibmmq icinga iis imperva infoblox iptables juniper kafka kibana logstash microsoft misp mongodb mssql mysql nats netscout nginx o365 okta osquery panw postgresql rabbitmq radware redis santa snort snyk sonicwall sophos squid suricata system tomcat traefik zeek zscaler
do
echo "Loading $MODULE"
docker exec -i so-filebeat filebeat setup modules -pipelines -modules $MODULE -c $FB_MODULE_YML
sleep 2
done
else
exit 0
fi

View File

@@ -35,6 +35,7 @@ def showUsage(options, args):
print('')
print(' General commands:')
print(' help - Prints this usage information.')
print(' apply - Apply the firewall state.')
print('')
print(' Host commands:')
print(' listhostgroups - Lists the known host groups.')
@@ -66,7 +67,7 @@ def checkDefaultPortsOption(options):
def checkApplyOption(options):
if "--apply" in options:
return apply()
return apply(None, None)
def loadYaml(filename):
file = open(filename, "r")
@@ -328,7 +329,7 @@ def removehost(options, args):
code = checkApplyOption(options)
return code
def apply():
def apply(options, args):
proc = subprocess.run(['salt-call', 'state.apply', 'firewall', 'queue=True'])
return proc.returncode
@@ -356,7 +357,8 @@ def main():
"addport": addport,
"removeport": removeport,
"addhostgroup": addhostgroup,
"addportgroup": addportgroup
"addportgroup": addportgroup,
"apply": apply
}
code=1

View File

@@ -0,0 +1,75 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
usage() {
echo "Usage: $0 <user-name>"
echo ""
echo "Update password for an existing Fleet user. The new password will be read from STDIN."
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER=$1
MYSQL_PASS=$(lookup_pillar_secret mysql)
FLEET_IP=$(lookup_pillar fleet_ip)
FLEET_USER=$USER
# test existence of user
MYSQL_OUTPUT=$(docker exec so-mysql mysql -u root --password=$MYSQL_PASS fleet -e \
"SELECT count(1) FROM users WHERE username='$FLEET_USER'" 2>/dev/null | tail -1)
if [[ $? -ne 0 ]] || [[ $MYSQL_OUTPUT -ne 1 ]] ; then
echo "Test for username [${FLEET_USER}] failed"
echo " expect 1 hit in users database, return $MYSQL_OUTPUT hit(s)."
echo "Unable to update Fleet user password."
exit 2
fi
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs FLEET_PASS
if ! check_password "$FLEET_PASS"; then
echo "Password is invalid. Please exclude single quotes, double quotes and backslashes from the password."
exit 2
fi
FLEET_HASH=$(docker exec so-soctopus python -c "import bcrypt; print(bcrypt.hashpw('$FLEET_PASS'.encode('utf-8'), bcrypt.gensalt()).decode('utf-8'));" 2>&1)
if [[ $? -ne 0 ]]; then
echo "Failed to generate Fleet password hash"
exit 2
fi
MYSQL_OUTPUT=$(docker exec so-mysql mysql -u root --password=$MYSQL_PASS fleet -e \
"UPDATE users SET password='$FLEET_HASH', salt='' where username='$FLEET_USER'" 2>&1)
if [[ $? -eq 0 ]]; then
echo "Successfully updated Fleet user password"
else
echo "Unable to update Fleet user password"
echo "$MYSQL_OUTPUT"
exit 2
fi

View File

@@ -0,0 +1,17 @@
# this script is used to delete the default Grafana dashboard folders that existed prior to Grafana dashboard and Salt management changes in 2.3.70
folders=$(curl -X GET http://admin:{{salt['pillar.get']('secrets:grafana_admin')}}@localhost:3000/api/folders | jq -r '.[] | @base64')
delfolder=("Manager" "Manager Search" "Sensor Nodes" "Search Nodes" "Standalone" "Eval Mode")
for row in $folders; do
title=$(echo ${row} | base64 --decode | jq -r '.title')
uid=$(echo ${row} | base64 --decode | jq -r '.uid')
if [[ " ${delfolder[@]} " =~ " ${title} " ]]; then
curl -X DELETE http://admin:{{salt['pillar.get']('secrets:grafana_admin')}}@localhost:3000/api/folders/$uid
fi
done
echo "so-grafana-dashboard-folder-delete has been run to delete default Grafana dashboard folders that existed prior to 2.3.70" > /opt/so/state/so-grafana-dashboard-folder-delete-complete
exit 0

View File

@@ -18,6 +18,7 @@
# NOTE: This script depends on so-common
IMAGEREPO=security-onion-solutions
# shellcheck disable=SC2120
container_list() {
MANAGERCHECK=$1
@@ -47,20 +48,17 @@ container_list() {
TRUSTED_CONTAINERS=(
"so-acng"
"so-curator"
"so-domainstats"
"so-elastalert"
"so-elasticsearch"
"so-filebeat"
"so-fleet"
"so-fleet-launcher"
"so-freqserver"
"so-grafana"
"so-idstools"
"so-influxdb"
"so-kibana"
"so-kratos"
"so-logstash"
"so-minio"
"so-mysql"
"so-nginx"
"so-pcaptools"
@@ -131,13 +129,13 @@ update_docker_containers() {
mkdir -p $SIGNPATH >> "$LOG_FILE" 2>&1
# Let's make sure we have the public key
retry 50 10 "curl -sSL https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS -o $SIGNPATH/KEYS" >> "$LOG_FILE" 2>&1
run_check_net_err \
"curl --retry 5 --retry-delay 60 -sSL https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS -o $SIGNPATH/KEYS" \
"Could not pull signature key file, please ensure connectivity to https://raw.gihubusercontent.com" \
noretry >> "$LOG_FILE" 2>&1
result=$?
if [[ $result -eq 0 ]]; then
cat $SIGNPATH/KEYS | gpg --import - >> "$LOG_FILE" 2>&1
else
echo "Failed to pull signature key file: $result"
exit 1
fi
# Download the containers from the interwebs
@@ -151,14 +149,15 @@ update_docker_containers() {
# Pull down the trusted docker image
local image=$i:$VERSION$IMAGE_TAG_SUFFIX
retry 50 10 "docker pull $CONTAINER_REGISTRY/$IMAGEREPO/$image" >> "$LOG_FILE" 2>&1
run_check_net_err \
"docker pull $CONTAINER_REGISTRY/$IMAGEREPO/$image" \
"Could not pull $image, please ensure connectivity to $CONTAINER_REGISTRY" >> "$LOG_FILE" 2>&1
# Get signature
retry 50 10 "curl -A '$CURLTYPE/$CURRENTVERSION/$OS/$(uname -r)' https://sigs.securityonion.net/$VERSION/$i:$VERSION$IMAGE_TAG_SUFFIX.sig --output $SIGNPATH/$image.sig" >> "$LOG_FILE" 2>&1
if [[ $? -ne 0 ]]; then
echo "Unable to pull signature file for $image" >> "$LOG_FILE" 2>&1
exit 1
fi
run_check_net_err \
"curl --retry 5 --retry-delay 60 -A '$CURLTYPE/$CURRENTVERSION/$OS/$(uname -r)' https://sigs.securityonion.net/$VERSION/$i:$VERSION$IMAGE_TAG_SUFFIX.sig --output $SIGNPATH/$image.sig" \
"Could not pull signature file for $image, please ensure connectivity to https://sigs.securityonion.net " \
noretry >> "$LOG_FILE" 2>&1
# Dump our hash values
DOCKERINSPECT=$(docker inspect $CONTAINER_REGISTRY/$IMAGEREPO/$image)

View File

@@ -0,0 +1,58 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
. /usr/sbin/so-image-common
usage() {
read -r -d '' message <<- EOM
usage: so-image-pull [-h] IMAGE [IMAGE ...]
positional arguments:
IMAGE One or more 'so-' prefixed images to download and verify.
optional arguments:
-h, --help Show this help message and exit.
EOM
echo "$message"
exit 1
}
for arg; do
shift
[[ "$arg" = "--quiet" || "$arg" = "-q" ]] && quiet=true && continue
set -- "$@" "$arg"
done
if [[ $# -eq 0 || $# -gt 1 ]] || [[ $1 == '-h' || $1 == '--help' ]]; then
usage
fi
TRUSTED_CONTAINERS=("$@")
set_version
for image in "${TRUSTED_CONTAINERS[@]}"; do
if ! docker images | grep "$image" | grep ":5000" | grep -q "$VERSION"; then
if [[ $quiet == true ]]; then
update_docker_containers "$image" "" "" "/dev/null"
else
update_docker_containers "$image" "" "" ""
fi
else
echo "$image:$VERSION image exists."
fi
done

View File

@@ -132,6 +132,8 @@ for PCAP in "$@"; do
PCAP_FIXED=`mktemp /tmp/so-import-pcap-XXXXXXXXXX.pcap`
echo "- attempting to recover corrupted PCAP file"
pcapfix "${PCAP}" "${PCAP_FIXED}"
# Make fixed file world readable since the Suricata docker container will runas a non-root user
chmod a+r "${PCAP_FIXED}"
PCAP="${PCAP_FIXED}"
TEMP_PCAPS+=(${PCAP_FIXED})
fi

View File

@@ -15,8 +15,4 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
{% if grains['role'] in ['so-node','so-heavynode'] %}
curl -X GET -k -L https://localhost:9200/_cat/indices?v
{% else %}
curl -X GET -L localhost:9200/_cat/indices?v
{% endif %}
{{ ELASTICCURL }} -X GET -k -L "https://localhost:9200/_cat/indices?v&s=index"

View File

@@ -0,0 +1,53 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
wdurregex="^[0-9]+w$"
ddurregex="^[0-9]+d$"
echo -e "\nThis script is used to reduce the size of InfluxDB by removing old data and retaining only the duration specified."
echo "The duration will need to be specified as an integer followed by the duration unit without a space."
echo -e "\nFor example, to purge all data but retain the past 12 weeks, specify 12w for the duration."
echo "The duration units are as follows:"
echo " w - week(s)"
echo " d - day(s)"
while true; do
echo ""
read -p 'Enter the duration of past data that you would like to retain: ' duration
duration=$(echo $duration | tr '[:upper:]' '[:lower:]')
if [[ "$duration" =~ $wdurregex ]] || [[ "$duration" =~ $ddurregex ]]; then
break
fi
echo -e "\nInvalid duration."
done
echo -e "\nInfluxDB will now be cleaned and leave only the past $duration worth of data."
read -r -p "Are you sure you want to continue? [y/N] " yorn
if [[ "$yorn" =~ ^([yY][eE][sS]|[yY])$ ]]; then
echo -e "\nCleaning InfluxDb and saving only the past $duration. This may could take several minutes depending on how much data needs to be cleaned."
if docker exec -t so-influxdb /bin/bash -c "influx -ssl -unsafeSsl -database telegraf -execute \"DELETE FROM /.*/ WHERE \"time\" >= '2020-01-01T00:00:00.0000000Z' AND \"time\" <= now() - $duration\""; then
echo -e "\nInfluxDb clean complete."
else
echo -e "\nSomething went wrong with cleaning InfluxDB. Please verify that the so-influxdb Docker container is running, and check the log at /opt/so/log/influxdb/influxdb.log for any details."
fi
else
echo -e "\nExiting as requested."
fi

View File

@@ -0,0 +1,63 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
{%- set role = grains.id.split('_') | last %}
{%- if role in ['manager', 'managersearch', 'eval', 'standalone'] %}
{%- import_yaml 'influxdb/defaults.yaml' as default_settings %}
{%- set influxdb = salt['grains.filter_by'](default_settings, default='influxdb', merge=salt['pillar.get']('influxdb', {})) %}
. /usr/sbin/so-common
echo -e "\nThis script is used to reduce the size of InfluxDB by downsampling old data into the so_long_term retention policy."
echo -e "\nInfluxDB will now be downsampled. This could take a few hours depending on how large the database is and hardware resources available."
read -r -p "Are you sure you want to continue? [y/N] " yorn
if [[ "$yorn" =~ ^([yY][eE][sS]|[yY])$ ]]; then
echo -e "\nDownsampling InfluxDb started at `date`. This may take several hours depending on how much data needs to be downsampled."
{% for dest_rp in influxdb.downsample.keys() -%}
{% for measurement in influxdb.downsample[dest_rp].get('measurements', []) -%}
day=0
startdate=`date`
while docker exec -t so-influxdb /bin/bash -c "influx -ssl -unsafeSsl -database telegraf -execute \"SELECT mean(*) INTO \"so_long_term\".\"{{measurement}}\" FROM \"autogen\".\"{{measurement}}\" WHERE \"time\" >= '2020-07-21T00:00:00.0000000Z' + ${day}d AND \"time\" <= '2020-07-21T00:00:00.0000000Z' + $((day+1))d GROUP BY time(5m),*\""; do
# why 2020-07-21?
migrationdate=`date -d "2020-07-21 + ${day} days" +"%y-%m-%d"`
echo "Downsampling of measurement: {{measurement}} from $migrationdate started at $startdate and completed at `date`."
newdaytomigrate=$(date -d "$migrationdate + 1 days" +"%s")
today=$(date +"%s")
if [ $newdaytomigrate -ge $today ]; then
break
else
((day=day+1))
startdate=`date`
echo -e "\nDownsampling the next day's worth of data for measurement: {{measurement}}."
fi
done
{% endfor -%}
{% endfor -%}
echo -e "\nInfluxDb data downsampling complete."
else
echo -e "\nExiting as requested."
fi
{%- else %}
echo -e "\nThis script can only be run on a node running InfluxDB."
{%- endif %}

View File

@@ -0,0 +1,34 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
echo -e "\nThis script is used to reduce the size of InfluxDB by dropping the autogen retention policy."
echo "If you want to retain historical data prior to 2.3.60, then this should only be run after you have downsampled your data using so-influxdb-downsample."
echo -e "\nThe autogen retention policy will now be dropped from InfluxDB."
read -r -p "Are you sure you want to continue? [y/N] " yorn
if [[ "$yorn" =~ ^([yY][eE][sS]|[yY])$ ]]; then
echo -e "\nDropping autogen retention policy."
if docker exec -t so-influxdb influx -format json -ssl -unsafeSsl -execute "drop retention policy autogen on telegraf"; then
echo -e "\nAutogen retention policy dropped from InfluxDb."
else
echo -e "\nSomething went wrong dropping then autogen retention policy from InfluxDB. Please verify that the so-influxdb Docker container is running, and check the log at /opt/so/log/influxdb/influxdb.log for any details."
fi
else
echo -e "\nExiting as requested."
fi

View File

@@ -23,7 +23,9 @@
KIBANA_HOST={{ MANAGER }}
KSO_PORT=5601
OUTFILE="saved_objects.ndjson"
curl -s -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -XPOST -L $KIBANA_HOST:$KSO_PORT/api/saved_objects/_export -d '{ "type": [ "index-pattern", "config", "visualization", "dashboard", "search" ], "excludeExportDetails": false }' > $OUTFILE
SESSIONCOOKIE=$({{ ELASTICCURL }} -c - -X GET http://$KIBANA_HOST:$KSO_PORT/ | grep sid | awk '{print $7}')
{{ ELASTICCURL }} -b "sid=$SESSIONCOOKIE" -s -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -XPOST -L $KIBANA_HOST:$KSO_PORT/api/saved_objects/_export -d '{ "type": [ "index-pattern", "config", "visualization", "dashboard", "search" ], "excludeExportDetails": false }' > $OUTFILE
# Clean up using PLACEHOLDER
sed -i "s/$KIBANA_HOST/PLACEHOLDER/g" $OUTFILE

View File

@@ -0,0 +1,13 @@
. /usr/sbin/so-common
wait_for_web_response "http://localhost:5601/app/kibana" "Elastic" 300 "{{ ELASTICCURL }}"
## This hackery will be removed if using Elastic Auth ##
# Let's snag a cookie from Kibana
SESSIONCOOKIE=$({{ ELASTICCURL }} -c - -X GET http://localhost:5601/ | grep sid | awk '{print $7}')
# Disable certain Features from showing up in the Kibana UI
echo
echo "Setting up default Space:"
{{ ELASTICCURL }} -b "sid=$SESSIONCOOKIE" -L -X PUT "localhost:5601/api/spaces/space/default" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d' {"id":"default","name":"Default","disabledFeatures":["ml","enterpriseSearch","siem","logs","infrastructure","apm","uptime","monitoring","stackAlerts","actions","fleet"]} ' >> /opt/so/log/kibana/misc.log
echo

303
salt/common/tools/sbin/so-learn Executable file
View File

@@ -0,0 +1,303 @@
#!/usr/bin/env python3
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
from itertools import chain
from typing import List
import signal
import sys
import os
import re
import subprocess
import argparse
import textwrap
import yaml
import multiprocessing
import docker
import pty
minion_pillar_dir = '/opt/so/saltstack/local/pillar/minions'
so_status_conf = '/opt/so/conf/so-status/so-status.conf'
proc: subprocess.CompletedProcess = None
# Temp store of modules, will likely be broken out into salt
def get_learn_modules():
return {
'logscan': { 'cpu_period': get_cpu_period(fraction=0.25), 'enabled': False, 'description': 'Scan log files against pre-trained models to alert on anomalies.' }
}
def get_cpu_period(fraction: float):
multiplier = 10000
num_cores = multiprocessing.cpu_count()
if num_cores <= 2:
fraction = 1.
num_used_cores = int(num_cores * fraction)
cpu_period = num_used_cores * multiplier
return cpu_period
def sigint_handler(*_):
print('Exiting gracefully on Ctrl-C')
if proc is not None: proc.send_signal(signal.SIGINT)
sys.exit(1)
def find_minion_pillar() -> str:
regex = '^.*_(manager|managersearch|standalone|import|eval)\.sls$'
result = []
for root, _, files in os.walk(minion_pillar_dir):
for f_minion_id in files:
if re.search(regex, f_minion_id):
result.append(os.path.join(root, f_minion_id))
if len(result) == 0:
print('Could not find manager-type pillar (eval, standalone, manager, managersearch, import). Are you running this script on the manager?', file=sys.stderr)
sys.exit(3)
elif len(result) > 1:
res_str = ', '.join(f'\"{result}\"')
print('(This should not happen, the system is in an error state if you see this message.)\n', file=sys.stderr)
print('More than one manager-type pillar exists, minion id\'s listed below:', file=sys.stderr)
print(f' {res_str}', file=sys.stderr)
sys.exit(3)
else:
return result[0]
def read_pillar(pillar: str):
try:
with open(pillar, 'r') as pillar_file:
loaded_yaml = yaml.safe_load(pillar_file.read())
if loaded_yaml is None:
print(f'Could not parse {pillar}', file=sys.stderr)
sys.exit(3)
return loaded_yaml
except:
print(f'Could not open {pillar}', file=sys.stderr)
sys.exit(3)
def write_pillar(pillar: str, content: dict):
try:
with open(pillar, 'w') as pillar_file:
yaml.dump(content, pillar_file, default_flow_style=False)
except:
print(f'Could not open {pillar}', file=sys.stderr)
sys.exit(3)
def mod_so_status(action: str, item: str):
with open(so_status_conf, 'a+') as conf:
conf.seek(0)
containers = conf.readlines()
if f'so-{item}\n' in containers:
if action == 'remove': containers.remove(f'so-{item}\n')
if action == 'add': pass
else:
if action == 'remove': pass
if action == 'add': containers.append(f'so-{item}\n')
[containers.remove(c_name) for c_name in containers if c_name == '\n'] # remove extra newlines
conf.seek(0)
conf.truncate(0)
conf.writelines(containers)
def create_pillar_if_not_exist(pillar:str, content: dict):
pillar_dict = content
if pillar_dict.get('learn', {}).get('modules') is None:
pillar_dict['learn'] = {}
pillar_dict['learn']['modules'] = get_learn_modules()
content.update()
write_pillar(pillar, content)
return content
def salt_call(module: str):
salt_cmd = ['salt-call', 'state.apply', '-l', 'quiet', f'learn.{module}', 'queue=True']
print(f' Applying salt state for {module} module...')
proc = subprocess.run(salt_cmd, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return_code = proc.returncode
if return_code != 0:
print(f' [ERROR] Failed to apply salt state for {module} module.')
return return_code
def pull_image(module: str):
container_basename = f'so-{module}'
client = docker.from_env()
image_list = client.images.list(filters={ 'dangling': False })
tag_list = list(chain.from_iterable(list(map(lambda x: x.attrs.get('RepoTags'), image_list))))
basename_match = list(filter(lambda x: f'{container_basename}' in x, tag_list))
local_registry_match = list(filter(lambda x: ':5000' in x, basename_match))
if len(local_registry_match) == 0:
print(f'Pulling and verifying missing image for {module} (may take several minutes) ...')
pull_command = ['so-image-pull', '--quiet', container_basename]
proc = subprocess.run(pull_command, stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
return_code = proc.returncode
if return_code != 0:
print(f'[ERROR] Failed to pull image so-{module}, skipping state.')
else:
return_code = 0
return return_code
def apply(module_list: List):
return_code = 0
for module in module_list:
salt_ret = salt_call(module)
# Only update return_code if the command returned a non-zero return
if salt_ret != 0:
return_code = salt_ret
return return_code
def check_apply(args: dict):
if args.apply:
print('Configuration updated. Applying changes:')
return apply(args.modules)
else:
message = 'Configuration updated. Would you like to apply your changes now? (y/N) '
answer = input(message)
while answer.lower() not in [ 'y', 'n', '' ]:
answer = input(message)
if answer.lower() in [ 'n', '' ]:
return 0
else:
print('Applying changes:')
return apply(args.modules)
def enable_disable_modules(args, enable: bool):
pillar_modules = args.pillar_dict.get('learn', {}).get('modules')
pillar_mod_names = args.pillar_dict.get('learn', {}).get('modules').keys()
action_str = 'add' if enable else 'remove'
if 'all' in args.modules:
for module, details in pillar_modules.items():
details['enabled'] = enable
mod_so_status(action_str, module)
if enable: pull_image(module)
args.pillar_dict.update()
write_pillar(args.pillar, args.pillar_dict)
else:
write_needed = False
for module in args.modules:
if module in pillar_mod_names:
if pillar_modules[module]['enabled'] == enable:
state_str = 'enabled' if enable else 'disabled'
print(f'{module} module already {state_str}.', file=sys.stderr)
else:
if enable and pull_image(module) != 0:
continue
pillar_modules[module]['enabled'] = enable
mod_so_status(action_str, module)
write_needed = True
if write_needed:
args.pillar_dict.update()
write_pillar(args.pillar, args.pillar_dict)
cmd_ret = check_apply(args)
return cmd_ret
def enable_modules(args):
enable_disable_modules(args, enable=True)
def disable_modules(args):
enable_disable_modules(args, enable=False)
def list_modules(*_):
print('Available ML modules:')
for module, details in get_learn_modules().items():
print(f' - { module } : {details["description"]}')
return 0
def main():
beta_str = 'BETA - SUBJECT TO CHANGE\n'
apply_help='After ACTION the chosen modules, apply any necessary salt states.'
enable_apply_help = apply_help.replace('ACTION', 'enabling')
disable_apply_help = apply_help.replace('ACTION', 'disabling')
signal.signal(signal.SIGINT, sigint_handler)
if os.geteuid() != 0:
print('You must run this script as root', file=sys.stderr)
sys.exit(1)
main_parser = argparse.ArgumentParser(formatter_class=argparse.RawDescriptionHelpFormatter)
subcommand_desc = textwrap.dedent(
"""\
enable Enable one or more ML modules.
disable Disable one or more ML modules.
list List all available ML modules.
"""
)
subparsers = main_parser.add_subparsers(title='commands', description=subcommand_desc, metavar='', dest='command')
module_help_str = 'One or more ML modules, which can be listed using \'so-learn list\'. Use the keyword \'all\' to apply the action to all available modules.'
enable = subparsers.add_parser('enable')
enable.set_defaults(func=enable_modules)
enable.add_argument('modules', metavar='ML_MODULE', nargs='+', help=module_help_str)
enable.add_argument('--apply', action='store_const', const=True, required=False, help=enable_apply_help)
disable = subparsers.add_parser('disable')
disable.set_defaults(func=disable_modules)
disable.add_argument('modules', metavar='ML_MODULE', nargs='+', help=module_help_str)
disable.add_argument('--apply', action='store_const', const=True, required=False, help=disable_apply_help)
list = subparsers.add_parser('list')
list.set_defaults(func=list_modules)
args = main_parser.parse_args(sys.argv[1:])
args.pillar = find_minion_pillar()
args.pillar_dict = create_pillar_if_not_exist(args.pillar, read_pillar(args.pillar))
if hasattr(args, 'func'):
exit_code = args.func(args)
else:
if args.command is None:
print(beta_str)
main_parser.print_help()
sys.exit(0)
sys.exit(exit_code)
if __name__ == '__main__':
main()

View File

@@ -0,0 +1,25 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
for i in $(curl -s -L http://{{ NODEIP }}:9600/_node/stats | jq .pipelines | jq '. | to_entries | .[].key' | sed 's/\"//g'); do echo ${i^}:; curl -s localhost:9600/_node/stats | jq .pipelines.$i.events; done
else
curl -s -L http://{{ NODEIP }}:9600/_node/stats | jq .pipelines.$1.events
fi

View File

@@ -0,0 +1,25 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
curl -s -L http://{{ NODEIP }}:9600/_node/stats | jq .pipelines
else
curl -s -L http://{{ NODEIP }}:9600/_node/stats | jq .pipelines.$1
fi

0
salt/common/tools/sbin/so-monitor-add Normal file → Executable file
View File

View File

@@ -0,0 +1,26 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
if [ $# -lt 2 ]; then
echo "Usage: $0 <steno-query> Output-Filename"
exit 1
fi
docker exec -it so-sensoroni scripts/stenoquery.sh "$1" -w /nsm/pcapout/$2.pcap
echo ""
echo "If successful, the output was written to: /nsm/pcapout/$2.pcap"

View File

@@ -22,5 +22,5 @@ salt-call state.apply playbook.db_init,playbook,playbook.automation_user_create
/usr/sbin/so-soctopus-restart
echo "Importing Plays - this will take some time...."
wait 5
/usr/sbin/so-playbook-ruleupdate
sleep 5
/usr/sbin/so-playbook-ruleupdate

0
salt/common/tools/sbin/so-playbook-sigma-refresh Normal file → Executable file
View File

View File

@@ -17,4 +17,8 @@
. /usr/sbin/so-common
# Check to see if we are already running
IS_RUNNING=$(ps aux | pgrep -f "so-playbook-sync" | wc -l)
[ "$IS_RUNNING" -gt 3 ] && echo "$(date) - Multiple Playbook Sync processes already running...exiting." && exit 0
docker exec so-soctopus python3 playbook_play-sync.py

105
salt/common/tools/sbin/so-raid-status Normal file → Executable file
View File

@@ -17,65 +17,98 @@
. /usr/sbin/so-common
#check_boss_raid() {
# BOSSBIN=/opt/boss/mvcli
# BOSSRC=$($BOSSBIN info -o vd | grep functional)
#
# if [[ $BOSSRC ]]; then
# # Raid is good
# BOSSRAID=0
# else
# BOSSRAID=1
# fi
#}
appliance_check() {
{%- if salt['grains.get']('sosmodel', '') %}
APPLIANCE=1
DUDEYOUGOTADELL=$(dmidecode |grep Dell)
if [[ -n $DUDEYOUGOTADELL ]]; then
APPTYPE=dell
else
APPTYPE=sm
fi
mkdir -p /opt/so/log/raid
check_lsi_raid() {
# For use for LSI on Ubuntu
#MEGA=/opt/MegaRAID/MegeCli/MegaCli64
#LSIRC=$($MEGA -LDInfo -Lall -aALL | grep Optimal)
# Open Source Centos
MEGA=/opt/mega/megasasctl
LSIRC=$($MEGA | grep optimal)
{%- else %}
echo "This is not an appliance"
exit 0
{%- endif %}
}
if [[ $LSIRC ]]; then
# Raid is good
LSIRAID=0
check_nsm_raid() {
PERCCLI=$(/opt/raidtools/perccli/perccli64 /c0/v0 show|grep RAID|grep Optl)
MEGACTL=$(/opt/raidtools/megasasctl |grep optimal)
if [[ $APPLIANCE == '1' ]]; then
if [[ -n $PERCCLI ]]; then
HWRAID=0
elif [[ -n $MEGACTL ]]; then
HWRAID=0
else
LSIRAID=1
HWRAID=1
fi
fi
}
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
fi
}
check_software_raid() {
if [[ -n $DUDEYOUGOTADELL ]]; then
SWRC=$(grep "_" /proc/mdstat)
if [[ $SWRC ]]; then
if [[ -n $SWRC ]]; then
# RAID is failed in some way
SWRAID=1
else
SWRAID=0
fi
fi
}
# This script checks raid status if you use SO appliances
# See if this is an appliance
appliance_check
check_nsm_raid
check_boss_raid
{%- if salt['grains.get']('sosmodel', '') %}
mkdir -p /opt/so/log/raid
{%- if grains['sosmodel'] in ['SOSMN', 'SOSSNNV'] %}
#check_boss_raid
{%- if grains['sosmodel'] in ['SOSMN', 'SOSSNNV'] %}
check_software_raid
echo "osraid=$BOSSRAID nsmraid=$SWRAID" > /opt/so/log/raid/status.log
{%- elif grains['sosmodel'] in ['SOS1000F', 'SOS1000', 'SOSSN7200', 'SOS10K', 'SOS4000'] %}
#check_boss_raid
check_lsi_raid
echo "osraid=$BOSSRAID nsmraid=$LSIRAID" > /opt/so/log/raid/status.log
{%- else %}
exit 0
{%- endif %}
{%- else %}
exit 0
{%- 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
fi
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log

27
salt/common/tools/sbin/so-rule Normal file → Executable file
View File

@@ -37,11 +37,9 @@ def print_err(string: str):
def check_apply(args: dict, prompt: bool = True):
cmd_arr = ['salt-call', 'state.apply', 'idstools', 'queue=True']
if args.apply:
print('Configuration updated. Applying idstools state...')
return subprocess.run(cmd_arr)
print('Configuration updated. Applying changes:')
return apply()
else:
if prompt:
message = 'Configuration updated. Would you like to apply your changes now? (y/N) '
@@ -51,12 +49,24 @@ def check_apply(args: dict, prompt: bool = True):
if answer.lower() in [ 'n', '' ]:
return 0
else:
print('Applying idstools state...')
return subprocess.run(cmd_arr)
print('Applying changes:')
return apply()
else:
return 0
def apply():
salt_cmd = ['salt-call', 'state.apply', '-l', 'quiet', 'idstools.sync_files', 'queue=True']
update_cmd = ['so-rule-update']
print('Syncing config files...')
cmd = subprocess.run(salt_cmd, stdout=subprocess.DEVNULL)
if cmd.returncode == 0:
print('Updating rules...')
return subprocess.run(update_cmd).returncode
else:
return cmd.returncode
def find_minion_pillar() -> str:
regex = '^.*_(manager|managersearch|standalone|import|eval)\.sls$'
@@ -442,10 +452,7 @@ def main():
modify.print_help()
sys.exit(0)
if isinstance(exit_code, subprocess.CompletedProcess):
sys.exit(exit_code.returncode)
else:
sys.exit(exit_code)
sys.exit(exit_code)
if __name__ == '__main__':

View File

@@ -115,8 +115,8 @@ clean() {
}
# Check to see if we are already running
IS_RUNNING=$(ps aux | grep "so-sensor-clean" | grep -v grep | wc -l)
[ "$IS_RUNNING" -gt 2 ] && echo "$(date) - $IS_RUNNING sensor clean script processes running...exiting." >>$LOG && exit 0
IS_RUNNING=$(ps aux | pgrep -f "so-sensor-clean" | wc -l)
[ "$IS_RUNNING" -gt 3 ] && echo "$(date) - $IS_RUNNING sensor clean script processes running...exiting." >>$LOG && exit 0
if [ "$CUR_USAGE" -gt "$CRIT_DISK_USAGE" ]; then
while [ "$CUR_USAGE" -gt "$CRIT_DISK_USAGE" ]; do

View File

@@ -4,90 +4,184 @@
if [[ $1 =~ ^(-q|--quiet) ]]; then
quiet=true
elif [[ $1 =~ ^(-v|--verbose) ]]; then
verbose=true
fi
sshd_config=/etc/ssh/sshd_config
temp_config=/tmp/sshd_config
before=
after=
reload_required=false
change_header_printed=false
print_sshd_t() {
check_sshd_t() {
local string=$1
local state=$2
echo "${state}:"
local grep_out
grep_out=$(sshd -T | grep "^${string}")
if [[ $state == "Before" ]]; then
before=$grep_out
before=$grep_out
}
print_diff() {
local diff
diff=$(diff -dbB <(echo $before) <(echo $after) | awk 'NR>1')
if [[ -n $diff ]]; then
if [[ $change_header_printed == false ]]; then
printf '%s\n' '' "Changes" '-------' ''
change_header_printed=true
fi
echo -e "$diff\n"
fi
}
replace_or_add() {
local type=$1
local string=$2
if grep -q "$type" $temp_config; then
sed -i "/$type .*/d" $temp_config
fi
printf "%s\n\n" "$string" >> $temp_config
reload_required=true
}
test_config() {
local msg
msg=$(sshd -t -f $temp_config)
local ret=$?
if [[ -n $msg ]]; then
echo "Error found in temp sshd config:"
echo $msg
fi
return $ret
}
main() {
if ! [[ $quiet ]]; then echo "Copying current config to $temp_config"; fi
cp $sshd_config $temp_config
# Add newline to ssh for legibility
echo "" >> $temp_config
# Ciphers
check_sshd_t "ciphers"
local bad_ciphers=(
"3des-cbc"
"aes128-cbc"
"aes192-cbc"
"aes256-cbc"
"arcfour"
"arcfour128"
"arcfour256"
"blowfish-cbc"
"cast128-cbc"
)
local cipher_string=$before
for cipher in "${bad_ciphers[@]}"; do
cipher_string=$(echo "$cipher_string" | sed "s/${cipher}\(,\|\$\)//g" | sed 's/,$//')
done
after=$cipher_string
if [[ $verbose ]]; then print_diff; fi
if [[ $before != "$after" ]]; then
replace_or_add "ciphers" "$cipher_string" && test_config || exit 1
fi
# KexAlgorithms
check_sshd_t "kexalgorithms"
local bad_kexalgs=(
"diffie-hellman-group-exchange-sha1"
"diffie-hellman-group-exchange-sha256"
"diffie-hellman-group1-sha1"
"diffie-hellman-group14-sha1"
"ecdh-sha2-nistp256"
"ecdh-sha2-nistp521"
"ecdh-sha2-nistp384"
)
local kexalg_string=$before
for kexalg in "${bad_kexalgs[@]}"; do
kexalg_string=$(echo "$kexalg_string" | sed "s/${kexalg}\(,\|\$\)//g" | sed 's/,$//')
done
after=$kexalg_string
if [[ $verbose ]]; then print_diff; fi
if [[ $before != "$after" ]]; then
replace_or_add "kexalgorithms" "$kexalg_string" && test_config || exit 1
fi
# Macs
check_sshd_t "macs"
local bad_macs=(
"hmac-sha2-512"
"umac-128@openssh.com"
"hmac-sha2-256"
"umac-64@openssh.com"
"hmac-sha1"
"hmac-sha1-etm@openssh.com"
"umac-64-etm@openssh.com"
)
local macs_string=$before
for mac in "${bad_macs[@]}"; do
macs_string=$(echo "$macs_string" | sed "s/${mac}\(,\|\$\)//g" | sed 's/,$//')
done
after=$macs_string
if [[ $verbose ]]; then print_diff; fi
if [[ $before != "$after" ]]; then
replace_or_add "macs" "$macs_string" && test_config || exit 1
fi
# HostKeyAlgorithms
check_sshd_t "hostkeyalgorithms"
local optional_suffix_regex_hka="\(-cert-v01@openssh.com\)\?"
local bad_hostkeyalg_list=(
"ecdsa-sha2-nistp256"
"ecdsa-sha2-nistp384"
"ecdsa-sha2-nistp521"
"ssh-rsa"
"ssh-dss"
)
local hostkeyalg_string=$before
for alg in "${bad_hostkeyalg_list[@]}"; do
hostkeyalg_string=$(echo "$hostkeyalg_string" | sed "s/${alg}${optional_suffix_regex_hka}\(,\|\$\)//g" | sed 's/,$//')
done
after=$hostkeyalg_string
if [[ $verbose ]]; then print_diff; fi
if [[ $before != "$after" ]]; then
replace_or_add "hostkeyalgorithms" "$hostkeyalg_string" && test_config || exit 1
fi
if [[ $reload_required == true ]]; then
mv -f $temp_config $sshd_config
if ! [[ $quiet ]]; then echo "Reloading sshd to load config changes"; fi
systemctl reload sshd
echo "[ WARNING ] Any new ssh sessions will need to remove and reaccept the host key fingerprint for this server before reconnecting."
else
after=$grep_out
fi
echo $grep_out
}
print_msg() {
local msg=$1
if ! [[ $quiet ]]; then
printf "%s\n" \
"----" \
"$msg" \
"----" \
""
if ! [[ $quiet ]]; then echo "No changes made to temp file, cleaning up"; fi
rm -f $temp_config
fi
}
if ! [[ $quiet ]]; then print_sshd_t "ciphers" "Before"; fi
sshd -T | grep "^ciphers" | sed -e "s/\(3des-cbc\|aes128-cbc\|aes192-cbc\|aes256-cbc\|arcfour\|arcfour128\|arcfour256\|blowfish-cbc\|cast128-cbc\|rijndael-cbc@lysator.liu.se\)\,\?//g" >> /etc/ssh/sshd_config
if ! [[ $quiet ]]; then
print_sshd_t "ciphers" "After"
echo ""
fi
if [[ $before != $after ]]; then
reload_required=true
fi
if ! [[ $quiet ]]; then print_sshd_t "kexalgorithms" "Before"; fi
sshd -T | grep "^kexalgorithms" | sed -e "s/\(diffie-hellman-group14-sha1\|ecdh-sha2-nistp256\|diffie-hellman-group-exchange-sha256\|diffie-hellman-group1-sha1\|diffie-hellman-group-exchange-sha1\|ecdh-sha2-nistp521\|ecdh-sha2-nistp384\)\,\?//g" >> /etc/ssh/sshd_config
if ! [[ $quiet ]]; then
print_sshd_t "kexalgorithms" "After"
echo ""
fi
if [[ $before != $after ]]; then
reload_required=true
fi
if ! [[ $quiet ]]; then print_sshd_t "macs" "Before"; fi
sshd -T | grep "^macs" | sed -e "s/\(hmac-sha2-512,\|umac-128@openssh.com,\|hmac-sha2-256,\|umac-64@openssh.com,\|hmac-sha1,\|hmac-sha1-etm@openssh.com,\|umac-64-etm@openssh.com,\|hmac-sha1\)//g" >> /etc/ssh/sshd_config
if ! [[ $quiet ]]; then
print_sshd_t "macs" "After"
echo ""
fi
if [[ $before != $after ]]; then
reload_required=true
fi
if ! [[ $quiet ]]; then print_sshd_t "hostkeyalgorithms" "Before"; fi
sshd -T | grep "^hostkeyalgorithms" | sed "s|ecdsa-sha2-nistp256,||g" | sed "s|ssh-rsa,||g" >> /etc/ssh/sshd_config
if ! [[ $quiet ]]; then
print_sshd_t "hostkeyalgorithms" "After"
echo ""
fi
if [[ $before != $after ]]; then
reload_required=true
fi
if [[ $reload_required == true ]]; then
print_msg "Reloading sshd to load config changes..."
systemctl reload sshd
fi
{% if grains['os'] != 'CentOS' %}
print_msg "[ WARNING ] Any new ssh sessions will need to remove and reaccept the ECDSA key for this server before reconnecting."
{% endif %}
main

5
salt/common/tools/sbin/so-suricata-testrule Normal file → Executable file
View File

@@ -23,6 +23,11 @@ TESTPCAP=$2
. /usr/sbin/so-common
if [ $# -lt 2 ]; then
echo "Usage: $0 <CustomRule> <TargetPCAP>"
exit 1
fi
echo ""
echo "==============="
echo "Running all.rules and $TESTRULE against the following pcap: $TESTPCAP"

View File

@@ -31,7 +31,7 @@ if [[ $# -lt 1 ]]; then
echo "Usage: $0 <pcap-sample(s)>"
echo
echo "All PCAPs must be placed in the /opt/so/samples directory unless replaying"
echo "a sample pcap that is included in the so-tcpreplay image. Those PCAP sampes"
echo "a sample pcap that is included in the so-tcpreplay image. Those PCAP samples"
echo "are located in the /opt/samples directory inside of the image."
echo
echo "Customer provided PCAP example:"

View File

@@ -0,0 +1,57 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
usage() {
echo "Usage: $0 <user-name>"
echo ""
echo "Update password for an existing TheHive user. The new password will be read from STDIN."
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER=$1
THEHIVE_KEY=$(lookup_pillar hivekey)
THEHVIE_API_URL="$(lookup_pillar url_base)/thehive/api"
THEHIVE_USER=$USER
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs THEHIVE_PASS
if ! check_password "$THEHIVE_PASS"; then
echo "Password is invalid. Please exclude single quotes, double quotes and backslashes from the password."
exit 2
fi
# Change password for user in TheHive
resp=$(curl -sk -XPOST -H "Authorization: Bearer $THEHIVE_KEY" -H "Content-Type: application/json" -L "https://$THEHVIE_API_URL/user/${THEHIVE_USER}/password/set" -d "{\"password\" : \"$THEHIVE_PASS\"}")
if [[ -z "$resp" ]]; then
echo "Successfully updated TheHive user password"
else
echo "Unable to update TheHive user password"
echo $resp
exit 2
fi

View File

@@ -39,10 +39,18 @@ email=$2
kratosUrl=${KRATOS_URL:-http://127.0.0.1:4434}
databasePath=${KRATOS_DB_PATH:-/opt/so/conf/kratos/db/db.sqlite}
argon2Iterations=${ARGON2_ITERATIONS:-3}
argon2Memory=${ARGON2_MEMORY:-14}
argon2Parallelism=${ARGON2_PARALLELISM:-2}
argon2HashSize=${ARGON2_HASH_SIZE:-32}
bcryptRounds=${BCRYPT_ROUNDS:-12}
elasticUsersFile=${ELASTIC_USERS_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users}
elasticRolesFile=${ELASTIC_ROLES_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users_roles}
esUID=${ELASTIC_UID:-930}
esGID=${ELASTIC_GID:-930}
function lock() {
# Obtain file descriptor lock
exec 99>/var/tmp/so-user.lock || fail "Unable to create lock descriptor; if the system was not shutdown gracefully you may need to remove /var/tmp/so-user.lock manually."
flock -w 10 99 || fail "Another process is using so-user; if the system was not shutdown gracefully you may need to remove /var/tmp/so-user.lock manually."
trap 'rm -f /var/tmp/so-user.lock' EXIT
}
function fail() {
msg=$1
@@ -58,7 +66,7 @@ function require() {
# Verify this environment is capable of running this script
function verifyEnvironment() {
require "argon2"
require "htpasswd"
require "jq"
require "curl"
require "openssl"
@@ -95,6 +103,16 @@ function validateEmail() {
fi
}
function hashPassword() {
password=$1
passwordHash=$(echo "${password}" | htpasswd -niBC $bcryptRounds SOUSER)
passwordHash=$(echo "$passwordHash" | cut -c 11-)
passwordHash="\$2a${passwordHash}" # still waiting for https://github.com/elastic/elasticsearch/issues/51132
echo "$passwordHash"
}
function updatePassword() {
identityId=$1
@@ -111,15 +129,125 @@ function updatePassword() {
if [[ -n $identityId ]]; then
# Generate password hash
salt=$(openssl rand -hex 8)
passwordHash=$(echo "${password}" | argon2 ${salt} -id -t $argon2Iterations -m $argon2Memory -p $argon2Parallelism -l $argon2HashSize -e)
passwordHash=$(hashPassword "$password")
# Update DB with new hash
echo "update identity_credentials set config=CAST('{\"hashed_password\":\"${passwordHash}\"}' as BLOB) where identity_id=${identityId};" | sqlite3 "$databasePath"
echo "update identity_credentials set config=CAST('{\"hashed_password\":\"$passwordHash\"}' as BLOB) where identity_id=${identityId};" | sqlite3 "$databasePath"
[[ $? != 0 ]] && fail "Unable to update password"
fi
}
function createElasticFile() {
filename=$1
tmpFile=${filename}
truncate -s 0 "$tmpFile"
chmod 600 "$tmpFile"
chown "${esUID}:${esGID}" "$tmpFile"
}
function syncElasticSystemUser() {
json=$1
userid=$2
usersFile=$3
user=$(echo "$json" | jq -r ".local.users.$userid.user")
pass=$(echo "$json" | jq -r ".local.users.$userid.pass")
[[ -z "$user" || -z "$pass" ]] && fail "Elastic auth credentials for system user '$userid' are missing"
hash=$(hashPassword "$pass")
echo "${user}:${hash}" >> "$usersFile"
}
function syncElasticSystemRole() {
json=$1
userid=$2
role=$3
rolesFile=$4
user=$(echo "$json" | jq -r ".local.users.$userid.user")
[[ -z "$user" ]] && fail "Elastic auth credentials for system user '$userid' are missing"
echo "${role}:${user}" >> "$rolesFile"
}
function syncElastic() {
echo "Syncing users between SOC and Elastic..."
usersTmpFile="${elasticUsersFile}.tmp"
rolesTmpFile="${elasticRolesFile}.tmp"
createElasticFile "${usersTmpFile}"
createElasticFile "${rolesTmpFile}"
authPillarJson=$(lookup_salt_value "auth" "elasticsearch" "pillar" "json")
syncElasticSystemUser "$authPillarJson" "so_elastic_user" "$usersTmpFile"
syncElasticSystemRole "$authPillarJson" "so_elastic_user" "superuser" "$rolesTmpFile"
syncElasticSystemUser "$authPillarJson" "so_kibana_user" "$usersTmpFile"
syncElasticSystemRole "$authPillarJson" "so_kibana_user" "superuser" "$rolesTmpFile"
syncElasticSystemUser "$authPillarJson" "so_logstash_user" "$usersTmpFile"
syncElasticSystemRole "$authPillarJson" "so_logstash_user" "superuser" "$rolesTmpFile"
syncElasticSystemUser "$authPillarJson" "so_beats_user" "$usersTmpFile"
syncElasticSystemRole "$authPillarJson" "so_beats_user" "superuser" "$rolesTmpFile"
syncElasticSystemUser "$authPillarJson" "so_monitor_user" "$usersTmpFile"
syncElasticSystemRole "$authPillarJson" "so_monitor_user" "remote_monitoring_collector" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_monitor_user" "remote_monitoring_agent" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_monitor_user" "monitoring_user" "$rolesTmpFile"
if [[ -f "$databasePath" ]]; then
# Generate the new users file
echo "select '{\"user\":\"' || ici.identifier || '\", \"data\":' || ic.config || '}'" \
"from identity_credential_identifiers ici, identity_credentials ic " \
"where ici.identity_credential_id=ic.id and instr(ic.config, 'hashed_password') " \
"order by ici.identifier;" | \
sqlite3 "$databasePath" | \
jq -r '.user + ":" + .data.hashed_password' \
>> "$usersTmpFile"
[[ $? != 0 ]] && fail "Unable to read credential hashes from database"
# Generate the new users_roles file
echo "select 'superuser:' || ici.identifier " \
"from identity_credential_identifiers ici, identity_credentials ic " \
"where ici.identity_credential_id=ic.id and instr(ic.config, 'hashed_password') " \
"order by ici.identifier;" | \
sqlite3 "$databasePath" \
>> "$rolesTmpFile"
[[ $? != 0 ]] && fail "Unable to read credential IDs from database"
else
echo "Database file does not exist yet, skipping users export"
fi
if [[ -s "${usersTmpFile}" ]]; then
mv "${usersTmpFile}" "${elasticUsersFile}"
mv "${rolesTmpFile}" "${elasticRolesFile}"
if [[ -z "$SKIP_STATE_APPLY" ]]; then
echo "Elastic state will be re-applied to affected minions. This may take several minutes..."
echo "Applying elastic state to elastic minions at $(date)" >> /opt/so/log/soc/sync.log 2>&1
salt -C 'G@role:so-standalone or G@role:so-eval or G@role:so-import or G@role:so-manager or G@role:so-managersearch or G@role:so-node or G@role:so-heavynode' state.apply elasticsearch queue=True >> /opt/so/log/soc/sync.log 2>&1
fi
else
echo "Newly generated users/roles files are incomplete; aborting."
fi
}
function syncAll() {
if [[ -z "$FORCE_SYNC" && -f "$databasePath" && -f "$elasticUsersFile" ]]; then
usersFileAgeSecs=$(echo $(($(date +%s) - $(date +%s -r "$elasticUsersFile"))))
staleCount=$(echo "select count(*) from identity_credentials where updated_at >= Datetime('now', '-${usersFileAgeSecs} seconds');" \
| sqlite3 "$databasePath")
if [[ "$staleCount" == "0" ]]; then
return 1
fi
fi
syncElastic
return 0
}
function listUsers() {
response=$(curl -Ss -L ${kratosUrl}/identities)
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
@@ -178,7 +306,7 @@ function updateStatus() {
[[ $? != 0 ]] && fail "Unable to unlock credential record"
fi
updatedJson=$(echo "$response" | jq ".traits.status = \"$status\" | del(.verifiable_addresses) | del(.id) | del(.schema_url)")
updatedJson=$(echo "$response" | jq ".traits.status = \"$status\" | del(.verifiable_addresses) | del(.id) | del(.schema_url) | del(.created_at) | del(.updated_at)")
response=$(curl -Ss -XPUT -L ${kratosUrl}/identities/$identityId -d "$updatedJson")
[[ $? != 0 ]] && fail "Unable to mark user as locked"
@@ -208,12 +336,14 @@ case "${operation}" in
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
lock
validateEmail "$email"
updatePassword
createUser "$email"
syncAll
echo "Successfully added new user to SOC"
check_container thehive && echo $password | so-thehive-user-add "$email"
check_container fleet && echo $password | so-fleet-user-add "$email"
check_container thehive && echo "$password" | so-thehive-user-add "$email"
check_container fleet && echo "$password" | so-fleet-user-add "$email"
;;
"list")
@@ -225,7 +355,9 @@ case "${operation}" in
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
lock
updateUser "$email"
syncAll
echo "Successfully updated user"
;;
@@ -233,7 +365,9 @@ case "${operation}" in
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
lock
updateStatus "$email" 'active'
syncAll
echo "Successfully enabled user"
check_container thehive && so-thehive-user-enable "$email" true
check_container fleet && so-fleet-user-enable "$email" true
@@ -243,7 +377,9 @@ case "${operation}" in
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
lock
updateStatus "$email" 'locked'
syncAll
echo "Successfully disabled user"
check_container thehive && so-thehive-user-enable "$email" false
check_container fleet && so-fleet-user-enable "$email" false
@@ -253,12 +389,19 @@ case "${operation}" in
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
lock
deleteUser "$email"
syncAll
echo "Successfully deleted user"
check_container thehive && so-thehive-user-enable "$email" false
check_container fleet && so-fleet-user-enable "$email" false
;;
"sync")
lock
syncAll
;;
"validate")
validateEmail "$email"
updatePassword
@@ -280,4 +423,4 @@ case "${operation}" in
;;
esac
exit 0
exit 0

View File

@@ -10,11 +10,10 @@ zeek_logs_enabled() {
}
whiptail_manager_adv_service_zeeklogs() {
BLOGS=$(whiptail --title "Security Onion Setup" --checklist "Please Select Logs to Send:" 24 78 12 \
BLOGS=$(whiptail --title "so-zeek-logs" --checklist "Please Select Logs to Send:" 24 78 12 \
"conn" "Connection Logging" ON \
"dce_rpc" "RPC Logs" ON \
"dhcp" "DHCP Logs" ON \
"dhcpv6" "DHCP IPv6 Logs" ON \
"dnp3" "DNP3 Logs" ON \
"dns" "DNS Logs" ON \
"dpd" "DPD Logs" ON \
@@ -25,25 +24,20 @@ whiptail_manager_adv_service_zeeklogs() {
"irc" "IRC Chat Logs" ON \
"kerberos" "Kerberos Logs" ON \
"modbus" "MODBUS Logs" ON \
"mqtt" "MQTT Logs" ON \
"notice" "Zeek Notice Logs" ON \
"ntlm" "NTLM Logs" ON \
"openvpn" "OPENVPN Logs" ON \
"pe" "PE Logs" ON \
"radius" "Radius Logs" ON \
"rfb" "RFB Logs" ON \
"rdp" "RDP Logs" ON \
"signatures" "Signatures Logs" ON \
"sip" "SIP Logs" ON \
"smb_files" "SMB Files Logs" ON \
"smb_mapping" "SMB Mapping Logs" ON \
"smtp" "SMTP Logs" ON \
"snmp" "SNMP Logs" ON \
"software" "Software Logs" ON \
"ssh" "SSH Logs" ON \
"ssl" "SSL Logs" ON \
"syslog" "Syslog Logs" ON \
"telnet" "Telnet Logs" ON \
"tunnel" "Tunnel Logs" ON \
"weird" "Zeek Weird Logs" ON \
"mysql" "MySQL Logs" ON \
@@ -61,10 +55,10 @@ whiptail_manager_adv_service_zeeklogs
return_code=$?
case $return_code in
1)
whiptail --title "Security Onion Setup" --msgbox "Cancelling. No changes have been made." 8 75
whiptail --title "so-zeek-logs" --msgbox "Cancelling. No changes have been made." 8 75
;;
255)
whiptail --title "Security Onion Setup" --msgbox "Whiptail error occured, exiting." 8 75
whiptail --title "so-zeek-logs" --msgbox "Whiptail error occured, exiting." 8 75
;;
*)
zeek_logs_enabled

View File

@@ -24,11 +24,11 @@ show_stats() {
echo
echo "Average throughput:"
echo
docker exec so-zeek env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/bin:/usr/local/bin:/usr/local/sbin runuser -l zeek -c '/opt/zeek/bin/zeekctl capstats'
docker exec so-zeek env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/bin:/usr/local/bin:/usr/local/sbin /opt/zeek/bin/zeekctl capstats
echo
echo "Average packet loss:"
echo
docker exec so-zeek env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/bin:/usr/local/bin:/usr/local/sbin runuser -l zeek -c '/opt/zeek/bin/zeekctl netstats'
docker exec so-zeek env -i PATH=/bin:/usr/bin:/sbin:/usr/sbin:/opt/bin:/usr/local/bin:/usr/local/sbin /opt/zeek/bin/zeekctl netstats
echo
}

File diff suppressed because it is too large Load Diff

View File

@@ -4,12 +4,11 @@
{%- if grains['role'] in ['so-node', 'so-heavynode'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('elasticsearch:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('elasticsearch:es_port', '') -%}
{%- set LOG_SIZE_LIMIT = salt['pillar.get']('elasticsearch:log_size_limit', '') -%}
{%- elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone'] %}
{%- elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone', 'so-manager'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('manager:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('manager:es_port', '') -%}
{%- set LOG_SIZE_LIMIT = salt['pillar.get']('manager:log_size_limit', '') -%}
{%- endif -%}
{%- set LOG_SIZE_LIMIT = salt['pillar.get']('elasticsearch:log_size_limit', '') -%}
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
@@ -35,7 +34,7 @@ overlimit() {
closedindices() {
INDICES=$(curl -s -k {% if grains['role'] in ['so-node','so-heavynode'] %}https://{% endif %}{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed 2> /dev/null)
INDICES=$({{ ELASTICCURL }} -s -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed 2> /dev/null)
[ $? -eq 1 ] && return false
echo ${INDICES} | grep -q -E "(logstash-|so-)"
}
@@ -50,12 +49,12 @@ while overlimit && closedindices; do
# First, get the list of closed indices using _cat/indices?h=index\&expand_wildcards=closed.
# Then, sort by date by telling sort to use hyphen as delimiter and then sort on the third field.
# Finally, select the first entry in that sorted list.
OLDEST_INDEX=$(curl -s -k {% if grains['role'] in ['so-node','so-heavynode'] %}https://{% endif %}{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed | grep -E "(logstash-|so-)" | sort -t- -k3 | head -1)
OLDEST_INDEX=$({{ ELASTICCURL }} -s -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed | grep -E "(logstash-|so-)" | sort -t- -k3 | head -1)
# Now that we've determined OLDEST_INDEX, ask Elasticsearch to delete it.
curl -XDELETE -k {% if grains['role'] in ['so-node','so-heavynode'] %}https://{% endif %}{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/${OLDEST_INDEX}
{{ ELASTICCURL }} -XDELETE -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/${OLDEST_INDEX}
# Finally, write a log entry that says we deleted it.
echo "$(date) - Used disk space exceeds LOG_SIZE_LIMIT ({{LOG_SIZE_LIMIT}} GB) - Index ${OLDEST_INDEX} deleted ..." >> ${LOG}
done
done

View File

@@ -1,8 +1,15 @@
{% if grains['role'] in ['so-node', 'so-heavynode'] %}
{%- set elasticsearch = salt['pillar.get']('elasticsearch:mainip', '') -%}
{% elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone'] %}
{% elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone', 'so-manager'] %}
{%- set elasticsearch = salt['pillar.get']('manager:mainip', '') -%}
{%- endif %}
{%- if salt['pillar.get']('elasticsearch:auth:enabled') is sameas true %}
{%- set ES_USER = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:user', '') %}
{%- set ES_PASS = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', '') %}
{%- else %}
{%- set ES_USER = '' %}
{%- set ES_PASS = '' %}
{%- endif %}
---
# Remember, leave a key empty if there is no value. None will be a string,
@@ -11,13 +18,15 @@ client:
hosts:
- {{elasticsearch}}
port: 9200
{%- if salt['pillar.get']('elasticsearch:auth:enabled') is sameas true %}
http_auth: {{ ES_USER }}:{{ ES_PASS }}
{%- endif %}
url_prefix:
{% if grains['role'] in ['so-node', 'so-heavynode'] %} use_ssl: True{% else %} use_ssl: False{% endif %}
use_ssl: True
certificate:
client_cert:
client_key:
{% if grains['role'] in ['so-node', 'so-heavynode'] %} ssl_no_validate: True{% else %} ssl_no_validate: False{% endif %}
http_auth:
ssl_no_validate: True
timeout: 30
master_only: False

View File

@@ -4,7 +4,9 @@
{% set VERSION = salt['pillar.get']('global:soversion', 'HH1.2.2') %}
{% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %}
{% set MANAGER = salt['grains.get']('master') %}
{% if grains['role'] in ['so-eval', 'so-node', 'so-managersearch', 'so-heavynode', 'so-standalone'] %}
{% if grains['role'] in ['so-eval', 'so-node', 'so-managersearch', 'so-heavynode', 'so-standalone', 'so-manager'] %}
{% from 'elasticsearch/auth.map.jinja' import ELASTICAUTH with context %}
{% from "curator/map.jinja" import CURATOROPTIONS with context %}
# Curator
# Create the group
curatorgroup:
@@ -48,6 +50,7 @@ curconf:
- source: salt://curator/files/curator.yml
- user: 934
- group: 939
- mode: 660
- template: jinja
curcloseddel:
@@ -66,6 +69,8 @@ curcloseddeldel:
- group: 939
- mode: 755
- template: jinja
- defaults:
ELASTICCURL: {{ ELASTICAUTH.elasticcurl }}
curclose:
file.managed:
@@ -114,8 +119,10 @@ so-curatordeletecron:
- dayweek: '*'
so-curator:
docker_container.running:
docker_container.{{ CURATOROPTIONS.status }}:
{% if CURATOROPTIONS.status == 'running' %}
- image: {{ MANAGER }}:5000/{{ IMAGEREPO }}/so-curator:{{ VERSION }}
- start: {{ CURATOROPTIONS.start }}
- hostname: curator
- name: so-curator
- user: curator
@@ -125,11 +132,33 @@ so-curator:
- /opt/so/conf/curator/curator.yml:/etc/curator/config/curator.yml:ro
- /opt/so/conf/curator/action/:/etc/curator/action:ro
- /opt/so/log/curator:/var/log/curator:rw
- require:
- file: actionconfs
- file: curconf
- file: curlogdir
{% else %}
- force: True
{% endif %}
{% if CURATOROPTIONS.manage_sostatus %}
append_so-curator_so-status.conf:
file.append:
- name: /opt/so/conf/so-status/so-status.conf
- text: so-curator
- unless: grep -q so-curator /opt/so/conf/so-status/so-status.conf
{% if not CURATOROPTIONS.start %}
so-curator_so-status.disabled:
file.comment:
- name: /opt/so/conf/so-status/so-status.conf
- regex: ^so-curator$
{% else %}
delete_so-curator_so-status.disabled:
file.uncomment:
- name: /opt/so/conf/so-status/so-status.conf
- regex: ^so-curator$
{% endif %}
{% endif %}
# Begin Curator Cron Jobs
@@ -147,4 +176,4 @@ append_so-curator_so-status.conf:
test.fail_without_changes:
- name: {{sls}}_state_not_allowed
{% endif %}
{% endif %}

16
salt/curator/map.jinja Normal file
View File

@@ -0,0 +1,16 @@
{% set CURATOROPTIONS = {} %}
{% set ENABLED = salt['pillar.get']('curator:enabled', True) %}
{% set TRUECLUSTER = salt['pillar.get']('elasticsearch:true_cluster', False) %}
{% do CURATOROPTIONS.update({'manage_sostatus': True}) %}
# don't start the docker container if searchnode and true clustering is enabled or curator disabled via pillar or true cluster not enabled and manager
{% if not ENABLED or (TRUECLUSTER and grains.id.split('_')|last == 'searchnode') or (not TRUECLUSTER and grains.id.split('_')|last == 'manager') %}
{% do CURATOROPTIONS.update({'start': False}) %}
{% do CURATOROPTIONS.update({'status': 'absent'}) %}
{% if (TRUECLUSTER and grains.id.split('_')|last == 'searchnode') or (not TRUECLUSTER and grains.id.split('_')|last == 'manager') %}
{% do CURATOROPTIONS.update({'manage_sostatus': False}) %}
{% endif %}%}
{% else %}
{% do CURATOROPTIONS.update({'start': True}) %}
{% do CURATOROPTIONS.update({'status': 'running'}) %}
{% endif %}

View File

@@ -1,86 +1,9 @@
{% from 'allowed_states.map.jinja' import allowed_states %}
{% if sls in allowed_states %}
{% set IMAGEREPO = salt['pillar.get']('global:imagerepo') %}
{% set MANAGER = salt['grains.get']('master') %}
{% set OLDVERSIONS = ['2.0.0-rc.1','2.0.1-rc.1','2.0.2-rc.1','2.0.3-rc.1','2.1.0-rc.2','2.2.0-rc.3','2.3.0','2.3.1','2.3.2','2.3.10','2.3.20']%}
{% for VERSION in OLDVERSIONS %}
remove_images_{{ VERSION }}:
docker_image.absent:
- force: True
- images:
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-acng:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-thehive-cortex:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-curator:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-domainstats:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-elastalert:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-elasticsearch:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-filebeat:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-fleet:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-fleet-launcher:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-freqserver:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-grafana:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-idstools:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-influxdb:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-kibana:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-kratos:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-logstash:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-minio:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-mysql:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-nginx:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-playbook:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-redis:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-soc:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-soctopus:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-steno:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-strelka-frontend:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-strelka-manager:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-strelka-backend:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-strelka-filestream:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-suricata:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-telegraf:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-thehive:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-thehive-es:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-wazuh:{{ VERSION }}'
- '{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-zeek:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-acng:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-thehive-cortex:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-curator:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-domainstats:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-elastalert:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-elasticsearch:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-filebeat:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-fleet:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-fleet-launcher:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-freqserver:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-grafana:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-idstools:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-influxdb:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-kibana:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-kratos:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-logstash:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-minio:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-mysql:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-nginx:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-pcaptools:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-playbook:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-redis:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-soc:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-soctopus:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-steno:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-strelka-frontend:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-strelka-manager:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-strelka-backend:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-strelka-filestream:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-suricata:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-telegraf:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-thehive:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-thehive-es:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-wazuh:{{ VERSION }}'
- '{{ MANAGER }}:5000/securityonion/so-zeek:{{ VERSION }}'
{% endfor %}
prune_images:
cmd.run:
- name: so-docker-prune
{% else %}

View File

@@ -1,3 +1,5 @@
{%- set ES_USER = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:user', '') %}
{%- set ES_PASS = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', '') %}
elastalert:
config:
rules_folder: /opt/elastalert/rules/
@@ -16,11 +18,13 @@ elastalert:
#aws_region: us-east-1
#profile: test
#es_url_prefix: elasticsearch
#use_ssl: True
#verify_certs: True
use_ssl: true
verify_certs: false
#es_send_get_body_as: GET
#es_username: someusername
#es_password: somepassword
{%- if salt['pillar.get']('elasticsearch:auth:enabled') is sameas true %}
es_username: {{ ES_USER }}
es_password: {{ ES_PASS }}
{%- endif %}
writeback_index: elastalert_status
alert_time_limit:
days: 2
@@ -45,4 +49,4 @@ elastalert:
level: INFO
handlers:
- file
propagate: false
propagate: false

View File

@@ -4,21 +4,29 @@ from time import gmtime, strftime
import requests,json
from elastalert.alerts import Alerter
import urllib3
urllib3.disable_warnings(urllib3.exceptions.InsecureRequestWarning)
class PlaybookESAlerter(Alerter):
"""
Use matched data to create alerts in elasticsearch
"""
required_options = set(['play_title','play_url','sigma_level','elasticsearch_host'])
required_options = set(['play_title','play_url','sigma_level'])
def alert(self, matches):
for match in matches:
today = strftime("%Y.%m.%d", gmtime())
timestamp = strftime("%Y-%m-%d"'T'"%H:%M:%S", gmtime())
timestamp = strftime("%Y-%m-%d"'T'"%H:%M:%S"'.000Z', gmtime())
headers = {"Content-Type": "application/json"}
creds = None
if 'es_username' in self.rule and 'es_password' in self.rule:
creds = (self.rule['es_username'], self.rule['es_password'])
payload = {"rule": { "name": self.rule['play_title'],"case_template": self.rule['play_id'],"uuid": self.rule['play_id'],"category": self.rule['rule.category']},"event":{ "severity": self.rule['event.severity'],"module": self.rule['event.module'],"dataset": self.rule['event.dataset'],"severity_label": self.rule['sigma_level']},"kibana_pivot": self.rule['kibana_pivot'],"soc_pivot": self.rule['soc_pivot'],"play_url": self.rule['play_url'],"sigma_level": self.rule['sigma_level'],"event_data": match, "@timestamp": timestamp}
url = f"http://{self.rule['elasticsearch_host']}/so-playbook-alerts-{today}/_doc/"
requests.post(url, data=json.dumps(payload), headers=headers, verify=False)
url = f"https://{self.rule['es_host']}:{self.rule['es_port']}/so-playbook-alerts-{today}/_doc/"
requests.post(url, data=json.dumps(payload), headers=headers, verify=False, auth=creds)
def get_info(self):
return {'type': 'PlaybookESAlerter'}

View File

@@ -99,13 +99,12 @@ elastaconf:
elastalert_config: {{ elastalert_config.elastalert.config }}
- user: 933
- group: 933
- mode: 660
- template: jinja
wait_for_elasticsearch:
module.run:
- http.wait_for_successful_query:
- url: 'http://{{MANAGER}}:9200/_cat/indices/.kibana*'
- wait_for: 180
cmd.run:
- name: so-elasticsearch-wait
so-elastalert:
docker_container.running:
@@ -122,7 +121,7 @@ so-elastalert:
- extra_hosts:
- {{MANAGER_URL}}:{{MANAGER_IP}}
- require:
- module: wait_for_elasticsearch
- cmd: wait_for_elasticsearch
- watch:
- file: elastaconf

View File

@@ -0,0 +1,7 @@
{% set ELASTICAUTH = salt['pillar.filter_by']({
True: {
'user': salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:user'),
'pass': salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass'),
'elasticcurl':'curl -K /opt/so/conf/elasticsearch/curl.config' },
False: {'elasticcurl': 'curl'},
}, pillar='elasticsearch:auth:enabled', default=False) %}

View File

@@ -0,0 +1,39 @@
{% set so_elastic_user_pass = salt['random.get_str'](20) %}
{% set so_kibana_user_pass = salt['random.get_str'](20) %}
{% set so_logstash_user_pass = salt['random.get_str'](20) %}
{% set so_beats_user_pass = salt['random.get_str'](20) %}
{% set so_monitor_user_pass = salt['random.get_str'](20) %}
elastic_auth_pillar:
file.managed:
- name: /opt/so/saltstack/local/pillar/elasticsearch/auth.sls
- mode: 600
- reload_pillar: True
- contents: |
elasticsearch:
auth:
enabled: False
users:
so_elastic_user:
user: so_elastic
pass: {{ so_elastic_user_pass }}
so_kibana_user:
user: so_kibana
pass: {{ so_kibana_user_pass }}
so_logstash_user:
user: so_logstash
pass: {{ so_logstash_user_pass }}
so_beats_user:
user: so_beats
pass: {{ so_beats_user_pass }}
so_monitor_user:
user: so_monitor
pass: {{ so_monitor_user_pass }}
# since we are generating a random password, and we don't want that to happen everytime
# a highstate runs, we only manage the file each user isn't present in the file. if the
# pillar file doesn't exists, then the default vault provided to pillar.get should not
# be within the file either, so it should then be created
- unless:
{% for so_app_user, values in salt['pillar.get']('elasticsearch:auth:users', {'so_noapp_user': {'user': 'r@NDumu53Rd0NtDOoP'}}).items() %}
- grep {{ values.user }} /opt/so/saltstack/local/pillar/elasticsearch/auth.sls
{% endfor%}

View File

@@ -0,0 +1 @@
user = "{{ salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:user') }}:{{ salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass') }}"

View File

@@ -1,6 +1,5 @@
{%- set NODE_ROUTE_TYPE = salt['pillar.get']('elasticsearch:node_route_type', 'hot') %}
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip') %}
{%- set FEATURES = salt['pillar.get']('elastic:features', False) %}
{%- set TRUECLUSTER = salt['pillar.get']('elasticsearch:true_cluster', False) %}
{%- if TRUECLUSTER is sameas true %}
{%- set ESCLUSTERNAME = salt['pillar.get']('elasticsearch:true_cluster_name') %}
@@ -10,12 +9,6 @@
{%- set NODE_ROLES = salt['pillar.get']('elasticsearch:node_roles', ['data', 'ingest']) %}
cluster.name: "{{ ESCLUSTERNAME }}"
network.host: 0.0.0.0
# minimum_master_nodes need to be explicitly set when bound on a public IP
# set to 1 to allow single node clusters
# Details: https://github.com/elastic/elasticsearch/pull/17288
#discovery.zen.minimum_master_nodes: 1
# This is a test -- if this is here, then the volume is mounted correctly.
path.logs: /var/log/elasticsearch
action.destructive_requires_name: true
transport.bind_host: 0.0.0.0
@@ -25,29 +18,27 @@ cluster.routing.allocation.disk.threshold_enabled: true
cluster.routing.allocation.disk.watermark.low: 95%
cluster.routing.allocation.disk.watermark.high: 98%
cluster.routing.allocation.disk.watermark.flood_stage: 98%
{%- if FEATURES is sameas true %}
xpack.ml.enabled: false
#xpack.security.enabled: false
#xpack.security.transport.ssl.enabled: true
#xpack.security.transport.ssl.verification_mode: none
#xpack.security.transport.ssl.key: /usr/share/elasticsearch/config/elasticsearch.key
#xpack.security.transport.ssl.certificate: /usr/share/elasticsearch/config/elasticsearch.crt
#xpack.security.transport.ssl.certificate_authorities: [ "/usr/share/elasticsearch/config/ca.crt" ]
#{%- if grains['role'] in ['so-node','so-heavynode'] %}
#xpack.security.http.ssl.enabled: true
#xpack.security.http.ssl.client_authentication: none
#xpack.security.http.ssl.key: /usr/share/elasticsearch/config/elasticsearch.key
#xpack.security.http.ssl.certificate: /usr/share/elasticsearch/config/elasticsearch.crt
#xpack.security.http.ssl.certificate_authorities: /usr/share/elasticsearch/config/ca.crt
#{%- endif %}
#xpack.security.authc:
# anonymous:
# username: anonymous_user
# roles: superuser
# authz_exception: true
{%- endif %}
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: none
xpack.security.transport.ssl.key: /usr/share/elasticsearch/config/elasticsearch.key
xpack.security.transport.ssl.certificate: /usr/share/elasticsearch/config/elasticsearch.crt
xpack.security.transport.ssl.certificate_authorities: [ "/usr/share/elasticsearch/config/ca.crt" ]
xpack.security.http.ssl.enabled: true
xpack.security.http.ssl.client_authentication: none
xpack.security.http.ssl.key: /usr/share/elasticsearch/config/elasticsearch.key
xpack.security.http.ssl.certificate: /usr/share/elasticsearch/config/elasticsearch.crt
xpack.security.http.ssl.certificate_authorities: /usr/share/elasticsearch/config/ca.crt
{% if not salt['pillar.get']('elasticsearch:auth:enabled', False) %}
xpack.security.authc:
anonymous:
username: anonymous_user
roles: superuser
authz_exception: true
{% endif %}
node.name: {{ grains.host }}
script.max_compilations_rate: 1000/1m
script.max_compilations_rate: 20000/1m
{%- if TRUECLUSTER is sameas true %}
{%- if grains.role == 'so-manager' %}
{%- if salt['pillar.get']('nodestab', {}) %}
@@ -58,6 +49,16 @@ discovery.seed_hosts:
- {{ SN.split('_')|first }}
{%- endfor %}
{%- endif %}
{%- elif grains.role == 'so-managersearch' %}
{%- if salt['pillar.get']('nodestab', {}) %}
node.roles: [ master, data, remote_cluster_client ]
discovery.seed_hosts:
- {{ grains.master }}
{%- for SN, SNDATA in salt['pillar.get']('nodestab', {}).items() %}
- {{ SN.split('_')|first }}
{%- endfor %}
{%- endif %}
node.attr.box_type: {{ NODE_ROUTE_TYPE }}
{%- else %}
node.roles: {{ NODE_ROLES }}
node.attr.box_type: {{ NODE_ROUTE_TYPE }}

View File

@@ -32,8 +32,6 @@
{ "rename": { "field": "category", "target_field": "event.category", "ignore_failure": true, "ignore_missing": true } },
{ "rename": { "field": "message2.community_id", "target_field": "network.community_id", "ignore_failure": true, "ignore_missing": true } },
{ "lowercase": { "field": "event.dataset", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "destination.port", "type": "integer", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "source.port", "type": "integer", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "log.id.uid", "type": "string", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "agent.id", "type": "string", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "event.severity", "type": "integer", "ignore_failure": true, "ignore_missing": true } },

View File

@@ -51,7 +51,7 @@
},
{ "set": { "field": "_index", "value": "so-firewall", "override": true } },
{ "set": { "if": "ctx.network?.transport_id == '0'", "field": "network.transport", "value": "icmp", "override": true } },
{"community_id": { "if": "ctx.network?.transport != null", "field":["source.ip","source.port","destination.ip","destination.port","network.transport"],"target_field":"network.community_id"}},
{"community_id": {} },
{ "set": { "field": "module", "value": "pfsense", "override": true } },
{ "set": { "field": "dataset", "value": "firewall", "override": true } },
{ "remove": { "field": ["real_message", "ip_sub_msg", "firewall.sub_message"], "ignore_failure": true } }

View File

@@ -0,0 +1,70 @@
{
"description" : "http.status",
"processors" : [
{ "set": { "if": "ctx.http.status_code == 100", "field": "http.status_message", "value": "Continue" } },
{ "set": { "if": "ctx.http.status_code == 101", "field": "http.status_message", "value": "Switching Protocols" } },
{ "set": { "if": "ctx.http.status_code == 102", "field": "http.status_message", "value": "Processing" } },
{ "set": { "if": "ctx.http.status_code == 103", "field": "http.status_message", "value": "Early Hints" } },
{ "set": { "if": "ctx.http.status_code == 200", "field": "http.status_message", "value": "OK" } },
{ "set": { "if": "ctx.http.status_code == 201", "field": "http.status_message", "value": "Created" } },
{ "set": { "if": "ctx.http.status_code == 202", "field": "http.status_message", "value": "Accepted" } },
{ "set": { "if": "ctx.http.status_code == 203", "field": "http.status_message", "value": "Non-Authoritative Information" } },
{ "set": { "if": "ctx.http.status_code == 204", "field": "http.status_message", "value": "No Content" } },
{ "set": { "if": "ctx.http.status_code == 205", "field": "http.status_message", "value": "Reset Content" } },
{ "set": { "if": "ctx.http.status_code == 206", "field": "http.status_message", "value": "Partial Content" } },
{ "set": { "if": "ctx.http.status_code == 207", "field": "http.status_message", "value": "Multi-Status" } },
{ "set": { "if": "ctx.http.status_code == 208", "field": "http.status_message", "value": "Already Reported" } },
{ "set": { "if": "ctx.http.status_code == 226", "field": "http.status_message", "value": "IM Used" } },
{ "set": { "if": "ctx.http.status_code == 300", "field": "http.status_message", "value": "Multiple Choices" } },
{ "set": { "if": "ctx.http.status_code == 301", "field": "http.status_message", "value": "Moved Permanently" } },
{ "set": { "if": "ctx.http.status_code == 302", "field": "http.status_message", "value": "Found" } },
{ "set": { "if": "ctx.http.status_code == 303", "field": "http.status_message", "value": "See Other" } },
{ "set": { "if": "ctx.http.status_code == 304", "field": "http.status_message", "value": "Not Modified" } },
{ "set": { "if": "ctx.http.status_code == 305", "field": "http.status_message", "value": "Use Proxy" } },
{ "set": { "if": "ctx.http.status_code == 306", "field": "http.status_message", "value": "(Unused)" } },
{ "set": { "if": "ctx.http.status_code == 307", "field": "http.status_message", "value": "Temporary Redirect" } },
{ "set": { "if": "ctx.http.status_code == 308", "field": "http.status_message", "value": "Permanent Redirect" } },
{ "set": { "if": "ctx.http.status_code == 400", "field": "http.status_message", "value": "Bad Request" } },
{ "set": { "if": "ctx.http.status_code == 401", "field": "http.status_message", "value": "Unauthorized" } },
{ "set": { "if": "ctx.http.status_code == 402", "field": "http.status_message", "value": "Payment Required" } },
{ "set": { "if": "ctx.http.status_code == 403", "field": "http.status_message", "value": "Forbidden" } },
{ "set": { "if": "ctx.http.status_code == 404", "field": "http.status_message", "value": "Not Found" } },
{ "set": { "if": "ctx.http.status_code == 405", "field": "http.status_message", "value": "Method Not Allowed" } },
{ "set": { "if": "ctx.http.status_code == 406", "field": "http.status_message", "value": "Not Acceptable" } },
{ "set": { "if": "ctx.http.status_code == 407", "field": "http.status_message", "value": "Proxy Authentication Required" } },
{ "set": { "if": "ctx.http.status_code == 408", "field": "http.status_message", "value": "Request Timeout" } },
{ "set": { "if": "ctx.http.status_code == 409", "field": "http.status_message", "value": "Conflict" } },
{ "set": { "if": "ctx.http.status_code == 410", "field": "http.status_message", "value": "Gone" } },
{ "set": { "if": "ctx.http.status_code == 411", "field": "http.status_message", "value": "Length Required" } },
{ "set": { "if": "ctx.http.status_code == 412", "field": "http.status_message", "value": "Precondition Failed" } },
{ "set": { "if": "ctx.http.status_code == 413", "field": "http.status_message", "value": "Payload Too Large" } },
{ "set": { "if": "ctx.http.status_code == 414", "field": "http.status_message", "value": "URI Too Long" } },
{ "set": { "if": "ctx.http.status_code == 415", "field": "http.status_message", "value": "Unsupported Media Type" } },
{ "set": { "if": "ctx.http.status_code == 416", "field": "http.status_message", "value": "Range Not Satisfiable" } },
{ "set": { "if": "ctx.http.status_code == 417", "field": "http.status_message", "value": "Expectation Failed" } },
{ "set": { "if": "ctx.http.status_code == 421", "field": "http.status_message", "value": "Misdirected Request" } },
{ "set": { "if": "ctx.http.status_code == 422", "field": "http.status_message", "value": "Unprocessable Entity" } },
{ "set": { "if": "ctx.http.status_code == 423", "field": "http.status_message", "value": "Locked" } },
{ "set": { "if": "ctx.http.status_code == 424", "field": "http.status_message", "value": "Failed Dependency" } },
{ "set": { "if": "ctx.http.status_code == 425", "field": "http.status_message", "value": "Too Early" } },
{ "set": { "if": "ctx.http.status_code == 426", "field": "http.status_message", "value": "Upgrade Required" } },
{ "set": { "if": "ctx.http.status_code == 427", "field": "http.status_message", "value": "Unassigned" } },
{ "set": { "if": "ctx.http.status_code == 428", "field": "http.status_message", "value": "Precondition Required" } },
{ "set": { "if": "ctx.http.status_code == 429", "field": "http.status_message", "value": "Too Many Requests" } },
{ "set": { "if": "ctx.http.status_code == 430", "field": "http.status_message", "value": "Unassigned" } },
{ "set": { "if": "ctx.http.status_code == 431", "field": "http.status_message", "value": "Request Header Fields Too Large" } },
{ "set": { "if": "ctx.http.status_code == 451", "field": "http.status_message", "value": "Unavailable For Legal Reasons" } },
{ "set": { "if": "ctx.http.status_code == 500", "field": "http.status_message", "value": "Internal Server Error" } },
{ "set": { "if": "ctx.http.status_code == 501", "field": "http.status_message", "value": "Not Implemented" } },
{ "set": { "if": "ctx.http.status_code == 502", "field": "http.status_message", "value": "Bad Gateway" } },
{ "set": { "if": "ctx.http.status_code == 503", "field": "http.status_message", "value": "Service Unavailable" } },
{ "set": { "if": "ctx.http.status_code == 504", "field": "http.status_message", "value": "Gateway Timeout" } },
{ "set": { "if": "ctx.http.status_code == 505", "field": "http.status_message", "value": "HTTP Version Not Supported" } },
{ "set": { "if": "ctx.http.status_code == 506", "field": "http.status_message", "value": "Variant Also Negotiates" } },
{ "set": { "if": "ctx.http.status_code == 507", "field": "http.status_message", "value": "Insufficient Storage" } },
{ "set": { "if": "ctx.http.status_code == 508", "field": "http.status_message", "value": "Loop Detected" } },
{ "set": { "if": "ctx.http.status_code == 509", "field": "http.status_message", "value": "Unassigned" } },
{ "set": { "if": "ctx.http.status_code == 510", "field": "http.status_message", "value": "Not Extended" } },
{ "set": { "if": "ctx.http.status_code == 511", "field": "http.status_message", "value": "Network Authentication Required" } }
]
}

View File

@@ -0,0 +1,29 @@
{
"description": "logscan",
"processors": [
{ "set": { "field": "event.severity", "value": 2 } },
{ "json": { "field": "message", "add_to_root": true, "ignore_failure": true } },
{ "rename": { "field": "@timestamp", "target_field": "event.ingested", "ignore_missing": true } },
{ "date": { "field": "timestamp", "target_field": "event.created", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "date": { "field": "start_time", "target_field": "@timestamp", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "date": { "field": "start_time", "target_field": "event.start", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "date": { "field": "end_time", "target_field": "event.end", "formats": [ "ISO8601", "UNIX" ], "ignore_failure": true } },
{ "remove": { "field": "start_time", "ignore_missing": true } },
{ "remove": { "field": "end_time", "ignore_missing": true } },
{ "rename": { "field": "source_ip", "target_field": "source.ip", "ignore_missing": true } },
{ "rename": { "field": "top_source_ips", "target_field": "logscan.source.ips", "ignore_missing": true } },
{ "append": { "if": "ctx.source != null", "field": "logscan.source.ips", "value": "{{{source.ip}}}", "ignore_failure": true } },
{ "set": { "if": "ctx.model == 'k1'", "field": "rule.name", "value": "LOGSCAN K1 MODEL THRESHOLD" } },
{ "set": { "if": "ctx.model == 'k1'", "field": "rule.description", "value": "High number of logins from single IP in 1 minute window" } },
{ "set": { "if": "ctx.model == 'k5'", "field": "rule.name", "value": "LOGSCAN K5 MODEL THRESHOLD" } },
{ "set": { "if": "ctx.model == 'k5'", "field": "rule.description", "value": "High ratio of login failures from single IP in 5 minute window" } },
{ "set": { "if": "ctx.model == 'k60'", "field": "rule.name", "value": "LOGSCAN K60 MODEL THRESHOLD" } },
{ "set": { "if": "ctx.model == 'k60'", "field": "rule.description", "value": "Large number of login failures in 1 hour window" } },
{ "rename": { "field": "model", "target_field": "logscan.model" } },
{ "rename": { "field": "num_attempts", "target_field": "logscan.attempts.total.amount", "ignore_missing": true } },
{ "rename": { "field": "num_failed", "target_field": "logscan.attempts.failed.amount", "ignore_missing": true } },
{ "script": { "lang": "painless", "source": "ctx.logscan.attempts.succeeded.amount = ctx.logscan.attempts.total.amount - ctx.logscan.attempts.failed.amount" , "ignore_failure": true} },
{ "rename": { "field": "avg_failure_interval", "target_field": "logscan.attempts.failed.avg_interval", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,16 @@
{
"description" : "osquery live query",
"processors" : [
{
"script": {
"lang": "painless",
"source": "def dict = ['columns': new HashMap()]; for (entry in ctx['rows'].entrySet()) { dict['columns'][entry.getKey()] = entry.getValue(); } ctx['result'] = dict; "
}
},
{ "remove": { "field": [ "rows" ], "ignore_missing": true, "ignore_failure": true } },
{ "rename": { "field": "distributed_query_execution_id", "target_field": "result.query_id", "ignore_missing": true } },
{ "rename": { "field": "computer_name", "target_field": "host.hostname", "ignore_missing": true } },
{ "pipeline": { "name": "osquery.normalize" } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,14 @@
{
"description" : "osquery normalize",
"processors" : [
{ "rename": { "field": "result.columns.cmdline", "target_field": "process.command_line", "ignore_missing": true } },
{ "rename": { "field": "result.columns.cwd", "target_field": "process.working_directory", "ignore_missing": true } },
{ "rename": { "field": "result.columns.name", "target_field": "process.name", "ignore_missing": true } },
{ "rename": { "field": "result.columns.path", "target_field": "process.executable", "ignore_missing": true } },
{ "rename": { "field": "result.columns.pid", "target_field": "process.pid", "ignore_missing": true } },
{ "rename": { "field": "result.columns.parent", "target_field": "process.ppid", "ignore_missing": true } },
{ "rename": { "field": "result.columns.uid", "target_field": "user.id", "ignore_missing": true } },
{ "rename": { "field": "result.columns.username", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "result.columns.gid", "target_field": "group.id", "ignore_missing": true } }
]
}

View File

@@ -1,24 +1,20 @@
{
"description" : "osquery",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "gsub": { "field": "message2.columns.data", "pattern": "\\\\xC2\\\\xAE", "replacement": "", "ignore_missing": true } },
{ "rename": { "if": "ctx.message2.columns?.eventid != null", "field": "message2.columns", "target_field": "winlog", "ignore_missing": true } },
{ "json": { "field": "message", "target_field": "result", "ignore_failure": true } },
{ "gsub": { "field": "result.columns.data", "pattern": "\\\\xC2\\\\xAE", "replacement": "", "ignore_missing": true } },
{ "rename": { "if": "ctx.result.columns?.eventid != null", "field": "result.columns", "target_field": "winlog", "ignore_missing": true } },
{ "json": { "field": "winlog.data", "target_field": "unparsed", "ignore_failure": true} },
{ "set": { "if": "!(ctx.unparsed?.EventData instanceof Map)", "field": "error.eventdata_parsing", "value": true, "ignore_failure": true } },
{ "rename": { "if": "!(ctx.error?.eventdata_parsing == true)", "field": "unparsed.EventData", "target_field": "winlog.event_data", "ignore_missing": true, "ignore_failure": true } },
{ "rename": { "field": "winlog.source", "target_field": "winlog.channel", "ignore_missing": true } },
{ "rename": { "field": "winlog.eventid", "target_field": "winlog.event_id", "ignore_missing": true } },
{ "rename": { "field": "winlog.datetime", "target_field": "winlog.systemTime", "ignore_missing": true } },
{ "pipeline": { "if": "ctx.winlog?.channel == 'Microsoft-Windows-Sysmon/Operational'", "name": "sysmon" } },
{ "pipeline": { "if": "ctx.winlog?.channel != 'Microsoft-Windows-Sysmon/Operational'", "name":"win.eventlogs" } },
{
"script": {
"lang": "painless",
"source": "def dict = ['result': new HashMap()]; for (entry in ctx['message2'].entrySet()) { dict['result'][entry.getKey()] = entry.getValue(); } ctx['osquery'] = dict; "
}
},
{ "pipeline": { "if": "ctx.winlog?.channel != 'Microsoft-Windows-Sysmon/Operational' && ctx.containsKey('winlog')", "name":"win.eventlogs" } },
{ "set": { "field": "event.module", "value": "osquery", "override": false } },
{ "set": { "field": "event.dataset", "value": "{{osquery.result.name}}", "override": false} },
{ "set": { "field": "event.dataset", "value": "{{result.name}}", "override": false} },
{ "pipeline": { "if": "!(ctx.containsKey('winlog'))", "name": "osquery.normalize" } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -33,6 +33,7 @@
{ "rename": { "field": "data.win.eventdata.user", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "data.win.system", "target_field": "winlog", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata", "target_field": "winlog.event_data", "ignore_missing": true } },
{ "rename": { "field": "data", "target_field": "wazuh.data", "ignore_missing": true } },
{ "rename": { "field": "winlog.eventID", "target_field": "winlog.event_id", "ignore_missing": true } },
{ "rename": { "field": "predecoder.program_name", "target_field": "process.name", "ignore_missing": true } },
{ "rename": { "field": "decoder.name", "target_field": "event.dataset", "ignore_missing": true } },

View File

@@ -8,6 +8,7 @@
{ "rename": { "field": "scan.hash", "target_field": "hash", "ignore_missing": true } },
{ "rename": { "field": "scan.exiftool", "target_field": "exiftool", "ignore_missing": true } },
{ "grok": { "if": "ctx.request?.attributes?.filename != null", "field": "request.attributes.filename", "patterns": ["-%{WORD:log.id.fuid}-"], "ignore_failure": true } },
{ "gsub": { "if": "ctx.request?.attributes?.filename != null", "field": "request.attributes.filename", "pattern": "\/nsm\/strelka\/staging", "replacement": "\/nsm\/strelka\/processed" } },
{ "foreach":
{
"if": "ctx.exiftool?.keys !=null",

View File

@@ -1,13 +1,14 @@
{
"description" : "suricata.dhcp",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.assigned_ip", "target_field": "dhcp.assigned_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.client_mac", "target_field": "host.mac", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.dhcp_type", "target_field": "dhcp.message_types", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.assigned_ip", "target_field": "dhcp.assigned_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.type", "target_field": "dhcp.type", "ignore_missing": true } },
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.assigned_ip", "target_field": "dhcp.assigned_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.client_ip", "target_field": "client.address", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.client_mac", "target_field": "host.mac", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.dhcp_type", "target_field": "dhcp.message_types", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.hostname", "target_field": "host.hostname", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.type", "target_field": "dhcp.type", "ignore_missing": true } },
{ "rename": { "field": "message2.dhcp.id", "target_field": "dhcp.id", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]

View File

@@ -12,7 +12,7 @@
{ "rename": { "field": "message2.dns.qr", "target_field": "dns.qr", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.rd", "target_field": "dns.recursion.desired", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.ra", "target_field": "dns.recursion.available", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.rcode", "target_field": "dns.response.code", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.rcode", "target_field": "dns.response.code_name", "ignore_missing": true } },
{ "rename": { "field": "message2.grouped.A", "target_field": "dns.answers.data", "ignore_missing": true } },
{ "rename": { "field": "message2.grouped.CNAME", "target_field": "dns.answers.name", "ignore_missing": true } },
{ "pipeline": { "if": "ctx.dns.query?.name != null && ctx.dns.query.name.contains('.')", "name": "dns.tld" } },

View File

@@ -13,6 +13,7 @@
{ "rename": { "field": "message2.fileinfo.size", "target_field": "file.size", "ignore_missing": true } },
{ "rename": { "field": "message2.fileinfo.state", "target_field": "file.state", "ignore_missing": true } },
{ "rename": { "field": "message2.fileinfo.stored", "target_field": "file.saved", "ignore_missing": true } },
{ "rename": { "field": "message2.fileinfo.sha256", "target_field": "hash.sha256", "ignore_missing": true } },
{ "set": { "if": "ctx.network?.protocol != null", "field": "file.source", "value": "{{network.protocol}}" } },
{ "pipeline": { "name": "common" } }
]

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