Compare commits

..

2097 Commits

Author SHA1 Message Date
Mike Reeves
3bfc3b8943 Merge pull request #6301 from Security-Onion-Solutions/dev
2.3.90
2021-11-22 13:15:23 -05:00
Mike Reeves
4ad6d616ae Merge pull request #6313 from Security-Onion-Solutions/2390update
2390update
2021-11-22 09:04:16 -05:00
Mike Reeves
759c0b858a 2.3.90 2021-11-22 09:01:12 -05:00
Mike Reeves
c17a49a730 Merge pull request #6302 from Security-Onion-Solutions/fix/md5soup
Fix/md5soup
2021-11-19 16:45:02 -05:00
m0duspwnens
c0f183fb5e add comment 2021-11-19 16:37:27 -05:00
m0duspwnens
d602339c45 render and md5sum soup and so-common 2021-11-19 16:32:59 -05:00
Mike Reeves
0122e62920 Merge pull request #6300 from Security-Onion-Solutions/2390
2.3.90
2021-11-19 14:09:02 -05:00
Mike Reeves
1634105780 2.3.90 2021-11-19 14:07:03 -05:00
Josh Patterson
198a690ba1 Merge pull request #6298 from Security-Onion-Solutions/fix/soup-script-check
Check soup in /usr/sbin rather than the saltstack default dir
2021-11-19 11:24:48 -05:00
William Wernert
bebd62187d Check soup in /usr/sbin rather than the saltstack default dir 2021-11-19 11:23:32 -05:00
Mike Reeves
a91564605c Merge pull request #6297 from Security-Onion-Solutions/fix/soup-playbook-secrets
Fix indent on playbook_admin and playbook_automation secrets
2021-11-19 10:28:11 -05:00
William Wernert
23b91ee7e5 Fix indent on playbook_admin and playbook_automation secrets 2021-11-19 10:27:11 -05:00
Mike Reeves
d3f25f8d74 Merge pull request #6293 from Security-Onion-Solutions/fix/fleet-stats
Fix FleetDM - disable stats
2021-11-19 09:53:26 -05:00
Josh Brower
8bd4ba3acd Fix FleetDM - disable stats 2021-11-19 09:49:34 -05:00
Josh Patterson
e5927d0bf7 Merge pull request #6290 from Security-Onion-Solutions/fleet_startup_eval
run redis state before fleet state for eval highstate
2021-11-18 17:54:26 -05:00
m0duspwnens
9dd89f6be7 run redis state before fleet state for eval highstate 2021-11-18 17:41:56 -05:00
Mike Reeves
796eb59dc6 Merge pull request #6288 from Security-Onion-Solutions/syncesusers_so-kratos
wait for up to 5 minutes for kratos to respond before proceeding
2021-11-18 16:42:18 -05:00
m0duspwnens
55fed43469 wait for up to 5 minutes for kratos to respond before proceeding 2021-11-18 16:35:35 -05:00
William Wernert
af83019427 Merge pull request #6287 from Security-Onion-Solutions/feat/cidr-extra-validation
Check for more invalid cidr syntax
2021-11-18 15:21:58 -05:00
William Wernert
4149236cda Check for more invalid cidr syntax 2021-11-18 15:18:12 -05:00
Josh Patterson
825106d074 Merge pull request #6286 from Security-Onion-Solutions/fix/docker-upgrade
Prevent downgrade of docker, containerd, and docker-cli
2021-11-18 15:15:37 -05:00
William Wernert
1a3324868a Specify version of docker-ce-rootless-extras 2021-11-18 15:12:47 -05:00
William Wernert
bc87bb4770 Specify docker cli version as well 2021-11-18 14:51:26 -05:00
William Wernert
6aae48bdae Don't upgrade docker or containerd before versionlock is applied 2021-11-18 14:14:18 -05:00
Mike Reeves
a0425a48e6 Merge pull request #6282 from Security-Onion-Solutions/syncesusers_so-kratos
remove restart policy for kratos container
2021-11-18 11:43:16 -05:00
m0duspwnens
4b89bf7bbc remove restart policy for kratos container 2021-11-18 11:41:07 -05:00
Mike Reeves
5fc5afa9ea Merge pull request #6281 from Security-Onion-Solutions/syncesusers_so-kratos
install specific docker verison
2021-11-18 11:32:38 -05:00
m0duspwnens
ddec8e4da0 install specific docker verison 2021-11-18 11:29:22 -05:00
Jason Ertel
9c0e8cedba Merge pull request #6279 from Security-Onion-Solutions/syncesusers_so-kratos
restart kratos if failure
2021-11-18 10:49:12 -05:00
m0duspwnens
5054da0027 restart kratos if failure 2021-11-18 10:48:06 -05:00
Jason Ertel
96f1f0174b Merge pull request #6275 from Security-Onion-Solutions/syncesusers_so-kratos
break kratos state out from soc state
2021-11-18 09:13:10 -05:00
m0duspwnens
cd1f0c0440 break kratos state out from soc state 2021-11-18 09:10:00 -05:00
Mike Reeves
12546a8efa Merge pull request #6271 from Security-Onion-Solutions/fix/fleet-users
Fix soup - fleetdm SA user
2021-11-17 19:48:15 -05:00
Josh Brower
3f5956b56d Fix soup - fleetdm SA user 2021-11-17 19:47:16 -05:00
Mike Reeves
6e49ab0558 Merge pull request #6270 from Security-Onion-Solutions/fix/whiptail-text
Fix text cutoff
2021-11-17 19:18:46 -05:00
William Wernert
c52df32f05 Fix text cutoff 2021-11-17 19:08:10 -05:00
Josh Patterson
c0602f4222 Merge pull request #6269 from Security-Onion-Solutions/syncesusers_so-kratos
run elasticsearch.auth state and so-elastic-auth true before manager …
2021-11-17 18:41:18 -05:00
m0duspwnens
d4b412bcbe run elasticsearch.auth state and so-elastic-auth true before manager in setup for syncesusers in manager state 2021-11-17 18:38:13 -05:00
Josh Brower
66e2de0934 Merge pull request #6268 from Security-Onion-Solutions/fix/fleet-users
Fix soup - fleetdm SA user
2021-11-17 18:26:11 -05:00
Josh Brower
c93794a402 Fix soup - fleetdm SA user 2021-11-17 18:22:34 -05:00
Josh Patterson
98efc6f2ed Merge pull request #6267 from Security-Onion-Solutions/syncesusers_so-kratos
syncesusers require so-kratos
2021-11-17 18:20:53 -05:00
m0duspwnens
59ef734064 syncesusers require so-kratos 2021-11-17 18:16:06 -05:00
Josh Brower
922657afbc Merge pull request #6266 from Security-Onion-Solutions/fix/fleet-users
Unset pw reset for new Fleet users
2021-11-17 17:10:27 -05:00
Josh Brower
5f3601ac78 Unset pw reset for new Fleet users 2021-11-17 17:06:01 -05:00
Josh Brower
2fe4fa06a6 Merge pull request #6265 from Security-Onion-Solutions/fix/fleet-users
Fix FleetDM SA Creation for SOUP
2021-11-17 14:09:59 -05:00
Josh Brower
773c580e77 Fix FleetDM SA Creation for SOUP 2021-11-17 14:08:34 -05:00
Mike Reeves
aca684d55a Merge pull request #6264 from Security-Onion-Solutions/fix/fleet-users
Migrate FleetDM user mgt to fleetctl
2021-11-17 13:16:05 -05:00
Josh Brower
6f391dbe50 Migrate FleetDM user mgt to fleetctl 2021-11-17 13:13:25 -05:00
William Wernert
8d033264e7 Merge pull request #6262 from Security-Onion-Solutions/fix/new-cidr-test
Add new ipv4 address w/ cidr mask validator
2021-11-17 13:09:04 -05:00
William Wernert
262d2023b5 Add new ipv4 address w/ cidr mask validator 2021-11-17 12:41:25 -05:00
Josh Patterson
d143a309a1 Merge pull request #6261 from Security-Onion-Solutions/soup_soc_endgame
change how soc endgame added to manager pillar in soup
2021-11-17 11:12:17 -05:00
m0duspwnens
ac400f1c41 change how soc endgame added to manager pillar in soup 2021-11-17 11:07:12 -05:00
William Wernert
df495c0017 Merge pull request #6258 from Security-Onion-Solutions/fix/nm-conf
Run `check_network_manager_conf()` later in setup
2021-11-17 08:44:25 -05:00
William Wernert
8c454973ad Run check_network_manager_conf() later in setup
The directory was being overwritten when network-manager was installed later
2021-11-17 08:42:27 -05:00
Josh Patterson
a16e6aca22 Merge pull request #6257 from Security-Onion-Solutions/es_soup_ingest
escape raw and endraw
2021-11-17 07:56:01 -05:00
m0duspwnens
ce21ae11f5 escape raw and endraw 2021-11-17 07:53:15 -05:00
Mike Reeves
fdd9706669 Merge pull request #6255 from Security-Onion-Solutions/kilo 2021-11-16 18:09:40 -05:00
Jason Ertel
8fa9a180b2 Refactor upgrade and post-upgrade version to function mappings; fix missing version upgrades from older 2.3.61 releases and earlier; Drop support for upgrading ancient RC releases 2021-11-16 18:08:28 -05:00
Josh Patterson
6288365a50 Merge pull request #6254 from Security-Onion-Solutions/es_soup_ingest
wrap common ingest in raw endraw since json and no jinja
2021-11-16 16:47:53 -05:00
m0duspwnens
5448107310 wrap common ingest in raw endraw since json and no jinja 2021-11-16 16:43:33 -05:00
Mike Reeves
adaf3faf90 Merge pull request #6253 from Security-Onion-Solutions/kilo 2021-11-16 16:13:31 -05:00
Jason Ertel
1bd8e226b4 Force DB migration since installations on 2.3.50 or earlier will skip the Kratos 0.6 version 2021-11-16 15:58:04 -05:00
Josh Patterson
f60f0b5b6d Merge pull request #6246 from Security-Onion-Solutions/es_soup_ingest
soup for es ingest common and watch esingestdynamicconf for so-elastic docker
2021-11-16 14:05:15 -05:00
William Wernert
adc867846c Merge pull request #6245 from Security-Onion-Solutions/fix/ubuntu-nic-unmanaged
Modify network-manager conf earlier in setup
2021-11-16 14:00:58 -05:00
m0duspwnens
5945326817 soup for es ingest common and watch esingestdynamicconf for so-elastic docker 2021-11-16 14:00:41 -05:00
William Wernert
90cbb5d00e Modify network-manager conf earlier in setup 2021-11-16 13:30:09 -05:00
Josh Brower
8bb2789c6f Merge pull request #6237 from Security-Onion-Solutions/kilo
Migrate to email field instead of username due to breaking change in …
2021-11-16 12:06:08 -05:00
Jason Ertel
11fc0da971 Migrate to email field instead of username due to breaking change in FleetDM 4.x 2021-11-16 12:03:46 -05:00
William Wernert
76a1d767f2 Merge pull request #6235 from Security-Onion-Solutions/feature/preflight-retry
Retry failed URLs in so-preflight + improve logging clarity
2021-11-16 11:11:02 -05:00
William Wernert
a2152446ea Pad count string to align text 2021-11-16 11:08:13 -05:00
William Wernert
d4d9032bfc Remove confusing punctuation 2021-11-16 10:56:49 -05:00
William Wernert
4e3f43bee4 Fix variable name 2021-11-16 10:53:22 -05:00
William Wernert
57377e0a0e Add retry support + more precise logging to so-preflight 2021-11-16 10:46:48 -05:00
Mike Reeves
2514d36ccd Merge pull request #6232 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update init.sls
2021-11-15 17:11:08 -05:00
Mike Reeves
809dbc0a48 Merge pull request #6233 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update soup
2021-11-15 17:10:52 -05:00
Mike Reeves
b51405d5e8 Update soup 2021-11-15 17:04:46 -05:00
Mike Reeves
d1cfc4a8dc Merge pull request #6231 from Security-Onion-Solutions/fix/whiptail-cutoff
Fix whiptail description text
2021-11-15 17:02:00 -05:00
Mike Reeves
731bbabe4c Update init.sls 2021-11-15 17:00:34 -05:00
William Wernert
d4509ff4d8 Fix whiptail description text 2021-11-15 16:29:26 -05:00
Mike Reeves
85c0b0818b Merge pull request #6230 from Security-Onion-Solutions/fix/cidr-full-validation-bash
Check CIDR validity completely
2021-11-15 15:43:58 -05:00
William Wernert
f674555290 Check CIDR validity completely 2021-11-15 15:43:05 -05:00
Josh Patterson
a8aae544d5 Merge pull request #6229 from Security-Onion-Solutions/kibana_json_logging
change kibana logging to json
2021-11-15 14:27:04 -05:00
m0duspwnens
6f9db25ea7 change kibana logging to json 2021-11-15 14:23:47 -05:00
Mike Reeves
405e78858a Merge pull request #6228 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update soup
2021-11-15 14:07:23 -05:00
Mike Reeves
146e1f4297 Update soup 2021-11-15 14:05:29 -05:00
Mike Reeves
f78e0fb7b9 Merge pull request #6227 from Security-Onion-Solutions/fix/fleetlogging
Fix env var for logging
2021-11-15 14:00:31 -05:00
Josh Brower
6e6d2d1949 Fix env var for logging 2021-11-15 13:52:35 -05:00
Josh Patterson
ca5d20fecb Merge pull request #6225 from Security-Onion-Solutions/clean_meta_data
clean metadata with cmd.run instead of pkg module due to False return…
2021-11-15 11:03:41 -05:00
m0duspwnens
dcfaece8b1 clean metadata with cmd.run instead of pkg module due to False return from module 2021-11-15 11:00:31 -05:00
Mike Reeves
af0e062193 Merge pull request #6221 from Security-Onion-Solutions/fix/var-reference
Fix variable reference in so-functions
2021-11-15 09:49:07 -05:00
Mike Reeves
56acedfbf7 Merge pull request #6220 from Security-Onion-Solutions/fix/revert-python-validation
Fix/revert python validation
2021-11-15 09:44:31 -05:00
William Wernert
4b0a5c3a17 Un-revert validation test script 2021-11-15 09:43:43 -05:00
William Wernert
052192e1d6 Revert "Use python lib to make cidr validation more strict"
This reverts commit 569cb24861.
2021-11-15 09:43:18 -05:00
weslambert
92131d4bb7 Merge pull request #6215 from Security-Onion-Solutions/fix/eg_spelling
Fix spelling
2021-11-12 21:13:28 -05:00
weslambert
9ac1cb0e76 Fix spelling 2021-11-12 21:12:09 -05:00
Josh Patterson
ffbb04bb5a Merge pull request #6213 from Security-Onion-Solutions/issue/5809
Issue/5809
2021-11-12 15:07:54 -05:00
m0duspwnens
cc1dea446c Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into issue/5809 2021-11-12 15:02:22 -05:00
m0duspwnens
7f3379e034 verify manager pillars can be rendered before proceeding with soup - https://github.com/Security-Onion-Solutions/securityonion/issues/5809 2021-11-12 15:02:16 -05:00
weslambert
8c46a2d1db Merge pull request #6210 from Security-Onion-Solutions/fix/soc_pillar_soup
Add SOC pillar entry
2021-11-12 13:35:46 -05:00
William Wernert
ba621639bd Merge pull request #6201 from Security-Onion-Solutions/fix/cidr-ip-validation
Improve cidr validation in setup and match ip validation to similar method
2021-11-12 13:34:19 -05:00
Wes Lambert
2fb9196604 Move logic above version declaration 2021-11-12 18:26:21 +00:00
Wes Lambert
48c71c8b12 Add soc pillar entry 2021-11-12 18:23:09 +00:00
weslambert
8d185ced61 Merge pull request #6209 from Security-Onion-Solutions/fix/endgame_setup
Adjust manager pillar config for Endgame and defaults
2021-11-12 12:27:55 -05:00
William Wernert
9141c271f0 Fix indent 2021-11-12 12:25:32 -05:00
weslambert
bc2e470da9 Fix indentation 2021-11-12 12:20:00 -05:00
weslambert
0f817cd735 Merge pull request #6208 from Security-Onion-Solutions/fix/endgame_pivot
Make Endgame pivot independent
2021-11-12 12:17:24 -05:00
weslambert
df5901a65d Adjust how manager pillar is populated for ENDGAME and default SOC config 2021-11-12 12:16:26 -05:00
weslambert
3cd1b5687e Make pivot condition independent for ENDGAMEHOST 2021-11-12 12:06:39 -05:00
Josh Patterson
86a42addf0 Merge pull request #6207 from Security-Onion-Solutions/so_elastic_auth_password_reset
https://github.com/Security-Onion-Solutions/securityonion/issues/6206
2021-11-12 11:43:31 -05:00
m0duspwnens
6bf4d5a576 https://github.com/Security-Onion-Solutions/securityonion/issues/6206 2021-11-12 11:37:55 -05:00
William Wernert
efa5eb9f7f Merge pull request #6184 from Security-Onion-Solutions/foxtrot
Whiptail changes
2021-11-11 13:57:07 -05:00
Josh Patterson
22959f0260 Merge pull request #6195 from Security-Onion-Solutions/issue/6146
Issue/6146
2021-11-11 11:47:33 -05:00
m0duspwnens
8da2133cff give kibana.secrets pillar to import node 2021-11-11 11:31:07 -05:00
William Wernert
1472af4fc3 Merge branch 'dev' into foxtrot 2021-11-11 09:03:05 -05:00
Josh Brower
f91a6d3cb6 Merge pull request #6194 from Security-Onion-Solutions/fix/fleetstandalone
Add Fleet Standalone Node to manager ssl
2021-11-11 08:52:29 -05:00
Josh Brower
96f427d924 Add so-fleet to cert requirements 2021-11-11 08:45:22 -05:00
Josh Brower
184356618c Add Fleet Standalone Node to manager ssl 2021-11-11 08:28:22 -05:00
William Wernert
ed3b2e4569 Put entire ref to doc page on new line 2021-11-10 17:46:35 -05:00
William Wernert
62b41af069 Fix docs link being cut off 2021-11-10 17:17:19 -05:00
William Wernert
569cb24861 Use python lib to make cidr validation more strict
Also update ipv4 validation to match the method used to validate cidr strings
2021-11-10 16:53:01 -05:00
William Wernert
ac22df8381 Merge branch 'dev' into foxtrot 2021-11-10 16:51:31 -05:00
Mike Reeves
446d6bd532 Merge pull request #6189 from Security-Onion-Solutions/soup2390
Soup2390
2021-11-10 16:49:46 -05:00
Mike Reeves
fcf889be2f Add soup to 2.3.90 2021-11-10 16:46:24 -05:00
Mike Reeves
8168f19b31 Add soup to 2.3.90 2021-11-10 16:37:54 -05:00
Mike Reeves
ba553d971c Add soup to 2.3.90 2021-11-10 16:31:44 -05:00
Mike Reeves
9137454a25 Add soup placeholders 2021-11-10 16:08:07 -05:00
m0duspwnens
7ebd861e32 enable secureCookies, security.encryptionKey and reporting.encryptionKey - https://github.com/Security-Onion-Solutions/securityonion/issues/6146 2021-11-10 16:05:40 -05:00
William Wernert
d110b63050 Merge pull request #6187 from Security-Onion-Solutions/fix/so-rule-modify-example
Fix `so-rule modify` example
2021-11-10 14:31:28 -05:00
William Wernert
3806f10f8b Fix so-rule modify example 2021-11-10 14:18:32 -05:00
Jason Ertel
83bd314a63 Merge pull request #6186 from Security-Onion-Solutions/kilo
Upgrade to ES 7.15.2
2021-11-10 14:06:08 -05:00
Jason Ertel
6cd7b252df Upgrade to ES 7.15.2 2021-11-10 13:59:55 -05:00
Jason Ertel
dea03bbf5e Upgrade to ES 7.15.2 2021-11-10 13:44:20 -05:00
Josh Brower
9edc543262 Merge pull request #6183 from Security-Onion-Solutions/delta
Upgrade FleetDM to 4.5
2021-11-10 11:35:12 -05:00
Josh Brower
d3dc5ffc5a Fix salt syntax 2021-11-10 11:28:48 -05:00
William Wernert
2c296e832f Remove references to CURCLOSEDAYS in setup
Curator is configured differently now so the variable set during setup is no longer in use
2021-11-10 11:25:51 -05:00
Josh Brower
b350174df1 Merge remote-tracking branch 'remotes/origin/dev' into delta 2021-11-10 11:08:36 -05:00
Josh Brower
67ebfeab16 Disable FleetDM usage stats 2021-11-10 10:49:56 -05:00
Josh Brower
435f430747 Fix enroll secret parsing 2021-11-10 10:24:53 -05:00
Josh Patterson
aa9e1701f0 Merge pull request #6180 from Security-Onion-Solutions/issue/5794
timeout wazuh-register-agent faster
2021-11-10 09:58:05 -05:00
m0duspwnens
02d9b87f66 https://github.com/Security-Onion-Solutions/securityonion/issues/5794 2021-11-10 09:54:51 -05:00
Josh Patterson
cfd46c1e58 Merge pull request #6176 from Security-Onion-Solutions/bravo
Grafana improvements, pillarize kibana
2021-11-10 09:18:47 -05:00
m0duspwnens
392305e4ed add engame changes that were missing from merge somehow 2021-11-10 09:01:42 -05:00
m0duspwnens
5ff14ab652 Merge remote-tracking branch 'origin/issue/6007' into bravo 2021-11-09 18:31:56 -05:00
m0duspwnens
1890c7244a set elasticsearch:auth to persist through user pw change 2021-11-09 18:25:17 -05:00
m0duspwnens
a8c4ed7bbf set elasticsearch:auth:enabled True in auth pillar 2021-11-09 18:05:05 -05:00
m0duspwnens
91f54537d7 handle elasticsearch.auth state like kibana.secrets 2021-11-09 17:52:38 -05:00
m0duspwnens
7e3a4656aa change xpack update 2021-11-09 17:33:09 -05:00
m0duspwnens
8a04fcd919 change how key is added 2021-11-09 17:07:20 -05:00
m0duspwnens
409ab623a5 ensure kibana pillar dir exists 2021-11-09 16:49:45 -05:00
m0duspwnens
ac85d1598e dont show changes 2021-11-09 16:44:54 -05:00
m0duspwnens
4c8e68e014 Merge remote-tracking branch 'remotes/origin/dev' into issue/3933 2021-11-09 16:42:47 -05:00
m0duspwnens
57c6e26634 encrypt kibana saved objects - https://github.com/Security-Onion-Solutions/securityonion/issues/6146 2021-11-09 16:41:25 -05:00
m0duspwnens
b6a1d7418e fix typo, dont show changes for kibana.yaml or dashboard so 2021-11-09 16:14:48 -05:00
weslambert
6eb1a0b0ae Merge pull request #6169 from Security-Onion-Solutions/fix/ingest_dynamic_ref
Add dynamic conf to config change check
2021-11-09 16:11:38 -05:00
weslambert
9301b8f5b9 Add dynamic conf to config change check 2021-11-09 15:56:52 -05:00
m0duspwnens
202977a323 create so script to load saved object defaults 2021-11-09 15:54:15 -05:00
weslambert
9597373e4a Merge pull request #6167 from Security-Onion-Solutions/ecs_pipeline_common
Add config for dynamically formatted ingest pipelines
2021-11-09 15:41:43 -05:00
Wes Lambert
f80b70e008 Add config for dynamically formatted ingest pipelines 2021-11-09 20:07:53 +00:00
William Wernert
04d2b52306 Fix IP route whiptail error 2021-11-09 14:03:32 -05:00
m0duspwnens
af7830c2be remove reference to saved_objects in defaults 2021-11-09 13:52:47 -05:00
m0duspwnens
3c3cb47b88 merge with dev 2021-11-09 13:07:35 -05:00
m0duspwnens
da4e92a7a3 change config id 2021-11-09 12:13:28 -05:00
Mike Reeves
3afb0bd263 Merge pull request #6161 from Security-Onion-Solutions/sslchange
Enable Subject Alt Name for registry
2021-11-09 10:53:38 -05:00
Josh Brower
f6e6b20392 Add Name and OrgName to Fleet setup 2021-11-09 09:20:47 -05:00
William Wernert
3835a4401e Merge pull request #6157 from Security-Onion-Solutions/foxtrot
Fix preflight script on centos
2021-11-09 08:49:46 -05:00
William Wernert
4bae57d994 Fix preflight printing to log 2021-11-09 08:34:02 -05:00
William Wernert
ea7289d92e Fix preflight script on centos 2021-11-09 08:20:19 -05:00
m0duspwnens
48eaf190e9 Merge remote-tracking branch 'remotes/origin/dev' into issue/6007 2021-11-08 17:00:06 -05:00
m0duspwnens
497de0fede hide vars on pipeline overview 2021-11-08 16:54:39 -05:00
m0duspwnens
70e3bc7eb8 hide vars on pipeline overview 2021-11-08 16:52:15 -05:00
Mike Reeves
eefc9cfcb6 Enable Subject Alt Name for registry 2021-11-08 16:50:43 -05:00
m0duspwnens
42b8955883 panel cleanup 2021-11-08 16:33:57 -05:00
m0duspwnens
f6b753b805 panel cleanup 2021-11-08 16:26:41 -05:00
m0duspwnens
17fc03a553 pipleine overview tc changes 2021-11-08 16:15:42 -05:00
weslambert
8bf88043ac Merge pull request #6149 from Security-Onion-Solutions/add_test_pipeline
Add ECS testing pipeline
2021-11-08 15:43:03 -05:00
m0duspwnens
79640342f2 update redis queue query 2021-11-08 15:20:28 -05:00
Mike Reeves
3ad47742bd Merge pull request #6150 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update acng.conf
2021-11-08 15:18:35 -05:00
Mike Reeves
a8c02252dc Update acng.conf 2021-11-08 15:16:05 -05:00
m0duspwnens
fbef420155 update redis queue query 2021-11-08 15:15:53 -05:00
m0duspwnens
ccd84e441d add redis queue to pipeline overview 2021-11-08 15:09:46 -05:00
Wes Lambert
46d3eb452d Add ECS testing pipeline 2021-11-08 20:08:56 +00:00
Josh Brower
083d467aa9 Update to FleetDM 4.5 2021-11-08 15:05:58 -05:00
m0duspwnens
f026ac1b41 pipeline overview tc changes 2021-11-08 15:02:52 -05:00
m0duspwnens
9ea292b11e fix query 2021-11-08 13:48:33 -05:00
m0duspwnens
e2ee460fdd fix gridPos 2021-11-08 12:39:23 -05:00
m0duspwnens
5b70ff61d1 fix gridPos 2021-11-08 12:37:03 -05:00
m0duspwnens
3b2ca89852 use endif not fi 2021-11-08 12:20:07 -05:00
m0duspwnens
199c97684c fix nontc name in defaults 2021-11-08 12:10:23 -05:00
m0duspwnens
d67e34dac4 add pipeline overview for true cluster 2021-11-08 12:09:35 -05:00
William Wernert
49a573074e Merge pull request #6142 from Security-Onion-Solutions/foxtrot
Whiptail changes
2021-11-08 11:29:58 -05:00
William Wernert
6c16d6d222 Update invalid hostname message 2021-11-08 11:15:28 -05:00
William Wernert
acba82d194 Update dist install menus' top text 2021-11-08 11:04:51 -05:00
William Wernert
f66d915f5d Normal hostname check already checks for localhost 2021-11-08 10:38:30 -05:00
William Wernert
ee2dd75dfd Fix variable ref 2021-11-08 10:36:36 -05:00
William Wernert
50b7779d6e Make manager hostname error more specific 2021-11-08 10:35:28 -05:00
William Wernert
ad71485361 Fix whiptail height 2021-11-08 10:21:55 -05:00
William Wernert
8b2cccdf4a More whiptail formatting 2021-11-08 10:21:17 -05:00
William Wernert
dbe4a7de63 Fix new whiptail layouts 2021-11-08 10:19:38 -05:00
William Wernert
9c4bba9ac9 Fix variable reference 2021-11-08 10:08:23 -05:00
Doug Burks
b3fd7c548c Merge pull request #6135 from Security-Onion-Solutions/dougburks-patch-1
Improve clarity in CONTRIBUTING.md
2021-11-08 08:53:50 -05:00
Doug Burks
dcf6dfb676 Improve clarity 2021-11-08 06:38:16 -05:00
William Wernert
246d41c552 Add additional checks for manager hostname + ip
Check for current hostname, ip, and localhost (ip + string) when setting the manager ip and hostname
2021-11-05 15:56:08 -04:00
William Wernert
988932293f Whiptail changes
* Ask whether to join to or create new dist install
* Also add links to architecture on install type prompts
2021-11-05 15:54:17 -04:00
m0duspwnens
0b28e89f3c change how telegraf script determine if there is already and instance of the script already running 2021-11-04 23:22:13 -04:00
m0duspwnens
665732bd32 dont show points 2021-11-04 14:23:11 -04:00
m0duspwnens
b599b49630 enable beat input plugin for telegraf 2021-11-04 13:52:45 -04:00
m0duspwnens
edb3b602a9 pipeline overview dashboard changs 2021-11-04 10:59:01 -04:00
William Wernert
a4289b7ab9 Merge pull request #6107 from Security-Onion-Solutions/foxtrot
Manage docker gid and run preflight check during setup
2021-11-04 10:07:05 -04:00
Mike Reeves
9b0ce8b395 Merge pull request #6090 from Security-Onion-Solutions/commonupdate
Make common template honor replicas
2021-11-03 14:04:19 -04:00
m0duspwnens
05456b38d1 update panel 2021-11-03 13:54:05 -04:00
m0duspwnens
4fc58e7a5a update panel 2021-11-03 13:51:57 -04:00
Mike Reeves
dc07aba63d Update so-common-template.json.jinja 2021-11-03 13:50:31 -04:00
m0duspwnens
f1d66e2d51 change searchnode var 2021-11-03 13:40:09 -04:00
m0duspwnens
fab0dd2bad add repeating es ingest panel for nontc 2021-11-03 13:25:42 -04:00
Mike Reeves
747f14d60e Make common template honor replicas 2021-11-03 13:11:38 -04:00
William Wernert
fb35ff40b4 Just hide whiptail cancel message on test installs 2021-11-03 10:41:44 -04:00
m0duspwnens
2cb31a4c05 fix query 2021-11-03 09:27:02 -04:00
m0duspwnens
32f986c505 change panel 2021-11-03 09:23:21 -04:00
m0duspwnens
c8ee67f354 update panel for pipeline_overview 2021-11-03 09:12:32 -04:00
m0duspwnens
db80315c06 rename panel 2021-11-03 08:37:33 -04:00
m0duspwnens
8e3b08a831 start of pipeline dashboard 2021-11-03 08:33:20 -04:00
m0duspwnens
677f62ebd1 dont show changes for telegraf conf 2021-11-02 18:22:37 -04:00
William Wernert
d927e79154 Exit on failed preflight check during testing 2021-11-02 16:17:08 -04:00
William Wernert
8670aa6cd8 Run check-update in preflight instead of update 2021-11-02 14:29:58 -04:00
William Wernert
7c7c225a41 Fix tmp file check 2021-11-02 14:01:21 -04:00
m0duspwnens
54b034b537 fix spacing on es input 2021-11-02 13:43:59 -04:00
m0duspwnens
2232759fa4 rename file 2021-11-02 12:21:54 -04:00
m0duspwnens
f65eea6a03 rename file 2021-11-02 12:09:32 -04:00
William Wernert
e4a77acfe6 Move whiptail menus outside of progress func 2021-11-02 12:03:42 -04:00
William Wernert
9671dab2a3 Make so-preflight executable 2021-11-02 11:48:24 -04:00
William Wernert
e6adb46364 Run so-preflight during setup 2021-11-02 11:18:23 -04:00
m0duspwnens
7abb2e5935 monitor interface graph total 2021-11-02 11:07:29 -04:00
m0duspwnens
561f86eac8 change eps graphs to use logstash data and not consumptioneps script 2021-11-02 11:06:29 -04:00
William Wernert
9a9d1480de Manage docker group's gid to prevent gid overlap 2021-11-02 10:41:36 -04:00
Josh Brower
8b52f87a60 Merge pull request #6066 from Security-Onion-Solutions/fix/evtx-import-elastic-creds
Fix/evtx import elastic creds
2021-11-02 09:25:25 -04:00
Josh Brower
a6f399acf4 Fix evtx import logging 2021-11-02 09:19:32 -04:00
Josh Brower
3534256517 Add evtx import logging 2021-11-02 09:03:52 -04:00
m0duspwnens
b109d95d6f add max to zeek capture loss legend 2021-11-02 09:02:48 -04:00
Josh Brower
b756c0cd38 Pull ES Creds at Runtime 2021-11-02 08:57:11 -04:00
m0duspwnens
3517ea3f2a select last value for cpucount var 2021-11-02 08:41:57 -04:00
m0duspwnens
5d414c8bdd remove logstash row from manager 2021-11-02 08:36:13 -04:00
Josh Brower
2b56b53c15 Merge pull request #6064 from Security-Onion-Solutions/feature/support_non-wel_beats
Support non-WEL Beats
2021-11-02 08:29:48 -04:00
Josh Brower
2ba619144c Support non-WEL Beats 2021-11-02 08:23:29 -04:00
m0duspwnens
a9be0a0409 create and add mon traffic combined graph to sensor dash 2021-11-02 07:55:39 -04:00
m0duspwnens
bf116d210e mostly overview dash panel changes 2021-11-01 17:48:02 -04:00
William Wernert
f8b62b63f9 Merge pull request #6061 from Security-Onion-Solutions/foxtrot
Fix NIC string values for VLAN tagged interfaces
2021-11-01 16:43:52 -04:00
m0duspwnens
f4d9455872 revert to b63b50d98c 2021-11-01 16:10:13 -04:00
m0duspwnens
936c796b9d Revert "graph changes"
This reverts commit 8857fca797.
2021-11-01 15:19:50 -04:00
m0duspwnens
8ff122262c Revert "update many panels"
This reverts commit b63b50d98c.
2021-11-01 14:50:57 -04:00
m0duspwnens
c4a1fbd82a remove old json 2021-11-01 14:39:03 -04:00
m0duspwnens
8857fca797 graph changes 2021-11-01 14:36:41 -04:00
m0duspwnens
b63b50d98c update many panels 2021-11-01 14:06:01 -04:00
William Wernert
c17187708e Merge branch 'dev' into foxtrot 2021-11-01 12:46:43 -04:00
Mike Reeves
095e6bd48c Merge pull request #6044 from Burak-PLT/patch-1
Update auth.sls
2021-11-01 10:22:16 -04:00
m0duspwnens
c4b9244f9a add gridPos 2021-10-29 17:24:50 -04:00
m0duspwnens
2ba548fcfc grafana bug fixes and improvements - https://github.com/Security-Onion-Solutions/securityonion/issues/6007 2021-10-29 17:11:51 -04:00
William Wernert
f76a52b2ee Fix NIC string values for VLAN tagged interfaces 2021-10-29 13:34:23 -04:00
William Wernert
b555ad16da Merge pull request #6052 from Security-Onion-Solutions/foxtrot
Foxtrot
2021-10-29 10:52:51 -04:00
William Wernert
b1c67f696e Re-order logic to maintain backwards compatibility 2021-10-29 10:47:05 -04:00
William Wernert
d08149f728 Don't set INTERWEBS variable on automated minions 2021-10-29 10:11:47 -04:00
William Wernert
a5cba5ecf8 Merge branch 'dev' into foxtrot 2021-10-29 10:01:46 -04:00
Burak-PLT
f081938be5 Update auth.sls
Change default password lengths to 72 characters from 20.
2021-10-28 16:00:58 -04:00
William Wernert
c2b18efdbb Minions still need to be ISO installs to be airgap 2021-10-28 11:59:42 -04:00
William Wernert
6b480a5ba4 Change airgap check to something that doesn't require root 2021-10-28 11:51:50 -04:00
William Wernert
d6eeb0b735 Gen ssh key sooner 2021-10-28 10:04:03 -04:00
Josh Patterson
3000c57428 Merge pull request #6039 from Security-Onion-Solutions/issue/5759
Issue/5759
2021-10-28 09:24:44 -04:00
m0duspwnens
5c5b4004e9 Merge remote-tracking branch 'remotes/origin/dev' into issue/5759 2021-10-28 08:52:04 -04:00
Josh Patterson
05e0f92ec5 Merge pull request #6036 from Security-Onion-Solutions/issue/5955
include ssl state in telegraf state
2021-10-28 08:50:57 -04:00
m0duspwnens
0cea5e8f22 include ssl state in telegraf state 2021-10-28 08:46:27 -04:00
m0duspwnens
7eb42fa6bd change boolean 2021-10-28 08:43:03 -04:00
m0duspwnens
18ce9c7819 disable zeekpacketlosscron and telegraf checks if zeek is diabled via pillar 2021-10-28 07:46:02 -04:00
Mike Reeves
b3e5319806 Merge pull request #6028 from Security-Onion-Solutions/telecluster
Enable cluster stats
2021-10-27 16:37:42 -04:00
Mike Reeves
c8c8cf203f Enable cluster stats 2021-10-27 15:44:52 -04:00
Josh Patterson
19056b9177 Merge pull request #6027 from Security-Onion-Solutions/issue/5955
Issue/5955
2021-10-27 15:07:22 -04:00
William Wernert
75490a2536 Fix typo 2021-10-27 14:59:24 -04:00
William Wernert
eee612e73d Make folder/file states explicit
Rather than using /nsm/zeek (max_depth: 1) create explicit states for /nsm/zeek/spool and /nsm/zeek/spool/state.db that set correct ownership
2021-10-27 11:43:09 -04:00
William Wernert
9e9079f9cb Reorder airgap prompt and add additional logic
Setup should now only ask the user whether to setup as airgap on manager-type installs. For all distributed minions setup will now inherit the airgap boolean from the manager.
2021-10-27 11:03:00 -04:00
William Wernert
331801eec2 Merge branch 'dev' into foxtrot 2021-10-27 10:58:16 -04:00
William Wernert
a0216cea57 Merge pull request #6021 from Security-Onion-Solutions/fix/update-mysql-root-user
Update ip for root user in mysql when running so-ip-update
2021-10-27 10:55:11 -04:00
m0duspwnens
e7f43cff5e limit nodes that bind filebeat certs in so-logstash 2021-10-27 10:45:10 -04:00
William Wernert
90d473f2d6 Update ip for root user in mysql when running so-ip-update 2021-10-27 10:42:33 -04:00
m0duspwnens
bf403a8307 only manager nodes get cert, key and att&ck binds 2021-10-27 09:47:12 -04:00
m0duspwnens
58d62f29ea include ssl state in registry state 2021-10-26 11:55:47 -04:00
Mike Reeves
bcf03773c0 Merge pull request #6009 from Security-Onion-Solutions/stenoports
Remove port bindings for steno
2021-10-26 10:58:11 -04:00
m0duspwnens
c0dd9efd9b change so-thehive-es binds and requires 2021-10-26 10:50:16 -04:00
m0duspwnens
36ae07b78e change timeout from 60 to 120 2021-10-26 10:49:50 -04:00
Mike Reeves
d77328608e Remove port bindings for steno
Steno runs in host mode so port bindings are not required
2021-10-26 10:23:33 -04:00
m0duspwnens
682cbfd223 remove the mode 2021-10-26 09:23:24 -04:00
m0duspwnens
fa2edb2b59 make cortex_init and hive_init time out after 1 minutes vs 5 minutes 2021-10-26 08:39:30 -04:00
m0duspwnens
0c679b62b2 Merge remote-tracking branch 'remotes/origin/dev' into issue/5955 2021-10-25 16:29:41 -04:00
m0duspwnens
7e8d74e770 just use mode 2021-10-25 15:50:27 -04:00
m0duspwnens
9a78d13bee change perms on mysql 2021-10-25 15:37:23 -04:00
Jason Ertel
c469d12a49 Merge pull request #6002 from Security-Onion-Solutions/kilo
Update whiptail links to use latest docs
2021-10-25 15:08:31 -04:00
Jason Ertel
d5f42e0d7c Update whiptail links to use latest docs 2021-10-25 15:06:42 -04:00
weslambert
926551d398 Merge pull request #5998 from Security-Onion-Solutions/fix/hl_host_name
Rename HTTP client headers and host
2021-10-25 13:21:11 -04:00
weslambert
3be0d05eea Update field removal based on HTTP input changes 2021-10-25 13:16:30 -04:00
weslambert
7fa43a276a Rename default headers and host for HTTP input 2021-10-25 13:15:20 -04:00
William Wernert
2bfedbd581 Merge pull request #5996 from Security-Onion-Solutions/fix/escape-node-desc
Escape single quotes and allow for any character in node description
2021-10-25 10:53:36 -04:00
William Wernert
dca30146ab Merge branch 'dev' into foxtrot 2021-10-25 10:50:25 -04:00
William Wernert
6e34905b42 Escape single quotes and allow for any character in node description 2021-10-25 10:48:09 -04:00
m0duspwnens
ee7e714f43 change to file_mode 2021-10-22 16:55:23 -04:00
m0duspwnens
d7e5377a44 more requires 2021-10-22 16:46:45 -04:00
William Wernert
38b16a507b Update ip for root user in mysql when running so-ip-update 2021-10-22 15:29:32 -04:00
William Wernert
17af513692 Escape single quotes and allow for any character in node description 2021-10-22 15:28:37 -04:00
m0duspwnens
283f7296bc fix require 2021-10-22 14:45:22 -04:00
m0duspwnens
9f6407fcb0 fix dupe ids 2021-10-22 14:26:04 -04:00
m0duspwnens
f61400680d fix dupe ids 2021-10-22 14:22:15 -04:00
m0duspwnens
fed8bfac67 more requires on docker containers 2021-10-22 14:10:59 -04:00
William Wernert
62971d8c15 Add Fleet custom hostname to end summary 2021-10-22 11:57:47 -04:00
William Wernert
352e30f9e1 Add CUSTOM_FLEET_HOSTNAME to subjectAltName of fleet.key
Resolves #4319
2021-10-22 11:16:29 -04:00
m0duspwnens
451b19dc4d change from file to x509 2021-10-22 09:53:20 -04:00
William Wernert
d5d970672d Merge pull request #5974 from Security-Onion-Solutions/foxtrot
Add so-deny script + rewrite so-allow to match
2021-10-21 16:37:05 -04:00
m0duspwnens
f93c6146f5 docker binds requires 2021-10-21 15:24:55 -04:00
weslambert
40dd33affe Merge pull request #5971 from Security-Onion-Solutions/feature/es_templates
Add .keyword subfield for conflict fields
2021-10-21 15:07:00 -04:00
William Wernert
f374dcbb58 Check for IP environment variable in so-allow and so-deny 2021-10-21 13:54:06 -04:00
weslambert
77ee1db44c Add .keyword subfield for conflict fields 2021-10-21 12:56:03 -04:00
Josh Patterson
8784d65023 Merge pull request #5967 from Security-Onion-Solutions/issue/5954
require files before starting soc or kratos
2021-10-21 11:15:36 -04:00
William Wernert
15fe7512b7 Install lxml during setup and in common state 2021-10-21 10:49:41 -04:00
William Wernert
0beeeb94bf Actually add new so-allow script 2021-10-21 10:48:17 -04:00
m0duspwnens
928aed27c5 require files before starting soc or kratos 2021-10-20 17:04:02 -04:00
William Wernert
387d4d6ad5 Add so-deny script + rewrite so-allow to match so-deny 2021-10-20 16:44:57 -04:00
William Wernert
adf6cb4b3c Merge branch 'dev' into foxtrot 2021-10-20 16:44:50 -04:00
William Wernert
0ed2ce0766 Fix validation.sh tests 2021-10-20 16:44:09 -04:00
William Wernert
b5cb47e066 Fix sbin perms 2021-10-20 16:43:55 -04:00
Josh Patterson
8061508330 Merge pull request #5961 from Security-Onion-Solutions/issue/5960
Issue/5960
2021-10-20 16:08:50 -04:00
m0duspwnens
adffb11800 fix redis port 2021-10-20 15:39:21 -04:00
m0duspwnens
8619af59cc servers to list format 2021-10-20 15:02:33 -04:00
m0duspwnens
7ecfb55b70 fix pillar call 2021-10-20 14:50:50 -04:00
m0duspwnens
b496810b63 add redis and logstash input plugins to telegraf 2021-10-20 14:46:47 -04:00
Mike Reeves
e1ad02c28d Merge pull request #5949 from Security-Onion-Solutions/kilo
Fix Docker-created corruption of SOC user roles file
2021-10-19 18:37:37 -04:00
Jason Ertel
2f8bb5a2a6 Fix Docker-created corruption of SOC user roles file 2021-10-19 16:04:10 -04:00
weslambert
6f3e441bf7 Merge pull request #5945 from Security-Onion-Solutions/fix/soc_index_pattern
Remove space to allow pattern(s) to be correctly interpreted
2021-10-19 13:05:40 -04:00
Mike Reeves
7f1585dcc0 Merge pull request #5942 from Security-Onion-Solutions/tunesteno
Fix Steno Math for PL
2021-10-19 13:03:50 -04:00
weslambert
9453ed7fa1 Remove space to allow pattern(s) to be correctly interpreted 2021-10-19 13:01:40 -04:00
Mike Reeves
64f25961b0 Fix Steno Math for PL 2021-10-19 11:15:58 -04:00
Mike Reeves
b9a3d3a6a9 Fix Steno Math for PL 2021-10-19 11:14:02 -04:00
m0duspwnens
36cb0d6c42 remove space 2021-10-18 14:34:33 -04:00
m0duspwnens
1b2268dfe5 load kibana configs during setup 2021-10-18 14:30:47 -04:00
Mike Reeves
00e5b54dda Merge pull request #5911 from Security-Onion-Solutions/tunesteno
Add Steno Tuning Options
2021-10-18 09:01:14 -04:00
Mike Reeves
4016b416ec Merge pull request #5923 from Security-Onion-Solutions/kilo
Upgrade to ES 7.15.1
2021-10-16 09:15:06 -04:00
weslambert
7590728a0b Merge pull request #5915 from Security-Onion-Solutions/feature/ti_module
Add TI module
2021-10-15 17:17:33 -04:00
weslambert
bb36fc1ed8 Add TI module defaults 2021-10-15 17:16:38 -04:00
weslambert
d0a6dafc8b Add TI module 2021-10-15 17:09:59 -04:00
m0duspwnens
76097476d3 remove includes 2021-10-15 16:57:38 -04:00
m0duspwnens
8b3b0bf160 fix opts 2021-10-15 16:51:11 -04:00
m0duspwnens
f19680b3e6 fix opts 2021-10-15 16:50:03 -04:00
m0duspwnens
7e1bbe3cc2 define MAANGER 2021-10-15 16:14:14 -04:00
m0duspwnens
947285e932 update cmd.run amd s_o files 2021-10-15 16:06:25 -04:00
m0duspwnens
1741f5068a update config-load to do an update or import 2021-10-15 15:35:30 -04:00
Mike Reeves
a9f6c84d7c Add Steno Tuning Options 2021-10-15 14:17:54 -04:00
weslambert
59852841ff Add keyword subfield for event.module 2021-10-15 13:29:50 -04:00
weslambert
6f1f7d2a63 Merge pull request #5905 from Security-Onion-Solutions/feature/soc_es_index_pattern
Allow setting ES index patterns for SOC in pillar
2021-10-15 13:28:04 -04:00
Jason Ertel
8de8d58155 Upgrade to ES 7.15.1 2021-10-15 13:27:08 -04:00
Wes Lambert
8feeff97b5 Add EG index pattern during setup (if enabled) 2021-10-15 16:19:19 +00:00
Wes Lambert
032373187c Allow setting ES index patterns for SOC in pillar 2021-10-15 16:02:53 +00:00
William Wernert
db2b70f655 Merge pull request #5900 from Security-Onion-Solutions/foxtrot
Replace rather than append to Kibana misc log
2021-10-15 10:27:25 -04:00
Jason Ertel
1800ec4570 Upgrade to Elastalert 2 v2.2.2 2021-10-15 09:25:44 -04:00
Mike Reeves
8a5960c220 Merge pull request #5896 from Security-Onion-Solutions/kilo 2021-10-14 18:05:33 -04:00
Jason Ertel
9797a15218 Fix issue with 'so-user delete' resetting all user roles - note that this function is not technically supported or published since it's not intended for production use 2021-10-14 17:23:18 -04:00
William Wernert
c7b15a9b1f Replace rather than append to Kibana misc log 2021-10-14 15:13:55 -04:00
William Wernert
cba97802fe Fix indent 2021-10-14 15:13:34 -04:00
William Wernert
025256aeaf Merge pull request #5890 from Security-Onion-Solutions/foxtrot
Misc setup changes
2021-10-14 14:55:24 -04:00
weslambert
490f7eaf81 Merge pull request #5886 from Security-Onion-Solutions/feature/eg_pivot
Add EG pivot
2021-10-14 14:49:38 -04:00
m0duspwnens
6a2bf11a75 change format of file 2021-10-14 13:43:39 -04:00
m0duspwnens
78d30285b1 seperate securitySolutions load 2021-10-14 13:24:51 -04:00
Wes Lambert
f1fafa015e Add EG to list of groups to include 127.0.0.1 2021-10-14 16:27:28 +00:00
Wes Lambert
6cdc214582 Add pillar in setup and change name of EG variable 2021-10-14 15:33:37 +00:00
Wes Lambert
15049f44b9 Add EG pivot 2021-10-14 15:15:23 +00:00
Doug Burks
42a642b85c Merge pull request #5873 from petiepooo/enh-rediscount-tty
featreq: remove tty flag in redis-count script
2021-10-14 10:07:07 -04:00
weslambert
3b45e68ead Merge pull request #5885 from Security-Onion-Solutions/feature/jinjafy_soc_actions
Allow SOC actions to use Jinja
2021-10-14 10:03:12 -04:00
Wes Lambert
5ee0ea3fe7 Allow SOC actions to use Jinja 2021-10-14 13:59:55 +00:00
weslambert
55c60f485c Merge pull request #5884 from Security-Onion-Solutions/feature/hl_eg
Add EG firewall allowance via setup
2021-10-14 09:55:07 -04:00
Wes Lambert
78e88e0765 Add EG firewall allowance via setup 2021-10-13 21:42:54 +00:00
Wes Lambert
a9b250c0f4 Add EG firewall config 2021-10-13 21:37:59 +00:00
m0duspwnens
ae9753326a fix var, quote vars 2021-10-13 16:38:01 -04:00
m0duspwnens
c8fb504ee0 Revert "Merge remote-tracking branch 'remotes/origin/dev' into issue/3933"
This reverts commit 54eec92621, reversing
changes made to 7832e59629.
2021-10-13 15:22:46 -04:00
m0duspwnens
54eec92621 Merge remote-tracking branch 'remotes/origin/dev' into issue/3933 2021-10-13 15:19:33 -04:00
m0duspwnens
7832e59629 only load default kibana saved_objects during setup 2021-10-13 15:19:20 -04:00
weslambert
f9001654bb Merge pull request #5871 from Security-Onion-Solutions/feature/hl_eg
Initial EG stuff
2021-10-13 15:07:03 -04:00
Wes Lambert
2a504a061b Add Curator action files for EG indices 2021-10-13 18:40:34 +00:00
m0duspwnens
bb9c6446e4 Merge remote-tracking branch 'remotes/origin/dev' into issue/3933 2021-10-13 14:01:36 -04:00
Pete
e7581036f7 remove tty/interactive flags
This call to docker exec simply returns a number.  No interaction (stdin) or tty is required.  Specifically, having the -t option prevents running via salt using a command such as:

> salt '*' cmd.run 'so-redis-count'
2021-10-13 13:51:05 -04:00
Wes Lambert
e1629d7ec4 Initial EG stuff 2021-10-13 17:13:07 +00:00
Josh Patterson
b4873bd296 Merge pull request #5868 from Security-Onion-Solutions/issue/5818
Issue/5818
2021-10-13 12:52:48 -04:00
m0duspwnens
3044edb104 update comment 2021-10-13 12:38:58 -04:00
m0duspwnens
a495779552 only 3 attempts with 120s max attemps 2021-10-13 12:34:56 -04:00
m0duspwnens
880c1b97b0 remove $ from var 2021-10-13 12:25:11 -04:00
m0duspwnens
7a4fa8879c change count, attempts and timeout 2021-10-13 12:13:24 -04:00
m0duspwnens
adb8292814 add missing ) 2021-10-13 10:37:18 -04:00
m0duspwnens
6e7a5fa326 add timeouts to check_salt_minion_status and check_salt_master_status - https://github.com/Security-Onion-Solutions/securityonion/issues/5818 2021-10-13 09:45:15 -04:00
m0duspwnens
23ea53248d single line format 2021-10-12 14:15:37 -04:00
m0duspwnens
f1a5991699 add securitySolution.defaultIndex to defaults 2021-10-12 12:35:13 -04:00
m0duspwnens
c69ad091f7 update saved_objects config 2021-10-12 12:02:30 -04:00
William Wernert
b97361fab9 Remove references to xenial in setup
Resolves #4292
2021-10-12 10:23:39 -04:00
William Wernert
36e1795295 Add end of setup log messages per #5032 2021-10-12 10:19:47 -04:00
m0duspwnens
498e385484 change name to SAVED_OBJECTS 2021-10-12 10:15:39 -04:00
William Wernert
af687b0706 Remove all holds on Ubuntu reinstall 2021-10-12 10:10:34 -04:00
m0duspwnens
19489f3626 Merge remote-tracking branch 'remotes/origin/dev' into issue/3933 2021-10-12 10:07:40 -04:00
m0duspwnens
89d1df8a1d change name to SAVED_OBJECTS 2021-10-12 10:07:26 -04:00
William Wernert
946cf81a27 If ANALYST is selected immediately quit setup 2021-10-12 09:48:38 -04:00
Mike Reeves
2561480371 Merge pull request #5850 from Security-Onion-Solutions/kilo
Upgrade to Kratos 0.7.6-alpha.1
2021-10-12 08:19:25 -04:00
Jason Ertel
d21dee162d Add Note field to user traits; Enforce max length restrictions on email, firstname, lastname, and note fields 2021-10-08 12:39:17 -04:00
Mike Reeves
444d067112 Merge pull request #5813 from Security-Onion-Solutions/macleod
Highlander changes
2021-10-08 10:06:18 -04:00
Mike Reeves
2a82373051 highlander fixes 2021-10-08 09:32:13 -04:00
Mike Reeves
64758a534c Set ml to true 2021-10-08 08:42:26 -04:00
m0duspwnens
7517a63008 disabled ml 2021-10-07 13:06:52 -04:00
m0duspwnens
b2facdf31c add securitySolutions advanced setting 2021-10-07 12:57:28 -04:00
m0duspwnens
4c54d6309c change host to 0.0.0.0 2021-10-07 09:59:29 -04:00
Jason Ertel
62c3afc81d Migrate users from locked to inactive during soup 2021-10-06 15:45:35 -04:00
Jason Ertel
7d8c8144b0 Drop obsolete status trait 2021-10-06 12:52:41 -04:00
Jason Ertel
a2c4fce1ef Switch to use state attribute in identities for enabling/disabling users 2021-10-06 11:53:10 -04:00
m0duspwnens
599aba43d9 restart so-kibaba if config changes 2021-10-06 09:51:16 -04:00
m0duspwnens
fa4f92cdda change defaults 2021-10-05 17:35:44 -04:00
m0duspwnens
5d98c0d14c fix dict update 2021-10-05 15:57:57 -04:00
Mike Reeves
27614569e3 Fix set 2021-10-05 14:32:02 -04:00
m0duspwnens
ec357cca3c fix cars 2021-10-05 12:57:30 -04:00
m0duspwnens
26681ac98a var for dash saved objevs 2021-10-05 12:46:21 -04:00
m0duspwnens
748f0f2a1d Merge remote-tracking branch 'remotes/origin/dev' into issue/3933 2021-10-05 12:12:56 -04:00
Mike Reeves
869af548af Fix spaces for highlander 2021-10-05 11:06:13 -04:00
Mike Reeves
2fd344822d Add additional roles for highlander 2021-10-05 10:40:40 -04:00
Mike Reeves
a3e0fb127a Merge pull request #5069 from datlife/datlife/asn-annotation
Add ASN annotation for IP
2021-10-05 06:50:31 -04:00
Dat
9569e73bd0 Added ASN annotation for IP 2021-10-04 12:41:20 -07:00
m0duspwnens
96d783b158 merge with dev 2021-10-04 10:39:48 -04:00
m0duspwnens
e0c097c270 add dashboard theme defaults 2021-10-04 10:36:58 -04:00
Mike Reeves
e6fce4cf3e Merge pull request #5749 from Security-Onion-Solutions/kilo
Use safe_load to avoid warnings - credit to @clairmont32
2021-10-04 08:55:53 -04:00
Jason Ertel
6ef9a5c95d Use safe_load to avoid warnings - credit to @clairmont32 2021-10-04 08:53:25 -04:00
Mike Reeves
727613b6e1 Merge pull request #5601 from Security-Onion-Solutions/special
Ubuntu 20.04 Beta
2021-10-04 08:51:01 -04:00
Mike Reeves
5013aa8490 Merge pull request #5748 from Security-Onion-Solutions/kilo
Merge ES Upgrade, Version Bump into dev
2021-10-04 08:48:07 -04:00
Jason Ertel
72a1b299ac Bump to 2.3.90 2021-10-04 08:44:51 -04:00
Mike Reeves
cfaa0e679c Merge pull request #5739 from Security-Onion-Solutions/dev
2.3.80
2021-10-01 15:15:54 -04:00
Mike Reeves
4ddf2b49ce Merge pull request #5669 from Security-Onion-Solutions/2.3.80
2.3.80
2021-10-01 15:11:03 -04:00
m0duspwnens
bb95963d73 add missing {{}} 2021-09-30 14:40:13 -04:00
m0duspwnens
dfa9afde0e change to mode 2021-09-30 14:33:52 -04:00
m0duspwnens
fa2333b9ef change t file.managed 2021-09-30 14:32:28 -04:00
m0duspwnens
8b9c43915d fix source 2021-09-30 14:30:00 -04:00
m0duspwnens
36832139b2 pillarize kibana 2021-09-30 14:28:31 -04:00
m0duspwnens
c3bf835566 kibana config 2021-09-30 14:23:49 -04:00
m0duspwnens
39d3c7c6ed begin pillarization of kibana 2021-09-30 11:48:42 -04:00
Jason Ertel
b1a5527e82 Update ElastAlert to use ElastAlert 2 2021-09-28 07:01:47 -04:00
Jason Ertel
d0592c4293 Update ElastAlert to use ElastAlert 2 2021-09-28 00:51:29 -04:00
Mike Reeves
b1d0e3e93f 2.3.80 2021-09-27 12:32:45 -04:00
Mike Reeves
b069377c8a 2.3.80 2021-09-27 10:13:42 -04:00
Jason Ertel
e9a44c6e1b Merge pull request #5662 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update README.md
2021-09-27 09:28:46 -04:00
Mike Reeves
275163f85d Update README.md 2021-09-27 07:36:54 -04:00
William Wernert
98f74c25ba Fix variable reference in so-functions 2021-09-24 12:32:56 -04:00
William Wernert
3064800820 Merge pull request #5636 from Security-Onion-Solutions/fix/soup-2.3.80
Misc. soup fixes
2021-09-23 13:03:43 -04:00
William Wernert
f8bea82430 Make redirect consistent with setup 2021-09-23 12:57:08 -04:00
William Wernert
8b905b585d Fix redirect to append 2021-09-23 12:55:06 -04:00
William Wernert
b44358fc26 Add set +e after final upgrade steps and before post-upgrade checks 2021-09-23 12:49:42 -04:00
William Wernert
8a9dcb7fdb Fix "upgrade to" message
Only specify "to" version and change when the upgrade message occurs
2021-09-23 12:47:22 -04:00
William Wernert
a01d49981c Redirect thehive/cortex migrate curl output to soup log 2021-09-23 12:45:44 -04:00
William Wernert
b8b1867e52 Tell user what soup is doing at end of upgrade 2021-09-23 12:43:23 -04:00
William Wernert
292ce37ce4 Merge pull request #5632 from Security-Onion-Solutions/fix/logscan-soup
Add logscan to images for pull during soup if it's enabled
2021-09-23 10:13:20 -04:00
William Wernert
73dacdcbff Add logscan to images for pull during soup if it's enabled 2021-09-23 09:52:23 -04:00
Josh Patterson
bea7555464 Merge pull request #5631 from Security-Onion-Solutions/80soup
80soup
2021-09-22 16:01:45 -04:00
m0duspwnens
52c1298b9b notify of custom es config 2021-09-22 15:16:07 -04:00
m0duspwnens
cdb9dcbaec notify of custom es config 2021-09-22 15:07:36 -04:00
Mike Reeves
37153288e8 Merge pull request #5627 from Security-Onion-Solutions/80soup
ignore manager pillar file for noderoutetype
2021-09-22 12:03:55 -04:00
m0duspwnens
edf75255cf ignore manager pillar file for noderoutetype 2021-09-22 12:01:32 -04:00
Jason Ertel
9eb6f5942e Merge pull request #5623 from Security-Onion-Solutions/kilo
Prevent email addresses from having uppercase characters
2021-09-22 09:10:38 -04:00
Jason Ertel
dae41d279a Prevent emails addresses from having uppercase characters 2021-09-22 08:25:55 -04:00
Mike Reeves
07288367cf Merge pull request #5611 from Security-Onion-Solutions/80soup
match elasticsearch at beginning of line
2021-09-21 15:42:09 -04:00
m0duspwnens
f4186feffa move node_route_type 2021-09-21 15:40:49 -04:00
m0duspwnens
d82e91f69e match elasticsearch at beginning of line 2021-09-21 13:54:45 -04:00
Josh Patterson
a2680fad0a Merge pull request #5605 from Security-Onion-Solutions/80soup
fi xquotes
2021-09-21 13:02:58 -04:00
m0duspwnens
5c2be487f5 fi xquotes 2021-09-21 13:01:40 -04:00
Mike Reeves
531c9de488 Merge pull request #5600 from petiepooo/petiepooo-raidstat-fix
missing dollarsign
2021-09-21 11:35:57 -04:00
Pete
19efa493ad missing dollarsign 2021-09-21 11:21:07 -04:00
Mike Reeves
0db3f14261 Merge pull request #5598 from Security-Onion-Solutions/80soup
Soup Changes for True Clusters
2021-09-21 09:57:12 -04:00
Mike Reeves
ed28e4d000 Soup Changes for True Clusters 2021-09-21 09:55:49 -04:00
Mike Reeves
2c8cbf0db1 Soup Changes for True Clusters 2021-09-21 09:53:09 -04:00
Mike Reeves
c1537335b1 Fix Python Problem 2021-09-20 19:05:01 -04:00
Mike Reeves
5f475ff9cb Fix Python Problem 2021-09-20 18:46:43 -04:00
Mike Reeves
481ffb1cda Fix Grain 2021-09-20 18:12:18 -04:00
Mike Reeves
50b78681f2 Ubuntu 20.04 Support 2021-09-20 17:24:47 -04:00
Jason Ertel
3924b8f5db Merge pull request #5586 from Security-Onion-Solutions/kilo
Ensure identity ID parm is quoted now that it doesn't have embedded quotes in the value
2021-09-20 13:56:30 -04:00
Jason Ertel
a9049eccd4 Ensure identity ID parm is quoted now that it doesn't have embedded quotes in the value 2021-09-20 13:30:05 -04:00
Mike Reeves
1a7237bcdf Merge pull request #5583 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update soup
2021-09-20 10:44:20 -04:00
Mike Reeves
1e5e1c9ef0 Update soup 2021-09-20 10:42:55 -04:00
Josh Patterson
47cd1ddc0a Merge pull request #5580 from Security-Onion-Solutions/issue/1257
Issue/1257 - Pillarize ES
2021-09-20 09:31:03 -04:00
m0duspwnens
aed73511e4 file cleanup, comment cleanup 2021-09-20 09:24:03 -04:00
Jason Ertel
a3f62c81c3 Merge pull request #5577 from Security-Onion-Solutions/kilo
Continuation of auth enhancements
2021-09-20 06:30:36 -04:00
Jason Ertel
730503b69c Ensure highstate migrates user roles 2021-09-18 23:17:49 -04:00
Jason Ertel
3508f3d8c1 Ensure ES user/role files are generated even if the primary admin user isn't yet created, since the system users are necessary for other installation functions 2021-09-18 19:20:43 -04:00
Jason Ertel
5704906b11 Create empty files for Docker to mount while installation continues 2021-09-18 15:49:05 -04:00
Jason Ertel
357c1db445 Recover from situation where roles file is corrupted 2021-09-18 11:08:35 -04:00
Jason Ertel
5377a1a85e Recover from situation where roles file is corrupted 2021-09-18 11:06:54 -04:00
Jason Ertel
7f2d7eb038 Continue migration of user emails to IDs 2021-09-18 07:20:34 -04:00
Jason Ertel
30e781d076 Use user ID instead of email as role master 2021-09-17 17:54:38 -04:00
m0duspwnens
01323cc192 fix clustername redirect 2021-09-17 15:44:54 -04:00
m0duspwnens
109c83d8c3 move custom es cluster name pillar location 2021-09-17 15:29:41 -04:00
m0duspwnens
e864bc5404 move custom es cluster name pillar location 2021-09-17 15:28:35 -04:00
Josh Brower
22eb82e950 Merge pull request #5566 from Security-Onion-Solutions/feature/disable_services
Add support for disabling Zeek and Suricata
2021-09-17 14:18:03 -04:00
m0duspwnens
b877aa44bc update dict 2021-09-17 14:10:45 -04:00
Josh Brower
4d307c53e8 Add support for disabling Zeek and Suricata 2021-09-17 13:01:50 -04:00
m0duspwnens
d0c87cd317 allow for pillar override of defaults 2021-09-17 12:11:12 -04:00
m0duspwnens
0d074dafd4 add missing defaults 2021-09-17 09:52:50 -04:00
m0duspwnens
5b77dc109f Merge remote-tracking branch 'remotes/origin/dev' into issue/1257 2021-09-16 16:54:23 -04:00
m0duspwnens
3ce48acadd change cluster_settings to config 2021-09-16 16:44:31 -04:00
Jason Ertel
fbd9bab2f1 Split apart roles and users into separate maps 2021-09-16 16:08:55 -04:00
m0duspwnens
5526a2bc3a reduce defaults.yaml 2021-09-16 15:32:08 -04:00
weslambert
18d81352c6 Merge pull request #5537 from Security-Onion-Solutions/delta
Add improved ignore functionality for YARA rules used by Strelka and add default ignored rules that break compilation
2021-09-16 10:38:49 -04:00
m0duspwnens
889d235c45 no box type more manager in true cluster 2021-09-16 09:15:24 -04:00
Jason Ertel
3fc26312e0 Remove x-user-id header from unauthenticated proxied requests 2021-09-16 08:52:31 -04:00
Jason Ertel
b81d38e392 Merge branch 'dev' into kilo 2021-09-16 07:44:35 -04:00
Jason Ertel
82da0041a4 Add limited roles with restricted visibility 2021-09-16 07:44:15 -04:00
m0duspwnens
782b01e76f seed_hosts to list 2021-09-15 17:07:52 -04:00
m0duspwnens
3bf9685df8 fix seed_hosts append 2021-09-15 17:00:16 -04:00
m0duspwnens
4cf91f6c86 fix dict update 2021-09-15 15:51:00 -04:00
m0duspwnens
a43b37f234 fix dict update 2021-09-15 15:49:18 -04:00
m0duspwnens
e0dc62b6e9 fix dict update 2021-09-15 15:43:47 -04:00
m0duspwnens
c213834316 update the dict 2021-09-15 15:24:40 -04:00
Josh Brower
c06668c68e Merge pull request #5527 from Security-Onion-Solutions/feature/so-import-evtx
Feature/so import evtx
2021-09-15 14:17:15 -04:00
Josh Brower
a75238bc3f so-import-evtx - fix ingest formatting 2021-09-15 14:13:16 -04:00
Josh Brower
ac417867ed so-import-evtx - final fixes 2021-09-15 14:06:08 -04:00
m0duspwnens
1614b70853 update cluster name if true cluster 2021-09-15 13:45:43 -04:00
Mike Reeves
0882158e03 Merge pull request #5525 from Security-Onion-Solutions/soup80
soup changes 2.3.80
2021-09-15 13:44:54 -04:00
m0duspwnens
1a03853a7c fix extend 2021-09-15 13:38:29 -04:00
Mike Reeves
aff571faf2 soup changes 2.3.80 2021-09-15 13:32:52 -04:00
m0duspwnens
e0faa4c75b Merge branch 'issue/1257' of https://github.com/Security-Onion-Solutions/securityonion into issue/1257 2021-09-15 13:09:35 -04:00
m0duspwnens
e3e2e1d851 logic for truecluster to map file 2021-09-15 13:09:04 -04:00
weslambert
2affaf07a2 Merge pull request #5521 from Security-Onion-Solutions/fix/strelka-yara
Fix/strelka yara
2021-09-15 11:33:44 -04:00
weslambert
39e5ded58d Refactor ignore list and only ignore for signature-base for now 2021-09-15 11:32:29 -04:00
weslambert
4d41d3aee1 Ignore these rules by default because they are causing issues with YARA compilation with Strelka 2021-09-15 10:29:11 -04:00
weslambert
5c8067728e Remove unnecessary logic 2021-09-15 10:22:17 -04:00
Josh Brower
1d905124d3 Merge pull request #5519 from Security-Onion-Solutions/fix/fleet-link
Fix Fleet Link Logic
2021-09-15 09:30:21 -04:00
Josh Brower
e0a289182f Fix Fleet Link Logic 2021-09-15 09:28:23 -04:00
m0duspwnens
551dba955c set roles empty list 2021-09-15 09:20:33 -04:00
Jason Ertel
9970e54081 Adjust custom_role examples to be more realistic 2021-09-14 14:03:22 -04:00
Jason Ertel
ff989b1c73 Include wording in so-user relating to optional role parameter 2021-09-14 14:03:00 -04:00
Mike Reeves
2ffb723bbd Rename so-common-template.json to so-common-template.json.jinja 2021-09-14 13:58:45 -04:00
Mike Reeves
6ae2fba71f Update search.sls 2021-09-14 13:57:26 -04:00
Mike Reeves
2cc25587d9 Update eval.sls 2021-09-14 13:57:04 -04:00
Mike Reeves
614a6dc9fe Update manager.sls 2021-09-14 13:56:43 -04:00
Josh Brower
4b7667d87f Merge pull request #5508 from Security-Onion-Solutions/fix/fleet-link
Fleet SA - SOC Link Fix
2021-09-14 13:29:20 -04:00
Josh Brower
74b0b365bd Fleet SA - SOC Link Fix 2021-09-14 13:23:07 -04:00
Josh Brower
0b0d508585 so-import-evtx - tweaks 2021-09-14 12:01:14 -04:00
m0duspwnens
0534a2dda3 Merge remote-tracking branch 'remotes/origin/dev' into issue/1257 2021-09-13 15:04:50 -04:00
m0duspwnens
f8ab0ac8a9 config changes 2021-09-13 15:04:39 -04:00
m0duspwnens
0ae09cc630 config changes 2021-09-13 09:49:56 -04:00
Mike Reeves
332c4dda22 Merge pull request #5469 from Security-Onion-Solutions/fix/idstools-rule-clear
Allow so-rule-update to accept any number of args
2021-09-10 14:41:55 -04:00
William Wernert
679faddd52 Update so-rule-update to pass all args to docker exec
Instead of passing $1, build a string from all args and add that to the command string for the docker exec statement
2021-09-10 13:44:37 -04:00
William Wernert
0b42b19763 Update so-rule-update to source so-common 2021-09-10 13:41:58 -04:00
William Wernert
943bd3e902 Merge pull request #5468 from Security-Onion-Solutions/fix/idstools-rule-clear
Add `--force` flag to idstools-rulecat under so-rule-update
2021-09-10 13:17:16 -04:00
Mike Reeves
4af6a901a1 Merge pull request #5461 from Security-Onion-Solutions/truclusterrator
Add new hunt fields
2021-09-10 13:17:01 -04:00
William Wernert
9c310de459 Add --force flag to idstools-rulecat under so-rule-update
This forces idstools to pull from the url each time, which prevents it from clearing all.rules if idstools-rulecat is run twice within 15 minutes by any method (either restarting the container or running so-rule-update)
2021-09-10 13:15:09 -04:00
Mike Reeves
4f6a3269cb Add more detail to syscollector 2021-09-10 09:59:47 -04:00
Doug Burks
6a2e1df7d4 Merge pull request #5460 from Security-Onion-Solutions/feature/welcome-link-docs
FEATURE: Add docs link to Setup #5459
2021-09-10 07:27:48 -04:00
doug
db50ef71b4 FEATURE: Add docs link to Setup #5459 2021-09-10 06:19:16 -04:00
Jason Ertel
4e2d5018a2 Merge pull request #5455 from Security-Onion-Solutions/kilo
Consolidate whiptail screens
2021-09-09 14:57:28 -04:00
Jason Ertel
94688a9adb Eliminate adv component popup 2021-09-09 14:29:09 -04:00
Jason Ertel
63f67b3500 Rephrase screen that warns about more RAM requirements 2021-09-09 14:16:05 -04:00
Mike Reeves
eaa5e41651 Merge pull request #5450 from Security-Onion-Solutions/TOoSmOotH-patch-1
Fix Raid Status for cloud
2021-09-09 11:09:49 -04:00
Mike Reeves
c83f119cc0 Update so-raid-status 2021-09-09 10:59:35 -04:00
Mike Reeves
5d235e932c Fix Raid Status for cloud 2021-09-09 10:46:28 -04:00
m0duspwnens
93f2cd75a4 add the jinja template 2021-09-09 10:19:46 -04:00
m0duspwnens
f06ab8b77d testing defaults.yaml 2021-09-09 08:55:36 -04:00
weslambert
03b45512fa Merge pull request #5436 from Security-Onion-Solutions/fix/kibana_server_url
Incude server.publicBaseUrl
2021-09-08 12:13:48 -04:00
weslambert
b8600be0f1 Incude server.publicBaseUrl 2021-09-08 12:12:09 -04:00
Jason Ertel
19a02baa7c Merge pull request #5425 from Security-Onion-Solutions/kilo
Auth enhancements
2021-09-07 13:10:36 -04:00
Jason Ertel
3c59579f99 Add maintenance privilege for analysts to refresh indices 2021-09-07 13:03:30 -04:00
Mike Reeves
3f989590ad Merge pull request #5402 from Security-Onion-Solutions/TOoSmOotH-patch-6
Enable index sorting by default but allow it to be disabled
2021-09-07 11:28:40 -04:00
Jason Ertel
72cff7ec7a Merge branch 'dev' into kilo 2021-09-07 10:49:08 -04:00
Mike Reeves
e3900606dc Enable index sorting by default but allow it to be disabled 2021-09-04 10:42:18 -04:00
Mike Reeves
a2fd8ae200 Merge pull request #5401 from rwaight/dev
Enable index sorting in `so-common-template.json`
2021-09-04 10:32:57 -04:00
Rob Waight
b7591093cf Add index sorting to so-common-template.json
Add index sorting to so-common-template.json
2021-09-04 09:45:03 -04:00
Rob Waight
51439cd1ab Merge pull request #1 from Security-Onion-Solutions/dev
sync with SO/Dev
2021-09-04 09:43:23 -04:00
Jason Ertel
94ea1f856b Add auditor role; update analyst role with correct syntax 2021-09-03 15:59:48 -04:00
Jason Ertel
fbbb7f4e85 Add auditor role; update analyst role with correct syntax 2021-09-03 15:54:05 -04:00
Mike Reeves
7b3a0cd1e4 Merge pull request #5394 from Security-Onion-Solutions/TOoSmOotH-patch-5
Add maxfiles to the steno config
2021-09-03 10:49:59 -04:00
Mike Reeves
9fb28709d5 Add maxfiles to the steno config 2021-09-03 10:47:00 -04:00
Jason Ertel
649f339934 Correct typo 2021-09-02 20:30:48 -04:00
Jason Ertel
f659079542 Consolidate password validation messaging 2021-09-02 19:12:32 -04:00
Jason Ertel
ce70380f0f resolve so-user errors from recent auth changes 2021-09-02 17:59:33 -04:00
Jason Ertel
c4d402d8b4 Ensure role file exists before ES state is run 2021-09-02 15:45:47 -04:00
Mike Reeves
9f5dafd560 More Event Fields 2021-09-02 13:48:18 -04:00
Mike Reeves
1cee603ee4 Squid event fields 2021-09-02 13:24:04 -04:00
William Wernert
a14854d56d Merge pull request #5383 from Security-Onion-Solutions/feature/soup-y
Add logic to check unattended flag when checking OS updates
2021-09-02 11:50:45 -04:00
Mike Reeves
2bf471054b Cloudtrail Event Fields 2021-09-02 11:46:18 -04:00
William Wernert
56894b9581 Add logic to check unattended flag when checking if updates are available 2021-09-02 11:15:32 -04:00
Jason Ertel
10126bb7ef Auth enhancements 2021-09-02 09:44:57 -04:00
Jason Ertel
6dfc943e8c Merge pull request #5382 from Security-Onion-Solutions/kilo
Correct invalid password message
2021-09-02 07:15:09 -04:00
Jason Ertel
84ecc3cba7 Merge branch 'dev' into kilo 2021-09-02 07:09:36 -04:00
Jason Ertel
0ad3d826eb Invalid password message should also mention that dollar signs are not allowed 2021-09-02 07:07:36 -04:00
William Wernert
d785dafe2f Merge pull request #5374 from Security-Onion-Solutions/feature/soup-y
Add unattended soup flag, and iso location argument for air gap
2021-09-01 16:48:55 -04:00
Mike Reeves
e3dffcc2cb Merge pull request #5373 from Security-Onion-Solutions/truclusterrator
Add eventfields for new default logs
2021-09-01 16:48:51 -04:00
Mike Reeves
556bad6925 Add eventfields for new default logs 2021-09-01 15:13:43 -04:00
William Wernert
446821e9fd Use exit code 0 when printing error message before exiting soup 2021-09-01 15:11:18 -04:00
William Wernert
576c893eb3 Exit on missing file argument 2021-09-01 15:08:53 -04:00
Mike Reeves
34a5d6e56a Merge pull request #5367 from Security-Onion-Solutions/truclusterrator
Allow closing of fb module indices in global
2021-09-01 10:54:02 -04:00
Mike Reeves
324e6b12e2 Add jinja template 2021-09-01 09:32:32 -04:00
Mike Reeves
007b15979a Non Cluster honor closed indices values 2021-09-01 09:25:14 -04:00
Mike Reeves
c168703e9f Merge pull request #5362 from Security-Onion-Solutions/truclusterrator
True Cluster Curator Overhaul
2021-08-31 17:17:47 -04:00
Mike Reeves
527a793e94 Only enable curator on Manager in true cluster 2021-08-31 16:59:41 -04:00
Mike Reeves
61ebedc0e9 Only enable curator on Manager in true cluster 2021-08-31 16:56:08 -04:00
Mike Reeves
e09aa4e5d4 Only enable curator on Manager in true cluster 2021-08-31 16:35:19 -04:00
Mike Reeves
e7b04b862f Only enable curator on Manager in true cluster 2021-08-31 16:21:48 -04:00
Mike Reeves
62edfd0b7f Only enable curator on Manager in true cluster 2021-08-31 16:20:42 -04:00
Mike Reeves
958575c22a Only enable curator on Manager in true cluster 2021-08-31 16:17:55 -04:00
Mike Reeves
0c8e11dc9f Only enable curator on Manager in true cluster 2021-08-31 16:13:05 -04:00
Mike Reeves
5b9ef3bc0d Only enable curator on Manager in true cluster 2021-08-31 15:55:44 -04:00
Mike Reeves
c12f380bc3 Only enable curator on Manager in true cluster 2021-08-31 15:51:34 -04:00
Mike Reeves
dc25ed2594 Add logic for cronjobs 2021-08-31 15:43:48 -04:00
Mike Reeves
9f51f02ab4 Add logic for cronjobs 2021-08-31 15:40:09 -04:00
Mike Reeves
f6f4375e13 Add logic for cronjobs 2021-08-31 15:34:26 -04:00
Mike Reeves
ed116cf850 Add Actions for warm indices 2021-08-31 15:09:26 -04:00
Mike Reeves
476ecccbc1 Add Actions for warm indices 2021-08-31 15:08:10 -04:00
Mike Reeves
c09cebbd6b Add Actions for close and delete in cluster mode 2021-08-31 13:42:11 -04:00
Mike Reeves
0ed92fd9bd Merge pull request #5359 from Security-Onion-Solutions/kilo
Merge 2.3.70 Wazuh hotfix into dev
2021-08-31 13:39:21 -04:00
Jason Ertel
c3454c9e8a Merge branch 'master' into kilo 2021-08-31 13:37:46 -04:00
Mike Reeves
3425a0fe78 Delete Curators for all modules 2021-08-31 11:12:21 -04:00
Mike Reeves
9605eda559 Close Curators for all modules 2021-08-31 10:49:39 -04:00
Mike Reeves
ff09d9ca58 Merge pull request #5355 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update VERIFY_ISO.md
2021-08-31 10:06:12 -04:00
Mike Reeves
77b82bf2c0 Update VERIFY_ISO.md 2021-08-31 10:01:32 -04:00
Mike Reeves
ccc8f9ff0a Merge pull request #5353 from Security-Onion-Solutions/hotfix/2.3.70 2021-08-31 09:57:05 -04:00
Mike Reeves
43d20226a8 Merge pull request #5352 from Security-Onion-Solutions/wazhf
2.3.70 WAZUH Hotfix sigs
2021-08-31 08:47:14 -04:00
Mike Reeves
4fe0a1d7b4 2.3.70 WAZUH Hotfix sigs 2021-08-31 08:39:37 -04:00
Mike Reeves
7a48a94624 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into truclusterrator 2021-08-31 08:22:55 -04:00
Mike Reeves
1aacc27cd4 Merge pull request #5340 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update HOTFIX
2021-08-30 17:48:53 -04:00
Mike Reeves
92858cd13a Update HOTFIX 2021-08-30 17:38:29 -04:00
Mike Reeves
99cb38362a Merge pull request #5339 from Security-Onion-Solutions/hotfix/wazuh-update-exclude
wazuh-agent fix + pull in master
2021-08-30 17:37:47 -04:00
William Wernert
bfd632e20a Add wazuh to exclude arg when running yum update 2021-08-30 14:21:13 -04:00
Mike Reeves
518f9fceb0 Merge pull request #5337 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update HOTFIX
2021-08-30 12:33:43 -04:00
Mike Reeves
2b34da0fee Update HOTFIX 2021-08-30 12:32:44 -04:00
William Wernert
72859adb13 Fix typo in so-checkin 2021-08-27 15:23:01 -04:00
Mike Reeves
a27263435a Add Templates for all filebeat modules 2021-08-27 14:41:04 -04:00
Mike Reeves
f8cdf5bca3 Add Templates for all filebeat modules 2021-08-27 14:39:02 -04:00
William Wernert
ca5339341f Fix batch size regex to disallow 0 2021-08-27 11:34:28 -04:00
William Wernert
c5d120293d Initial work to add unattended option to soup 2021-08-27 11:33:51 -04:00
Jason Ertel
12b5c0899b merge 2021-08-27 08:20:23 -04:00
Jason Ertel
09d5097837 Remove unused automation files 2021-08-25 21:08:49 -04:00
Jason Ertel
de5f823abf Add automation for deploy-vader env 2021-08-25 18:28:17 -04:00
Josh Brower
7b93f355e2 so-import-evtx - timestamp extraction 2021-08-25 15:17:19 -04:00
m0duspwnens
a27569f20b remove source when contents provided 2021-08-25 12:32:17 -04:00
m0duspwnens
fd1e632386 cleanup yaml 2021-08-25 12:08:43 -04:00
m0duspwnens
0681d29bb0 starting es pillarization 2021-08-25 10:23:06 -04:00
Josh Brower
ef650c6ee6 Merge pull request #5235 from Security-Onion-Solutions/feature/so-playbook-import
Initial version so-playbook-import
2021-08-24 10:40:07 -04:00
Mike Reeves
24f36bb4c9 Merge pull request #5284 from Security-Onion-Solutions/kilo
Merge 2.3.70 GRAFANA hotfix to dev
2021-08-24 10:27:09 -04:00
m0duspwnens
9783d13ea3 remove identifier from HOTFIX file 2021-08-24 10:22:01 -04:00
m0duspwnens
427ec98ce5 fix merge conflict in HOTFIX file 2021-08-24 10:20:42 -04:00
Josh Patterson
72ba29fb7b Merge pull request #5282 from Security-Onion-Solutions/hotfix/2.3.70
Hotfix/2.3.70
2021-08-24 10:15:33 -04:00
Josh Patterson
2859bff0e4 Merge pull request #5281 from Security-Onion-Solutions/grafana_fleet_hotfix
sig files and iso info
2021-08-24 10:01:10 -04:00
Mike Reeves
6e921415ea sig files and iso info 2021-08-24 10:00:06 -04:00
Mike Reeves
2f8b68e67a sig files and iso info 2021-08-24 09:58:28 -04:00
Mike Reeves
e762491039 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into truclusterrator 2021-08-24 09:50:41 -04:00
Mike Reeves
11381e304b Merge pull request #5273 from Security-Onion-Solutions/kilo
Switch to new Curator auth params
2021-08-24 08:29:47 -04:00
Jason Ertel
6d49bca0ac Switch to new auth params 2021-08-23 15:36:11 -04:00
Josh Patterson
8ea89932ae Merge pull request #5270 from Security-Onion-Solutions/grafana_fleet_hotfix
Grafana fleet hotfix
2021-08-23 13:10:35 -04:00
m0duspwnens
f87cf123b0 fix typo - https://github.com/Security-Onion-Solutions/securityonion/issues/5268 2021-08-23 13:08:11 -04:00
m0duspwnens
80f4d03254 place unique identifier on same line for hotfix - https://github.com/Security-Onion-Solutions/securityonion/issues/5268 2021-08-23 13:05:28 -04:00
m0duspwnens
a9cc68f89e add unique identifier for hotfix - https://github.com/Security-Onion-Solutions/securityonion/issues/5268 2021-08-23 13:02:49 -04:00
m0duspwnens
b053f29a89 only create dashboards for certain node types - https://github.com/Security-Onion-Solutions/securityonion/issues/5268 2021-08-23 12:58:52 -04:00
Mike Reeves
19cfce5e0b Add curator delete yml files 2021-08-23 10:47:41 -04:00
Mike Reeves
c4a32ca631 Merge pull request #5259 from Security-Onion-Solutions/kilo
Merge 2.3.70 CURATOR Hotfix to Dev
2021-08-23 09:37:50 -04:00
Jason Ertel
b78da5c237 Merge hotfix to dev; reset to .80 2021-08-23 09:36:20 -04:00
Mike Reeves
0abf7593ed Merge pull request #5233 from Security-Onion-Solutions/hotfix/2.3.70
Hotfix/2.3.70
2021-08-23 09:28:07 -04:00
Josh Brower
aa420b914b Initial version so-playbook-import 2021-08-20 16:27:09 -04:00
Mike Reeves
f096b513b7 Merge pull request #5232 from Security-Onion-Solutions/cfixhfix
Cfixhfix
2021-08-20 15:40:44 -04:00
Mike Reeves
51b517581a 2.3.70 sigs 2021-08-20 15:38:56 -04:00
Mike Reeves
936c998ecb CURATOR ISO info 2021-08-20 12:49:55 -04:00
Mike Reeves
02372d130a Merge pull request #5224 from Security-Onion-Solutions/curator_cron
remove the curator cronjobs if it is disabled
2021-08-20 10:44:55 -04:00
m0duspwnens
6f9a263af3 remove the curator cronjobs if it is disabled 2021-08-20 10:40:15 -04:00
Mike Reeves
43ffaab82c Merge pull request #5213 from Security-Onion-Solutions/hotfix/curator
stop curator and remove from so-status for manager
2021-08-19 15:45:17 -04:00
m0duspwnens
dccfdb14e4 stop curator and remove from so-status for manager 2021-08-19 15:40:17 -04:00
Josh Patterson
21f3b3d985 Merge pull request #5212 from Security-Onion-Solutions/hotfix/curator
just dont run curator on manager
2021-08-19 15:27:55 -04:00
m0duspwnens
e2d74b115f just dont run curator on manager 2021-08-19 15:26:22 -04:00
Mike Reeves
13741400f1 Merge pull request #5210 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2021-08-19 15:02:52 -04:00
Mike Reeves
d0f587858c Merge pull request #5211 from Security-Onion-Solutions/TOoSmOotH-patch-2
Curator
2021-08-19 15:02:28 -04:00
Mike Reeves
acca8cc5d2 Update HOTFIX 2021-08-19 15:01:21 -04:00
Mike Reeves
ef950955bd Update VERSION 2021-08-19 15:00:51 -04:00
Josh Patterson
9a8ccef828 Merge pull request #5209 from Security-Onion-Solutions/issue/5195
fix error in telegraf log
2021-08-19 13:27:08 -04:00
m0duspwnens
7b8e23fadd fix error in telegraf log - https://github.com/Security-Onion-Solutions/securityonion/issues/5195 2021-08-19 11:11:24 -04:00
Mike Reeves
18335afa7f Merge pull request #5204 from Security-Onion-Solutions/kilo
Update 2.3.80
2021-08-19 08:55:44 -04:00
Jason Ertel
41e8be87b6 Update 2.3.80 2021-08-19 08:42:29 -04:00
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
William Wernert
50fa0dc81a Allow user to enter a description during setup
Resolves #2404
2021-03-22 11:32:37 -04:00
Masaya-A
236373cda2 Merge pull request #2 from Security-Onion-Solutions/dev
Dev Sync
2021-03-14 20:27:50 +09:00
m0duspwnens
c4da576030 ensure the presence of the telegraf database 2021-03-11 12:20:32 -05:00
m0duspwnens
465253a769 Merge remote-tracking branch 'remotes/origin/dev' into issue/3264 2021-03-11 10:55:19 -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
m0duspwnens
75012cdcba create rps and cqs 2021-03-10 15:20:11 -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
m0duspwnens
7409f15752 update all grafana queries that were using autogen to use default 2021-03-05 13:59:29 -05:00
618 changed files with 36091 additions and 33234 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. Each commit should have 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.

0
HOTFIX Normal file
View File

View File

@@ -1,14 +1,14 @@
## Security Onion 2.3.40
## Security Onion 2.3.90
Security Onion 2.3.40 is here!
Security Onion 2.3.90 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.40 ISO image built on 2021/03/22
### 2.3.90 ISO image built on 2021/11/19
### Download and Verify
2.3.40 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.3.40.iso
2.3.90 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.3.90.iso
MD5: FB72C0675F262A714B287BB33CE82504
SHA1: E8F5A9AA23990DF794611F9A178D88414F5DA81C
SHA256: DB125D6E770F75C3FD35ABE3F8A8B21454B7A7618C2B446D11B6AC8574601070
MD5: F214ECE9F32A6F881D9A735DEAF90E46
SHA1: 0B04FAA0FEC704CF6AD2030AA7A4AE80D9379AFA
SHA256: BE0E1516D83D7782AEAE9D52449FED45A45D72981515672C761C2A17B7AA613C
Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.40.iso.sig
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.90.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.40.iso.sig
wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.90.iso.sig
```
Download the ISO image:
```
wget https://download.securityonion.net/file/securityonion/securityonion-2.3.40.iso
wget https://download.securityonion.net/file/securityonion/securityonion-2.3.90.iso
```
Verify the downloaded ISO image using the signature file:
```
gpg --verify securityonion-2.3.40.iso.sig securityonion-2.3.40.iso
gpg --verify securityonion-2.3.90.iso.sig securityonion-2.3.90.iso
```
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
```
gpg: Signature made Mon 22 Mar 2021 09:35:50 AM EDT using RSA key ID FE507013
gpg: Signature made Fri 19 Nov 2021 05:15:29 PM EST using RSA key ID FE507013
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.

View File

@@ -1 +1 @@
2.3.40
2.3.90

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

@@ -16,6 +16,10 @@ firewall:
ips:
delete:
insert:
endgame:
ips:
delete:
insert:
fleet:
ips:
delete:

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

@@ -1,7 +1,7 @@
elasticsearch:
templates:
- so/so-beats-template.json.jinja
- so/so-common-template.json
- so/so-common-template.json.jinja
- so/so-firewall-template.json.jinja
- so/so-flow-template.json.jinja
- so/so-ids-template.json.jinja

View File

@@ -1,7 +1,8 @@
elasticsearch:
templates:
- so/so-beats-template.json.jinja
- so/so-common-template.json
- so/so-common-template.json.jinja
- so/so-endgame-template.json.jinja
- so/so-firewall-template.json.jinja
- so/so-flow-template.json.jinja
- so/so-ids-template.json.jinja

View File

@@ -1,7 +1,8 @@
elasticsearch:
templates:
- so/so-beats-template.json.jinja
- so/so-common-template.json
- so/so-common-template.json.jinja
- so/so-endgame-template.json.jinja
- so/so-firewall-template.json.jinja
- so/so-flow-template.json.jinja
- so/so-ids-template.json.jinja

View File

@@ -1,6 +1,7 @@
logstash:
docker_options:
port_bindings:
- 0.0.0.0:3765:3765
- 0.0.0.0:5044:5044
- 0.0.0.0:5644:5644
- 0.0.0.0:6050:6050

View File

@@ -5,5 +5,6 @@ logstash:
config:
- so/0009_input_beats.conf
- so/0010_input_hhbeats.conf
- so/0011_input_endgame.conf
- so/9999_output_redis.conf.jinja

View File

@@ -7,8 +7,11 @@ logstash:
- so/9000_output_zeek.conf.jinja
- so/9002_output_import.conf.jinja
- so/9034_output_syslog.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
- so/9900_output_endgame.conf.jinja

View File

@@ -22,6 +22,12 @@ base:
'*_manager or *_managersearch':
- match: compound
- data.*
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/kibana/secrets.sls') %}
- kibana.secrets
{% endif %}
- secrets
- global
- minions.{{ grains.id }}
@@ -38,6 +44,12 @@ base:
- secrets
- healthcheck.eval
- elasticsearch.eval
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/kibana/secrets.sls') %}
- kibana.secrets
{% endif %}
- global
- minions.{{ grains.id }}
@@ -46,6 +58,12 @@ base:
- logstash.manager
- logstash.search
- elasticsearch.search
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/kibana/secrets.sls') %}
- kibana.secrets
{% endif %}
- data.*
- zeeklogs
- secrets
@@ -59,6 +77,7 @@ base:
'*_heavynode':
- zeeklogs
- elasticsearch.auth
- global
- minions.{{ grains.id }}
@@ -80,6 +99,7 @@ base:
- logstash
- logstash.search
- elasticsearch.search
- elasticsearch.auth
- global
- minions.{{ grains.id }}
- data.nodestab
@@ -88,5 +108,11 @@ base:
- zeeklogs
- secrets
- elasticsearch.eval
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth
{% endif %}
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/kibana/secrets.sls') %}
- kibana.secrets
{% endif %}
- global
- 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;

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

@@ -35,6 +35,7 @@
'influxdb',
'grafana',
'soc',
'kratos',
'firewall',
'idstools',
'suricata.manager',
@@ -45,7 +46,8 @@
'schedule',
'soctopus',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-heavynode': [
'ca',
@@ -99,6 +101,7 @@
'manager',
'nginx',
'soc',
'kratos',
'firewall',
'idstools',
'suricata.manager',
@@ -108,7 +111,8 @@
'zeek',
'schedule',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-manager': [
'salt.master',
@@ -121,13 +125,15 @@
'influxdb',
'grafana',
'soc',
'kratos',
'firewall',
'idstools',
'suricata.manager',
'utility',
'schedule',
'soctopus',
'docker_clean'
'docker_clean',
'learn'
],
'so-managersearch': [
'salt.master',
@@ -139,6 +145,7 @@
'influxdb',
'grafana',
'soc',
'kratos',
'firewall',
'manager',
'idstools',
@@ -146,7 +153,8 @@
'utility',
'schedule',
'soctopus',
'docker_clean'
'docker_clean',
'learn'
],
'so-node': [
'ca',
@@ -168,6 +176,7 @@
'influxdb',
'grafana',
'soc',
'kratos',
'firewall',
'idstools',
'suricata.manager',
@@ -178,7 +187,8 @@
'schedule',
'soctopus',
'tcpreplay',
'docker_clean'
'docker_clean',
'learn'
],
'so-sensor': [
'ca',
@@ -233,11 +243,16 @@
{% do allowed_states.append('elasticsearch') %}
{% endif %}
{% if KIBANA and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch', 'so-import'] %}
{% do allowed_states.append('kibana') %}
{% if ELASTICSEARCH and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch', 'so-import'] %}
{% do allowed_states.append('elasticsearch.auth') %}
{% endif %}
{% if CURATOR and grains.role in ['so-eval', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode'] %}
{% if KIBANA and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch', 'so-import'] %}
{% do allowed_states.append('kibana') %}
{% do allowed_states.append('kibana.secrets') %}
{% endif %}
{% if grains.role in ['so-eval', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode', 'so-manager'] %}
{% do allowed_states.append('curator') %}
{% endif %}

View File

@@ -24,8 +24,9 @@ pki_private_key:
- x509: /etc/pki/ca.crt
{%- endif %}
/etc/pki/ca.crt:
pki_public_ca_crt:
x509.certificate_managed:
- name: /etc/pki/ca.crt
- signing_private_key: /etc/pki/ca.key
- CN: {{ manager }}
- C: US
@@ -43,8 +44,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,12 +2,18 @@
{% 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:
file.absent:
- name: /tmp/variables.txt
dockergroup:
group.present:
- name: docker
- gid: 920
# Add socore Group
socoregroup:
group.present:
@@ -49,6 +55,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 +75,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' %}
@@ -98,20 +101,29 @@ commonpkgs:
- netcat
- python3-mysqldb
- sqlite3
- argon2
- libssl-dev
- python3-dateutil
- python3-m2crypto
- python3-mysqldb
- python3-packaging
- python3-lxml
- git
- vim
heldpackages:
pkg.installed:
- pkgs:
{% if grains['oscodename'] == '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
{% elif grains['oscodename'] == 'focal' %}
- containerd.io: 1.4.9-1
- docker-ce: 5:20.10.8~3-0~ubuntu-focal
- docker-ce-cli: 5:20.10.5~3-0~ubuntu-focal
- docker-ce-rootless-extras: 5:20.10.5~3-0~ubuntu-focal
{% endif %}
- hold: True
- update_holds: True
@@ -129,7 +141,6 @@ commonpkgs:
- net-tools
- curl
- sqlite
- argon2
- mariadb-devel
- nmap-ncat
- python3
@@ -138,11 +149,13 @@ commonpkgs:
- python36-m2crypto
- python36-mysql
- python36-packaging
- python36-lxml
- yum-utils
- device-mapper-persistent-data
- lvm2
- openssl
- git
- vim-enhanced
heldpackages:
pkg.installed:
@@ -169,6 +182,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:
@@ -178,6 +199,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
@@ -235,6 +260,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:
@@ -254,6 +303,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
@@ -271,9 +328,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:
@@ -282,6 +340,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

@@ -1,4 +1,4 @@
#!/bin/bash
#!/usr/bin/env python3
# Copyright 2014,2015,2016,2017,2018,2019,2020,2021 Security Onion Solutions, LLC
#
@@ -15,152 +15,199 @@
# 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
import ipaddress
import textwrap
import os
import subprocess
import sys
import argparse
import re
from lxml import etree as ET
from xml.dom import minidom
from datetime import datetime as dt
from datetime import timezone as tz
local_salt_dir=/opt/so/saltstack/local
SKIP=0
function usage {
cat << EOF
Usage: $0 [-abefhoprsw] [ -i IP ]
This program allows you to add a firewall rule to allow connections from a new IP address or CIDR range.
If you run this program with no arguments, it will present a menu for you to choose your options.
If you want to automate and skip the menu, you can pass the desired options as command line arguments.
EXAMPLES
To add 10.1.2.3 to the analyst role:
so-allow -a -i 10.1.2.3
To add 10.1.2.0/24 to the osquery role:
so-allow -o -i 10.1.2.0/24
EOF
LOCAL_SALT_DIR='/opt/so/saltstack/local'
WAZUH_CONF='/nsm/wazuh/etc/ossec.conf'
VALID_ROLES = {
'a': { 'role': 'analyst','desc': 'Analyst - 80/tcp, 443/tcp' },
'b': { 'role': 'beats_endpoint', 'desc': 'Logstash Beat - 5044/tcp' },
'e': { 'role': 'elasticsearch_rest', 'desc': 'Elasticsearch REST API - 9200/tcp' },
'f': { 'role': 'strelka_frontend', 'desc': 'Strelka frontend - 57314/tcp' },
'o': { 'role': 'osquery_endpoint', 'desc': 'Osquery endpoint - 8090/tcp' },
's': { 'role': 'syslog', 'desc': 'Syslog device - 514/tcp/udp' },
'w': { 'role': 'wazuh_agent', 'desc': 'Wazuh agent - 1514/tcp/udp' },
'p': { 'role': 'wazuh_api', 'desc': 'Wazuh API - 55000/tcp' },
'r': { 'role': 'wazuh_authd', 'desc': 'Wazuh registration service - 1515/tcp' }
}
while getopts "ahfesprbowi:" OPTION
do
case $OPTION in
h)
usage
exit 0
;;
a)
FULLROLE="analyst"
SKIP=1
;;
b)
FULLROLE="beats_endpoint"
SKIP=1
;;
e)
FULLROLE="elasticsearch_rest"
SKIP=1
;;
f)
FULLROLE="strelka_frontend"
SKIP=1
;;
i) IP=$OPTARG
;;
o)
FULLROLE="osquery_endpoint"
SKIP=1
;;
w)
FULLROLE="wazuh_agent"
SKIP=1
;;
s)
FULLROLE="syslog"
SKIP=1
;;
p)
FULLROLE="wazuh_api"
SKIP=1
;;
r)
FULLROLE="wazuh_authd"
SKIP=1
;;
*)
usage
exit 0
;;
esac
done
if [ "$SKIP" -eq 0 ]; then
def validate_ip_cidr(ip_cidr: str) -> bool:
try:
ipaddress.ip_address(ip_cidr)
except ValueError:
try:
ipaddress.ip_network(ip_cidr)
except ValueError:
return False
return True
echo "This program allows you to add a firewall rule to allow connections from a new IP address."
echo ""
echo "Choose the role for the IP or Range you would like to add"
echo ""
echo "[a] - Analyst - ports 80/tcp and 443/tcp"
echo "[b] - Logstash Beat - port 5044/tcp"
echo "[e] - Elasticsearch REST API - port 9200/tcp"
echo "[f] - Strelka frontend - port 57314/tcp"
echo "[o] - Osquery endpoint - port 8090/tcp"
echo "[s] - Syslog device - 514/tcp/udp"
echo "[w] - Wazuh agent - port 1514/tcp/udp"
echo "[p] - Wazuh API - port 55000/tcp"
echo "[r] - Wazuh registration service - 1515/tcp"
echo ""
echo "Please enter your selection:"
read -r ROLE
echo "Enter a single ip address or range to allow (example: 10.10.10.10 or 10.10.0.0/16):"
read -r IP
if [ "$ROLE" == "a" ]; then
FULLROLE=analyst
elif [ "$ROLE" == "b" ]; then
FULLROLE=beats_endpoint
elif [ "$ROLE" == "e" ]; then
FULLROLE=elasticsearch_rest
elif [ "$ROLE" == "f" ]; then
FULLROLE=strelka_frontend
elif [ "$ROLE" == "o" ]; then
FULLROLE=osquery_endpoint
elif [ "$ROLE" == "w" ]; then
FULLROLE=wazuh_agent
elif [ "$ROLE" == "s" ]; then
FULLROLE=syslog
elif [ "$ROLE" == "p" ]; then
FULLROLE=wazuh_api
elif [ "$ROLE" == "r" ]; then
FULLROLE=wazuh_authd
else
echo "I don't recognize that role"
exit 1
fi
def role_prompt() -> str:
print()
print('Choose the role for the IP or Range you would like to allow')
print()
for role in VALID_ROLES:
print(f'[{role}] - {VALID_ROLES[role]["desc"]}')
print()
role = input('Please enter your selection: ')
if role in VALID_ROLES.keys():
return VALID_ROLES[role]['role']
else:
print(f'Invalid role \'{role}\', please try again.', file=sys.stderr)
sys.exit(1)
fi
echo "Adding $IP to the $FULLROLE role. This can take a few seconds"
/usr/sbin/so-firewall includehost $FULLROLE $IP
salt-call state.apply firewall queue=True
def ip_prompt() -> str:
ip = input('Enter a single ip address or range to allow (ex: 10.10.10.10 or 10.10.0.0/16): ')
if validate_ip_cidr(ip):
return ip
else:
print(f'Invalid IP address or CIDR block \'{ip}\', please try again.', file=sys.stderr)
sys.exit(1)
def wazuh_enabled() -> bool:
for file in os.listdir(f'{LOCAL_SALT_DIR}/pillar'):
with open(file, 'r') as pillar:
if 'wazuh: 1' in pillar.read():
return True
return False
def root_to_str(root: ET.ElementTree) -> str:
xml_str = ET.tostring(root, encoding='unicode', method='xml').replace('\n', '')
xml_str = re.sub(r'(?:(?<=>) *)', '', xml_str)
xml_str = re.sub(r' -', '', xml_str)
xml_str = re.sub(r' -->', ' -->', xml_str)
dom = minidom.parseString(xml_str)
return dom.toprettyxml(indent=" ")
def add_wl(ip):
parser = ET.XMLParser(remove_blank_text=True)
with open(WAZUH_CONF, 'rb') as wazuh_conf:
tree = ET.parse(wazuh_conf, parser)
root = tree.getroot()
source_comment = ET.Comment(f'Address {ip} added by /usr/sbin/so-allow on {dt.utcnow().replace(tzinfo=tz.utc).strftime("%a %b %e %H:%M:%S %Z %Y")}')
new_global = ET.Element("global")
new_wl = ET.SubElement(new_global, 'white_list')
new_wl.text = ip
root.append(source_comment)
root.append(new_global)
with open(WAZUH_CONF, 'w') as add_out:
add_out.write(root_to_str(root))
def apply(role: str, ip: str) -> int:
firewall_cmd = ['so-firewall', 'includehost', role, ip]
salt_cmd = ['salt-call', 'state.apply', '-l', 'quiet', 'firewall', 'queue=True']
restart_wazuh_cmd = ['so-wazuh-restart']
print(f'Adding {ip} to the {role} role. This can take a few seconds...')
cmd = subprocess.run(firewall_cmd)
if cmd.returncode == 0:
cmd = subprocess.run(salt_cmd, stdout=subprocess.DEVNULL)
else:
return cmd.returncode
if cmd.returncode == 0:
if wazuh_enabled and role=='analyst':
try:
add_wl(ip)
print(f'Added whitelist entry for {ip} from {WAZUH_CONF}', file=sys.stderr)
except Exception as e:
print(f'Failed to add whitelist entry for {ip} from {WAZUH_CONF}', file=sys.stderr)
print(e)
return 1
print('Restarting OSSEC Server...')
cmd = subprocess.run(restart_wazuh_cmd)
else:
return cmd.returncode
else:
print(f'Commmand \'{" ".join(salt_cmd)}\' failed.', file=sys.stderr)
return cmd.returncode
if cmd.returncode != 0:
print('Failed to restart OSSEC server.')
return cmd.returncode
def main():
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,
epilog=textwrap.dedent(f'''\
additional information:
To use this script in interactive mode call it with no arguments
'''
))
group = main_parser.add_argument_group(title='roles')
group.add_argument('-a', dest='roles', action='append_const', const=VALID_ROLES['a']['role'], help="Analyst - 80/tcp, 443/tcp")
group.add_argument('-b', dest='roles', action='append_const', const=VALID_ROLES['b']['role'], help="Logstash Beat - 5044/tcp")
group.add_argument('-e', dest='roles', action='append_const', const=VALID_ROLES['e']['role'], help="Elasticsearch REST API - 9200/tcp")
group.add_argument('-f', dest='roles', action='append_const', const=VALID_ROLES['f']['role'], help="Strelka frontend - 57314/tcp")
group.add_argument('-o', dest='roles', action='append_const', const=VALID_ROLES['o']['role'], help="Osquery endpoint - 8090/tcp")
group.add_argument('-s', dest='roles', action='append_const', const=VALID_ROLES['s']['role'], help="Syslog device - 514/tcp/udp")
group.add_argument('-w', dest='roles', action='append_const', const=VALID_ROLES['w']['role'], help="Wazuh agent - 1514/tcp/udp")
group.add_argument('-p', dest='roles', action='append_const', const=VALID_ROLES['p']['role'], help="Wazuh API - 55000/tcp")
group.add_argument('-r', dest='roles', action='append_const', const=VALID_ROLES['r']['role'], help="Wazuh registration service - 1515/tcp")
ip_g = main_parser.add_argument_group(title='allow')
ip_g.add_argument('-i', help="IP or CIDR block to disallow connections from, requires at least one role argument", metavar='', dest='ip')
args = main_parser.parse_args(sys.argv[1:])
if args.roles is None:
role = role_prompt()
ip = ip_prompt()
try:
return_code = apply(role, ip)
except Exception as e:
print(f'Unexpected exception occurred: {e}', file=sys.stderr)
return_code = e.errno
sys.exit(return_code)
elif args.roles is not None and args.ip is None:
if os.environ.get('IP') is None:
main_parser.print_help()
sys.exit(1)
else:
args.ip = os.environ['IP']
if validate_ip_cidr(args.ip):
try:
for role in args.roles:
return_code = apply(role, args.ip)
if return_code > 0:
break
except Exception as e:
print(f'Unexpected exception occurred: {e}', file=sys.stderr)
return_code = e.errno
else:
print(f'Invalid IP address or CIDR block \'{args.ip}\', please try again.', file=sys.stderr)
return_code = 1
sys.exit(return_code)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
sys.exit(1)
# Check if Wazuh enabled
if grep -q -R "wazuh: 1" $local_salt_dir/pillar/*; then
# If analyst, add to Wazuh AR whitelist
if [ "$FULLROLE" == "analyst" ]; then
WAZUH_MGR_CFG="/nsm/wazuh/etc/ossec.conf"
if ! grep -q "<white_list>$IP</white_list>" $WAZUH_MGR_CFG ; then
DATE=$(date)
sed -i 's/<\/ossec_config>//' $WAZUH_MGR_CFG
sed -i '/^$/N;/^\n$/D' $WAZUH_MGR_CFG
echo -e "<!--Address $IP added by /usr/sbin/so-allow on \"$DATE\"-->\n <global>\n <white_list>$IP</white_list>\n </global>\n</ossec_config>" >> $WAZUH_MGR_CFG
echo "Added whitelist entry for $IP in $WAZUH_MGR_CFG."
echo
echo "Restarting OSSEC Server..."
/usr/sbin/so-wazuh-restart
fi
fi
fi

View File

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

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!"
@@ -86,19 +88,6 @@ add_interface_bond0() {
fi
}
check_airgap() {
# See if this is an airgap install
AIRGAP=$(cat /opt/so/saltstack/local/pillar/global.sls | grep airgap: | awk '{print $2}')
if [[ "$AIRGAP" == "True" ]]; then
is_airgap=0
UPDATE_DIR=/tmp/soagupdate/SecurityOnion
AGDOCKER=/tmp/soagupdate/docker
AGREPO=/tmp/soagupdate/Packages
else
is_airgap=1
fi
}
check_container() {
docker ps | grep "$1:" > /dev/null 2>&1
return $?
@@ -110,6 +99,15 @@ check_password() {
return $?
}
check_password_and_exit() {
local password=$1
if ! check_password "$password"; then
echo "Password is invalid. Do not include single quotes, double quotes, dollar signs, and backslashes in the password."
exit 2
fi
return 0
}
check_elastic_license() {
[ -n "$TESTING" ] && return
@@ -122,6 +120,20 @@ check_elastic_license() {
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
@@ -137,7 +149,7 @@ 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 "Security Onion Setup" --inputbox \
AGREED=$(whiptail --title "$whiptail_title" --inputbox \
"$message" 20 75 3>&1 1>&2 2>&3)
if [ "${AGREED^^}" = 'AGREE' ]; then
@@ -162,6 +174,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"
}
@@ -219,6 +248,7 @@ lookup_salt_value() {
key=$1
group=$2
kind=$3
output=${4:-newline_values_only}
if [ -z "$kind" ]; then
kind=pillar
@@ -228,7 +258,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() {
@@ -256,7 +286,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
@@ -269,6 +299,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"
@@ -288,7 +319,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() {
@@ -328,18 +381,29 @@ 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
local cidr
local ip
valid_ip4_cidr_mask "$1" && return 0 || return 1
cidr=$(echo "$1" | sed 's/.*\///')
ip=$(echo "$1" | sed 's/\/.*//' )
local cidr="$1"
local ip
ip=$(echo "$cidr" | sed 's/\/.*//' )
if valid_ip4 "$ip"; then
[[ $cidr =~ ([0-9]|[1-2][0-9]|3[0-2]) ]] && return 0 || return 1
local ip1 ip2 ip3 ip4 N
IFS="./" read -r ip1 ip2 ip3 ip4 N <<< "$cidr"
ip_total=$((ip1 * 256 ** 3 + ip2 * 256 ** 2 + ip3 * 256 + ip4))
[[ $((ip_total % 2**(32-N))) == 0 ]] && return 0 || return 1
else
return 1
fi
@@ -389,6 +453,23 @@ valid_ip4() {
echo "$ip" | grep -qP '^(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$' && return 0 || return 1
}
valid_ip4_cidr_mask() {
# Verify there is a backslash in the string
echo "$1" | grep -qP "^[^/]+/[^/]+$" || return 1
local cidr
local ip
cidr=$(echo "$1" | sed 's/.*\///')
ip=$(echo "$1" | sed 's/\/.*//' )
if valid_ip4 "$ip"; then
[[ $cidr =~ ^([0-9]|[1-2][0-9]|3[0-2])$ ]] && return 0 || return 1
else
return 1
fi
}
valid_int() {
local num=$1
local min=${2:-1}
@@ -419,6 +500,20 @@ valid_proxy() {
[[ $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}
@@ -439,12 +534,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

213
salt/common/tools/sbin/so-deny Executable file
View File

@@ -0,0 +1,213 @@
#!/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 ipaddress
import textwrap
import os
import subprocess
import sys
import argparse
import re
from lxml import etree as ET
from xml.dom import minidom
LOCAL_SALT_DIR='/opt/so/saltstack/local'
WAZUH_CONF='/nsm/wazuh/etc/ossec.conf'
VALID_ROLES = {
'a': { 'role': 'analyst','desc': 'Analyst - 80/tcp, 443/tcp' },
'b': { 'role': 'beats_endpoint', 'desc': 'Logstash Beat - 5044/tcp' },
'e': { 'role': 'elasticsearch_rest', 'desc': 'Elasticsearch REST API - 9200/tcp' },
'f': { 'role': 'strelka_frontend', 'desc': 'Strelka frontend - 57314/tcp' },
'o': { 'role': 'osquery_endpoint', 'desc': 'Osquery endpoint - 8090/tcp' },
's': { 'role': 'syslog', 'desc': 'Syslog device - 514/tcp/udp' },
'w': { 'role': 'wazuh_agent', 'desc': 'Wazuh agent - 1514/tcp/udp' },
'p': { 'role': 'wazuh_api', 'desc': 'Wazuh API - 55000/tcp' },
'r': { 'role': 'wazuh_authd', 'desc': 'Wazuh registration service - 1515/tcp' }
}
def validate_ip_cidr(ip_cidr: str) -> bool:
try:
ipaddress.ip_address(ip_cidr)
except ValueError:
try:
ipaddress.ip_network(ip_cidr)
except ValueError:
return False
return True
def role_prompt() -> str:
print()
print('Choose the role for the IP or Range you would like to deny')
print()
for role in VALID_ROLES:
print(f'[{role}] - {VALID_ROLES[role]["desc"]}')
print()
role = input('Please enter your selection: ')
if role in VALID_ROLES.keys():
return VALID_ROLES[role]['role']
else:
print(f'Invalid role \'{role}\', please try again.', file=sys.stderr)
sys.exit(1)
def ip_prompt() -> str:
ip = input('Enter a single ip address or range to deny (ex: 10.10.10.10 or 10.10.0.0/16): ')
if validate_ip_cidr(ip):
return ip
else:
print(f'Invalid IP address or CIDR block \'{ip}\', please try again.', file=sys.stderr)
sys.exit(1)
def wazuh_enabled() -> bool:
for file in os.listdir(f'{LOCAL_SALT_DIR}/pillar'):
with open(file, 'r') as pillar:
if 'wazuh: 1' in pillar.read():
return True
return False
def root_to_str(root: ET.ElementTree) -> str:
xml_str = ET.tostring(root, encoding='unicode', method='xml').replace('\n', '')
xml_str = re.sub(r'(?:(?<=>) *)', '', xml_str)
# Remove specific substrings to better format comments on intial parse/write
xml_str = re.sub(r' -', '', xml_str)
xml_str = re.sub(r' -->', ' -->', xml_str)
dom = minidom.parseString(xml_str)
return dom.toprettyxml(indent=" ")
def rem_wl(ip):
parser = ET.XMLParser(remove_blank_text=True)
with open(WAZUH_CONF, 'rb') as wazuh_conf:
tree = ET.parse(wazuh_conf, parser)
root = tree.getroot()
global_elems = root.findall(f"global/white_list[. = '{ip}']/..")
if len(global_elems) > 0:
for g_elem in global_elems:
ge_index = list(root).index(g_elem)
if ge_index > 0 and root[list(root).index(g_elem) - 1].tag == ET.Comment:
root.remove(root[ge_index - 1])
root.remove(g_elem)
with open(WAZUH_CONF, 'w') as out:
out.write(root_to_str(root))
def apply(role: str, ip: str) -> int:
firewall_cmd = ['so-firewall', 'excludehost', role, ip]
salt_cmd = ['salt-call', 'state.apply', '-l', 'quiet', 'firewall', 'queue=True']
restart_wazuh_cmd = ['so-wazuh-restart']
print(f'Removing {ip} from the {role} role. This can take a few seconds...')
cmd = subprocess.run(firewall_cmd)
if cmd.returncode == 0:
cmd = subprocess.run(salt_cmd, stdout=subprocess.DEVNULL)
else:
return cmd.returncode
if cmd.returncode == 0:
if wazuh_enabled and role=='analyst':
try:
rem_wl(ip)
print(f'Removed whitelist entry for {ip} from {WAZUH_CONF}', file=sys.stderr)
except Exception as e:
print(f'Failed to remove whitelist entry for {ip} from {WAZUH_CONF}', file=sys.stderr)
print(e)
return 1
print('Restarting OSSEC Server...')
cmd = subprocess.run(restart_wazuh_cmd)
else:
return cmd.returncode
else:
print(f'Commmand \'{" ".join(salt_cmd)}\' failed.', file=sys.stderr)
return cmd.returncode
if cmd.returncode != 0:
print('Failed to restart OSSEC server.')
return cmd.returncode
def main():
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,
epilog=textwrap.dedent(f'''\
additional information:
To use this script in interactive mode call it with no arguments
'''
))
group = main_parser.add_argument_group(title='roles')
group.add_argument('-a', dest='roles', action='append_const', const=VALID_ROLES['a']['role'], help="Analyst - 80/tcp, 443/tcp")
group.add_argument('-b', dest='roles', action='append_const', const=VALID_ROLES['b']['role'], help="Logstash Beat - 5044/tcp")
group.add_argument('-e', dest='roles', action='append_const', const=VALID_ROLES['e']['role'], help="Elasticsearch REST API - 9200/tcp")
group.add_argument('-f', dest='roles', action='append_const', const=VALID_ROLES['f']['role'], help="Strelka frontend - 57314/tcp")
group.add_argument('-o', dest='roles', action='append_const', const=VALID_ROLES['o']['role'], help="Osquery endpoint - 8090/tcp")
group.add_argument('-s', dest='roles', action='append_const', const=VALID_ROLES['s']['role'], help="Syslog device - 514/tcp/udp")
group.add_argument('-w', dest='roles', action='append_const', const=VALID_ROLES['w']['role'], help="Wazuh agent - 1514/tcp/udp")
group.add_argument('-p', dest='roles', action='append_const', const=VALID_ROLES['p']['role'], help="Wazuh API - 55000/tcp")
group.add_argument('-r', dest='roles', action='append_const', const=VALID_ROLES['r']['role'], help="Wazuh registration service - 1515/tcp")
ip_g = main_parser.add_argument_group(title='allow')
ip_g.add_argument('-i', help="IP or CIDR block to disallow connections from, requires at least one role argument", metavar='', dest='ip')
args = main_parser.parse_args(sys.argv[1:])
if args.roles is None:
role = role_prompt()
ip = ip_prompt()
try:
return_code = apply(role, ip)
except Exception as e:
print(f'Unexpected exception occurred: {e}', file=sys.stderr)
return_code = e.errno
sys.exit(return_code)
elif args.roles is not None and args.ip is None:
if os.environ.get('IP') is None:
main_parser.print_help()
sys.exit(1)
else:
args.ip = os.environ['IP']
if validate_ip_cidr(args.ip):
try:
for role in args.roles:
return_code = apply(role, args.ip)
if return_code > 0:
break
except Exception as e:
print(f'Unexpected exception occurred: {e}', file=sys.stderr)
return_code = e.errno
else:
print(f'Invalid IP address or CIDR block \'{args.ip}\', please try again.', file=sys.stderr)
return_code = 1
sys.exit(return_code)
if __name__ == '__main__':
try:
main()
except KeyboardInterrupt:
sys.exit(1)

View File

@@ -32,19 +32,25 @@ def get_image_version(string) -> str:
ver = string.split(':')[-1]
if ver == 'latest':
# Version doesn't like "latest", so use a high semver
return '999999.9.9'
return '99999.9.9'
else:
try:
Version(ver)
except InvalidVersion:
# Strip the last substring following a hyphen for automated branches
ver = '-'.join(ver.split('-')[:-1])
# 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")
@@ -60,17 +66,28 @@ def main(quiet):
no_prunable = True
for t_list in grouped_tag_lists:
try:
# Keep the 2 most current images
# 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)
if len(t_list) <= 2:
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 tag in t_list[2:]:
for group in grouped_t_list[2:]:
for tag in group:
if not quiet: print(f'Removing image {tag}')
client.images.remove(tag)
except InvalidVersion as e:
print(f'so-{get_so_image_basename(t_list[0])}: {e.args[0]}', file=sys.stderr)
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:

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

@@ -70,7 +70,7 @@ do
done
docker_exec(){
CMD="docker exec -it so-elastalert elastalert-test-rule /opt/elastalert/rules/$RULE_NAME --config /opt/config/elastalert_config.yaml $OPTIONS"
CMD="docker exec -it so-elastalert elastalert-test-rule /opt/elastalert/rules/$RULE_NAME --config /opt/elastalert/config.yaml $OPTIONS"
if [ "${RESULTS_TO_LOG,,}" = "y" ] ; then
$CMD > "$FILE_SAVE_LOCATION"
else

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

@@ -0,0 +1,155 @@
#!/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/>.
source $(dirname $0)/so-common
require_manager
user=$1
elasticUsersFile=${ELASTIC_USERS_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users}
elasticAuthPillarFile=${ELASTIC_AUTH_PILLAR_FILE:-/opt/so/saltstack/local/pillar/elasticsearch/auth.sls}
if [[ $# -ne 1 ]]; then
echo "Usage: $0 <user>"
echo ""
echo " where <user> is one of the following:"
echo ""
echo " all: Reset the password for the so_elastic, so_kibana, so_logstash, so_beats, and so_monitor users"
echo " so_elastic: Reset the password for the so_elastic user"
echo " so_kibana: Reset the password for the so_kibana user"
echo " so_logstash: Reset the password for the so_logstash user"
echo " so_beats: Reset the password for the so_beats user"
echo " so_monitor: Reset the password for the so_monitor user"
echo ""
exit 1
fi
# function to create a lock so that the so-user sync cronjob can't run while this is running
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 unlock() {
rm -f /var/tmp/so-user.lock
}
function fail() {
msg=$1
echo "$1"
exit 1
}
function removeSingleUserPass() {
local user=$1
sed -i '/user: '"${user}"'/{N;/pass: /d}' "${elasticAuthPillarFile}"
}
function removeAllUserPass() {
local userList=("so_elastic" "so_kibana" "so_logstash" "so_beats" "so_monitor")
for u in ${userList[@]}; do
removeSingleUserPass "$u"
done
}
function removeElasticUsersFile() {
rm -f "$elasticUsersFile"
}
function createElasticAuthPillar() {
salt-call state.apply elasticsearch.auth queue=True
}
# this will disable highstate to prevent a highstate from starting while the script is running
# will also disable salt.minion-state-apply-test allow so-salt-minion-check cronjob to restart salt-minion service incase
function disableSaltStates() {
printf "\nDisabling salt.minion-state-apply-test and highstate from running.\n\n"
salt-call state.disable salt.minion-state-apply-test
salt-call state.disable highstate
}
function enableSaltStates() {
printf "\nEnabling salt.minion-state-apply-test and highstate.\n\n"
salt-call state.enable salt.minion-state-apply-test
salt-call state.enable highstate
}
function killAllSaltJobs() {
printf "\nKilling all running salt jobs.\n\n"
salt-call saltutil.kill_all_jobs
}
function soUserSync() {
# apply this state to update /opt/so/saltstack/local/salt/elasticsearch/curl.config on the manager
salt-call state.sls_id elastic_curl_config_distributed manager queue=True
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' saltutil.kill_all_jobs
# apply this state to get the curl.config
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.sls_id elastic_curl_config common queue=True
$(dirname $0)/so-user sync
printf "\nApplying logstash state to the appropriate nodes.\n\n"
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 logstash queue=True
printf "\nApplying filebeat state to the appropriate nodes.\n\n"
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 or G@role:so-sensor or G@role:so-fleet' state.apply filebeat queue=True
printf "\nApplying kibana state to the appropriate nodes.\n\n"
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' state.apply kibana queue=True
printf "\nApplying curator state to the appropriate nodes.\n\n"
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 curator queue=True
}
function highstateManager() {
killAllSaltJobs
printf "\nRunning highstate on the manager to finalize password reset.\n\n"
salt-call state.highstate -linfo queue=True
}
case "${user}" in
so_elastic | so_kibana | so_logstash | so_beats | so_monitor)
lock
killAllSaltJobs
disableSaltStates
removeSingleUserPass "$user"
createElasticAuthPillar
removeElasticUsersFile
unlock
soUserSync
enableSaltStates
highstateManager
;;
all)
lock
killAllSaltJobs
disableSaltStates
removeAllUserPass
createElasticAuthPillar
removeElasticUsersFile
unlock
soUserSync
enableSaltStates
highstateManager
;;
*)
fail "Unsupported user: $user"
;;
esac
exit 0

View File

@@ -50,7 +50,7 @@ done
if [ $SKIP -ne 1 ]; then
# List indices
echo
curl -k -L https://{{ NODEIP }}:9200/_cat/indices?v
{{ ELASTICCURL }} -k -L https://{{ NODEIP }}:9200/_cat/indices?v
echo
# Inform user we are about to delete all data
echo
@@ -89,10 +89,10 @@ fi
# Delete data
echo "Deleting data..."
INDXS=$(curl -s -XGET -k -L https://{{ NODEIP }}:9200/_cat/indices?v | egrep 'logstash|elastalert|so-' | awk '{ print $3 }')
INDXS=$({{ ELASTICCURL }} -s -XGET -k -L https://{{ NODEIP }}:9200/_cat/indices?v | egrep 'logstash|elastalert|so-' | awk '{ print $3 }')
for INDX in ${INDXS}
do
curl -XDELETE -k -L https://"{{ NODEIP }}:9200/${INDX}" > /dev/null 2>&1
{{ 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,5 +21,5 @@ THEHIVEESPORT=9400
echo "Removing read only attributes for indices..."
echo
curl -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;
curl -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;
{{ 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,7 +19,7 @@
. /usr/sbin/so-common
if [ "$1" == "" ]; then
curl -s -k -L https://{{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines"
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines"
else
curl -s -k -L https://{{ NODEIP }}:9200/_nodes/stats | jq .nodes | jq ".[] | .ingest.pipelines.\"$1\""
{{ 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,7 +17,7 @@
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
curl -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/* | jq 'keys'
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/* | jq 'keys'
else
curl -s -k -L https://{{ NODEIP }}:9200/_ingest/pipeline/$1 | jq
{{ 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,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/>.
{%- 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
# Define a default directory to load roles from
ELASTICSEARCH_ROLES="$default_conf_dir/elasticsearch/roles/"
# 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
cd ${ELASTICSEARCH_ROLES}
echo "Loading templates..."
for role in *; do
name=$(echo "$role" | cut -d. -f1)
so-elasticsearch-query _security/role/$name -XPUT -d @"$role"
done
cd - >/dev/null

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,7 +17,7 @@
{%- set NODEIP = salt['pillar.get']('elasticsearch:mainip', '') -%}
. /usr/sbin/so-common
if [ "$1" == "" ]; then
curl -s -k -L https://{{ NODEIP }}:9200/_template/* | jq 'keys'
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_template/* | jq 'keys'
else
curl -s -k -L https://{{ NODEIP }}:9200/_template/$1 | jq
{{ 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,7 +30,7 @@ echo -n "Waiting for ElasticSearch..."
COUNT=0
ELASTICSEARCH_CONNECTED="no"
while [[ "$COUNT" -le 240 ]]; do
curl -k --output /dev/null --silent --head --fail -L https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"
{{ ELASTICCURL }} -k --output /dev/null --silent --head --fail -L https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"
if [ $? -eq 0 ]; then
ELASTICSEARCH_CONNECTED="yes"
echo "connected!"
@@ -51,7 +51,7 @@ cd ${ELASTICSEARCH_TEMPLATES}
echo "Loading templates..."
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
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

@@ -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 mongodb mssql mysql nats netscout nginx o365 okta osquery panw postgresql rabbitmq radware redis santa snort snyk sonicwall sophos squid suricata system threatintel 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,11 +67,11 @@ def checkDefaultPortsOption(options):
def checkApplyOption(options):
if "--apply" in options:
return apply()
return apply(None, None)
def loadYaml(filename):
file = open(filename, "r")
return yaml.load(file.read())
return yaml.safe_load(file.read())
def writeYaml(filename, content):
file = open(filename, "w")
@@ -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

@@ -2,11 +2,16 @@
#so-fleet-setup $FleetEmail $FleetPassword
. /usr/sbin/so-common
if [[ $# -ne 2 ]] ; then
echo "Username or Password was not set - exiting now."
exit 1
fi
USER_EMAIL=$1
USER_PW=$2
# Checking to see if required containers are started...
if [ ! "$(docker ps -q -f name=so-fleet)" ]; then
echo "Starting Docker Containers..."
@@ -17,8 +22,16 @@ fi
docker exec so-fleet fleetctl config set --address https://127.0.0.1:8080 --tls-skip-verify --url-prefix /fleet
docker exec so-fleet bash -c 'while [[ "$(curl -s -o /dev/null --insecure -w ''%{http_code}'' https://127.0.0.1:8080/fleet)" != "301" ]]; do sleep 5; done'
docker exec so-fleet fleetctl setup --email $1 --password $2
# Create Security Onion Fleet Service Account + Setup Fleet
FLEET_SA_EMAIL=$(lookup_pillar_secret fleet_sa_email)
FLEET_SA_PW=$(lookup_pillar_secret fleet_sa_password)
docker exec so-fleet fleetctl setup --email $FLEET_SA_EMAIL --password $FLEET_SA_PW --name SO_ServiceAccount --org-name SO
# Create User Account
echo "$USER_PW" | so-fleet-user-add "$USER_EMAIL"
# Import Packs & Configs
docker exec so-fleet fleetctl apply -f /packs/palantir/Fleet/Endpoints/MacOS/osquery.yaml
docker exec so-fleet fleetctl apply -f /packs/palantir/Fleet/Endpoints/Windows/osquery.yaml
docker exec so-fleet fleetctl apply -f /packs/so/so-default.yml

View File

@@ -18,7 +18,7 @@
. /usr/sbin/so-common
usage() {
echo "Usage: $0 <new-user-name>"
echo "Usage: $0 <new-user-email>"
echo ""
echo "Adds a new user to Fleet. The new password will be read from STDIN."
exit 1
@@ -28,37 +28,42 @@ if [ $# -ne 1 ]; then
usage
fi
USER=$1
MYSQL_PASS=$(lookup_pillar_secret mysql)
FLEET_IP=$(lookup_pillar fleet_ip)
FLEET_USER=$USER
USER_EMAIL=$1
FLEET_SA_EMAIL=$(lookup_pillar_secret fleet_sa_email)
FLEET_SA_PW=$(lookup_pillar_secret fleet_sa_password)
MYSQL_PW=$(lookup_pillar_secret mysql)
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs FLEET_PASS
read -rs USER_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
check_password_and_exit "$USER_PASS"
# Config fleetctl & login with the SO Service Account
CONFIG_OUTPUT=$(docker exec so-fleet fleetctl config set --address https://127.0.0.1:8080 --tls-skip-verify --url-prefix /fleet 2>&1 )
SALOGIN_OUTPUT=$(docker exec so-fleet fleetctl login --email $FLEET_SA_EMAIL --password $FLEET_SA_PW 2>&1)
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"
echo "Unable to add user to Fleet; Fleet Service account login failed"
echo "$SALOGIN_OUTPUT"
exit 2
fi
MYSQL_OUTPUT=$(docker exec so-mysql mysql -u root --password=$MYSQL_PASS fleet -e \
"INSERT INTO users (password,salt,username,email,admin,enabled) VALUES ('$FLEET_HASH','','$FLEET_USER','$FLEET_USER',1,1)" 2>&1)
# Create New User
CREATE_OUTPUT=$(docker exec so-fleet fleetctl user create --email $USER_EMAIL --name $USER_EMAIL --password $USER_PASS --global-role admin 2>&1)
if [[ $? -eq 0 ]]; then
echo "Successfully added user to Fleet"
else
echo "Unable to add user to Fleet; user might already exist"
echo "$MYSQL_OUTPUT"
echo "$CREATE_OUTPUT"
exit 2
fi
# Disable forced password reset
MYSQL_OUTPUT=$(docker exec so-mysql mysql -u root --password=$MYSQL_PW fleet -e \
"UPDATE users SET admin_forced_password_reset = 0 WHERE email = '$USER_EMAIL'" 2>&1)

View File

@@ -0,0 +1,56 @@
#!/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-email>"
echo ""
echo "Deletes a user in Fleet"
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER_EMAIL=$1
FLEET_SA_EMAIL=$(lookup_pillar_secret fleet_sa_email)
FLEET_SA_PW=$(lookup_pillar_secret fleet_sa_password)
# Config fleetctl & login with the SO Service Account
CONFIG_OUTPUT=$(docker exec so-fleet fleetctl config set --address https://127.0.0.1:8080 --tls-skip-verify --url-prefix /fleet 2>&1 )
SALOGIN_OUTPUT=$(docker exec so-fleet fleetctl login --email $FLEET_SA_EMAIL --password $FLEET_SA_PW 2>&1)
if [[ $? -ne 0 ]]; then
echo "Unable to delete user from Fleet; Fleet Service account login failed"
echo "$SALOGIN_OUTPUT"
exit 2
fi
# Delete User
DELETE_OUTPUT=$(docker exec so-fleet fleetctl user delete --email $USER_EMAIL 2>&1)
if [[ $? -eq 0 ]]; then
echo "Successfully deleted user from Fleet"
else
echo "Unable to delete user from Fleet"
echo "$DELETE_OUTPUT"
exit 2
fi

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 email='$FLEET_USER'" 2>/dev/null | tail -1)
if [[ $? -ne 0 ]] || [[ $MYSQL_OUTPUT -ne 1 ]] ; then
echo "Test for email [${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, dollar signs, 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 email='$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

@@ -17,7 +17,9 @@
# NOTE: This script depends on so-common
IMAGEREPO=security-onion-solutions
STATUS_CONF='/opt/so/conf/so-status/so-status.conf'
# shellcheck disable=SC2120
container_list() {
MANAGERCHECK=$1
@@ -47,20 +49,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 +130,18 @@ 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
# If downloading for soup, check if any optional images need to be pulled
if [[ $CURLTYPE == 'soup' ]]; then
grep -q "so-logscan" "$STATUS_CONF" && TRUSTED_CONTAINERS+=("so-logscan")
fi
# Download the containers from the interwebs
@@ -151,14 +155,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

@@ -0,0 +1,176 @@
#!/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 MANAGER = salt['grains.get']('master') %}
{%- set VERSION = salt['pillar.get']('global:soversion') %}
{%- set IMAGEREPO = salt['pillar.get']('global:imagerepo') %}
{%- set MANAGERIP = salt['pillar.get']('global:managerip') -%}
{%- set URLBASE = salt['pillar.get']('global:url_base') %}
{% set ES_USER = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:user', '') %}
{% set ES_PW = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', '') %}
INDEX_DATE=$(date +'%Y.%m.%d')
RUNID=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)
LOG_FILE=/nsm/import/evtx-import.log
. /usr/sbin/so-common
function usage {
cat << EOF
Usage: $0 <evtx-file-1> [evtx-file-2] [evtx-file-*]
Imports one or more evtx files into Security Onion. The evtx files will be analyzed and made available for review in the Security Onion toolset.
EOF
}
function evtx2es() {
EVTX=$1
HASH=$2
ES_PW=$(lookup_pillar "auth:users:so_elastic_user:pass" "elasticsearch")
ES_USER=$(lookup_pillar "auth:users:so_elastic_user:user" "elasticsearch")
docker run --rm \
-v "$EVTX:/tmp/$RUNID.evtx" \
--entrypoint evtx2es \
{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }} \
--host {{ MANAGERIP }} --scheme https \
--index so-beats-$INDEX_DATE --pipeline import.wel \
--login $ES_USER --pwd $ES_PW \
"/tmp/$RUNID.evtx" >> $LOG_FILE 2>&1
docker run --rm \
-v "$EVTX:/tmp/import.evtx" \
-v "/nsm/import/evtx-end_newest:/tmp/newest" \
-v "/nsm/import/evtx-start_oldest:/tmp/oldest" \
--entrypoint '/evtx_calc_timestamps.sh' \
{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }}
}
# if no parameters supplied, display usage
if [ $# -eq 0 ]; then
usage
exit 1
fi
# ensure this is a Manager node
require_manager
# verify that all parameters are files
for i in "$@"; do
if ! [ -f "$i" ]; then
usage
echo "\"$i\" is not a valid file!"
exit 2
fi
done
# track if we have any valid or invalid evtx
INVALID_EVTXS="no"
VALID_EVTXS="no"
# track oldest start and newest end so that we can generate the Kibana search hyperlink at the end
START_OLDEST="2050-12-31"
END_NEWEST="1971-01-01"
touch /nsm/import/evtx-start_oldest
touch /nsm/import/evtx-end_newest
echo $START_OLDEST > /nsm/import/evtx-start_oldest
echo $END_NEWEST > /nsm/import/evtx-end_newest
# paths must be quoted in case they include spaces
for EVTX in "$@"; do
EVTX=$(/usr/bin/realpath "$EVTX")
echo "Processing Import: ${EVTX}"
# generate a unique hash to assist with dedupe checks
HASH=$(md5sum "${EVTX}" | awk '{ print $1 }')
HASH_DIR=/nsm/import/${HASH}
echo "- assigning unique identifier to import: $HASH"
if [ -d $HASH_DIR ]; then
echo "- this EVTX has already been imported; skipping"
INVALID_EVTXS="yes"
else
VALID_EVTXS="yes"
EVTX_DIR=$HASH_DIR/evtx
mkdir -p $EVTX_DIR
# import evtx and write them to import ingest pipeline
echo "- importing logs to Elasticsearch..."
evtx2es "${EVTX}" $HASH
# compare $START to $START_OLDEST
START=$(cat /nsm/import/evtx-start_oldest)
START_COMPARE=$(date -d $START +%s)
START_OLDEST_COMPARE=$(date -d $START_OLDEST +%s)
if [ $START_COMPARE -lt $START_OLDEST_COMPARE ]; then
START_OLDEST=$START
fi
# compare $ENDNEXT to $END_NEWEST
END=$(cat /nsm/import/evtx-end_newest)
ENDNEXT=`date +%Y-%m-%d --date="$END 1 day"`
ENDNEXT_COMPARE=$(date -d $ENDNEXT +%s)
END_NEWEST_COMPARE=$(date -d $END_NEWEST +%s)
if [ $ENDNEXT_COMPARE -gt $END_NEWEST_COMPARE ]; then
END_NEWEST=$ENDNEXT
fi
cp -f "${EVTX}" "${EVTX_DIR}"/data.evtx
chmod 644 "${EVTX_DIR}"/data.evtx
fi # end of valid evtx
echo
done # end of for-loop processing evtx files
# remove temp files
echo "Cleaning up:"
for TEMP_EVTX in ${TEMP_EVTXS[@]}; do
echo "- removing temporary evtx $TEMP_EVTX"
rm -f $TEMP_EVTX
done
# output final messages
if [ "$INVALID_EVTXS" = "yes" ]; then
echo
echo "Please note! One or more evtx was invalid! You can scroll up to see which ones were invalid."
fi
START_OLDEST_FORMATTED=`date +%Y-%m-%d --date="$START_OLDEST"`
START_OLDEST_SLASH=$(echo $START_OLDEST_FORMATTED | sed -e 's/-/%2F/g')
END_NEWEST_SLASH=$(echo $END_NEWEST | sed -e 's/-/%2F/g')
if [ "$VALID_EVTXS" = "yes" ]; then
cat << EOF
Import complete!
You can use the following hyperlink to view data in the time range of your import. You can triple-click to quickly highlight the entire hyperlink and you can then copy it into your browser:
https://{{ URLBASE }}/#/hunt?q=import.id:${RUNID}%20%7C%20groupby%20event.module%20event.dataset&t=${START_OLDEST_SLASH}%2000%3A00%3A00%20AM%20-%20${END_NEWEST_SLASH}%2000%3A00%3A00%20AM&z=UTC
or you can manually set your Time Range to be (in UTC):
From: $START_OLDEST_FORMATTED To: $END_NEWEST
Please note that it may take 30 seconds or more for events to appear in Hunt.
EOF
fi

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,4 +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/>.
curl -X GET -k -L https://localhost:9200/_cat/indices?v
{{ 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

@@ -8,9 +8,9 @@ fi
echo "This tool will update a manager's IP address to the new IP assigned to the management network interface."
echo
echo ""
echo "WARNING: This tool is still undergoing testing, use at your own risk!"
echo
echo ""
if [ -z "$OLD_IP" ]; then
OLD_IP=$(lookup_pillar "managerip")
@@ -39,9 +39,9 @@ fi
echo "About to change old IP $OLD_IP to new IP $NEW_IP."
echo
echo ""
read -n 1 -p "Would you like to continue? (y/N) " CONTINUE
echo
echo ""
if [ "$CONTINUE" == "y" ]; then
for file in $(grep -rlI $OLD_IP /opt/so/saltstack /etc); do
@@ -49,6 +49,11 @@ if [ "$CONTINUE" == "y" ]; then
sed -i "s|$OLD_IP|$NEW_IP|g" $file
done
echo "Granting MySQL root user permissions on $NEW_IP"
docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'$NEW_IP' IDENTIFIED BY '$(lookup_pillar_secret 'mysql')' WITH GRANT OPTION;" &> /dev/null
echo "Removing MySQL root user from $OLD_IP"
docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "DROP USER 'root'@'$OLD_IP';" &> /dev/null
echo "The IP has been changed from $OLD_IP to $NEW_IP."
echo

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

@@ -1,5 +1,5 @@
#!/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
@@ -17,42 +17,14 @@
. /usr/sbin/so-common
usage() {
echo "Usage: $0 <user-name>"
echo ""
echo "Enables or disables a user in Fleet"
exit 1
}
echo $banner
echo "Running kibana.so_savedobjects_defaults Salt state to restore default saved objects."
printf "This could take a while if another Salt job is running. \nRun this command with --force to stop all Salt jobs before proceeding.\n"
echo $banner
if [ $# -ne 2 ]; then
usage
if [ "$1" = "--force" ]; then
printf "\nForce-stopping all Salt jobs before proceeding\n\n"
salt-call saltutil.kill_all_jobs
fi
USER=$1
MYSQL_PASS=$(lookup_pillar_secret mysql)
FLEET_IP=$(lookup_pillar fleet_ip)
FLEET_USER=$USER
case "${2^^}" in
FALSE | NO | 0)
FLEET_STATUS=0
;;
TRUE | YES | 1)
FLEET_STATUS=1
;;
*)
usage
;;
esac
MYSQL_OUTPUT=$(docker exec so-mysql mysql -u root --password=$MYSQL_PASS fleet -e \
"UPDATE users SET enabled=$FLEET_STATUS WHERE username='$FLEET_USER'" 2>&1)
if [[ $? -eq 0 ]]; then
echo "Successfully updated user in Fleet"
else
echo "Failed to update user in Fleet"
echo $resp
exit 2
fi
salt-call state.apply kibana.so_savedobjects_defaults -linfo queue=True

12
salt/common/tools/sbin/so-kibana-space-defaults Normal file → Executable file
View File

@@ -1,13 +1,17 @@
. /usr/sbin/so-common
wait_for_web_response "http://localhost:5601/app/kibana" "Elastic"
{% set HIGHLANDER = salt['pillar.get']('global:highlander', False) %}
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
THECOOKIE=$(curl -c - -X GET http://localhost:5601/ | grep sid | awk '{print $7}')
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:"
curl -b "sid=$THECOOKIE" -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
{% if HIGHLANDER %}
{{ 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":["enterpriseSearch"]} ' >> /opt/so/log/kibana/misc.log
{% else %}
{{ 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
{% endif %}
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

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

@@ -0,0 +1,22 @@
#!/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
ENABLEPLAY=${1:-False}
docker exec so-soctopus /usr/local/bin/python -c "import playbook; print(playbook.play_import($ENABLEPLAY))"

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
sleep 5
/usr/sbin/so-playbook-ruleupdate

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

View File

@@ -17,65 +17,101 @@
. /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
#}
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)
if [[ $LSIRC ]]; then
# Raid is good
LSIRAID=0
appliance_check() {
{%- if salt['grains.get']('sosmodel', '') %}
APPLIANCE=1
{%- if grains['sosmodel'] in ['SO2AMI01', 'SO2GCI01', 'SO2AZI01'] %}
exit 0
{%- endif %}
DUDEYOUGOTADELL=$(dmidecode |grep Dell)
if [[ -n $DUDEYOUGOTADELL ]]; then
APPTYPE=dell
else
LSIRAID=1
APPTYPE=sm
fi
mkdir -p /opt/so/log/raid
{%- else %}
echo "This is not an appliance"
exit 0
{%- endif %}
}
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
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
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 %}
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

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common
docker exec -it so-redis redis-cli llen logstash:unparsed
docker exec so-redis redis-cli llen logstash:unparsed

View File

@@ -405,7 +405,7 @@ def main():
enabled_list.set_defaults(func=list_enabled_rules)
search_term_help='A quoted regex search term (ex: "\$EXTERNAL_NET")'
search_term_help='A properly escaped regex search term (ex: "\\\$EXTERNAL_NET")'
replace_term_help='The text to replace the search term with'
# Modify actions

View File

@@ -1,13 +1,10 @@
#!/bin/bash
got_root() {
# Make sure you are root
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run using sudo!"
exit 1
fi
. /usr/sbin/so-common
}
argstr=""
for arg in "$@"; do
argstr="${argstr} \"${arg}\""
done
got_root
docker exec so-idstools /bin/bash -c "cd /opt/so/idstools/etc && idstools-rulecat $1"
docker exec so-idstools /bin/bash -c "cd /opt/so/idstools/etc && idstools-rulecat --force ${argstr}"

View File

@@ -92,6 +92,10 @@ if [ $CURRENT_TIME -ge $((SYSTEM_START_TIME+$UPTIME_REQ)) ]; then
log "last highstate completed at `date -d @$LAST_HIGHSTATE_END`" I
log "checking if any jobs are running" I
logCmd "salt-call --local saltutil.running" I
log "ensure salt.minion-state-apply-test is enabled" I
logCmd "salt-call state.enable salt.minion-state-apply-test" I
log "ensure highstate is enabled" I
logCmd "salt-call state.enable highstate" I
log "killing all salt-minion processes" I
logCmd "pkill -9 -ef /usr/bin/salt-minion" I
log "starting salt-minion service" I

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
else
after=$grep_out
fi
echo $grep_out
}
print_msg() {
local msg=$1
if ! [[ $quiet ]]; then
printf "%s\n" \
"----" \
"$msg" \
"----" \
""
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
}
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 ""
replace_or_add() {
local type=$1
local string=$2
if grep -q "$type" $temp_config; then
sed -i "/$type .*/d" $temp_config
fi
if [[ $before != $after ]]; then
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
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 ""
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
if [[ $before != $after ]]; then
reload_required=true
# 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
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 ""
# 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
if [[ $before != $after ]]; then
reload_required=true
fi
# HostKeyAlgorithms
check_sshd_t "hostkeyalgorithms"
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
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"
)
if [[ $before != $after ]]; then
reload_required=true
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
print_msg "Reloading sshd to load config changes..."
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
if ! [[ $quiet ]]; then echo "No changes made to temp file, cleaning up"; fi
rm -f $temp_config
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

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

@@ -41,10 +41,7 @@ if [[ $? == 0 ]]; then
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
check_password_and_exit "$THEHIVE_PASS"
# Create new user in TheHive
resp=$(curl -sk -XPOST -H "Authorization: Bearer $THEHIVE_KEY" -H "Content-Type: application/json" -L "https://$THEHVIE_API_URL/user" -d "{\"login\" : \"$THEHIVE_USER\",\"name\" : \"$THEHIVE_USER\",\"roles\" : [\"read\",\"alert\",\"write\",\"admin\"],\"preferences\" : \"{}\",\"password\" : \"$THEHIVE_PASS\"}")

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, dollar signs, 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

@@ -18,11 +18,17 @@
source $(dirname $0)/so-common
if [[ $# -lt 1 || $# -gt 2 ]]; then
echo "Usage: $0 <list|add|update|enable|disable|validate|valemail|valpass> [email]"
DEFAULT_ROLE=analyst
if [[ $# -lt 1 || $# -gt 3 ]]; then
echo "Usage: $0 <operation> [email] [role]"
echo ""
echo " where <operation> is one of the following:"
echo ""
echo " list: Lists all user email addresses currently defined in the identity system"
echo " add: Adds a new user to the identity system; requires 'email' parameter"
echo " add: Adds a new user to the identity system; requires 'email' parameter, while 'role' parameter is optional and defaults to $DEFAULT_ROLE"
echo " addrole: Grants a role to an existing user; requires 'email' and 'role' parameters"
echo " delrole: Removes a role from an existing user; requires 'email' and 'role' parameters"
echo " update: Updates a user's password; requires 'email' parameter"
echo " enable: Enables a user; requires 'email' parameter"
echo " disable: Disables a user; requires 'email' parameter"
@@ -36,13 +42,25 @@ fi
operation=$1
email=$2
role=$3
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}
socRolesFile=${SOC_ROLES_FILE:-/opt/so/conf/soc/soc_users_roles}
esUID=${ELASTIC_UID:-930}
esGID=${ELASTIC_GID:-930}
soUID=${SOCORE_UID:-939}
soGID=${SOCORE_GID:-939}
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 +76,7 @@ function require() {
# Verify this environment is capable of running this script
function verifyEnvironment() {
require "argon2"
require "htpasswd"
require "jq"
require "curl"
require "openssl"
@@ -72,7 +90,7 @@ function findIdByEmail() {
email=$1
response=$(curl -Ss -L ${kratosUrl}/identities)
identityId=$(echo "${response}" | jq ".[] | select(.verifiable_addresses[0].value == \"$email\") | .id")
identityId=$(echo "${response}" | jq -r ".[] | select(.verifiable_addresses[0].value == \"$email\") | .id")
echo $identityId
}
@@ -81,20 +99,36 @@ function validatePassword() {
len=$(expr length "$password")
if [[ $len -lt 6 ]]; then
echo "Password does not meet the minimum requirements"
exit 2
fail "Password does not meet the minimum requirements"
fi
if [[ $len -gt 72 ]]; then
fail "Password is too long (max: 72)"
fi
check_password_and_exit "$password"
}
function validateEmail() {
email=$1
# (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
if [[ ! "$email" =~ ^[[:alnum:]._%+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,}$ ]]; then
echo "Email address is invalid"
exit 3
fail "Email address is invalid"
fi
if [[ "$email" =~ [A-Z] ]]; then
fail "Email addresses cannot contain uppercase letters"
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
@@ -109,26 +143,229 @@ function updatePassword() {
validatePassword "$password"
fi
if [[ -n $identityId ]]; then
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 createFile() {
filename=$1
uid=$2
gid=$3
mkdir -p $(dirname "$filename")
truncate -s 0 "$filename"
chmod 600 "$filename"
chown "${uid}:${gid}" "$filename"
}
function ensureRoleFileExists() {
if [[ ! -f "$socRolesFile" || ! -s "$socRolesFile" ]]; then
# Generate the new users file
rolesTmpFile="${socRolesFile}.tmp"
createFile "$rolesTmpFile" "$soUID" "$soGID"
if [[ -f "$databasePath" ]]; then
echo "Migrating roles to new file: $socRolesFile"
echo "select 'superuser:' || id from identities;" | sqlite3 "$databasePath" \
>> "$rolesTmpFile"
[[ $? != 0 ]] && fail "Unable to read identities from database"
echo "The following users have all been migrated with the super user role:"
cat "${rolesTmpFile}"
else
echo "Database file does not exist yet, installation is likely not yet complete."
fi
if [[ -d "$socRolesFile" ]]; then
echo "Removing invalid roles directory created by Docker"
rm -fr "$socRolesFile"
fi
mv "${rolesTmpFile}" "${socRolesFile}"
fi
}
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 and roles between SOC and Elastic..."
usersTmpFile="${elasticUsersFile}.tmp"
createFile "${usersTmpFile}" "$esUID" "$esGID"
rolesTmpFile="${elasticRolesFile}.tmp"
createFile "${rolesTmpFile}" "$esUID" "$esGID"
authPillarJson=$(lookup_salt_value "auth" "elasticsearch" "pillar" "json")
syncElasticSystemUser "$authPillarJson" "so_elastic_user" "$usersTmpFile"
syncElasticSystemUser "$authPillarJson" "so_kibana_user" "$usersTmpFile"
syncElasticSystemUser "$authPillarJson" "so_logstash_user" "$usersTmpFile"
syncElasticSystemUser "$authPillarJson" "so_beats_user" "$usersTmpFile"
syncElasticSystemUser "$authPillarJson" "so_monitor_user" "$usersTmpFile"
syncElasticSystemRole "$authPillarJson" "so_elastic_user" "superuser" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_kibana_user" "superuser" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_logstash_user" "superuser" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_beats_user" "superuser" "$rolesTmpFile"
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" && -f "$socRolesFile" ]]; then
# Append the SOC users
echo "select '{\"user\":\"' || ici.identifier || '\", \"data\":' || ic.config || '}'" \
"from identity_credential_identifiers ici, identity_credentials ic, identities i " \
"where " \
" ici.identity_credential_id=ic.id " \
" and ic.identity_id=i.id " \
" and instr(ic.config, 'hashed_password') " \
" and i.state == 'active' " \
"order by ici.identifier;" | \
sqlite3 "$databasePath" | \
jq -r '.user + ":" + .data.hashed_password' \
>> "$usersTmpFile"
[[ $? != 0 ]] && fail "Unable to read credential hashes from database"
# Append the user roles
while IFS="" read -r rolePair || [ -n "$rolePair" ]; do
userId=$(echo "$rolePair" | cut -d: -f2)
role=$(echo "$rolePair" | cut -d: -f1)
echo "select '$role:' || ici.identifier " \
"from identity_credential_identifiers ici, identity_credentials ic " \
"where ici.identity_credential_id=ic.id and ic.identity_id = '$userId';" | \
sqlite3 "$databasePath" >> "$rolesTmpFile"
done < "$socRolesFile"
else
echo "Database file or soc roles 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() {
ensureRoleFileExists
# Check if a sync is needed. Sync is not needed if the following are true:
# - user database entries are all older than the elastic users file
# - soc roles file last modify date is older than the elastic roles file
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" && "$elasticRolesFile" -nt "$socRolesFile" ]]; then
return 1
fi
fi
syncElastic
return 0
}
function listUsers() {
response=$(curl -Ss -L ${kratosUrl}/identities)
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
echo "${response}" | jq -r ".[] | .verifiable_addresses[0].value" | sort
users=$(echo "${response}" | jq -r ".[] | .verifiable_addresses[0].value" | sort)
for user in $users; do
roles=$(grep "$user" "$elasticRolesFile" | cut -d: -f1 | tr '\n' ' ')
echo "$user: $roles"
done
}
function addUserRole() {
email=$1
role=$2
adjustUserRole "$email" "$role" "add"
}
function deleteUserRole() {
email=$1
role=$2
adjustUserRole "$email" "$role" "del"
}
function adjustUserRole() {
email=$1
role=$2
op=$3
identityId=$(findIdByEmail "$email")
[[ ${identityId} == "" ]] && fail "User not found"
ensureRoleFileExists
filename="$socRolesFile"
hasRole=0
grep "$role:" "$socRolesFile" | grep -q "$identityId" && hasRole=1
if [[ "$op" == "add" ]]; then
if [[ "$hasRole" == "1" ]]; then
echo "User '$email' already has the role: $role"
return 1
else
echo "$role:$identityId" >> "$filename"
fi
elif [[ "$op" == "del" ]]; then
if [[ "$hasRole" -ne 1 ]]; then
fail "User '$email' does not have the role: $role"
else
sed "/^$role:$identityId\$/d" "$filename" > "$filename.tmp"
cat "$filename".tmp > "$filename"
rm -f "$filename".tmp
fi
else
fail "Unsupported role adjustment operation: $op"
fi
return 0
}
function createUser() {
email=$1
role=$2
now=$(date -u +%FT%TZ)
addUserJson=$(cat <<EOF
@@ -142,16 +379,30 @@ EOF
response=$(curl -Ss -L ${kratosUrl}/identities -d "$addUserJson")
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
identityId=$(echo "${response}" | jq ".id")
if [[ ${identityId} == "null" ]]; then
identityId=$(echo "${response}" | jq -r ".id")
if [[ "${identityId}" == "null" ]]; then
code=$(echo "${response}" | jq ".error.code")
[[ "${code}" == "409" ]] && fail "User already exists"
reason=$(echo "${response}" | jq ".error.message")
[[ $? == 0 ]] && fail "Unable to add user: ${reason}"
else
updatePassword "$identityId"
addUserRole "$email" "$role"
fi
}
updatePassword $identityId
function migrateLockedUsers() {
# This is a migration function to convert locked users from prior to 2.3.90
# to inactive users using the newer Kratos functionality. This should only
# find locked users once.
lockedEmails=$(curl -s http://localhost:4434/identities | jq -r '.[] | select(.traits.status == "locked") | .traits.email')
if [[ -n "$lockedEmails" ]]; then
echo "Disabling locked users..."
for email in $lockedEmails; do
updateStatus "$email" locked
done
fi
}
function updateStatus() {
@@ -164,24 +415,18 @@ function updateStatus() {
response=$(curl -Ss -L "${kratosUrl}/identities/$identityId")
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
oldConfig=$(echo "select config from identity_credentials where identity_id=${identityId};" | sqlite3 "$databasePath")
schemaId=$(echo "$response" | jq -r .schema_id)
# Capture traits and remove obsolete 'status' trait if exists
traitBlock=$(echo "$response" | jq -c .traits | sed -re 's/,?"status":".*?"//')
state="active"
if [[ "$status" == "locked" ]]; then
config=$(echo $oldConfig | sed -e 's/hashed/locked/')
echo "update identity_credentials set config=CAST('${config}' as BLOB) where identity_id=${identityId};" | sqlite3 "$databasePath"
[[ $? != 0 ]] && fail "Unable to lock credential record"
echo "delete from sessions where identity_id=${identityId};" | sqlite3 "$databasePath"
[[ $? != 0 ]] && fail "Unable to invalidate sessions"
else
config=$(echo $oldConfig | sed -e 's/locked/hashed/')
echo "update identity_credentials set config=CAST('${config}' as BLOB) where identity_id=${identityId};" | sqlite3 "$databasePath"
[[ $? != 0 ]] && fail "Unable to unlock credential record"
state="inactive"
fi
updatedJson=$(echo "$response" | jq ".traits.status = \"$status\" | del(.verifiable_addresses) | del(.id) | del(.schema_url)")
response=$(curl -Ss -XPUT -L ${kratosUrl}/identities/$identityId -d "$updatedJson")
[[ $? != 0 ]] && fail "Unable to mark user as locked"
body="{ \"schema_id\": \"$schemaId\", \"state\": \"$state\", \"traits\": $traitBlock }"
response=$(curl -fSsL -XPUT "${kratosUrl}/identities/$identityId" -d "$body")
[[ $? != 0 ]] && fail "Unable to update user"
}
function updateUser() {
@@ -190,7 +435,7 @@ function updateUser() {
identityId=$(findIdByEmail "$email")
[[ ${identityId} == "" ]] && fail "User not found"
updatePassword $identityId
updatePassword "$identityId"
}
function deleteUser() {
@@ -201,6 +446,11 @@ function deleteUser() {
response=$(curl -Ss -XDELETE -L "${kratosUrl}/identities/$identityId")
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
rolesTmpFile="${socRolesFile}.tmp"
createFile "$rolesTmpFile" "$soUID" "$soGID"
grep -v "$identityId" "$socRolesFile" > "$rolesTmpFile"
mv "$rolesTmpFile" "$socRolesFile"
}
case "${operation}" in
@@ -208,12 +458,14 @@ case "${operation}" in
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
lock
validateEmail "$email"
updatePassword
createUser "$email"
createUser "$email" "${role:-$DEFAULT_ROLE}"
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")
@@ -221,11 +473,38 @@ case "${operation}" in
listUsers
;;
"addrole")
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
[[ "$role" == "" ]] && fail "Role must be provided"
lock
validateEmail "$email"
if addUserRole "$email" "$role"; then
syncElastic
echo "Successfully added role to user"
fi
;;
"delrole")
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
[[ "$role" == "" ]] && fail "Role must be provided"
lock
validateEmail "$email"
deleteUserRole "$email" "$role"
syncElastic
echo "Successfully removed role from user"
;;
"update")
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
lock
updateUser "$email"
syncAll
echo "Successfully updated user"
;;
@@ -233,30 +512,41 @@ 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
echo "Fleet user will need to be recreated manually with so-fleet-user-add"
;;
"disable")
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
check_container fleet && so-fleet-user-delete "$email"
;;
"delete")
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
check_container fleet && so-fleet-user-delete "$email"
;;
"sync")
lock
syncAll
;;
"validate")
@@ -275,6 +565,11 @@ case "${operation}" in
echo "Password is acceptable"
;;
"migrate")
migrateLockedUsers
echo "User migration complete"
;;
*)
fail "Unsupported operation: $operation"
;;

View File

@@ -1,5 +1,4 @@
#!/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
@@ -20,13 +19,8 @@ echo "Starting to check for yara rule updates at $(date)..."
output_dir="/opt/so/saltstack/default/salt/strelka/rules"
mkdir -p $output_dir
repos="$output_dir/repos.txt"
ignorefile="$output_dir/ignore.txt"
deletecounter=0
newcounter=0
updatecounter=0
{% if ISAIRGAP is sameas true %}
@@ -35,58 +29,21 @@ echo "Airgap mode enabled."
clone_dir="/nsm/repo/rules/strelka"
repo_name="signature-base"
mkdir -p /opt/so/saltstack/default/salt/strelka/rules/signature-base
# Ensure a copy of the license is available for the rules
[ -f $clone_dir/LICENSE ] && cp $clone_dir/$repo_name/LICENSE $output_dir/$repo_name
# Copy over rules
for i in $(find $clone_dir/yara -name "*.yar*"); do
rule_name=$(echo $i | awk -F '/' '{print $NF}')
repo_sum=$(sha256sum $i | awk '{print $1}')
# Check rules against those in ignore list -- don't copy if ignored.
if ! grep -iq $rule_name $ignorefile; then
existing_rules=$(find $output_dir/$repo_name/ -name $rule_name | wc -l)
# For existing rules, check to see if they need to be updated, by comparing checksums
if [ $existing_rules -gt 0 ];then
local_sum=$(sha256sum $output_dir/$repo_name/$rule_name | awk '{print $1}')
if [ "$repo_sum" != "$local_sum" ]; then
echo "Checksums do not match!"
echo "Updating $rule_name..."
cp $i $output_dir/$repo_name;
((updatecounter++))
fi
else
# If rule doesn't exist already, we'll add it
echo "Adding new rule: $rule_name..."
echo "Adding rule: $rule_name..."
cp $i $output_dir/$repo_name
((newcounter++))
fi
fi;
done
# Check to see if we have any old rules that need to be removed
for i in $(find $output_dir/$repo_name -name "*.yar*" | awk -F '/' '{print $NF}'); do
is_repo_rule=$(find $clone_dir -name "$i" | wc -l)
if [ $is_repo_rule -eq 0 ]; then
echo "Could not find $i in source $repo_name repo...removing from $output_dir/$repo_name..."
rm $output_dir/$repo_name/$i
((deletecounter++))
fi
done
echo "Done!"
if [ "$newcounter" -gt 0 ];then
echo "$newcounter new rules added."
fi
if [ "$updatecounter" -gt 0 ];then
echo "$updatecounter rules updated."
fi
if [ "$deletecounter" -gt 0 ];then
echo "$deletecounter rules removed because they were deprecated or don't exist in the source repo."
echo "$newcounter rules added."
fi
{% else %}
@@ -99,50 +56,21 @@ if [ "$gh_status" == "200" ] || [ "$gh_status" == "301" ]; then
if ! $(echo "$repo" | grep -qE '^#'); then
# Remove old repo if existing bc of previous error condition or unexpected disruption
repo_name=`echo $repo | awk -F '/' '{print $NF}'`
[ -d $repo_name ] && rm -rf $repo_name
[ -d $output_dir/$repo_name ] && rm -rf $output_dir/$repo_name
# Clone repo and make appropriate directories for rules
git clone $repo $clone_dir/$repo_name
echo "Analyzing rules from $clone_dir/$repo_name..."
mkdir -p $output_dir/$repo_name
# Ensure a copy of the license is available for the rules
[ -f $clone_dir/$repo_name/LICENSE ] && cp $clone_dir/$repo_name/LICENSE $output_dir/$repo_name
# Copy over rules
for i in $(find $clone_dir/$repo_name -name "*.yar*"); do
rule_name=$(echo $i | awk -F '/' '{print $NF}')
repo_sum=$(sha256sum $i | awk '{print $1}')
# Check rules against those in ignore list -- don't copy if ignored.
if ! grep -iq $rule_name $ignorefile; then
existing_rules=$(find $output_dir/$repo_name/ -name $rule_name | wc -l)
# For existing rules, check to see if they need to be updated, by comparing checksums
if [ $existing_rules -gt 0 ];then
local_sum=$(sha256sum $output_dir/$repo_name/$rule_name | awk '{print $1}')
if [ "$repo_sum" != "$local_sum" ]; then
echo "Checksums do not match!"
echo "Updating $rule_name..."
cp $i $output_dir/$repo_name;
((updatecounter++))
fi
else
# If rule doesn't exist already, we'll add it
echo "Adding new rule: $rule_name..."
echo "Adding rule: $rule_name..."
cp $i $output_dir/$repo_name
((newcounter++))
fi
fi;
done
# Check to see if we have any old rules that need to be removed
for i in $(find $output_dir/$repo_name -name "*.yar*" | awk -F '/' '{print $NF}'); do
is_repo_rule=$(find $clone_dir/$repo_name -name "$i" | wc -l)
if [ $is_repo_rule -eq 0 ]; then
echo "Could not find $i in source $repo_name repo...removing from $output_dir/$repo_name..."
rm $output_dir/$repo_name/$i
((deletecounter++))
fi
done
rm -rf $clone_dir/$repo_name
fi
@@ -151,15 +79,7 @@ if [ "$gh_status" == "200" ] || [ "$gh_status" == "301" ]; then
echo "Done!"
if [ "$newcounter" -gt 0 ];then
echo "$newcounter new rules added."
fi
if [ "$updatecounter" -gt 0 ];then
echo "$updatecounter rules updated."
fi
if [ "$deletecounter" -gt 0 ];then
echo "$deletecounter rules removed because they were deprecated or don't exist in the source repo."
echo "$newcounter rules added."
fi
else

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

@@ -0,0 +1,29 @@
{%- set cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-aws:close', 30) -%}
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
#
# Also remember that all examples have 'disable_action' set to True. If you
# want to use this action as a template, be sure to set this to False after
# copying it.
actions:
1:
action: close
description: >-
Close aws indices older than {{cur_close_days}} days.
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: '^(logstash-aws.*|so-aws.*)$'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{cur_close_days}}
exclude:

View File

@@ -0,0 +1,29 @@
{%- set DELETE_DAYS = salt['pillar.get']('elasticsearch:index_settings:so-aws:delete', 365) -%}
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
#
# Also remember that all examples have 'disable_action' set to True. If you
# want to use this action as a template, be sure to set this to False after
# copying it.
actions:
1:
action: delete_indices
description: >-
Delete aws indices when older than {{ DELETE_DAYS }} days.
options:
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: '^(logstash-aws.*|so-aws.*)$'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{ DELETE_DAYS }}
exclude:

View File

@@ -0,0 +1,24 @@
{%- set WARM_DAYS = salt['pillar.get']('elasticsearch:index_settings:so-aws:warm', 7) -%}
actions:
1:
action: allocation
description: "Apply shard allocation filtering rules to the specified indices"
options:
key: box_type
value: warm
allocation_type: require
wait_for_completion: true
timeout_override:
continue_if_exception: false
disable_action: false
filters:
- filtertype: pattern
kind: prefix
value: so-aws
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{ WARM_DAYS }}

View File

@@ -0,0 +1,29 @@
{%- set cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-azure:close', 30) -%}
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
#
# Also remember that all examples have 'disable_action' set to True. If you
# want to use this action as a template, be sure to set this to False after
# copying it.
actions:
1:
action: close
description: >-
Close azure indices older than {{cur_close_days}} days.
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: '^(logstash-azure.*|so-azure.*)$'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{cur_close_days}}
exclude:

View File

@@ -0,0 +1,29 @@
{%- set DELETE_DAYS = salt['pillar.get']('elasticsearch:index_settings:so-azure:delete', 365) -%}
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
#
# Also remember that all examples have 'disable_action' set to True. If you
# want to use this action as a template, be sure to set this to False after
# copying it.
actions:
1:
action: delete_indices
description: >-
Delete azure indices when older than {{ DELETE_DAYS }} days.
options:
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern
kind: regex
value: '^(logstash-azure.*|so-azure.*)$'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{ DELETE_DAYS }}
exclude:

View File

@@ -0,0 +1,24 @@
{%- set WARM_DAYS = salt['pillar.get']('elasticsearch:index_settings:so-azure:warm', 7) -%}
actions:
1:
action: allocation
description: "Apply shard allocation filtering rules to the specified indices"
options:
key: box_type
value: warm
allocation_type: require
wait_for_completion: true
timeout_override:
continue_if_exception: false
disable_action: false
filters:
- filtertype: pattern
kind: prefix
value: so-azure
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{ WARM_DAYS }}

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