Compare commits

...

864 Commits

Author SHA1 Message Date
Mike Reeves
42390eb8a2 Merge pull request #1069 from Security-Onion-Solutions/fix/2.0.1-pcap-interval
Fix/2.0.1 pcap interval and security fixes
2020-07-23 09:53:56 -04:00
Mike Reeves
ff77abfdc8 Update soup
Remove strelka that isn't an image. Fix formatting
2020-07-23 09:51:52 -04:00
Mike Reeves
74faab92ab Remove variables.txt 2020-07-23 09:21:05 -04:00
Mike Reeves
201efd285a Fix passwords from conflicting with yaml 2020-07-22 16:34:50 -04:00
Mike Reeves
6d6ba04dcd Fix version replace 2020-07-22 16:15:32 -04:00
Mike Reeves
b24c82d49c Fix Docker List 2020-07-22 16:09:28 -04:00
Mike Reeves
b9e6ddf7df Clean up static.sls passwords 2020-07-22 15:50:56 -04:00
Jason Ertel
46e7d29f12 Add support for custom branches in soup 2020-07-22 14:35:50 -04:00
Jason Ertel
cb46ca4832 Ensure distributed installations have the check-in interval correctly set 2020-07-22 14:26:55 -04:00
Mike Reeves
f5665ad700 Merge pull request #1045 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERIFY_ISO.md
2020-07-21 08:49:53 -04:00
Mike Reeves
3141e2eca1 Update VERIFY_ISO.md 2020-07-21 08:46:38 -04:00
Mike Reeves
6c49addbec Merge pull request #1040 from Security-Onion-Solutions/dev
Update ISO Signature
2020-07-20 17:01:02 -04:00
Mike Reeves
a891fed1be Create VERIFY_ISO.md 2020-07-20 16:58:32 -04:00
Mike Reeves
bbd1e9ba74 Create KEYS 2020-07-20 16:36:23 -04:00
Doug Burks
da3b055428 Update README.md 2020-07-20 16:33:39 -04:00
Doug Burks
a7fdd21284 Update README.md 2020-07-20 16:30:25 -04:00
Mike Reeves
1b02ad0d46 Upload ISO sig 2020-07-20 16:13:07 -04:00
Josh Brower
6d1ad3f2e0 Merge pull request #1038 from Security-Onion-Solutions/dev
Fix for telegraf
2020-07-20 14:38:12 -04:00
Josh Patterson
666464c7f2 Merge pull request #1037 from Security-Onion-Solutions/quickfix/grafana
ensure telegraf hostname is lowercase
2020-07-20 14:36:49 -04:00
m0duspwnens
fc14f4d8d8 ensure telegraf hostname is lowercase 2020-07-20 14:35:47 -04:00
Doug Burks
095e637dfa Merge pull request #1036 from Security-Onion-Solutions/dev
2.0.0.rc.1
2020-07-20 14:35:16 -04:00
William Wernert
edcf834635 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev
# Conflicts:
#	salt/common/tools/sbin/so-elastic-clear
2020-07-20 14:23:23 -04:00
William Wernert
9be4756a90 [fix] Resolve merge commits 2020-07-20 14:22:55 -04:00
bryant-treacle
9ff3ffc401 Issue #885: so-elastic-clear not removing so-* indices 2020-07-20 14:21:17 -04:00
Mike Reeves
a642ea0e98 Merge branch 'master' into dev 2020-07-20 13:27:44 -04:00
Mike Reeves
0b0543045b Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into dev 2020-07-20 10:15:53 -04:00
Mike Reeves
9565050b82 Fix Features script 2020-07-20 10:15:47 -04:00
Jason Ertel
beda859207 Update changes.json sub-bullets to improve communication of the content 2020-07-20 08:47:39 -04:00
Jason Ertel
bd70fdbb33 Corrected JSON syntax to avoid a blank Overview screen in SOC; Applied HTML formatting of changes.json summaries for better markup handling. 2020-07-19 08:11:57 -04:00
Jason Ertel
053f27eb35 Run setterm, to blank terminal, only for non-automated installations 2020-07-19 06:58:28 -04:00
Mike Reeves
514df1211e Soup Update 2020-07-18 23:34:45 -04:00
Mike Reeves
28a954db82 Soup Update 2020-07-18 23:24:22 -04:00
Mike Reeves
0302d2b6ac Soup Update 2020-07-18 23:19:52 -04:00
Mike Reeves
74e6846e84 Soup Update 2020-07-18 23:19:14 -04:00
Mike Reeves
954c12acfb Soup Update 2020-07-18 23:16:39 -04:00
Mike Reeves
872f849204 Soup Update 2020-07-18 23:12:53 -04:00
Mike Reeves
5bab5ae7d1 Soup Update 2020-07-18 23:10:37 -04:00
Mike Reeves
27568f0047 Soup Update 2020-07-18 23:09:18 -04:00
Mike Reeves
095a87dc46 Soup Update 2020-07-18 23:06:31 -04:00
Mike Reeves
847a9d76e0 Soup Update 2020-07-18 23:02:28 -04:00
Mike Reeves
fbc8a90083 Soup Update 2020-07-18 22:58:15 -04:00
Mike Reeves
7b1ca5f361 Fix common tools permissions 2020-07-18 22:50:08 -04:00
Mike Reeves
1bcbcb1f98 Fix idstools jinja 2020-07-18 22:46:57 -04:00
Mike Reeves
517edf1938 Update Release Notes 2020-07-18 17:55:35 -04:00
Mike Reeves
64bd70bb48 Update Release Notes 2020-07-18 17:50:25 -04:00
Mike Reeves
f4c23fcc2e Merge pull request #1033 from Security-Onion-Solutions/fix/idstools
Fix/idstools
2020-07-18 17:33:54 -04:00
Mike Reeves
16906b8361 Merge branch 'dev' into fix/idstools 2020-07-18 17:32:54 -04:00
Mike Reeves
3de2afe618 Fix final bugs 2020-07-18 17:29:11 -04:00
Jason Ertel
23420ace56 Prevent nmcli, setterm, and echo output from leaking to console and crontab output 2020-07-18 08:38:09 -04:00
Mike Reeves
1d24d7bc7f Misc pillars 2020-07-17 17:38:10 -04:00
Mike Reeves
b75487dc74 Update so-functions 2020-07-17 17:36:13 -04:00
Mike Reeves
aaca5c7ff2 Update rulecat.conf 2020-07-17 17:35:16 -04:00
Mike Reeves
2e2bcfb3b7 Fix functions so pillars are correct 2020-07-17 17:33:36 -04:00
Mike Reeves
e78a14e2c7 Merge pull request #1032 from Security-Onion-Solutions/fix/idstools
IDSTOOLS Pillar Items
2020-07-17 16:00:59 -04:00
Mike Reeves
693a101d34 IDSTOOLS Pillar Items 2020-07-17 15:59:58 -04:00
William Wernert
3c855ed793 [fix] Set $percentage since it only exists in previous subshell 2020-07-17 15:38:14 -04:00
Mike Reeves
d3529686cc Merge pull request #1031 from Security-Onion-Solutions/quickfix/bro2zeeklogs
change reference from bro to zeek
2020-07-17 14:53:47 -04:00
m0duspwnens
7176fdf7a1 rename from bro to zeek 2020-07-17 14:53:01 -04:00
m0duspwnens
e3efaee864 change reference from bro to zeek 2020-07-17 14:41:44 -04:00
Mike Reeves
74f6f2abee Update soup 2020-07-17 13:38:55 -04:00
Josh Patterson
0d737b8f41 Merge pull request #1030 from Security-Onion-Solutions/quickfix/schedulesetup
remove quotes
2020-07-17 13:30:43 -04:00
William Wernert
5570c778ad [feat] Add hostname formatting check for manager hostname 2020-07-17 13:30:08 -04:00
m0duspwnens
6ba342c084 remove quotes 2020-07-17 13:30:05 -04:00
William Wernert
1309e0c7ad Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-07-17 13:09:21 -04:00
William Wernert
446817353d [refactor] | tee ... >> to > ... 2>> to show errors in log 2020-07-17 13:09:18 -04:00
Josh Brower
3c6ae08d4d Merge pull request #1029 from Security-Onion-Solutions/bugfix/fleet-eval
Kibana Fleet Pivot Fix
2020-07-17 13:01:08 -04:00
Josh Brower
da155b5dea Kibana Fleet Pivot Fix 2020-07-17 13:00:03 -04:00
William Wernert
1abf324654 [fix] Set py_ver_url_path for all install types 2020-07-17 12:59:17 -04:00
William Wernert
d88e15ecb4 [fix] Use | tee instead of redirect when already redirecting to setup log 2020-07-17 12:33:25 -04:00
William Wernert
9cbc7ad8f5 [fix] guage -> gauge 2020-07-17 12:08:16 -04:00
William Wernert
1bd154760d Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-07-17 11:09:11 -04:00
William Wernert
ede250d9e4 [feat] Merge access method dialogs together 2020-07-17 11:09:08 -04:00
William Wernert
d97271cca3 [fix] Don't drop to shell while running so-allow 2020-07-17 11:08:31 -04:00
Mike Reeves
17e3bde2f8 Create home dir for adduser function 2020-07-17 10:55:30 -04:00
Josh Brower
083e43b26b Merge pull request #1028 from Security-Onion-Solutions/bugfix/fleet-eval
Eval Ubuntu Fleet fix
2020-07-17 10:27:51 -04:00
Josh Brower
6e4eb76393 Eval Ubuntu Fleet fix 2020-07-17 10:25:48 -04:00
Josh Patterson
5633eed6a4 Merge pull request #1027 from Security-Onion-Solutions/quickfix/schedulesetup
dont try to copy schedules if the directory is empty
2020-07-17 10:24:50 -04:00
m0duspwnens
2541f4d8e8 dont try to copy schedules if the directory is empty 2020-07-17 10:23:51 -04:00
Josh Patterson
e6b795e8b3 Merge pull request #1026 from Security-Onion-Solutions/quickfix/schedulesetup
dont try to copy schedules if the directory is empty
2020-07-17 10:07:17 -04:00
m0duspwnens
6f077e66e6 dont try to copy schedules if the directory is empty 2020-07-17 10:05:54 -04:00
weslambert
2341d9592e Merge pull request #1025 from Security-Onion-Solutions/fix/wazuh_cleanup
Change verbiage
2020-07-17 09:39:21 -04:00
weslambert
e91aa751a7 Change verbiage 2020-07-17 09:38:43 -04:00
William Wernert
958d614bef [fix] Only show motd ip message on manager node 2020-07-17 09:21:47 -04:00
Josh Brower
442e870c16 Merge pull request #1024 from Security-Onion-Solutions/bugfix/kibana-dashboard-updates
Kibana dashboard updates
2020-07-17 08:15:33 -04:00
Josh Brower
32a6f825c2 Kibana dashboard updates 2020-07-17 08:14:37 -04:00
Josh Patterson
06c4924b70 Merge pull request #1023 from Security-Onion-Solutions/quickfix/yum
change from manager to master for salt config.get
2020-07-16 21:06:35 -04:00
m0duspwnens
cc77a50d8d change from manager to master for salt config.get 2020-07-16 21:05:44 -04:00
Mike Reeves
2d68d5419b fix adtotab perms 2020-07-16 19:47:15 -04:00
Mike Reeves
258d9d3bfc change salt perms 2020-07-16 17:07:04 -04:00
Mike Reeves
03ff592aa4 Merge pull request #1022 from Security-Onion-Solutions/fix/telegrafperms
Fix salt refresh script
2020-07-16 16:38:40 -04:00
Mike Reeves
21f09a9cd5 Fix salt refresh script 2020-07-16 16:37:48 -04:00
Josh Brower
4fd1daeca1 Merge pull request #1021 from Security-Onion-Solutions/bugfix/fleet-packages-urlbase
Osquery packages hostname fix
2020-07-16 16:36:30 -04:00
Josh Brower
51beb52bb8 Osquery packages hostname fix 2020-07-16 16:35:51 -04:00
Mike Reeves
20446ed3aa Merge pull request #1020 from Security-Onion-Solutions/fix/telegrafperms
Fix/telegrafperms
2020-07-16 16:34:04 -04:00
Mike Reeves
d31ce4aa48 Fix soup issues 2020-07-16 16:32:38 -04:00
Mike Reeves
07626905c5 Fix telegraf script perms 2020-07-16 15:20:11 -04:00
Josh Patterson
5634446fcb Merge pull request #1019 from Security-Onion-Solutions/quickfix/lstoes
fix the container watch for logstash container state
2020-07-16 15:06:29 -04:00
m0duspwnens
c61a52cc5e fix the container watch for logstash container state 2020-07-16 15:05:54 -04:00
William Wernert
25dbcfaebe [refactor] Add check for "Result: False" in setup 2020-07-16 14:08:56 -04:00
Josh Patterson
f1d8548913 Merge pull request #1017 from Security-Onion-Solutions/quickfix/lstoes
dont run templates script if there arent templates
2020-07-16 13:37:15 -04:00
m0duspwnens
9606d86e84 dont run templates script if there arent templates 2020-07-16 13:36:44 -04:00
William Wernert
8f62cd8f82 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-07-16 11:33:20 -04:00
William Wernert
a041be5c21 [fix] Don't force YARA Strelka rules during setup 2020-07-16 11:33:11 -04:00
phil1090
5d2c6d330f Update README.md 2020-07-16 10:15:40 -04:00
Josh Patterson
582edd7aac Merge pull request #1016 from Security-Onion-Solutions/quickfix/lstoes
including elasticsearch in logstash state
2020-07-16 10:13:18 -04:00
m0duspwnens
f10f47ad4e including elasticsearch in logstash state 2020-07-16 10:12:10 -04:00
weslambert
f8bb094546 Merge pull request #1014 from Security-Onion-Solutions/fix/strelka_standalone
Fix module eval
2020-07-16 09:32:06 -04:00
Wes Lambert
8275f458a1 Fix module eval 2020-07-16 13:30:38 +00:00
William Wernert
5190e5d434 Update README.md 2020-07-16 09:20:20 -04:00
weslambert
7fecfdab32 Update README.md 2020-07-16 08:14:47 -04:00
weslambert
f7d527bb90 Update README.md 2020-07-16 08:14:23 -04:00
Josh Brower
350d2fbeda Update README.md 2020-07-15 19:07:25 -04:00
Josh Brower
29c28fcb5e Update README.md 2020-07-15 19:06:36 -04:00
Josh Brower
48c9244a81 Update README.md 2020-07-15 19:05:49 -04:00
Mike Reeves
a4672dedee Update README.md 2020-07-15 18:17:05 -04:00
Mike Reeves
473606371a Fix Features Download 2020-07-15 17:49:13 -04:00
Mike Reeves
d71dc89b13 New SOUP 2020-07-15 17:46:33 -04:00
Jason Ertel
9781d8d0e7 Ensure permissions are consistently applied to all imported PCAP files 2020-07-15 13:53:28 -04:00
Jason Ertel
0a976861f3 Dynamically set sensor checkin interval; allow overrides if var is preset 2020-07-15 13:22:14 -04:00
Josh Brower
80e081e828 Merge pull request #1010 from Security-Onion-Solutions/bugfix/playbook-anonymous-perms
Playbook anonymous perms fix
2020-07-15 12:40:47 -04:00
Josh Brower
d11ef08961 Playbook anonymous perms fix 2020-07-15 12:37:04 -04:00
Jason Ertel
3c42f50e99 Ensure whiptail success/summary screen is final step before reboot 2020-07-15 11:12:48 -04:00
Josh Patterson
83428d4785 Merge pull request #1009 from Security-Onion-Solutions/quickfix/lstoes
load templates for es for eval
2020-07-15 08:32:50 -04:00
m0duspwnens
e4fff05dbc load templates for es for eval 2020-07-15 08:30:43 -04:00
Jason Ertel
9dc1151347 Imported logs are sent to so-import index on eval installations 2020-07-14 22:59:42 -04:00
Jason Ertel
b53ce392ef Improve grammer of summary screen in whiptail 2020-07-14 22:45:38 -04:00
Jason Ertel
c0960e58e8 Improve grammer of so-allow input prompt 2020-07-14 19:42:53 -04:00
Josh Patterson
549916306c Merge pull request #1008 from Security-Onion-Solutions/quickfix/lstoes
Quickfix/lstoes
2020-07-14 17:37:19 -04:00
m0duspwnens
5cf71596b2 add curlys 2020-07-14 17:36:52 -04:00
Jason Ertel
acb800d1c9 Using static UID for Grafana overview dashboard to allow SOC to directly link to those dashboards 2020-07-14 17:36:30 -04:00
Jason Ertel
9bbbaa485c Switch PM to AM since we want to span midnight to midnight 2020-07-14 17:36:30 -04:00
m0duspwnens
acaec6c125 remove recurse causing issues 2020-07-14 17:12:29 -04:00
Josh Brower
e7e1982862 Merge pull request #1007 from Security-Onion-Solutions/bugfix/ingest-parsing
Parsing & Hunt query updates
2020-07-14 17:00:04 -04:00
Josh Brower
8647944ae6 Parsing & Hunt query updates 2020-07-14 16:59:06 -04:00
Mike Reeves
55056f3193 Merge pull request #1006 from Security-Onion-Solutions/fix/perms
Change opt/so perms
2020-07-14 16:19:02 -04:00
m0duspwnens
57bf23d83c move templates from logstash to elasticsearch 2020-07-14 16:07:46 -04:00
Doug Burks
a1e6a85a68 explicitly set Suricata timestamp timezone to UTC 2020-07-14 15:49:46 -04:00
weslambert
7a36803e2c Merge pull request #1002 from Security-Onion-Solutions/fix/strelka_observer
Add observer name for Strelka events
2020-07-14 13:39:52 -04:00
Wes Lambert
f9df39977b Add observer name for Strelka events 2020-07-14 17:38:43 +00:00
weslambert
7ed902c0ae Merge pull request #1001 from Security-Onion-Solutions/fix/suricata_timestamp
Convert message timestamp to @timestamp
2020-07-14 13:34:58 -04:00
Josh Brower
47388fa98d Merge pull request #998 from Security-Onion-Solutions/bugfix/fleet-soimage-fix
Fleet reactor fix
2020-07-14 13:06:52 -04:00
Josh Brower
ba8395fc11 Fleet reactor fix 2020-07-14 13:04:29 -04:00
William Wernert
3df5904269 Merge pull request #979 from Security-Onion-Solutions/feature/setup
Feature/setup
2020-07-14 11:17:03 -04:00
William Wernert
caf9e3f75a [fix] Redirect hive_init output to log 2020-07-14 11:13:50 -04:00
William Wernert
ad3c4c4950 [fix] master -> manager 2020-07-14 11:09:12 -04:00
Mike Reeves
57cd2cdbeb Change opt/so perms 2020-07-14 10:37:49 -04:00
William Wernert
4ab90a9a30 [fix] Move redirect var to function after $MAINIP has been set 2020-07-14 10:12:51 -04:00
Mike Reeves
f2d9abf1a5 Merge pull request #996 from Security-Onion-Solutions/fix/curator
Add all actions to cron
2020-07-14 10:05:27 -04:00
Mike Reeves
e404a41d8a Add all actions to cron 2020-07-14 10:04:15 -04:00
Mike Reeves
15be31af6d Merge pull request #995 from Security-Onion-Solutions/fix/curator
Fix spelling error in actions
2020-07-14 09:43:41 -04:00
Jason Ertel
67f2edce28 Resolve merge conflict that reverted import URL back to Kibana 2020-07-14 09:40:16 -04:00
Mike Reeves
d4e6189f6e Fix spelling error in actions 2020-07-14 09:39:56 -04:00
Wes Lambert
d6afde90b0 Convert message timestamp to @timestamp 2020-07-14 13:37:00 +00:00
Josh Brower
0c9c66f6e1 Merge pull request #993 from Security-Onion-Solutions/bugfix/playbook-init
Bugfix/playbook init
2020-07-14 09:14:56 -04:00
Josh Brower
2c72940010 Playbook db init fix 2020-07-14 09:09:55 -04:00
Josh Brower
b884e09e7a Playbook db init fix 2020-07-14 09:09:47 -04:00
William Wernert
178ac79da8 [refactor] Set $REDIRECTIT outside of subshell 2020-07-14 09:05:09 -04:00
Jason Ertel
09c460dbe9 Switch to final image repository prefix 'securityonion' for RC1 2020-07-14 00:45:20 -04:00
Jason Ertel
d75d64c8ed Mount imported pcap dirs into sensoroni container for imported PCAP pivots 2020-07-13 21:03:47 -04:00
Jason Ertel
8f66a27f07 Refactor image repository to a single variable 2020-07-13 18:26:43 -04:00
Jason Ertel
f67f0679ae Add new so-pcaptools image to docker list for network install 2020-07-13 16:02:22 -04:00
William Wernert
aa4d435020 [fix] Don't run so-allow before setup complete menu 2020-07-13 15:21:05 -04:00
William Wernert
81c8185cb5 [refactor] Delete check for network install since we check /nsm now 2020-07-13 14:53:47 -04:00
William Wernert
1cf0732991 Merge branch 'dev' into feature/setup
# Conflicts:
#	setup/so-setup
2020-07-13 14:35:24 -04:00
William Wernert
00f178197c [fix] Evaluate $success early to avoid checking against other output 2020-07-13 14:34:11 -04:00
Mike Reeves
98811c147d Merge pull request #989 from Security-Onion-Solutions/feature/isosetup
Fix username so install works properly from ISO
2020-07-13 14:27:20 -04:00
Mike Reeves
55869c4f81 Fix username so install works properly from ISO 2020-07-13 14:25:10 -04:00
William Wernert
c585713122 [style] Change SO_ERROR check to non-empty check 2020-07-13 13:28:54 -04:00
Josh Patterson
8dc63a1f52 Merge pull request #987 from Security-Onion-Solutions/quickfix/patchschedule
Quickfix/patchschedule
2020-07-13 11:35:00 -04:00
m0duspwnens
59c00057b1 fix patch pillar, select patch hours on 1 screen 2020-07-13 11:34:30 -04:00
m0duspwnens
ef3c5d1fe0 fix patch pillar, select patch hours on 1 screen 2020-07-13 11:31:37 -04:00
William Wernert
06aa63dd14 Merge branch 'dev' into feature/setup 2020-07-13 11:24:04 -04:00
Mike Reeves
3bc492ebde Merge pull request #986 from Security-Onion-Solutions/feature/isosetup
Removes create admin user from setup
2020-07-13 11:13:10 -04:00
Mike Reeves
dc0aa270d9 Fix ISO rsync 2020-07-13 11:12:11 -04:00
Mike Reeves
14faa3b898 Clean up bash profile 2020-07-13 11:08:04 -04:00
Mike Reeves
a6cceef986 Removes create admin user from setup 2020-07-13 10:55:55 -04:00
Josh Patterson
db80675609 Merge pull request #985 from Security-Onion-Solutions/quickfix/elasticpillar
prevent elasticsearch pillar being added twice for managers and helix
2020-07-13 09:48:44 -04:00
m0duspwnens
242e17b329 prevent elasticsearch pillar being added twice for managers and helix 2020-07-13 09:45:11 -04:00
William Wernert
c31c24ccd8 [fix] Check /nsm instead of / for free space 2020-07-13 09:12:24 -04:00
Josh Brower
e62381e998 Merge pull request #982 from Security-Onion-Solutions/bugfix/alerting
Misc fixes
2020-07-10 19:50:27 -04:00
Josh Brower
65062d93f4 Misc fixes 2020-07-10 19:43:43 -04:00
William Wernert
99dc16d644 Merge pull request #981 from Security-Onion-Solutions/bugfix/disk-space-network-only
[fix] Only check for disk space on a network install
2020-07-10 18:52:48 -04:00
William Wernert
605daaf66b [fix] Only check for disk space on a network install 2020-07-10 18:45:34 -04:00
William Wernert
056b3a0629 Merge branch 'dev' into feature/setup
# Conflicts:
#	setup/so-setup
2020-07-10 18:41:24 -04:00
William Wernert
f9c8f8cdca [fix] Set SKIP_REBOOT on any failure during setup 2020-07-10 18:40:39 -04:00
William Wernert
aee304e5d5 [fix] master -> manager 2020-07-10 18:13:20 -04:00
William Wernert
4cfecae3b2 [ix] Remove grafanapassword pillar key 2020-07-10 17:59:51 -04:00
William Wernert
ce7373501b [fix] Add fallback for hive + cortex users 2020-07-10 17:58:47 -04:00
William Wernert
571e97cdf7 Merge branch 'dev' into feature/setup
# Conflicts:
#	salt/thehive/scripts/cortex_init
#	salt/thehive/scripts/hive_init
#	setup/so-functions
#	setup/so-whiptail
2020-07-10 17:42:56 -04:00
William Wernert
547298fce0 [refactor] Hide output for cortex and thehive init scripts 2020-07-10 17:34:33 -04:00
weslambert
ef64048fc6 Merge pull request #978 from Security-Onion-Solutions/fix/sensor-clean
Fix value
2020-07-10 17:17:57 -04:00
weslambert
eb2dc0be4c Fix value 2020-07-10 17:17:33 -04:00
Josh Patterson
69023cdb31 Merge pull request #976 from Security-Onion-Solutions/issue/404
Issue/404
2020-07-10 16:28:28 -04:00
m0duspwnens
13af4cacb0 merge with dev and resolve conflicts 2020-07-10 16:27:10 -04:00
Mike Reeves
755f47da2d Merge pull request #975 from Security-Onion-Solutions/fix/lstemplate
Fix/lstemplate
2020-07-10 15:55:50 -04:00
Mike Reeves
46d572fa8c Fix Filebeat spacing 2020-07-10 15:51:12 -04:00
weslambert
9b079df9f5 Merge pull request #974 from Security-Onion-Solutions/fix/sensor_clean
Fix/sensor clean
2020-07-10 15:35:57 -04:00
Wes Lambert
d7f7fb801c Set role 2020-07-10 19:35:27 +00:00
Wes Lambert
37ab252e01 Add sensor proc eval 2020-07-10 19:30:08 +00:00
William Wernert
f56811e745 [feat] Use setup user+pass for TheHive, Cortex, and Fleet as well 2020-07-10 14:40:04 -04:00
William Wernert
67c8836cd6 [fix] Use 100GB min space for standalone also 2020-07-10 14:39:02 -04:00
William Wernert
72aa91b763 [feat] Add message in setup and motd on where to access SOC 2020-07-10 14:38:21 -04:00
m0duspwnens
9730c4561d add elasticsearch pillar to manager 2020-07-10 14:08:39 -04:00
Jason Ertel
358ef78cd9 Do not stop curator since imported data will now be placed into a longer term so-import index 2020-07-10 13:58:52 -04:00
Jason Ertel
811bbb4cb0 Require sudo to run an import 2020-07-10 13:58:52 -04:00
weslambert
33375a0809 Merge pull request #973 from Security-Onion-Solutions/fix/curator_logsizelimit
Move zeek_clean to so-sensor-clean
2020-07-10 13:57:58 -04:00
Wes Lambert
6e99ca600f Move zeek_clean to so-sensor-clean 2020-07-10 17:56:40 +00:00
Mike Reeves
5eb33d5ac7 Logstash Import and Template Assignment 2020-07-10 13:53:55 -04:00
m0duspwnens
24b8f81e38 merge with dev and resolve conflicts 2020-07-10 12:20:14 -04:00
Mike Reeves
bbef7955b2 Update eval.sls 2020-07-10 11:36:46 -04:00
Mike Reeves
9da4dd0ac9 Merge pull request #971 from Security-Onion-Solutions/feature/espillarz
Feature/espillarz
2020-07-10 11:35:24 -04:00
Mike Reeves
c656bec9c0 Merge branch 'dev' into feature/espillarz 2020-07-10 11:35:12 -04:00
m0duspwnens
0a1b5f29eb merge with dev and resolv conflicts 2020-07-10 10:48:49 -04:00
m0duspwnens
1f48dc765e merge with dev and resolv conflicts 2020-07-10 10:36:48 -04:00
Mike Reeves
3706aa76d8 Add jinja extension 2020-07-10 10:35:31 -04:00
Doug Burks
2ce254dfb0 add new DPD query to Hunt 2020-07-10 06:00:36 -04:00
Doug Burks
f5114c034d change Log Type query in Hunt to include event.dataset in the groupby 2020-07-10 05:52:10 -04:00
Mike Reeves
1a6c4c12b4 Fix elasticsearch yaml 2020-07-09 21:56:32 -04:00
Jason Ertel
6bfd777d25 Enabled elastalert log 2020-07-09 21:34:35 -04:00
Mike Reeves
8ef18f9044 Fiz pillar 2020-07-09 18:51:59 -04:00
m0duspwnens
b2e7a4221c master to manager for ssl signing policy 2020-07-09 17:19:17 -04:00
Mike Reeves
9a7035326d Update Logstash pillar 2020-07-09 17:09:20 -04:00
m0duspwnens
9c2dcd2318 fix reference to master grain 2020-07-09 17:06:44 -04:00
Mike Reeves
ad6c9e7fe9 recurse actions for curator 2020-07-09 16:58:35 -04:00
Mike Reeves
6094d19b0b Make hot default 2020-07-09 16:54:31 -04:00
Mike Reeves
3c6465bb7f ES Jinja the config 2020-07-09 16:42:39 -04:00
Jason Ertel
33179141a1 Enable PCAP pivots from imports 2020-07-09 16:11:38 -04:00
m0duspwnens
5ca3ecf4bd fix reference to master grain 2020-07-09 15:42:39 -04:00
Josh Brower
7b91704894 Merge pull request #970 from Security-Onion-Solutions/defensivedepth-patch-2-host-pillar
Update so-setup
2020-07-09 15:32:38 -04:00
Josh Brower
58d290aa57 Update so-setup 2020-07-09 15:32:19 -04:00
William Wernert
c5eff1d89e [feat][WIP] Add option to run so-allow -a <ip/cidr> during setup 2020-07-09 14:47:55 -04:00
Josh Brower
206bdc60f3 Merge pull request #967 from Security-Onion-Solutions/feature/low-level-alerts
Feature - low level alerts
2020-07-09 13:56:31 -04:00
m0duspwnens
bdd0f64462 add period 2020-07-09 13:54:48 -04:00
Josh Brower
52f7111e1d Feature - low level alerts 2020-07-09 13:53:55 -04:00
m0duspwnens
aea3099df6 change wording 2020-07-09 13:52:31 -04:00
m0duspwnens
823ee42120 https://github.com/Security-Onion-Solutions/securityonion/issues/404 2020-07-09 13:45:24 -04:00
Mike Reeves
7c6677916a Curator actions 2020-07-09 12:56:29 -04:00
Mike Reeves
357efac873 Add index specific curator settings 2020-07-09 12:10:53 -04:00
Mike Reeves
ca20279a09 Add curator to static pillar 2020-07-09 12:00:07 -04:00
Mike Reeves
96bcf9d9f3 Add temaplte files per index 2020-07-09 11:51:55 -04:00
m0duspwnens
3cf31e2460 https://github.com/Security-Onion-Solutions/securityonion/issues/404 2020-07-09 11:27:06 -04:00
Mike Reeves
9c2f7d574d Add ES settings to pillar 2020-07-09 11:19:02 -04:00
Mike Reeves
2c32c24bf0 Fix logstash logic 2020-07-09 09:16:48 -04:00
Josh Patterson
2bfdb09674 Merge pull request #966 from Security-Onion-Solutions/issue/959
fix typo
2020-07-09 08:52:30 -04:00
m0duspwnens
d539f1ddf8 fix typo 2020-07-09 08:51:53 -04:00
Doug Burks
8dfafffef0 remove duplicate line for message2.conn_uids 2020-07-09 06:44:08 -04:00
weslambert
818f7f56b2 Merge pull request #965 from Security-Onion-Solutions/feature/add_gcp_check
Add GCP and make cloud check more generic
2020-07-08 23:31:37 -04:00
weslambert
c01047fad2 Add /dev/null 2020-07-08 23:30:50 -04:00
weslambert
889ba67d85 Move EC2 to more generic cloud verbiage 2020-07-08 23:27:46 -04:00
weslambert
ce00d829e1 Move EC2 to more generic cloud verbiage and check for GCP 2020-07-08 23:26:48 -04:00
weslambert
67fb46f519 Merge pull request #963 from Security-Onion-Solutions/fix/curator_logsizelimit
Add standalone evaluation for log_size_limit
2020-07-08 15:40:54 -04:00
Josh Patterson
99ce77e9bd Merge pull request #962 from Security-Onion-Solutions/issue/959
pillarize yum.conf installonly_limit and proxy
2020-07-08 15:39:22 -04:00
Wes Lambert
f2cea273b6 Add standalone evaluation for log_size_limit 2020-07-08 19:39:14 +00:00
m0duspwnens
59061926f0 pillarize yum.conf installonly_limit and proxy 2020-07-08 15:37:20 -04:00
weslambert
beda67d2a9 Merge pull request #955 from Security-Onion-Solutions/fix/strelka_message_drop
Drop message field and original exiftool keys
2020-07-08 10:56:06 -04:00
weslambert
4cf31e1ee7 Drop message field and original exiftool keys 2020-07-08 10:55:40 -04:00
Doug Burks
fef803a86c Add ignore_failure to geoip processor calls #942 2020-07-08 10:41:14 -04:00
Josh Patterson
3352eb77e9 Merge pull request #954 from Security-Onion-Solutions/issue/825
add pillar example for filebeat inputs/output
2020-07-08 09:53:18 -04:00
m0duspwnens
5f68542241 add pillar example for filebeat inputs/output 2020-07-08 09:52:25 -04:00
weslambert
9c11de5455 Merge pull request #953 from Security-Onion-Solutions/fix/zeek_files_uid
Rename uids to uid
2020-07-08 09:40:04 -04:00
weslambert
b25a3b6986 Rename uids to uid 2020-07-08 09:39:37 -04:00
weslambert
88b7a31195 Merge pull request #952 from Security-Onion-Solutions/fix/wazuh_authdport
Add Wazuh Authd Port
2020-07-08 09:26:28 -04:00
weslambert
987acaeb7b Add Wazuh Authd Port 2020-07-08 09:26:04 -04:00
Josh Brower
10cbc96f48 Merge pull request #948 from Security-Onion-Solutions/fix/fleet
Fleet setup bugfix
2020-07-07 20:56:43 -04:00
Josh Brower
b4b122dbd9 Fleet setup bugfix 2020-07-07 20:55:47 -04:00
William Wernert
4231fb1d1a Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-07-07 17:38:30 -04:00
William Wernert
72a98b33a7 [fix] Change test to check value of $SO_ERROR 2020-07-07 17:38:23 -04:00
Mike Reeves
cdce804c9f Update 9700_output_strelka.conf.jinja 2020-07-07 17:36:49 -04:00
weslambert
2992938596 Merge pull request #947 from Security-Onion-Solutions/fix/strelka_exiftool
Add fields for exiftool keys
2020-07-07 17:13:57 -04:00
Mike Reeves
fc377cd3c1 Merge pull request #945 from Security-Onion-Solutions/issue/929
SSL Lockdown
2020-07-07 16:31:33 -04:00
Mike Reeves
1954a389b0 Update so-functions 2020-07-07 16:12:07 -04:00
Mike Reeves
9576151993 Merge pull request #944 from Security-Onion-Solutions/issue/937
Issue/937
2020-07-07 16:07:47 -04:00
Wes Lambert
3b50ce032a Add fields for exiftool keys 2020-07-07 20:02:09 +00:00
Josh Patterson
07cc89e4d6 Merge pull request #943 from Security-Onion-Solutions/issue/825
Pillarize filebeat inputs and output
2020-07-07 15:51:08 -04:00
m0duspwnens
fff713db85 changes for https://github.com/Security-Onion-Solutions/securityonion/issues/825 2020-07-07 15:48:47 -04:00
Mike Reeves
eccfaf94fb Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion into issue/937 2020-07-07 15:10:12 -04:00
Jason Ertel
f4f189cc50 correct capitalization of true 2020-07-07 14:28:11 -04:00
William Wernert
640cfee3e1 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-07-07 13:13:28 -04:00
William Wernert
3815f7e58e [refactor] Edit logic around setup failure/completion
* Always run `install_cleanup` and `so-allow`
* Change if statement to check whether `$success != 0` or if `$SO_ERROR` was set
* Set `$IP` only for `so-allow` instead of exporting it
2020-07-07 13:12:46 -04:00
William Wernert
1d47cec928 [refactor] Move install_cleanup outside of whiptail functions 2020-07-07 13:02:58 -04:00
William Wernert
0b995533ea [refactor] Only notify user of error found during setup 2020-07-07 13:01:29 -04:00
Mike Reeves
ec89ab39ac Update 9999_output_redis.conf.jinja 2020-07-07 11:56:45 -04:00
weslambert
34e06ecde1 Merge pull request #940 from Security-Onion-Solutions/feature/strelka_fuid
Add Zeek FUID for Strelka records
2020-07-07 11:01:09 -04:00
Wes Lambert
e0570e1db7 Add Zeek FUID for Strelka records 2020-07-07 15:00:01 +00:00
Mike Reeves
c59096d9bd rename node pillar to elasticsearch 2020-07-07 10:42:12 -04:00
Jason Ertel
62cc02301e Do not attempt to install a plugin or bc command if already exists 2020-07-07 10:28:15 -04:00
weslambert
d334d5ab83 Merge pull request #938 from Security-Onion-Solutions/fix/strelka_filebeat
Fix pillar reference for Strelka/FB
2020-07-07 09:48:19 -04:00
Wes Lambert
2fdd5fd77b Fix pillar reference for Strelka/FB 2020-07-07 13:46:57 +00:00
William Wernert
e2c9184b29 [fix][refactor] Don't use relative path in so-setup-network 2020-07-07 08:45:28 -04:00
Mike Reeves
291ac3c597 Fix SSL Perms 2020-07-06 17:24:04 -04:00
Mike Reeves
be5f4b04c6 Fix SSL Perms 2020-07-06 17:21:23 -04:00
Mike Reeves
cc6d0c1cb5 Merge pull request #935 from Security-Onion-Solutions/issue/929
Change grafana to use anon auth
2020-07-06 16:45:19 -04:00
Mike Reeves
3b452ab597 Change grafana to use anon auth 2020-07-06 16:39:43 -04:00
Mike Reeves
cc2f023840 Merge pull request #934 from Security-Onion-Solutions/issue/142
Issue/142
2020-07-06 16:12:48 -04:00
Mike Reeves
f05e366d49 Fix salt upgrade script 2020-07-06 15:56:55 -04:00
Mike Reeves
be3390a796 Fix Logstash state 2020-07-06 15:53:21 -04:00
Josh Patterson
da0a0ae6ae Merge pull request #933 from Security-Onion-Solutions/quickfix/firewall
add elasticsearch_rest to assigned hostgroups where missing
2020-07-06 15:20:00 -04:00
m0duspwnens
b4e556496b add elasticsearch_rest to assigned hostgroups where missing 2020-07-06 15:18:47 -04:00
Mike Reeves
623c37f1f5 Merge remote-tracking branch 'remotes/origin/dev' into issue/142 2020-07-06 14:35:46 -04:00
Mike Reeves
1016315196 Change Logic for logstash 2020-07-06 13:58:38 -04:00
Mike Reeves
087080d583 Add logix for logstash_settings 2020-07-06 13:16:40 -04:00
William Wernert
57bbb02c65 [refactor][fix] Move nmcli status list gen to a function
nmcli is only assured to be installed after detect_os is run so move this command to a function so it can run after detect_os
2020-07-02 17:18:56 -04:00
William Wernert
99d490bc06 [fix][refactor] Move detect_ec2 and add echo statement 2020-07-02 17:15:46 -04:00
bryant-treacle
cfeb95a718 Merge pull request #924 from Security-Onion-Solutions/feature/so-container-scripts
Additional so-container scripts Issue # 701
2020-07-02 14:42:49 -04:00
William Wernert
b9a176201f Merge pull request #913 from Security-Onion-Solutions/feature/setup-changes
Feature/setup changes
2020-07-02 14:01:46 -04:00
William Wernert
d2ba25e784 Merge branch 'dev' into feature/setup-changes
# Conflicts:
#	setup/so-setup
2020-07-02 14:00:10 -04:00
weslambert
0bfa3d486e Merge pull request #923 from Security-Onion-Solutions/fix/es-allow
Fix my typo
2020-07-02 13:32:45 -04:00
weslambert
bbc752b6d9 Fix my typo 2020-07-02 13:32:19 -04:00
Josh Brower
518c8db3de Merge pull request #922 from Security-Onion-Solutions/feature/low-level-alerts
Initial commit - Low Level Alerts
2020-07-02 12:18:03 -04:00
Josh Brower
69ace6fbfa Initial commit - Low Level Alerts 2020-07-02 12:16:56 -04:00
Jason Ertel
cf6a229f51 Import now requires execution on a sensor node due to the need for zeek and suricata; Automatically stop curator if curator is installed 2020-07-02 12:07:30 -04:00
Mike Reeves
541de278c9 Merge pull request #918 from Security-Onion-Solutions/versionfix
Versionfix
2020-07-02 10:39:15 -04:00
Mike Reeves
5df88f6f2d Update so-functions 2020-07-02 10:36:28 -04:00
Mike Reeves
86a2650fbf Update VERSION 2020-07-02 10:34:50 -04:00
Mike Reeves
c895503fe6 Merge pull request #917 from Security-Onion-Solutions/updateversion
Update VERSION
2020-07-02 10:06:23 -04:00
Mike Reeves
63ef3a1e07 Update VERSION 2020-07-02 10:05:12 -04:00
William Wernert
c7a3cc9c17 [fix][revert] Change source in so-allow to correct path 2020-07-02 08:58:14 -04:00
Jason Ertel
4cedacf8fd Improve curator verbiage in so-import-pcap 2020-07-02 06:01:17 -04:00
Josh Brower
07d13b7ad0 Merge pull request #916 from Security-Onion-Solutions/defensivedepth-patch-1
Delete playbook_db_init.sql.backup
2020-07-02 05:32:45 -04:00
Josh Brower
7811ea5d4c Delete playbook_db_init.sql.backup 2020-07-02 05:32:35 -04:00
Josh Brower
0f915ec85e Merge pull request #915 from Security-Onion-Solutions/feature/playbook-updates
Feature/playbook updates
2020-07-02 05:31:30 -04:00
Josh Brower
3c93f9fd45 Playbook setup fix 2020-07-02 05:30:30 -04:00
bryant-treacle
0b10b775c5 Additional so-container scripts 2020-07-02 07:02:35 +00:00
Jason Ertel
ac01b8de4b Stop curator when directed on PCAP imports 2020-07-01 22:04:07 -04:00
Doug Burks
98cfba18e9 fix zeek.ftp description 2020-07-01 20:27:40 -04:00
Doug Burks
f6adf4ed56 fix zeek.smb_mapping description 2020-07-01 20:26:51 -04:00
Doug Burks
2cbd5ffe61 fix zeek.ssh description 2020-07-01 20:26:06 -04:00
Jason Ertel
e3126064e8 Improve usage instructions for so-import-pcap 2020-07-01 17:58:02 -04:00
William Wernert
aeda3fde74 [revert] Remove regex from setup log grep 2020-07-01 17:39:04 -04:00
William Wernert
408b5ee32d [ix] Fix if conditions 2020-07-01 17:25:26 -04:00
Jason Ertel
96e93b012d Adjust imports for filebeat configuration to ensure import data is placed into ES 2020-07-01 17:18:01 -04:00
Josh Brower
d893aa0032 Playbook Updates 2020-07-01 16:48:07 -04:00
William Wernert
b671f28562 [fix] Rename function whiptail_bond_nics to whiptail_sensor_nics 2020-07-01 16:32:33 -04:00
William Wernert
85a3f3c277 Merge branch 'dev' into feature/setup-changes 2020-07-01 16:24:55 -04:00
William Wernert
b4f9fe5f54 [fix] Remove quotes 2020-07-01 16:24:41 -04:00
William Wernert
b75cb36058 Merge branch 'feature/ec2_setup' into feature/setup-changes 2020-07-01 16:23:48 -04:00
William Wernert
54c3327240 [refactor] Simplify ec2 detection + handling 2020-07-01 16:23:38 -04:00
Jason Ertel
d6feafb12a Correct indentation in filebeat.yaml 2020-07-01 15:39:23 -04:00
Mike Reeves
ab42126d8e Add logstash_settings pillar 2020-07-01 15:25:35 -04:00
Mike Reeves
5580f05daf Add logstash pillar 2020-07-01 15:07:00 -04:00
Mike Reeves
f580da5d56 Update 9999_output_redis.conf.jinja 2020-07-01 14:45:54 -04:00
Mike Reeves
70e4ce3e98 Add batch to output 2020-07-01 14:38:51 -04:00
William Wernert
4b5571a8d6 [refactor][fix] Remove unnecessary variable 2020-07-01 13:56:15 -04:00
William Wernert
44890edc79 [refactor] Use regex in error check for setup log 2020-07-01 13:51:54 -04:00
Josh Patterson
549fd93cba Merge pull request #912 from Security-Onion-Solutions/issue/642
Issue/642
2020-07-01 13:44:49 -04:00
m0duspwnens
f98c497d79 change setup and whiptail back to bro 2020-07-01 13:43:37 -04:00
Wes Lambert
26b0daf2da Add other setup-related items for EC2 interface 2020-07-01 17:42:51 +00:00
m0duspwnens
fd939a06b9 whitespace cleanup 2020-07-01 13:40:40 -04:00
Wes Lambert
3cf79995a2 Modify Whiptail menu for EC2 NIC 2020-07-01 17:32:43 +00:00
m0duspwnens
38db512eda fix spacing 2020-07-01 13:29:19 -04:00
m0duspwnens
4e7e19af54 pillarize zeek node.cfg. change reference from bro to zeek. 2020-07-01 13:26:27 -04:00
William Wernert
db764902c7 [fix] Change if condition when checking nmcli status 2020-07-01 13:05:11 -04:00
William Wernert
19b997ece0 Merge branch 'dev' into feature/setup-changes 2020-07-01 12:56:57 -04:00
William Wernert
7bb97f2b2d [fix] Remove "Panel Title" from Kibana CPU graph
Resolves #874
2020-07-01 11:12:21 -04:00
William Wernert
90f4b8e043 [feat] Add welcome/instruction wording to initial menu 2020-07-01 11:03:18 -04:00
William Wernert
c97798b57d [feat] Add check to see if bond nics are managed by Network Manager 2020-07-01 09:43:39 -04:00
William Wernert
3a9d252af3 [fix] Correct indent in create_local_directories() 2020-07-01 09:42:07 -04:00
William Wernert
de620c88a1 Merge pull request #910 from Security-Onion-Solutions/version-correction
Remove HH prefix to ensure compatibility with updated build system
2020-06-30 15:57:30 -04:00
Jason Ertel
a49532d15c Remove HH prefix to ensure compatibility with updated build system 2020-06-30 15:54:56 -04:00
Jason Ertel
a3deb868ad Improve filebeat config indentation 2020-06-30 14:57:34 -04:00
Jason Ertel
930f15eea5 Introduce so-import-pcap tool - WIP 2020-06-30 14:56:08 -04:00
William Wernert
8dedd60da8 Merge branch 'feature/fast-fail' into feature/setup-changes 2020-06-30 14:27:04 -04:00
William Wernert
ce8a59243c [feat] Add grep for "Error" to fail if nmcli fails 2020-06-30 14:26:48 -04:00
William Wernert
8d624e6ade [fix] Move navigatordefaultlayer file.managed state to nginx sls 2020-06-30 10:53:10 -04:00
William Wernert
cab232ae9f [feat] Add check for disk space during setup 2020-06-30 10:11:02 -04:00
Mike Reeves
ba81b7275a Merge pull request #909 from Security-Onion-Solutions/fix/1.4.1
Update to 1.4.1
2020-06-30 09:55:10 -04:00
Mike Reeves
a1791f1e2e Update to 1.4.1 2020-06-30 09:47:20 -04:00
Mike Reeves
a74d52a986 Merge pull request #908 from Security-Onion-Solutions/bugfix/hostname-regex
[fix] Apply regex filter to hostname input
2020-06-30 09:14:20 -04:00
William Wernert
1022bf5b99 [fix] Apply regex filter to hostname input 2020-06-30 09:08:55 -04:00
William Wernert
9f39875192 [fix] Apply regex filter to hostname input 2020-06-30 09:01:19 -04:00
Josh Brower
376a6e5fd5 Merge pull request #907 from Security-Onion-Solutions/feature/spacing-so-allow
so-allow spacing fix
2020-06-30 08:13:38 -04:00
Josh Brower
1c0443458c so-allow spacing fix 2020-06-30 08:13:00 -04:00
weslambert
0b7026a11e Merge pull request #906 from Security-Onion-Solutions/fix/ingest_parsing
Fix/ingest parsing
2020-06-29 23:07:22 -04:00
Wes Lambert
84e2965fef Addl krb fix 2020-06-30 03:06:01 +00:00
Wes Lambert
bf8798f1d1 Fix krb client/server cert subject parsing 2020-06-30 03:04:01 +00:00
Wes Lambert
8f5da66335 Add null safe operator for query name 2020-06-30 03:02:38 +00:00
Josh Patterson
46d58acdd9 Merge pull request #905 from Security-Onion-Solutions/issue/878
add sensoroni to so-status output for sensors
2020-06-29 16:24:41 -04:00
m0duspwnens
0f9d8024f8 add sensoroni to so-status output for sensors - https://github.com/Security-Onion-Solutions/securityonion/issues/878 2020-06-29 16:23:04 -04:00
Josh Patterson
c73071c95e Merge pull request #904 from Security-Onion-Solutions/issue/583
Issue/583
2020-06-29 16:17:22 -04:00
m0duspwnens
efaf41107c update description in localrules/local.rules for idstools 2020-06-29 16:14:36 -04:00
m0duspwnens
67f2eedad1 cleanup whitespace in idstools enable/disable.conf 2020-06-29 16:11:30 -04:00
m0duspwnens
fe8df22063 cleanup whitespace in idstools enable/disable.conf 2020-06-29 16:03:14 -04:00
William Wernert
fdaab8da9f Merge branch 'dev' into feature/setup-changes 2020-06-29 15:54:36 -04:00
William Wernert
23c0363899 [fix] Reference correct directory in nginx sls and remove navigator sls 2020-06-29 15:54:17 -04:00
William Wernert
b97ecd2d7a Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-06-29 15:53:29 -04:00
William Wernert
0a97328acc [fix] Apply regex filter to hostname input 2020-06-29 15:53:21 -04:00
Josh Patterson
6bc7f023ff Merge pull request #903 from Security-Onion-Solutions/quickfix/suricata
fix suricata state if suripins or suri procs arent set
2020-06-29 15:39:40 -04:00
m0duspwnens
d7580fe6a0 fix suricata state if suripins or suri procs arent set 2020-06-29 15:38:05 -04:00
William Wernert
53c3b1579b [feat] Reformat install type menu 2020-06-29 15:20:17 -04:00
William Wernert
8e15f858dd Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev
# Conflicts:
#	salt/common/tools/sbin/so-allow
2020-06-29 15:14:12 -04:00
Mike Reeves
abe063602b Update whiptail snort
Update the user to let them know Snort 3.x won't work.
2020-06-29 14:57:42 -04:00
weslambert
b398d58dc9 Merge pull request #902 from Security-Onion-Solutions/feature/es_allow
Add ES REST API option for so-allow
2020-06-29 14:51:09 -04:00
Wes Lambert
ed60d48c81 Add ES REST API option for so-allow 2020-06-29 18:49:16 +00:00
William Wernert
8cbccb656d [fix] Apply shellcheck fixes 2020-06-29 11:32:25 -04:00
William Wernert
b01bdf35f9 [fix] Remove port binding from telegraf docker state 2020-06-29 11:31:44 -04:00
m0duspwnens
8ee2142de4 pillarize idstools - https://github.com/Security-Onion-Solutions/securityonion/issues/583 2020-06-29 11:21:47 -04:00
Mike Reeves
378ad97e7b Disabled socket listener 2020-06-29 11:16:19 -04:00
weslambert
b99b19ce58 Merge pull request #898 from Security-Onion-Solutions/feature/strelka_scripts
Add Strelka mgmt scripts
2020-06-29 09:11:16 -04:00
Wes Lambert
9ac85cf674 Add Stelka mgmt scripts 2020-06-29 13:09:14 +00:00
weslambert
6f6e8a8853 Merge pull request #897 from Security-Onion-Solutions/fix/strelka_rules
Fix/strelka rules
2020-06-26 16:43:21 -04:00
weslambert
c421bd464a Remove Strelka function (in favor of direct script execution in so-setup) 2020-06-26 16:42:44 -04:00
William Wernert
22eb81128a Merge pull request #891 from Security-Onion-Solutions/feature/navigator-to-nginx
Feature/navigator to nginx
2020-06-26 15:48:46 -04:00
weslambert
8c47723bc9 Run YARA update script after applying state 2020-06-26 15:45:52 -04:00
Josh Patterson
9c388cd6aa Merge pull request #896 from Security-Onion-Solutions/feature/suripillar
Feature/suripillar
2020-06-26 14:44:36 -04:00
m0duspwnens
0b1a258a4b change sensor homenet map 2020-06-26 14:43:27 -04:00
weslambert
813c243d3d Update so-yara-update 2020-06-26 13:26:08 -04:00
m0duspwnens
2079eba0ad Merge remote-tracking branch 'remotes/origin/dev' into feature/suripillar 2020-06-26 13:09:15 -04:00
m0duspwnens
052c65c05e add the things to pillarize suricata - https://github.com/Security-Onion-Solutions/securityonion/issues/584 2020-06-26 13:07:41 -04:00
William Wernert
cf7e5f1b6f [fix] Change permissions on so-yara-update + fix indents 2020-06-26 09:59:44 -04:00
Josh Brower
b895d6fa4f Merge pull request #894 from Security-Onion-Solutions/feature/playbook-unit-testing
Playbook - Initial Support for Unit Testing
2020-06-26 06:33:05 -04:00
Josh Brower
7f0eacd342 Playbook - Initial Support for Unit Testing 2020-06-26 06:24:09 -04:00
Mike Reeves
1e4c967afc Fix math for suri loss calulcations 2020-06-25 14:02:02 -04:00
Mike Reeves
1e6fab4e6e Fix math for suri loss calulcations 2020-06-25 13:54:01 -04:00
Mike Reeves
65687fd28e Update saltstack update to point to correct github 2020-06-25 13:02:17 -04:00
Mike Reeves
57d0603e4c Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-06-25 12:56:38 -04:00
Mike Reeves
30ac5f9764 ADding Suricata log compression 2020-06-25 12:56:26 -04:00
weslambert
5e41bba6db Merge pull request #892 from Security-Onion-Solutions/feature/more_strelka_rules
Feature/more strelka rules
2020-06-25 12:33:36 -04:00
Wes Lambert
a24402de99 More Strelka rule config 2020-06-25 16:31:04 +00:00
Wes Lambert
63c45be388 Update Strelka init for rules 2020-06-25 15:49:58 +00:00
Wes Lambert
6487fdf5e6 Add Strelka YARA function 2020-06-25 15:46:37 +00:00
William Wernert
a45fbb6f5c Revert "[fix] discovery.zen.minimum_master_nodes is deprecated, update the key"
This reverts commit 8bd6c067aa.
2020-06-25 10:53:26 -04:00
bryant-treacle
00713312c6 Merge pull request #890 from Security-Onion-Solutions/fix/so-elastic-clear
updated so-elastic-clear with new so-* indices - #885
2020-06-24 15:09:37 -04:00
bryant-treacle
443332d584 Update so-elastic-clear 2020-06-24 15:03:25 -04:00
bryant-treacle
ffc9567278 Delete test.test 2020-06-24 15:01:30 -04:00
bryant-treacle
08220e3330 Issue #885: so-elastic-clear not removing so-* indices 2020-06-24 18:40:11 +00:00
weslambert
83ed21314a Merge pull request #888 from Security-Onion-Solutions/feature/strelka_rules
Feature/strelka rules
2020-06-24 13:28:52 -04:00
Wes Lambert
f5bb831edf Fix comment 2020-06-24 17:27:59 +00:00
Wes Lambert
a01339039a Update Setup for Strelka rules 2020-06-24 17:22:55 +00:00
bryant-treacle
0849014b24 Issue #885: so-elastic-clear not removing so-* indices 2020-06-24 17:21:58 +00:00
Wes Lambert
8bfbd77367 Update whiptail for Strelka 2020-06-24 17:18:05 +00:00
William Wernert
8bd6c067aa [fix] discovery.zen.minimum_master_nodes is deprecated, update the key 2020-06-24 13:10:18 -04:00
Wes Lambert
52a0ace1b8 Use Strelka rules if enabled 2020-06-24 17:08:58 +00:00
William Wernert
bd36749959 [feat] Remove navigator container references 2020-06-24 12:38:32 -04:00
William Wernert
4404a4f312 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-06-23 17:57:19 -04:00
William Wernert
0a0fe5914a [fix][feat] Move navigator entries to static files + fix indent 2020-06-23 17:57:14 -04:00
weslambert
c3651f1b45 Merge pull request #884 from Security-Onion-Solutions/feature/strelka_client
Add FW config for Strelka frontend
2020-06-23 14:57:06 -04:00
Wes Lambert
f7eacc2b05 Add FW config for Strelka frontend 2020-06-23 18:47:23 +00:00
weslambert
685e3048ac Merge pull request #883 from Security-Onion-Solutions/fix/hunt_files_rename
Update file dataset name for hunt queries
2020-06-23 13:49:52 -04:00
Wes Lambert
c0428ce79d Update file dataset name for hunt queries 2020-06-23 17:48:12 +00:00
weslambert
13df2e6312 Merge pull request #882 from Security-Onion-Solutions/fix/files_rename
Move dataset from files to file
2020-06-23 13:44:26 -04:00
Wes Lambert
af451573eb Move dataset from files to file 2020-06-23 17:43:28 +00:00
m0duspwnens
36a329214a merge eve-log in outputs for suricata meta data generation or zeek/default - https://github.com/Security-Onion-Solutions/securityonion/issues/584 2020-06-22 16:56:03 -04:00
m0duspwnens
f1bcd35734 Merge remote-tracking branch 'remotes/origin/dev' into feature/suripillar 2020-06-22 09:13:29 -04:00
Jason Ertel
d7693f9b55 Expose pcap dir to sensoroni for epoch discovery 2020-06-22 08:27:43 -04:00
Jason Ertel
1ee3625f61 Ensure certs dir is group readable by socore since Sensoroni process will need to read the client key 2020-06-21 15:46:36 -04:00
Jason Ertel
81ed656ba0 Bind both steno and sensoroni processes to host network 2020-06-21 10:50:10 -04:00
Jason Ertel
76e3118bd3 Split Sensoroni and Stenographer executables into separate images 2020-06-21 08:33:09 -04:00
m0duspwnens
57fa2c5abe Merge remote-tracking branch 'remotes/origin/dev' into feature/suripillar 2020-06-18 13:49:07 -04:00
Mike Reeves
6dbe83a77f Update so-docker-refresh 2020-06-18 12:38:07 -04:00
Jason Ertel
2f3a99cfb0 fix: indentation is incorrect 2020-06-17 17:46:49 -04:00
weslambert
fb9ac58ed6 Merge pull request #869 from Security-Onion-Solutions/feature/elastic_indices_rw
Basic index read-only attr removal script
2020-06-17 15:00:23 -04:00
Wes Lambert
6d25151ab8 Basic index read-only attr removal script 2020-06-17 18:59:13 +00:00
Josh Brower
6794cabf9c Merge pull request #868 from Security-Onion-Solutions/bugfix/fleet-custom-hostname
Fleet custom hostname regex fix
2020-06-17 14:46:07 -04:00
weslambert
569fc4ac4d Merge pull request #867 from Security-Onion-Solutions/feature/zeek_custom_policy
Feature/zeek custom policy
2020-06-17 13:12:38 -04:00
Wes Lambert
90c278096c Add custom Zeek script dir 2020-06-17 17:11:27 +00:00
Josh Brower
3418f5748c Fleet custom hostname regex fix 2020-06-17 13:08:47 -04:00
Jason Ertel
6bf8f0af08 Eliminate multiple version definitions in this repo 2020-06-17 10:46:07 -04:00
Jason Ertel
3451f74b63 Update version to 2.0.0-rc.1 2020-06-17 10:32:39 -04:00
weslambert
b489420002 Merge pull request #865 from Security-Onion-Solutions/feature/cortex_custom
Feature/cortex custom
2020-06-17 09:22:42 -04:00
Wes Lambert
1beff65cc9 fix typo 2020-06-17 13:20:32 +00:00
Wes Lambert
cbfe375407 Custom analyzer and responder dirs 2020-06-17 13:16:52 +00:00
Mike Reeves
ada0d7b8cd Merge pull request #862 from Security-Onion-Solutions/dev
1.4.0
2020-06-16 14:47:08 -04:00
Mike Reeves
6410087994 1.4.0 2020-06-16 13:52:37 -04:00
Josh Brower
2986926ce9 Merge pull request #861 from Security-Onion-Solutions/bugfix/fleet-kibana
Beta3 Kibana dashboard updates
2020-06-16 10:17:26 -04:00
Josh Brower
a9df5d75b0 Beta3 Kibana dashboard updates 2020-06-16 10:16:31 -04:00
William Wernert
0c9c7002dc [fix] Simplify if statements and apply mine.update during setup 2020-06-16 08:38:50 -04:00
Mike Reeves
0961fe7091 Merge pull request #857 from Security-Onion-Solutions/feature/metasuri
Feature/metasuri
2020-06-15 21:52:41 -04:00
Mike Reeves
4573b346f8 Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-15 21:46:07 -04:00
Mike Reeves
3681f91c37 Suricata Conn 2020-06-15 21:46:04 -04:00
Jason Ertel
97d127218a fix: stop updating salt mine - this is an attempt to sort out why the CA intermittently disappears from the mine 2020-06-15 17:40:58 -04:00
Josh Patterson
9340b633e2 Merge pull request #855 from Security-Onion-Solutions/quickfix/searchnode2node
fix so-status for searchnode
2020-06-15 17:01:50 -04:00
m0duspwnens
fe39179ba1 fix so-status for searchnode 2020-06-15 17:01:23 -04:00
Josh Patterson
3b920b2cd8 Merge pull request #854 from Security-Onion-Solutions/quickfix/searchnode2node
place searchnode role with node where referenced
2020-06-15 16:59:55 -04:00
m0duspwnens
91a50c0915 place searchnode role with node where referenced 2020-06-15 16:58:30 -04:00
Josh Patterson
578e2b5d1d Merge pull request #853 from Security-Onion-Solutions/quickfix/playbook
fix for master not having a node:mainip pillar - playbook
2020-06-15 15:15:23 -04:00
m0duspwnens
b396c39352 fix for master not having a node:mainip pillar - playbook 2020-06-15 15:13:29 -04:00
Mike Reeves
a91dbf0d1d Fix wording for Suricata meta data in whiptail 2020-06-15 15:10:16 -04:00
Josh Patterson
1a6fc3ef6c Merge pull request #852 from Security-Onion-Solutions/quickfix/fleetfwsetup
add firewall rules for fleet standalone
2020-06-15 13:51:39 -04:00
m0duspwnens
51e500f521 add firewall rules for fleet standalone 2020-06-15 13:50:37 -04:00
weslambert
91c32725fb Merge pull request #851 from Security-Onion-Solutions/fix/es_field_fixes
Fix/es field fixes
2020-06-15 12:59:01 -04:00
Wes Lambert
f3c9f2e5ea update templates 2020-06-15 16:57:46 +00:00
Wes Lambert
206261fbe6 rename id to log.id.fuid for X509 2020-06-15 16:55:14 +00:00
Wes Lambert
18547e8ea8 enforce field types 2020-06-15 16:54:33 +00:00
Josh Patterson
8403d72b8e Merge pull request #849 from Security-Onion-Solutions/quickfix/fleetfwsetup
add another pillar default to self hostgroup
2020-06-15 10:40:03 -04:00
m0duspwnens
dc56c449b7 add another pillar default to self hostgroup 2020-06-15 10:38:58 -04:00
Josh Patterson
896f081f70 Merge pull request #847 from Security-Onion-Solutions/quickfix/fleetfwsetup
set firewall during setup for fleet standalone
2020-06-15 09:43:35 -04:00
m0duspwnens
aaa6cf816a set firewall during setup for fleet standalone 2020-06-15 09:42:06 -04:00
Jason Ertel
87514e7da3 revert: Use consistent casing for package names 2020-06-14 09:47:59 -04:00
Jason Ertel
8b64f5b499 Use consistent casing for package names 2020-06-13 10:19:24 -04:00
m0duspwnens
ce5d678ed9 change portgroup assignment for dockernet on searchnode 2020-06-12 17:09:08 -04:00
Josh Patterson
f8b5593bca Merge pull request #845 from Security-Onion-Solutions/bugfix/standalonessl
fix issue with ssl state that prevented other node types being adding…
2020-06-12 16:25:43 -04:00
m0duspwnens
a125a94808 fix issue with ssl state that prevented other node types being adding to a standalone node 2020-06-12 16:24:46 -04:00
m0duspwnens
e25560bf6b add missing roles fire firewall 2020-06-12 15:37:43 -04:00
Josh Patterson
1f305352a0 Merge pull request #844 from Security-Onion-Solutions/quickfix/addfwrules
Quickfix/addfwrules
2020-06-12 15:04:04 -04:00
Doug Burks
befc793a96 Improve files query #804 2020-06-12 14:25:38 -04:00
Doug Burks
d157c0da00 Improve DNS queries #804 2020-06-12 14:21:36 -04:00
Josh Patterson
bfee999688 Merge pull request #843 from Security-Onion-Solutions/quickfix/firewallsetup
apply switch for so-firewall to apply firewall state on master for distributed install
2020-06-12 13:55:28 -04:00
Jason Ertel
b3d2ce0e18 support applying the firewall state directly from so-firewall 2020-06-12 13:52:24 -04:00
Mike Reeves
cd90889b4c Merge pull request #842 from Security-Onion-Solutions/feature/metasuri
Feature/metasuri
2020-06-12 12:32:04 -04:00
m0duspwnens
285468c059 user apply switch for so-firewall to apply firewall state on master for distributed install 2020-06-12 12:31:29 -04:00
Mike Reeves
03e410df68 Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-12 12:30:52 -04:00
Mike Reeves
6058d438bf Fix Protocol 2020-06-12 12:28:29 -04:00
Mike Reeves
42938a4e67 Add the makor Suricata parsers 2020-06-12 12:14:48 -04:00
m0duspwnens
3c0caa4112 Merge remote-tracking branch 'remotes/origin/dev' into quickfix/addfwrules 2020-06-12 11:40:34 -04:00
Doug Burks
0b2dd5d0a4 add event.dataset to default hunt output view #841 2020-06-12 11:37:55 -04:00
m0duspwnens
1f0509cfd6 update so-allow for wazuh and syslog 2020-06-12 11:35:18 -04:00
m0duspwnens
d02bff22ac adding fw rules to master nodes for wazuh and syslog 2020-06-12 11:27:28 -04:00
Doug Burks
3cc936a0a8 add event.dataset to default hunt output view #841 2020-06-12 11:13:56 -04:00
Mike Reeves
0559e2d16b Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-12 08:54:17 -04:00
Jason Ertel
d146e65412 Remove pre-creation of dirs in favor of having docker image use correct permissions 2020-06-12 01:24:13 -04:00
Jason Ertel
322bb665a1 fix: chgrp all wazuh subdirs accept for api due to Salt symlink issues 2020-06-11 22:34:08 -04:00
Josh Patterson
5fa1b038ed Merge pull request #838 from Security-Onion-Solutions/issue/739
Issue/739
2020-06-11 17:23:16 -04:00
m0duspwnens
729a6998a2 Merge remote-tracking branch 'remotes/origin/dev' into issue/739 2020-06-11 16:26:23 -04:00
m0duspwnens
56a821a9be update standalone grafana dashboard 2020-06-11 16:24:52 -04:00
m0duspwnens
b6fa01aafe fix monint for standalone grafana dashboard - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 16:21:33 -04:00
m0duspwnens
253ffad853 add monint to tab for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 16:09:30 -04:00
Mike Reeves
6f3fd407dd Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-11 16:00:38 -04:00
m0duspwnens
f8b6a80d99 adding standalone grafana dashboard 2020-06-11 15:57:35 -04:00
m0duspwnens
101673dc98 fix telegraf for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 15:35:06 -04:00
m0duspwnens
bf8278dccf add telegraf elasticsearch input for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 15:08:42 -04:00
m0duspwnens
73bb375662 have telegraf get data for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 14:48:03 -04:00
Josh Patterson
c3a2c2321d Merge pull request #837 from Security-Onion-Solutions/issue/641
Issue/641
2020-06-11 14:22:28 -04:00
Jason Ertel
57a6e4af41 fix: pre-create directory for ossec-analysisd 2020-06-11 13:36:28 -04:00
Jason Ertel
1a85f26cf8 fix: pre-create directory for ossec-analysisd 2020-06-11 13:35:16 -04:00
Mike Reeves
032c8ca4e9 Fix Conflicts 2020-06-11 13:14:11 -04:00
Mike Reeves
9bed02934b Merge branch 'issue/641' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into issue/641 2020-06-11 13:03:31 -04:00
Mike Reeves
a37faff850 New so-allow 2020-06-11 13:03:21 -04:00
Josh Patterson
16592fcc1e makedirs if it doesn't exist 2020-06-11 12:55:30 -04:00
Josh Brower
1c86ae4e14 Merge pull request #836 from Security-Onion-Solutions/bugfix/misc
Fleet gen packages hostname fix2
2020-06-11 11:45:30 -04:00
Josh Brower
ab143b3216 Fleet gen packages hostname fix2 2020-06-11 11:44:56 -04:00
m0duspwnens
985c55dd62 fix state name duplicate conflict - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 10:39:30 -04:00
m0duspwnens
32b4a2ff08 adding grafana dashboard for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 10:28:29 -04:00
m0duspwnens
55e597d302 run firewall state after adding ips during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-11 09:45:31 -04:00
Jason Ertel
b26a7541cd fix: Force ossec group on /opt/so/wazuh dir tree to eliminate permission failures 2020-06-11 09:25:09 -04:00
William Wernert
ce86dbfac0 [feat] Add message about root mail spool growing 2020-06-11 09:24:23 -04:00
m0duspwnens
9466cc5439 remove firewall pillar from top, add roles to hosts during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-11 08:49:52 -04:00
Josh Brower
496696ed80 Merge pull request #834 from Security-Onion-Solutions/bugfix/misc
Bugfix/misc
2020-06-11 07:57:58 -04:00
Josh Brower
05d890901f Fleet gen packages hostname fix 2020-06-11 07:56:20 -04:00
m0duspwnens
5317ee8b5a add localhost to the same hostgroups as in currently in dev - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 17:41:22 -04:00
m0duspwnens
03c43da6f2 create iptables file if it doesnt exist - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 17:19:03 -04:00
m0duspwnens
f92ad7d671 handle undefined local values - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 16:34:37 -04:00
m0duspwnens
119ce2d93f remove from writing to firewall pillar - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 15:37:18 -04:00
m0duspwnens
39734b6983 Merge branch 'issue/641' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into issue/641 2020-06-10 15:35:21 -04:00
m0duspwnens
7c5343ebe1 copy local firewall yaml files during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 15:35:15 -04:00
William Wernert
07b2f2885c [fix] Always exit on early failure 2020-06-10 15:32:46 -04:00
William Wernert
7de02752e5 [fix] Reboot on early failure too, better if statements 2020-06-10 15:29:54 -04:00
Jason Ertel
23be399a68 Ensure host doesn't exist in both include and exclude lists; add support for port management; add support for removing host from exclude list 2020-06-10 15:19:36 -04:00
m0duspwnens
fcb26bdaed change how ips are added during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 15:03:34 -04:00
William Wernert
379a5445e8 [feat] Also exit with non-zero status for automated installs 2020-06-10 14:27:18 -04:00
William Wernert
9695b9326b Merge branch 'dev' into feature/fast-fail 2020-06-10 14:19:44 -04:00
William Wernert
33105c10aa [feat] Make automated webuser pass follow requirements 2020-06-10 14:19:24 -04:00
William Wernert
03dfece9af [feat] Fail setup early if "ERROR" is found in setup log 2020-06-10 14:18:25 -04:00
m0duspwnens
4df8a973cf Merge branch 'issue/641' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into issue/641 2020-06-10 14:05:34 -04:00
m0duspwnens
f89baff3d7 adding ability to assign hostgroup to single minion - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 14:05:19 -04:00
Jason Ertel
1933c26797 Additional diagnostic logging for the curious case of the disappearing certificate 2020-06-10 09:51:56 -04:00
Jason Ertel
c072905717 Initial firewall management script 2020-06-10 01:18:39 -04:00
m0duspwnens
15fd4de669 remove yamlized rules, update assigned hostgroups - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-09 13:44:10 -04:00
Mike Reeves
c0d24d942c Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-09 13:31:31 -04:00
m0duspwnens
accb3d536d add chain to iptables state - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-09 13:30:24 -04:00
Jason Ertel
d09e2b6468 Dump salt mine to log after applying SSL/CA salt states 2020-06-09 13:16:03 -04:00
Josh Brower
910c809aa2 Merge pull request #833 from Security-Onion-Solutions/bugfix/misc
thehive setup fix
2020-06-09 12:19:02 -04:00
Josh Brower
e5a23c22fd thehive setup fix 2020-06-09 12:16:39 -04:00
m0duspwnens
721f2682ac changes for firewall - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-09 09:40:38 -04:00
Josh Brower
189d0f5f36 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-06-08 13:28:46 -04:00
Josh Brower
913c1a89bf Fleet setup fixes 2020-06-08 13:28:27 -04:00
William Wernert
941ad5acf6 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-06-08 12:12:29 -04:00
William Wernert
e2c3fe3342 [fix] Add X-Forwarded-Proto to nginx configs 2020-06-08 12:12:25 -04:00
Mike Reeves
4b6af0cd81 Suricata DHCP 2020-06-08 08:58:35 -04:00
Josh Brower
35bc5f9133 Merge pull request #831 from Security-Onion-Solutions/feature/fleet-setup
Feature/fleet setup
2020-06-08 08:49:35 -04:00
Josh Brower
51f97f5ae5 Fleet setup - final fixes 2020-06-08 08:47:06 -04:00
Josh Brower
3f3990ac83 Merge remote-tracking branch 'remotes/origin/dev' into feature/fleet-setup 2020-06-08 08:30:37 -04:00
Josh Brower
950d4077f6 Update so-setup 2020-06-08 08:12:14 -04:00
Josh Brower
ab6e36e00a Fleet syntax error fix 2020-06-06 13:15:44 -04:00
Josh Brower
33f21c05f7 Fleet standaline custom fqdn fixes 2020-06-06 10:03:25 -04:00
Josh Brower
88219c4827 Merge pull request #827 from Security-Onion-Solutions/feature/wlb5
Initial support - external beats
2020-06-05 10:47:56 -04:00
Josh Brower
4e4eeedb41 Initial support - external beats 2020-06-04 22:41:35 -04:00
Mike Reeves
33712a3409 Suricata HTTP parser 2020-06-04 16:19:22 -04:00
Mike Reeves
5c62fedd12 Suricata DNS parser 2020-06-04 15:42:51 -04:00
Mike Reeves
b264548a4f Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-04 10:58:03 -04:00
Jason Ertel
7edf9a67c3 Ensure standalone mode supports the settings flow 2020-06-04 10:46:27 -04:00
Mike Reeves
79adf2012a Fix log rotate on Suricata 2020-06-04 10:43:24 -04:00
m0duspwnens
5f9f86caa5 merge with dev and fix conflicts 2020-06-04 09:59:12 -04:00
m0duspwnens
f8193cb914 beginning to pillarize suricata 2020-06-04 09:40:38 -04:00
Mike Reeves
7043bbae9d Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-04 09:10:54 -04:00
Josh Brower
0890171527 Fixes 2020-06-04 07:51:05 -04:00
TOoSmOotH
c8730db7b4 Fix top so zeek doest run when disabled 2020-06-03 21:26:22 -04:00
TOoSmOotH
f6b71e3941 Fix top so zeek doest run when disabled 2020-06-03 21:20:58 -04:00
TOoSmOotH
9b6822f325 DNS Suricata parser 2020-06-03 20:40:57 -04:00
TOoSmOotH
702a14e90c DNS Suricata parser 2020-06-03 20:40:10 -04:00
Mike Reeves
5a9030883a Rename Bro to Zeek in some whiptail menus 2020-06-03 16:44:52 -04:00
Mike Reeves
f3fabcd93c Enable git 2020-06-03 16:21:45 -04:00
Josh Brower
a09991d770 Fleet standalone - custom hostnames 2020-06-03 15:56:59 -04:00
Josh Brower
3d92145bb9 Fleet standalone - custom hostnames 2020-06-03 15:52:18 -04:00
Mike Reeves
3211a8a5e0 SMTP from fix 2020-06-03 11:52:24 -04:00
Mike Reeves
c5d6381933 SMTP for suricata 2020-06-03 11:16:43 -04:00
Mike Reeves
126d1598ee SNMP for suricata 2020-06-03 11:03:23 -04:00
Jason Ertel
970368c74e Avoid logs leaking to stdout/stderr during cron jobs 2020-06-03 09:42:44 -04:00
Jason Ertel
9f0e48e337 Send stderr to /dev/null as well, since it's already been decided this output is unsuited for the logfile based on the comment 2020-06-03 08:55:06 -04:00
Josh Brower
eaacb7b71e Fleet cleanup 2020-06-03 05:54:35 -04:00
Jason Ertel
e6fcf75181 Re-ordered wazuh setup to avoid agent-service failures due to missing client.keys file; Prepare for user profile settings screen support in reverse proxy 2020-06-02 17:31:51 -04:00
weslambert
014274930a Merge pull request #815 from Security-Onion-Solutions/fix/syslog_cleanup
Clean up some stuff
2020-06-02 15:32:32 -04:00
weslambert
c91bc0e681 Clean up some stuff 2020-06-02 15:31:48 -04:00
Mike Reeves
25aae21cf6 Trying to get decoded packet 2020-06-02 15:06:39 -04:00
Mike Reeves
b507b87871 Trying to get decoded packet 2020-06-02 14:49:07 -04:00
Mike Reeves
fb68506418 Add mor suricata ingest parser types 2020-06-02 14:42:15 -04:00
Mike Reeves
3096d8d988 Add mor suricata ingest parser types 2020-06-02 14:34:38 -04:00
Mike Reeves
0ea2252b5b Add Suricata Flow pipeline 2020-06-02 13:40:46 -04:00
weslambert
98e0f0d7d8 Merge pull request #814 from Security-Onion-Solutions/feature/syslog
Feature/syslog
2020-06-02 13:39:23 -04:00
Wes Lambert
8cac30728b update Logstash config 2020-06-02 17:36:36 +00:00
Wes Lambert
91673a5d70 Update FB config 2020-06-02 17:33:42 +00:00
Josh Brower
782c669835 Fleet standalone fixes - req 2020-06-02 12:42:14 -04:00
Mike Reeves
617f60d472 Fix Syntax 2020-06-02 12:01:26 -04:00
Mike Reeves
e63f39a9c4 Rename dataset 2020-06-02 11:58:14 -04:00
Mike Reeves
d47acd1d80 Change suricata to hit suricata.common 2020-06-02 11:41:13 -04:00
Josh Brower
77df87880c Fleet standalone fixes - fleet sa req 2020-06-02 10:20:29 -04:00
Josh Brower
b5cc653179 Fleet standalone fixes - mainip 2020-06-02 09:39:42 -04:00
Jason Ertel
42683ddb67 always restart acng and registry containers when docker restarts 2020-06-02 09:12:25 -04:00
Jason Ertel
07c0075fc0 Upgrade containerd.io and docker-ce to match ISO rpms 2020-06-02 08:43:06 -04:00
Josh Brower
b695b7f245 Fleet standalone fixes - firewall 2020-06-02 08:05:48 -04:00
Jason Ertel
9d5f4049b5 Avoid filtering NIC when it's an empty string 2020-06-02 05:52:03 -04:00
Mike Reeves
69f940fe8c Merge pull request #811 from Security-Onion-Solutions/feature/updatetool
Couple of QOL scripts
2020-06-01 20:49:42 -04:00
Mike Reeves
307cbe4b77 Couple of QOL scripts 2020-06-01 20:48:25 -04:00
Josh Brower
4b14ecf1d9 Fleet standalone fixes 2020-06-01 16:36:32 -04:00
Mike Reeves
45d17c5148 Pillarize Suricata Round 1 2020-06-01 14:53:04 -04:00
Josh Patterson
cc6a323f45 Merge pull request #810 from Security-Onion-Solutions/issue/749
Issue/749
2020-06-01 12:20:28 -04:00
m0duspwnens
f5c8091fd6 remove unneeded INITIALSETUP var from addtotab 2020-06-01 12:17:52 -04:00
m0duspwnens
1737b46abb Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-06-01 12:15:00 -04:00
Doug Burks
80d1814f10 remove event.module:zeek to make queries more generic 2020-06-01 12:00:33 -04:00
Mike Reeves
b091fe07c9 Merge pull request #809 from Security-Onion-Solutions/feature/metasuri
Suricata 5 Meta Data
2020-06-01 11:05:38 -04:00
Mike Reeves
03f34404b1 Suricata 5 Meta Data 2020-06-01 11:03:43 -04:00
weslambert
551c663046 Merge pull request #808 from Security-Onion-Solutions/fix/tunnel_parents
Rename tunnel_parents
2020-06-01 09:52:55 -04:00
Wes Lambert
51f5d64ef6 Rename tunnel_parents 2020-06-01 13:51:32 +00:00
weslambert
fa8b88b090 Merge pull request #806 from Security-Onion-Solutions/feature/vxlan_tunnel_id
fix naming of uid field for tunnel
2020-06-01 08:54:12 -04:00
Wes Lambert
d7ce3d4719 fix naming of uid field for tunnel 2020-06-01 12:52:57 +00:00
Doug Burks
f559621f00 add x509 issuer and subject groupby queries 2020-06-01 07:48:50 -04:00
Doug Burks
46dc5f42e9 combine two http queries into one with multiple groupby 2020-06-01 07:30:08 -04:00
m0duspwnens
5ddfb7ccce fix merge conflicts 2020-05-29 17:31:07 -04:00
Josh Patterson
0eeafa292e Merge pull request #802 from Security-Onion-Solutions/quickfix/wazuh/whitelistmanager
change how whitelist script determines if wazuh is enabled
2020-05-29 17:26:10 -04:00
m0duspwnens
4dfb58a98c change how whitelist script determines if wazuh is enabled 2020-05-29 17:22:39 -04:00
Josh Patterson
5f4e480b4c Merge pull request #801 from Security-Onion-Solutions/quickfix/search/nginx
add nginx state to searchnode in salt/top
2020-05-29 17:02:49 -04:00
m0duspwnens
17879ad88c add nginx state to searchnode in salt/top 2020-05-29 17:01:43 -04:00
m0duspwnens
a84203be7c Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-29 16:38:10 -04:00
Josh Patterson
828f8a0df8 Merge pull request #800 from Security-Onion-Solutions/quickfix/node
fix minion_type for *NODE install_type
2020-05-29 16:37:04 -04:00
m0duspwnens
d7e904e1ab fix minion_type for *NODE install_type 2020-05-29 16:35:39 -04:00
m0duspwnens
9ae68b52ef Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-29 16:22:00 -04:00
Josh Patterson
16d6e4ae2e Merge pull request #799 from Security-Onion-Solutions/quickfix/distrib_install_firewall
Quickfix/distrib install firewall
2020-05-29 15:36:53 -04:00
m0duspwnens
52954d8e5d set_intial_firewall policy sooner in install process so packages can be installed if masterupdates are enabled 2020-05-29 15:34:18 -04:00
m0duspwnens
15fc97e516 adding suricata.master state to mastersearch - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-29 13:11:55 -04:00
m0duspwnens
6db8470de7 Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-29 13:09:49 -04:00
m0duspwnens
42ea39ee35 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-29 13:09:26 -04:00
Josh Patterson
aa24dacb86 Merge pull request #798 from Security-Onion-Solutions/quickfix/master_navigator
add navigator to master if enabled
2020-05-29 13:08:43 -04:00
m0duspwnens
3143643692 add navigator to master if enabled 2020-05-29 13:05:26 -04:00
m0duspwnens
30641d0fa9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-29 13:01:08 -04:00
m0duspwnens
2db2054cce update instructions in logstash customer pipelines and templates - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-29 10:58:53 -04:00
m0duspwnens
7957b51409 change master roots priority to local 2020-05-29 10:57:43 -04:00
weslambert
2601ffe902 Merge pull request #797 from Security-Onion-Solutions/fix/radius_parsing
fix framed_addr field
2020-05-29 07:56:22 -04:00
Wes Lambert
4059121dd6 fix framed_addr field 2020-05-29 11:55:18 +00:00
Josh Brower
046bca626e Fleet pw check fix 2020-05-28 16:51:37 -04:00
Josh Brower
e8e48a4beb Fleet standalone bugfixes 2020-05-28 16:40:12 -04:00
Josh Brower
0d8c0e1fa6 Fleet standalone fixes 2020-05-28 16:27:18 -04:00
m0duspwnens
40fa5293bf move fileserve update to suricata.master 2020-05-28 15:54:11 -04:00
Jason Ertel
3952faba85 Add missing semi-colons to break out of the case block 2020-05-28 15:27:14 -04:00
weslambert
f5300d3d5a Merge pull request #794 from Security-Onion-Solutions/feature/zeek-stats
Add basic Zeek stats script
2020-05-28 13:55:43 -04:00
Wes Lambert
7f75050682 Add basic Zeek stats script 2020-05-28 17:54:15 +00:00
Josh Brower
aeb71bb8f0 Simplified setup script 2020-05-28 13:21:25 -04:00
m0duspwnens
71d381aeae apply suricata.master state during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-28 13:19:38 -04:00
weslambert
7c232318ad Merge pull request #793 from Security-Onion-Solutions/fix/so-stop-exact-match
Update for exact match (ex. thehive, thehive-es, thehive-cortex)
2020-05-28 13:17:56 -04:00
weslambert
b835c2e27e Update for exact match (ex. thehive, thehive-es, thehive-cortex) 2020-05-28 13:17:31 -04:00
weslambert
ae6f028666 Merge pull request #792 from Security-Onion-Solutions/fix/suricata_config_nsm
Move eve.json to /nsm
2020-05-28 13:00:15 -04:00
weslambert
12f426d4f4 Move eve.json to /nsm 2020-05-28 12:59:41 -04:00
weslambert
8291de40cf Merge pull request #791 from Security-Onion-Solutions/fix/socto-ip-hostname
add master to SOCtopus hosts file
2020-05-28 12:46:57 -04:00
Wes Lambert
869bfb947d add master to SOCtopus hosts file 2020-05-28 16:45:48 +00:00
weslambert
9de1a25703 Merge pull request #789 from Security-Onion-Solutions/fix/filebeat_init
Fix filebeat init
2020-05-28 12:11:39 -04:00
weslambert
d2263db0ff Update init.sls 2020-05-28 12:11:08 -04:00
m0duspwnens
4f15de8b77 refresh salt fileserver if suricata rule symlink is created 2020-05-28 12:00:22 -04:00
Josh Brower
e53e891bd6 Fleet reactor - Typo fix 2020-05-28 11:36:38 -04:00
Jason Ertel
6c4946f4e2 Provide option to skip reboot after setup completes 2020-05-28 10:20:44 -04:00
weslambert
c775e583dd Merge pull request #788 from Security-Onion-Solutions/feature/filebeat-syslog-fw
allow syslog
2020-05-28 09:58:15 -04:00
Wes Lambert
b7d7747f65 allow syslog 2020-05-28 13:56:02 +00:00
Mike Reeves
2b4cfe2b02 Merge pull request #786 from Security-Onion-Solutions/feature/suri5
Feature/suri5
2020-05-28 09:41:41 -04:00
Mike Reeves
8304d91b0b Merge branch 'dev' into feature/suri5 2020-05-28 09:41:28 -04:00
m0duspwnens
091cc8b789 fix how local salt and pillar dirs are created - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-28 08:57:07 -04:00
weslambert
3883c8bfe0 Merge pull request #784 from Security-Onion-Solutions/feature/filebeat-syslog
Feature/filebeat syslog
2020-05-28 08:39:11 -04:00
Wes Lambert
d2b93d531e Basic syslog config 2020-05-28 12:36:29 +00:00
Wes Lambert
5afc05feb2 Update FB init for syslog 2020-05-28 12:35:22 +00:00
Wes Lambert
b9bdca509e update Filebeat config for syslog 2020-05-28 12:33:41 +00:00
Doug Burks
f3efafc9ca combine two notice queries into one query with multiple groupby 2020-05-28 08:01:33 -04:00
Doug Burks
60cc3e9675 remove address from DHCP leases query 2020-05-28 07:50:52 -04:00
Jason Ertel
2a21d7403f Open firewall from all networks for automated testing 2020-05-28 00:47:46 -04:00
Jason Ertel
a75301cd0e Ensure IP is available to child process executing so-allow 2020-05-27 22:00:58 -04:00
Jason Ertel
1e5d5397a4 Support multiple command line options for setup, along with dynamic values per option 2020-05-27 19:42:48 -04:00
m0duspwnens
8b83799253 create local dirs sooner - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 18:16:02 -04:00
m0duspwnens
63e0a1e8a2 create local salt and pillar dirs - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 17:18:17 -04:00
m0duspwnens
59cc927878 Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 15:56:38 -04:00
William Wernert
3712eb0acb [fix] Redirect so-allow output to log 2020-05-27 15:49:41 -04:00
weslambert
04800277c2 Merge pull request #783 from Security-Onion-Solutions/fix/hive_rename_bug
Hive to TheHive
2020-05-27 15:44:22 -04:00
weslambert
6a935b5452 Hive to TheHive 2020-05-27 15:43:41 -04:00
Josh Brower
11c641fd1b Initial support - integrated Fleet setup 2020-05-27 15:34:14 -04:00
m0duspwnens
6e5aa0f71b Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 15:08:11 -04:00
m0duspwnens
16c6b2b202 dont allow addtotab to run grafana and utility states if it is initial setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 15:07:49 -04:00
m0duspwnens
12a6da928f create /opt/so/saltstack/local/salt/suricata - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 15:00:11 -04:00
m0duspwnens
d018648bc0 create addtotab templates sooner in setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 14:53:40 -04:00
William Wernert
769f5674eb [fix] Always call set_default_log_size 2020-05-27 14:08:27 -04:00
m0duspwnens
40f04ef6d0 merge with dev and fix conflicts 2020-05-27 13:54:08 -04:00
m0duspwnens
b197869a23 remove logic for if states should run or not - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 13:46:30 -04:00
weslambert
9595d63c01 Merge pull request #782 from Security-Onion-Solutions/feature/thehive-start-stop-restart
Add Hive/ES/Cortex scripts
2020-05-27 13:46:18 -04:00
m0duspwnens
21f1b423f3 move where in the process addtotab template and data directory are created - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 13:43:55 -04:00
Wes Lambert
b80eb5f73b Add Hive/ES/Cortex scripts 2020-05-27 17:43:17 +00:00
William Wernert
66c65490b9 Merge pull request #781 from Security-Onion-Solutions/feature/setup-allow
[feat] Add flag to run so-allow automatically post-setup
2020-05-27 13:26:27 -04:00
William Wernert
1952246c85 [feat] Add flag to run so-allow automatically post-setup 2020-05-27 13:23:37 -04:00
weslambert
f07d6dfb30 Merge pull request #780 from Security-Onion-Solutions/fix/thehive_path
Rename Hive to TheHive in several places
2020-05-27 13:22:57 -04:00
Wes Lambert
b26f6826dd Rename Hive to TheHive in several places 2020-05-27 17:17:55 +00:00
weslambert
58f4cce4f3 Merge pull request #779 from Security-Onion-Solutions/fix/suricata_log_path
Fix/suricata log path
2020-05-27 13:03:10 -04:00
Wes Lambert
d56bc4c167 fix path 2020-05-27 17:01:05 +00:00
Wes Lambert
3684cdf1c6 Update FB and LS 2020-05-27 17:00:09 +00:00
Wes Lambert
e78a3f3278 update Suricata config 2020-05-27 16:59:26 +00:00
Wes Lambert
b7a0f79038 Update Suricata init 2020-05-27 16:58:31 +00:00
m0duspwnens
23e9ee46b8 Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 12:30:40 -04:00
m0duspwnens
693000afa8 remove addtotab templates and move surirulelink - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 12:30:12 -04:00
m0duspwnens
f35c59e6ce apply firewall state before we addtotab 2020-05-27 12:22:21 -04:00
Jason Ertel
9cc2614cc8 Automated setup will now output progress data to sosetup.log 2020-05-27 11:47:22 -04:00
William Wernert
dde66a664c Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-27 10:11:57 -04:00
William Wernert
c614e0a880 [feat] Add prompt about master needing internet access
When package updates go through the master node, that master needs internet access.
Therefore, prompt the user about this requirement.

Resolves #146
2020-05-27 10:11:54 -04:00
m0duspwnens
446e0f6f4c Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 10:09:36 -04:00
m0duspwnens
7eb02d2af3 move suri rule symlink 2020-05-27 10:09:23 -04:00
weslambert
042618cd8f Merge pull request #777 from Security-Onion-Solutions/fix/strelka_init
Wrap with quotes
2020-05-27 09:03:06 -04:00
weslambert
f3809cb93d Wrap with quotes 2020-05-27 08:31:14 -04:00
Jason Ertel
65431e0fcc Do not expect network access to be available prior to the NIC being configured for DHCP/Static 2020-05-26 22:39:18 -04:00
Jason Ertel
5d0a7f99e9 Improve logging of automated setup 2020-05-26 18:45:33 -04:00
Mike Reeves
68dd333fbe Remove stats from eve.json 2020-05-26 17:49:11 -04:00
Mike Reeves
1259338e6c Remvoe old Suricata.yml 2020-05-26 17:44:19 -04:00
Mike Reeves
8e95115a7c Update Suricata.yml 2020-05-26 17:43:32 -04:00
m0duspwnens
2467f5636b only have addtotab.sh run grafana or utility state if masterfw.sls exists 2020-05-26 17:12:47 -04:00
m0duspwnens
1eb6142f11 remove dir creation - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-26 17:00:29 -04:00
William Wernert
377d8e6336 [fix] Don't run tr on a string again 2020-05-26 16:54:51 -04:00
William Wernert
00681649bd [fix] Don't run tr on a string again 2020-05-26 16:41:41 -04:00
William Wernert
8d684a0341 Merge pull request #775 from Security-Onion-Solutions/feature/turbo-proxy
Feature/turbo proxy
2020-05-26 16:37:58 -04:00
William Wernert
17970beebc Merge branch 'dev' into feature/turbo-proxy
# Conflicts:
#	setup/so-functions
2020-05-26 16:37:08 -04:00
William Wernert
ec0ec79470 [fix] Test install type after it has been set 2020-05-26 16:23:06 -04:00
Jason Ertel
8e1bd32f4d Improve automated installs and remove sleep during progress updates 2020-05-26 16:11:35 -04:00
William Wernert
001f7c6694 [fix] export TURBO var so it can be used from so-setup 2020-05-26 16:01:44 -04:00
Mike Reeves
8c6928d95a Merge remote-tracking branch 'remotes/origin/dev' into feature/suri5 2020-05-26 15:50:09 -04:00
Mike Reeves
4049df8cb4 Merge pull request #774 from Security-Onion-Solutions/feature/packages
Feature/packages
2020-05-26 15:40:30 -04:00
William Wernert
9e1ed6983f [fix] Parse options at beginning of setup 2020-05-26 15:25:30 -04:00
m0duspwnens
3d3d63173e addtotab should apply grafana instead of common state 2020-05-26 15:24:39 -04:00
m0duspwnens
13c2c4fa4c create and move files if they dont exist for addtotab.sh - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-26 15:20:12 -04:00
William Wernert
84e3ce508e [fix] Only check for proxy-user & proxy-pass when needed 2020-05-26 15:19:37 -04:00
Mike Reeves
b748a86694 Suricata 5 initial commit 2020-05-26 15:12:00 -04:00
William Wernert
92c6a52496 [feat][WIP] Add functionality to run setup through a proxy 2020-05-26 14:49:22 -04:00
m0duspwnens
e27facc843 ensure /opt/so/saltstack/local/salt/suricata/rules is created 2020-05-26 14:47:16 -04:00
m0duspwnens
413f08f1b9 change mkdirs to makedirs in ssl state 2020-05-26 14:43:15 -04:00
Mike Reeves
21cd66d109 add ntpdate/ntp 2020-05-26 14:05:47 -04:00
Mike Reeves
41935996d4 add ntpdate/ntp 2020-05-26 13:48:36 -04:00
Mike Reeves
d260224dfe Update reboot language 2020-05-26 13:39:36 -04:00
Josh Brower
894bfd47f4 Merge pull request #771 from Security-Onion-Solutions/feature/communityid-hive-pivot
Elasticsearch Ingest fixes
2020-05-26 13:08:40 -04:00
Josh Brower
8723f8785e osquery pipeline fix and fail state if errors 2020-05-26 13:05:56 -04:00
Doug Burks
7a657d1229 add Community ID to default fields in bottom data table in Hunt 2020-05-26 12:58:01 -04:00
Josh Brower
3274ec0721 Merge pull request #769 from Security-Onion-Solutions/feature/communityid-hive-pivot
Add TheHive communityid link
2020-05-26 12:02:33 -04:00
Josh Brower
2cb7464086 Add TheHive communityid link 2020-05-26 12:01:58 -04:00
m0duspwnens
fafb469b5c change from default to local - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-26 11:59:00 -04:00
Mike Reeves
87407c9ace rework common init.sls 2020-05-26 11:21:59 -04:00
weslambert
0b200d15fd Merge pull request #768 from Security-Onion-Solutions/fix/es_watermark
Update ES watermark settings
2020-05-26 10:19:57 -04:00
Wes Lambert
0e51ab41cf Update ES watermark settings 2020-05-26 14:18:58 +00:00
weslambert
8aa2cab680 Merge pull request #767 from Security-Onion-Solutions/fix/so_index_transition
Fix/so index transition
2020-05-26 10:08:20 -04:00
Wes Lambert
97306d3acd rename indices 2020-05-26 14:05:33 +00:00
Wes Lambert
3eb62287ac update Curator config for index transition 2020-05-26 14:00:16 +00:00
Jason Ertel
c28936d9e4 temporarily abort automated installation 2020-05-26 09:40:43 -04:00
weslambert
956926d870 Merge pull request #766 from Security-Onion-Solutions/fix/soctopus_host
update SOCtopus config for hostname/ip
2020-05-26 09:20:43 -04:00
Wes Lambert
330de46249 update SOCtopus config for hostname/ip 2020-05-26 13:19:15 +00:00
weslambert
b5bd6e6144 Merge pull request #765 from Security-Onion-Solutions/fix/strelka_cron
update Strelka cron
2020-05-26 09:01:24 -04:00
Wes Lambert
e09027e795 update Strelka cron 2020-05-26 13:00:03 +00:00
Jason Ertel
ad97092589 When automating setup installation wait for network availability 2020-05-24 21:38:44 -04:00
Mike Reeves
31b3563fb3 Fix package versions 2020-05-24 10:56:30 -04:00
Mike Reeves
1c207afb31 Define packages in the common state 2020-05-23 12:00:24 -04:00
Josh Brower
35f3498ffa Merge pull request #760 from Security-Onion-Solutions/feature/ingest-communityid
Ingest pipeline commid fix for conn logs
2020-05-22 17:11:38 -04:00
Josh Brower
56f5fbdf6b Ingest pipeline commid fix for conn logs 2020-05-22 17:11:08 -04:00
William Wernert
13423bed18 [fix] Add indent in proxy.conf 2020-05-22 16:35:16 -04:00
William Wernert
9a1e122c19 Merge pull request #759 from Security-Onion-Solutions/feature/turbo-proxy
Feature/turbo proxy
2020-05-22 16:31:20 -04:00
William Wernert
29726e957f [fix] Redirect parse_options output to setup log 2020-05-22 15:16:57 -04:00
William Wernert
d9feb0d95c [fix] Don't repeat protocol in daemon.json 2020-05-22 15:09:04 -04:00
William Wernert
ad96baab55 [feat] Trim quotes from arguments 2020-05-22 14:50:58 -04:00
William Wernert
08564ed6d4 [feat] Trim quotes from arguments 2020-05-22 14:50:42 -04:00
William Wernert
862631b93a [fix] Add space in daemon.json 2020-05-22 14:47:00 -04:00
Jason Ertel
19cd57bce0 Support automated setup 2020-05-22 14:44:57 -04:00
William Wernert
579b622935 [fix] Don't overwrite daemon.json, and only accept turbo mode on correct install types 2020-05-22 14:36:55 -04:00
William Wernert
78f6261fcc [fix] acng should be port 3142 not 3412 2020-05-22 14:00:01 -04:00
William Wernert
4b505827b1 [fix] Use correct ports for acng and docker registry 2020-05-22 13:31:58 -04:00
William Wernert
c790b3827d [fix] yum.conf proxy should not contain quotes 2020-05-22 13:25:17 -04:00
William Wernert
b029d9aca6 [feat] Initial work for running setup through proxy 2020-05-22 11:40:16 -04:00
William Wernert
967148890c [fix] Only prompt user about network install on network install 2020-05-22 11:39:32 -04:00
m0duspwnens
b24654002b rename salt custom directory to local 2020-05-21 14:53:25 -04:00
Josh Brower
767eda6d60 Merge pull request #754 from Security-Onion-Solutions/feature/ingest-communityid
Feature/ingest communityid
2020-05-21 14:36:08 -04:00
Josh Brower
bff86ea802 zeek.common ingest parser fix 2020-05-21 14:35:25 -04:00
Josh Brower
c74ace89ba Initial support - Ingest community_id 2020-05-21 14:34:00 -04:00
m0duspwnens
d0242c1da6 update references of /opt/so/saltstack to /opt/so/saltstack/default. use var default_salt_dir where appropriate - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-21 10:54:47 -04:00
m0duspwnens
bd4fdaaa00 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-21 09:51:31 -04:00
Josh Patterson
9aff026569 Merge pull request #748 from Security-Onion-Solutions/issue/706
Issue/706 and issue/747
2020-05-21 09:25:36 -04:00
m0duspwnens
0a6f0efdc5 Sort so-status output alphabetically - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/747 2020-05-21 09:21:28 -04:00
m0duspwnens
9f5a38c26f add so-filebeat to so-status for eval - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/706 2020-05-21 09:19:24 -04:00
m0duspwnens
ba9ff34cff Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-21 09:09:12 -04:00
m0duspwnens
b3ccba4c7e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-19 16:35:52 -04:00
m0duspwnens
d27b18009f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-19 15:24:40 -04:00
m0duspwnens
7977c47fda Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-19 09:48:07 -04:00
m0duspwnens
6b8f2e4683 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 17:05:56 -04:00
m0duspwnens
3f8b6402e6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 16:34:19 -04:00
m0duspwnens
7a4928e1e0 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 13:54:07 -04:00
m0duspwnens
3b17bf14c1 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 13:08:46 -04:00
m0duspwnens
f693968853 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 10:20:14 -04:00
m0duspwnens
a97594135a Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 14:55:47 -04:00
m0duspwnens
a51e590d24 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 14:04:42 -04:00
m0duspwnens
fc582c7bf6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 13:24:11 -04:00
m0duspwnens
8c090b180b Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-13 15:02:55 -04:00
m0duspwnens
d1a1e6e265 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-12 16:54:57 -04:00
m0duspwnens
3d643f88fd Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-12 15:32:39 -04:00
m0duspwnens
66e48e3294 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-11 13:50:00 -04:00
m0duspwnens
0f5ca7b62e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-08 17:15:37 -04:00
Mike Reeves
fc2564e7be Update ip lists 2020-05-08 12:07:16 -04:00
Mike Reeves
85708b77c6 Update aliases 2020-05-08 11:47:35 -04:00
Mike Reeves
470046dda9 Update setup for new format 2020-05-08 11:16:26 -04:00
Mike Reeves
986df0c573 Update ports.yml 2020-05-08 11:13:23 -04:00
m0duspwnens
1945c57b0d starting new fw format - issue/641 2020-05-07 18:22:23 -04:00
m0duspwnens
c393cc6594 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-07 11:39:12 -04:00
Mike Reeves
dd8627f9dd Initial Firewall State Simplification 2020-05-07 11:36:38 -04:00
m0duspwnens
cdd985cc57 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-06 16:51:16 -04:00
m0duspwnens
7b0c385920 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-06 15:39:42 -04:00
m0duspwnens
7f2785770f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-05 17:25:51 -04:00
m0duspwnens
be23a85bf0 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-05 10:52:28 -04:00
m0duspwnens
07df3c90ab Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-04 16:01:22 -04:00
m0duspwnens
81ce7b915a Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-04 11:05:31 -04:00
m0duspwnens
19eec6e1f4 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-29 16:10:52 -04:00
m0duspwnens
e95842deef Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-29 09:49:07 -04:00
m0duspwnens
3b5736f983 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-27 16:48:14 -04:00
m0duspwnens
95ddb80612 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-21 08:40:16 -04:00
m0duspwnens
703319f66b Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 16:11:02 -04:00
m0duspwnens
5b0158a6c9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 15:54:29 -04:00
m0duspwnens
615eecbd5a Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 15:47:10 -04:00
m0duspwnens
a874807bda Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 14:10:52 -04:00
m0duspwnens
2da3165019 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 10:55:49 -04:00
m0duspwnens
78b0b5ad18 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 00:17:51 -04:00
m0duspwnens
c840f81fe6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 16:20:41 -04:00
m0duspwnens
29b5e769d6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 16:03:42 -04:00
m0duspwnens
445f44d847 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 15:08:52 -04:00
m0duspwnens
3ec37b7646 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 14:55:39 -04:00
m0duspwnens
8c36a732a6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 12:00:22 -04:00
m0duspwnens
69d9507758 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-10 14:50:58 -04:00
m0duspwnens
d824b91c42 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 15:08:52 -04:00
m0duspwnens
2b05ae6c08 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 11:59:25 -04:00
m0duspwnens
48240498f9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 08:28:55 -04:00
m0duspwnens
3ec57eace8 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-08 17:27:44 -04:00
m0duspwnens
638bf7e50b merge 2020-04-08 16:22:49 -04:00
m0duspwnens
cd1caa5568 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-07 17:00:10 -04:00
m0duspwnens
ed392ac4c2 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-06 13:41:18 -04:00
m0duspwnens
304e43e2ae Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-02 20:44:38 -04:00
m0duspwnens
1095f01c4f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-23 09:34:53 -04:00
m0duspwnens
88acbc4d4d Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-18 10:45:53 -04:00
m0duspwnens
4aba09c44e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-17 11:28:43 -04:00
m0duspwnens
632aad2787 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-17 08:59:19 -04:00
m0duspwnens
417e3ee19f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-13 12:44:06 -04:00
m0duspwnens
70fd326041 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-13 08:14:27 -04:00
m0duspwnens
f40d6d8ba9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-13 07:56:39 -04:00
m0duspwnens
1222f2cf0e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-10 12:10:06 -04:00
m0duspwnens
2c21ade950 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-04 12:26:01 -05:00
m0duspwnens
035a0a4ee2 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-02-27 11:08:52 -05:00
m0duspwnens
a5f5eba9fb Merge branch 'issue/326' into dev 2020-02-20 16:51:06 -05:00
358 changed files with 15803 additions and 15705 deletions

51
KEYS Normal file
View File

@@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBF7rzwEBEADBg87uJhnC3Ls7s60hbHGaywGrPtbz2WuYA/ev3YS3X7WS75p8
PGlzTWUCujx0pEHbK2vYfExl3zksZ8ZmLyZ9VB3oSLiWBzJgKAeB7YCFEo8te+eE
P2Z+8c+kX4eOV+2waxZyewA2TipSkhWgStSI4Ow8SyVUcUWA3hCw7mo2duNVi7KO
C3vvI3wzirH+8/XIGo+lWTg6yYlSxdf+0xWzYvV2QCMpwzJfARw6GGXtfCZw/zoO
o4+YPsiyztQdyI1y+g3Fbesl65E36DelbyP+lYd2VecX8ELEv0wlKCgHYlk6lc+n
qnOotVjWbsyXuFfo06PHUd6O9n3nmo0drC6kmXGw1e8hu0t8VcGfMTKS/hszwVUY
bHS6kbfsOoAb6LXPWKfqxk/BdreLXmcHHz88DimS3OS0JufkcmkjxEzSFRL0kb2h
QVb1SATrbx+v2RWQXvi9sLCjT2fdOiwi1Tgc84orc7A1C3Jwu353YaX9cV+n5uyG
OZ2AULZ5z2h13sVuiZAwfyyFs/O0CJ783hFA2TNPnyNGAgw/kaIo7nNRnggtndBo
oQzVS+BHiFx98IF4zDqmF2r2+jOCjxSrw8KnZBe4bgXFtl89DmjoejGvWDnu2MVM
pZDEs1DcOxHBQmTCWMIYLyNKG0xW6diyWBxEIaa7YgrP6kA+RaDfZ/xXPwARAQAB
tD9TZWN1cml0eSBPbmlvbiBTb2x1dGlvbnMsIExMQyA8aW5mb0BzZWN1cml0eW9u
aW9uc29sdXRpb25zLmNvbT6JAlQEEwEKAD4WIQTIBKk9Nr4Mcz6hlkR8EGC3/lBw
EwUCXuvPAQIbAwUJEswDAAULCQgHAgYVCgkICwIEFgIDAQIeAQIXgAAKCRB8EGC3
/lBwExB1D/42xIDGU2XFNFyTU+ZqzDA8qNC9hEKjLeizbeM8RIm3xO+3p7SdqbuJ
7pA8gk0RiHuILb+Ba1xiSh/w/W2bOxQhsXuWHih2z3W1tI+hu6RQhIm4e6CIHHf7
Vzj4RSvHOVS0AzITUwkHjv0x0Z8zVBPJfEHKkK2x03BqP1o12rd7n2ZMrSfN6sED
fUwOJLDjthShtyLSPBVG8j7T5cfSCPSLhfVOKPQVcI1sSir7RLeyxt1v1kzjQdaA
+znxO8EgfZJN93wzfBrAGcVT8KmpmgwR6p46m20wJXyZC9DZxJ0o1y3toVWTC+kP
Qj1ROPivySVn10rBoOJk8HteyhW07gTcydq+noKHV7SqJ1899xRAYP7rDCfI9iMW
Nn22ZDLnAkIcbNR7JLJCHwsZH/Umo9KO/dIccIqVQel3UCCYZcWTZW0VkcjqVKRa
eK+JQGaJPrBAoxIG5/sMlbk2sINSubNWlcbH6kM0V8NVwdPiOO9xLmp2hI4ICxE3
M+O2HCNX4QYzVizzTFxEvW3ieLa4nePQ8J6lvMI2oLkFP7xHoFluvZnuwfNvoEy0
RnlHExN1UQTUvcbCxIbzjaJ4HJXilWHjgmGaVQO1S7AYskWnNWQ7uJvxnuZBNNwm
pIvwYEZp23fYaWl/xKqnmPMy2ADjROBKlCm7L+Ntq1r7ELGW5ZCTobkCDQRe688B
ARAA22GzdkSAo+mwJ2S1RbJ1G20tFnLsG/NC8iMN3lEh/PSmyPdB7mBtjZ+HPDzF
VSznXZdr3LItBBQOli2hVIj1lZBY7+s2ZufV3TFFwselUwT3b1g1KMkopD95Ckf8
WhLbSz2yqgrvcEvbB0HFX/ZEsHGqIz2kLacixjwXXLWOMQ2LNbeW1f5zQkBnaNNQ
/4njzTj68OxnvfplNYNJqi2pZGb2UqarYX04FqKNuocN8E7AC9FQdBXylmVctw9T
pQVwfCI76bTe6vPWb+keb6UNN1jyXVnhIQ3Fv5sFBsmgXf/hO8tqCotrKjEiK2/i
RkvFeqsGMXreCgYg9zW4k+DcJtVa+Q8juGOjElrubY3Ua9mCusx3vY4QYSWxQ5Ih
k1lXiUcM5Rt38lfpKHRJ5Pd4Y5xlWSQfZ7nmzbf/GzJQz+rWrA0X6Oc6cDOPLNXK
w1dAygre4f2bsp5kHQt6NMefxeNTDmi+4R62K0tb40f5q0Vxz8qdyD48bBsbULNx
kb6mjOAD+FNkfNXcGeuTq9oRnjx8i93mhYsIP5LFNDXS/zSP1nv0ZUFeIlGQGjV9
1wOvT454qkI9sKiVFtd4FrNKZJbKszxxDm+DPfB5j+hRC4oeEJ7w+sVyh3EawtfM
V7Mwj8i+7c3YUCravXBhSwG7SCTggFUgA8lMr8oWVgCATYsAEQEAAYkCPAQYAQoA
JhYhBMgEqT02vgxzPqGWRHwQYLf+UHATBQJe688BAhsMBQkSzAMAAAoJEHwQYLf+
UHATTtwQAJiztPW68ykifpFdwYFp1VC7c+uGLhWBqjDY9NSUKNC9caR7bV0cnNu8
07UG6j18gCB2GSkukXjOR/oTj6rNcW/WouPYfQOrw7+M2Ya8M8iq+E/HOXaXB3b4
FeCcB0UuwfcHHd2KbXrRHA+9GNpmuOcfTCdsPpIr41Xg4QltATDEt/FrzuKspXg4
vUKDXgfnbj7y0JcJM2FfcwWGlnAG5MMRyjJQAleGdiidX/9WxgJ4Mweq4qJM0jr3
Qsrc9VuzxsLr85no3Hn5UYVgT7bBZ59HUbQoi775m78MxN3mWUSdcyLQKovI+YXr
tshTxWIf/2Ovdzt6Wq1WWXOGGuK1qgdPJTFWrlh3amFdb70zR1p6A/Lthd7Zty+n
QjRZRQo5jBSnYtjhMrZP6rxM3QqnQ0frEKK9HfDYONk1Bw18CUtdwFGb9OMregLR
IjvNLp9coSh5yYAepZyUGEPRET0GsmVw2trQF0uyMSkQfiq2zjPto6WWbsmrrbLr
cfZ/wnBw1FoNEd51U54euo9yvOgOVtJGvqLgHNwB8574FhQhoWAMhyizqdgeEt26
m3FXecUNKL/AK71/l04vor+/WsXe8uhDg3O84qeYa9wgd8LZZVmGZJDosSwqYjtb
LdNNm+v60Zo6rFWSREegqi/nRTTDdxdW99ybjlh+mpbq3xavyFXF
=bhkm
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -1,90 +1,37 @@
## Hybrid Hunter Beta 1.3.0 - Beta 2
## Security Onion 2.0.0.rc1
### Changes:
- New Feature: Codename: "Onion Hunt". Select Hunt from the menu and start hunting down your adversaries!
- Improved ECS support.
- Complete refactor of the setup to make it easier to follow.
- Improved setup script logging to better assist on any issues.
- Setup now checks for minimal requirements during install.
- Updated Cyberchef to version 9.20.3.
- Updated Elastalert to version 0.2.4 and switched to alpine to reduce container size.
- Updated Redis to 5.0.9 and switched to alpine to reduce container size.
- Updated Salt to 2019.2.5
- Updated Grafana to 6.7.3.
- Zeek 3.0.6
- Suricata 4.1.8
- Fixes so-status to now display correct containers and status.
- local.zeek is now controlled by a pillar instead of modifying the file directly.
- Renamed so-core to so-nginx and switched to alpine to reduce container size.
- Playbook now uses MySQL instead of SQLite.
- Sigma rules have all been updated.
- Kibana dashboard improvements for ECS.
- Fixed an issue where geoip was not properly parsed.
- ATT&CK Navigator is now it's own state.
- Standlone mode is now supported.
- Mastersearch previously used the same Grafana dashboard as a Search node. It now has its own dashboard that incorporates panels from the Master node and Search node dashboards.
### Known Issues:
- The Hunt feature is currently considered "Preview" and although very useful in its current state, not everything works. We wanted to get this out as soon as possible to get the feedback from you! Let us know what you want to see! Let us know what you think we should call it!
- You cannot pivot to PCAP from Suricata alerts in Kibana or Hunt.
- Updating users via the SOC ui is known to fail. To change a user, delete the user and re-add them.
- Due to the move to ECS, the current Playbook plays may not alert correctly at this time.
- The osquery MacOS package does not install correctly.
Security Onion 2.0.0 RC1 is here! This version requires a fresh install, but there is good news - we have brought back soup! From now on, you should be able to run soup on the manager to upgrade your environment to RC2 and beyond!
### Warnings and Disclaimers
- This BETA release is BLEEDING EDGE and TOTALLY UNSUPPORTED!
- If this breaks your system, you get to keep both pieces!
- This script is a work in progress and is in constant flux.
- This script is intended to build a quick prototype proof of concept so you can see what our new platform might look like. This configuration will change drastically over time leading up to the final release.
- This is a work in progress and is in constant flux.
- This configuration may change drastically over time leading up to the final release.
- Do NOT run this on a system that you care about!
- Do NOT run this on a system that has data that you care about!
- This script should only be run on a TEST box with TEST data!
- Use of this script may result in nausea, vomiting, or a burning sensation.
### Release Notes
https://docs.securityonion.net/en/2.0/release-notes.html
### Requirements
Evaluation Mode:
https://docs.securityonion.net/en/2.0/hardware.html
- ISO or a Single VM running Ubuntu 18.04 or CentOS 7
- Minimum 12GB of RAM
- Minimum 4 CPU cores
- Minimum 2 NICs
### Download
Distributed:
- 3 VMs running the ISO or Ubuntu 18.04 or CentOS 7 (You can mix and match)
- Minimum 8GB of RAM per VM
- Minimum 4 CPU cores per VM
- Minimum 2 NICs for forward nodes
https://docs.securityonion.net/en/2.0/download.html
### Installation
For most users, we recommend installing using [our ISO image](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/ISO).
If instead you would like to try a manual installation (not using our ISO), you can build from CentOS 7 or Ubuntu 18.04.
If using CentOS 7 Minimal, you will need to install git:
```sudo yum -y install git```
Once you have git, then do the following:
```
git clone https://github.com/Security-Onion-Solutions/securityonion-saltstack
cd securityonion-saltstack
sudo bash so-setup-network
```
Follow the prompts and reboot if asked to do so.
Then proceed to the [Hybrid Hunter Quick Start Guide](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/Hybrid-Hunter-Quick-Start-Guide).
https://docs.securityonion.net/en/2.0/installation.html
### FAQ
See the [FAQ](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/FAQ) on the Hybrid Hunter wiki.
https://docs.securityonion.net/en/2.0/faq.html
### Feedback
If you have questions, problems, or other feedback regarding Hybrid Hunter, please post to our subreddit and prefix the title with **[Hybrid Hunter]**:<br>
https://www.reddit.com/r/securityonion/
https://docs.securityonion.net/en/2.0/community-support.html

50
VERIFY_ISO.md Normal file
View File

@@ -0,0 +1,50 @@
### 2.0.0-rc1 ISO image built on 2020/07/20
### Download and Verify
2.0.0-rc1 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.0.0-rc1.iso
MD5: 788570E839439C23956581C6145B8689
SHA1: A87CAF016C989D4DB4D4ED619DF072B708BA28FE
SHA256: C5AC6419AF40CB98E93C53CE4101E7DE5F51AEE76DB46734191D783503649210
Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.0.0-rc1.iso.sig
Signing key:
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS
For example, here are the steps you can use on most Linux distributions to download and verify our Security Onion ISO image.
Download and import the signing key:
```
wget https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS -O - | gpg --import -
```
Download the signature file for the ISO:
```
wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.0.0-rc1.iso.sig
```
Download the ISO image:
```
wget https://download.securityonion.net/file/securityonion/securityonion-2.0.0-rc1.iso
```
Verify the downloaded ISO image using the signature file:
```
gpg --verify securityonion-2.0.0-rc1.iso.sig securityonion-2.0.0-rc1.iso
```
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
```
gpg: Signature made Mon 20 Jul 2020 03:01:19 PM EDT using RSA key ID FE507013
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
Primary key fingerprint: C804 A93D 36BE 0C73 3EA1 9644 7C10 60B7 FE50 7013
```
Once you've verified the ISO image, you're ready to proceed to our Installation guide:
https://docs.securityonion.net/en/2.0/installation.html

View File

@@ -1 +1 @@
1.3.0
2.0.1-rc.1

View File

View File

@@ -0,0 +1,20 @@
{% import_yaml 'firewall/portgroups.yaml' as default_portgroups %}
{% set default_portgroups = default_portgroups.firewall.aliases.ports %}
{% import_yaml 'firewall/portgroups.local.yaml' as local_portgroups %}
{% if local_portgroups.firewall.aliases.ports %}
{% set local_portgroups = local_portgroups.firewall.aliases.ports %}
{% else %}
{% set local_portgroups = {} %}
{% endif %}
{% set portgroups = salt['defaults.merge'](default_portgroups, local_portgroups, in_place=False) %}
role:
eval:
fleet:
heavynode:
helixsensor:
manager:
managersearch:
standalone:
searchnode:
sensor:

View File

@@ -0,0 +1,70 @@
firewall:
hostgroups:
analyst:
ips:
delete:
insert:
beats_endpoint:
ips:
delete:
insert:
beats_endpoint_ssl:
ips:
delete:
insert:
elasticsearch_rest:
ips:
delete:
insert:
fleet:
ips:
delete:
insert:
heavy_node:
ips:
delete:
insert:
manager:
ips:
delete:
insert:
minion:
ips:
delete:
insert:
node:
ips:
delete:
insert:
osquery_endpoint:
ips:
delete:
insert:
search_node:
ips:
delete:
insert:
sensor:
ips:
delete:
insert:
strelka_frontend:
ips:
delete:
insert:
syslog:
ips:
delete:
insert:
wazuh_agent:
ips:
delete:
insert:
wazuh_api:
ips:
delete:
insert:
wazuh_authd:
ips:
delete:
insert:

View File

@@ -0,0 +1,3 @@
firewall:
aliases:
ports:

View File

@@ -37,7 +37,9 @@ log_file: /opt/so/log/salt/master
#
file_roots:
base:
- /opt/so/saltstack/salt
- /opt/so/saltstack/local/salt
- /opt/so/saltstack/default/salt
# The master_roots setting configures a master-only copy of the file_roots dictionary,
# used by the state compiler.
@@ -53,7 +55,8 @@ file_roots:
pillar_roots:
base:
- /opt/so/saltstack/pillar
- /opt/so/saltstack/local/pillar
- /opt/so/saltstack/default/pillar
peer:
.*:

View File

@@ -1,7 +1,8 @@
#!/usr/bin/env bash
# This script adds sensors/nodes/etc to the nodes tab
default_salt_dir=/opt/so/saltstack/default
local_salt_dir=/opt/so/saltstack/local
TYPE=$1
NAME=$2
IPADDRESS=$3
@@ -15,7 +16,7 @@ MONINT=$9
#HOTNAME=$11
echo "Seeing if this host is already in here. If so delete it"
if grep -q $NAME "/opt/so/saltstack/pillar/data/$TYPE.sls"; then
if grep -q $NAME "$local_salt_dir/pillar/data/$TYPE.sls"; then
echo "Node Already Present - Let's re-add it"
awk -v blah=" $NAME:" 'BEGIN{ print_flag=1 }
{
@@ -31,27 +32,29 @@ if grep -q $NAME "/opt/so/saltstack/pillar/data/$TYPE.sls"; then
if ( print_flag == 1 )
print $0
} ' /opt/so/saltstack/pillar/data/$TYPE.sls > /opt/so/saltstack/pillar/data/tmp.$TYPE.sls
mv /opt/so/saltstack/pillar/data/tmp.$TYPE.sls /opt/so/saltstack/pillar/data/$TYPE.sls
} ' $local_salt_dir/pillar/data/$TYPE.sls > $local_salt_dir/pillar/data/tmp.$TYPE.sls
mv $local_salt_dir/pillar/data/tmp.$TYPE.sls $local_salt_dir/pillar/data/$TYPE.sls
echo "Deleted $NAME from the tab. Now adding it in again with updated info"
fi
echo " $NAME:" >> /opt/so/saltstack/pillar/data/$TYPE.sls
echo " ip: $IPADDRESS" >> /opt/so/saltstack/pillar/data/$TYPE.sls
echo " manint: $MANINT" >> /opt/so/saltstack/pillar/data/$TYPE.sls
echo " totalcpus: $CPUS" >> /opt/so/saltstack/pillar/data/$TYPE.sls
echo " guid: $GUID" >> /opt/so/saltstack/pillar/data/$TYPE.sls
echo " rootfs: $ROOTFS" >> /opt/so/saltstack/pillar/data/$TYPE.sls
echo " nsmfs: $NSM" >> /opt/so/saltstack/pillar/data/$TYPE.sls
echo " $NAME:" >> $local_salt_dir/pillar/data/$TYPE.sls
echo " ip: $IPADDRESS" >> $local_salt_dir/pillar/data/$TYPE.sls
echo " manint: $MANINT" >> $local_salt_dir/pillar/data/$TYPE.sls
echo " totalcpus: $CPUS" >> $local_salt_dir/pillar/data/$TYPE.sls
echo " guid: $GUID" >> $local_salt_dir/pillar/data/$TYPE.sls
echo " rootfs: $ROOTFS" >> $local_salt_dir/pillar/data/$TYPE.sls
echo " nsmfs: $NSM" >> $local_salt_dir/pillar/data/$TYPE.sls
if [ $TYPE == 'sensorstab' ]; then
echo " monint: $MONINT" >> /opt/so/saltstack/pillar/data/$TYPE.sls
salt-call state.apply common queue=True
echo " monint: $MONINT" >> $local_salt_dir/pillar/data/$TYPE.sls
salt-call state.apply grafana queue=True
fi
if [ $TYPE == 'evaltab' ]; then
echo " monint: $MONINT" >> /opt/so/saltstack/pillar/data/$TYPE.sls
salt-call state.apply common queue=True
salt-call state.apply utility queue=True
if [ $TYPE == 'evaltab' ] || [ $TYPE == 'standalonetab' ]; then
echo " monint: $MONINT" >> $local_salt_dir/pillar/data/$TYPE.sls
if [ ! $10 ]; then
salt-call state.apply grafana queue=True
salt-call state.apply utility queue=True
fi
fi
#if [ $TYPE == 'nodestab' ]; then
# echo " nodetype: $NODETYPE" >> /opt/so/saltstack/pillar/data/$TYPE.sls
# echo " hotname: $HOTNAME" >> /opt/so/saltstack/pillar/data/$TYPE.sls
# echo " nodetype: $NODETYPE" >> $local_salt_dir/pillar/data/$TYPE.sls
# echo " hotname: $HOTNAME" >> $local_salt_dir/pillar/data/$TYPE.sls
#fi

View File

@@ -1 +0,0 @@
evaltab:

View File

@@ -1 +0,0 @@
mastersearchtab:

View File

@@ -1 +0,0 @@
mastertab:

View File

@@ -1 +0,0 @@
nodestab:

View File

@@ -1 +0,0 @@
sensorstab:

View File

@@ -1,12 +1,12 @@
{%- set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) -%}
{%- set FLEETMANAGER = salt['pillar.get']('static:fleet_manager', False) -%}
{%- set FLEETNODE = salt['pillar.get']('static:fleet_node', False) -%}
{% set WAZUH = salt['pillar.get']('master:wazuh', '0') %}
{% set THEHIVE = salt['pillar.get']('master:thehive', '0') %}
{% set PLAYBOOK = salt['pillar.get']('master:playbook', '0') %}
{% set FREQSERVER = salt['pillar.get']('master:freq', '0') %}
{% set DOMAINSTATS = salt['pillar.get']('master:domainstats', '0') %}
{% set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') %}
{% set GRAFANA = salt['pillar.get']('master:grafana', '0') %}
{% 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']('static:zeekversion', 'COMMUNITY') %}
{% set GRAFANA = salt['pillar.get']('manager:grafana', '0') %}
eval:
containers:
@@ -20,7 +20,7 @@ eval:
- so-soc
- so-kratos
- so-idstools
{% if FLEETMASTER %}
{% if FLEETMANAGER %}
- so-mysql
- so-fleet
- so-redis
@@ -44,7 +44,6 @@ eval:
{% endif %}
{% if PLAYBOOK != '0' %}
- so-playbook
- so-navigator
{% endif %}
{% if FREQSERVER != '0' %}
- so-freqserver
@@ -64,7 +63,7 @@ heavy_node:
- so-suricata
- so-wazuh
- so-filebeat
{% if BROVER != 'SURICATA' %}
{% if ZEEKVER != 'SURICATA' %}
- so-zeek
{% endif %}
helix:
@@ -84,7 +83,7 @@ hot_node:
- so-logstash
- so-elasticsearch
- so-curator
master_search:
manager_search:
containers:
- so-nginx
- so-telegraf
@@ -100,7 +99,7 @@ master_search:
- so-elastalert
- so-filebeat
- so-soctopus
{% if FLEETMASTER %}
{% if FLEETMANAGER %}
- so-mysql
- so-fleet
- so-redis
@@ -116,7 +115,6 @@ master_search:
{% endif %}
{% if PLAYBOOK != '0' %}
- so-playbook
- so-navigator
{% endif %}
{% if FREQSERVER != '0' %}
- so-freqserver
@@ -124,7 +122,7 @@ master_search:
{% if DOMAINSTATS != '0' %}
- so-domainstats
{% endif %}
master:
manager:
containers:
- so-dockerregistry
- so-nginx
@@ -143,7 +141,7 @@ master:
- so-kibana
- so-elastalert
- so-filebeat
{% if FLEETMASTER %}
{% if FLEETMANAGER %}
- so-mysql
- so-fleet
- so-redis
@@ -159,7 +157,6 @@ master:
{% endif %}
{% if PLAYBOOK != '0' %}
- so-playbook
- so-navigator
{% endif %}
{% if FREQSERVER != '0' %}
- so-freqserver
@@ -189,7 +186,7 @@ sensor:
- so-telegraf
- so-steno
- so-suricata
{% if BROVER != 'SURICATA' %}
{% if ZEEKVER != 'SURICATA' %}
- so-zeek
{% endif %}
- so-wazuh

View File

@@ -0,0 +1,13 @@
elasticsearch:
templates:
- so/so-beats-template.json.jinja
- so/so-common-template.json
- so/so-firewall-template.json.jinja
- so/so-flow-template.json.jinja
- so/so-ids-template.json.jinja
- so/so-import-template.json.jinja
- so/so-osquery-template.json.jinja
- so/so-ossec-template.json.jinja
- so/so-strelka-template.json.jinja
- so/so-syslog-template.json.jinja
- so/so-zeek-template.json.jinja

View File

@@ -0,0 +1,13 @@
elasticsearch:
templates:
- so/so-beats-template.json.jinja
- so/so-common-template.json
- so/so-firewall-template.json.jinja
- so/so-flow-template.json.jinja
- so/so-ids-template.json.jinja
- so/so-import-template.json.jinja
- so/so-osquery-template.json.jinja
- so/so-ossec-template.json.jinja
- so/so-strelka-template.json.jinja
- so/so-syslog-template.json.jinja
- so/so-zeek-template.json.jinja

View File

@@ -1,13 +1,13 @@
#!/usr/bin/env bash
# This script adds ip addresses to specific rule sets defined by the user
local_salt_dir=/opt/so/saltstack/local
POLICY=$1
IPADDRESS=$2
if grep -q $2 "/opt/so/saltstack/pillar/firewall/$1.sls"; then
if grep -q $2 "$local_salt_dir/pillar/firewall/$1.sls"; then
echo "Firewall Rule Already There"
else
echo " - $2" >> /opt/so/saltstack/pillar/firewall/$1.sls
echo " - $2" >> $local_salt_dir/pillar/firewall/$1.sls
salt-call state.apply firewall queue=True
fi
fi

62
pillar/firewall/ports.sls Normal file
View File

@@ -0,0 +1,62 @@
firewall:
analyst:
ports:
tcp:
- 80
- 443
udp:
beats_endpoint:
ports:
tcp:
- 5044
forward_nodes:
ports:
tcp:
- 443
- 5044
- 5644
- 9822
udp:
manager:
ports:
tcp:
- 1514
- 3200
- 3306
- 4200
- 5601
- 6379
- 8086
- 8090
- 9001
- 9200
- 9300
- 9400
- 9500
udp:
- 1514
minions:
ports:
tcp:
- 3142
- 4505
- 4506
- 5000
- 8080
- 8086
- 55000
osquery_endpoint:
ports:
tcp:
- 8090
search_nodes:
ports:
tcp:
- 6379
- 9300
wazuh_endpoint:
ports:
tcp:
- 1514
udp:
-1514

View File

@@ -1,21 +0,0 @@
logstash:
pipelines:
eval:
config:
- so/0800_input_eval.conf
- so/1002_preprocess_json.conf
- so/1033_preprocess_snort.conf
- so/7100_osquery_wel.conf
- so/8999_postprocess_rename_type.conf
- so/9000_output_bro.conf.jinja
- so/9002_output_import.conf.jinja
- so/9033_output_snort.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
templates:
- so/so-beats-template.json
- so/so-common-template.json
- so/so-zeek-template.json

View File

@@ -1,6 +1,7 @@
logstash:
pipelines:
master:
manager:
config:
- so/0009_input_beats.conf
- so/0010_input_hhbeats.conf
- so/9999_output_redis.conf.jinja

View File

@@ -5,12 +5,9 @@ logstash:
- so/0900_input_redis.conf.jinja
- so/9000_output_zeek.conf.jinja
- so/9002_output_import.conf.jinja
- so/9034_output_syslog.conf.jinja
- so/9100_output_osquery.conf.jinja
- so/9400_output_suricata.conf.jinja
- so/9500_output_beats.conf.jinja
- so/9600_output_ossec.conf.jinja
- so/9700_output_strelka.conf.jinja
templates:
- so/so-beats-template.json
- so/so-common-template.json
- so/so-zeek-template.json

View File

@@ -6,47 +6,46 @@ base:
- match: compound
- zeek
'*_mastersearch or *_heavynode':
'*_managersearch or *_heavynode':
- match: compound
- logstash
- logstash.master
- logstash.manager
- logstash.search
- elasticsearch.search
'*_sensor':
- static
- firewall.*
- brologs
- zeeklogs
- healthcheck.sensor
- minions.{{ grains.id }}
'*_master or *_mastersearch':
'*_manager or *_managersearch':
- match: compound
- static
- firewall.*
- data.*
- secrets
- minions.{{ grains.id }}
'*_master':
'*_manager':
- logstash
- logstash.master
- logstash.manager
'*_eval':
- static
- firewall.*
- data.*
- brologs
- zeeklogs
- secrets
- healthcheck.eval
- elasticsearch.eval
- static
- minions.{{ grains.id }}
'*_standalone':
- logstash
- logstash.master
- logstash.manager
- logstash.search
- firewall.*
- elasticsearch.search
- data.*
- brologs
- zeeklogs
- secrets
- healthcheck.standalone
- static
@@ -54,34 +53,30 @@ base:
'*_node':
- static
- firewall.*
- minions.{{ grains.id }}
'*_heavynode':
- static
- firewall.*
- brologs
- zeeklogs
- minions.{{ grains.id }}
'*_helix':
- static
- firewall.*
- fireeye
- brologs
- zeeklogs
- logstash
- logstash.helix
- minions.{{ grains.id }}
'*_fleet':
- static
- firewall.*
- data.*
- secrets
- minions.{{ grains.id }}
'*_searchnode':
- static
- firewall.*
- logstash
- logstash.search
- elasticsearch.search
- minions.{{ grains.id }}

View File

@@ -1,4 +1,4 @@
brologs:
zeeklogs:
enabled:
- conn
- dce_rpc

View File

@@ -6,7 +6,7 @@ import socket
def send(data):
mainint = __salt__['pillar.get']('sensor:mainint', __salt__['pillar.get']('master:mainint'))
mainint = __salt__['pillar.get']('sensor:mainint', __salt__['pillar.get']('manager:mainint'))
mainip = __salt__['grains.get']('ip_interfaces').get(mainint)[0]
dstport = 8094

View File

@@ -26,7 +26,7 @@ x509_signing_policies:
- extendedKeyUsage: serverAuth
- days_valid: 820
- copypath: /etc/pki/issued_certs/
masterssl:
managerssl:
- minions: '*'
- signing_private_key: /etc/pki/ca.key
- signing_cert: /etc/pki/ca.crt

View File

@@ -1,4 +1,4 @@
{% set master = salt['grains.get']('master') %}
{% set manager = salt['grains.get']('master') %}
/etc/salt/minion.d/signing_policies.conf:
file.managed:
- source: salt://ca/files/signing_policies.conf
@@ -20,7 +20,7 @@ pki_private_key:
/etc/pki/ca.crt:
x509.certificate_managed:
- signing_private_key: /etc/pki/ca.key
- CN: {{ master }}
- CN: {{ manager }}
- C: US
- ST: Utah
- L: Salt Lake City
@@ -44,5 +44,10 @@ send_x509_pem_entries_to_mine:
- mine.send:
- func: x509.get_pem_entries
- glob_path: /etc/pki/ca.crt
- onchanges:
- x509: /etc/pki/ca.crt
cakeyperms:
file.managed:
- replace: False
- name: /etc/pki/ca.key
- mode: 640
- group: 939

View File

@@ -1,3 +1,10 @@
{% set role = grains.id.split('_') | last %}
# Remove variables.txt from /tmp - This is temp
rmvariablesfile:
file.absent:
- name: /tmp/variables.txt
# Add socore Group
socoregroup:
group.present:
@@ -13,6 +20,20 @@ socore:
- createhome: True
- shell: /bin/bash
soconfperms:
file.directory:
- name: /opt/so/conf
- uid: 939
- gid: 939
- dir_mode: 770
sosaltstackperms:
file.directory:
- name: /opt/so/saltstack
- uid: 939
- gid: 939
- dir_mode: 770
# Create a state directory
statedir:
file.directory:
@@ -28,20 +49,85 @@ salttmp:
- group: 939
- makedirs: True
# Install packages needed for the sensor
sensorpkgs:
# Install epel
{% if grains['os'] == 'CentOS' %}
epel:
pkg.installed:
- skip_suggestions: False
- skip_suggestions: True
- pkgs:
- epel-release
{% endif %}
# Install common packages
{% if grains['os'] != 'CentOS' %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- apache2-utils
- wget
- ntpdate
- jq
- python3-docker
- docker-ce
- curl
- ca-certificates
- software-properties-common
- apt-transport-https
- openssl
- netcat
- python3-mysqldb
- sqlite3
- argon2
- libssl-dev
- python3-dateutil
- python3-m2crypto
- python3-mysqldb
- git
heldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.2.13-2
- docker-ce: 5:19.03.9~3-0~ubuntu-bionic
- hold: True
- update_holds: True
{% else %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- wget
- ntpdate
- bind-utils
- jq
{% if grains['os'] != 'CentOS' %}
- apache2-utils
{% else %}
- net-tools
- tcpdump
- httpd-tools
{% endif %}
- net-tools
- curl
- sqlite
- argon2
- mariadb-devel
- nmap-ncat
- python3
- python36-docker
- python36-dateutil
- python36-m2crypto
- python36-mysql
- yum-utils
- device-mapper-persistent-data
- lvm2
- openssl
- git
heldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.2.13-3.2.el7
- docker-ce: 3:19.03.11-3.el7
- hold: True
- update_holds: True
{% endif %}
# Always keep these packages up to date
@@ -65,4 +151,16 @@ utilsyncscripts:
- group: 0
- file_mode: 755
- template: jinja
- source: salt://common/tools/sbin
- source: salt://common/tools/sbin
{% if role in ['eval', 'standalone', 'sensor', 'heavynode'] %}
# Add sensor cleanup
/usr/sbin/so-sensor-clean:
cron.present:
- user: root
- minute: '*'
- hour: '*'
- daymonth: '*'
- month: '*'
- dayweek: '*'
{% endif %}

View File

@@ -1,5 +1,6 @@
{% set docker = {
'containers': [
'so-filebeat',
'so-nginx',
'so-telegraf',
'so-dockerregistry',
@@ -13,6 +14,7 @@
'so-zeek',
'so-curator',
'so-elastalert',
'so-soctopus'
'so-soctopus',
'so-sensoroni'
]
} %}

View File

@@ -9,6 +9,7 @@
'so-steno',
'so-suricata',
'so-wazuh',
'so-filebeat
'so-filebeat',
'so-sensoroni'
]
} %}

View File

@@ -1,6 +1,5 @@
{% set docker = {
'containers': [
'so-playbook',
'so-navigator'
'so-playbook'
]
} %}

View File

@@ -3,6 +3,7 @@
'so-telegraf',
'so-steno',
'so-suricata',
'so-filebeat'
'so-filebeat',
'so-sensoroni'
]
} %}

View File

@@ -18,14 +18,14 @@
}
},grain='id', merge=salt['pillar.get']('docker')) %}
{% if role in ['eval', 'mastersearch', 'master', 'standalone'] %}
{{ append_containers('master', 'grafana', 0) }}
{{ append_containers('static', 'fleet_master', 0) }}
{{ append_containers('master', 'wazuh', 0) }}
{{ append_containers('master', 'thehive', 0) }}
{{ append_containers('master', 'playbook', 0) }}
{{ append_containers('master', 'freq', 0) }}
{{ append_containers('master', 'domainstats', 0) }}
{% if role in ['eval', 'managersearch', 'manager', 'standalone'] %}
{{ append_containers('manager', 'grafana', 0) }}
{{ append_containers('static', 'fleet_manager', 0) }}
{{ append_containers('manager', 'wazuh', 0) }}
{{ append_containers('manager', 'thehive', 0) }}
{{ append_containers('manager', 'playbook', 0) }}
{{ append_containers('manager', 'freq', 0) }}
{{ append_containers('manager', 'domainstats', 0) }}
{% endif %}
{% if role in ['eval', 'heavynode', 'sensor', 'standalone'] %}
@@ -33,13 +33,13 @@
{% endif %}
{% if role in ['heavynode', 'standalone'] %}
{{ append_containers('static', 'broversion', 'SURICATA') }}
{{ append_containers('static', 'zeekversion', 'SURICATA') }}
{% endif %}
{% if role == 'searchnode' %}
{{ append_containers('master', 'wazuh', 0) }}
{{ append_containers('manager', 'wazuh', 0) }}
{% endif %}
{% if role == 'sensor' %}
{{ append_containers('static', 'broversion', 'SURICATA') }}
{{ append_containers('static', 'zeekversion', 'SURICATA') }}
{% endif %}

View File

@@ -16,6 +16,7 @@
'so-suricata',
'so-steno',
'so-dockerregistry',
'so-soctopus'
'so-soctopus',
'so-sensoroni'
]
} %}

View File

@@ -17,12 +17,13 @@
. /usr/sbin/so-common
local_salt_dir=/opt/so/saltstack/local
SKIP=0
while getopts "abowi:" OPTION
while getopts "ahfesprbowi:" OPTION
do
case $OPTION in
h)
usage
exit 0
@@ -35,6 +36,14 @@ do
FULLROLE="beats_endpoint"
SKIP=1
;;
e)
FULLROLE="elasticsearch_rest"
SKIP=1
;;
f)
FULLROLE="strelka_frontend"
SKIP=1
;;
i) IP=$OPTARG
;;
o)
@@ -42,9 +51,25 @@ do
SKIP=1
;;
w)
FULLROLE="wazuh_endpoint"
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
@@ -56,22 +81,37 @@ if [ "$SKIP" -eq 0 ]; then
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 "[w] - Wazuh endpoint - port 1514"
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 (a - analyst, b - beats, o - osquery, w - wazuh):"
read ROLE
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 IP
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_endpoint
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
@@ -80,22 +120,23 @@ if [ "$SKIP" -eq 0 ]; then
fi
echo "Adding $IP to the $FULLROLE role. This can take a few seconds"
/opt/so/saltstack/pillar/firewall/addfirewall.sh $FULLROLE $IP
/usr/sbin/so-firewall includehost $FULLROLE $IP
salt-call state.apply firewall queue=True
# Check if Wazuh enabled
if grep -q -R "wazuh: 1" /opt/so/saltstack/pillar/*; then
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="/opt/so/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
WAZUH_MGR_CFG="/opt/so/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

@@ -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/>.
IMAGEREPO=securityonion
# Check for prerequisites
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run using sudo!"

View File

@@ -1,5 +1,5 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
@@ -17,4 +17,5 @@
. /usr/sbin/so-common
/usr/sbin/so-restart cortex $1
/usr/sbin/so-stop cortex $1
/usr/sbin/so-start thehive $1

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common
/usr/sbin/so-start cortex $1
/usr/sbin/so-start thehive $1

View File

@@ -1,5 +1,5 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,110 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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
manager_check() {
# Check to see if this is a manager
MANAGERCHECK=$(cat /etc/salt/grains | grep role | awk '{print $2}')
if [ $MANAGERCHECK == 'so-eval' ] || [ $MANAGERCHECK == 'so-manager' ] || [ $MANAGERCHECK == 'so-managersearch' ] || [ $MANAGERCHECK == 'so-standalone' ] || [ $MANAGERCHECK == 'so-helix' ]; then
echo "This is a manager. We can proceed"
else
echo "Please run soup on the manager. The manager controls all updates."
exit 1
fi
}
update_docker_containers() {
# Download the containers from the interwebs
for i in "${TRUSTED_CONTAINERS[@]}"
do
# Pull down the trusted docker image
echo "Downloading $i"
docker pull --disable-content-trust=false docker.io/$IMAGEREPO/$i
# Tag it with the new registry destination
docker tag $IMAGEREPO/$i $HOSTNAME:5000/$IMAGEREPO/$i
docker push $HOSTNAME:5000/$IMAGEREPO/$i
done
}
version_check() {
if [ -f /etc/soversion ]; then
VERSION=$(cat /etc/soversion)
else
echo "Unable to detect version. I will now terminate."
exit 1
fi
}
manager_check
version_check
# Use the hostname
HOSTNAME=$(hostname)
# List all the containers
if [ $MANAGERCHECK != 'so-helix' ]; then
TRUSTED_CONTAINERS=( \
"so-acng:$VERSION" \
"so-thehive-cortex:$VERSION" \
"so-curator:$VERSION" \
"so-domainstats:$VERSION" \
"so-elastalert:$VERSION" \
"so-elasticsearch:$VERSION" \
"so-filebeat:$VERSION" \
"so-fleet:$VERSION" \
"so-fleet-launcher:$VERSION" \
"so-freqserver:$VERSION" \
"so-grafana:$VERSION" \
"so-idstools:$VERSION" \
"so-influxdb:$VERSION" \
"so-kibana:$VERSION" \
"so-kratos:$VERSION" \
"so-logstash:$VERSION" \
"so-mysql:$VERSION" \
"so-nginx:$VERSION" \
"so-pcaptools:$VERSION" \
"so-playbook:$VERSION" \
"so-redis:$VERSION" \
"so-soc:$VERSION" \
"so-soctopus:$VERSION" \
"so-steno:$VERSION" \
"so-strelka-frontend:$VERSION" \
"so-strelka-manager:$VERSION" \
"so-strelka-backend:$VERSION" \
"so-strelka-filestream:$VERSION" \
"so-suricata:$VERSION" \
"so-telegraf:$VERSION" \
"so-thehive:$VERSION" \
"so-thehive-es:$VERSION" \
"so-wazuh:$VERSION" \
"so-zeek:$VERSION" )
else
TRUSTED_CONTAINERS=( \
"so-filebeat:$VERSION" \
"so-idstools:$VERSION" \
"so-logstash:$VERSION" \
"so-nginx:$VERSION" \
"so-redis:$VERSION" \
"so-steno:$VERSION" \
"so-suricata:$VERSION" \
"so-telegraf:$VERSION" \
"so-zeek:$VERSION" )
fi
update_docker_containers

View File

@@ -166,8 +166,7 @@ cat << EOF
What elasticsearch index do you want to use?
Below are the default Index Patterns used in Security Onion:
*:logstash-*
*:logstash-beats-*
*:so-ids-*
*:elastalert_status*
EOF
@@ -199,7 +198,7 @@ EOF
read alertoption
if [ $alertoption = "1" ] ; then
echo "Please enter the email address you want to send the alerts to. Note: Ensure the Master Server is configured for SMTP."
echo "Please enter the email address you want to send the alerts to. Note: Ensure the Manager Server is configured for SMTP."
read emailaddress
cat << EOF >> "$rulename.yaml"
# (Required)

View File

@@ -14,7 +14,7 @@
#
# 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 MASTERIP = salt['pillar.get']('static:masterip', '') -%}
{%- set MANAGERIP = salt['pillar.get']('static:managerip', '') -%}
. /usr/sbin/so-common
SKIP=0
@@ -50,7 +50,7 @@ done
if [ $SKIP -ne 1 ]; then
# List indices
echo
curl {{ MASTERIP }}:9200/_cat/indices?v&pretty
curl {{ MANAGERIP }}:9200/_cat/indices?v
echo
# Inform user we are about to delete all data
echo
@@ -63,18 +63,54 @@ if [ $SKIP -ne 1 ]; then
if [ "$INPUT" != "AGREE" ] ; then exit 0; fi
fi
/usr/sbin/so-filebeat-stop
/usr/sbin/so-logstash-stop
# Check to see if Logstash/Filebeat are running
LS_ENABLED=$(so-status | grep logstash)
FB_ENABLED=$(so-status | grep filebeat)
EA_ENABLED=$(so-status | grep elastalert)
if [ ! -z "$FB_ENABLED" ]; then
/usr/sbin/so-filebeat-stop
fi
if [ ! -z "$LS_ENABLED" ]; then
/usr/sbin/so-logstash-stop
fi
if [ ! -z "$EA_ENABLED" ]; then
/usr/sbin/so-elastalert-stop
fi
# Delete data
echo "Deleting data..."
INDXS=$(curl -s -XGET {{ MASTERIP }}:9200/_cat/indices?v | egrep 'logstash|elastalert' | awk '{ print $3 }')
INDXS=$(curl -s -XGET {{ MANAGERIP }}:9200/_cat/indices?v | egrep 'logstash|elastalert|so-' | awk '{ print $3 }')
for INDX in ${INDXS}
do
curl -XDELETE "{{ MASTERIP }}:9200/${INDX}" > /dev/null 2>&1
curl -XDELETE "{{ MANAGERIP }}:9200/${INDX}" > /dev/null 2>&1
done
/usr/sbin/so-logstash-start
/usr/sbin/so-filebeat-start
#Start Logstash/Filebeat
if [ ! -z "$FB_ENABLED" ]; then
/usr/sbin/so-filebeat-start
fi
if [ ! -z "$LS_ENABLED" ]; then
/usr/sbin/so-logstash-start
fi
if [ ! -z "$EA_ENABLED" ]; then
/usr/sbin/so-elastalert-start
fi

View File

@@ -1,44 +0,0 @@
#!/bin/bash
MASTER=MASTER
VERSION="HH1.1.4"
TRUSTED_CONTAINERS=( \
"so-nginx:$VERSION" \
"so-thehive-cortex:$VERSION" \
"so-curator:$VERSION" \
"so-domainstats:$VERSION" \
"so-elastalert:$VERSION" \
"so-elasticsearch:$VERSION" \
"so-filebeat:$VERSION" \
"so-fleet:$VERSION" \
"so-fleet-launcher:$VERSION" \
"so-freqserver:$VERSION" \
"so-grafana:$VERSION" \
"so-idstools:$VERSION" \
"so-influxdb:$VERSION" \
"so-kibana:$VERSION" \
"so-logstash:$VERSION" \
"so-mysql:$VERSION" \
"so-navigator:$VERSION" \
"so-playbook:$VERSION" \
"so-redis:$VERSION" \
"so-sensoroni:$VERSION" \
"so-soctopus:$VERSION" \
"so-steno:$VERSION" \
#"so-strelka:$VERSION" \
"so-suricata:$VERSION" \
"so-telegraf:$VERSION" \
"so-thehive:$VERSION" \
"so-thehive-es:$VERSION" \
"so-wazuh:$VERSION" \
"so-zeek:$VERSION" )
for i in "${TRUSTED_CONTAINERS[@]}"
do
# Pull down the trusted docker image
echo "Downloading $i"
docker pull --disable-content-trust=false docker.io/soshybridhunter/$i
# Tag it with the new registry destination
docker tag soshybridhunter/$i $MASTER:5000/soshybridhunter/$i
docker push $MASTER:5000/soshybridhunter/$i
docker rmi soshybridhunter/$i
done

View File

@@ -0,0 +1,26 @@
#!/bin/bash
#
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 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/>.
IP={{ salt['grains.get']('ip_interfaces').get(salt['pillar.get']('sensor:mainint', salt['pillar.get']('manager:mainint', salt['pillar.get']('elasticsearch:mainint', salt['pillar.get']('host:mainint')))))[0] }}
ESPORT=9200
THEHIVEESPORT=9400
echo "Removing read only attributes for indices..."
echo
for p in $ESPORT $THEHIVEESPORT; do
curl -XPUT -H "Content-Type: application/json" http://$IP:$p/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 2>&1 | if grep -q ack; then echo "Index settings updated..."; else echo "There was any issue updating the read-only attribute. Please ensure Elasticsearch is running.";fi;
done

View File

@@ -1,4 +1,4 @@
{% set MASTERIP = salt['pillar.get']('master:mainip', '') %}
{% set MANAGERIP = salt['pillar.get']('manager:mainip', '') %}
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019 Security Onion Solutions, LLC
#
@@ -15,12 +15,13 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
ELASTICSEARCH_HOST="{{ MASTERIP}}"
default_conf_dir=/opt/so/conf
ELASTICSEARCH_HOST="{{ MANAGERIP}}"
ELASTICSEARCH_PORT=9200
#ELASTICSEARCH_AUTH=""
# Define a default directory to load pipelines from
ELASTICSEARCH_TEMPLATES="/opt/so/saltstack/salt/logstash/pipelines/templates/so/"
ELASTICSEARCH_TEMPLATES="$default_conf_dir/elasticsearch/templates/"
# Wait for ElasticSearch to initialize
echo -n "Waiting for ElasticSearch..."

View File

@@ -15,10 +15,23 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
local_salt_dir=/opt/so/saltstack/local
VERSION=$(grep soversion /opt/so/saltstack/pillar/static.sls | cut -d':' -f2|sed 's/ //g')
manager_check() {
# Check to see if this is a manager
MANAGERCHECK=$(cat /etc/salt/grains | grep role | awk '{print $2}')
if [[ "$MANAGERCHECK" =~ ^('so-eval'|'so-manager'|'so-standalone'|'so-managersearch')$ ]]; then
echo "This is a manager. We can proceed"
else
echo "Please run so-features-enable on the manager."
exit 0
fi
}
manager_check
VERSION=$(grep soversion $local_salt_dir/pillar/static.sls | cut -d':' -f2|sed 's/ //g')
# Modify static.sls to enable Features
sed -i 's/features: False/features: True/' /opt/so/saltstack/pillar/static.sls
sed -i 's/features: False/features: True/' $local_salt_dir/pillar/static.sls
SUFFIX="-features"
TRUSTED_CONTAINERS=( \
"so-elasticsearch:$VERSION$SUFFIX" \
@@ -30,13 +43,8 @@ for i in "${TRUSTED_CONTAINERS[@]}"
do
# Pull down the trusted docker image
echo "Downloading $i"
docker pull --disable-content-trust=false docker.io/soshybridhunter/$i
docker pull --disable-content-trust=false docker.io/$IMAGEREPO/$i
# Tag it with the new registry destination
docker tag soshybridhunter/$i $HOSTNAME:5000/soshybridhunter/$i
docker push $HOSTNAME:5000/soshybridhunter/$i
done
for i in "${TRUSTED_CONTAINERS[@]}"
do
echo "Removing $i locally"
docker rmi soshybridhunter/$i
docker tag $IMAGEREPO/$i $HOSTNAME:5000/$IMAGEREPO/$i
docker push $HOSTNAME:5000/$IMAGEREPO/$i
done

View File

@@ -0,0 +1,305 @@
#!/usr/bin/env python3
# Copyright 2014,2015,2016,2017,2018,2019,2020 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 subprocess
import sys
import yaml
hostgroupsFilename = "/opt/so/saltstack/local/salt/firewall/hostgroups.local.yaml"
portgroupsFilename = "/opt/so/saltstack/local/salt/firewall/portgroups.local.yaml"
supportedProtocols = ['tcp', 'udp']
def showUsage(args):
print('Usage: {} [OPTIONS] <COMMAND> [ARGS...]'.format(sys.argv[0]))
print(' Options:')
print(' --apply - After updating the firewall configuration files, apply the new firewall state')
print('')
print(' Available commands:')
print(' help - Prints this usage information.')
print(' includedhosts - Lists the IPs included in the given group. Args: <GROUP_NAME>')
print(' excludedhosts - Lists the IPs excluded from the given group. Args: <GROUP_NAME>')
print(' includehost - Includes the given IP in the given group. Args: <GROUP_NAME> <IP>')
print(' excludehost - Excludes the given IP from the given group. Args: <GROUP_NAME> <IP>')
print(' removehost - Removes an excluded IP from the given group. Args: <GROUP_NAME> <IP>')
print(' addhostgroup - Adds a new, custom host group. Args: <GROUP_NAME>')
print(' listports - Lists ports in the given group and protocol. Args: <GROUP_NAME> <PORT_PROTOCOL>')
print(' addport - Adds a PORT to the given group. Args: <GROUP_NAME> <PORT_PROTOCOL> <PORT>')
print(' removeport - Removes a PORT from the given group. Args: <GROUP_NAME> <PORT_PROTOCOL> <PORT>')
print(' addportgroup - Adds a new, custom port group. Args: <GROUP_NAME>')
print('')
print(' Where:')
print(' GROUP_NAME - The name of an alias group (Ex: analyst)')
print(' IP - Either a single IP address (Ex: 8.8.8.8) or a CIDR block (Ex: 10.23.0.0/16).')
print(' PORT_PROTOCOL - Must be one of the following: ' + str(supportedProtocols))
print(' PORT - Either a single numeric port (Ex: 443), or a port range (Ex: 8000:8002).')
sys.exit(1)
def loadYaml(filename):
file = open(filename, "r")
return yaml.load(file.read())
def writeYaml(filename, content):
file = open(filename, "w")
return yaml.dump(content, file)
def listIps(name, mode):
content = loadYaml(hostgroupsFilename)
if name not in content['firewall']['hostgroups']:
print('Host group does not exist', file=sys.stderr)
return 4
hostgroup = content['firewall']['hostgroups'][name]
ips = hostgroup['ips'][mode]
if ips is not None:
for ip in ips:
print(ip)
return 0
def addIp(name, ip, mode):
content = loadYaml(hostgroupsFilename)
if name not in content['firewall']['hostgroups']:
print('Host group does not exist', file=sys.stderr)
return 4
hostgroup = content['firewall']['hostgroups'][name]
ips = hostgroup['ips'][mode]
if ips is None:
ips = []
hostgroup['ips'][mode] = ips
if ip not in ips:
ips.append(ip)
else:
print('Already exists', file=sys.stderr)
return 3
writeYaml(hostgroupsFilename, content)
return 0
def removeIp(name, ip, mode, silence = False):
content = loadYaml(hostgroupsFilename)
if name not in content['firewall']['hostgroups']:
print('Host group does not exist', file=sys.stderr)
return 4
hostgroup = content['firewall']['hostgroups'][name]
ips = hostgroup['ips'][mode]
if ips is None:
ips = []
hostgroup['ips'][mode] = ips
if ip in ips:
ips.remove(ip)
else:
if not silence:
print('IP does not exist', file=sys.stderr)
return 3
writeYaml(hostgroupsFilename, content)
return 0
def createProtocolMap():
map = {}
for protocol in supportedProtocols:
map[protocol] = []
return map
def addhostgroup(args):
if len(args) != 1:
print('Missing host group name argument', file=sys.stderr)
showUsage(args)
name = args[1]
content = loadYaml(hostgroupsFilename)
if name in content['firewall']['hostgroups']:
print('Already exists', file=sys.stderr)
return 3
content['firewall']['hostgroups'][name] = { 'ips': { 'insert': [], 'delete': [] }}
writeYaml(hostgroupsFilename, content)
return 0
def addportgroup(args):
if len(args) != 1:
print('Missing port group name argument', file=sys.stderr)
showUsage(args)
name = args[0]
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name in ports:
print('Already exists', file=sys.stderr)
return 3
ports[name] = createProtocolMap()
writeYaml(portgroupsFilename, content)
return 0
def listports(args):
if len(args) != 2:
print('Missing port group name or port protocol', file=sys.stderr)
showUsage(args)
name = args[0]
protocol = args[1]
if protocol not in supportedProtocols:
print('Port protocol is not supported', file=sys.stderr)
return 5
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name not in ports:
print('Port group does not exist', file=sys.stderr)
return 3
ports = ports[name][protocol]
if ports is not None:
for port in ports:
print(port)
return 0
def addport(args):
if len(args) != 3:
print('Missing port group name or port protocol, or port argument', file=sys.stderr)
showUsage(args)
name = args[0]
protocol = args[1]
port = args[2]
if protocol not in supportedProtocols:
print('Port protocol is not supported', file=sys.stderr)
return 5
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name not in ports:
print('Port group does not exist', file=sys.stderr)
return 3
ports = ports[name][protocol]
if ports is None:
ports = []
content['firewall']['aliases']['ports'][name][protocol] = ports
if port in ports:
print('Already exists', file=sys.stderr)
return 3
ports.append(port)
writeYaml(portgroupsFilename, content)
return 0
def removeport(args):
if len(args) != 3:
print('Missing port group name or port protocol, or port argument', file=sys.stderr)
showUsage(args)
name = args[0]
protocol = args[1]
port = args[2]
if protocol not in supportedProtocols:
print('Port protocol is not supported', file=sys.stderr)
return 5
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name not in ports:
print('Port group does not exist', file=sys.stderr)
return 3
ports = ports[name][protocol]
if ports is None or port not in ports:
print('Port does not exist', file=sys.stderr)
return 3
ports.remove(port)
writeYaml(portgroupsFilename, content)
return 0
def includedhosts(args):
if len(args) != 1:
print('Missing host group name argument', file=sys.stderr)
showUsage(args)
return listIps(args[0], 'insert')
def excludedhosts(args):
if len(args) != 1:
print('Missing host group name argument', file=sys.stderr)
showUsage(args)
return listIps(args[0], 'delete')
def includehost(args):
if len(args) != 2:
print('Missing host group name or ip argument', file=sys.stderr)
showUsage(args)
result = addIp(args[0], args[1], 'insert')
if result == 0:
removeIp(args[0], args[1], 'delete', True)
return result
def excludehost(args):
if len(args) != 2:
print('Missing host group name or ip argument', file=sys.stderr)
showUsage(args)
result = addIp(args[0], args[1], 'delete')
if result == 0:
removeIp(args[0], args[1], 'insert', True)
return result
def removehost(args):
if len(args) != 2:
print('Missing host group name or ip argument', file=sys.stderr)
showUsage(args)
return removeIp(args[0], args[1], 'delete')
def apply():
proc = subprocess.run(['salt-call', 'state.apply', 'firewall', 'queue=True'])
return proc.returncode
def main():
options = []
args = sys.argv[1:]
for option in args:
if option.startswith("--"):
options.append(option)
args.remove(option)
if len(args) == 0:
showUsage(None)
commands = {
"help": showUsage,
"includedhosts": includedhosts,
"excludedhosts": excludedhosts,
"includehost": includehost,
"excludehost": excludehost,
"removehost": removehost,
"listports": listports,
"addport": addport,
"removeport": removeport,
"addhostgroup": addhostgroup,
"addportgroup": addportgroup
}
cmd = commands.get(args[0], showUsage)
code = cmd(args[1:])
if code == 0 and "--apply" in options:
code = apply()
sys.exit(code)
if __name__ == "__main__":
main()

View File

@@ -0,0 +1,45 @@
#!/bin/bash
#so-fleet-setup $FleetEmail $FleetPassword
if [[ $# -ne 2 ]] ; then
echo "Username or Password was not set - exiting now."
exit 1
fi
# Checking to see if required containers are started...
if [ ! "$(docker ps -q -f name=so-fleet)" ]; then
echo "Starting Docker Containers..."
salt-call state.apply mysql queue=True >> /root/fleet-setup.log
salt-call state.apply fleet queue=True >> /root/fleet-setup.log
salt-call state.apply redis queue=True >> /root/fleet-setup.log
fi
docker exec so-fleet fleetctl config set --address https://localhost:8080 --tls-skip-verify --url-prefix /fleet
docker exec -it so-fleet bash -c 'while [[ "$(curl -s -o /dev/null --insecure -w ''%{http_code}'' https://localhost:8080/fleet)" != "301" ]]; do sleep 5; done'
docker exec so-fleet fleetctl setup --email $1 --password $2
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
docker exec so-fleet /bin/sh -c 'for pack in /packs/palantir/Fleet/Endpoints/packs/*.yaml; do fleetctl apply -f "$pack"; done'
docker exec so-fleet fleetctl apply -f /packs/osquery-config.conf
# Enable Fleet
echo "Enabling Fleet..."
salt-call state.apply fleet.event_enable-fleet queue=True >> /root/fleet-setup.log
salt-call state.apply nginx queue=True >> /root/fleet-setup.log
# Generate osquery install packages
echo "Generating osquery install packages - this will take some time..."
salt-call state.apply fleet.event_gen-packages queue=True >> /root/fleet-setup.log
sleep 120
echo "Installing launcher via salt..."
salt-call state.apply fleet.install_package queue=True >> /root/fleet-setup.log
salt-call state.apply filebeat queue=True >> /root/fleet-setup.log
docker stop so-nginx
salt-call state.apply nginx queue=True >> /root/fleet-setup.log
echo "Fleet Setup Complete - Login with the username and password you ran the script with."

View File

@@ -1,4 +1,7 @@
#!/bin/bash
local_salt_dir=/opt/so/saltstack/local
got_root() {
# Make sure you are root
@@ -10,13 +13,13 @@ got_root() {
}
got_root
if [ ! -f /opt/so/saltstack/pillar/fireeye/init.sls ]; then
if [ ! -f $local_salt_dir/pillar/fireeye/init.sls ]; then
echo "This is nto configured for Helix Mode. Please re-install."
exit
else
echo "Enter your Helix API Key: "
read APIKEY
sed -i "s/^ api_key.*/ api_key: $APIKEY/g" /opt/so/saltstack/pillar/fireeye/init.sls
sed -i "s/^ api_key.*/ api_key: $APIKEY/g" $local_salt_dir/pillar/fireeye/init.sls
docker stop so-logstash
docker rm so-logstash
echo "Restarting Logstash for updated key"

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-restart idstools $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-start idstools $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop idstools $1

View File

@@ -0,0 +1,220 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 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']('static:soversion') %}
{% set IMAGEREPO = salt['pillar.get']('static:imagerepo') %}
{%- set MANAGERIP = salt['pillar.get']('static:managerip') -%}
function usage {
cat << EOF
Usage: $0 <pcap-file-1> [pcap-file-2] [pcap-file-N]
Imports one or more PCAP files onto a sensor node. The PCAP traffic will be analyzed and
made available for review in the Security Onion toolset.
EOF
}
function pcapinfo() {
PCAP=$1
ARGS=$2
docker run --rm -v $PCAP:/input.pcap --entrypoint capinfos {{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }} /input.pcap $ARGS
}
function pcapfix() {
PCAP=$1
PCAP_OUT=$2
docker run --rm -v $PCAP:/input.pcap -v $PCAP_OUT:$PCAP_OUT --entrypoint pcapfix {{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }} /input.pcap -o $PCAP_OUT > /dev/null 2>&1
}
function suricata() {
PCAP=$1
HASH=$2
NSM_PATH=/nsm/import/${HASH}/suricata
mkdir -p $NSM_PATH
chown suricata:socore $NSM_PATH
LOG_PATH=/opt/so/log/suricata/import/${HASH}
mkdir -p $LOG_PATH
chown suricata:suricata $LOG_PATH
docker run --rm \
-v /opt/so/conf/suricata/suricata.yaml:/etc/suricata/suricata.yaml:ro \
-v /opt/so/conf/suricata/threshold.conf:/etc/suricata/threshold.conf:ro \
-v /opt/so/conf/suricata/rules:/etc/suricata/rules:ro \
-v ${LOG_PATH}:/var/log/suricata/:rw \
-v ${NSM_PATH}/:/nsm/:rw \
-v $PCAP:/input.pcap:ro \
-v /opt/so/conf/suricata/bpf:/etc/suricata/bpf:ro \
{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-suricata:{{ VERSION }} \
--runmode single -k none -r /input.pcap > $LOG_PATH/console.log 2>&1
}
function zeek() {
PCAP=$1
HASH=$2
NSM_PATH=/nsm/import/${HASH}/zeek
mkdir -p $NSM_PATH/logs
mkdir -p $NSM_PATH/extracted
mkdir -p $NSM_PATH/spool
chown -R zeek:socore $NSM_PATH
docker run --rm \
-v $NSM_PATH/logs:/nsm/zeek/logs:rw \
-v $NSM_PATH/spool:/nsm/zeek/spool:rw \
-v $NSM_PATH/extracted:/nsm/zeek/extracted:rw \
-v $PCAP:/input.pcap:ro \
-v /opt/so/conf/zeek/local.zeek:/opt/zeek/share/zeek/site/local.zeek:ro \
-v /opt/so/conf/zeek/node.cfg:/opt/zeek/etc/node.cfg:ro \
-v /opt/so/conf/zeek/zeekctl.cfg:/opt/zeek/etc/zeekctl.cfg:ro \
-v /opt/so/conf/zeek/policy/securityonion:/opt/zeek/share/zeek/policy/securityonion:ro \
-v /opt/so/conf/zeek/policy/custom:/opt/zeek/share/zeek/policy/custom:ro \
-v /opt/so/conf/zeek/policy/cve-2020-0601:/opt/zeek/share/zeek/policy/cve-2020-0601:ro \
-v /opt/so/conf/zeek/policy/intel:/opt/zeek/share/zeek/policy/intel:rw \
-v /opt/so/conf/zeek/bpf:/opt/zeek/etc/bpf:ro \
--entrypoint /opt/zeek/bin/zeek \
-w /nsm/zeek/logs \
{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-zeek:{{ VERSION }} \
-C -r /input.pcap local > $NSM_PATH/logs/console.log 2>&1
}
# if no parameters supplied, display usage
if [ $# -eq 0 ]; then
usage
exit 1
fi
# ensure this is a sensor node
if [ ! -d /opt/so/conf/suricata ]; then
echo "This command must be run on a sensor node."
exit 3
fi
# 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 pcaps
INVALID_PCAPS="no"
VALID_PCAPS="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"
# paths must be quoted in case they include spaces
for PCAP in "$@"; do
PCAP=$(/usr/bin/realpath "$PCAP")
echo "Processing Import: ${PCAP}"
echo "- verifying file"
if ! pcapinfo "${PCAP}" > /dev/null 2>&1; then
# try to fix pcap and then process the fixed pcap directly
PCAP_FIXED=`mktemp /tmp/so-import-pcap-XXXXXXXXXX.pcap`
echo "- attempting to recover corrupted PCAP file"
pcapfix "${PCAP}" "${PCAP_FIXED}"
PCAP="${PCAP_FIXED}"
TEMP_PCAPS+=(${PCAP_FIXED})
fi
# generate a unique hash to assist with dedupe checks
HASH=$(md5sum "${PCAP}" | awk '{ print $1 }')
HASH_DIR=/nsm/import/${HASH}
echo "- assigning unique identifier to import: $HASH"
if [ -d $HASH_DIR ]; then
echo "- this PCAP has already been imported; skipping"
INVALID_PCAPS="yes"
elif pcapinfo "${PCAP}" |egrep -q "Last packet time: 1970-01-01|Last packet time: n/a"; then
echo "- this PCAP file is invalid; skipping"
INVALID_PCAPS="yes"
else
VALID_PCAPS="yes"
PCAP_DIR=$HASH_DIR/pcap
mkdir -p $PCAP_DIR
# generate IDS alerts and write them to standard pipeline
echo "- analyzing traffic with Suricata"
suricata "${PCAP}" $HASH
# generate Zeek logs and write them to a unique subdirectory in /nsm/import/bro/
# since each run writes to a unique subdirectory, there is no need for a lock file
echo "- analyzing traffic with Zeek"
zeek "${PCAP}" $HASH
START=$(pcapinfo "${PCAP}" -a |grep "First packet time:" | awk '{print $4}')
END=$(pcapinfo "${PCAP}" -e |grep "Last packet time:" | awk '{print $4}')
echo "- saving PCAP data spanning dates $START through $END"
# compare $START to $START_OLDEST
START_COMPARE=$(date -d $START +%s)
START_OLDEST_COMPARE=$(date -d $START_OLDEST +%s)
if [ $START_COMPARE -lt $START_OLDEST_COMPARE ]; then
START_OLDEST=$START
fi
# compare $ENDNEXT to $END_NEWEST
ENDNEXT=`date +%Y-%m-%d --date="$END 1 day"`
ENDNEXT_COMPARE=$(date -d $ENDNEXT +%s)
END_NEWEST_COMPARE=$(date -d $END_NEWEST +%s)
if [ $ENDNEXT_COMPARE -gt $END_NEWEST_COMPARE ]; then
END_NEWEST=$ENDNEXT
fi
cp -f "${PCAP}" "${PCAP_DIR}"/data.pcap
chmod 644 "${PCAP_DIR}"/data.pcap
fi # end of valid pcap
echo
done # end of for-loop processing pcap files
# remove temp files
echo "Cleaning up:"
for TEMP_PCAP in ${TEMP_PCAPS[@]}; do
echo "- removing temporary pcap $TEMP_PCAP"
rm -f $TEMP_PCAP
done
# output final messages
if [ "$INVALID_PCAPS" = "yes" ]; then
echo
echo "Please note! One or more pcaps was invalid! You can scroll up to see which ones were invalid."
fi
START_OLDEST_SLASH=$(echo $START_OLDEST | sed -e 's/-/%2F/g')
END_NEWEST_SLASH=$(echo $END_NEWEST | sed -e 's/-/%2F/g')
if [ "$VALID_PCAPS" = "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://{{ MANAGERIP }}/#/hunt?q=%2a%20%7C%20groupby%20event.module%20event.dataset&t=${START_OLDEST_SLASH}%2000%3A00%3A00%20AM%20-%20${END_NEWEST_SLASH}%2000%3A00%3A00%20AM
or you can manually set your Time Range to be:
From: $START_OLDEST To: $END_NEWEST
Please note that it may take 30 seconds or more for events to appear in Onion Hunt.
EOF
fi

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-restart influxdb $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-start influxdb $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop influxdb $1

View File

@@ -1,9 +1,9 @@
#!/bin/bash
#
# {%- set FLEET_MASTER = salt['pillar.get']('static:fleet_master', False) -%}
# {%- set FLEET_MANAGER = salt['pillar.get']('static:fleet_manager', False) -%}
# {%- set FLEET_NODE = salt['pillar.get']('static:fleet_node', False) -%}
# {%- set FLEET_IP = salt['pillar.get']('static:fleet_ip', '') %}
# {%- set MASTER = salt['pillar.get']('master:url_base', '') %}
# {%- set MANAGER = salt['pillar.get']('manager:url_base', '') %}
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
@@ -20,7 +20,7 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
KIBANA_HOST={{ MASTER }}
KIBANA_HOST={{ MANAGER }}
KSO_PORT=5601
OUTFILE="saved_objects.ndjson"
curl -s -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -XPOST $KIBANA_HOST:$KSO_PORT/api/saved_objects/_export -d '{ "type": [ "index-pattern", "config", "visualization", "dashboard", "search" ], "excludeExportDetails": false }' > $OUTFILE
@@ -29,7 +29,7 @@ curl -s -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -XPOST $KIBANA_H
sed -i "s/$KIBANA_HOST/PLACEHOLDER/g" $OUTFILE
# Clean up for Fleet, if applicable
# {% if FLEET_NODE or FLEET_MASTER %}
# {% if FLEET_NODE or FLEET_MANAGER %}
# Fleet IP
sed -i "s/{{ FLEET_IP }}/FLEETPLACEHOLDER/g" $OUTFILE
sed -i "s/{{ MANAGER }}/FLEETPLACEHOLDER/g" $OUTFILE
# {% endif %}

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-restart nginx $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-start nginx $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop nginx $1

View File

@@ -0,0 +1,57 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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/>.
default_salt_dir=/opt/so/saltstack/default
clone_to_tmp() {
# TODO Need to add a air gap option
# Make a temp location for the files
mkdir /tmp/sogh
cd /tmp/sogh
#git clone -b dev https://github.com/Security-Onion-Solutions/securityonion.git
git clone https://github.com/Security-Onion-Solutions/securityonion.git
cd /tmp
}
copy_new_files() {
# Copy new files over to the salt dir
cd /tmp/sogh/securityonion
git checkout $BRANCH
rsync -a salt $default_salt_dir/
rsync -a pillar $default_salt_dir/
chown -R socore:socore $default_salt_dir/salt
chown -R socore:socore $default_salt_dir/pillar
chmod 755 $default_salt_dir/pillar/firewall/addfirewall.sh
rm -rf /tmp/sogh
}
got_root(){
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run using sudo!"
exit 1
fi
}
got_root
if [ $# -ne 1 ] ; then
BRANCH=master
else
BRANCH=$1
fi
clone_to_tmp
copy_new_files

View File

@@ -0,0 +1,121 @@
#!/bin/bash
# Delete Zeek Logs based on defined CRIT_DISK_USAGE value
# Copyright 2014,2015,2016,2017,2018, 2019 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/>.
SENSOR_DIR='/nsm'
CRIT_DISK_USAGE=90
CUR_USAGE=$(df -P $SENSOR_DIR | tail -1 | awk '{print $5}' | tr -d %)
LOG="/opt/so/log/sensor_clean.log"
TODAY=$(date -u "+%Y-%m-%d")
clean () {
## find the oldest Zeek logs directory
OLDEST_DIR=$(ls /nsm/zeek/logs/ | grep -v "current" | grep -v "stats" | grep -v "packetloss" | grep -v "zeek_clean" | sort | head -n 1)
if [ -z "$OLDEST_DIR" -o "$OLDEST_DIR" == ".." -o "$OLDEST_DIR" == "." ]
then
echo "$(date) - No old Zeek logs available to clean up in /nsm/zeek/logs/" >> $LOG
#exit 0
else
echo "$(date) - Removing directory: /nsm/zeek/logs/$OLDEST_DIR" >> $LOG
rm -rf /nsm/zeek/logs/"$OLDEST_DIR"
fi
## Remarking for now, as we are moving extracted files to /nsm/strelka/processed
## find oldest files in extracted directory and exclude today
#OLDEST_EXTRACT=$(find /nsm/zeek/extracted/complete -type f -printf '%T+ %p\n' 2>/dev/null | sort | grep -v $TODAY | head -n 1)
#if [ -z "$OLDEST_EXTRACT" -o "$OLDEST_EXTRACT" == ".." -o "$OLDEST_EXTRACT" == "." ]
#then
# echo "$(date) - No old extracted files available to clean up in /nsm/zeek/extracted/complete" >> $LOG
#else
# OLDEST_EXTRACT_DATE=`echo $OLDEST_EXTRACT | awk '{print $1}' | cut -d+ -f1`
# OLDEST_EXTRACT_FILE=`echo $OLDEST_EXTRACT | awk '{print $2}'`
# echo "$(date) - Removing extracted files for $OLDEST_EXTRACT_DATE" >> $LOG
# find /nsm/zeek/extracted/complete -type f -printf '%T+ %p\n' | grep $OLDEST_EXTRACT_DATE | awk '{print $2}' |while read FILE
# do
# echo "$(date) - Removing extracted file: $FILE" >> $LOG
# rm -f "$FILE"
# done
#fi
## Clean up Zeek extracted files processed by Strelka
STRELKA_FILES='/nsm/strelka/processed'
OLDEST_STRELKA=$(find $STRELKA_FILES -type f -printf '%T+ %p\n' | sort -n | head -n 1 )
if [ -z "$OLDEST_STRELKA" -o "$OLDEST_STRELKA" == ".." -o "$OLDEST_STRELKA" == "." ]
then
echo "$(date) - No old files available to clean up in $STRELKA_FILES" >> $LOG
else
OLDEST_STRELKA_DATE=`echo $OLDEST_STRELKA | awk '{print $1}' | cut -d+ -f1`
OLDEST_STRELKA_FILE=`echo $OLDEST_STRELKA | awk '{print $2}'`
echo "$(date) - Removing extracted files for $OLDEST_STRELKA_DATE" >> $LOG
find $STRELKA_FILES -type f -printf '%T+ %p\n' | grep $OLDEST_STRELKA_DATE | awk '{print $2}' |while read FILE
do
echo "$(date) - Removing file: $FILE" >> $LOG
rm -f "$FILE"
done
fi
## Clean up Suricata log files
SURICATA_LOGS='/nsm/suricata'
OLDEST_SURICATA=$(find $STRELKA_FILES -type f -printf '%T+ %p\n' | sort -n | head -n 1)
if [ -z "$OLDEST_SURICATA" -o "$OLDEST_SURICATA" == ".." -o "$OLDEST_SURICATA" == "." ]
then
echo "$(date) - No old files available to clean up in $SURICATA_LOGS" >> $LOG
else
OLDEST_SURICATA_DATE=`echo $OLDEST_SURICATA | awk '{print $1}' | cut -d+ -f1`
OLDEST_SURICATA_FILE=`echo $OLDEST_SURICATA | awk '{print $2}'`
echo "$(date) - Removing logs for $OLDEST_SURICATA_DATE" >> $LOG
find $SURICATA_LOGS -type f -printf '%T+ %p\n' | grep $OLDEST_SURICATA_DATE | awk '{print $2}' |while read FILE
do
echo "$(date) - Removing file: $FILE" >> $LOG
rm -f "$FILE"
done
fi
## Clean up extracted pcaps from Steno
PCAPS='/nsm/pcapout'
OLDEST_PCAP=$(find $PCAPS -type f -printf '%T+ %p\n' | sort -n | head -n 1 )
if [ -z "$OLDEST_PCAP" -o "$OLDEST_PCAP" == ".." -o "$OLDEST_PCAP" == "." ]
then
echo "$(date) - No old files available to clean up in $PCAPS" >> $LOG
else
OLDEST_PCAP_DATE=`echo $OLDEST_PCAP | awk '{print $1}' | cut -d+ -f1`
OLDEST_PCAP_FILE=`echo $OLDEST_PCAP | awk '{print $2}'`
echo "$(date) - Removing extracted files for $OLDEST_PCAP_DATE" >> $LOG
find $PCAPS -type f -printf '%T+ %p\n' | grep $OLDEST_PCAP_DATE | awk '{print $2}' |while read FILE
do
echo "$(date) - Removing file: $FILE" >> $LOG
rm -f "$FILE"
done
fi
}
# Check to see if we are already running
IS_RUNNING=$(ps aux | grep "sensor_clean" | grep -v grep | wc -l)
[ "$IS_RUNNING" -gt 2 ] && 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
clean
CUR_USAGE=$(df -P $SENSOR_DIR | tail -1 | awk '{print $5}' | tr -d %)
done
else
echo "$(date) - Current usage value of $CUR_USAGE not greater than CRIT_DISK_USAGE value of $CRIT_DISK_USAGE..." >> $LOG
fi

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-restart soc $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-start soc $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop soc $1

View File

@@ -32,5 +32,5 @@ fi
case $1 in
"all") salt-call state.highstate queue=True;;
"steno") if docker ps | grep -q so-$1; then printf "\n$1 is already running!\n\n"; else docker rm so-$1 >/dev/null 2>&1 ; salt-call state.apply pcap queue=True; fi ;;
*) if docker ps | grep -q so-$1; then printf "\n$1 is already running\n\n"; else docker rm so-$1 >/dev/null 2>&1 ; salt-call state.apply $1 queue=True; fi ;;
*) if docker ps | grep -E -q '^so-$1$'; then printf "\n$1 is already running\n\n"; else docker rm so-$1 >/dev/null 2>&1 ; salt-call state.apply $1 queue=True; fi ;;
esac

View File

@@ -15,7 +15,7 @@
# 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 'common/maps/so-status.map.jinja' import docker with context %}
{%- set container_list = docker['containers'] %}
{%- set container_list = docker['containers'] | sort %}
if ! [ "$(id -u)" = 0 ]; then
echo "This command must be run as root"

View File

@@ -0,0 +1,26 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop strelka-filestream $1
/usr/sbin/so-stop strelka-manager $1
/usr/sbin/so-stop strelka-frontend $1
/usr/sbin/so-stop strelka-backend $1
/usr/sbin/so-stop strelka-gatekeeper $1
/usr/sbin/so-stop strelka-coordinator $1
/usr/sbin/so-start strelka $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-start strelka $1

View File

@@ -0,0 +1,25 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop strelka-filestream $1
/usr/sbin/so-stop strelka-manager $1
/usr/sbin/so-stop strelka-frontend $1
/usr/sbin/so-stop strelka-backend $1
/usr/sbin/so-stop strelka-gatekeeper $1
/usr/sbin/so-stop strelka-coordinator $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-restart telegraf $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-start telegraf $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop telegraf $1

View File

@@ -0,0 +1,21 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop thehive-es $1
/usr/sbin/so-start thehive $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-start thehive $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 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-stop thehive-es $1

View File

@@ -1,5 +1,5 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify

View File

@@ -1,5 +1,5 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify

View File

@@ -0,0 +1,102 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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/>.
clone_dir="/tmp"
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
gh_status=$(curl -s -o /dev/null -w "%{http_code}" http://github.com)
if [ "$gh_status" == "200" ] || [ "$gh_status" == "301" ]; then
while IFS= read -r repo; do
# 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
# 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
[ -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..."
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
done < $repos
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."
fi
else
echo "Server returned $gh_status status code."
echo "No connectivity to Github...exiting..."
exit 1
fi

View File

@@ -1,16 +1,17 @@
#!/bin/bash
local_salt_dir=/opt/so/saltstack/local
bro_logs_enabled() {
zeek_logs_enabled() {
echo "brologs:" > /opt/so/saltstack/pillar/brologs.sls
echo " enabled:" >> /opt/so/saltstack/pillar/brologs.sls
echo "zeeklogs:" > $local_salt_dir/pillar/zeeklogs.sls
echo " enabled:" >> $local_salt_dir/pillar/zeeklogs.sls
for BLOG in ${BLOGS[@]}; do
echo " - $BLOG" | tr -d '"' >> /opt/so/saltstack/pillar/brologs.sls
echo " - $BLOG" | tr -d '"' >> $local_salt_dir/pillar/zeeklogs.sls
done
}
whiptail_master_adv_service_brologs() {
whiptail_manager_adv_service_zeeklogs() {
BLOGS=$(whiptail --title "Security Onion Setup" --checklist "Please Select Logs to Send:" 24 78 12 \
"conn" "Connection Logging" ON \
@@ -53,5 +54,5 @@ whiptail_master_adv_service_brologs() {
"x509" "x.509 Logs" ON 3>&1 1>&2 2>&3 )
}
whiptail_master_adv_service_brologs
bro_logs_enabled
whiptail_manager_adv_service_zeeklogs
zeek_logs_enabled

View File

@@ -0,0 +1,39 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 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/>.
# Show Zeek stats (capstats, netstats)
show_stats() {
echo '##############'
echo '# Zeek Stats #'
echo '##############'
echo
echo "Average throughput:"
echo
docker exec -it so-zeek /opt/zeek/bin/zeekctl capstats
echo
echo "Average packet loss:"
echo
docker exec -it so-zeek /opt/zeek/bin/zeekctl netstats
echo
}
if docker ps | grep -q zeek; then
show_stats
else
echo "Zeek is not running! Try starting it with 'so-zeek-start'." && exit 1;
fi

194
salt/common/tools/sbin/soup Normal file → Executable file
View File

@@ -15,23 +15,193 @@
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
clone_to_tmp() {
. /usr/sbin/so-common
UPDATE_DIR=/tmp/sogh/securityonion
INSTALLEDVERSION=$(cat /etc/soversion)
default_salt_dir=/opt/so/saltstack/default
manager_check() {
# Check to see if this is a manager
MANAGERCHECK=$(cat /etc/salt/grains | grep role | awk '{print $2}')
if [[ "$MANAGERCHECK" =~ ^('so-eval'|'so-manager'|'so-standalone'|'so-managersearch')$ ]]; then
echo "This is a manager. We can proceed"
else
echo "Please run soup on the manager. The manager controls all updates."
exit 0
fi
}
clean_dockers() {
# Place Holder for cleaning up old docker images
echo ""
}
clone_to_tmp() {
# TODO Need to add a air gap option
# Clean old files
rm -rf /tmp/sogh
# Make a temp location for the files
rm -rf /tmp/soup
mkdir -p /tmp/soup
cd /tmp/soup
#git clone -b dev https://github.com/Security-Onion-Solutions/securityonion-saltstack.git
git clone https://github.com/Security-Onion-Solutions/securityonion-saltstack.git
mkdir -p /tmp/sogh
cd /tmp/sogh
SOUP_BRANCH=""
if [ -n "$BRANCH" ]; then
SOUP_BRANCH="-b $BRANCH"
fi
git clone $SOUP_BRANCH https://github.com/Security-Onion-Solutions/securityonion.git
cd /tmp
if [ ! -f $UPDATE_DIR/VERSION ]; then
echo "Update was unable to pull from github. Please check your internet."
exit 0
fi
}
copy_new_files() {
# Copy new files over to the salt dir
cd /tmp/sogh/securityonion
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
}
highstate() {
# Run a highstate but first cancel a running one.
salt-call saltutil.kill_all_jobs
salt-call state.highstate
}
pillar_changes() {
# This function is to add any new pillar items if needed.
echo "Checking to see if pillar changes are needed"
}
# Prompt the user that this requires internets
update_dockers() {
# List all the containers
if [ $MANAGERCHECK != 'so-helix' ]; then
TRUSTED_CONTAINERS=( \
"so-acng" \
"so-thehive-cortex" \
"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-mysql" \
"so-nginx" \
"so-pcaptools" \
"so-playbook" \
"so-redis" \
"so-soc" \
"so-soctopus" \
"so-steno" \
"so-strelka-frontend" \
"so-strelka-manager" \
"so-strelka-backend" \
"so-strelka-filestream" \
"so-suricata" \
"so-telegraf" \
"so-thehive" \
"so-thehive-es" \
"so-wazuh" \
"so-zeek" )
else
TRUSTED_CONTAINERS=( \
"so-filebeat" \
"so-idstools" \
"so-logstash" \
"so-nginx" \
"so-redis" \
"so-steno" \
"so-suricata" \
"so-telegraf" \
"so-zeek" )
fi
# Download the containers from the interwebs
for i in "${TRUSTED_CONTAINERS[@]}"
do
# Pull down the trusted docker image
echo "Downloading $i:$NEWVERSION"
docker pull --disable-content-trust=false docker.io/$IMAGEREPO/$i:$NEWVERSION
# Tag it with the new registry destination
docker tag $IMAGEREPO/$i:$NEWVERSION $HOSTNAME:5000/$IMAGEREPO/$i:$NEWVERSION
docker push $HOSTNAME:5000/$IMAGEREPO/$i:$NEWVERSION
done
}
update_version() {
# Update the version to the latest
echo "Updating the version file."
echo $NEWVERSION > /etc/soversion
sed -i "s/$INSTALLEDVERSION/$NEWVERSION/g" /opt/so/saltstack/local/pillar/static.sls
}
upgrade_check() {
# Let's make sure we actually need to update.
NEWVERSION=$(cat $UPDATE_DIR/VERSION)
if [ "$INSTALLEDVERSION" == "$NEWVERSION" ]; then
echo "You are already running the latest version of Security Onion."
exit 0
else
echo "Performing Upgrade from $INSTALLEDVERSION to $NEWVERSION"
fi
}
verify_latest_update_script() {
# Check to see if the update scripts match. If not run the new one.
CURRENTSOUP=$(md5sum /opt/so/saltstack/default/salt/common/tools/sbin/soup | awk '{print $1}')
GITSOUP=$(md5sum /tmp/sogh/securityonion/salt/common/tools/sbin/soup | awk '{print $1}')
if [[ "$CURRENTSOUP" == "$GITSOUP" ]]; then
echo "This version of the soup script is up to date. Proceeding."
else
echo "You are not running the latest soup version. Updating soup."
cp $UPDATE_DIR/salt/common/tools/sbin/soup $default_salt_dir/salt/common/tools/sbin/
salt-call state.apply common queue=True
echo ""
echo "soup has been updated. Please run soup again"
exit 0
fi
}
echo "Checking to see if this is a manager"
manager_check
echo "Cloning latest code to a temporary location"
clone_to_tmp
cd /tmp/soup/securityonion-saltstack/update
chmod +x soup
./soup
echo ""
echo "Verifying we have the latest script"
verify_latest_update_script
echo ""
echo "Let's see if we need to update"
upgrade_check
echo ""
echo "Making pillar changes"
pillar_changes
echo ""
echo "Cleaning up old dockers"
clean_dockers
echo ""
echo "Updating docker to $NEWVERSION"
update_dockers
echo ""
echo "Copying new code"
copy_new_files
echo ""
echo "Updating version"
update_version
echo ""
echo "Running a highstate to complete upgrade"
highstate
echo ""
echo "Upgrade from $INSTALLEDVERSION to $NEWVERSION complete."

View File

@@ -1,8 +1,4 @@
{%- if grains['role'] in ['so-node', 'so-searchnode', 'so-heavynode'] %}
{%- set log_size_limit = salt['pillar.get']('node:log_size_limit', '') -%}
{%- elif grains['role'] in ['so-eval', 'so-mastersearch', 'so-standalone'] %}
{%- set log_size_limit = salt['pillar.get']('master:log_size_limit', '') -%}
{%- endif %}
{%- set log_size_limit = salt['pillar.get']('elasticsearch:log_size_limit', '') -%}
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
@@ -20,8 +16,8 @@ actions:
disable_action: False
filters:
- filtertype: pattern
kind: prefix
value: logstash-
kind: regex
value: '^(logstash-.*|so-.*)$'
- filtertype: space
source: creation_date
use_age: True

View File

@@ -0,0 +1,29 @@
{%- set cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-beats: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 Beats 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-beats.*|so-beats.*)$'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{cur_close_days}}
exclude:

View File

@@ -1,9 +1,4 @@
{%- if grains['role'] in ['so-node', 'so-searchnode', 'so-heavynode'] %}
{%- set cur_close_days = salt['pillar.get']('node:cur_close_days', '') -%}
{%- elif grains['role'] in ['so-eval', 'so-mastersearch', 'so-standalone'] %}
{%- set cur_close_days = salt['pillar.get']('master:cur_close_days', '') -%}
{%- endif -%}
{%- set cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-firewall:close', 30) -%}
---
# Remember, leave a key empty if there is no value. None will be a string,
# not a Python "NoneType"
@@ -15,8 +10,7 @@ actions:
1:
action: close
description: >-
Close indices older than {{cur_close_days}} days (based on index name), for logstash-
prefixed indices.
Close Firewall indices older than {{cur_close_days}} days.
options:
delete_aliases: False
timeout_override:
@@ -24,9 +18,8 @@ actions:
disable_action: False
filters:
- filtertype: pattern
kind: prefix
value: logstash-
exclude:
kind: regex
value: '^(logstash-firewall.*|so-firewall.*)$'
- filtertype: age
source: name
direction: older

View File

@@ -0,0 +1,29 @@
{%- set cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-ids: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 IDS 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-ids.*|so-ids.*)$'
- 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 cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-import: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 Import 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-import.*|so-import.*)$'
- 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 cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-osquery: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 osquery 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-osquery.*|so-osquery.*)$'
- 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 cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-ossec: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 ossec 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-ossec.*|so-ossec.*)$'
- 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 cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-strelka: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 Strelka 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-strelka.*|so-strelka.*)$'
- 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 cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-syslog: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 syslog 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-syslog.*|so-syslog.*)$'
- 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 cur_close_days = salt['pillar.get']('elasticsearch:index_settings:so-zeek: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 Zeek 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-zeek.*|so-zeek.*)$'
- filtertype: age
source: name
direction: older
timestring: '%Y.%m.%d'
unit: days
unit_count: {{cur_close_days}}
exclude:

View File

@@ -1,2 +1,2 @@
#!/bin/bash
/usr/sbin/so-curator-closed-delete > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/close.yml > /dev/null 2>&1
/usr/sbin/so-curator-closed-delete > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-zeek-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-beats-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-firewall-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ids-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-import-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-osquery-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ossec-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-strelka-close.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-syslog-close.yml > /dev/null 2>&1

View File

@@ -1,16 +1,16 @@
{%- if grains['role'] in ['so-node', 'so-searchnode', 'so-heavynode'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('node:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('node:es_port', '') -%}
{%- set LOG_SIZE_LIMIT = salt['pillar.get']('node:log_size_limit', '') -%}
{%- elif grains['role'] in ['so-eval', 'so-mastersearch', 'so-standalone'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('master:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('master:es_port', '') -%}
{%- set LOG_SIZE_LIMIT = salt['pillar.get']('master:log_size_limit', '') -%}
{%- endif -%}
#!/bin/bash
#
{%- if grains['role'] in ['so-node', 'so-searchnode', 'so-heavynode'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('elasticsearch:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('elasticsearch:es_port', '') -%}
{%- set LOG_SIZE_LIMIT = salt['pillar.get']('elasticsearch:log_size_limit', '') -%}
{%- elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone'] %}
{%- set ELASTICSEARCH_HOST = salt['pillar.get']('manager:mainip', '') -%}
{%- set ELASTICSEARCH_PORT = salt['pillar.get']('manager:es_port', '') -%}
{%- set LOG_SIZE_LIMIT = salt['pillar.get']('manager:log_size_limit', '') -%}
{%- endif -%}
# Copyright 2014,2015,2016,2017,2018 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
@@ -33,17 +33,17 @@ LOG="/opt/so/log/curator/so-curator-closed-delete.log"
# Check for 2 conditions:
# 1. Are Elasticsearch indices using more disk space than LOG_SIZE_LIMIT?
# 2. Are there any closed logstash- indices that we can delete?
# 2. Are there any closed logstash-, or so- indices that we can delete?
# If both conditions are true, keep on looping until one of the conditions is false.
while [[ $(du -hs --block-size=1GB /nsm/elasticsearch/nodes | awk '{print $1}' ) -gt "{{LOG_SIZE_LIMIT}}" ]] &&
curl -s {{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices | grep "^ close logstash-" > /dev/null; do
curl -s {{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices | grep -E "^ close (logstash-|so-)" > /dev/null; do
# We need to determine OLDEST_INDEX.
# First, get the list of closed indices that are prefixed with "logstash-".
# First, get the list of closed indices that are prefixed with "logstash-" or "so-".
# For example: logstash-ids-YYYY.MM.DD
# Then, sort by date by telling sort to use hyphen as delimiter and then sort on the third field.
# Finally, select the first entry in that sorted list.
OLDEST_INDEX=$(curl -s {{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices | grep "^ close logstash-" | awk '{print $2}' | sort -t- -k3 | head -1)
OLDEST_INDEX=$(curl -s {{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices | grep -E "^ close (logstash-|so-)" | awk '{print $2}' | sort -t- -k3 | head -1)
# Now that we've determined OLDEST_INDEX, ask Elasticsearch to delete it.
curl -XDELETE {{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/${OLDEST_INDEX}

View File

@@ -1,7 +1,7 @@
{% if grains['role'] in ['so-node', 'so-searchnode', 'so-heavynode'] %}
{%- set elasticsearch = salt['pillar.get']('node:mainip', '') -%}
{% elif grains['role'] in ['so-eval', 'so-mastersearch', 'so-standalone'] %}
{%- set elasticsearch = salt['pillar.get']('master:mainip', '') -%}
{% if grains['role'] in ['so-node', 'so-heavynode'] %}
{%- set elasticsearch = salt['pillar.get']('elasticsearch:mainip', '') -%}
{% elif grains['role'] in ['so-eval', 'so-managersearch', 'so-standalone'] %}
{%- set elasticsearch = salt['pillar.get']('manager:mainip', '') -%}
{%- endif %}
---

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