Compare commits

..

1357 Commits

Author SHA1 Message Date
Mike Reeves
ef15de130a Merge pull request #9329 from Security-Onion-Solutions/hotfix/2.3.190
Hotfix/2.3.190
2022-12-08 09:08:18 -05:00
Mike Reeves
e975ee0a8e Merge pull request #9328 from Security-Onion-Solutions/mike4
2.3.190 hotfix
2022-12-07 16:22:05 -05:00
Mike Reeves
da94ddca13 2.3.190 hotfix 2022-12-07 16:17:57 -05:00
Mike Reeves
6e94751c65 Merge pull request #9327 from Security-Onion-Solutions/jertel/surifilecheck
Switch back to older style redirect due to incompatibility with Ub 18
2022-12-07 14:10:30 -05:00
Jason Ertel
d48d473f43 Switch back to older style redirect due to incompatibility with Ub 18 2022-12-07 14:06:24 -05:00
Jason Ertel
cff5a83ad5 Merge pull request #9324 from Security-Onion-Solutions/jertel/surifilecheck
Use original style due to pgrep conflict with cron
2022-12-07 12:06:26 -05:00
Jason Ertel
225b7e359c Use original style due to pgrep conflict with cron 2022-12-07 11:53:42 -05:00
Mike Reeves
9a616caf53 Merge pull request #9322 from Security-Onion-Solutions/mike
2.3.190 hotfix
2022-12-07 11:15:30 -05:00
Mike Reeves
0aab268801 2.3.190 hotfix 2022-12-07 11:12:13 -05:00
Mike Reeves
0bb7f5c5e3 Merge pull request #9320 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update HOTFIX
2022-12-07 09:21:17 -05:00
Mike Reeves
4aff1f0fdb Update HOTFIX 2022-12-07 09:19:51 -05:00
Jason Ertel
35ca08ea88 Merge pull request #9315 from Security-Onion-Solutions/jertel/surifilecheck
Suricata support for filecheck; reduce cron noise
2022-12-07 08:17:19 -05:00
Jason Ertel
7b05627d5c Suricata support for filecheck; reduce cron noise 2022-12-07 07:58:32 -05:00
Mike Reeves
e3c1b6dbba Merge pull request #9306 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update init.sls
2022-12-06 13:38:35 -05:00
Mike Reeves
f0c3b876a9 Update init.sls 2022-12-06 13:35:03 -05:00
Mike Reeves
531423f49a Update init.sls 2022-12-06 13:25:03 -05:00
Jason Ertel
dfad5a748c Merge pull request #9303 from Security-Onion-Solutions/jertel/surifilecheck
Jertel/surifilecheck
2022-12-06 11:52:36 -05:00
Jason Ertel
819b39c0bb Update hotfix 2022-12-06 11:41:00 -05:00
Jason Ertel
0dd2e51e83 Ensure Suricata move events get picked up 2022-12-06 11:39:58 -05:00
Mike Reeves
93ca7548f8 Merge pull request #9273 from Security-Onion-Solutions/dev
2.3.190
2022-12-05 15:17:47 -05:00
Mike Reeves
9cbbed1038 Merge pull request #9294 from Security-Onion-Solutions/2.3.190a
2.3.190
2022-12-05 13:03:23 -05:00
Mike Reeves
967fd30bb1 2.3.190 2022-12-05 13:00:55 -05:00
weslambert
6c8c8a2d8e Merge pull request #9292 from Security-Onion-Solutions/fix/strelka_disable_yara_rules_causing_errors
Disable additional YARA rules that are causing compilation errors
2022-12-05 11:31:23 -05:00
weslambert
8bb3b22993 Disable additional YARA rules there are causing compilation errors 2022-12-05 11:30:22 -05:00
Jason Ertel
5b6182c003 Merge pull request #9289 from Security-Onion-Solutions/jertel/filechek
Update filecheck to support Suricata extracted files
2022-12-05 10:59:44 -05:00
Jason Ertel
69c5a9dd90 ensure tmp files are not processed 2022-12-05 10:31:09 -05:00
Jason Ertel
86c31c129a add suricata to socore group 2022-12-05 10:27:42 -05:00
Jason Ertel
483a9d477f undo filecheck location move 2022-12-05 10:15:15 -05:00
Jason Ertel
d7f60a0e58 only check files on inotify 2022-12-05 10:01:40 -05:00
Jason Ertel
f06443f3dd add suricata to socore group 2022-12-05 09:57:24 -05:00
Jason Ertel
fe798138e3 add suricata to socore group 2022-12-05 09:50:35 -05:00
Jason Ertel
e9bb60dedb fix filecheck for suricata deployments 2022-12-05 09:28:25 -05:00
Jason Ertel
992ced685f fix filecheck for suricata deployments 2022-12-05 09:27:31 -05:00
Jason Ertel
592bbf4217 fix filecheck for suricata deployments 2022-12-05 09:21:08 -05:00
Mike Reeves
eacf6238d8 Merge pull request #9274 from Security-Onion-Solutions/2.3.190
2.3.190
2022-12-02 15:33:53 -05:00
Mike Reeves
0a7ada314d 2.3.190 2022-12-02 15:31:42 -05:00
Mike Reeves
c8edb43748 Merge pull request #9272 from Security-Onion-Solutions/2.3.190
2.3.190
2022-12-02 15:28:02 -05:00
Mike Reeves
f112663a76 2.3.190 2022-12-02 15:21:42 -05:00
weslambert
4311d5135b Merge pull request #9269 from Security-Onion-Solutions/fix/zeek_scripts_bzar_remove_by_default
Don't load BZAR script(s) by default
2022-12-02 11:02:07 -05:00
weslambert
2b2d39c869 Don't load BZAR script(s) by default 2022-12-02 10:46:45 -05:00
Mike Reeves
fcc0534572 Merge pull request #9267 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update init.sls
2022-12-02 09:41:03 -05:00
Mike Reeves
a3f9859fdb Update init.sls 2022-12-02 09:38:13 -05:00
Doug Burks
cf5d5e4fc2 Merge pull request #9257 from Security-Onion-Solutions/dougburks-patch-1
Disable ecat_arp_info by default in so-zeek-logs and so-whiptail
2022-12-01 07:31:47 -05:00
Doug Burks
7184b9cb25 disable ecat_arp_info by default in so-zeek-logs 2022-12-01 07:18:05 -05:00
Doug Burks
544d716c19 disable ecat_arp_info by default 2022-12-01 07:17:16 -05:00
weslambert
f1f611cede Merge pull request #9256 from Security-Onion-Solutions/fix/ics_ingest_pipelines_bsap_node_status
Change 'bsap.node.status.byte' to 'bsap.node.status_byte'
2022-11-30 13:04:39 -05:00
weslambert
5988c12773 Change 'bsap.node.status.byte' to 'bsap.node.status_byte' 2022-11-30 13:01:30 -05:00
Mike Reeves
dc5f4ef942 Merge pull request #9253 from Security-Onion-Solutions/TOoSmOotH-patch-2
Use shutil in case there are multiple filesystems involved.
2022-11-30 11:04:30 -05:00
Doug Burks
91e15c233d Merge pull request #9252 from Security-Onion-Solutions/dougburks-patch-1
update stun, tunnel, and wireguard dashboards in dashboards.queries.json
2022-11-30 11:03:56 -05:00
Mike Reeves
42cde0b6f0 Use shutil in case there are multiple filesystems involved. 2022-11-30 10:59:09 -05:00
Doug Burks
1279997ca9 update stun, tunnel, and wireguard dashboards in dashboards.queries.json 2022-11-30 10:59:00 -05:00
weslambert
93e0ec8696 Merge pull request #9249 from Security-Onion-Solutions/fix/ics_ingest_pipelines_additional_field_renames
More ICS Field Name Updates
2022-11-30 10:26:36 -05:00
Wes
8f0547beda Change 'bsap.node.status_byte' to 'bsap.node_status_byte'. 2022-11-30 15:24:53 +00:00
Wes
6cb4c02200 More field updates 2022-11-30 15:22:02 +00:00
weslambert
8c54c44690 Merge pull request #9248 from Security-Onion-Solutions/fix/ics_ingest_pipelines_additional_field_renames
Additional ICS field renames and updates
2022-11-30 10:09:44 -05:00
Wes
5d72f8d55a Additional field renames and updates 2022-11-30 15:01:41 +00:00
Mike Reeves
768225ff5a Merge pull request #9242 from Security-Onion-Solutions/TOoSmOotH-patch-1 2022-11-29 23:42:15 -05:00
Mike Reeves
571ac4edec Update soup 2022-11-29 18:36:47 -05:00
weslambert
86cfac4983 Merge pull request #9241 from Security-Onion-Solutions/fix/ics_pipelines_field_renames
ICS Pipelines - Various Field Renames
2022-11-29 17:23:34 -05:00
Wes
e00a80feb4 Use native link_id naming scheme for now 2022-11-29 22:05:37 +00:00
Wes
e8e39a7105 Various field renames 2022-11-29 21:32:05 +00:00
Wes
13ea44db95 Use native 'is_orig' since we are already using that field name for other logs 2022-11-29 21:21:41 +00:00
weslambert
7f4f1397e7 Merge pull request #9240 from Security-Onion-Solutions/fix/add_s7comm_upload_download_ingest_pipeline
Add Zeek s7comm upload download ingest pipeline
2022-11-29 15:00:26 -05:00
Wes
5db3e22363 Add s7comm_upload_download references in various places 2022-11-29 19:58:18 +00:00
Wes
6fe2857ba5 Add Zeek s7comm_upload_download ingest pipeline 2022-11-29 19:45:56 +00:00
weslambert
56b0bae089 Merge pull request #9238 from Security-Onion-Solutions/fix/opcua_encoding_mask_format
Fix OP CUA Encoding Mask Format and Ensure Connection State Is Populated Before Assessing Its Value
2022-11-29 14:16:03 -05:00
weslambert
f947e501cb Add space per request 2022-11-29 14:14:37 -05:00
weslambert
ff8bbc399f Add space per request 2022-11-29 14:14:08 -05:00
weslambert
80226a27cc Add space per request 2022-11-29 14:13:41 -05:00
weslambert
266207cc18 Add space per request 2022-11-29 14:12:52 -05:00
weslambert
5255c120c5 Add space per request 2022-11-29 14:11:20 -05:00
Wes
d44f8e495b Check if connection.state is populated before trying to assess its value 2022-11-29 19:00:47 +00:00
Wes
13a8cbdabb Add convert processor for opcua.encoding_mask 2022-11-29 18:59:30 +00:00
Doug Burks
c3c505f8ff Merge pull request #9237 from Security-Onion-Solutions/dougburks-patch-1
add ICS COTP dashboard to dashboards.queries.json
2022-11-29 13:40:24 -05:00
Doug Burks
7ea0aa87e4 add ICS COTP dashboard to dashboards.queries.json 2022-11-29 13:38:19 -05:00
weslambert
82317656b1 Merge pull request #9235 from Security-Onion-Solutions/fix/mobus_read_write_multiple_registers_pipeline_failure_resolution
Change 'write' to 'read' to correct name and avoid pipeline failure
2022-11-29 12:56:05 -05:00
weslambert
1cc5961c07 Change 'write' to 'read' to correct name and avoid pipeline failure 2022-11-29 12:54:55 -05:00
weslambert
220e998b45 Merge pull request #9234 from Security-Onion-Solutions/fix/add_dnp3_control_ingest_pipeline
Add 'zeek.dnp3_control' ingest pipeline
2022-11-29 12:29:44 -05:00
Wes
16cd1080be Add dnp3_control reference in various places 2022-11-29 17:23:37 +00:00
Wes
5db643e53b Add Zeek dnp3_control ingest pipeline 2022-11-29 17:18:24 +00:00
weslambert
745cdef538 Merge pull request #9232 from Security-Onion-Solutions/fix/filebeat_ics_tag_bsap
Add 'ics' tag for 'bsap'-prefixed events/logs
2022-11-29 11:37:18 -05:00
weslambert
aa767b8dc1 Add 'ics' tag for 'bsap'-prefixed events/logs 2022-11-29 11:27:41 -05:00
Doug Burks
45cdd16308 Merge pull request #9228 from Security-Onion-Solutions/fix/zeek-ics-eventfields
More Zeek ICS changes
2022-11-29 09:18:40 -05:00
doug
1bb76bb251 update zeek s7comm parsers 2022-11-29 07:50:21 -05:00
doug
4251331bd4 update zeek tds parsers and dashboard 2022-11-29 07:43:20 -05:00
doug
124d56f4b9 update zeek cip parsers 2022-11-29 07:36:30 -05:00
doug
02821b97ad update bacnet parsers 2022-11-29 07:26:11 -05:00
doug
9a50832669 fix more typos 2022-11-29 07:16:30 -05:00
doug
cffbe757a6 fix bsap typos 2022-11-29 06:56:51 -05:00
Doug Burks
14ff5670f7 add bsap entries to hunt.eventfields.json 2022-11-29 06:48:20 -05:00
Doug Burks
92e238aa10 Merge pull request #9227 from Security-Onion-Solutions/fix/zeek-ics-parsers
Fix Zeek ICS parsers and add dashboards
2022-11-28 15:58:24 -05:00
doug
8462e66873 fix opcua_binary_browse_description 2022-11-28 13:50:24 -05:00
Doug Burks
2763b5846c improve dashboard descriptions 2022-11-28 13:10:23 -05:00
Doug Burks
dd4c34397d improve dashboard descriptions 2022-11-28 13:03:54 -05:00
Doug Burks
a796fa2ff7 make sure that ICS dashboards with sankey also have separate event.dataset table 2022-11-28 12:09:57 -05:00
Doug Burks
268253ce14 update ENIP dashboard 2022-11-28 12:05:35 -05:00
Doug Burks
6a2f886fcc improve ecat dashboard 2022-11-28 12:01:35 -05:00
Doug Burks
63915b0486 consolidate DNP3 dashboards 2022-11-28 11:58:48 -05:00
Doug Burks
ce7b16a230 more ICS dashboards 2022-11-28 10:06:58 -05:00
Doug Burks
a4f5e7b2a6 add ECAT dashboard 2022-11-28 10:05:15 -05:00
Doug Burks
cfbbc3a1a3 add S7 dashboard 2022-11-28 10:02:33 -05:00
Doug Burks
11a7f051a6 organize dashboards 2022-11-28 09:57:54 -05:00
Doug Burks
cb06269b1a update DNP3 and MODBUS dashboards 2022-11-28 09:40:42 -05:00
Mike Reeves
d026414bcf Merge pull request #9226 from Security-Onion-Solutions/bgfix
Remove BG for filecheck
2022-11-28 09:12:45 -05:00
Mike Reeves
e15ca408e7 Remove BG for filecheck 2022-11-28 09:11:41 -05:00
Mike Reeves
0e2753393b Remove BG for filecheck 2022-11-28 09:09:25 -05:00
Doug Burks
b06e9e8477 add new zeek opcua logs to so-zeek-logs 2022-11-26 18:44:28 -05:00
Doug Burks
45892400cb add new zeek opcua logs to so-whiptail 2022-11-26 18:42:51 -05:00
Doug Burks
1f0c984b98 add new zeek opcua logs to so-functions 2022-11-26 18:41:12 -05:00
doug
6d814d3909 add more zeek opcua parsers 2022-11-26 17:43:58 -05:00
Doug Burks
9ea59355d5 fix opcua_binary_opensecure_channel in so-functions 2022-11-26 17:03:57 -05:00
Doug Burks
c1287a61af add opcua_binary_opensecure_channel to so-functions 2022-11-26 17:02:04 -05:00
Doug Burks
e44c94c56b add opcua_binary_opensecure_channel to so-whiptail 2022-11-26 17:01:11 -05:00
Doug Burks
ec0cf71c3f add opcua_binary_opensecure_channel to so-zeek-logs 2022-11-26 17:00:32 -05:00
doug
73adc571de add more zeek ics parsers 2022-11-26 10:36:49 -05:00
doug
62c1bb2c0c disable ecat_arp_info since it records all arp traffic 2022-11-25 18:01:53 -05:00
Doug Burks
692ec05b2d fix opcua_binary_activate_session in hunt.eventfields.json 2022-11-25 17:51:25 -05:00
Doug Burks
00078fd9e5 add opcua_binary_activate_session_diagnostic_info to hunt.eventfields.json 2022-11-25 17:47:41 -05:00
Doug Burks
13c8fb0004 add ecat_coe_info to hunt.eventfields.json 2022-11-25 17:45:28 -05:00
Doug Burks
920b16e494 add ecat_dev_info to hunt.eventfields.json 2022-11-25 17:42:59 -05:00
Doug Burks
d98c57510a add opcua_binary_activate_session_locale_id to hunt.eventfields.json 2022-11-25 17:39:17 -05:00
Doug Burks
58aa730437 add opcua_binary_create_session_endpoints to hunt.eventfields.json 2022-11-25 17:37:10 -05:00
Doug Burks
f36da68009 add opcua_binary_create_subscription to hunt.eventfields.json 2022-11-25 17:35:02 -05:00
Doug Burks
0091675ab6 fix opcua_binary_get_endpoints_description in hunt.eventfields.json 2022-11-25 17:32:30 -05:00
Doug Burks
83d25a97d3 add opcua_binary_get_endpoints_description to hunt.eventfields.json 2022-11-25 16:01:40 -05:00
Doug Burks
e536568c8a add opcua_binary_activate_session to hunt.eventfields.json 2022-11-25 15:59:17 -05:00
Doug Burks
a00eb9071f add opcua_binary_get_endpoints to hunt.eventfields.json 2022-11-25 15:57:35 -05:00
Doug Burks
c39cd9a290 add opcua_binary_browse_result to hunt.eventfields.json 2022-11-25 15:55:59 -05:00
Doug Burks
cb5483d401 add opcua_binary_create_session to hunt.eventfields.json 2022-11-25 15:53:09 -05:00
Doug Burks
fab0d17314 add opcua_binary_browse_description to hunt.eventfields.json 2022-11-25 15:51:49 -05:00
Doug Burks
465e6c4605 add opcua_binary_create_session_user_token to hunt.eventfields.json 2022-11-25 15:48:11 -05:00
Doug Burks
a119d6a842 add opcua_binary_get_endpoints_user_token to hunt.eventfields.json 2022-11-25 15:46:35 -05:00
Doug Burks
be8ce43b74 add opcua_binary_browse to hunt.eventfields.json 2022-11-25 15:44:22 -05:00
Doug Burks
b2a33d4800 add opcua_binary_browse_response_references to hunt.eventfields.json 2022-11-25 15:41:48 -05:00
Doug Burks
78fac49e66 add opcua_binary_read to hunt.eventfields.json 2022-11-25 15:39:58 -05:00
Doug Burks
ca08989404 add cip_io to hunt.eventfields.json 2022-11-25 15:37:21 -05:00
Doug Burks
4ed757916e add opcua_binary_status_code_detail to hunt.eventfields.json 2022-11-25 15:35:17 -05:00
Doug Burks
676c543178 add opcua_binary to hunt.eventfields.json 2022-11-25 15:33:13 -05:00
Doug Burks
aa2eab5738 fix zeek ics logs in so-functions 2022-11-25 09:53:11 -05:00
Doug Burks
fe21b8bc17 fix zeek ics logs in so-functions 2022-11-25 09:45:18 -05:00
Doug Burks
33a478ff59 fix zeek ics logs in so-zeek-logs 2022-11-25 09:40:48 -05:00
Doug Burks
62fee1f420 fix zeek ics logs in so-whiptail 2022-11-25 09:39:58 -05:00
Doug Burks
2ada4712bc fix zeek ics logs in so-zeek-logs 2022-11-25 09:37:52 -05:00
Doug Burks
fad6c46e7c fix zeek ics logs in so-zeek-logs 2022-11-25 09:35:00 -05:00
Doug Burks
6f27c1b21e fix zeek logs in so-whiptail 2022-11-25 09:26:54 -05:00
Doug Burks
0afb20ffa8 fix ics entries in so-functions 2022-11-25 09:19:11 -05:00
Doug Burks
40688a6076 add Zeek software to so-functions 2022-11-25 07:36:41 -05:00
Doug Burks
9431bf1c2a add Zeek software log to so-whiptail 2022-11-25 07:28:48 -05:00
Doug Burks
9f5e75b302 add software to so-zeek-logs 2022-11-25 07:27:50 -05:00
Doug Burks
3f62cddc3b change . to _ 2022-11-23 12:21:12 -05:00
Doug Burks
085420997c move status_code before status_code.link_id 2022-11-23 12:11:04 -05:00
Doug Burks
723e145eeb Merge pull request #9221 from Security-Onion-Solutions/dougburks-patch-1
fix descriptions
2022-11-23 11:43:12 -05:00
Doug Burks
0a1d0d35c8 fix description 2022-11-23 11:33:31 -05:00
Doug Burks
9ee96f2280 fix description 2022-11-23 11:32:09 -05:00
Doug Burks
3871268c19 Merge pull request #9220 from Security-Onion-Solutions/fix/zeek-opcua-parsing
fix zeek opcua pipelines
2022-11-23 11:17:47 -05:00
doug
bc620b7def fix zeek opcua pipelines 2022-11-23 10:56:32 -05:00
Doug Burks
08d5f494ab Merge pull request #9208 from Security-Onion-Solutions/dougburks-patch-1
Initial dashboards for stun, tds, wireguard, and ics
2022-11-22 16:04:12 -05:00
weslambert
13827f3be5 Merge pull request #9209 from Security-Onion-Solutions/fix/add_missing_opcua_activate_session_pipelines
Add Missing OPCUA Activate Session Pipelines
2022-11-22 16:01:33 -05:00
weslambert
3a64362887 Remove extra space used during testing 2022-11-22 15:47:16 -05:00
Wes
e77a60bcbf Add missing OPCUA 'activate_session' pipelines 2022-11-22 20:44:48 +00:00
weslambert
e560edf493 Merge pull request #9206 from Security-Onion-Solutions/fix/ingest_typos
Fix spelling of 'wireguard.responses' field name
2022-11-22 15:35:55 -05:00
Doug Burks
7caf827b77 add ecat_aoe_info to hunt.eventfields.json 2022-11-22 13:33:06 -05:00
Doug Burks
f40ccb7eff add bacnet_discovery to hunt.eventfields.json 2022-11-22 13:27:26 -05:00
Doug Burks
e0cd550820 update ecat_arp_info in hunt.eventfields.json 2022-11-22 13:23:45 -05:00
Doug Burks
4e5106c863 update ecat_arp_info in hunt.eventfields.json 2022-11-22 13:21:33 -05:00
Doug Burks
5a107c63b8 add source.mac and destination.mac to dashboards.queries.json 2022-11-22 13:16:47 -05:00
Doug Burks
8a9a13865c add ecat_registers to hunt.eventfields.json 2022-11-22 13:12:24 -05:00
Doug Burks
9cd6273beb update ecat_log_address in hunt.eventfields.json 2022-11-22 13:10:46 -05:00
Doug Burks
724b26228c add ecat_log_address to hunt.eventfields.json 2022-11-22 13:09:27 -05:00
weslambert
3c054fd133 Fix spelling of 'wireguard.responses' field name 2022-11-22 13:02:43 -05:00
Doug Burks
24ee38369f add cotp to hunt.eventfields.json 2022-11-22 12:49:33 -05:00
weslambert
0bbe642d20 Merge pull request #9203 from Security-Onion-Solutions/fix/ics_ingest_field_names
Fix ICS Ingest Field Names
2022-11-22 12:30:10 -05:00
weslambert
8e17c23659 Fix format/speliing for 'enip.status_code' field name 2022-11-22 12:05:03 -05:00
weslambert
92170941f0 Fix spelling for 'stun.class' field name 2022-11-22 12:04:07 -05:00
Doug Burks
10ac789fbf add profinet_dce_rpc to hunt.eventfields.json 2022-11-22 11:08:24 -05:00
Doug Burks
db58a35562 add profinet to hunt.eventfields.json 2022-11-22 11:07:03 -05:00
Doug Burks
1ad7a0db59 add bacnet_property to hunt.eventfields.json 2022-11-22 11:05:26 -05:00
Doug Burks
af626fe3a1 add bacnet to hunt.eventfields.json 2022-11-22 11:03:45 -05:00
Doug Burks
073f5ed789 add dnp3_objects to hunt.eventfields.json 2022-11-22 11:02:21 -05:00
Doug Burks
bbcefea417 add s7comm_plus to hunt.eventfields.json 2022-11-22 10:58:42 -05:00
Doug Burks
73c282595d update dnp3 in hunt.eventfields.json 2022-11-22 10:57:06 -05:00
Doug Burks
07a53db09a add cip_identity to hunt.evenfields.json 2022-11-22 10:55:39 -05:00
Doug Burks
80e50fa7b4 add ecat_arp_info to hunt.eventfields.json 2022-11-22 10:53:48 -05:00
Doug Burks
84d333e915 add s7comm to hunt.eventfields.json 2022-11-22 10:51:06 -05:00
Doug Burks
ae582caa55 Add modbus_detailed to hunt.eventfields.json 2022-11-22 10:48:33 -05:00
Doug Burks
264ae2b9ac add enip to hunt.eventfields.json 2022-11-22 10:45:20 -05:00
Doug Burks
b522c9eea4 reorder fields in hunt.eventfields.json 2022-11-22 10:43:01 -05:00
Doug Burks
51cc047933 add cip to hunt.eventfields.json 2022-11-22 10:40:22 -05:00
Doug Burks
2a805ac1a6 Add tds entries to hunt.eventfields.json 2022-11-22 10:29:55 -05:00
Doug Burks
595f615ed9 Add ICS dashboard 2022-11-22 10:22:55 -05:00
Doug Burks
aa7c39d312 Add dashboards for stun, tds, and wireguard 2022-11-22 10:08:39 -05:00
weslambert
2170d498c5 Merge pull request #9195 from Security-Onion-Solutions/fix/missing_ics_pipelines
Add COTP and TDS ingest pipelines
2022-11-22 08:44:02 -05:00
Wes
95a6f9aa7d Add COTP and TDS ingest pipelines 2022-11-22 13:35:19 +00:00
weslambert
ba65b351a2 Merge pull request #9193 from Security-Onion-Solutions/fix/ics_tag_syntax_error
Fix syntax error for 'ics' tag logic
2022-11-22 07:32:40 -05:00
weslambert
4c09c8856b Fix syntax error for 'ics' tag logic 2022-11-22 07:23:56 -05:00
weslambert
3afa8bd9da Merge pull request #9188 from Security-Onion-Solutions/feature/filebeat_config_ics_event_tag
Add 'ics' tag to events generated from ICS protocol logs
2022-11-21 17:06:25 -05:00
weslambert
72eccd2649 Fix indentation 2022-11-21 17:01:16 -05:00
weslambert
310ea633b6 Add 'ics' tag to events generated from ICS protocol logs 2022-11-21 16:43:43 -05:00
Doug Burks
31b4d9cd70 Merge pull request #9187 from Security-Onion-Solutions/dougburks-patch-1
Remove descriptions from so-zeek-logs and so-whiptail
2022-11-21 14:13:04 -05:00
Doug Burks
0536d174fe Fix opcua_binary reference in so-zeek-logs 2022-11-21 14:03:22 -05:00
Doug Burks
96d7429a1c Remove descriptions from so-whiptail 2022-11-21 13:32:51 -05:00
Doug Burks
a54bb2bad4 Remove descriptions from so-zeek-logs 2022-11-21 13:23:53 -05:00
Doug Burks
d4abbd89ca Merge pull request #9185 from Security-Onion-Solutions/dougburks-patch-1
Update so-functions to enable ICS/SCADA for EVAL and IMPORT
2022-11-21 12:33:06 -05:00
Peter Di Giorgio
bdfab6858d Merge pull request #9184 from Security-Onion-Solutions/foxtrot
Shorten Zeek Log Descriptions for formatting
2022-11-21 11:20:15 -06:00
lock-wire
f80c8b89e4 Shorten Log Descriptions 2022-11-21 09:49:31 -07:00
Peter Di Giorgio
29384d33e1 Merge pull request #9183 from Security-Onion-Solutions/dev
Synch Foxtrot from dev
2022-11-21 10:06:44 -06:00
Doug Burks
aebedf9ac6 Update so-functions to enable ICS/SCADA for EVAL and IMPORT 2022-11-21 10:05:18 -05:00
Doug Burks
40ee529c7e Merge pull request #9178 from Security-Onion-Solutions/dougburks-patch-1
Simplify version in README.md to just 2.3
2022-11-21 08:46:22 -05:00
Doug Burks
b9ee2f1e38 Simplify version in README.md to just 2.3 2022-11-21 08:38:27 -05:00
weslambert
089b403a3b Merge pull request #9166 from Security-Onion-Solutions/foxtrot
Merge final protocol analyzers into dev
2022-11-18 08:41:43 -05:00
Peter Di Giorgio
a28e5de5f4 Correct trailing \ 2022-11-18 06:29:57 -06:00
Peter Di Giorgio
2e30cefd91 Add remaining protocol parsers
- icsnpp-bsap
      - icsnpp-s7comm
      - zeek-plugin-tds
      - zeek-plugin-profinet
      - zeek-spicy-wireguard
      - zeek-spicy-stun
2022-11-17 10:47:00 -06:00
Peter Di Giorgio
33bf0c6902 Merge pull request #9163 from Security-Onion-Solutions/dev
Update Foxtrot from Dev
2022-11-17 10:44:24 -06:00
Peter Di Giorgio
13b6b43324 Update init.sls 2022-11-17 10:42:21 -06:00
weslambert
78bc2a95e5 Add icsnpp-bsap to enabled plugins 2022-11-17 11:20:24 -05:00
weslambert
5bb0e6e8c0 Merge pull request #9160 from Security-Onion-Solutions/feature/additional_ics_scada_ingest_node_pipelines
Add additional ICS/SCADA ingest node pipelines
2022-11-17 11:18:15 -05:00
Wes
a278194037 Add additional ICS/SCADA ingest node pipelines 2022-11-17 16:16:33 +00:00
lock-wire
1b8e546045 Add s7comm,tds,stun,profinet,wireguard 2022-11-16 21:41:02 -06:00
weslambert
7319cb07e2 Merge pull request #9153 from Security-Onion-Solutions/fix/ics_scada_ingest_pipeline_updates_2_3
Update ingest node pipelines for ICS/SCADA protocols
2022-11-16 16:17:08 -05:00
Wes
35e131b888 Update ingest node pipelines for ICS/SCADA protocols 2022-11-16 21:09:30 +00:00
Jason Ertel
fd34eb3c26 Merge pull request #9150 from Security-Onion-Solutions/kilo
Increase retry count and pause to allow more time for Ubuntu updates
2022-11-16 07:53:04 -05:00
Jason Ertel
02b00d2c87 Increase retry count and pause to allow more time for Ubuntu updates 2022-11-16 07:50:08 -05:00
Mike Reeves
b0e08ed749 Merge pull request #9066 from security-companion/analyzers-patch1
fix descriptions in files related to analyzers
2022-11-12 11:32:09 -05:00
Mike Reeves
ec3a688e66 Merge pull request #9128 from Security-Onion-Solutions/dougburks-patch-1
Add trailing backslash to bacnet_property in so-functions
2022-11-12 10:33:00 -05:00
Doug Burks
4400c77f7e Add trailing backslash to bacnet_property in so-functions 2022-11-12 09:13:20 -05:00
Peter Di Giorgio
d890f75cca Correct typo 2022-11-11 13:59:20 -08:00
Doug Burks
91b6087350 Merge pull request #9126 from Security-Onion-Solutions/dougburks-patch-1
fix typo in zeek init.sls icsnpp-opcua-binary
2022-11-11 21:50:36 +00:00
Doug Burks
edcbcec10a fix typo in zeek init.sls icsnpp-opcua-binary 2022-11-11 16:49:12 -05:00
Doug Burks
18ab90288a Merge pull request #9124 from Security-Onion-Solutions/dougburks-patch-1
FIX: Avoid deprecation warning in Zeek file extraction script #9123
2022-11-11 21:33:52 +00:00
Doug Burks
9bf1c1e869 FIX: Avoid deprecation warning in Zeek file extraction script #9123 2022-11-11 16:27:11 -05:00
Peter Di Giorgio
1e96a0b6a6 Merge pull request #9122 from Security-Onion-Solutions/foxtrot
Merge new protocol analyzers into dev
2022-11-11 12:53:57 -08:00
lock-wire
8dc08f66fd Merge branch 'foxtrot' of https://github.com/Security-Onion-Solutions/securityonion into foxtrot
merge remote
2022-11-11 12:18:02 -08:00
lock-wire
73b1e5949b Add ecat, enip, cip, and opcua 2022-11-11 12:15:54 -08:00
Doug Burks
2d6a4d7c28 Merge pull request #9098 from Security-Onion-Solutions/feature/local-docs
FEATURE: Improve local copy of docs in SOC #9097
2022-11-11 16:21:54 +00:00
Peter Di Giorgio
ae389ee487 Merge pull request #9121 from Security-Onion-Solutions/dev
Update foxtrot from dev
2022-11-11 07:25:26 -08:00
lock-wire
85d30520ce Add BSAP protocol 2022-11-11 07:22:55 -08:00
Jason Ertel
934ce9ba64 Merge pull request #9114 from Security-Onion-Solutions/kilo
merge master to dev
2022-11-10 16:50:33 -05:00
Jason Ertel
595a95fdf5 merge conflicts 2022-11-10 16:47:52 -05:00
Mike Reeves
fc649a565c Merge pull request #9107 from Security-Onion-Solutions/patch/2.3.182
Patch/2.3.182
2022-11-10 16:30:17 -05:00
Mike Reeves
113b38056b 2.3.182 2022-11-10 15:12:47 -05:00
Mike Reeves
559276534d 2.3.182 2022-11-10 15:06:00 -05:00
Mike Reeves
4acd9f8816 Update soup 2022-11-09 10:10:52 -05:00
security-companion
7ee4eb6101 fix descriptions in files related to analyzers 2022-11-08 22:32:28 +01:00
doug
84b2fc9c17 FEATURE: Improve local copy of docs in SOC #9097 2022-11-08 16:26:09 -05:00
Mike Reeves
a7417a7242 Update soup 2022-11-08 14:48:48 -05:00
Mike Reeves
d18ff69ec9 Update VERSION 2022-11-08 14:45:53 -05:00
Peter Di Giorgio
5532577fdd Merge pull request #9071 from Security-Onion-Solutions/dev
Merge Dev into Foxtrot
2022-11-04 08:01:29 -07:00
Peter Di Giorgio
5ebf470a86 Update zeek.bacnet_discovery 2022-11-03 22:27:04 -07:00
Peter Di Giorgio
4b39ccec6d Update zeek.bacnet_property 2022-11-03 15:30:20 -07:00
Mike Reeves
18cd7a83c6 Merge pull request #9059 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update init.sls
2022-11-02 13:01:38 -04:00
Mike Reeves
c5bfe6ffdb Update init.sls 2022-11-02 12:59:46 -04:00
Mike Reeves
4ac365e670 Update init.sls 2022-11-02 12:59:17 -04:00
Mike Reeves
ff1a903895 Update init.sls 2022-11-02 12:58:31 -04:00
Doug Burks
65f8b1ebe3 Merge pull request #9057 from Security-Onion-Solutions/dougburks-patch-1
Create README.txt in setup/automation/
2022-11-02 14:24:29 +00:00
Jason Ertel
c23e8e5a7b Update README.txt 2022-11-02 10:23:19 -04:00
Doug Burks
aa4a9a093f Create README.txt 2022-11-02 10:20:57 -04:00
Mike Reeves
0af813d7fe Merge pull request #9056 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update init.sls
2022-11-02 10:17:43 -04:00
Mike Reeves
388486ec08 Update init.sls 2022-11-02 10:06:13 -04:00
Mike Reeves
b1b0a7df30 Merge pull request #9044 from Security-Onion-Solutions/watchdogfix
watchdog fix
2022-11-01 13:24:05 -04:00
Mike Reeves
f74aee6a03 Update init.sls 2022-11-01 13:21:12 -04:00
Mike Reeves
4c6e66428c Merge pull request #9037 from Security-Onion-Solutions/soup190
Add soup and perms updates
2022-11-01 09:13:26 -04:00
Mike Reeves
16d8e9e5a0 Fix soup and perms updates 2022-11-01 09:05:26 -04:00
Mike Reeves
ee1f55361e Add soup and perms updates 2022-10-31 16:33:38 -04:00
Mike Reeves
cb33464668 Merge pull request #9033 from Security-Onion-Solutions/strelkafix
Add Filechecks
2022-10-31 15:49:40 -04:00
Mike Reeves
06ddae13b5 Update filecheck 2022-10-31 15:41:57 -04:00
Mike Reeves
16d3dead04 Update sensor-rotate.conf 2022-10-31 15:33:10 -04:00
Mike Reeves
f7043f3f62 Update init.sls 2022-10-31 15:25:38 -04:00
Mike Reeves
bf41f2984a Update init.sls 2022-10-31 14:58:55 -04:00
Mike Reeves
86ca3602f3 Update init.sls 2022-10-31 14:44:01 -04:00
Mike Reeves
416c28fded Update init.sls 2022-10-31 14:42:23 -04:00
Mike Reeves
297373877a Update init.sls 2022-10-31 14:36:40 -04:00
Mike Reeves
db9b93a96c Update init.sls 2022-10-31 14:35:02 -04:00
Mike Reeves
5635375d8d Update init.sls 2022-10-31 14:30:11 -04:00
Mike Reeves
07e72e4013 Update filecheck 2022-10-31 13:47:49 -04:00
Mike Reeves
518d2aaa9c Update filecheck.yaml 2022-10-31 13:45:00 -04:00
Mike Reeves
e93e2995b7 Update filecheck 2022-10-31 13:42:18 -04:00
Mike Reeves
d2eb61a830 Update filecheck.yaml 2022-10-31 13:41:45 -04:00
Mike Reeves
4c5a2c0610 Update filecheck 2022-10-31 13:36:42 -04:00
Mike Reeves
e9e7362005 Add Filechecks 2022-10-31 12:57:08 -04:00
Peter Di Giorgio
b97c822800 Add zeek.bacnet_discovery and zeek.bacnet_property 2022-10-27 15:40:52 -07:00
Peter Di Giorgio
71e3b2d1fb Create zeek.bacnet 2022-10-27 15:40:07 -07:00
Peter Di Giorgio
326ba710ce Add logs for bacnet
bacnet
bacnet_discovery
bacnet_property
2022-10-27 15:38:32 -07:00
Peter Di Giorgio
1ea6feca37 Add icsnpp-bacnet 2022-10-27 15:31:38 -07:00
Peter Di Giorgio
c524442172 Merge pull request #9008 from Security-Onion-Solutions/master
Synch Foxtrot with 2.3.181 Release
2022-10-26 13:10:01 -07:00
weslambert
8e4d0db738 Merge pull request #9002 from Security-Onion-Solutions/fix/remove_ja3er_references
Remove JA3er references
2022-10-26 10:21:54 -04:00
weslambert
a170c194c8 Remove JA3er references 2022-10-26 10:18:10 -04:00
Peter Di Giorgio
2b51d72585 Rename zeek.read_write_multiple_registers to zeek.modbus_read_write_multiple_registers 2022-10-25 17:20:01 -07:00
weslambert
0d71006f40 Merge pull request #8997 from Security-Onion-Solutions/fix/sensoroni_analyzers_pyyaml_wheel_name
Fix PyYAML .whl file name and remove JA3er analyzer
2022-10-25 14:57:35 -04:00
Wes
a91e3b601c Remove JA3er since it is no longer a valid service 2022-10-25 18:48:37 +00:00
Wes
4940421297 Add PyYAML .whl files back since they were 'deleted' in the previous commit 2022-10-25 18:47:51 +00:00
Wes
58b4a8fbab Change PyYAML .whl file name to comply with Joliet's 240-character limit 2022-10-25 18:47:02 +00:00
Mike Reeves
bd7e12f682 Merge pull request #8952 from Njinx/dev
FEATURE: so-pcap-export can run without needing to be attached to a TTY
2022-10-25 14:38:48 -04:00
Mike Reeves
64e43f07b9 Merge pull request #8993 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update VERSION
2022-10-25 14:36:45 -04:00
Mike Reeves
2d84e2e977 Update VERSION 2022-10-25 14:35:52 -04:00
Mike Reeves
465a1a82d7 Merge pull request #8981 from Security-Onion-Solutions/dev
2.3.181
2022-10-25 14:30:50 -04:00
Peter Di Giorgio
61d36d584f Add Modbus, DNP3, BZAR, and oui-logging 2022-10-25 07:10:52 -07:00
Peter Di Giorgio
2d343110cc Add DNP3 and Modbus extensions to zeeklogs.sls 2022-10-25 07:09:11 -07:00
Peter Di Giorgio
4502e2c260 Remove logs for OT parsers 2022-10-24 23:16:18 -07:00
Peter Di Giorgio
beb67847f9 Remove modbus,bzar,dnp3,oui-logging 2022-10-24 23:14:32 -07:00
Peter Di Giorgio
9cdc29c482 Fix Syntax for zeeklogs pillar 2022-10-24 14:30:15 -07:00
weslambert
292f66138b Merge pull request #8983 from Security-Onion-Solutions/revert-8982-fix/sensoroni_analyzers_pyyaml_wheel_name
Revert "Change PyYAML .whl file name to comply with Joliet's 240-character limit/threshold"
2022-10-24 16:49:19 -04:00
weslambert
0087768946 Revert "Change PyYAML .whl file name to comply with Joliet's 240-character limit/threshold" 2022-10-24 16:47:30 -04:00
Peter Di Giorgio
01d177366d Fix Zeek Pillar 2022-10-24 12:00:43 -07:00
weslambert
712340a027 Merge pull request #8982 from Security-Onion-Solutions/fix/sensoroni_analyzers_pyyaml_wheel_name
Change PyYAML .whl file name to comply with Joliet's 240-character limit/threshold
2022-10-24 14:14:45 -04:00
Wes
1caac3f0b0 Add PyYAML .whl files back since they were 'deleted' in the previous commit. 2022-10-24 18:06:19 +00:00
Wes
54a5dd6cbd Change name of PyYAML .whl file to remain under Joliet's 240-character limit/threshold 2022-10-24 18:05:15 +00:00
Mike Reeves
6570177b0c Merge pull request #8979 from Security-Onion-Solutions/2.3.181
2.3.181
2022-10-24 11:39:08 -04:00
Mike Reeves
f7ed992f24 2.3.181 2022-10-24 11:33:31 -04:00
Mike Reeves
4a18f8d18a 2.3.181 2022-10-24 11:32:19 -04:00
Peter Di Giorgio
24cf481f4a Merge pull request #8973 from lock-wire/patch-3
Add Modbus, DNP3, BZAR, and oui-logging
2022-10-21 18:06:13 -07:00
Peter Di Giorgio
cd4e0c1f8e Add DNP3 and Modbus extensions to zeeklogs.sls
Add DNP3 and Modbus extenstions to zeeklogs to ensure filebeat.yml is configured properly to ship lots.  Need to move these behind the OT flag.
2022-10-21 14:19:21 -07:00
Peter Di Giorgio
4a60310dc8 Add Modbus, DNP3, BZAR, and oui-logging
This is an initial proof of concept.  Need to migrate these entries behind a flag.
2022-10-21 14:04:40 -07:00
weslambert
930620fce6 Merge pull request #8971 from lock-wire/patch-2
Add Ingest pipeline for Modbus and DNP3 extensions
2022-10-21 16:28:52 -04:00
Peter Di Giorgio
7a60d0987c Update zeek.conn to include client.oui 2022-10-21 13:02:01 -07:00
Peter Di Giorgio
9ac06057c1 Create zeek.read_write_multiple_registers 2022-10-21 13:00:12 -07:00
Peter Di Giorgio
e5c69c3236 Create zeek.modbus_mask_write_register 2022-10-21 12:58:36 -07:00
Peter Di Giorgio
39f050c6e4 Rename modbus_detailed to zeek.modbus_detailed 2022-10-21 12:56:59 -07:00
Peter Di Giorgio
4ee083759c Rename dnp3_objects to zeek.dnp3_objects 2022-10-21 12:56:35 -07:00
Peter Di Giorgio
072bfd87b7 Create Ingest for Modbus Detailed 2022-10-21 12:53:30 -07:00
Peter Di Giorgio
b7aaaa80bb Create Ingest for DNP3 Objects extension 2022-10-21 12:51:13 -07:00
Jason Ertel
b8884b6ac9 Merge pull request #8968 from Security-Onion-Solutions/181soup
update soup for 2.3.181
2022-10-21 12:00:58 -04:00
Jason Ertel
05e271af47 update soup for 2.3.181 2022-10-21 11:52:54 -04:00
Mike Reeves
58e80a9db8 Merge pull request #8964 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update VERSION
2022-10-21 10:45:44 -04:00
Mike Reeves
e16fc3605e Update VERSION 2022-10-21 10:43:34 -04:00
Ben Allen
f13f05eb94 Run without needing to be attached to a TTY 2022-10-19 14:11:11 -04:00
weslambert
a54fc4cead Merge pull request #8942 from Security-Onion-Solutions/master
Update Foxtrot to .180
2022-10-18 16:39:21 -04:00
Mike Reeves
2127ba90ee Merge pull request #8925 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2022-10-17 10:51:02 -04:00
Mike Reeves
3373aef87d Update VERSION 2022-10-17 10:50:14 -04:00
Mike Reeves
fa45e8ded7 Merge pull request #8924 from Security-Onion-Solutions/dev
2.3.180
2022-10-17 10:41:06 -04:00
Mike Reeves
6d0ead7b5b Merge pull request #8923 from Security-Onion-Solutions/2.3.180
2.3.180
2022-10-17 09:47:06 -04:00
Mike Reeves
a2a6625f3b 2.3.180 2022-10-17 09:39:07 -04:00
Mike Reeves
3c2510acd7 Merge pull request #8920 from Security-Onion-Solutions/dev
Merge Dev into Foxtrot
2022-10-17 09:34:57 -04:00
Doug Burks
0d807d20f4 Merge pull request #8914 from Security-Onion-Solutions/dougburks-patch-1
Remove destination_geo.organization_name from Sysmon Network sankey diagram
2022-10-13 13:03:51 +00:00
Doug Burks
f4042263a3 Remove destination_geo.organization_name from Sysmon Network sankey diagram 2022-10-13 08:59:10 -04:00
Doug Burks
a930f8233d Merge pull request #8899 from Security-Onion-Solutions/dougburks-patch-2
Update soup for 2.3.180
2022-10-11 17:14:55 +00:00
Doug Burks
7401008523 Update soup for 2.3.180 2022-10-11 12:58:37 -04:00
Doug Burks
5199ea483e Merge pull request #8878 from Security-Onion-Solutions/feature/improve-sysmon-dashboards
FEATURE: Add new Sysmon dashboards #8870
2022-10-07 16:47:02 +00:00
doug
454a7a4799 FEATURE: Add new Sysmon dashboards #8870 2022-10-07 11:52:49 -04:00
Doug Burks
6fb7733d8c Merge pull request #8875 from Security-Onion-Solutions/dougburks-patch-1
Increment SO to 2.3.180 and Elastic to 8.4.3
2022-10-07 11:13:13 +00:00
Doug Burks
ab17cbee31 Update Elastic to 8.4.3 2022-10-07 07:03:10 -04:00
Doug Burks
9991f0cf95 update Elastic to 8.4.3 2022-10-07 07:02:24 -04:00
Doug Burks
44d46b06a2 increment version to 2.3.180 2022-10-07 06:58:07 -04:00
Mike Reeves
ba7231f07d Merge pull request #8841 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update VERSION
2022-10-03 08:46:19 -04:00
Mike Reeves
8dc11ea23a Update VERSION 2022-10-03 08:43:39 -04:00
Mike Reeves
116a6a0acd Merge pull request #8806 from Security-Onion-Solutions/dev
2.3.170
2022-10-01 08:13:09 -04:00
Mike Reeves
311b69dc4a Merge pull request #8805 from Security-Onion-Solutions/2.3.170
2.3.170
2022-09-23 15:34:49 -04:00
Mike Reeves
fd59acce5d 2.3.170 2022-09-23 15:26:14 -04:00
Mike Reeves
956d3e4345 Merge pull request #8793 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update soup
2022-09-22 09:22:20 -04:00
Mike Reeves
b8355b3a03 Update soup 2022-09-22 09:10:12 -04:00
bryant-treacle
535b9f86db Merge pull request #8633 from Security-Onion-Solutions/bryant-sysmon
Fix issues: 8591-8953
2022-09-19 11:53:34 -04:00
Mike Reeves
97c66a5404 Merge pull request #8639 from Security-Onion-Solutions/TOoSmOotH-patch-1
dev to 170
2022-08-31 08:23:48 -04:00
Josh Brower
6553beec99 Merge pull request #8644 from Security-Onion-Solutions/upgrade/elastic-8.4.1
Upgrade/elastic 8.4.1
2022-08-30 16:37:56 -04:00
Josh Brower
e171dd52b8 Upgrade Elastic to 8.4.1 2022-08-30 16:11:40 -04:00
Josh Brower
27a837369d Upgrade Elastic to 8.4.1 2022-08-30 16:09:57 -04:00
Mike Reeves
043b9f78e2 Merge pull request #8638 from Security-Onion-Solutions/master
Merge pull request #8627 from Security-Onion-Solutions/dev
2022-08-30 14:42:18 -04:00
Mike Reeves
2f260a785f Update README.md 2022-08-30 14:41:41 -04:00
Mike Reeves
001b2dc6cc Update VERSION 2022-08-30 14:39:41 -04:00
Mike Reeves
b13eedfbc2 Merge pull request #8627 from Security-Onion-Solutions/dev
2.3.160
2022-08-30 14:33:36 -04:00
Mike Reeves
dd70ef17b9 Merge pull request #8636 from Security-Onion-Solutions/fixitup
Merge pull request #8571 from Security-Onion-Solutions/dev
2022-08-30 14:31:35 -04:00
bryant-treacle
82dff3e9da Fix issues: 8591-8953 2022-08-30 13:48:53 +00:00
Mike Reeves
d9cfd92b8f Merge pull request #8626 from Security-Onion-Solutions/2.3.160
2.3.160
2022-08-29 15:00:08 -04:00
Mike Reeves
33cb771780 2.3.160 2022-08-29 14:56:43 -04:00
Mike Reeves
76cca8594d Merge pull request #8623 from Security-Onion-Solutions/TOoSmOotH-patch-6
Update soup
2022-08-29 09:50:06 -04:00
weslambert
5c9c95ba1f Merge pull request #8622 from Security-Onion-Solutions/fix/strelka_yara_gen_webshells_ignore
Ignore gen_webshells.yar
2022-08-29 09:40:51 -04:00
Mike Reeves
e62bebeafe Update soup 2022-08-29 09:39:41 -04:00
weslambert
8a0e92cc6f Add 'gen_webshells.yar' and re-arrange to put ignored rules in alphabetical order 2022-08-29 09:37:29 -04:00
Mike Reeves
3f9259dd0a Merge pull request #8621 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update soup
2022-08-29 09:34:29 -04:00
Mike Reeves
30b9868de1 Update soup 2022-08-29 09:32:46 -04:00
Doug Burks
e88243c306 Merge pull request #8602 from Security-Onion-Solutions/dougburks-patch-1
increment to 2.3.160
2022-08-26 08:06:22 -04:00
Doug Burks
2128550df2 increment to 2.3.160 2022-08-26 07:50:08 -04:00
Jason Ertel
db67c0ed94 Merge pull request #8577 from Security-Onion-Solutions/kilo
Increment version to 2.3.160
2022-08-23 07:14:05 -04:00
Jason Ertel
2e32c0d236 Increment version to 2.3.160 2022-08-23 07:00:14 -04:00
Mike Reeves
4b1ad1910d Merge pull request #8571 from Security-Onion-Solutions/dev
2.3.150
2022-08-22 15:22:43 -04:00
Mike Reeves
c337145b2c Merge pull request #8570 from Security-Onion-Solutions/2.3.150
2.3.150
2022-08-22 14:35:29 -04:00
Mike Reeves
bd7b4c92bc 2.3.150 2022-08-22 14:31:36 -04:00
Mike Reeves
33ebed3468 2.3.150 2022-08-22 14:31:04 -04:00
weslambert
616bc40412 Merge pull request #8558 from Security-Onion-Solutions/fix/soup_local_mods_check_skip_prompt
Allow local modification acceptance prompt to be skipped when passing 'skip-prompt' as a parameter value to check_local_mods() function
2022-08-19 16:11:23 -04:00
weslambert
f00d9074ff Allow local modification acceptance prompt to be skipped when passing 'skip-prompt' as a parameter value to check_local_mods() function 2022-08-19 16:07:14 -04:00
Mike Reeves
9a692288e2 Merge pull request #8557 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update rulecat.conf
2022-08-19 13:14:32 -04:00
Mike Reeves
fea2b481e3 Update rulecat.conf 2022-08-19 13:12:49 -04:00
weslambert
c17f0081ef Merge pull request #8550 from Security-Onion-Solutions/fix/soup_elastalert_indices_check_delete_if_less_than_es_8
SOUP: Ensure Elastalert indices are not deleted for major Elasticsearch version 8 or greater
2022-08-18 09:45:00 -04:00
weslambert
fbf0803906 Update verbiage around major Elasticsearch version and not requiring Elastalert index maintenance 2022-08-18 09:16:22 -04:00
weslambert
5deda45b66 Update elastalert_indices_check() function to only delete Elastalert indices if major Elasticsearch version is less than 8
Update elastalert_indices_check() function to only delete Elastalert indices if major Elasticsearch version is less than 8. Also clean up the output to only emit one notification regarding index deletion, and additional verbiage around function operation.
2022-08-18 09:11:38 -04:00
Josh Patterson
3b8d8163b3 Merge pull request #8544 from Security-Onion-Solutions/issue/8369
remove pipeline time panel
2022-08-17 09:56:01 -04:00
m0duspwnens
2dfd41bd3c remove pipeline time panel - https://github.com/Security-Onion-Solutions/securityonion/issues/8369 2022-08-17 09:17:27 -04:00
Mike Reeves
49eead1d55 Merge pull request #8543 from Security-Onion-Solutions/kilo
Merge master into dev
2022-08-17 09:03:49 -04:00
Jason Ertel
54cb3c3a5a Merge branch 'master' into kilo 2022-08-17 08:58:32 -04:00
Mike Reeves
9f2b920454 Merge pull request #8535 from Security-Onion-Solutions/hotfix/2.3.140
Hotfix/2.3.140
2022-08-15 15:06:37 -04:00
Mike Reeves
604af45661 Merge pull request #8534 from Security-Onion-Solutions/2.3.140hotfix3
2.3.140 Hotfix
2022-08-15 13:09:14 -04:00
Mike Reeves
3f435c5c1a 2.3.140 Hotfix 2022-08-15 13:03:25 -04:00
Mike Reeves
7769af4541 Merge pull request #8531 from Security-Onion-Solutions/dougburks-patch-1 2022-08-12 15:05:04 -04:00
Mike Reeves
9903be8120 Merge pull request #8532 from Security-Onion-Solutions/2.3.140-20220815 2022-08-12 15:04:00 -04:00
Doug Burks
991a601a3d FIX: so-curator-closed-delete-delete needs to reference new Elasticsearch directory #8529 2022-08-12 13:21:06 -04:00
Doug Burks
86519d43dc Update HOTFIX 2022-08-12 13:20:15 -04:00
Doug Burks
179f669acf FIX: so-curator-closed-delete-delete needs to reference new Elasticsearch directory #8529 2022-08-12 13:10:47 -04:00
Doug Burks
a02f878dcc Merge pull request #8517 from Security-Onion-Solutions/fix/cases-tlp-2.0
Fix/cases tlp 2.0
2022-08-11 15:55:21 -04:00
Doug Burks
32c29b28eb revert to lower case #8469 2022-08-11 15:33:30 -04:00
Doug Burks
7bf2603414 revert to lower case #8469 2022-08-11 15:32:49 -04:00
Doug Burks
4003876465 FIX: Fix TLP options in Cases to align with TLP 2.0 #8469 2022-08-11 08:49:54 -04:00
Doug Burks
4c677961c4 FIX: Fix TLP options in Cases to align with TLP 2.0 #8469 2022-08-11 08:49:25 -04:00
weslambert
e950d865d8 Merge pull request #8485 from Security-Onion-Solutions/foxtrot
Improve local file modification check in SOUP
2022-08-08 10:06:13 -04:00
weslambert
fd7a118664 Invoke check_local_mods() function earlier so we don't have to wait for Docker image downloads or OS updates before checking and potentially exiting SOUP 2022-08-08 08:58:19 -04:00
weslambert
d7906945df Add extra set of brackets for comparison of integers 2022-08-08 08:24:38 -04:00
weslambert
cb384ae024 Ensure check_local_mods() runs at the beginning of SOUP, in addition to the end, and also that it prompts (forces) the user to accept/review local modifications. 2022-08-05 11:25:33 -04:00
weslambert
7caead2387 Merge pull request #8476 from Security-Onion-Solutions/dev
Merge dev into foxtrot
2022-08-05 11:11:51 -04:00
Josh Patterson
4827c9e0d4 Merge pull request #8475 from Security-Onion-Solutions/issue/8441
add SYSTEMD_UNIT_FILE back to map file
2022-08-05 10:55:44 -04:00
m0duspwnens
3b62fc63c9 add SYSTEMD_UNIT_FILE back to map file 2022-08-05 10:53:07 -04:00
Josh Patterson
ad32c2b1a5 Merge pull request #8472 from Security-Onion-Solutions/issue/8441
ensure ExecStartPre is removed from default salt-minion service file
2022-08-04 16:36:16 -04:00
m0duspwnens
f02f431dab ensure ExecStartPre is removed from default salt-minion service file 2022-08-04 16:34:06 -04:00
Josh Patterson
812964e4d8 Merge pull request #8460 from Security-Onion-Solutions/issue/8441
ensure parent dirs are created
2022-08-03 17:01:50 -04:00
m0duspwnens
99805cc326 ensure parent dirs are created 2022-08-03 16:54:22 -04:00
Josh Patterson
8d2b3f3dfe Merge pull request #8457 from Security-Onion-Solutions/issue/8441
fix the requisite
2022-08-03 15:17:44 -04:00
m0duspwnens
15f7fd8920 fix the requisite 2022-08-03 15:16:12 -04:00
Josh Patterson
50460bf91e Merge pull request #8456 from Security-Onion-Solutions/issue/8441
manage salt-minion start delay with systemd drop-in file
2022-08-03 13:44:09 -04:00
weslambert
ee654f767a Merge pull request #8453 from Security-Onion-Solutions/fix/elasticsearch_geoip_local
Configure Elasticsearch to use local GeoLite2 databases by default
2022-08-03 09:40:23 -04:00
weslambert
8c694a7ca3 Disable ingest.geoip.downloader by default 2022-08-03 09:21:40 -04:00
weslambert
9ac640fa67 Remove airgap-specific logic for ingest.geoip.downloader 2022-08-03 09:21:03 -04:00
m0duspwnens
db8d9fff2c manage salt-minion start delay with systemd drop-in file - https://github.com/Security-Onion-Solutions/securityonion/issues/8441 2022-08-02 16:22:26 -04:00
weslambert
811063268f Merge pull request #8447 from Security-Onion-Solutions/feature/kibana_version_8_3_3
Update Kibana version to 8.3.3
2022-08-02 15:27:22 -04:00
weslambert
f2b10a5a86 Update Kibana version to 8.3.3 2022-08-02 11:32:01 -04:00
weslambert
c69cac0e5f Update Kibana version to 8.3.3 2022-08-02 11:31:35 -04:00
weslambert
fed4433088 Merge pull request #8446 from Security-Onion-Solutions/fix/airgap_elasticsearch_geoip
Update Elasticsearch defaults file and config.map.jinja to allow for local GeoIP database use when airgap is enabled
2022-08-02 11:20:35 -04:00
Wes Lambert
839cfcaefa Update Elasticsearch defaults file and config.map.jinja to allow for local GeoIP database use when airgap is enabled 2022-08-02 14:32:17 +00:00
weslambert
3123407ef0 Update Elastic version to 8.3.3 2022-08-01 10:41:39 -04:00
weslambert
d24125c9e6 Update Elastic version to 8.3.3 2022-08-01 10:40:57 -04:00
weslambert
64dc278c95 Merge pull request #8432 from Security-Onion-Solutions/dev
Merge dev into foxtrot
2022-08-01 10:12:35 -04:00
Doug Burks
626a824cd6 Merge pull request #8409 from Security-Onion-Solutions/dougburks-patch-1
increment version
2022-07-29 16:31:32 -04:00
Doug Burks
10ba3b4b5a increment version 2022-07-29 16:30:12 -04:00
Doug Burks
1d059fc96e Merge pull request #8408 from Security-Onion-Solutions/fix/dashboards-pivot-pcap
FIX: Display PCAP menu action on Dashboards page #8343
2022-07-29 16:29:32 -04:00
Doug Burks
4c1585f8d8 FIX: Display PCAP menu action on Dashboards page #8343 2022-07-29 14:50:10 -04:00
Josh Patterson
e235957c00 Merge pull request #8405 from Security-Onion-Solutions/issue/8404
https://github.com/Security-Onion-Solutions/securityonion/issues/8404
2022-07-29 10:07:52 -04:00
m0duspwnens
2cc665bac6 https://github.com/Security-Onion-Solutions/securityonion/issues/8404 2022-07-29 09:55:20 -04:00
Jason Ertel
d6e118dcd3 Merge pull request #8403 from Security-Onion-Solutions/kilo
Increment version
2022-07-29 08:28:14 -04:00
Jason Ertel
1d2534b2a1 Increment version 2022-07-29 08:24:57 -04:00
Doug Burks
484aa7b207 Merge pull request #8336 from Security-Onion-Solutions/hotfix/2.3.140
Hotfix/2.3.140
2022-07-19 16:13:47 -04:00
Mike Reeves
6986448239 Merge pull request #8333 from Security-Onion-Solutions/2.3.140hotfix
2.3.140 Hotfix
2022-07-19 14:47:50 -04:00
Mike Reeves
f1d74dcd67 Merge pull request #8334 from Security-Onion-Solutions/2.3.140hotfix
2.3.140 Hotfix
2022-07-19 14:47:29 -04:00
Mike Reeves
dd48d66c1c 2.3.140 Hotfix 2022-07-19 14:39:44 -04:00
Mike Reeves
440f4e75c1 Merge pull request #8332 from Security-Onion-Solutions/dev
Merge Hotfix
2022-07-19 13:30:20 -04:00
weslambert
c795a70e9c Merge pull request #8329 from Security-Onion-Solutions/fix/elastalert_stop_check_enabled
Check to ensure Elastalert is enabled and suppress missing container error output
2022-07-19 13:27:35 -04:00
weslambert
340dbe8547 Check to see if Elastalert is enabled before trying to run 'so-elastalert-stop'. Also suppress error output for when so-elastalert container is not present. 2022-07-19 13:25:09 -04:00
Mike Reeves
52a5e743e9 Merge pull request #8327 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update HOTFIX
2022-07-19 11:17:13 -04:00
Wes Lambert
5ceff52796 Move Elastalert indices check to function and call from beginning of soup and during pre-upgrade to 2.3.140 2022-07-19 14:54:39 +00:00
Wes Lambert
f3a0ab0b2d Perform Elastalert index check twice 2022-07-19 14:48:19 +00:00
Wes Lambert
4a7c994b66 Revise Elastalert index check deletion logic 2022-07-19 14:31:45 +00:00
Mike Reeves
07b8785f3d Update soup 2022-07-19 10:23:10 -04:00
Mike Reeves
9a1092ab01 Update HOTFIX 2022-07-19 10:21:36 -04:00
Mike Reeves
fbcbfaf7c3 Merge pull request #8310 from Security-Onion-Solutions/dev
2.3.140
2022-07-18 11:23:54 -04:00
Mike Reeves
497110d6cd Merge pull request #8320 from Security-Onion-Solutions/2.3.140-2
2.3.140
2022-07-18 10:57:53 -04:00
Mike Reeves
3711eb52b8 2.3.140 2022-07-18 10:54:50 -04:00
weslambert
8099b1688b Merge pull request #8319 from Security-Onion-Solutions/fix/elasticsearch_query_missing_query_path
Fix missing query path for so-elasticsearch-query
2022-07-18 09:47:16 -04:00
weslambert
2914007393 Add forward slash to fix issue with missing query path 2022-07-18 09:07:34 -04:00
weslambert
f5e10430ed Add forward slash to fix issue with missing query path 2022-07-18 09:07:13 -04:00
Mike Reeves
b5a78d4577 Merge pull request #8309 from Security-Onion-Solutions/2.3.140
2.3.140
2022-07-15 13:36:31 -04:00
Mike Reeves
0a14dad849 Update VERIFY_ISO.md 2022-07-15 13:31:51 -04:00
Mike Reeves
3430df6a20 2.3.140 2022-07-15 13:26:25 -04:00
Mike Reeves
881915f871 Merge pull request #8306 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update defaults.yaml
2022-07-14 16:20:29 -04:00
Mike Reeves
cf8c6a6e94 Update defaults.yaml 2022-07-14 15:17:27 -04:00
weslambert
52ebbf8ff3 Merge pull request #8304 from Security-Onion-Solutions/fix/kibana_space_defaults_web_response_url
Change web_response to evaluate the response from the Spaces API and the default space query
2022-07-14 12:08:02 -04:00
weslambert
2443e8b97e Change web_response to evaluate the response from the Spaces API and the default space query 2022-07-14 12:04:56 -04:00
weslambert
4241eb4b29 Merge pull request #8298 from Security-Onion-Solutions/fix/kibana_space_defaults_shebang
Add shebang so that so-kibana-space-defaults will work correctly on Ubuntu
2022-07-13 16:50:21 -04:00
weslambert
0fd4f34b5b Add shebang so that so-kibana-space-defaults will work correctly on Ubuntu 2022-07-13 16:48:39 -04:00
Josh Patterson
37df49d4f3 Merge pull request #8296 from Security-Onion-Solutions/elastalert_esversion_check
use onlyif requisite instead
2022-07-13 15:22:40 -04:00
m0duspwnens
7d7cf42d9a use onlyif requisite instead 2022-07-13 15:21:34 -04:00
Doug Burks
de0a7d3bcd Merge pull request #8293 from Security-Onion-Solutions/dougburks-patch-1
change hyperlink for Elastic 8 issues
2022-07-13 12:41:50 -04:00
Doug Burks
c67a58a5b1 change hyperlink for Elastic 8 issues 2022-07-13 12:40:03 -04:00
Josh Patterson
e79ca4bb9b Merge pull request #8291 from Security-Onion-Solutions/elastalert_esversion_check
do not start elastalert if elasticsearch is not v8
2022-07-13 11:24:12 -04:00
m0duspwnens
086cf3996d do not start elastalert if elasticsearch is not v8 2022-07-13 11:21:27 -04:00
Doug Burks
7ae5d49a4a Merge pull request #8290 from Security-Onion-Solutions/dougburks-patch-1
increment version to 2.3.140
2022-07-13 09:33:37 -04:00
Doug Burks
34d3c6a882 increment version to 2.3.140 2022-07-13 09:32:28 -04:00
weslambert
4a5664db7b Merge pull request #8289 from Security-Onion-Solutions/fix/soup_unsupported_indices_check
Add missing 'fi' to if/then for unsupported indices check
2022-07-13 09:15:22 -04:00
weslambert
513c7ae56c Add missing 'fi' to if/then for unsupported indices check 2022-07-13 09:13:28 -04:00
weslambert
fa894cf83b Merge pull request #8288 from Security-Onion-Solutions/fix/soup_elastalert_indices_deletion_check
Ensure Elastalert indices are deleted before continuing with SOUP
2022-07-13 08:44:04 -04:00
weslambert
8e92060c29 Ensure Elastalert indices are deleted before continuing with SOUP -- if they are not, generate a failure condition 2022-07-13 08:38:55 -04:00
weslambert
d7eb8b9bcb Merge pull request #8281 from Security-Onion-Solutions/fix/soup_elasticsearch8_index_compatibility
SOUP - Check for indices created by Elasticsearch 6
2022-07-12 16:20:47 -04:00
weslambert
d0a0ca8458 Update exit code for ES checks 2022-07-12 16:15:44 -04:00
Josh Patterson
57b79421d8 Merge pull request #8280 from Security-Onion-Solutions/fix_filebeat
move port bindings back under port bindings
2022-07-12 16:12:49 -04:00
weslambert
4502182b53 Typo - Ensure Elasticsearch version 6 indices are checked 2022-07-12 15:35:46 -04:00
weslambert
0fc6f7b022 Add check for Elasticsearch 6 indices 2022-07-12 15:34:24 -04:00
m0duspwnens
ec451c19f8 move port bindings back under port bindings 2022-07-12 15:17:25 -04:00
weslambert
e9a22d0aff Merge pull request #8275 from Security-Onion-Solutions/fix/filebeat_es_output_additions
Specify outputs for Elasticsearch and Kibana for Eval and Import Mode
2022-07-11 19:03:07 -04:00
weslambert
11d3ed36b7 Specify outputs for Elasticsearch and Kibana for Eval and Import Mode
Add outputs for Elasticsearch and Kibana for Eval/Import Mode, since Logstash is not used in Eval Mode or Import Mode. Otherwise, logs from these inputs end up in a filebeat-prefixed index.
2022-07-11 17:22:09 -04:00
weslambert
d828bbfe47 Merge pull request #8273 from Security-Onion-Solutions/fix/kibana_space_defaults_cases
Add securitySolutionCases feature to ensure Cases are disabled by default
2022-07-11 16:39:30 -04:00
weslambert
bd32394560 Add securitySolutionCases feature to ensure Cases are disabled by default 2022-07-11 16:38:05 -04:00
weslambert
6f4f050a96 Merge pull request #8272 from Security-Onion-Solutions/fix/soup_kibana_space_defaults
Run so-kibana-space-defaults when upgrading to 2.3.140
2022-07-11 14:47:11 -04:00
weslambert
f77edaa5c9 Run so-kibana-space-defaults to re-establish the default enabled features since Fleet feature name changed 2022-07-11 14:41:23 -04:00
Jason Ertel
15124b6ad7 Merge pull request #8271 from Security-Onion-Solutions/kilo
Add content-type header to PUT request, now required in Kratos 0.10.1
2022-07-11 13:47:28 -04:00
Jason Ertel
077053afbd Add content-type header to PUT request, now required in Kratos 0.10.1 2022-07-11 13:43:41 -04:00
weslambert
dd1d5b1a83 Merge pull request #8270 from Security-Onion-Solutions/fix/curator_actions_delete_kratos
Add delete and warm action for Kratos indices in applicable Curator delete/warm scripts
2022-07-11 11:39:43 -04:00
weslambert
e82b6fcdec Typo - Change 'delete' to 'warm' 2022-07-11 11:34:53 -04:00
weslambert
8c8ac41b36 Add action for Kratos indices 2022-07-11 11:32:03 -04:00
weslambert
b611dda143 Add delete action for Kratos indices 2022-07-11 11:31:22 -04:00
weslambert
3f5b98d14d Merge pull request #8269 from Security-Onion-Solutions/fix/curator_actions_kratos
Add Curator actions and adjust Curator close scripts to account for so-kibana and so-kratos indices
2022-07-11 11:21:20 -04:00
Wes Lambert
0b6219d95f Adjust Curator close scripts to include Kibana and Kratos indices 2022-07-11 14:51:33 +00:00
Wes Lambert
2f729e24d9 Add Curator action files for Kratos indices 2022-07-11 14:34:10 +00:00
weslambert
992b6e14de Merge pull request #8268 from Security-Onion-Solutions/fix/kibana_disable_fleetv2
Disable fleetv2 because it is now used to control Fleet visibility and 'fleet' is now used for 'Integrations'
2022-07-11 10:09:12 -04:00
weslambert
09a1d8c549 Disable fleetv2 because it is now used to control Fleet visibility and 'fleet' is now used for 'Integrations' 2022-07-11 10:06:24 -04:00
Jason Ertel
f28c6d590a Merge pull request #8263 from Security-Onion-Solutions/kilo
Remove Jinja from yaml files before parsing
2022-07-08 20:32:22 -04:00
Jason Ertel
4f8bb6049b Future proof the jinja check to ensure the script does not silently overwrite jinja templates 2022-07-08 17:30:00 -04:00
Jason Ertel
a8e6b26406 Remove Jinja from yaml files before parsing 2022-07-08 17:07:24 -04:00
weslambert
2903bdbc7e Merge pull request #8260 from Security-Onion-Solutions/fix/kratos_dedicated_index_and_filestream_id_additions
Add dedicated index for Kratos and IDs for all filestream inputs
2022-07-08 12:04:40 -04:00
Wes Lambert
5c90fce3a1 Add Kratos Logstash output to search pipeline for Logstash 2022-07-08 15:58:00 +00:00
Wes Lambert
26698cfd07 Add Logstash output for dedicated Kratos index 2022-07-08 15:55:55 +00:00
Wes Lambert
764e8688b1 Modify Kratos input to use dedicated index and add filestream ID for all applicable inputs 2022-07-08 15:53:55 +00:00
Wes Lambert
b06c16f750 Add ingest node pipeline for Kratos 2022-07-08 15:53:00 +00:00
weslambert
42cfab4544 Merge pull request #8256 from Security-Onion-Solutions/fix/kibana_restart_after_role_sync
Restart Kibana in case it times out before being able to read role update
2022-07-07 17:44:47 -04:00
weslambert
4bbc901860 Restart Kibana in case it times out before being able to read in new role configuration 2022-07-07 17:19:02 -04:00
weslambert
a343f8ced0 Merge pull request #8255 from Security-Onion-Solutions/fix/so_kibana_user_role
Force so-user to sync roles to ensure so_kibana role change
2022-07-07 16:19:30 -04:00
weslambert
85be2f4f99 Force so-user to sync roles to ensure so_kibana role change from superuser to kibana_system 2022-07-07 15:55:44 -04:00
weslambert
8b3fa0c4c6 Merge pull request #8252 from Security-Onion-Solutions/feature/elastic_8_3_2
Update to Elastic 8.3.2
2022-07-07 11:14:14 -04:00
weslambert
ede845ce00 Update to Kibana 8.3.2 2022-07-07 11:05:44 -04:00
weslambert
42c96553c5 Update to Kibana 8.3.2 2022-07-07 11:04:43 -04:00
Mike Reeves
41d5cdd78c Merge pull request #8246 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update soup
2022-07-06 16:39:38 -04:00
Mike Reeves
c819d3a558 Update soup 2022-07-06 16:36:57 -04:00
Mike Reeves
c00d33632a Update soup 2022-07-06 16:23:02 -04:00
Mike Reeves
a1ee793607 Merge pull request #8242 from Security-Onion-Solutions/fixsoup
Move soup order
2022-07-06 09:18:16 -04:00
Mike Reeves
1589107b97 Move soup order 2022-07-06 08:59:21 -04:00
Mike Reeves
31688ee898 Merge pull request #8238 from Security-Onion-Solutions/TOoSmOotH-patch-1
Make soup enforce versions
2022-07-05 16:56:14 -04:00
Mike Reeves
f1d188a46d Update soup 2022-07-05 16:50:20 -04:00
Mike Reeves
5f0c3aa7ae Update soup 2022-07-05 16:49:20 -04:00
weslambert
2b73cd1156 Merge pull request #8236 from Security-Onion-Solutions/fix/localfile_analyzer
Strip quotes and ensure file_path is typed as a list (localfile analyzer)
2022-07-05 16:28:56 -04:00
Mike Reeves
c6fac28804 Update soup 2022-07-05 16:26:44 -04:00
Jason Ertel
9d43b7ec89 Rollback string manipulation in favor of fixed unit tests 2022-07-05 16:21:27 -04:00
Jason Ertel
f6266b19cc Fix unit test issues 2022-07-05 16:20:24 -04:00
Mike Reeves
df0a774ffd Make soup enforce versions 2022-07-05 16:17:32 -04:00
weslambert
77ee30f31a Merge pull request #8237 from Security-Onion-Solutions/feature/elastic_8_3_1
Bump Elastic to 8.3.1
2022-07-05 14:50:24 -04:00
weslambert
2938464501 Update to Kibana 8.3.1 2022-07-05 14:46:02 -04:00
weslambert
79e88c9ca3 Update to Kibana 8.3.1 2022-07-05 14:45:30 -04:00
Wes Lambert
e96206d065 Strip quotes and ensure file_path is typed as a list 2022-07-05 14:25:54 +00:00
Josh Brower
7fa9ca8fc6 Merge pull request #8233 from Security-Onion-Solutions/fix/remove-sudo-bpf
Remove unneeded sudo
2022-07-05 09:23:48 -04:00
Josh Brower
a1d1779126 Remove unneeded sudo 2022-07-05 09:21:05 -04:00
Josh Patterson
fb365739ae Merge pull request #8225 from Security-Onion-Solutions/salltupdate
bootstrap-salt can now update to minor version with -r
2022-07-01 08:53:59 -04:00
m0duspwnens
5f898ae569 change to egrep 2022-07-01 08:47:46 -04:00
m0duspwnens
f0ff0d51f7 allow bootstrap-salt to install specific verion even if -r is used 2022-06-30 16:59:54 -04:00
m0duspwnens
7524ea2c05 allow bootstrap-salt to install specific verion even if -r is used 2022-06-30 15:10:13 -04:00
Mike Reeves
6bb979e2b6 Merge pull request #8219 from Security-Onion-Solutions/salty
Salty
2022-06-30 13:34:03 -04:00
Mike Reeves
8b3d5e808e Fix repo location 2022-06-30 13:30:56 -04:00
Mike Reeves
e86b7bff84 Fix repo location 2022-06-30 13:29:21 -04:00
Josh Patterson
69ce3613ff Merge pull request #8217 from Security-Onion-Solutions/salltupdate
point to salt3004.2
2022-06-30 11:29:35 -04:00
m0duspwnens
0ebd957308 point to salt3004.2 2022-06-30 11:26:03 -04:00
Josh Patterson
c3979f5a32 Merge pull request #8207 from Security-Onion-Solutions/salltupdate
Saltupdate 3004.2
2022-06-28 11:20:53 -04:00
m0duspwnens
8fccd4598a update saltstack.list for 3004.2 2022-06-27 16:23:01 -04:00
weslambert
3552dfac03 Merge pull request #8199 from Security-Onion-Solutions/fix/filebeat_filestream_elastic8
Change type from 'log' to 'filestream' to ensure compatibility with E…
2022-06-27 14:58:54 -04:00
Josh Patterson
fba5592f62 Update minion.defaults.yaml 2022-06-27 12:10:18 -04:00
Josh Patterson
05e84699d1 Update master.defaults.yaml 2022-06-27 12:09:39 -04:00
Mike Reeves
f36c8da1fe Update so-functions 2022-06-27 12:04:33 -04:00
Mike Reeves
080daee1d8 Update so-functions 2022-06-27 11:43:01 -04:00
Mike Reeves
909e876509 Update ubuntu.sls 2022-06-27 11:41:49 -04:00
Jason Ertel
ac68fa822b Merge pull request #8200 from Security-Onion-Solutions/contrib
Add gh action for contrib check
2022-06-27 11:25:10 -04:00
Jason Ertel
675ace21f5 Add gh action for contrib check 2022-06-27 11:11:15 -04:00
weslambert
85f790b28a Change type from 'log' to 'filestream' to ensure compatibility with Elastic 8 2022-06-27 10:39:58 -04:00
weslambert
d0818e83c9 Merge pull request #8197 from Security-Onion-Solutions/fix/localfile_analyzer_csv_path
Ensure file_path uses jinja to derive the value(s) from the pillar
2022-06-27 10:36:59 -04:00
weslambert
568b43d0af Ensure file_path uses jinja to derive the value(s) from the pillar 2022-06-27 10:10:13 -04:00
Jason Ertel
2e123b7a4f Merge pull request #8175 from Security-Onion-Solutions/kilo
Avoid failing setup due to retrying while waiting for lock file
2022-06-23 08:16:39 -04:00
Jason Ertel
ba6f716e4a Avoid failing setup due to retrying while waiting for lock file 2022-06-23 06:09:04 -04:00
weslambert
10bcc43e85 Merge pull request #8167 from Security-Onion-Solutions/feature/update_es_8_2_3
Update to Elastic 8.2.3
2022-06-21 16:11:39 -04:00
weslambert
af687fb2b5 Update config_saved_objects.ndjson 2022-06-21 16:06:28 -04:00
weslambert
776cc30a8e Update to ES 8.2.3 2022-06-21 16:06:01 -04:00
Doug Burks
00cf0b38d0 Merge pull request #8165 from Security-Onion-Solutions/dougburks-patch-1
FIX: Improve default dashboards #8136
2022-06-21 12:57:46 -04:00
Doug Burks
94c637449d FIX: Improve default dashboards #8136 2022-06-21 12:53:06 -04:00
Josh Brower
0a203add3b Merge pull request #8145 from Security-Onion-Solutions/defensivedepth-patch-1
pin v1.6.0
2022-06-17 13:14:58 -04:00
Josh Brower
b8ee896f8a pin v1.6.0 2022-06-17 12:38:54 -04:00
Josh Brower
238e671f34 Merge pull request #8129 from Security-Onion-Solutions/fix/curator-cron
Change curator to daily for true cluster
2022-06-15 11:40:53 -04:00
Josh Brower
072cb3cca2 Change curator to daily for true cluster 2022-06-15 11:38:38 -04:00
weslambert
44595cb333 Merge pull request #8123 from Security-Onion-Solutions/foxtrot
Merge foxtrot into dev
2022-06-14 15:44:13 -04:00
weslambert
959cec1845 Delete Elastalert indices before upgrading to Elastic 8 2022-06-14 11:40:11 -04:00
Doug Burks
286909af4b Merge pull request #8113 from Security-Onion-Solutions/fix/pfsense-category
FIX: Add event.category field to pfsense firewall logs #8112
2022-06-13 08:08:00 -04:00
doug
025993407e FIX: Add event.category field to pfsense firewall logs #8112 2022-06-13 08:03:44 -04:00
weslambert
151a42734c Update Elastic version to 8.2.2 2022-06-08 15:07:45 -04:00
weslambert
11e3576e0d Update Elastic version to 8.2.2 2022-06-08 15:07:07 -04:00
weslambert
adeccd0e7f Merge pull request #8097 from Security-Onion-Solutions/dev
Merge latest dev into foxtrot
2022-06-08 15:01:09 -04:00
weslambert
aadf391e5a Temporarily downgrade version for merge 2022-06-08 14:59:01 -04:00
weslambert
47f74fa5c6 Temporarily downgrade version for merge 2022-06-08 14:58:05 -04:00
Jason Ertel
e405750d26 Merge pull request #8095 from Security-Onion-Solutions/kilo
Bump version to 2.3.140
2022-06-08 09:07:56 -04:00
Jason Ertel
e36c33485d Bump version to 2.3.140 2022-06-08 09:04:57 -04:00
Mike Reeves
65165e52f4 Merge pull request #8086 from Security-Onion-Solutions/dev
2.3.130
2022-06-07 15:51:12 -04:00
Mike Reeves
2cceae54df Merge pull request #8087 from Security-Onion-Solutions/2.3.130
2.3.130
2022-06-07 13:44:38 -04:00
Mike Reeves
8912e241aa 2.3.130 2022-06-07 13:41:51 -04:00
Mike Reeves
7357f157ec Merge pull request #8085 from Security-Onion-Solutions/2.3.130
2.3.130
2022-06-07 12:04:47 -04:00
Mike Reeves
37881bd4b6 2.3.130 2022-06-07 11:34:10 -04:00
Josh Brower
2574f0e23d Merge pull request #8081 from Security-Onion-Solutions/fix/fleetdm-websockets
Allow websockets for fleetdm
2022-06-06 19:15:02 -04:00
Josh Brower
c9d9804c3a Allow websockets for fleetdm 2022-06-06 17:26:24 -04:00
Doug Burks
73baa1d2f0 Merge pull request #8073 from Security-Onion-Solutions/dougburks-patch-1
Update motd.md to include links to Dashboards and Cases
2022-06-04 08:53:54 -04:00
Doug Burks
dce415297c improve readability in motd.md 2022-06-04 06:59:09 -04:00
Doug Burks
de126647f8 Update motd.md to include links to Dashboards and Cases 2022-06-04 06:55:08 -04:00
Doug Burks
c34f456151 Merge pull request #8069 from Security-Onion-Solutions/dougburks-patch-1
add bar and pie examples to overview dashboard in dashboards.queries.…
2022-06-03 15:04:16 -04:00
Doug Burks
83bff5ee87 add bar and pie examples to overview dashboard in dashboards.queries.json 2022-06-03 15:02:40 -04:00
Doug Burks
918f431728 Merge pull request #8065 from Security-Onion-Solutions/dougburks-patch-1
Add sankey diagram to default dashboard in dashboards.queries.json
2022-06-03 11:13:39 -04:00
Doug Burks
4a886338c8 fix description field for default dashboard in dashboards.queries.json 2022-06-03 11:10:01 -04:00
Doug Burks
7da1802eae Add sankey diagram to default dashboard in dashboards.queries.json 2022-06-03 11:03:48 -04:00
Mike Reeves
ff92b524c2 Merge pull request #8062 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update soup
2022-06-02 11:51:42 -04:00
Mike Reeves
395eaa39b4 Update soup 2022-06-02 11:45:37 -04:00
Mike Reeves
2867a32931 Merge pull request #8061 from Security-Onion-Solutions/soup130
soup for 130
2022-06-02 10:42:17 -04:00
Mike Reeves
fce43cf390 soup for 130 2022-06-02 10:33:18 -04:00
Josh Patterson
e5c9b91529 Merge pull request #8054 from Security-Onion-Solutions/dmz_receiver
Dmz receiver
2022-06-01 15:31:42 -04:00
m0duspwnens
e5b74bcb78 remove podman state 2022-06-01 15:26:25 -04:00
Doug Burks
91f8d3e5e9 Merge pull request #8050 from Security-Onion-Solutions/fix/elastalert-query
FIX: Elastalert query in Hunt #8049
2022-05-31 16:54:34 -04:00
Doug Burks
269b16bbfd https://github.com/Security-Onion-Solutions/securityonion/issues/8049 2022-05-31 16:51:05 -04:00
Doug Burks
cd382a1b25 FIX: Elastalert query in Hunt #8049 2022-05-31 16:50:32 -04:00
Doug Burks
e1c9b0d108 FIX: Elastalert query in Hunt #8049 2022-05-31 16:47:52 -04:00
Doug Burks
9a98667e85 FIX: Elastalert query in Hunt #8049 2022-05-31 16:47:11 -04:00
weslambert
494ce0756d Merge pull request #8045 from Security-Onion-Solutions/fix/mhr_naming
Fix naming for Malware Hash Registry analyzer
2022-05-31 07:52:48 -04:00
Wes Lambert
7f30a364ee Make sure everything is added back after renaming mhr to malwarehashregistry 2022-05-31 11:44:35 +00:00
Wes Lambert
c82aa89497 Fix Malware Hash Registry naming so it's more descriptive in SOC 2022-05-31 11:41:48 +00:00
Josh Brower
025677a1e6 Merge pull request #8034 from Security-Onion-Solutions/feature/sigmafp
Feature/SigmaCustomFilters
2022-05-31 07:25:44 -04:00
Josh Brower
a5361fb745 Change Target_log name 2022-05-28 18:07:05 -04:00
Mike Reeves
30d7801ae1 Merge pull request #8033 from Security-Onion-Solutions/kilo 2022-05-28 11:38:35 -04:00
Jason Ertel
210bc556db Add logscan and suricata variants for cloud tests to move from PM into the cloud and help alleviate disk contention 2022-05-28 10:29:04 -04:00
Jason Ertel
e87e672b9e Add logscan and suricata variants for cloud tests to move from PM into the cloud and help alleviate disk contention 2022-05-28 10:28:20 -04:00
Jason Ertel
a70da41f20 Merge pull request #8032 from Security-Onion-Solutions/kilo
Exclude pkg upgrade retry error logs from failing setup
2022-05-28 08:34:40 -04:00
Jason Ertel
8bb02763dc Exclude pkg upgrade retry error logs from failing setup 2022-05-28 08:28:10 -04:00
weslambert
a59ada695b Merge pull request #8031 from Security-Onion-Solutions/fix/screenshots
Fix/screenshots
2022-05-27 17:05:51 -04:00
doug
b93a108386 update Cases screenshot in README 2022-05-27 16:33:08 -04:00
doug
6089f3906d update screenshots and README 2022-05-27 16:32:00 -04:00
Josh Brower
94ee45ac63 Merge pull request #8029 from Security-Onion-Solutions/upgrade/navigator
Upgrade Navigator to 4.6.4
2022-05-27 14:46:59 -04:00
Josh Brower
43cb78a6a8 Upgrade Navigator 2022-05-27 14:21:11 -04:00
Josh Patterson
76bb1fbbcc Merge pull request #8014 from Security-Onion-Solutions/issue/7918
manage suricata classifications.config
2022-05-26 13:13:03 -04:00
m0duspwnens
53d6e1d30d simplfy 2022-05-26 11:51:17 -04:00
m0duspwnens
1bfde852f5 manage suricata classifications.config https://github.com/Security-Onion-Solutions/securityonion/issues/7918 2022-05-26 11:43:31 -04:00
m0duspwnens
53883e4ade manage suricata classifications.config https://github.com/Security-Onion-Solutions/securityonion/issues/7918 2022-05-26 11:40:33 -04:00
weslambert
1a0ac4d253 Merge pull request #8007 from Security-Onion-Solutions/fix/filestream-id
Add filestream input ID for RITA logs
2022-05-25 10:11:36 -04:00
weslambert
44622350ea Add ID for RITA filestream inputs 2022-05-25 10:09:01 -04:00
weslambert
99864f4787 Merge pull request #8001 from Security-Onion-Solutions/feature/analyzer_readme
Add configuration requirements for various analyzers
2022-05-25 09:33:07 -04:00
Doug Burks
6bd02c0b99 Merge pull request #8003 from Security-Onion-Solutions/feature/elastic-7.17.4
UPGRADE: Elastic 7.17.4 #8002
2022-05-24 13:24:13 -04:00
Doug Burks
1d0bb21908 UPGRADE: Elastic 7.17.4 #8002 2022-05-24 13:19:30 -04:00
Doug Burks
bde06e7ec5 UPGRADE: Elastic 7.17.4 #8002 2022-05-24 13:19:01 -04:00
Wes Lambert
b93512eb01 Adjust verbiage around pillar configuration 2022-05-24 12:36:32 +00:00
Wes Lambert
92dee14ee8 Add configuration requirements for various analyzers 2022-05-24 12:29:14 +00:00
weslambert
3e6dfcfaca Merge pull request #7996 from Security-Onion-Solutions/weslambert-patch-2
Create Virustotal README
2022-05-23 11:43:43 -04:00
weslambert
a6f1bf3aef Create Virustotal README 2022-05-23 11:39:44 -04:00
Jason Ertel
88f17f037e Merge pull request #7982 from Security-Onion-Solutions/kilo
Upgrade to Kratos 0.9.0-alpha.3
2022-05-19 13:28:58 -04:00
Jason Ertel
c20859f8c3 Upgrade to Kratos 0.9.0-alpha.3 2022-05-18 17:05:21 -04:00
Jason Ertel
c95bafd521 Merge pull request #7969 from Security-Onion-Solutions/fix/helpers-analyzers
Only import yaml module when config is loaded
2022-05-18 07:15:32 -04:00
Wes Lambert
429ccb2dcc Only import yaml module when config is loaded 2022-05-18 02:07:39 +00:00
weslambert
94ca3ddbda Merge pull request #7961 from Security-Onion-Solutions/weslambert-patch-1
Add information for MHR and WhoisLookup, and other minor updates
2022-05-17 13:33:24 -04:00
weslambert
d3206a048f Add information for MHR and WhoisLookup, and other minor updates 2022-05-17 12:49:16 -04:00
weslambert
ff855eb8f7 Merge pull request #7958 from Security-Onion-Solutions/feature/mhr_analyzer
Add Team Cymru Malware Hash Registry Analyzer
2022-05-17 12:42:01 -04:00
Wes Lambert
8af1f19ac3 Another no_results change 2022-05-17 16:12:43 +00:00
Wes Lambert
e4a7e3cba6 Change 'No results found.' to 'no_results' 2022-05-17 16:11:58 +00:00
weslambert
2688083ff1 Merge pull request #7959 from Security-Onion-Solutions/feature/whoislookup-analyzer
Add Whoislookup RDAP-based analyzer
2022-05-17 12:09:06 -04:00
Wes Lambert
766e9748c5 Add Whoislookup RDAP-based analyzer 2022-05-17 15:52:12 +00:00
weslambert
3761b491c0 Remove whitespace 2022-05-17 10:50:33 -04:00
Wes Lambert
e8fc3ccdf4 Add Team Cymru Malware Hash Registry Analyzer 2022-05-17 14:44:53 +00:00
Doug Burks
eb9597217c Merge pull request #7949 from Security-Onion-Solutions/fix/dashboards-hunt-queries
update dashboards.queries.json and hunt.queries.json
2022-05-16 08:47:06 -04:00
doug
5cbb50a781 update dashboards.queries.json and hunt.queries.json 2022-05-16 08:33:48 -04:00
Jason Ertel
685789de33 Merge pull request #7936 from Security-Onion-Solutions/kilo
Improved unit test coverage of new analyzers; Utilize localized summa…
2022-05-12 16:47:18 -04:00
Jason Ertel
b45b6b198b Improved unit test coverage of new analyzers; Utilize localized summaries; Require 100% code coverage on analyzers 2022-05-12 16:32:47 -04:00
weslambert
6c506bbab0 Merge pull request #7935 from Security-Onion-Solutions/fix/pulsedive
Fix Pulsedive analyzer logic
2022-05-12 15:20:15 -04:00
Wes Lambert
3dc266cfa9 Add test for when indicator is not found 2022-05-12 19:02:41 +00:00
Wes Lambert
a233c08830 Update logic to handle indicators that are not present in database. 2022-05-12 19:02:02 +00:00
Doug Burks
58b049257d Merge pull request #7932 from Security-Onion-Solutions/dougburks-patch-1
remove duplicate showSubtitle from hunt.queries.json
2022-05-12 09:24:18 -04:00
Doug Burks
6ed3f42449 remove duplicate showSubtitle from hunt.queries.json 2022-05-12 09:23:00 -04:00
m0duspwnens
d8abc0a195 if in dmz_nodes dont add to filebeta 2022-05-11 11:51:18 -04:00
m0duspwnens
a641346c02 prevent nodes with logstash:dmz:true from being added to logstash:nodes pillar 2022-05-10 17:28:19 -04:00
Jason Ertel
60b55acd6f Merge pull request #7926 from Security-Onion-Solutions/kilo
Add support for analyzers in airgapped environments
2022-05-10 17:12:18 -04:00
Jason Ertel
35e47c8c3e Add support for analyzers in airgapped environments 2022-05-10 16:51:00 -04:00
weslambert
7f797a11f8 Merge pull request #7924 from Security-Onion-Solutions/analyzer-docs
Update analyzer docs with information about analyzers that require au…
2022-05-10 09:40:50 -04:00
Jason Ertel
91a7f25d3a Corrected brand name capitalization 2022-05-10 09:39:19 -04:00
weslambert
34d57c386b Update analyzer docs with information about analyzers that require authentication 2022-05-10 09:32:18 -04:00
weslambert
000e813fbb Merge pull request #7921 from Security-Onion-Solutions/fix/analyzer-packages
Update analyzer packages to those downloaded by Alpine and add additional build script option
2022-05-09 16:43:31 -04:00
Wes Lambert
555ca2e277 Update analyzer build/testing script to download necessary Python packages 2022-05-09 20:06:39 +00:00
Wes Lambert
32adba6141 Update analyzer packages with those built from native (Alpine) Docker image 2022-05-09 20:04:41 +00:00
Jason Ertel
e19635e44a Merge pull request #7920 from Security-Onion-Solutions/kilo
Disable MRU queries on dashboards
2022-05-09 15:08:55 -04:00
Jason Ertel
31c04aabdd Disable MRU queries on dashboards 2022-05-09 15:06:43 -04:00
Jason Ertel
dc209a37cd Merge pull request #7916 from Security-Onion-Solutions/kilo
Disable actions on dashboards group-by tables
2022-05-09 11:52:22 -04:00
Jason Ertel
3f35dc54d2 Disable actions on dashboards group-by tables 2022-05-09 11:44:39 -04:00
Josh Brower
8e368bdebe Merge in upstream dev 2022-05-06 20:01:07 -04:00
Jason Ertel
0e64a9e5c3 Merge pull request #7912 from Security-Onion-Solutions/kilo
Add dashboard ref to soc.json
2022-05-06 15:18:05 -04:00
Jason Ertel
0786191fc9 Add dashboard ref to soc.json 2022-05-06 15:16:27 -04:00
Jason Ertel
60763c38db Merge pull request #7911 from Security-Onion-Solutions/kilo
Analyzers + Dashboards
2022-05-06 13:50:54 -04:00
weslambert
9800f59ed7 Add Urlscan to observable support matrix 2022-05-06 13:11:43 -04:00
Wes Lambert
ccac71f649 Fix formatting/whitespace 2022-05-06 17:08:40 +00:00
Wes Lambert
1990ba0cf0 Fix formatting/whitespace 2022-05-06 17:08:33 +00:00
Wes Lambert
8ff5778569 Add Urlscan analyzer and tests 2022-05-06 17:01:06 +00:00
Jason Ertel
bee4cf4c52 Fix typo in analyzer desc 2022-05-06 09:20:03 -04:00
Jason Ertel
105c95909c Dashboard queries 2022-05-04 19:32:06 -04:00
Jason Ertel
890bcd58f9 Merge branch 'dev' into kilo 2022-05-04 19:25:08 -04:00
weslambert
a96c665d04 Change test name for EmailRep 2022-05-03 14:13:25 -04:00
weslambert
f3a91d9fcd Add EmailRep analyzer to observable support matrix 2022-05-03 10:10:57 -04:00
Wes Lambert
5a9acb3857 Add EmailRep analyzer and tests 2022-05-03 14:06:32 +00:00
Wes Lambert
8b5666b238 Ensure API key is used 2022-05-03 12:48:06 +00:00
weslambert
efb229cfcb Update to match configuration in analyzer dir 2022-05-02 16:35:21 -04:00
weslambert
2fcb2b081d Update allowed complexity to 12 2022-05-02 16:14:43 -04:00
weslambert
25f17a5efd Update allowed complexity to 11 2022-04-29 09:42:57 -04:00
weslambert
66b4fe9f58 Add additional information around URI and User Agent 2022-04-28 17:14:36 -04:00
Wes Lambert
c001708707 Add Pulsedive analyzer and tests 2022-04-28 20:56:03 +00:00
weslambert
4edd729596 Add initial supported observable matrix/table 2022-04-27 08:58:34 -04:00
Wes Lambert
76f183b112 Add Greynoise analyzer and tests 2022-04-26 17:25:35 +00:00
Wes Lambert
bd63753d80 Update analyzer name/description 2022-04-25 19:27:10 +00:00
Wes Lambert
15fcaa7030 Add localfile analyzer and tests 2022-04-25 19:23:35 +00:00
Jason Ertel
71a86b0a3c Merge pull request #7856 from Security-Onion-Solutions/bumpver
Bump version
2022-04-25 13:01:19 -04:00
Jason Ertel
e2145720bd Bump version 2022-04-25 12:10:29 -04:00
Mike Reeves
b4aa59c619 Merge pull request #7853 from Security-Onion-Solutions/dev
2.3.120
2022-04-25 11:33:05 -04:00
Mike Reeves
6975153cf4 Merge pull request #7852 from Security-Onion-Solutions/2.3.120
2.3.120
2022-04-25 08:59:52 -04:00
Mike Reeves
0935f51667 2.3.120 2022-04-25 08:57:35 -04:00
Mike Reeves
f92d65737b 2.3.120 2022-04-25 08:53:04 -04:00
Josh Patterson
8f5967911b Merge pull request #7847 from Security-Onion-Solutions/m0duspwnens-patch-1
add eval
2022-04-22 16:06:01 -04:00
Josh Patterson
80eb31368a add eval 2022-04-22 16:04:29 -04:00
Jason Ertel
d8fdf2b701 Merge branch 'dev' into kilo 2022-04-22 15:11:24 -04:00
Jason Ertel
459d388614 Only override nameservers if the first nameserver given is non empty 2022-04-22 15:08:56 -04:00
Wes Lambert
fbf6e64e67 Add initial OTX analyzer and tests 2022-04-22 17:13:40 +00:00
weslambert
677db7c563 Merge pull request #7841 from Security-Onion-Solutions/weslambert-patch-2
Update shard count for Zeek in setup
2022-04-21 17:27:57 -04:00
weslambert
1bb216954c Merge pull request #7840 from Security-Onion-Solutions/weslambert-patch-1
Update shards for Zeek
2022-04-21 17:26:57 -04:00
weslambert
c81988ab00 Update shard count for Zeek in setup 2022-04-21 17:26:30 -04:00
weslambert
542db5b7f5 Update defaults.yaml 2022-04-21 17:24:24 -04:00
Wes Lambert
b2db32a2c7 Add function/test for non-existent VT api_key 2022-04-21 17:33:24 +00:00
Wes Lambert
9287d6adf7 Reduce size of test output for test 2022-04-21 16:56:22 +00:00
Wes Lambert
c8e189f35a Add source-packages for JA3er 2022-04-21 16:46:45 +00:00
Wes Lambert
5afcc8de4f Add JA3er analyzer and associated test 2022-04-21 16:42:46 +00:00
weslambert
d7eed52fae Change -f to -r 2022-04-21 09:46:44 -04:00
Doug Burks
2910b56ea1 Merge pull request #7835 from Security-Onion-Solutions/elastic-7.17.3
UPGRADE: Elastic 7.17.3 #7807
2022-04-21 09:02:51 -04:00
Doug Burks
e608285341 UPGRADE: Elastic 7.17.3 #7807 2022-04-21 08:57:08 -04:00
Doug Burks
04856540dc UPGRADE: Elastic 7.17.3 #7807 2022-04-21 08:54:09 -04:00
Doug Burks
feb7eeeb8e UPGRADE: Elastic 7.17.3 #7807 2022-04-21 08:47:40 -04:00
Doug Burks
44f4b1da7f Merge pull request #7832 from Security-Onion-Solutions/fix/prevent-multiple-instances
FIX: Prevent multiple instances of so-sensor-clean and so-playbook-sync #6622
2022-04-20 17:00:09 -04:00
Doug Burks
1edb443c5d so-playbook-sync pgrep should be more strict to avoid multiple matches on Ubuntu 2022-04-20 16:48:26 -04:00
Doug Burks
8fc03afdc0 so-sensor-clean pgrep should be more strict to avoid matching multiples on Ubuntu 2022-04-20 16:47:18 -04:00
Mike Reeves
fe09b5b0d1 Merge pull request #7831 from Security-Onion-Solutions/awlocal
Remove setup from auto starting if you choose to not enter the grid
2022-04-20 14:42:58 -04:00
Mike Reeves
c3952e94c8 Remove setup from auto starting if you choose to not enter the grid 2022-04-20 14:36:38 -04:00
Doug Burks
3aac644da5 Merge pull request #7830 from Security-Onion-Solutions/dougburks-patch-1
FIX: Improve Zeek file extraction #7829
2022-04-20 14:13:13 -04:00
Doug Burks
15ef0968d9 FIX: Improve Zeek file extraction #7829 2022-04-20 14:01:46 -04:00
Jason Ertel
aeb70dad8f Doc updates 2022-04-19 14:31:21 -04:00
Jason Ertel
4129cef9fb Add new spamhaus analyzer 2022-04-19 12:12:52 -04:00
Josh Patterson
40d9335573 Merge pull request #7822 from Security-Onion-Solutions/workstation_state
add securityonion-strelka-oneshot and securityonion-strelka-fileshot to workstation
2022-04-19 09:21:35 -04:00
m0duspwnens
807f6adf1e add securityonion-strelka-oneshot and securityonion-strelka-fileshot to workstation 2022-04-19 09:19:09 -04:00
Doug Burks
6339ee3bf3 Merge pull request #7818 from Security-Onion-Solutions/dougburks-patch-1
Slight change to IDH verbiage in so-whiptail
2022-04-18 16:35:22 -04:00
Doug Burks
5d62ece03b Slight change to IDH verbiage in so-whiptail 2022-04-18 16:33:54 -04:00
Doug Burks
6905ca276a Merge pull request #7816 from Security-Onion-Solutions/dougburks-patch-1
remove old comments from so-whiptail
2022-04-18 11:30:43 -04:00
Doug Burks
3682754399 remove old comments from so-whiptail 2022-04-18 11:29:46 -04:00
Jason Ertel
0cb73d8f6a Merge branch 'dev' into kilo 2022-04-18 11:04:32 -04:00
Mike Reeves
186258687e Merge pull request #7815 from Security-Onion-Solutions/awlocal
Fix Analyst Install Loop
2022-04-18 11:04:10 -04:00
Mike Reeves
012ff3e1bc Fix Analyst Install Loop 2022-04-18 11:02:19 -04:00
Josh Brower
891a197a6a Merge pull request #7814 from Security-Onion-Solutions/defensivedepth-patch-2
Fix ES/LS Log Pruning
2022-04-18 10:45:27 -04:00
Josh Brower
b35b505f0a Fix pattern matching 2022-04-18 10:39:04 -04:00
Josh Brower
2b39570b08 Fix matching logic 2022-04-18 10:37:38 -04:00
Jason Ertel
159122b52c Merge branch 'dev' into kilo 2022-04-18 10:11:37 -04:00
Doug Burks
3fb7399000 Merge pull request #7813 from Security-Onion-Solutions/dougburks-patch-1
Remove distributed verbiage from other node option in so-whiptail
2022-04-18 08:24:52 -04:00
Doug Burks
400879c079 Remove distributed verbiage from other node option in so-whiptail 2022-04-18 07:53:57 -04:00
Doug Burks
62f3f13bbc Merge pull request #7803 from Security-Onion-Solutions/dougburks-patch-1
move thehive removal from up_to_2.3.120 to post_to_2.3.120
2022-04-15 15:48:12 -04:00
Doug Burks
0eda9a3bd7 move thehive removal from up_to_2.3.120 to post_to_2.3.120 2022-04-15 15:45:01 -04:00
Doug Burks
ee00678362 Merge pull request #7802 from Security-Onion-Solutions/dougburks-patch-1
Replace old saltstack repo in so-preflight
2022-04-15 13:17:14 -04:00
Doug Burks
ce192c2526 Update so-preflight 2022-04-15 13:11:15 -04:00
Josh Brower
d60d31f723 Merge pull request #7801 from Security-Onion-Solutions/defensivedepth-patch-1
Remove thehive entries from so-status
2022-04-15 12:25:21 -04:00
Josh Brower
bd19da1878 Remove thehive entries from so-status 2022-04-15 12:21:56 -04:00
Doug Burks
f461d01961 Merge pull request #7800 from Security-Onion-Solutions/dougburks-patch-1
Improve grammar in so-whiptail
2022-04-15 10:52:29 -04:00
Doug Burks
a69d361d1b Improve grammar in so-whiptail 2022-04-15 10:45:34 -04:00
Josh Brower
19cba9dca9 Merge pull request #7798 from Security-Onion-Solutions/awlocal
Make analyst iso install init management interface
2022-04-15 07:26:53 -04:00
Mike Reeves
5081a81a6c Make analyst iso install init management interface 2022-04-14 20:00:58 -04:00
Josh Patterson
ba61057433 Merge pull request #7796 from Security-Onion-Solutions/fix_analyst_setup
Fix analyst setup
2022-04-14 16:12:53 -04:00
m0duspwnens
b8a80f76cf change words 2022-04-14 16:09:39 -04:00
Josh Patterson
be2573bb7d Merge pull request #7794 from Security-Onion-Solutions/soup_salt_influx
remove influxdb module patched state files when salt is upgraded
2022-04-14 16:08:10 -04:00
m0duspwnens
36aef87a3c remove cd before running so-setup analyst 2022-04-14 16:03:43 -04:00
m0duspwnens
02c19da3c4 remove influxdb module patched state files when salt is upgraded 2022-04-14 15:00:14 -04:00
Josh Patterson
2d094a3bfc Merge pull request #7784 from Security-Onion-Solutions/workstation_script
modify so-analyst-install to work with new states and install on managers
2022-04-13 14:37:24 -04:00
m0duspwnens
371fda09db fix copy paste fail 2022-04-13 14:28:05 -04:00
m0duspwnens
149375115e warn about required reboot and prompt if reboot desired at completion of install 2022-04-13 14:26:14 -04:00
m0duspwnens
4728bea633 fix typo 2022-04-13 14:03:09 -04:00
m0duspwnens
3ee09db752 added warning about installing and ensure can only install workstation on centos 2022-04-13 13:39:48 -04:00
m0duspwnens
6477e6c5a2 added warning about installing and ensure can only install workstation on centos 2022-04-13 13:39:39 -04:00
m0duspwnens
2389d3fac9 modify so-analyst-install to work with new states and install on managers 2022-04-13 12:32:05 -04:00
Mike Reeves
ecc29b586d Merge pull request #7772 from Security-Onion-Solutions/awlocal 2022-04-12 15:45:56 -04:00
Mike Reeves
2977604d96 Merge branch 'awlocal' of https://github.com/Security-Onion-Solutions/securityonion into awlocal 2022-04-12 15:39:45 -04:00
Mike Reeves
5253cb5d25 Remove keys at the end of an install 2022-04-12 15:33:17 -04:00
Josh Brower
1cb5a791ca Add idh req_storage elif 2022-04-12 14:29:07 -04:00
Mike Reeves
8408628b03 Stop thehive on soup 2022-04-12 13:54:08 -04:00
Mike Reeves
02f4cd9926 Replace salt code on a saltstack update 2022-04-12 12:15:22 -04:00
Mike Reeves
c1824e9f17 Replace salt code on a saltstack update 2022-04-12 11:55:45 -04:00
Mike Reeves
081d7e3a09 Replace salt code on a saltstack update 2022-04-12 11:20:26 -04:00
Mike Reeves
a7221ba2b4 Remove summary for thins the workstation doesnt care about 2022-04-12 11:06:12 -04:00
Mike Reeves
aa90a016d7 Change disk requirements for IDH 2022-04-12 10:44:45 -04:00
Josh Patterson
dbddff7be7 Merge pull request #7766 from Security-Onion-Solutions/issue/7763
Issue/7763
2022-04-11 16:44:04 -04:00
Josh Brower
f1574de827 Merge pull request #7765 from Security-Onion-Solutions/fix/compress-clean-elastic-logs
Compress + Clean ES & Logstash App Logs
2022-04-11 16:43:03 -04:00
Josh Brower
886d69fb38 Compress + Clean ES & Logstash App Logs 2022-04-11 16:09:24 -04:00
m0duspwnens
d68b6e7c9a only start if exit code != 0 2022-04-11 16:03:00 -04:00
m0duspwnens
d102ca298d move messages about starting services on soup failure before exit message 2022-04-11 16:01:36 -04:00
m0duspwnens
9914148441 more verbose 2022-04-11 15:51:11 -04:00
m0duspwnens
464772d7d3 start salt-master and salt-minion service is soup fails and exits 2022-04-11 15:43:09 -04:00
Mike Reeves
13f6957ae8 Merge pull request #7764 from Security-Onion-Solutions/awlocal 2022-04-11 15:40:06 -04:00
m0duspwnens
2a18059ad9 use quotes 2022-04-11 15:37:07 -04:00
m0duspwnens
01510c184a set_os and set_cron_service_name sooner 2022-04-11 15:36:02 -04:00
Mike Reeves
eb2d759bf8 Add more whiptail menus 2022-04-11 15:14:29 -04:00
Mike Reeves
5ed7361e3a Add more whiptail menus 2022-04-11 15:14:06 -04:00
m0duspwnens
6ed8694008 dont need to pass -t 2022-04-11 15:11:57 -04:00
m0duspwnens
79dc2374e0 check that salt-master is running before requiring manager 2022-04-11 15:09:00 -04:00
m0duspwnens
a2180a6721 ensure salt-master service is running before proceeding with soup 2022-04-11 15:01:41 -04:00
Mike Reeves
f9633e7287 Add more whiptail menus 2022-04-11 14:51:17 -04:00
Mike Reeves
0b2745b342 Sending things to the screen 2022-04-11 11:49:24 -04:00
Mike Reeves
ea34b69795 Sending things to the screen 2022-04-11 11:46:42 -04:00
Mike Reeves
97e691c321 Sending things to the screen 2022-04-11 11:43:13 -04:00
Mike Reeves
a3bf904e2d Import GPG 2022-04-11 11:32:08 -04:00
Mike Reeves
9ed49ef318 Import GPG 2022-04-11 11:29:56 -04:00
Mike Reeves
f7760394a1 Import GPG 2022-04-11 11:25:54 -04:00
Mike Reeves
d9416f3828 Salt local install of Analyst Workstation 2022-04-11 11:04:25 -04:00
Jason Ertel
2d025e944c Add yaml since helpers module uses it 2022-04-09 17:48:21 -04:00
Jason Ertel
202ca34c6f Remove obsolete source/site pkg dirs 2022-04-09 14:36:21 -04:00
Jason Ertel
f9568626f2 Merge branch 'dev' into kilo 2022-04-09 09:02:55 -04:00
Jason Ertel
224e30c0ee Change localized table layout 2022-04-08 17:31:15 -04:00
Jason Ertel
ebcfbaa06d Analyzer improvements 2022-04-08 16:57:40 -04:00
Josh Patterson
365866c9cc Merge pull request #7750 from Security-Onion-Solutions/issue_7730
ensure bash is used for influx query
2022-04-08 15:26:24 -04:00
m0duspwnens
59d5be682a ensure bash is used for influx query 2022-04-08 15:01:38 -04:00
Mike Reeves
7805311ea2 Merge pull request #7748 from Security-Onion-Solutions/bravo
Bravo
2022-04-08 14:48:54 -04:00
Josh Patterson
8757ca0dfb Merge pull request #7749 from Security-Onion-Solutions/issue/7113
ensure we can grab management ip and display whiptail if we cant
2022-04-08 12:10:54 -04:00
m0duspwnens
3e8c687d61 ensure we can grab management ip and display whiptail if we cant 2022-04-08 12:05:38 -04:00
Jason Ertel
13c9af5a5a Clearing hotfix 2022-04-08 10:23:44 -04:00
Mike Reeves
a5313b330f Merge master into dev 2022-04-08 09:07:46 -04:00
Mike Reeves
0bc3d5d757 Merge pull request #7741 from Security-Onion-Solutions/hotfix/2.3.110
Hotfix/2.3.110 20220407
2022-04-07 16:30:50 -04:00
Mike Reeves
6d88a5b541 Merge pull request #7740 from Security-Onion-Solutions/hfix0407
2.3.110 hotfix 0407
2022-04-07 16:11:58 -04:00
Mike Reeves
6a28e752f0 2.3.110 hotfix 0407 2022-04-07 16:03:13 -04:00
Josh Brower
ae8d300567 Merge pull request #7738 from Security-Onion-Solutions/feature/idh-allow-multiple-int
Include firewall state
2022-04-07 14:52:31 -04:00
Mike Reeves
2ad3f63cb5 Merge pull request #7739 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update HOTFIX
2022-04-07 14:46:20 -04:00
Mike Reeves
93e04850c4 Update HOTFIX 2022-04-07 14:40:54 -04:00
Josh Brower
36b2d78dfe Include firewall state 2022-04-07 14:02:21 -04:00
Jason Ertel
44e318e046 Provide CLI feedback for missing input 2022-04-07 10:16:44 -04:00
Josh Patterson
09e7b5a8bf Merge pull request #7733 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
remove saltstack repo created by bootstrap-salt for ubuntu
2022-04-07 09:05:51 -04:00
m0duspwnens
8fbd16f75d ensure salt.list is absent 2022-04-07 09:03:51 -04:00
m0duspwnens
722b200e16 add retry to apt_update incase running in background 2022-04-07 08:58:07 -04:00
m0duspwnens
b2a98af18b proper formatting 2022-04-07 08:55:30 -04:00
m0duspwnens
be3769fd7c run apt-get update if saltstack.list changes 2022-04-07 08:53:44 -04:00
m0duspwnens
08ac696f14 remove saltstack repo created by bootstrap-salt for ubuntu 2022-04-06 17:38:06 -04:00
Josh Brower
86771e1fe6 Merge pull request #7732 from Security-Onion-Solutions/feature/idh-allow-multiple-int
Feature/idh allow multiple int
2022-04-06 17:21:30 -04:00
Josh Brower
f5e539a05c Initial support for restricting IDH services on MGT IP 2022-04-06 17:16:38 -04:00
Josh Patterson
0c1ac729e1 Merge pull request #7731 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
update the centos repo for airgap prior to applying hotfix
2022-04-06 17:00:09 -04:00
m0duspwnens
833106775f update the centos repo for airgap prior to applying hotfix or standard soup run 2022-04-06 16:53:55 -04:00
Mike Reeves
fbd417b09e Merge pull request #7720 from Security-Onion-Solutions/hotfix/2.3.110
Hotfix/2.3.110
2022-04-05 20:29:17 -04:00
Mike Reeves
4224d1f258 Merge pull request #7719 from Security-Onion-Solutions/hfix0405
2.3.110 hotfix 0405
2022-04-05 19:17:42 -04:00
Mike Reeves
79175b57fa 2.3.110 hotfix 0405 2022-04-05 19:15:20 -04:00
Josh Patterson
5717382340 Merge pull request #7717 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
use -r for bootstrap-salt for ubuntu
2022-04-05 17:37:22 -04:00
m0duspwnens
cf68aeb36e use -r for bootstrap-salt for ubuntu 2022-04-05 17:35:03 -04:00
Josh Patterson
882eb83fee Merge pull request #7716 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
point to so repo
2022-04-05 17:30:10 -04:00
m0duspwnens
89c7f5b356 point to so repo 2022-04-05 17:28:47 -04:00
Mike Reeves
bed9a20025 Merge pull request #7714 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
proper salt format
2022-04-05 15:45:36 -04:00
m0duspwnens
89518b5939 proper salt format 2022-04-05 15:44:06 -04:00
Mike Reeves
07b14d7fa7 Merge pull request #7713 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
update update_repo function
2022-04-05 15:42:45 -04:00
m0duspwnens
1248ba8924 update update_repo function 2022-04-05 15:40:39 -04:00
Josh Patterson
cbbe3b9248 Merge pull request #7712 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
add deb to saltstack.list
2022-04-05 14:45:46 -04:00
m0duspwnens
b467cde9ad add deb to saltstack.list 2022-04-05 14:42:36 -04:00
Josh Patterson
6d6f328cad Merge pull request #7711 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
manage repo conf for ubuntu
2022-04-05 13:50:32 -04:00
m0duspwnens
020871ef61 update hotfix version 2022-04-05 13:49:28 -04:00
m0duspwnens
e08b13629a manage repo conf for ubuntu 2022-04-05 13:41:26 -04:00
Jason Ertel
d8defdd7b0 Improve unit test stability 2022-04-05 07:36:25 -04:00
Jason Ertel
d2fa80e48a Update status codes to match SOC 2022-04-05 07:20:23 -04:00
Doug Burks
1e187f0c44 Merge pull request #7703 from Security-Onion-Solutions/hotfix/2.3.110
Hotfix/2.3.110
2022-04-04 23:37:28 -04:00
Josh Brower
7906c053b1 Initial support for restricting IDH services on MGT IP 2022-04-04 16:46:05 -04:00
Mike Reeves
f5073243f9 Merge pull request #7702 from Security-Onion-Solutions/hfix0401
2.3.110 hotfix 0401
2022-04-04 16:13:08 -04:00
Mike Reeves
0c7a07f5c0 Merge pull request #7667 from Security-Onion-Solutions/analystsetup
Analyst Setup
2022-04-04 16:09:13 -04:00
Mike Reeves
04370a04ce 2.3.110 hotfix 0401 2022-04-04 16:06:20 -04:00
Jason Ertel
04eef0d31f Merge branch 'dev' into kilo 2022-04-04 15:59:09 -04:00
Jason Ertel
7df6833568 Add unit tests for Urlhaus; remove placeholder whois analyzer 2022-04-04 15:58:53 -04:00
Josh Patterson
809bc1858c Merge pull request #7700 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
salt 3004.1 hotfix
2022-04-04 13:32:34 -04:00
m0duspwnens
f9563b2dc4 patch influxdb modules 2022-04-04 12:57:36 -04:00
m0duspwnens
b7aff4f4df remove influxdb state files 2022-04-04 12:28:23 -04:00
m0duspwnens
1e955e0d38 enable highstate before highstate run for hotfix 2022-04-04 11:28:03 -04:00
m0duspwnens
127420b472 hotfix function for 2.3.10 hotfix 1 2022-04-04 10:39:44 -04:00
Wes Lambert
07cf3469a0 Remove pyyaml for requirements file 2022-04-04 11:40:02 +00:00
Wes Lambert
39101cafd1 Add UrlHaus analyzer and helpers script 2022-04-01 21:11:57 +00:00
Mike Reeves
5387caf6f4 fix formatting 2022-04-01 16:50:55 -04:00
Mike Reeves
07783713e6 fix formatting 2022-04-01 16:22:40 -04:00
Mike Reeves
5974279ed7 fix formatting 2022-04-01 16:17:22 -04:00
Mike Reeves
277c7d9d33 fix formatting 2022-04-01 16:05:37 -04:00
Mike Reeves
d20a07bb5f fix formatting 2022-04-01 16:00:44 -04:00
Josh Patterson
7f4c2687cf Merge pull request #7691 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
remove influx patch state files
2022-04-01 15:58:03 -04:00
m0duspwnens
48e40513ff remove influx patch state files 2022-04-01 15:53:48 -04:00
Mike Reeves
a449a91f38 fix formatting 2022-04-01 15:52:38 -04:00
Mike Reeves
76f43380d9 fix so salt master gets installed 2022-04-01 14:29:24 -04:00
Mike Reeves
7c39559787 fix so salt master gets installed 2022-04-01 14:19:17 -04:00
Jason Ertel
cedb23f4bc Merge pull request #7689 from Security-Onion-Solutions/esup
Upgrade to ES 7.17.2
2022-04-01 13:57:04 -04:00
Jason Ertel
6e7b2ccedc Upgrade to ES 7.17.2 2022-04-01 13:50:57 -04:00
Mike Reeves
8e9386fcd4 fix the yum commands 2022-04-01 13:17:13 -04:00
Mike Reeves
97fc652a97 fix the yum commands 2022-04-01 11:54:55 -04:00
Mike Reeves
2782c9b464 Update salt versions 2022-04-01 11:26:58 -04:00
Josh Patterson
c429423dae Merge pull request #7683 from Security-Onion-Solutions/m0duspwnens-salt-3004.1
Update to salt 3004.1
2022-04-01 11:19:31 -04:00
m0duspwnens
45dd7d4758 salt 3004.1 in setup 2022-04-01 11:17:38 -04:00
Josh Patterson
b5ce8756e9 Merge pull request #7686 from Security-Onion-Solutions/workstation_state
dont run workstation.trusted-ca if not connected to grid
2022-04-01 11:06:53 -04:00
m0duspwnens
e14463c0ab dont run workstation.trusted-ca if not connected to grid 2022-04-01 11:05:34 -04:00
Mike Reeves
d524f3833b Let the patch pillar do its work 2022-04-01 10:09:55 -04:00
Josh Patterson
f71fcdaed7 salt 3004.1 2022-04-01 09:55:55 -04:00
Josh Patterson
d95391505f Update minion.defaults.yaml 2022-04-01 09:55:03 -04:00
Mike Reeves
0b80dad2c0 Merge pull request #7682 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update HOTFIX
2022-04-01 09:53:57 -04:00
Mike Reeves
02a96c409e Update HOTFIX 2022-04-01 09:52:57 -04:00
Mike Reeves
cb2044cee9 Fix the analyst pillar 2022-04-01 09:29:29 -04:00
Mike Reeves
64e480714a Fix the analyst pillar 2022-04-01 09:10:38 -04:00
Jason Ertel
2dc370c8b6 Add source packages to salt state 2022-03-31 18:56:38 -04:00
Jason Ertel
57dc848792 Support analyzer deps 2022-03-31 16:48:13 -04:00
Jason Ertel
9947ba6e43 Support CentOS paths 2022-03-31 16:47:56 -04:00
Jason Ertel
48fbc2290f Add dep support for analyzers 2022-03-31 13:59:35 -04:00
Mike Reeves
edc6a461ec Fix analyst pillar 2022-03-31 13:57:37 -04:00
Mike Reeves
63eb15aa6d Run anayst Pillar 2022-03-31 13:35:30 -04:00
Mike Reeves
5264526ff1 Fix salt master declaration 2022-03-31 12:05:59 -04:00
Mike Reeves
c9eb188a79 Only run specific states during install for AW 2022-03-31 12:01:55 -04:00
Mike Reeves
ad833965a0 Fix extra space 2022-03-31 11:12:10 -04:00
Mike Reeves
179aa5e29c Add firewall rules for Analyst workstation 2022-03-31 10:49:38 -04:00
Josh Patterson
86b311c468 Merge pull request #7675 from Security-Onion-Solutions/issue/7203
different systemd unit files for ubuntu and centos
2022-03-31 10:18:10 -04:00
m0duspwnens
fc60f64ddb different systemd unit files for ubuntu and centos 2022-03-31 10:11:43 -04:00
Jason Ertel
1aba4da2bb Correct analyzer path 2022-03-30 21:01:07 -04:00
Mike Reeves
a049e458c6 Add workstation to the salt config 2022-03-30 14:03:52 -04:00
Jason Ertel
45f511caab Remove extra comma 2022-03-30 13:21:35 -04:00
Mike Reeves
f43a6757e0 Add analyst install network stack 2022-03-30 11:16:00 -04:00
Mike Reeves
c3d3806f65 Add analyst install network stack 2022-03-30 11:14:35 -04:00
Mike Reeves
dceb46888f Add analyst install network stack 2022-03-30 11:06:59 -04:00
Jason Ertel
e667bb1e59 merge 2022-03-30 10:57:40 -04:00
Mike Reeves
816d0b1075 Don't prompt for install type since we know its analyst 2022-03-29 17:35:13 -04:00
Mike Reeves
c4a4e9737b Set standalone to load Xwindows 2022-03-29 17:31:53 -04:00
Josh Patterson
1cb48fc6a8 Merge pull request #7668 from Security-Onion-Solutions/issue/7203
run salt_minion_service state last to prevent salt-minion from restarting during state run
2022-03-29 17:30:32 -04:00
Mike Reeves
45161b2a39 Set standalone to load Xwindows 2022-03-29 17:28:32 -04:00
Mike Reeves
67582be575 Set standalone to load Xwindows 2022-03-29 17:23:38 -04:00
Mike Reeves
86e32f3e6c Set standalone to load Xwindows 2022-03-29 17:13:47 -04:00
Mike Reeves
053ec81285 Set standalone to load Xwindows 2022-03-29 17:12:25 -04:00
Mike Reeves
853235ca9b Set standalone to load Xwindows 2022-03-29 17:11:19 -04:00
Mike Reeves
afb918d79c Set standalone to load Xwindows 2022-03-29 17:08:03 -04:00
m0duspwnens
7a4d93f09b run salt_minion_service state last to prevent salt-minion from restarting during state run 2022-03-29 15:44:05 -04:00
Jason Ertel
b2a96fab7e merge 2022-03-29 14:07:20 -04:00
Jason Ertel
d2bf6d5618 Add build script to help pre-validate analyzers before pushing 2022-03-29 14:04:23 -04:00
Jason Ertel
484ef4bc31 Ensure generated python files are not pushed to version control 2022-03-29 13:51:12 -04:00
Jason Ertel
cb491630ae Analyzer CI 2022-03-29 13:40:56 -04:00
Jason Ertel
0a8d24a225 Add automated CI for analyzers 2022-03-29 13:10:04 -04:00
Mike Reeves
3ace55dfe5 Add initial analyst install code 2022-03-29 12:49:30 -04:00
Mike Reeves
102d2507cb Add initial analyst install code 2022-03-29 12:48:52 -04:00
Mike Reeves
0d23688aa0 Add initial analyst install code 2022-03-29 12:46:45 -04:00
Mike Reeves
80af497f95 Add initial analyst install code 2022-03-29 12:43:20 -04:00
Mike Reeves
990470a765 Add initial analyst install option to so-setup 2022-03-29 10:41:45 -04:00
Josh Patterson
f5095b273d Merge pull request #7665 from Security-Onion-Solutions/workstation_state
Workstation state
2022-03-29 10:27:07 -04:00
m0duspwnens
e3f3af52e1 fix spacing 2022-03-29 10:19:29 -04:00
m0duspwnens
2f489895ef top match and remove_gui state 2022-03-29 10:17:21 -04:00
weslambert
7f7eaf173b Merge pull request #7663 from Security-Onion-Solutions/fix/strelka_fw
Add strelka_frontend to heavynode, sensor, and standalone role FW por…
2022-03-28 16:14:25 -04:00
weslambert
6004dde54a Add strelka_frontend to heavynode, sensor, and standalone role FW portgroups 2022-03-28 16:05:07 -04:00
Jason Ertel
c23b87965f Merge branch 'dev' into kilo 2022-03-28 15:53:33 -04:00
Jason Ertel
deb9b0e5ef Add analyze feature 2022-03-28 15:53:24 -04:00
m0duspwnens
0ddfaf8d74 changes for workstation 2022-03-28 15:34:15 -04:00
weslambert
fb7160cba5 Merge pull request #7644 from Security-Onion-Solutions/fix/syslog_pr_adjustment
Update with changes from Abe's PR and other fixes
2022-03-25 13:59:20 -04:00
weslambert
e6599cd10e Update with changes from Abe's PR and other fixes 2022-03-25 13:57:44 -04:00
weslambert
c02d7fab50 Merge pull request #7636 from Security-Onion-Solutions/feature/rita
Parsing of RITA Logs
2022-03-24 13:05:22 -04:00
weslambert
fbc86f43ec Add exclude filter for logs for when there are no results from analysis 2022-03-24 13:03:03 -04:00
weslambert
4c93217aac Merge pull request #7635 from Security-Onion-Solutions/fix/process_mappings_keyword
Additional .keyword shims for process mappings
2022-03-24 12:53:16 -04:00
Wes Lambert
fe1b72655b Additional .keyword shims for process mappings 2022-03-24 16:45:06 +00:00
m0duspwnens
293de159db fix package names 2022-03-24 11:33:16 -04:00
m0duspwnens
7cfc52da8a fix include 2022-03-24 10:02:25 -04:00
m0duspwnens
a0841ee7a7 workstation state 2022-03-24 09:57:58 -04:00
weslambert
5160a55dcf Merge pull request #7629 from Security-Onion-Solutions/fix/roles_load_check_cluster_health
Check ES cluster health before trying to load roles
2022-03-23 11:07:24 -04:00
weslambert
1f2bca599f Check cluster health before trying to load roles for ES 2022-03-23 11:00:26 -04:00
Wes Lambert
8a56c88773 Adjust log file paths 2022-03-22 17:51:17 +00:00
Wes Lambert
57f01c70ec Remove extra forward slash in log path 2022-03-22 17:45:23 +00:00
Wes Lambert
2487d468ab Add RITA Elasticsearch ingest pipeline config 2022-03-22 17:38:22 +00:00
Wes Lambert
f613d8ad86 Add RITA Logstash config 2022-03-22 17:36:18 +00:00
weslambert
bb9d6673ec Fix casing 2022-03-21 12:38:50 -04:00
weslambert
9afa949623 Don't rotate Filebeat log on startup 2022-03-21 12:38:12 -04:00
weslambert
b2c26807a3 Add xpack.reporting.kibanaServer.hostname to defaults file 2022-03-21 09:30:25 -04:00
Wes Lambert
faeaa948c8 Remove extra Salt logic and clean up output format of resultant script 2022-03-19 04:31:48 +00:00
Wes Lambert
1a6ef0cc6b Re-enable FB module load 2022-03-19 03:55:40 +00:00
Wes Lambert
a18b38de4d Update so-filebeat-module-setup to use new load style to avoid having to explicitly enabled filesets 2022-03-19 03:54:41 +00:00
Wes Lambert
2e7d314650 Remove Cyberark module 2022-03-19 03:43:55 +00:00
Wes Lambert
c97847f0e2 Remove Threat Intel Recored Future fileset 2022-03-19 03:43:34 +00:00
Wes Lambert
59a2ac38f5 Disable FB module load for now 2022-03-18 22:12:09 +00:00
Wes Lambert
543bf9a7a7 Update Kibana version to 8 2022-03-18 22:07:21 +00:00
Wes Lambert
d111c08fb3 Update Curator commands with new Filebeat module variables 2022-03-18 21:45:33 +00:00
Doug Burks
a3f8a10eb9 Merge pull request #7608 from Security-Onion-Solutions/fix/telegraf-non-root
FIX: Run telegraf as non-root #7468
2022-03-18 15:17:28 -04:00
weslambert
a9ea99daa8 Switch from so_elastic user to so_kibana user for Elastic 8 2022-03-18 15:09:50 -04:00
weslambert
cb0d4acd57 Remove X-Pack ML entry for Elastic 8 2022-03-18 14:46:28 -04:00
Doug Burks
eda7a8d7ea FIX: Update telegraf influxdbsize.sh to collect influxdb size from influxdb_size.log #7468 2022-03-18 13:15:43 -04:00
Doug Burks
f7dc5588ae FIX: Update common init.sls to create cron job to write influxdb size for telegraf #7468 2022-03-18 13:13:46 -04:00
Doug Burks
c13994994b FIX: Update telegraf init.sls to run telegraf as non-root #7468 2022-03-18 13:11:56 -04:00
weslambert
e0374be4aa Update version from 7.16.2 to 8.1.0 for Kibana config 2022-03-18 11:57:33 -04:00
weslambert
6f294cc0c2 Change Kibana user role from superuser to kibana_system for Elastic 8 2022-03-18 11:54:08 -04:00
weslambert
5ec5b9a2ee Remove older module config files 2022-03-18 10:14:13 -04:00
weslambert
c659a443b0 Update from search.remote to cluster.remote for Elastic 8 2022-03-17 21:25:10 -04:00
weslambert
99430fddeb Update from search.remote to cluster.remote for Elastic 8 2022-03-17 21:24:39 -04:00
weslambert
7128b04636 Remove indices.query.bool.max_clause_count because it is dynamically allocated in Elastic 8 2022-03-17 21:20:41 -04:00
weslambert
712a92aa39 Switch from log input to filestream input 2022-03-17 21:18:03 -04:00
Wes Lambert
6e2aaa0098 Clean up original map file 2022-03-17 21:08:57 +00:00
Wes Lambert
09892a815b Add back bind mounts and remove THIRDPARTY 2022-03-17 21:06:07 +00:00
Wes Lambert
a60ef33930 Reorganize FB module management 2022-03-17 21:01:03 +00:00
Josh Patterson
949365c636 Merge pull request #7602 from Security-Onion-Solutions/issue/7601
prevent so-setup iso from running on ubuntu
2022-03-17 11:37:53 -04:00
m0duspwnens
a896348743 prevent so-setup iso from running on ubuntu - https://github.com/Security-Onion-Solutions/securityonion/issues/7601 2022-03-17 11:31:16 -04:00
Josh Brower
5b9c82a434 Merge pull request #7494 from Security-Onion-Solutions/fix/fleetdm-custom-hostname
Force regen of ssl cert
2022-03-16 15:17:05 -04:00
Doug Burks
50477071b8 Merge pull request #7588 from Security-Onion-Solutions/fix/prevent-multiple-instances
FIX: Prevent multiple instances of so-sensor-clean and so-playbook-sync #6622
2022-03-16 13:54:00 -04:00
Doug Burks
e65f2a5513 FIX: Prevent multiple instances of so-sensor-clean #6622 2022-03-16 13:28:39 -04:00
Doug Burks
e56f90d83c FIX: Prevent multiple instances of so-playbook-sync #6622 2022-03-16 13:27:37 -04:00
weslambert
aaded58131 Merge pull request #7565 from Security-Onion-Solutions/fix/es_template_fix
Custom ES template fixes
2022-03-15 11:09:46 -04:00
Doug Burks
9bf0265cea Merge pull request #7566 from Security-Onion-Solutions/feature/hunt-soc-auth
FEATURE: Add new Hunt query for SOC logins #7327
2022-03-15 10:58:40 -04:00
Mike Reeves
e01c1398d5 Merge pull request #7564 from Security-Onion-Solutions/removethehive
Removethehive
2022-03-15 10:56:08 -04:00
Wes Lambert
42d6c3a956 Replace Elastic connection check using ELASTICCURL with so-elasticsearch-query 2022-03-15 14:55:04 +00:00
Doug Burks
eec44a6b02 Add a SOC Auth query to hunt.queries.json 2022-03-15 10:38:46 -04:00
Doug Burks
d1e1887e36 Add support for Kratos audit logs in hunt.eventfields.json 2022-03-15 10:37:58 -04:00
Wes Lambert
5f56c7a261 Replace ELASTICCURL with so-elasticsearch-query 2022-03-15 14:32:00 +00:00
weslambert
d46620ea2a Merge pull request #7561 from Security-Onion-Solutions/es_template_map_fix
Custom ES Template Fixes
2022-03-15 10:01:42 -04:00
Jason Ertel
408f9d6695 Update .gitleaks.toml 2022-03-15 09:53:27 -04:00
Jason Ertel
b810f14428 Update .gitleaks.toml 2022-03-15 09:53:11 -04:00
Jason Ertel
cec9cba40e Create .gitleaks.toml 2022-03-15 09:47:57 -04:00
Jason Ertel
8ebeeb497f add configuration to override leak detector defaults 2022-03-15 09:43:09 -04:00
Mike Reeves
9c80ff4f65 Remove hive from more files 2022-03-15 09:37:58 -04:00
Mike Reeves
81f0aa58b8 Remove hive from more files 2022-03-15 08:28:03 -04:00
Doug Burks
63cef4daff Merge pull request #7557 from Security-Onion-Solutions/dougburks-patch-1
FIX: surilogcompress cron job not running
2022-03-15 07:41:05 -04:00
Doug Burks
db4f138a78 FIX: surilogcompress cron job not running
The suricata user was originally created with `/opt/so/conf/suricata` as its home directory. I think at some point we changed permissions on `/opt/so/conf` and at that point the `surilogcompress` cron job stopped working. Changing the home directory to `/nsm/suricata` works on all of my PROD systems (including Ubuntu and CentOS).

For more information, please see:
https://github.com/Security-Onion-Solutions/securityonion/issues/7133
2022-03-15 07:10:02 -04:00
Mike Reeves
b5b60af16f Remove hive from so-user 2022-03-14 15:06:07 -04:00
Mike Reeves
b83fec6fd2 More hive remova 2022-03-14 14:51:39 -04:00
Mike Reeves
ff30f572d7 Remove thehive from image common 2022-03-14 10:40:41 -04:00
Mike Reeves
95195c07fc Disable hive in automation files 2022-03-14 10:36:23 -04:00
Jason Ertel
16f673d956 Merge pull request #7541 from Security-Onion-Solutions/kilo
Add assignee field to case list
2022-03-14 08:49:46 -04:00
Jason Ertel
5a28725def Add assignee to case list 2022-03-14 08:45:28 -04:00
Wes Lambert
ba24f75893 Fix index typo 2022-03-11 18:11:16 +00:00
Wes Lambert
70ed20f691 Add new sls file for custom ES index templates 2022-03-11 18:07:23 +00:00
Wes Lambert
d12ff503c2 Chage role loading verbiage 2022-03-11 16:23:19 +00:00
Wes Lambert
dc258cf043 Load custom component templates in so-elasticsearch-templates-load 2022-03-11 16:22:55 +00:00
Wes Lambert
8e43a6e571 Don't generate index template if index_template definition is not present in pillar 2022-03-11 16:22:06 +00:00
m0duspwnens
e1e8a20e11 make sure values exist in data structure 2022-03-10 17:09:00 -05:00
Josh Brower
f0e44827a5 rm extra line 2022-03-10 08:48:46 -05:00
Josh Brower
814e16ba95 Force regen of ssl cert 2022-03-10 08:47:26 -05:00
Mike Reeves
7ca06df66f Merge pull request #7484 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2022-03-09 14:50:52 -05:00
Mike Reeves
6f15acd2f9 Update VERSION 2022-03-09 14:50:14 -05:00
Mike Reeves
3725130128 Merge pull request #7481 from Security-Onion-Solutions/dev
2.3.110
2022-03-09 14:44:40 -05:00
Mike Reeves
2c66fa1883 Merge pull request #7482 from Security-Onion-Solutions/kilo
Merge master with .100 hotfix #3 into dev
2022-03-09 12:24:04 -05:00
Jason Ertel
61a3155dfa merge from master 2022-03-09 12:22:24 -05:00
Mike Reeves
99f25deb80 Merge pull request #7480 from Security-Onion-Solutions/2.3.110rel
2.3.110
2022-03-09 12:16:31 -05:00
Mike Reeves
0cb628f565 2.3.110 2022-03-09 12:12:32 -05:00
weslambert
262e68cb75 Merge pull request #7469 from Security-Onion-Solutions/fix/kibana_config_load_template
Add .template extension to ensure we are loading the template and not the resultant file
2022-03-08 21:12:29 -05:00
weslambert
c83b63d0d8 Add .template extension to load template file 2022-03-08 20:53:16 -05:00
weslambert
8d9ddf5f1b Add .template extension to load template 2022-03-08 20:52:13 -05:00
weslambert
8115da358f Add .template extension to load template file 2022-03-08 20:51:50 -05:00
Doug Burks
06efef7b81 Merge pull request #7467 from Security-Onion-Solutions/dougburks-patch-1
Revert security_opt addition in telegraf init.sls
2022-03-08 18:51:52 -05:00
Doug Burks
b76c01ef53 Revert security_opt addition in telegraf init.sls 2022-03-08 18:27:15 -05:00
weslambert
5f3c29b7f8 Merge pull request #7466 from Security-Onion-Solutions/fix/process_name_keyword
Add process.name.keyword
2022-03-08 12:47:31 -05:00
weslambert
65f998d6f7 Remove process.name.keyword for future-proofing 2022-03-08 12:44:51 -05:00
weslambert
406267a892 Add process.name.keyword 2022-03-08 12:42:34 -05:00
weslambert
d9c3160fbf Merge pull request #7465 from Security-Onion-Solutions/fix/kibana_saved_objects_load
Kibana dashboard/saved objects loading improvements
2022-03-08 12:22:55 -05:00
Wes Lambert
d392cb258c Switch Kibana state to kibana.so_savedobjects_defaults in top file 2022-03-08 16:59:48 +00:00
Wes Lambert
86e228b200 Add .template extension for future-proofing config files 2022-03-08 16:58:37 +00:00
Wes Lambert
a6fd1023b4 Fix criteria for successful execution 2022-03-08 16:57:26 +00:00
Wes Lambert
3f31f7fd41 Add .template extension to fix script behavior and not modify watched file 2022-03-08 16:43:43 +00:00
Jason Ertel
f64da9632f Merge pull request #7461 from Security-Onion-Solutions/kilo
Gracefully handle situations where another process is using the Kratos DB while so-user executes
2022-03-08 11:02:14 -05:00
Jason Ertel
0cec5879bb Gracefully handle situations when another process is using the Kratos DB 2022-03-08 10:55:26 -05:00
Jason Ertel
d8ca4976be Merge branch 'dev' into kilo 2022-03-08 10:41:40 -05:00
Jason Ertel
914d81ca07 Revert "Gracefully handle situations when another process is using the Kratos DB"
This reverts commit f2865d8b7f.
2022-03-08 10:40:20 -05:00
Jason Ertel
f2865d8b7f Gracefully handle situations when another process is using the Kratos DB 2022-03-08 10:38:05 -05:00
Wes Lambert
28554164cd Remove drop file when securitySolution saved objects change 2022-03-08 14:39:23 +00:00
Wes Lambert
14dddd8649 Remove drop file when config saved objects change 2022-03-08 14:37:15 +00:00
Wes Lambert
c0f49f6fb0 Remove drop file when dashbaord saved objects change 2022-03-08 14:35:04 +00:00
Wes Lambert
d10d4acf9f Modify Kibana config load script to drop file if successfully executed 2022-03-08 14:33:15 +00:00
Doug Burks
da8e885ede Merge pull request #7451 from Security-Onion-Solutions/fix/docker-apparmor
Update init.sls to avoid telegraf apparmor issues
2022-03-07 17:06:42 -05:00
Doug Burks
104de2a3c9 Update init.sls to avoid telegraf apparmor issues
See #2560
2022-03-07 16:11:22 -05:00
Mike Reeves
fb59421f5b Merge pull request #7446 from Security-Onion-Solutions/fixpipelineload
Only load pipelines on change
2022-03-07 15:17:32 -05:00
weslambert
e2bda255cc Merge pull request #7447 from Security-Onion-Solutions/fix/es_templates_soup
Remove old Elasticsearch index templates during SOUP
2022-03-07 15:10:44 -05:00
Mike Reeves
4eb37fd5a9 Update init.sls 2022-03-07 15:09:36 -05:00
Wes Lambert
fa9be58b23 Specify index templates 2022-03-07 20:04:23 +00:00
Wes Lambert
647b316a96 Remove old ES index templates
Signed-off-by: Wes Lambert <wlambertts@gmail.com>
2022-03-07 20:02:45 +00:00
Mike Reeves
d33db6fb23 Only load pipelines on change 2022-03-07 14:25:46 -05:00
weslambert
eac120f4c2 Merge pull request #7444 from Security-Onion-Solutions/fix/dtc_client_override
Add DTC client mappings
2022-03-07 13:38:19 -05:00
Wes Lambert
c549b20221 Add DTC client mappings 2022-03-07 18:36:26 +00:00
Mike Reeves
e6132be4e6 Merge pull request #7443 from Security-Onion-Solutions/fixtemplates
Only load templates on change
2022-03-07 10:42:51 -05:00
Mike Reeves
c67604590d Only load templates on change 2022-03-07 09:52:18 -05:00
weslambert
5600b55f05 Merge pull request #7427 from Security-Onion-Solutions/fix/syslog_kibana_viz
Replace syslog facility and severity with label fields in Kibana syslog dashboard
2022-03-07 08:14:35 -05:00
Doug Burks
a59779905f Merge pull request #7437 from Security-Onion-Solutions/dougburks-patch-1
fix typo
2022-03-07 08:05:07 -05:00
Doug Burks
848a5c6350 fix typo 2022-03-07 08:03:41 -05:00
Wes Lambert
33ba45472f Replace syslog facility and severity with label fields 2022-03-04 21:40:41 +00:00
weslambert
ee4035f022 Merge pull request #7426 from Security-Onion-Solutions/fix/syslog_zeek
Change to label fields for syslog facility and severity
2022-03-04 16:31:45 -05:00
weslambert
f71ccadb8a Change to label fields for Zeek syslog 2022-03-04 16:29:55 -05:00
weslambert
fc3273fa49 Change to label fields to comply with what's defined in Filebeat template 2022-03-04 16:29:01 -05:00
weslambert
3148fa0e06 Merge pull request #7422 from Security-Onion-Solutions/fix/syslog_dot_keyword
.keyword additions and increase max_clause_count
2022-03-04 15:32:29 -05:00
weslambert
254cf53c2f Increase clause count to 3500 2022-03-04 10:36:37 -05:00
Wes Lambert
ffae22beef Add DTC syslog mappings for .keyword and add refs to defaults.yml 2022-03-04 13:04:11 +00:00
weslambert
93c2f82345 Merge pull request #7413 from Security-Onion-Solutions/fix/add_keyword_subfield
Add .keyword subfield for more mappings
2022-03-03 10:42:38 -05:00
Wes Lambert
1f71816ad7 Add keyword subfield for DTC winlog mappings 2022-03-03 14:54:30 +00:00
Wes Lambert
1c086e36da Add missing comma for file mappings 2022-03-03 13:49:54 +00:00
Wes Lambert
aa8d24b6cd Add DTC destination, source, and winlog mapping references to templates in defaults file 2022-03-03 13:42:20 +00:00
Wes Lambert
85979cbce8 Add file, process, and winlog mapping changes 2022-03-03 13:37:27 +00:00
Wes Lambert
8f97f09c9c Additional .keyword changes for host.hostname client.address, and event.action 2022-03-02 21:54:46 +00:00
Wes Lambert
3ee46e4c29 Add .keyword for destination/source geo.country_name 2022-03-02 21:50:03 +00:00
weslambert
a21060306c Merge pull request #7404 from Security-Onion-Solutions/fix/field_limit_adjustment
Adjust field limit for now due to component template errors
2022-03-02 11:41:35 -05:00
Wes Lambert
c5b16fdf3b Adjust field limit for now 2022-03-02 16:33:39 +00:00
weslambert
b80e82aaf6 Merge pull request #7396 from Security-Onion-Solutions/fix/dot_security
Revert back to usage of .security field
2022-03-02 10:42:29 -05:00
Josh Brower
2ba72791aa Remove sigma regen cron 2022-03-02 10:31:15 -05:00
Mike Reeves
d570b56c55 Merge pull request #7392 from Security-Onion-Solutions/hotfix/2.3.100
Hotfix 2.3.100 20220301
2022-03-02 10:24:50 -05:00
Mike Reeves
ff4345d3aa Merge pull request #7393 from Security-Onion-Solutions/jertelhf
Jertelhf
2022-03-02 10:20:29 -05:00
Jason Ertel
e59f0d69d9 Merge branch 'master' into jertelhf 2022-03-02 10:18:14 -05:00
Mike Reeves
ad2b69c9de Merge pull request #7391 from Security-Onion-Solutions/hf0301
Hotfix 2.3.100 20220301
2022-03-02 10:08:27 -05:00
Mike Reeves
e874c32c08 Hotfix 2.3.100-20220301 2022-03-02 10:05:41 -05:00
Wes Lambert
ab9b81ea39 Change match_only_text to text for mac in host mappings 2022-03-02 15:01:05 +00:00
Wes Lambert
ed620b93b7 Add custom analyzer definition to all SO/DTC mappings 2022-03-02 14:43:19 +00:00
Wes Lambert
27c8eaa630 Update all other mappings for .security where applicable 2022-03-02 14:39:23 +00:00
Wes Lambert
e925d435ff Update event, file, and host mappings to include .security 2022-03-02 14:33:52 +00:00
Wes Lambert
496b161253 Update ECS mappings to include .security 2022-03-02 14:27:36 +00:00
Wes Lambert
aae2fd1fbb Update DNS mappings to include .security 2022-03-02 14:27:15 +00:00
Wes Lambert
0b45cf7ae1 Update base mappings to include .security 2022-03-02 14:25:57 +00:00
Wes Lambert
d89af5f04f Update agent mappings to include .security 2022-03-02 14:25:14 +00:00
Wes Lambert
2d2ec45029 Modify base ECS mappings to include .security where possible, as well as custom analyzer definition 2022-03-02 14:19:36 +00:00
weslambert
93386f4620 Merge pull request #7389 from Security-Onion-Solutions/fix/revert_text
Fix/revert text
2022-03-02 09:17:46 -05:00
Mike Reeves
c0649a863b Merge pull request #7376 from Security-Onion-Solutions/hfnew
Curator Fixes
2022-03-01 14:38:31 -05:00
Mike Reeves
e93dbb5347 Update Hotfix 2022-03-01 14:37:03 -05:00
doug
bbced5b52f FIX: curator should exclude so-case* indices #7270 2022-03-01 14:34:52 -05:00
Doug Burks
f134c74585 FIX: curator should exclude so-case* indices #7270 2022-03-01 14:34:41 -05:00
Wes Lambert
5489b8559d Revert "Switch from .security to match_only_text"
This reverts commit f7862af934.
2022-03-01 18:44:00 +00:00
Wes Lambert
2a9caccc7c Revert "Add additional .text subfield mappings"
This reverts commit 61dadc6249.
2022-03-01 18:43:24 +00:00
Doug Burks
adf3dc0cf6 Merge pull request #7370 from Security-Onion-Solutions/fix/syslog
Revert syslog pipeline updates from Abe's PR for now
2022-03-01 11:13:13 -05:00
Wes Lambert
a290602a70 Revert syslog pipeline updates from Abe' PR for now 2022-03-01 15:31:07 +00:00
weslambert
4201ee45c6 Merge pull request #7369 from Security-Onion-Solutions/fix/ingest_timestamp
Rename ingest timestamp to event.ingested
2022-03-01 10:11:16 -05:00
Wes Lambert
038dc49098 Temporarily increase field limit before trimming efforts 2022-03-01 15:06:28 +00:00
Wes Lambert
dc07adca63 Rename ingest.timestamp to event.ingested 2022-03-01 15:05:08 +00:00
Josh Brower
39718561ce Merge pull request #7366 from Security-Onion-Solutions/delta
Enable state tracking for sigma refresh
2022-03-01 05:53:14 -05:00
Josh Brower
e960d99901 Enable state tracking for sigma refresh 2022-02-28 21:18:41 -05:00
Josh Brower
09f1a5025d Merge remote-tracking branch 'remotes/origin/dev' into delta 2022-02-28 21:18:07 -05:00
Josh Brower
41a58b791a Enable state tracking for sigma refresh 2022-02-28 21:17:59 -05:00
Jason Ertel
73b2a36e89 Merge pull request #7365 from Security-Onion-Solutions/kilo
Upgrade to ES 7.17.1
2022-02-28 18:26:31 -05:00
Jason Ertel
f147bb33ed Upgrade to ES 7.17.1 2022-02-28 18:18:09 -05:00
Josh Patterson
6b3b5e9a1f Merge pull request #7363 from Security-Onion-Solutions/soup_singlenode_30
allow for check_log_size_limit to work without salt-master running
2022-02-28 17:13:42 -05:00
Josh Brower
f824717094 Merge pull request #7364 from Security-Onion-Solutions/delta
IDH Node verbiage
2022-02-28 17:09:08 -05:00
Josh Brower
0cee0d5dea IDH Node verbiage 2022-02-28 16:47:24 -05:00
Josh Brower
d71bde0e38 Merge pull request #7362 from Security-Onion-Solutions/delta
Navigator - include attack json for airgap
2022-02-28 16:33:10 -05:00
Josh Brower
2075412ca2 Navigator - include attack json for airgap 2022-02-28 16:15:30 -05:00
m0duspwnens
a51f833f36 output only the value for log_size_limit 2022-02-28 16:13:43 -05:00
Jason Ertel
04a99a0adc Merge pull request #7361 from Security-Onion-Solutions/kilo
Clear out hotfix file
2022-02-28 16:04:30 -05:00
Jason Ertel
166ac0d194 Clear out hotfix file 2022-02-28 16:01:42 -05:00
m0duspwnens
8d12e136f2 Merge remote-tracking branch 'remotes/origin/dev' into soup_singlenode_30 2022-02-28 15:43:37 -05:00
m0duspwnens
710059211d remove debug echo, mkdir verbose 2022-02-28 14:54:39 -05:00
weslambert
a1c0ae4aab Merge pull request #7356 from Security-Onion-Solutions/fix/es_config_load_order
Run template load first to prevent issues with pipeline changes that …
2022-02-28 14:50:22 -05:00
m0duspwnens
80e5198f9e combine local and default pillars to get pillar values locally 2022-02-28 14:35:16 -05:00
m0duspwnens
dc24cb711d need local to be --local 2022-02-28 13:50:08 -05:00
m0duspwnens
c5bf818049 debug messages and pass local to lookup_salt_value 2022-02-28 13:39:50 -05:00
weslambert
414b9dcd59 Run template load first to prevent issues with pipeline changes that generate new indices 2022-02-28 12:33:18 -05:00
m0duspwnens
cd981fa2ae forgot then for if 2022-02-28 12:25:06 -05:00
m0duspwnens
278235b0ca update so-common lookup_salt_value to accept local option. soup get minion id from grains with local option 2022-02-28 12:15:23 -05:00
weslambert
a9caef9596 Merge pull request #7338 from Security-Onion-Solutions/fix/endgame_template
Revert Endgame index name changes
2022-02-28 08:13:09 -05:00
Doug Burks
e0b3635318 Merge pull request #7339 from Security-Onion-Solutions/fix/zeek_dns-import
Avoid changing _index for imported logs
2022-02-27 05:09:00 -05:00
Doug Burks
32b71fdcac Avoid changing _index for imported logs 2022-02-26 10:36:09 -05:00
Wes Lambert
bd1b21a5b6 Revert Endgame index name changes 2022-02-26 02:53:57 +00:00
weslambert
56cb8d62ab Merge pull request #7337 from Security-Onion-Solutions/fix/pb_overrides
Fix formatting for PB overrides
2022-02-25 20:48:38 -05:00
weslambert
e942d81433 Ensure correct formatting for source override 2022-02-25 19:14:58 -05:00
weslambert
a511fd33e9 Ensure correct formatting for destination override 2022-02-25 19:14:21 -05:00
Doug Burks
74037e6f00 Merge pull request #7335 from Security-Onion-Solutions/fix/soup-postversion
make sure that each post_to_* function sets POSTVERSION at end
2022-02-25 15:27:31 -05:00
Josh Brower
25b0069353 Merge pull request #7334 from Security-Onion-Solutions/delta
IDH Setup - dont show ssh fix screen
2022-02-25 15:01:25 -05:00
Josh Brower
6a270eb8b3 IDH Setup - dont show ssh fix screen - fix 2022-02-25 14:58:30 -05:00
Josh Brower
ee39ec1882 IDH Setup - dont show ssh fix screen 2022-02-25 14:55:28 -05:00
Doug Burks
8df47e809d make sure that each post_to_* function sets POSTVERSION at end 2022-02-25 14:30:59 -05:00
Mike Reeves
fa15a2e012 Merge pull request #7333 from Security-Onion-Solutions/endgamecurator
Fix endgame index name
2022-02-25 13:31:29 -05:00
Mike Reeves
15924ebe0f Fix endgame index name 2022-02-25 13:29:29 -05:00
weslambert
c95f48e49a Merge pull request #7330 from Security-Onion-Solutions/fix/pb-override
Override destination/source mappings with .keyword for Playbook
2022-02-25 13:07:31 -05:00
Wes Lambert
a8bdff89ae Move files into SO component template directory 2022-02-25 18:00:16 +00:00
Wes Lambert
08097fe9ec Add Playbook override mappings 2022-02-25 17:58:51 +00:00
Josh Brower
ce4c859f3a Merge pull request #7328 from Security-Onion-Solutions/fix/soup-sigma-refresh
.110 Post processing - sigma refresh
2022-02-25 12:24:19 -05:00
Josh Patterson
9de9d92b2b Merge pull request #7329 from Security-Onion-Solutions/delta
add extra hosts for filebeat on idh node
2022-02-25 12:23:37 -05:00
m0duspwnens
d76facb1bb add extra hosts for idh node 2022-02-25 12:21:43 -05:00
Josh Brower
1abf27873d .110 Post processing - sigma refresh 2022-02-25 12:19:59 -05:00
weslambert
a6ab09501e Merge pull request #7326 from Security-Onion-Solutions/fix/additional_text_subfield_mappings
Add additional .text subfield mappings
2022-02-25 11:29:26 -05:00
Wes Lambert
61dadc6249 Add additional .text subfield mappings 2022-02-25 16:27:37 +00:00
Josh Brower
be80f0530c Merge pull request #7321 from Security-Onion-Solutions/delta
IDH Improvements
2022-02-24 21:27:36 -05:00
Josh Brower
96ed3cb158 IDH - Setup Summary new lines 2022-02-24 20:59:47 -05:00
Josh Brower
4a597b9f0e Merge remote-tracking branch 'remotes/origin/dev' into delta 2022-02-24 19:58:10 -05:00
Josh Brower
cf7325a546 IDH - Play tweaks, Setup summary, log rotate 2022-02-24 19:57:11 -05:00
Josh Patterson
8302c45059 Merge pull request #7320 from Security-Onion-Solutions/delta_ssh
default to false if local role doesnt exist
2022-02-24 18:06:19 -05:00
m0duspwnens
0970bbc983 default to false if local role doesnt exist 2022-02-24 17:55:50 -05:00
Josh Brower
e8e683c2e9 Merge pull request #7319 from Security-Onion-Solutions/delta
Add and Update IDH Plays
2022-02-24 15:48:38 -05:00
Josh Brower
fbc702375c Add and Update IDH Plays 2022-02-24 15:06:04 -05:00
Josh Patterson
5c747fbb4c Merge pull request #7318 from Security-Onion-Solutions/delta_ssh
change name of selinux policy state for idh node
2022-02-24 14:49:55 -05:00
m0duspwnens
8b61d4818d change name of selinux policy state for idh node 2022-02-24 14:47:14 -05:00
weslambert
22b01dab1e Merge pull request #7317 from Security-Onion-Solutions/fix/add_text_subfield_to_dtc_mappings
Add .text subfield mappings for DTC where fields are defined
2022-02-24 14:47:11 -05:00
Wes Lambert
0f8a39002f Add .text subfield mappings for DTC where fields are defined 2022-02-24 19:39:52 +00:00
weslambert
5e29c71381 Merge pull request #7315 from Security-Onion-Solutions/fix/split_zeek_dns
Split Zeek DNS records into a separate index
2022-02-24 13:21:52 -05:00
weslambert
23fb62c0d6 Split Zeek DNS records into a separate index 2022-02-24 12:52:25 -05:00
weslambert
313487a887 Merge pull request #7313 from Security-Onion-Solutions/fix/kibana_dashboard_load
Add Kibana dashboard updates for 2.3.110
2022-02-24 09:48:28 -05:00
weslambert
bc1794e437 Fix function name 2022-02-24 09:42:14 -05:00
Josh Patterson
d7aa413c46 Merge pull request #7314 from Security-Onion-Solutions/delta
default port 2222 for ssh idh node
2022-02-24 09:37:11 -05:00
weslambert
45ccfc5ad4 Add back post to .100 and call for .110 2022-02-24 09:35:43 -05:00
weslambert
582bf4c64c Remove dashboard updates for .100 so we don't run twice 2022-02-24 09:25:59 -05:00
weslambert
7f08ecdcbe Add function reference for .110 post changes 2022-02-24 09:25:15 -05:00
weslambert
a22e470038 Add Kibana dashboard updates for 2.3.110 2022-02-24 09:20:44 -05:00
weslambert
bc2c1b4ccc Merge pull request #6935 from abesinger/issue/6912
Updated syslog pipeline, resolves #6912.
2022-02-24 08:33:55 -05:00
Josh Brower
5779e40401 Merge pull request #7308 from Security-Onion-Solutions/defensivedepth-patch-1
UC true
2022-02-24 07:48:39 -05:00
Josh Brower
585c275df6 UC true 2022-02-23 19:35:10 -05:00
Josh Brower
babc114d27 Merge branch 'delta' of https://github.com/Security-Onion-Solutions/securityonion into delta 2022-02-23 19:33:18 -05:00
Josh Brower
2bf20bd1f0 UC true 2022-02-23 19:33:10 -05:00
Josh Patterson
a9c6dc32ab Merge pull request #7305 from Security-Onion-Solutions/delta_ssh
allow only manager to connect to ssh port for idh node
2022-02-23 15:17:31 -05:00
m0duspwnens
61ae61953f allow only manager to connect to ssh port for idh node 2022-02-23 15:14:11 -05:00
weslambert
2aa811dcd2 Merge pull request #7300 from Security-Onion-Solutions/fix/new_es_template_config
Add IDH and Kratos index templates
2022-02-23 12:24:38 -05:00
weslambert
6a0ecb9e9c Add IDH and Kratos index templates 2022-02-23 12:13:46 -05:00
Josh Brower
b7b2183c15 Merge pull request #7296 from Security-Onion-Solutions/delta
IDH - Import & Enables Plays
2022-02-23 10:52:37 -05:00
weslambert
00dbf54a5f Merge pull request #7295 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update so-functions
2022-02-23 10:50:32 -05:00
Josh Brower
83aa261d88 IDH - Import & Enables Plays 2022-02-23 10:50:13 -05:00
Mike Reeves
c4cc3fa35f Update so-functions 2022-02-23 10:47:37 -05:00
Josh Brower
0121eda536 Merge pull request #7282 from Security-Onion-Solutions/delta
Initial Support - IDH Node
2022-02-23 08:49:40 -05:00
Doug Burks
aadc2a844b Merge pull request #7284 from Security-Onion-Solutions/fix/so-curator-closed-delete
FIX: curator should exclude so-case* indices #7270
2022-02-22 17:40:23 -05:00
doug
1392fc37e8 FIX: curator should exclude so-case* indices #7270 2022-02-22 17:00:52 -05:00
weslambert
9f7612b599 Merge pull request #7283 from Security-Onion-Solutions/fix/match_only_text
Switch from .security to using match_only_text with .text
2022-02-22 15:41:29 -05:00
Wes Lambert
f7862af934 Switch from .security to match_only_text 2022-02-22 20:33:49 +00:00
Josh Brower
1d95aca4de IDH - VNC default port 2022-02-22 14:16:45 -05:00
Josh Brower
99554d5db8 IDH - UDP vs TCP support 2022-02-22 14:10:05 -05:00
Josh Brower
df9fc807a3 IDH - restart scripts, filebeat fix 2022-02-22 08:05:53 -05:00
Josh Brower
3610b0cd30 merge in dev 2022-02-21 16:52:53 -05:00
Josh Brower
eea2b9ccfd IDH - Play - ssh 2022-02-21 16:43:26 -05:00
Josh Brower
05be776f4b IDH - so-status 2022-02-21 16:41:36 -05:00
Doug Burks
5b46d19b13 Merge pull request #7273 from Security-Onion-Solutions/dougburks-patch-1
FIX: curator should exclude so-case* indices #7270
2022-02-21 09:25:58 -05:00
Doug Burks
1abd824c5f FIX: curator should exclude so-case* indices #7270 2022-02-21 09:00:05 -05:00
Josh Brower
2203e2fedd IDH - Final setup fixes 2022-02-19 21:01:48 -05:00
Josh Brower
780cd38adf IDH - setup tweaks 2022-02-19 12:28:45 -05:00
Mike Reeves
fc0e27a7ae Merge pull request #7261 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update networks.cfg.jinja
2022-02-18 20:03:47 -05:00
Mike Reeves
0d1da5d1dc Update networks.cfg.jinja 2022-02-18 20:02:50 -05:00
Josh Brower
bf477a1c19 IDH - Initial whiptail 2022-02-18 17:21:04 -05:00
weslambert
3124f2bd12 Merge pull request #7255 from Security-Onion-Solutions/fix/remove_old_templates
Remove old index templates
2022-02-18 15:23:07 -05:00
Jason Ertel
380f0ef93a Merge pull request #7256 from Security-Onion-Solutions/kilo
Update password len requirements; clarify password update help
2022-02-18 15:19:08 -05:00
Jason Ertel
93e9548eaf Require a minimum of 8 characters for passwords, to match Kratos min requirements 2022-02-18 15:14:48 -05:00
Wes Lambert
4d1533537b Remove old index templates 2022-02-18 20:08:13 +00:00
Josh Brower
0362afb260 IDH - Finalize Firewall config 2022-02-18 13:23:48 -05:00
Josh Patterson
d14967dd45 Merge pull request #7251 from Security-Onion-Solutions/issue/7233
dont allow $ to be used for elasticsearch:auth or kibana:secrets
2022-02-18 13:22:22 -05:00
m0duspwnens
cb55af4c1c dont allow $ to be used for elasticsearch:auth or kibana:secrets - https://github.com/Security-Onion-Solutions/securityonion/issues/7233 2022-02-18 13:13:56 -05:00
weslambert
87a5e64f12 Merge pull request #7249 from Security-Onion-Solutions/fix/component_index_association
Update component -> index association for file/scan mappings for Strelka
2022-02-18 12:19:41 -05:00
Josh Brower
8de5a054d4 Merge pull request #7248 from Security-Onion-Solutions/feature/kratos-log-ingest
Ingest Kratos logs
2022-02-18 11:56:20 -05:00
William Wernert
786b01c85a Merge pull request #6496 from JamesMConroy/so-staus-tty
so-staus detects tty
2022-02-18 11:52:18 -05:00
Josh Brower
118277ebc5 Ingest Kratos logs 2022-02-18 11:49:02 -05:00
Mike Reeves
27299cbe1b Merge pull request #7247 from christopherwoodall/patch-7
Update so-setup
2022-02-18 11:47:19 -05:00
Christopher Woodall
118266bf5f Update so-setup
Patch so setup to ignore deprecation warnings.
2022-02-18 11:38:56 -05:00
Mike Reeves
5d949de146 Merge pull request #7246 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update networks.cfg.jinja
2022-02-18 11:28:57 -05:00
Mike Reeves
6f4ee4123a Update networks.cfg.jinja 2022-02-18 11:26:58 -05:00
Mike Reeves
e4148818d8 Merge pull request #7226 from Security-Onion-Solutions/zeekhn
Add Zeek Homenet in networks.cfg
2022-02-18 11:11:56 -05:00
Mike Reeves
becdc34677 Merge pull request #7227 from hacker0ni/patch-1
Allow downgrades in docker_install
2022-02-18 11:10:26 -05:00
Mike Reeves
95eab61615 Rename to the .jinja standard 2022-02-18 11:06:33 -05:00
Mike Reeves
9341669a15 Merge pull request #7244 from christopherwoodall/patch-6
Update config.map.jinja
2022-02-18 09:57:33 -05:00
Jason Ertel
fdc63b5816 Clarify so-user update usage/help 2022-02-18 09:41:09 -05:00
Christopher Woodall
eaff6a12de Update config.map.jinja
Extend the array instead of appending.
2022-02-18 08:50:28 -05:00
weslambert
6ee3287d2d Update component -> index association for file/scan mappings for Strelka 2022-02-18 08:12:34 -05:00
James Conroy
91c207cd38 Update salt/common/tools/sbin/so-status
Removed # {% raw %} from line 170

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-17 20:37:43 -06:00
James Conroy
b774e62dfa Update salt/common/tools/sbin/so-status
Add salt raw directive

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-17 20:37:25 -06:00
Josh Brower
f995d0768f IDH - Initial firewall support 2022-02-17 15:54:20 -05:00
Doug Burks
3b887c7b1a Merge pull request #7239 from Security-Onion-Solutions/dougburks-patch-1
so-ip-update needs to queue the Kibana dashboard update
2022-02-17 15:54:10 -05:00
Doug Burks
b4b7938ce2 so-ip-update needs to queue the Kibana dashboard update in case a salt operation is already running 2022-02-17 15:47:33 -05:00
Doug Burks
e5d7c1c77a Merge pull request #7238 from Security-Onion-Solutions/dougburks-patch-1-1
so-ip-update needs to update Kibana dashboards
2022-02-17 14:53:31 -05:00
Doug Burks
1a96162966 so-ip-update needs to update Kibana dashboards 2022-02-17 14:49:55 -05:00
hacker0ni
bc72b3da91 Allow downgrades in docker_install
When running the installer again on a new node, it tries to pull the docker packages but since the installer ran again before, the install command fails on Ubuntu 18.04 stating that the `--allow-downgrades` is not specified in the command. This change adds that to circumvent the issue.
2022-02-17 11:47:36 -05:00
Mike Reeves
3e194c9b4b Walk the homenet for zeek 2022-02-17 11:33:22 -05:00
Josh Brower
6c124733b5 IDH - Enable default states 2022-02-17 10:50:26 -05:00
weslambert
6842099e11 Merge pull request #7224 from Security-Onion-Solutions/fix/zeek_viz
Switch from dns.answers to dns.answers.name for DTC
2022-02-17 10:05:46 -05:00
Wes Lambert
5c1f61bda8 Switch from dns.answers to dns.answers.name for DTC 2022-02-17 15:03:46 +00:00
weslambert
53c7ad6041 Merge pull request #7223 from Security-Onion-Solutions/fix/shard_settings_setup
Ensure setup configures pillar correctly for index settings
2022-02-17 09:48:11 -05:00
Josh Brower
ef4df58510 IDH - Jinjafy hostname 2022-02-17 09:00:57 -05:00
weslambert
c0f9cb188b Add missing colon 2022-02-17 07:58:05 -05:00
weslambert
d309c4fc0a Update pillar structure for index_settings/shards 2022-02-17 07:10:29 -05:00
Jason Ertel
cb9712aa08 Merge pull request #7217 from Security-Onion-Solutions/kilo
MFA
2022-02-16 16:47:40 -05:00
weslambert
d084625ee0 Merge pull request #7218 from Security-Onion-Solutions/fix/composable_templates_soup
Add pillar update for ES index templates for 2.3.110
2022-02-16 16:24:57 -05:00
weslambert
e71b606dd6 Add pillar update for ES index templates for 2.3.110 2022-02-16 16:22:06 -05:00
weslambert
f1f9322bee Merge pull request #7216 from Security-Onion-Solutions/fix/es_template_netflow_mappings_indent
Fix indent for so-netflow component template references
2022-02-16 14:47:31 -05:00
weslambert
185ea2fd99 Fix indent for so-netflow component template references 2022-02-16 14:46:12 -05:00
Mike Reeves
89eb2d0a8b Add netowrks.cfg to Zeek 2022-02-16 14:24:58 -05:00
Jason Ertel
2c4ba75c0c Merge branch 'dev' into kilo 2022-02-15 17:05:24 -05:00
weslambert
9e222b1464 Merge pull request #7206 from Security-Onion-Solutions/feature/template-reorg
Re-organize Elasticsearch Index Templates
2022-02-15 16:50:14 -05:00
Josh Brower
3ccef12df7 IDH - Pillarize OpenCanary Config 2022-02-15 13:57:31 -05:00
Wes Lambert
4fa3749418 Remove bind or ES templates 2022-02-15 18:08:03 +00:00
Wes Lambert
786a189f65 Merge branch 'feature/template-reorg' of https://github.com/security-onion-solutions/securityonion into feature/template-reorg 2022-02-15 17:06:02 +00:00
Wes Lambert
de731fc05d Remove default templates from ES template pillar since they are now managed in the defaults file. 2022-02-15 17:04:57 +00:00
Wes Lambert
3df58eadd1 Modify logic to include custom templates 2022-02-15 17:00:24 +00:00
weslambert
1a53ec4372 Fix malformed copy/paste 2022-02-15 11:14:10 -05:00
Wes Lambert
dce3b7a874 Update defaults file to include ES index templates 2022-02-15 15:53:07 +00:00
Jason Ertel
377fe1987d Merge branch 'dev' into kilo 2022-02-15 07:49:26 -05:00
Jason Ertel
d97423e9f8 Enable MFA support 2022-02-15 07:49:12 -05:00
Wes Lambert
8e389bf6e5 Add ES template map file 2022-02-14 15:38:32 +00:00
Wes Lambert
ebce67060f Initial template refactor 2022-02-14 15:20:33 +00:00
James Conroy
a43ac2aea2 Move the jinja endraw directive below is_tty
This will prevent jninja from interpreting the shell string length
expansion as the start of jninja comments
2022-02-12 12:25:24 -06:00
James Conroy
95b4f7b4ef Update the PADDING_CONSTENT to 15
As suggested by @rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:24 -06:00
James Conroy
3046e811f0 Use spaces to define centerd justification output
As suggested by @rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:24 -06:00
James Conroy
6a1e586b8c Changed color variables to Attributes
As suggested by @rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:24 -06:00
James Conroy
01346cbb06 Changed color variables to Attributes
As suggested by @rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:24 -06:00
James Conroy
3adb6c1389 Renamed colors to attributes
Also correctly used tput to assign blue color

As suggested by @rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:23 -06:00
James Conroy
dabae3888f Renamed colors to attributes
As suggested by rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:23 -06:00
James Conroy
c69e968790 Renamed Colors to Attributes
As suggested by @rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:23 -06:00
James Conroy
dfcabb5722 Seperate bold attribute from colors
As suggested by @rwwiv

Co-authored-by: William Wernert <william.wernert@gmail.com>
2022-02-12 12:25:23 -06:00
James Conroy
b9b3876069 Exit with an error code if the user isn't root 2022-02-12 12:25:23 -06:00
James Conroy
bfcfad2e7d Check for tty in main
So that the value is set every time it is checked
2022-02-12 12:25:23 -06:00
James Conroy
163182c858 Don't set the padding constant if not in a tty
This will preserve the original width from before my changes
2022-02-12 12:25:23 -06:00
James Conroy
6b4549499d Don't split lines after standalone tests
This is to make the formatting consistent with the rest of the scripts
2022-02-12 12:25:23 -06:00
James Conroy
68a5826d70 Always print a line of '-'
Even when not printing to a tty

This is behavior preferred by the team
2022-02-12 12:25:22 -06:00
James Conroy
daa73c8845 Removed MYNAME variable
Preferring to just use the value of $0 instead
2022-02-12 12:25:22 -06:00
James Conroy
7f694c17ed Revert improvements to usage function
Made to make it more consistent with the rest of the scripts in
Security Onion
2022-02-12 12:25:22 -06:00
James Conroy
fd9a03a77f Added Changes Suggested by Reviewer
Added a missing semi colon between a local variable's declaration and
assignment
Removed an unused return value
Made a TODO more descriptive
2022-02-12 12:25:22 -06:00
James Conroy
2993a20947 Moved line declaration out of tty conditional
This way it will always be set to ""
2022-02-12 12:25:22 -06:00
James Conroy
ac5527e1ab Added Comments for future enhancements 2022-02-12 12:25:22 -06:00
James Conroy
715f9da6e2 Reworked tty detection and status printing
I was able to reduce the line count and make the script more reliable
2022-02-12 12:25:22 -06:00
James Conroy
caa06b026f Refactored to reduce length and number of lines 2022-02-12 12:25:21 -06:00
James Conroy
a048de65ca Print help message if not running as root 2022-02-12 12:25:21 -06:00
James Conroy
f807471a17 Only print color codes if we're printing to a tty
If we're not printing to a tty the escape sequences can only clutter the
screen.

Also removed a redundant function to print lines if not printing to a
tty. It was only called if docker wasn't running, not if the output
wasn't a tty.
2022-02-12 12:25:21 -06:00
James Conroy
81122d0693 Updated the useage function to use printf
Using a hear doc means we have to exactly specify the formatting. Useing
printf handles formatting for us
2022-02-12 12:25:21 -06:00
Josh Brower
1e5b9ef0bf IDH - Enable Filebeat 2022-02-10 11:37:10 -05:00
Josh Brower
b66472eced IDH - disable nginx 2022-02-09 14:56:56 -05:00
Josh Brower
f31fbbf1ed IDH - states allowed 2022-02-09 13:57:18 -05:00
William Wernert
1fee5e6a60 Merge pull request #7162 from Security-Onion-Solutions/rwwiv-contributing-patch-1
Also merge CONTRIBUTING.md changes to dev
2022-02-09 11:59:00 -05:00
William Wernert
bc5fa55ecd Merge pull request #7160 from Security-Onion-Solutions/rwwiv-contributing-patch-1
Update CONTRIBUTING.md
2022-02-09 11:49:52 -05:00
William Wernert
2e2eed9f42 PR's -> pull requests 2022-02-09 11:45:12 -05:00
William Wernert
3f83191083 Update CONTRIBUTING.md 2022-02-09 11:34:39 -05:00
Josh Brower
30c40ed3d7 IDH Initial Support 2022-02-09 10:37:47 -05:00
Mike Reeves
d63fe73c90 Merge pull request #7157 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update to 7.17.0
2022-02-09 09:46:25 -05:00
Mike Reeves
51bd266717 Update to 7.17.0 2022-02-09 09:44:28 -05:00
weslambert
380fa7d0c8 Merge pull request #7153 from Security-Onion-Solutions/fix/dtc_event_mappings
Add 'event.created' and 'event.ingested' keyword mapping
2022-02-08 16:36:49 -05:00
Wes Lambert
9b841fd872 Add 'event.created' and 'event.ingested' keyword mapping 2022-02-08 21:34:32 +00:00
weslambert
c216457a3e Merge pull request #7147 from Security-Onion-Solutions/fix/ct_snyk
Add Snyk component template
2022-02-08 10:25:27 -05:00
Wes Lambert
c2c4e4df17 Add Snyk component template 2022-02-08 15:23:43 +00:00
weslambert
7be1549d41 Merge pull request #7146 from Security-Onion-Solutions/feature/additional_dtc_ct
Additional component templates
2022-02-08 10:12:31 -05:00
Josh Brower
ac8e06e79b Initial support - IDH Node 2022-02-08 09:08:52 -05:00
Josh Brower
a3602c9eb9 Initial support - IDH Node 2022-02-08 08:24:15 -05:00
Wes Lambert
f9a50d33c3 Add new templates 2022-02-08 13:17:23 +00:00
Wes Lambert
2951e12c96 Remove snyk component template for now and fix folder structure 2022-02-08 13:16:59 +00:00
Wes Lambert
6d0ca6fcbb Fix mangled key name/typo 2022-02-08 12:59:07 +00:00
Wes Lambert
2dd5db15b6 Add component and index template listing scripts 2022-02-08 03:40:42 +00:00
Wes Lambert
5090854d4d Add additional component templates and index template references 2022-02-08 03:03:55 +00:00
Josh Brower
37b17b8821 Initial support - IDH Node 2022-02-07 19:27:51 -05:00
Josh Brower
f590bc43a6 Initial support - IDH Node 2022-02-07 19:09:27 -05:00
Josh Brower
7a9cb6d110 Initial support - IDH Node 2022-02-07 16:49:11 -05:00
weslambert
b41c5439c6 Merge pull request #7141 from Security-Onion-Solutions/fix/index_template_mapping_reference
Add mapping references for new component templates to index templates
2022-02-07 15:06:19 -05:00
Wes Lambert
1366e5288e Add mappings references for new component templates to index templates 2022-02-07 19:54:23 +00:00
weslambert
f9196a8228 Merge pull request #7140 from Security-Onion-Solutions/feature/dtc_new_mappings
New DTC/Component Template Mappings
2022-02-07 14:47:07 -05:00
Wes Lambert
03bfb052ed Add component templates for Elasticsearch, Kibana, Logstash, Netflow, Suricata, and Zeek 2022-02-07 19:42:24 +00:00
Josh Brower
9b1fac8417 Initial support - IDH Node 2022-02-07 14:36:40 -05:00
weslambert
c9b40d8569 Merge pull request #7136 from Security-Onion-Solutions/feature/so_es_indices_list_sort
Sort index listing alphabetically and add header
2022-02-07 09:34:58 -05:00
Wes Lambert
50215c550b Sort index listing alphabetically and add header (@gebhard73) 2022-02-07 14:31:42 +00:00
Josh Patterson
ee17064585 Merge pull request #7122 from Security-Onion-Solutions/soup_docker_iso
Soup docker iso
2022-02-07 09:29:35 -05:00
Josh Patterson
e0c0eba24e Update soup 2022-02-07 09:23:30 -05:00
Josh Patterson
7d09d1f7e2 Update soup 2022-02-07 09:22:43 -05:00
Mike Reeves
77fc9df448 Merge pull request #7134 from Security-Onion-Solutions/mastermerger
Mastermerger
2022-02-07 08:38:27 -05:00
Mike Reeves
abd121733f Merge branch 'master' into mastermerger 2022-02-07 08:34:17 -05:00
m0duspwnens
7c31eb1288 mount iso at different point 2022-02-04 16:07:06 -05:00
m0duspwnens
780aace854 set AGDOCKER 2022-02-04 15:44:25 -05:00
m0duspwnens
eb0696b425 update dockers if -f used 2022-02-04 15:36:44 -05:00
m0duspwnens
267ef354c2 unmount iso after updating dockers 2022-02-04 15:09:35 -05:00
m0duspwnens
23fbf140ba soup with dockers from iso 2022-02-04 15:06:42 -05:00
weslambert
d0b54a3a34 Merge pull request #7119 from Security-Onion-Solutions/feature/dtc_additional
Add additional scan and rule fileset mappings
2022-02-04 14:14:20 -05:00
Wes Lambert
317f6471d8 Add additional scan and rule filset mappings 2022-02-04 19:05:09 +00:00
weslambert
08c7181f1a Merge pull request #7118 from Security-Onion-Solutions/fix/dtc_file_mappings
Fix/dtc file mappings
2022-02-04 13:22:11 -05:00
Wes Lambert
1ce8bb3523 Fix winlog mapping reference reversion 2022-02-04 18:14:01 +00:00
Wes Lambert
5e03b1a5de Fix reference for file mappings in template 2022-02-04 18:11:03 +00:00
weslambert
898db542bf Merge pull request #7117 from Security-Onion-Solutions/feature/winlog_dtc_mappings
Add winlog mappings
2022-02-04 12:16:16 -05:00
weslambert
66452b14ef Merge pull request #7116 from Security-Onion-Solutions/fix/endgame_mappings
Fix EG template and mappings
2022-02-04 12:16:07 -05:00
Wes Lambert
69cb83cac9 Add winlog mappings 2022-02-04 17:08:26 +00:00
Wes Lambert
f3902cf77d Fix EG template and mappings 2022-02-04 16:00:16 +00:00
weslambert
1af63edc6b Merge pull request #7115 from Security-Onion-Solutions/feature/additional_dtc_mappings
Additional DTC mapping changes
2022-02-04 10:46:47 -05:00
Wes Lambert
a3031b2b5c Additional DTC mapping changes 2022-02-04 15:38:51 +00:00
Doug Burks
e54ece06a2 Merge pull request #7106 from Security-Onion-Solutions/hotfix/2.3.100
Hotfix/2.3.100
2022-02-03 16:25:04 -05:00
Mike Reeves
cc986c8d7c Merge pull request #7105 from Security-Onion-Solutions/23100hotfix2
2.3.100 Hotfix 2
2022-02-03 16:04:06 -05:00
Mike Reeves
b7732fb14a 2.3.100 Hotfix 2 2022-02-03 15:58:26 -05:00
Mike Reeves
6f03662120 Merge pull request #7102 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update HOTFIX
2022-02-03 15:08:52 -05:00
Mike Reeves
4f2952105e Update HOTFIX 2022-02-03 15:06:18 -05:00
Josh Patterson
b34d0d7f7a Merge pull request #7100 from Security-Onion-Solutions/100_hotfix_2
100 hotfix 2
2022-02-03 13:15:37 -05:00
weslambert
1edc1dd842 Merge pull request #7096 from Security-Onion-Solutions/fix/dtc-ct-keyword-subfield
Add more DTC transition mappings
2022-02-03 12:35:34 -05:00
Wes Lambert
1ce386bb7f Add more DTC transition mappings 2022-02-03 17:33:05 +00:00
weslambert
c7d23df000 Merge pull request #7076 from Security-Onion-Solutions/fix/zeek_dns_answers_name
Rename dns.answers to prevent field conflict
2022-02-03 12:22:26 -05:00
m0duspwnens
797d769661 use actual hostname in logstash:nodes pillar 2022-02-03 10:36:18 -05:00
Mike Reeves
bbd2f0da2b Merge pull request #7094 from Security-Onion-Solutions/TOoSmOotH-patch-4
Update distributed-airgap-manager
2022-02-03 10:36:09 -05:00
Mike Reeves
5c39162aef Update distributed-airgap-sensor 2022-02-03 10:34:55 -05:00
Mike Reeves
d8a4301533 Update distributed-airgap-manager 2022-02-03 10:34:12 -05:00
Doug Burks
c39047666b Merge pull request #7082 from Security-Onion-Solutions/hotfix/2.3.100
Hotfix/2.3.100
2022-02-02 16:38:27 -05:00
Mike Reeves
5c75bb8e7a Merge pull request #7080 from Security-Onion-Solutions/23100hotfix
2.3.100 Hotfix
2022-02-02 16:30:46 -05:00
Mike Reeves
83683ec27e 2.3.100 Hotfix 2022-02-02 16:23:51 -05:00
Mike Reeves
b94cae0176 2.3.100 Hotfix 2022-02-02 16:22:44 -05:00
Mike Reeves
fc0824ceb0 2.3.100 Hotfix 2022-02-02 16:20:49 -05:00
weslambert
c5b5c5858e Rename to prevent field conflict 2022-02-02 14:31:46 -05:00
weslambert
5e9e0d971b Merge pull request #7070 from Security-Onion-Solutions/feature/composable_templates
Initial composable template configuration and base mappings
2022-02-02 10:25:15 -05:00
Mike Reeves
73a43f3816 Merge pull request #7069 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update HOTFIX
2022-02-02 09:57:26 -05:00
Mike Reeves
8152aec22e Update HOTFIX 2022-02-02 09:49:19 -05:00
Mike Reeves
0e28e1e4cb Merge pull request #7066 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update acng.conf
2022-02-02 09:22:00 -05:00
Josh Patterson
13f87e4654 Merge pull request #7067 from Security-Onion-Solutions/m0duspwnens-patch-2.3.100
FIX: ssl state and manager hostname with uppercase
2022-02-02 09:21:54 -05:00
Josh Patterson
a02fb37493 Update init.sls 2022-02-02 09:18:02 -05:00
Mike Reeves
eaeed07fd4 Update acng.conf 2022-02-02 09:12:29 -05:00
Wes Lambert
9db1510b0e Initial composable template configuration and base mappings 2022-02-02 02:08:31 +00:00
Jason Ertel
1bac031975 Merge pull request #7058 from Security-Onion-Solutions/kilo
Bump to 2.3.110
2022-02-01 15:04:48 -05:00
Jason Ertel
c5d6f09320 Bump to 2.3.110 2022-02-01 15:03:41 -05:00
abesinger
31d22e717d Updated syslog pipeline, resolves #6912. Also cleaned up formatting to make it more readable. 2022-01-19 18:45:26 -06:00
669 changed files with 436369 additions and 7120 deletions

546
.github/.gitleaks.toml vendored Normal file
View File

@@ -0,0 +1,546 @@
title = "gitleaks config"
# Gitleaks rules are defined by regular expressions and entropy ranges.
# Some secrets have unique signatures which make detecting those secrets easy.
# Examples of those secrets would be GitLab Personal Access Tokens, AWS keys, and GitHub Access Tokens.
# All these examples have defined prefixes like `glpat`, `AKIA`, `ghp_`, etc.
#
# Other secrets might just be a hash which means we need to write more complex rules to verify
# that what we are matching is a secret.
#
# Here is an example of a semi-generic secret
#
# discord_client_secret = "8dyfuiRyq=vVc3RRr_edRk-fK__JItpZ"
#
# We can write a regular expression to capture the variable name (identifier),
# the assignment symbol (like '=' or ':='), and finally the actual secret.
# The structure of a rule to match this example secret is below:
#
# Beginning string
# quotation
# │ End string quotation
# │ │
# ▼ ▼
# (?i)(discord[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9=_\-]{32})['\"]
#
# ▲ ▲ ▲
# │ │ │
# │ │ │
# identifier assignment symbol
# Secret
#
[[rules]]
id = "gitlab-pat"
description = "GitLab Personal Access Token"
regex = '''glpat-[0-9a-zA-Z\-\_]{20}'''
[[rules]]
id = "aws-access-token"
description = "AWS"
regex = '''(A3T[A-Z0-9]|AKIA|AGPA|AIDA|AROA|AIPA|ANPA|ANVA|ASIA)[A-Z0-9]{16}'''
# Cryptographic keys
[[rules]]
id = "PKCS8-PK"
description = "PKCS8 private key"
regex = '''-----BEGIN PRIVATE KEY-----'''
[[rules]]
id = "RSA-PK"
description = "RSA private key"
regex = '''-----BEGIN RSA PRIVATE KEY-----'''
[[rules]]
id = "OPENSSH-PK"
description = "SSH private key"
regex = '''-----BEGIN OPENSSH PRIVATE KEY-----'''
[[rules]]
id = "PGP-PK"
description = "PGP private key"
regex = '''-----BEGIN PGP PRIVATE KEY BLOCK-----'''
[[rules]]
id = "github-pat"
description = "GitHub Personal Access Token"
regex = '''ghp_[0-9a-zA-Z]{36}'''
[[rules]]
id = "github-oauth"
description = "GitHub OAuth Access Token"
regex = '''gho_[0-9a-zA-Z]{36}'''
[[rules]]
id = "SSH-DSA-PK"
description = "SSH (DSA) private key"
regex = '''-----BEGIN DSA PRIVATE KEY-----'''
[[rules]]
id = "SSH-EC-PK"
description = "SSH (EC) private key"
regex = '''-----BEGIN EC PRIVATE KEY-----'''
[[rules]]
id = "github-app-token"
description = "GitHub App Token"
regex = '''(ghu|ghs)_[0-9a-zA-Z]{36}'''
[[rules]]
id = "github-refresh-token"
description = "GitHub Refresh Token"
regex = '''ghr_[0-9a-zA-Z]{76}'''
[[rules]]
id = "shopify-shared-secret"
description = "Shopify shared secret"
regex = '''shpss_[a-fA-F0-9]{32}'''
[[rules]]
id = "shopify-access-token"
description = "Shopify access token"
regex = '''shpat_[a-fA-F0-9]{32}'''
[[rules]]
id = "shopify-custom-access-token"
description = "Shopify custom app access token"
regex = '''shpca_[a-fA-F0-9]{32}'''
[[rules]]
id = "shopify-private-app-access-token"
description = "Shopify private app access token"
regex = '''shppa_[a-fA-F0-9]{32}'''
[[rules]]
id = "slack-access-token"
description = "Slack token"
regex = '''xox[baprs]-([0-9a-zA-Z]{10,48})?'''
[[rules]]
id = "stripe-access-token"
description = "Stripe"
regex = '''(?i)(sk|pk)_(test|live)_[0-9a-z]{10,32}'''
[[rules]]
id = "pypi-upload-token"
description = "PyPI upload token"
regex = '''pypi-AgEIcHlwaS5vcmc[A-Za-z0-9\-_]{50,1000}'''
[[rules]]
id = "gcp-service-account"
description = "Google (GCP) Service-account"
regex = '''\"type\": \"service_account\"'''
[[rules]]
id = "heroku-api-key"
description = "Heroku API Key"
regex = ''' (?i)(heroku[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9A-F]{8}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{4}-[0-9A-F]{12})['\"]'''
secretGroup = 3
[[rules]]
id = "slack-web-hook"
description = "Slack Webhook"
regex = '''https://hooks.slack.com/services/T[a-zA-Z0-9_]{8}/B[a-zA-Z0-9_]{8,12}/[a-zA-Z0-9_]{24}'''
[[rules]]
id = "twilio-api-key"
description = "Twilio API Key"
regex = '''SK[0-9a-fA-F]{32}'''
[[rules]]
id = "age-secret-key"
description = "Age secret key"
regex = '''AGE-SECRET-KEY-1[QPZRY9X8GF2TVDW0S3JN54KHCE6MUA7L]{58}'''
[[rules]]
id = "facebook-token"
description = "Facebook token"
regex = '''(?i)(facebook[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "twitter-token"
description = "Twitter token"
regex = '''(?i)(twitter[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{35,44})['\"]'''
secretGroup = 3
[[rules]]
id = "adobe-client-id"
description = "Adobe Client ID (Oauth Web)"
regex = '''(?i)(adobe[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "adobe-client-secret"
description = "Adobe Client Secret"
regex = '''(p8e-)(?i)[a-z0-9]{32}'''
[[rules]]
id = "alibaba-access-key-id"
description = "Alibaba AccessKey ID"
regex = '''(LTAI)(?i)[a-z0-9]{20}'''
[[rules]]
id = "alibaba-secret-key"
description = "Alibaba Secret Key"
regex = '''(?i)(alibaba[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{30})['\"]'''
secretGroup = 3
[[rules]]
id = "asana-client-id"
description = "Asana Client ID"
regex = '''(?i)(asana[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9]{16})['\"]'''
secretGroup = 3
[[rules]]
id = "asana-client-secret"
description = "Asana Client Secret"
regex = '''(?i)(asana[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "atlassian-api-token"
description = "Atlassian API token"
regex = '''(?i)(atlassian[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{24})['\"]'''
secretGroup = 3
[[rules]]
id = "bitbucket-client-id"
description = "Bitbucket client ID"
regex = '''(?i)(bitbucket[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "bitbucket-client-secret"
description = "Bitbucket client secret"
regex = '''(?i)(bitbucket[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9_\-]{64})['\"]'''
secretGroup = 3
[[rules]]
id = "beamer-api-token"
description = "Beamer API token"
regex = '''(?i)(beamer[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](b_[a-z0-9=_\-]{44})['\"]'''
secretGroup = 3
[[rules]]
id = "clojars-api-token"
description = "Clojars API token"
regex = '''(CLOJARS_)(?i)[a-z0-9]{60}'''
[[rules]]
id = "contentful-delivery-api-token"
description = "Contentful delivery API token"
regex = '''(?i)(contentful[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9\-=_]{43})['\"]'''
secretGroup = 3
[[rules]]
id = "databricks-api-token"
description = "Databricks API token"
regex = '''dapi[a-h0-9]{32}'''
[[rules]]
id = "discord-api-token"
description = "Discord API key"
regex = '''(?i)(discord[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-h0-9]{64})['\"]'''
secretGroup = 3
[[rules]]
id = "discord-client-id"
description = "Discord client ID"
regex = '''(?i)(discord[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9]{18})['\"]'''
secretGroup = 3
[[rules]]
id = "discord-client-secret"
description = "Discord client secret"
regex = '''(?i)(discord[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9=_\-]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "doppler-api-token"
description = "Doppler API token"
regex = '''['\"](dp\.pt\.)(?i)[a-z0-9]{43}['\"]'''
[[rules]]
id = "dropbox-api-secret"
description = "Dropbox API secret/key"
regex = '''(?i)(dropbox[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{15})['\"]'''
[[rules]]
id = "dropbox--api-key"
description = "Dropbox API secret/key"
regex = '''(?i)(dropbox[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{15})['\"]'''
[[rules]]
id = "dropbox-short-lived-api-token"
description = "Dropbox short lived API token"
regex = '''(?i)(dropbox[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](sl\.[a-z0-9\-=_]{135})['\"]'''
[[rules]]
id = "dropbox-long-lived-api-token"
description = "Dropbox long lived API token"
regex = '''(?i)(dropbox[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"][a-z0-9]{11}(AAAAAAAAAA)[a-z0-9\-_=]{43}['\"]'''
[[rules]]
id = "duffel-api-token"
description = "Duffel API token"
regex = '''['\"]duffel_(test|live)_(?i)[a-z0-9_-]{43}['\"]'''
[[rules]]
id = "dynatrace-api-token"
description = "Dynatrace API token"
regex = '''['\"]dt0c01\.(?i)[a-z0-9]{24}\.[a-z0-9]{64}['\"]'''
[[rules]]
id = "easypost-api-token"
description = "EasyPost API token"
regex = '''['\"]EZAK(?i)[a-z0-9]{54}['\"]'''
[[rules]]
id = "easypost-test-api-token"
description = "EasyPost test API token"
regex = '''['\"]EZTK(?i)[a-z0-9]{54}['\"]'''
[[rules]]
id = "fastly-api-token"
description = "Fastly API token"
regex = '''(?i)(fastly[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9\-=_]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "finicity-client-secret"
description = "Finicity client secret"
regex = '''(?i)(finicity[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{20})['\"]'''
secretGroup = 3
[[rules]]
id = "finicity-api-token"
description = "Finicity API token"
regex = '''(?i)(finicity[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "flutterwave-public-key"
description = "Flutterwave public key"
regex = '''FLWPUBK_TEST-(?i)[a-h0-9]{32}-X'''
[[rules]]
id = "flutterwave-secret-key"
description = "Flutterwave secret key"
regex = '''FLWSECK_TEST-(?i)[a-h0-9]{32}-X'''
[[rules]]
id = "flutterwave-enc-key"
description = "Flutterwave encrypted key"
regex = '''FLWSECK_TEST[a-h0-9]{12}'''
[[rules]]
id = "frameio-api-token"
description = "Frame.io API token"
regex = '''fio-u-(?i)[a-z0-9\-_=]{64}'''
[[rules]]
id = "gocardless-api-token"
description = "GoCardless API token"
regex = '''['\"]live_(?i)[a-z0-9\-_=]{40}['\"]'''
[[rules]]
id = "grafana-api-token"
description = "Grafana API token"
regex = '''['\"]eyJrIjoi(?i)[a-z0-9\-_=]{72,92}['\"]'''
[[rules]]
id = "hashicorp-tf-api-token"
description = "HashiCorp Terraform user/org API token"
regex = '''['\"](?i)[a-z0-9]{14}\.atlasv1\.[a-z0-9\-_=]{60,70}['\"]'''
[[rules]]
id = "hubspot-api-token"
description = "HubSpot API token"
regex = '''(?i)(hubspot[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-h0-9]{8}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{12})['\"]'''
secretGroup = 3
[[rules]]
id = "intercom-api-token"
description = "Intercom API token"
regex = '''(?i)(intercom[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9=_]{60})['\"]'''
secretGroup = 3
[[rules]]
id = "intercom-client-secret"
description = "Intercom client secret/ID"
regex = '''(?i)(intercom[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-h0-9]{8}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{12})['\"]'''
secretGroup = 3
[[rules]]
id = "ionic-api-token"
description = "Ionic API token"
regex = '''(?i)(ionic[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](ion_[a-z0-9]{42})['\"]'''
[[rules]]
id = "linear-api-token"
description = "Linear API token"
regex = '''lin_api_(?i)[a-z0-9]{40}'''
[[rules]]
id = "linear-client-secret"
description = "Linear client secret/ID"
regex = '''(?i)(linear[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "lob-api-key"
description = "Lob API Key"
regex = '''(?i)(lob[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]((live|test)_[a-f0-9]{35})['\"]'''
secretGroup = 3
[[rules]]
id = "lob-pub-api-key"
description = "Lob Publishable API Key"
regex = '''(?i)(lob[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]((test|live)_pub_[a-f0-9]{31})['\"]'''
secretGroup = 3
[[rules]]
id = "mailchimp-api-key"
description = "Mailchimp API key"
regex = '''(?i)(mailchimp[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-f0-9]{32}-us20)['\"]'''
secretGroup = 3
[[rules]]
id = "mailgun-private-api-token"
description = "Mailgun private API token"
regex = '''(?i)(mailgun[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](key-[a-f0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "mailgun-pub-key"
description = "Mailgun public validation key"
regex = '''(?i)(mailgun[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"](pubkey-[a-f0-9]{32})['\"]'''
secretGroup = 3
[[rules]]
id = "mailgun-signing-key"
description = "Mailgun webhook signing key"
regex = '''(?i)(mailgun[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-h0-9]{32}-[a-h0-9]{8}-[a-h0-9]{8})['\"]'''
secretGroup = 3
[[rules]]
id = "mapbox-api-token"
description = "Mapbox API token"
regex = '''(?i)(pk\.[a-z0-9]{60}\.[a-z0-9]{22})'''
[[rules]]
id = "messagebird-api-token"
description = "MessageBird API token"
regex = '''(?i)(messagebird[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{25})['\"]'''
secretGroup = 3
[[rules]]
id = "messagebird-client-id"
description = "MessageBird API client ID"
regex = '''(?i)(messagebird[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-h0-9]{8}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{4}-[a-h0-9]{12})['\"]'''
secretGroup = 3
[[rules]]
id = "new-relic-user-api-key"
description = "New Relic user API Key"
regex = '''['\"](NRAK-[A-Z0-9]{27})['\"]'''
[[rules]]
id = "new-relic-user-api-id"
description = "New Relic user API ID"
regex = '''(?i)(newrelic[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([A-Z0-9]{64})['\"]'''
secretGroup = 3
[[rules]]
id = "new-relic-browser-api-token"
description = "New Relic ingest browser API token"
regex = '''['\"](NRJS-[a-f0-9]{19})['\"]'''
[[rules]]
id = "npm-access-token"
description = "npm access token"
regex = '''['\"](npm_(?i)[a-z0-9]{36})['\"]'''
[[rules]]
id = "planetscale-password"
description = "PlanetScale password"
regex = '''pscale_pw_(?i)[a-z0-9\-_\.]{43}'''
[[rules]]
id = "planetscale-api-token"
description = "PlanetScale API token"
regex = '''pscale_tkn_(?i)[a-z0-9\-_\.]{43}'''
[[rules]]
id = "postman-api-token"
description = "Postman API token"
regex = '''PMAK-(?i)[a-f0-9]{24}\-[a-f0-9]{34}'''
[[rules]]
id = "pulumi-api-token"
description = "Pulumi API token"
regex = '''pul-[a-f0-9]{40}'''
[[rules]]
id = "rubygems-api-token"
description = "Rubygem API token"
regex = '''rubygems_[a-f0-9]{48}'''
[[rules]]
id = "sendgrid-api-token"
description = "SendGrid API token"
regex = '''SG\.(?i)[a-z0-9_\-\.]{66}'''
[[rules]]
id = "sendinblue-api-token"
description = "Sendinblue API token"
regex = '''xkeysib-[a-f0-9]{64}\-(?i)[a-z0-9]{16}'''
[[rules]]
id = "shippo-api-token"
description = "Shippo API token"
regex = '''shippo_(live|test)_[a-f0-9]{40}'''
[[rules]]
id = "linkedin-client-secret"
description = "LinkedIn Client secret"
regex = '''(?i)(linkedin[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z]{16})['\"]'''
secretGroup = 3
[[rules]]
id = "linkedin-client-id"
description = "LinkedIn Client ID"
regex = '''(?i)(linkedin[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{14})['\"]'''
secretGroup = 3
[[rules]]
id = "twitch-api-token"
description = "Twitch API token"
regex = '''(?i)(twitch[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([a-z0-9]{30})['\"]'''
secretGroup = 3
[[rules]]
id = "typeform-api-token"
description = "Typeform API token"
regex = '''(?i)(typeform[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}(tfp_[a-z0-9\-_\.=]{59})'''
secretGroup = 3
[[rules]]
id = "generic-api-key"
description = "Generic API Key"
regex = '''(?i)((key|api[^Version]|token|secret|password)[a-z0-9_ .\-,]{0,25})(=|>|:=|\|\|:|<=|=>|:).{0,5}['\"]([0-9a-zA-Z\-_=]{8,64})['\"]'''
entropy = 3.7
secretGroup = 4
[allowlist]
description = "global allow lists"
regexes = ['''219-09-9999''', '''078-05-1120''', '''(9[0-9]{2}|666)-\d{2}-\d{4}''']
paths = [
'''gitleaks.toml''',
'''(.*?)(jpg|gif|doc|pdf|bin|svg|socket)$''',
'''(go.mod|go.sum)$''',
'''salt/nginx/files/enterprise-attack.json'''
]

24
.github/workflows/contrib.yml vendored Normal file
View File

@@ -0,0 +1,24 @@
name: contrib
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]
jobs:
CLAssistant:
runs-on: ubuntu-latest
steps:
- name: "Contributor Check"
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
uses: cla-assistant/github-action@v2.1.3-beta
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'signatures_v1.json'
path-to-document: 'https://securityonionsolutions.com/cla'
allowlist: dependabot[bot],jertel,dougburks,TOoSmOotH,weslambert,defensivedepth,m0duspwnens
remote-organization-name: Security-Onion-Solutions
remote-repository-name: licensing

View File

@@ -12,4 +12,6 @@ jobs:
fetch-depth: '0' fetch-depth: '0'
- name: Gitleaks - name: Gitleaks
uses: zricethezav/gitleaks-action@master uses: gitleaks/gitleaks-action@v1.6.0
with:
config-path: .github/.gitleaks.toml

31
.github/workflows/pythontest.yml vendored Normal file
View File

@@ -0,0 +1,31 @@
name: python-test
on: [push, pull_request]
jobs:
build:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
python-version: ["3.10"]
python-code-path: ["salt/sensoroni/files/analyzers"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install flake8 pytest pytest-cov
find . -name requirements.txt -exec pip install -r {} \;
- name: Lint with flake8
run: |
flake8 ${{ matrix.python-code-path }} --show-source --max-complexity=12 --doctests --max-line-length=200 --statistics
- name: Test with pytest
run: |
pytest ${{ matrix.python-code-path }} --cov=${{ matrix.python-code-path }} --doctest-modules --cov-report=term --cov-fail-under=100 --cov-config=${{ matrix.python-code-path }}/pytest.ini

13
.gitignore vendored
View File

@@ -56,4 +56,15 @@ $RECYCLE.BIN/
# Windows shortcuts # Windows shortcuts
*.lnk *.lnk
# End of https://www.gitignore.io/api/macos,windows # End of https://www.gitignore.io/api/macos,windows
# Pytest output
__pycache__
.pytest_cache
.coverage
*.pyc
.venv
# Analyzer dev/test config files
*_dev.yaml
site-packages

View File

@@ -29,7 +29,11 @@
* See this document's [code styling and conventions section](#code-style-and-conventions) below to be sure your PR fits our code requirements prior to submitting. * See this document's [code styling and conventions section](#code-style-and-conventions) below to be sure your PR fits our code requirements prior to submitting.
* Minor bug fixes can be submitted immediately. However, if you are wanting to make more involved changes, please start a [discussion](https://github.com/Security-Onion-Solutions/securityonion/discussions) first and tell us what you are hoping to achieve. If we agree with your goals, then you can submit the PR. * Change behavior (fix a bug, add a new feature) separately from refactoring code. Refactor pull requests are welcome, but ensure your new code behaves exactly the same as the old.
* **Do not refactor code for non-functional reasons**. If you are submitting a pull request that refactors code, ensure the refactor is improving the functionality of the code you're refactoring (e.g. decreasing complexity, removing reliance on 3rd party tools, improving performance).
* Before submitting a PR with significant changes to the project, [start a discussion](https://github.com/Security-Onion-Solutions/securityonion/discussions/new) explaining what you hope to acheive. The project maintainers will provide feedback and determine whether your goal aligns with the project.
### Code style and conventions ### Code style and conventions
@@ -38,3 +42,5 @@
* All new Bash code should pass [ShellCheck](https://www.shellcheck.net/) analysis. Where errors can be *safely* [ignored](https://github.com/koalaman/shellcheck/wiki/Ignore), the relevant disable directive should be accompanied by a brief explanation as to why the error is being ignored. * All new Bash code should pass [ShellCheck](https://www.shellcheck.net/) analysis. Where errors can be *safely* [ignored](https://github.com/koalaman/shellcheck/wiki/Ignore), the relevant disable directive should be accompanied by a brief explanation as to why the error is being ignored.
* **Ensure all YAML (this includes Salt states and pillars) is properly formatted**. The spec for YAML v1.2 can be found [here](https://yaml.org/spec/1.2/spec.html), however there are numerous online resources with simpler descriptions of its formatting rules. * **Ensure all YAML (this includes Salt states and pillars) is properly formatted**. The spec for YAML v1.2 can be found [here](https://yaml.org/spec/1.2/spec.html), however there are numerous online resources with simpler descriptions of its formatting rules.
* **All code of any language should match the style of other code of that same language within the project.** Be sure that any changes you make do not break from the pre-existing style of Security Onion code.

2
HOTFIX
View File

@@ -1 +1 @@
20221207

View File

@@ -1,14 +1,20 @@
## Security Onion 2.3.100 ## Security Onion 2.3
Security Onion 2.3.100 is here! Security Onion 2.3 is here!
## Screenshots ## Screenshots
Alerts Alerts
![Alerts](./assets/images/screenshots/alerts-1.png) ![Alerts](./assets/images/screenshots/alerts.png)
Dashboards
![Dashboards](./assets/images/screenshots/dashboards.png)
Hunt Hunt
![Hunt](./assets/images/screenshots/hunt-1.png) ![Hunt](./assets/images/screenshots/hunt.png)
Cases
![Cases](./assets/images/screenshots/cases-comments.png)
### Release Notes ### Release Notes

View File

@@ -1,18 +1,18 @@
### 2.3.100-20220131 ISO image built on 2022/01/31 ### 2.3.190-20221207 ISO image built on 2022/12/07
### Download and Verify ### Download and Verify
2.3.100-20220131 ISO image: 2.3.190-20221207 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.3.100-20220131.iso https://download.securityonion.net/file/securityonion/securityonion-2.3.190-20221207.iso
MD5: 9B50774532B77A10E2F52A3F0492A780 MD5: F7F222325A5C1C880E11B667FEE913CA
SHA1: 3C50D2EF4AFFFA8929492C2FC3842FF3EEE0EA5F SHA1: F7DFE818A0CED391548CDF0DE3B4D2A24E16A532
SHA256: CDCBEE6B1FDFB4CAF6C9F80CCADC161366EC337746E8394BF4454FAA2FC11AA1 SHA256: 95E62E0D347A80C8A9CD4979D6F6BE8B302A12424A888410025E9AAB8BD504B2
Signature for ISO image: Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.100-20220131.iso.sig https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.190-20221207.iso.sig
Signing key: Signing key:
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/master/KEYS
@@ -26,22 +26,22 @@ wget https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/ma
Download the signature file for the ISO: Download the signature file for the ISO:
``` ```
wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.100-20220131.iso.sig wget https://github.com/Security-Onion-Solutions/securityonion/raw/master/sigs/securityonion-2.3.190-20221207.iso.sig
``` ```
Download the ISO image: Download the ISO image:
``` ```
wget https://download.securityonion.net/file/securityonion/securityonion-2.3.100-20220131.iso wget https://download.securityonion.net/file/securityonion/securityonion-2.3.190-20221207.iso
``` ```
Verify the downloaded ISO image using the signature file: Verify the downloaded ISO image using the signature file:
``` ```
gpg --verify securityonion-2.3.100-20220131.iso.sig securityonion-2.3.100-20220131.iso gpg --verify securityonion-2.3.190-20221207.iso.sig securityonion-2.3.190-20221207.iso
``` ```
The output should show "Good signature" and the Primary key fingerprint should match what's shown below: The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
``` ```
gpg: Signature made Mon 31 Jan 2022 11:41:30 AM EST using RSA key ID FE507013 gpg: Signature made Wed 07 Dec 2022 02:36:23 PM EST using RSA key ID FE507013
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>" gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
gpg: WARNING: This key is not certified with a trusted signature! gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner. gpg: There is no indication that the signature belongs to the owner.

View File

@@ -1 +1 @@
2.3.100 2.3.190

Binary file not shown.

Before

Width:  |  Height:  |  Size: 245 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 186 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 201 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 386 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 168 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 191 KiB

View File

@@ -13,6 +13,7 @@ role:
fleet: fleet:
heavynode: heavynode:
helixsensor: helixsensor:
idh:
import: import:
manager: manager:
managersearch: managersearch:

View File

@@ -28,6 +28,10 @@ firewall:
ips: ips:
delete: delete:
insert: insert:
idh:
ips:
delete:
insert:
manager: manager:
ips: ips:
delete: delete:

View File

@@ -1,14 +1,2 @@
elasticsearch: elasticsearch:
templates: templates:
- so/so-beats-template.json.jinja
- so/so-case-template.json.jinja
- so/so-common-template.json.jinja
- 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,2 @@
elasticsearch:
index_settings:

View File

@@ -1,15 +1,2 @@
elasticsearch: elasticsearch:
templates: templates:
- so/so-beats-template.json.jinja
- so/so-case-template.json.jinja
- so/so-common-template.json.jinja
- so/so-endgame-template.json.jinja
- so/so-firewall-template.json.jinja
- so/so-flow-template.json.jinja
- so/so-ids-template.json.jinja
- 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,15 +1,2 @@
elasticsearch: elasticsearch:
templates: templates:
- so/so-beats-template.json.jinja
- so/so-case-template.json.jinja
- so/so-common-template.json.jinja
- so/so-endgame-template.json.jinja
- so/so-firewall-template.json.jinja
- so/so-flow-template.json.jinja
- so/so-ids-template.json.jinja
- 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,11 +1,13 @@
{% set node_types = {} %} {% set node_types = {} %}
{% set cached_grains = salt.saltutil.runner('cache.grains', tgt='*') %}
{% for minionid, ip in salt.saltutil.runner( {% for minionid, ip in salt.saltutil.runner(
'mine.get', 'mine.get',
tgt='G@role:so-manager or G@role:so-managersearch or G@role:so-standalone or G@role:so-node or G@role:so-heavynode or G@role:so-receiver or G@role:so-helix ', tgt='G@role:so-manager or G@role:so-managersearch or G@role:so-standalone or G@role:so-node or G@role:so-heavynode or G@role:so-receiver or G@role:so-helix',
fun='network.ip_addrs', fun='network.ip_addrs',
tgt_type='compound') | dictsort() tgt_type='compound') | dictsort()
%} %}
{% set hostname = minionid.split('_')[0] %}
{% set hostname = cached_grains[minionid]['host'] %}
{% set node_type = minionid.split('_')[1] %} {% set node_type = minionid.split('_')[1] %}
{% if node_type not in node_types.keys() %} {% if node_type not in node_types.keys() %}
{% do node_types.update({node_type: {hostname: ip[0]}}) %} {% do node_types.update({node_type: {hostname: ip[0]}}) %}

View File

@@ -13,4 +13,6 @@ logstash:
- so/9600_output_ossec.conf.jinja - so/9600_output_ossec.conf.jinja
- so/9700_output_strelka.conf.jinja - so/9700_output_strelka.conf.jinja
- so/9800_output_logscan.conf.jinja - so/9800_output_logscan.conf.jinja
- so/9801_output_rita.conf.jinja
- so/9802_output_kratos.conf.jinja
- so/9900_output_endgame.conf.jinja - so/9900_output_endgame.conf.jinja

View File

@@ -15,12 +15,12 @@ base:
- logstash - logstash
- logstash.manager - logstash.manager
- logstash.search - logstash.search
- elasticsearch.search - elasticsearch.index_templates
'*_manager': '*_manager':
- logstash - logstash
- logstash.manager - logstash.manager
- elasticsearch.manager - elasticsearch.index_templates
'*_manager or *_managersearch': '*_manager or *_managersearch':
- match: compound - match: compound
@@ -46,7 +46,7 @@ base:
- zeeklogs - zeeklogs
- secrets - secrets
- healthcheck.eval - healthcheck.eval
- elasticsearch.eval - elasticsearch.index_templates
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %} {% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth - elasticsearch.auth
{% endif %} {% endif %}
@@ -60,7 +60,7 @@ base:
- logstash - logstash
- logstash.manager - logstash.manager
- logstash.search - logstash.search
- elasticsearch.search - elasticsearch.index_templates
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %} {% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth - elasticsearch.auth
{% endif %} {% endif %}
@@ -98,10 +98,15 @@ base:
- global - global
- minions.{{ grains.id }} - minions.{{ grains.id }}
'*_idh':
- data.*
- global
- minions.{{ grains.id }}
'*_searchnode': '*_searchnode':
- logstash - logstash
- logstash.search - logstash.search
- elasticsearch.search - elasticsearch.index_templates
- elasticsearch.auth - elasticsearch.auth
- global - global
- minions.{{ grains.id }} - minions.{{ grains.id }}
@@ -117,7 +122,7 @@ base:
'*_import': '*_import':
- zeeklogs - zeeklogs
- secrets - secrets
- elasticsearch.eval - elasticsearch.index_templates
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %} {% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
- elasticsearch.auth - elasticsearch.auth
{% endif %} {% endif %}
@@ -126,3 +131,6 @@ base:
{% endif %} {% endif %}
- global - global
- minions.{{ grains.id }} - minions.{{ grains.id }}
'*_workstation':
- minions.{{ grains.id }}

View File

@@ -48,6 +48,19 @@ zeek:
- securityonion/bpfconf - securityonion/bpfconf
- securityonion/communityid - securityonion/communityid
- securityonion/file-extraction - securityonion/file-extraction
- oui-logging
- icsnpp-modbus
- icsnpp-dnp3
- icsnpp-bacnet
- icsnpp-ethercat
- icsnpp-enip
- icsnpp-opcua-binary
- icsnpp-bsap
- icsnpp-s7comm
- zeek-plugin-tds
- zeek-plugin-profinet
- zeek-spicy-wireguard
- zeek-spicy-stun
'@load-sigs': '@load-sigs':
- frameworks/signatures/detect-windows-shells - frameworks/signatures/detect-windows-shells
redef: redef:

View File

@@ -1,6 +1,5 @@
{% set ZEEKVER = salt['pillar.get']('global:mdengine', '') %} {% set ZEEKVER = salt['pillar.get']('global:mdengine', '') %}
{% set WAZUH = salt['pillar.get']('global:wazuh', '0') %} {% set WAZUH = salt['pillar.get']('global:wazuh', '0') %}
{% set THEHIVE = salt['pillar.get']('manager:thehive', '0') %}
{% set PLAYBOOK = salt['pillar.get']('manager:playbook', '0') %} {% set PLAYBOOK = salt['pillar.get']('manager:playbook', '0') %}
{% set FREQSERVER = salt['pillar.get']('manager:freq', '0') %} {% set FREQSERVER = salt['pillar.get']('manager:freq', '0') %}
{% set DOMAINSTATS = salt['pillar.get']('manager:domainstats', '0') %} {% set DOMAINSTATS = salt['pillar.get']('manager:domainstats', '0') %}
@@ -91,6 +90,16 @@
'schedule', 'schedule',
'docker_clean' 'docker_clean'
], ],
'so-idh': [
'ssl',
'telegraf',
'firewall',
'fleet.install_package',
'filebeat',
'idh',
'schedule',
'docker_clean'
],
'so-import': [ 'so-import': [
'salt.master', 'salt.master',
'ca', 'ca',
@@ -208,6 +217,8 @@
'schedule', 'schedule',
'docker_clean' 'docker_clean'
], ],
'so-workstation': [
],
}, grain='role') %} }, grain='role') %}
{% if FILEBEAT and grains.role in ['so-helixsensor', 'so-eval', 'so-manager', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode', 'so-import', 'so-receiver'] %} {% if FILEBEAT and grains.role in ['so-helixsensor', 'so-eval', 'so-manager', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode', 'so-import', 'so-receiver'] %}
@@ -238,7 +249,7 @@
{% do allowed_states.append('strelka') %} {% do allowed_states.append('strelka') %}
{% endif %} {% endif %}
{% if WAZUH and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode', 'so-receiver']%} {% if WAZUH and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-node', 'so-managersearch', 'so-heavynode', 'so-receiver','so-idh']%}
{% do allowed_states.append('wazuh') %} {% do allowed_states.append('wazuh') %}
{% endif %} {% endif %}
@@ -263,10 +274,6 @@
{% do allowed_states.append('elastalert') %} {% do allowed_states.append('elastalert') %}
{% endif %} {% endif %}
{% if (THEHIVE != 0) and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch'] %}
{% do allowed_states.append('thehive') %}
{% endif %}
{% if (PLAYBOOK !=0) and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch'] %} {% if (PLAYBOOK !=0) and grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch'] %}
{% do allowed_states.append('playbook') %} {% do allowed_states.append('playbook') %}
{% endif %} {% endif %}

View File

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

View File

@@ -19,4 +19,17 @@
extension .log extension .log
dateext dateext
dateyesterday dateyesterday
} }
/opt/so/log/strelka/filecheck.log
{
daily
rotate 14
missingok
copytruncate
compress
create
extension .log
dateext
dateyesterday
}

View File

@@ -38,15 +38,15 @@ socore:
soconfperms: soconfperms:
file.directory: file.directory:
- name: /opt/so/conf - name: /opt/so/conf
- uid: 939 - user: 939
- gid: 939 - group: 939
- dir_mode: 770 - dir_mode: 770
sostatusconf: sostatusconf:
file.directory: file.directory:
- name: /opt/so/conf/so-status - name: /opt/so/conf/so-status
- uid: 939 - user: 939
- gid: 939 - group: 939
- dir_mode: 770 - dir_mode: 770
so-status.conf: so-status.conf:
@@ -57,8 +57,8 @@ so-status.conf:
sosaltstackperms: sosaltstackperms:
file.directory: file.directory:
- name: /opt/so/saltstack - name: /opt/so/saltstack
- uid: 939 - user: 939
- gid: 939 - group: 939
- dir_mode: 770 - dir_mode: 770
so_log_perms: so_log_perms:
@@ -300,8 +300,17 @@ sostatus_log:
- month: '*' - month: '*'
- dayweek: '*' - dayweek: '*'
{% if role in ['eval', 'manager', 'managersearch', 'standalone'] %} {% if role in ['eval', 'manager', 'managersearch', 'standalone'] %}
# Install cron job to determine size of influxdb for telegraf
'du -s -k /nsm/influxdb | cut -f1 > /opt/so/log/telegraf/influxdb_size.log 2>&1':
cron.present:
- user: root
- minute: '*/1'
- hour: '*'
- daymonth: '*'
- month: '*'
- dayweek: '*'
# Lock permissions on the backup directory # Lock permissions on the backup directory
backupdir: backupdir:
file.directory: file.directory:

View File

@@ -15,295 +15,86 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
if [ "$(id -u)" -ne 0 ]; then doc_workstation_url="https://docs.securityonion.net/en/2.3/analyst-vm.html"
echo "This script must be run using sudo!" {# we only want the script to install the workstation if it is CentOS -#}
exit 1 {% if grains.os == 'CentOS' -%}
fi {# if this is a manager -#}
{% if grains.master == grains.id.split('_')|first -%}
INSTALL_LOG=/root/so-analyst-install.log source /usr/sbin/so-common
exec &> >(tee -a "$INSTALL_LOG") pillar_file="/opt/so/saltstack/local/pillar/minions/{{grains.id}}.sls"
log() { if [ -f "$pillar_file" ]; then
msg=$1 if ! grep -q "^workstation:$" "$pillar_file"; then
level=${2:-I}
now=$(TZ=GMT date +"%Y-%m-%dT%H:%M:%SZ")
echo -e "$now | $level | $msg" >> "$INSTALL_LOG" 2>&1
}
error() {
log "$1" "E"
}
info() {
log "$1" "I"
}
title() {
echo -e "\n-----------------------------\n $1\n-----------------------------\n" >> "$INSTALL_LOG" 2>&1
}
logCmd() {
cmd=$1
info "Executing command: $cmd"
$cmd >> "$INSTALL_LOG" 2>&1
}
analyze_system() {
title "System Characteristics"
logCmd "uptime"
logCmd "uname -a"
logCmd "free -h"
logCmd "lscpu"
logCmd "df -h"
logCmd "ip a"
}
analyze_system
OS=$(grep PRETTY_NAME /etc/os-release | grep 'CentOS Linux 7')
if [ $? -ne 0 ]; then
echo "This is an unsupported OS. Please use CentOS 7 to install the analyst node."
exit 1
fi
if [[ "$manufacturer" == "Security Onion Solutions" && "$family" == "Automated" ]]; then
INSTALL=yes
CURLCONTINUE=no
else
INSTALL=''
CURLCONTINUE=''
fi
FIRSTPASS=yes
while [[ $INSTALL != "yes" ]] && [[ $INSTALL != "no" ]]; do
if [[ "$FIRSTPASS" == "yes" ]]; then
clear
echo "###########################################"
echo "## ** W A R N I N G ** ##"
echo "## _______________________________ ##"
echo "## ##"
echo "## Installing the Security Onion ##"
echo "## analyst node on this device will ##"
echo "## make permanent changes to ##"
echo "## the system. ##"
echo "## ##"
echo "###########################################"
echo "Do you wish to continue? (Type the entire word 'yes' to proceed or 'no' to exit)"
FIRSTPASS=no
else
echo "Please type 'yes' to continue or 'no' to exit."
fi
read INSTALL
done
if [[ $INSTALL == "no" ]]; then
echo "Exiting analyst node installation."
exit 0
fi
echo "Testing for internet connection with curl https://securityonionsolutions.com/"
CANCURL=$(curl -sI https://securityonionsolutions.com/ | grep "200 OK")
if [ $? -ne 0 ]; then
FIRSTPASS=yes FIRSTPASS=yes
while [[ $CURLCONTINUE != "yes" ]] && [[ $CURLCONTINUE != "no" ]]; do while [[ $INSTALL != "yes" ]] && [[ $INSTALL != "no" ]]; do
if [[ "$FIRSTPASS" == "yes" ]]; then if [[ "$FIRSTPASS" == "yes" ]]; then
echo "We could not access https://securityonionsolutions.com/." echo "###########################################"
echo "Since packages are downloaded from the internet, internet access is required." echo "## ** W A R N I N G ** ##"
echo "If you would like to ignore this warning and continue anyway, please type 'yes'." echo "## _______________________________ ##"
echo "Otherwise, type 'no' to exit." echo "## ##"
echo "## Installing the Security Onion ##"
echo "## analyst node on this device will ##"
echo "## make permanent changes to ##"
echo "## the system. ##"
echo "## A system reboot will be required ##"
echo "## to complete the install. ##"
echo "## ##"
echo "###########################################"
echo "Do you wish to continue? (Type the entire word 'yes' to proceed or 'no' to exit)"
FIRSTPASS=no FIRSTPASS=no
else else
echo "Please type 'yes' to continue or 'no' to exit." echo "Please type 'yes' to continue or 'no' to exit."
fi fi
read CURLCONTINUE read INSTALL
done done
if [[ "$CURLCONTINUE" == "no" ]]; then
if [[ $INSTALL == "no" ]]; then
echo "Exiting analyst node installation." echo "Exiting analyst node installation."
exit 0 exit 0
fi fi
else
echo "We were able to curl https://securityonionsolutions.com/." # Add workstation pillar to the minion's pillar file
sleep 3 printf '%s\n'\
"workstation:"\
" gui:"\
" enabled: true"\
"" >> "$pillar_file"
echo "Applying the workstation state. This could take some time since there are many packages that need to be installed."
if salt-call state.apply workstation -linfo queue=True; then # make sure the state ran successfully
echo ""
echo "Analyst workstation has been installed!"
echo "Press ENTER to reboot or Ctrl-C to cancel."
read pause
reboot;
else
echo "There was an issue applying the workstation state. Please review the log above or at /opt/so/logs/salt/minion."
fi
else # workstation is already added
echo "The workstation pillar already exists in $pillar_file."
echo "To enable/disable the gui, set 'workstation:gui:enabled' to true or false in $pillar_file."
echo "Additional documentation can be found at $doc_workstation_url."
fi fi
else # if the pillar file doesn't exist
# Install a GUI text editor echo "Could not find $pillar_file and add the workstation pillar."
yum -y install gedit
# Install misc utils
yum -y install wget curl unzip epel-release yum-plugin-versionlock;
# Install xWindows
yum -y groupinstall "X Window System";
yum -y install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts;
unlink /etc/systemd/system/default.target;
ln -sf /lib/systemd/system/graphical.target /etc/systemd/system/default.target;
yum -y install file-roller
# Install Mono - prereq for NetworkMiner
yum -y install mono-core mono-basic mono-winforms expect
# Install NetworkMiner
yum -y install libcanberra-gtk2;
wget https://www.netresec.com/?download=NetworkMiner -O /tmp/nm.zip;
mkdir -p /opt/networkminer/
unzip /tmp/nm.zip -d /opt/networkminer/;
rm /tmp/nm.zip;
mv /opt/networkminer/NetworkMiner_*/* /opt/networkminer/
chmod +x /opt/networkminer/NetworkMiner.exe;
chmod -R go+w /opt/networkminer/AssembledFiles/;
chmod -R go+w /opt/networkminer/Captures/;
# Create networkminer shim
cat << EOF >> /bin/networkminer
#!/bin/bash
/bin/mono /opt/networkminer/NetworkMiner.exe --noupdatecheck "\$@"
EOF
chmod +x /bin/networkminer
# Convert networkminer ico file to png format
yum -y install ImageMagick
convert /opt/networkminer/networkminericon.ico /opt/networkminer/networkminericon.png
# Create menu entry
cat << EOF >> /usr/share/applications/networkminer.desktop
[Desktop Entry]
Name=NetworkMiner
Comment=NetworkMiner
Encoding=UTF-8
Exec=/bin/networkminer %f
Icon=/opt/networkminer/networkminericon-4.png
StartupNotify=true
Terminal=false
X-MultipleArgs=false
Type=Application
MimeType=application/x-pcap;
Categories=Network;
EOF
# Set default monospace font to Liberation
cat << EOF >> /etc/fonts/local.conf
<match target="pattern">
<test name="family" qual="any">
<string>monospace</string>
</test>
<edit binding="strong" mode="prepend" name="family">
<string>Liberation Mono</string>
</edit>
</match>
EOF
# Install Wireshark for Gnome
yum -y install wireshark-gnome;
# Install dnsiff
yum -y install dsniff;
# Install hping3
yum -y install hping3;
# Install netsed
yum -y install netsed;
# Install ngrep
yum -y install ngrep;
# Install scapy
yum -y install python36-scapy;
# Install ssldump
yum -y install ssldump;
# Install tcpdump
yum -y install tcpdump;
# Install tcpflow
yum -y install tcpflow;
# Install tcpxtract
yum -y install tcpxtract;
# Install whois
yum -y install whois;
# Install foremost
yum -y install https://forensics.cert.org/centos/cert/7/x86_64//foremost-1.5.7-13.1.el7.x86_64.rpm;
# Install chromium
yum -y install chromium;
# Install tcpstat
yum -y install https://github.com/Security-Onion-Solutions/securityonion-docker-rpm/releases/download/securityonion-tcpstat-1.5.0/securityonion-tcpstat-1.5.0.rpm;
# Install tcptrace
yum -y install https://github.com/Security-Onion-Solutions/securityonion-docker-rpm/releases/download/securityonion-tcptrace-6.6.7/securityonion-tcptrace-6.6.7.rpm;
# Install sslsplit
yum -y install libevent;
yum -y install sslsplit;
# Install Bit-Twist
yum -y install https://github.com/Security-Onion-Solutions/securityonion-docker-rpm/releases/download/securityonion-bittwist-2.0.0/securityonion-bittwist-2.0.0.rpm;
# Install chaosreader
yum -y install perl-IO-Compress perl-Net-DNS;
yum -y install https://github.com/Security-Onion-Solutions/securityonion-docker-rpm/releases/download/securityonion-chaosreader-0.95.10/securityonion-chaosreader-0.95.10.rpm;
chmod +x /bin/chaosreader;
if [ -f ../../files/analyst/README ]; then
cp ../../files/analyst/README /;
cp ../../files/analyst/so-wallpaper.jpg /usr/share/backgrounds/;
cp ../../files/analyst/so-lockscreen.jpg /usr/share/backgrounds/;
cp ../../files/analyst/so-login-logo-dark.svg /usr/share/pixmaps/;
else
cp /opt/so/saltstack/default/salt/common/files/analyst/README /;
cp /opt/so/saltstack/default/salt/common/files/analyst/so-wallpaper.jpg /usr/share/backgrounds/;
cp /opt/so/saltstack/default/salt/common/files/analyst/so-lockscreen.jpg /usr/share/backgrounds/;
cp /opt/so/saltstack/default/salt/common/files/analyst/so-login-logo-dark.svg /usr/share/pixmaps/;
fi fi
# Set background wallpaper {#- if this is not a manager #}
cat << EOF >> /etc/dconf/db/local.d/00-background {% else -%}
# Specify the dconf path
[org/gnome/desktop/background]
# Specify the path to the desktop background image file echo "Since this is not a manager, the pillar values to enable analyst workstation must be set manually. Please view the documentation at $doc_workstation_url."
picture-uri='file:///usr/share/backgrounds/so-wallpaper.jpg'
# Specify one of the rendering options for the background image:
# 'none', 'wallpaper', 'centered', 'scaled', 'stretched', 'zoom', 'spanned'
picture-options='zoom'
# Specify the left or top color when drawing gradients or the solid color
primary-color='000000'
# Specify the right or bottom color when drawing gradients
secondary-color='FFFFFF'
EOF
# Set lock screen {#- endif if this is a manager #}
cat << EOF >> /etc/dconf/db/local.d/00-screensaver {% endif -%}
[org/gnome/desktop/session]
idle-delay=uint32 180
[org/gnome/desktop/screensaver] {#- if not CentOS #}
lock-enabled=true {%- else %}
lock-delay=uint32 120
picture-options='zoom'
picture-uri='file:///usr/share/backgrounds/so-lockscreen.jpg'
EOF
cat << EOF >> /etc/dconf/db/local.d/locks/screensaver echo "The Analyst Workstation can only be installed on CentOS. Please view the documentation at $doc_workstation_url."
/org/gnome/desktop/session/idle-delay
/org/gnome/desktop/screensaver/lock-enabled
/org/gnome/desktop/screensaver/lock-delay
EOF
# Do not show the user list at login screen {#- endif grains.os == CentOS #}
cat << EOF >> /etc/dconf/db/local.d/00-login-screen {% endif -%}
[org/gnome/login-screen]
logo='/usr/share/pixmaps/so-login-logo-dark.svg'
disable-user-list=true
EOF
dconf update; exit 0
echo
echo "Analyst workstation has been installed!"
echo "Press ENTER to reboot or Ctrl-C to cancel."
read pause
reboot;

View File

@@ -29,7 +29,7 @@ fi
interface="$1" interface="$1"
shift shift
sudo tcpdump -i $interface -ddd $@ | tail -n+2 | tcpdump -i $interface -ddd $@ | tail -n+2 |
while read line; do while read line; do
cols=( $line ) cols=( $line )
printf "%04x%02x%02x%08x" ${cols[0]} ${cols[1]} ${cols[2]} ${cols[3]} printf "%04x%02x%02x%08x" ${cols[0]} ${cols[1]} ${cols[2]} ${cols[3]}

View File

@@ -120,6 +120,30 @@ check_elastic_license() {
fi fi
} }
check_salt_master_status() {
local timeout=$1
echo "Checking if we can talk to the salt master"
salt-call state.show_top concurrent=true
return
}
check_salt_minion_status() {
local timeout=$1
echo "Checking if the salt minion will respond to jobs" >> "$setup_log" 2>&1
salt "$MINION_ID" test.ping -t $timeout > /dev/null 2>&1
local status=$?
if [ $status -gt 0 ]; then
echo " Minion did not respond" >> "$setup_log" 2>&1
else
echo " Received job response from salt minion" >> "$setup_log" 2>&1
fi
return $status
}
copy_new_files() { copy_new_files() {
# Copy new files over to the salt dir # Copy new files over to the salt dir
cd $UPDATE_DIR cd $UPDATE_DIR
@@ -249,6 +273,7 @@ lookup_salt_value() {
group=$2 group=$2
kind=$3 kind=$3
output=${4:-newline_values_only} output=${4:-newline_values_only}
local=$5
if [ -z "$kind" ]; then if [ -z "$kind" ]; then
kind=pillar kind=pillar
@@ -258,7 +283,13 @@ lookup_salt_value() {
group=${group}: group=${group}:
fi fi
salt-call --no-color ${kind}.get ${group}${key} --out=${output} if [[ "$local" == "--local" ]] || [[ "$local" == "local" ]]; then
local="--local"
else
local=""
fi
salt-call --no-color ${kind}.get ${group}${key} --out=${output} ${local}
} }
lookup_pillar() { lookup_pillar() {
@@ -360,6 +391,7 @@ run_check_net_err() {
exit $exit_code exit $exit_code
fi fi
} }
set_cron_service_name() { set_cron_service_name() {
if [[ "$OS" == "centos" ]]; then if [[ "$OS" == "centos" ]]; then
cron_service_name="crond" cron_service_name="crond"

View File

@@ -17,5 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-stop cortex $1 echo "TheHive and its components are no longer part of Security Onion"
/usr/sbin/so-start thehive $1

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-start thehive $1 echo "TheHive and its components are no longer part of Security Onion"

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-stop cortex $1 echo "TheHive and its components are no longer part of Security Onion"

View File

@@ -17,38 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
usage() { echo "TheHive and its components are no longer part of Security Onion"
echo "Usage: $0 <new-user-name>"
echo ""
echo "Adds a new user to Cortex. The new password will be read from STDIN."
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER=$1
CORTEX_KEY=$(lookup_pillar cortexorguserkey)
CORTEX_API_URL="$(lookup_pillar url_base)/cortex/api"
CORTEX_ORG_NAME=$(lookup_pillar cortexorgname)
CORTEX_USER=$USER
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs CORTEX_PASS
# Create new user in Cortex
resp=$(curl -sk -XPOST -H "Authorization: Bearer $CORTEX_KEY" -H "Content-Type: application/json" -L "https://$CORTEX_API_URL/user" -d "{\"name\": \"$CORTEX_USER\",\"roles\": [\"read\",\"analyze\",\"orgadmin\"],\"organization\": \"$CORTEX_ORG_NAME\",\"login\": \"$CORTEX_USER\",\"password\" : \"$CORTEX_PASS\" }")
if [[ "$resp" =~ \"status\":\"Ok\" ]]; then
echo "Successfully added user to Cortex."
else
echo "Unable to add user to Cortex; user might already exist."
echo $resp
exit 2
fi

View File

@@ -17,41 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
usage() { echo "TheHive and its components are no longer part of Security Onion"
echo "Usage: $0 <user-name> <true|false>"
echo ""
echo "Enables or disables a user in Cortex."
exit 1
}
if [ $# -ne 2 ]; then
usage
fi
USER=$1
CORTEX_KEY=$(lookup_pillar cortexorguserkey)
CORTEX_API_URL="$(lookup_pillar url_base)/cortex/api"
CORTEX_USER=$USER
case "${2^^}" in
FALSE | NO | 0)
CORTEX_STATUS=Locked
;;
TRUE | YES | 1)
CORTEX_STATUS=Ok
;;
*)
usage
;;
esac
resp=$(curl -sk -XPATCH -H "Authorization: Bearer $CORTEX_KEY" -H "Content-Type: application/json" -L "https://$CORTEX_API_URL/user/${CORTEX_USER}" -d "{\"status\":\"${CORTEX_STATUS}\" }")
if [[ "$resp" =~ \"status\":\"Locked\" || "$resp" =~ \"status\":\"Ok\" ]]; then
echo "Successfully updated user in Cortex."
else
echo "Failed to update user in Cortex."
echo $resp
exit 2
fi

View File

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

View File

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

View File

@@ -18,4 +18,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
{{ ELASTICCURL }} -s -k -L https://{{ NODEIP }}:9200/_cat/indices?pretty {{ ELASTICCURL }} -s -k -L "https://{{ NODEIP }}:9200/_cat/indices?pretty&v&s=index"

View File

@@ -17,9 +17,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # 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] }} 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 ESPORT=9200
THEHIVEESPORT=9400
echo "Removing read only attributes for indices..." echo "Removing read only attributes for indices..."
echo echo
{{ ELASTICCURL }} -s -k -XPUT -H "Content-Type: application/json" -L https://$IP:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 2>&1 | if grep -q ack; then echo "Index settings updated..."; else echo "There was any issue updating the read-only attribute. Please ensure Elasticsearch is running.";fi; {{ ELASTICCURL }} -s -k -XPUT -H "Content-Type: application/json" -L https://$IP:9200/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 2>&1 | if grep -q ack; then echo "Index settings updated..."; else echo "There was any issue updating the read-only attribute. Please ensure Elasticsearch is running.";fi;
{{ ELASTICCURL }} -XPUT -H "Content-Type: application/json" -L http://$IP:9400/_all/_settings -d '{"index.blocks.read_only_allow_delete": null}' 2>&1 | if grep -q ack; then echo "Index settings updated..."; else echo "There was any issue updating the read-only attribute. Please ensure Elasticsearch is running.";fi;

View File

@@ -49,19 +49,18 @@ if [ "$ELASTICSEARCH_CONNECTED" == "no" ]; then
fi fi
echo "Testing to see if the pipelines are already applied" echo "Testing to see if the pipelines are already applied"
ESVER=$({{ ELASTICCURL }} -sk https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT" |jq .version.number |tr -d \") ESVER=$({{ ELASTICCURL }} -sk https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT" |jq .version.number |tr -d \")
PIPELINES=$({{ ELASTICCURL }} -sk https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"/_ingest/pipeline/filebeat-$ESVER-suricata-eve-pipeline | jq . | wc -c) PIPELINES=$({{ ELASTICCURL }} -sk https://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"/_ingest/pipeline/filebeat-$ESVER-elasticsearch-server-pipeline | jq . | wc -c)
if [[ "$PIPELINES" -lt 5 ]]; then if [[ "$PIPELINES" -lt 5 ]] || [ "$2" != "--force" ]; then
echo "Setting up ingest pipeline(s)" echo "Setting up ingest pipeline(s)"
{% from 'filebeat/modules.map.jinja' import MODULESMERGED with context %}
for MODULE in activemq apache auditd aws azure barracuda bluecoat cef checkpoint cisco coredns crowdstrike cyberark cylance elasticsearch envoyproxy f5 fortinet gcp google_workspace googlecloud gsuite haproxy ibmmq icinga iis imperva infoblox iptables juniper kafka kibana logstash microsoft mongodb mssql mysql nats netscout nginx o365 okta osquery panw postgresql rabbitmq radware redis santa snort snyk sonicwall sophos squid suricata system threatintel tomcat traefik zeek zscaler {%- for module in MODULESMERGED.modules.keys() %}
do {%- for fileset in MODULESMERGED.modules[module] %}
echo "Loading $MODULE" echo "{{ module }}.{{ fileset}}"
docker exec -i so-filebeat filebeat setup modules -pipelines -modules $MODULE -c $FB_MODULE_YML docker exec -i so-filebeat filebeat setup --pipelines --modules {{ module }} -M "{{ module }}.{{ fileset }}.enabled=true" -c $FB_MODULE_YML
sleep 2 sleep 0.5
done {% endfor %}
{%- endfor %}
else else
exit 0 exit 0
fi fi

View File

@@ -16,6 +16,7 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
import os import os
import re
import subprocess import subprocess
import sys import sys
import time import time
@@ -26,6 +27,7 @@ hostgroupsFilename = "/opt/so/saltstack/local/salt/firewall/hostgroups.local.yam
portgroupsFilename = "/opt/so/saltstack/local/salt/firewall/portgroups.local.yaml" portgroupsFilename = "/opt/so/saltstack/local/salt/firewall/portgroups.local.yaml"
defaultPortgroupsFilename = "/opt/so/saltstack/default/salt/firewall/portgroups.yaml" defaultPortgroupsFilename = "/opt/so/saltstack/default/salt/firewall/portgroups.yaml"
supportedProtocols = ['tcp', 'udp'] supportedProtocols = ['tcp', 'udp']
readonly = False
def showUsage(options, args): def showUsage(options, args):
print('Usage: {} [OPTIONS] <COMMAND> [ARGS...]'.format(sys.argv[0])) print('Usage: {} [OPTIONS] <COMMAND> [ARGS...]'.format(sys.argv[0]))
@@ -70,10 +72,26 @@ def checkApplyOption(options):
return apply(None, None) return apply(None, None)
def loadYaml(filename): def loadYaml(filename):
global readonly
file = open(filename, "r") file = open(filename, "r")
return yaml.safe_load(file.read()) content = file.read()
# Remove Jinja templating (for read-only operations)
if "{%" in content or "{{" in content:
content = content.replace("{{ ssh_port }}", "22")
pattern = r'.*({%|{{|}}|%}).*'
content = re.sub(pattern, "", content)
readonly = True
return yaml.safe_load(content)
def writeYaml(filename, content): def writeYaml(filename, content):
global readonly
if readonly:
raise Exception("Cannot write yaml file that has been flagged as read-only")
file = open(filename, "w") file = open(filename, "w")
return yaml.dump(content, file) return yaml.dump(content, file)

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014-2022 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 idh $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014-2022 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 idh $1

View File

@@ -0,0 +1,20 @@
#!/bin/bash
# Copyright 2014-2022 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 idh $1

View File

@@ -55,6 +55,7 @@ container_list() {
"so-fleet" "so-fleet"
"so-fleet-launcher" "so-fleet-launcher"
"so-grafana" "so-grafana"
"so-idh"
"so-idstools" "so-idstools"
"so-influxdb" "so-influxdb"
"so-kibana" "so-kibana"
@@ -74,9 +75,6 @@ container_list() {
"so-strelka-manager" "so-strelka-manager"
"so-suricata" "so-suricata"
"so-telegraf" "so-telegraf"
"so-thehive"
"so-thehive-cortex"
"so-thehive-es"
"so-wazuh" "so-wazuh"
"so-zeek" "so-zeek"
) )

View File

@@ -53,7 +53,9 @@ if [ "$CONTINUE" == "y" ]; then
docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'$NEW_IP' IDENTIFIED BY '$(lookup_pillar_secret 'mysql')' WITH GRANT OPTION;" &> /dev/null docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'$NEW_IP' IDENTIFIED BY '$(lookup_pillar_secret 'mysql')' WITH GRANT OPTION;" &> /dev/null
echo "Removing MySQL root user from $OLD_IP" echo "Removing MySQL root user from $OLD_IP"
docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "DROP USER 'root'@'$OLD_IP';" &> /dev/null docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "DROP USER 'root'@'$OLD_IP';" &> /dev/null
echo "Updating Kibana dashboards"
salt-call state.apply kibana.so_savedobjects_defaults -l info queue=True
echo "The IP has been changed from $OLD_IP to $NEW_IP." echo "The IP has been changed from $OLD_IP to $NEW_IP."
echo echo

View File

@@ -1,6 +1,7 @@
#!/bin/bash
. /usr/sbin/so-common . /usr/sbin/so-common
{% set HIGHLANDER = salt['pillar.get']('global:highlander', False) %} {% set HIGHLANDER = salt['pillar.get']('global:highlander', False) %}
wait_for_web_response "http://localhost:5601/app/kibana" "Elastic" 300 "{{ ELASTICCURL }}" wait_for_web_response "http://localhost:5601/api/spaces/space/default" "default" 300 "{{ ELASTICCURL }}"
## This hackery will be removed if using Elastic Auth ## ## This hackery will be removed if using Elastic Auth ##
# Let's snag a cookie from Kibana # Let's snag a cookie from Kibana
@@ -12,6 +13,6 @@ echo "Setting up default Space:"
{% if HIGHLANDER %} {% if HIGHLANDER %}
{{ ELASTICCURL }} -b "sid=$SESSIONCOOKIE" -L -X PUT "localhost:5601/api/spaces/space/default" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d' {"id":"default","name":"Default","disabledFeatures":["enterpriseSearch"]} ' >> /opt/so/log/kibana/misc.log {{ ELASTICCURL }} -b "sid=$SESSIONCOOKIE" -L -X PUT "localhost:5601/api/spaces/space/default" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d' {"id":"default","name":"Default","disabledFeatures":["enterpriseSearch"]} ' >> /opt/so/log/kibana/misc.log
{% else %} {% else %}
{{ ELASTICCURL }} -b "sid=$SESSIONCOOKIE" -L -X PUT "localhost:5601/api/spaces/space/default" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d' {"id":"default","name":"Default","disabledFeatures":["ml","enterpriseSearch","siem","logs","infrastructure","apm","uptime","monitoring","stackAlerts","actions","fleet"]} ' >> /opt/so/log/kibana/misc.log {{ ELASTICCURL }} -b "sid=$SESSIONCOOKIE" -L -X PUT "localhost:5601/api/spaces/space/default" -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -d' {"id":"default","name":"Default","disabledFeatures":["ml","enterpriseSearch","siem","logs","infrastructure","apm","uptime","monitoring","stackAlerts","actions","fleet","fleetv2","securitySolutionCases"]} ' >> /opt/so/log/kibana/misc.log
{% endif %} {% endif %}
echo echo

View File

@@ -20,7 +20,7 @@ if [ $# -lt 2 ]; then
exit 1 exit 1
fi fi
docker exec -it so-sensoroni scripts/stenoquery.sh "$1" -w /nsm/pcapout/$2.pcap docker exec -t so-sensoroni scripts/stenoquery.sh "$1" -w /nsm/pcapout/$2.pcap
echo "" echo ""
echo "If successful, the output was written to: /nsm/pcapout/$2.pcap" echo "If successful, the output was written to: /nsm/pcapout/$2.pcap"

View File

@@ -17,11 +17,21 @@
. /usr/sbin/so-common . /usr/sbin/so-common
# Regenerate ElastAlert & update Plays if ! [ -f /opt/so/state/playbook_regen_plays ] || [ "$1" = "--force" ]; then
docker exec so-soctopus python3 playbook_play-update.py
# Delete current Elastalert Rules echo "Refreshing Sigma & regenerating plays... "
rm /opt/so/rules/elastalert/playbook/*.yaml
# Regenerate Elastalert Rules # Regenerate ElastAlert & update Plays
so-playbook-sync docker exec so-soctopus python3 playbook_play-update.py
# Delete current Elastalert Rules
rm /opt/so/rules/elastalert/playbook/*.yaml
# Regenerate Elastalert Rules
so-playbook-sync
# Create state file
touch /opt/so/state/playbook_regen_plays
else
printf "\nState file found, exiting...\nRerun with --force to override.\n"
fi

View File

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

View File

@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# Usage: so-restart filebeat | kibana | playbook | thehive # Usage: so-restart filebeat | kibana | playbook
. /usr/sbin/so-common . /usr/sbin/so-common
@@ -31,7 +31,6 @@ if [ $# -ge 1 ]; then
fi fi
case $1 in case $1 in
"cortex") docker stop so-thehive-cortex so-thehive && docker rm so-thehive-cortex so-thehive && salt-call state.apply hive queue=True;;
"steno") docker stop so-steno && docker rm so-steno && salt-call state.apply pcap queue=True;; "steno") docker stop so-steno && docker rm so-steno && salt-call state.apply pcap queue=True;;
*) docker stop so-$1 ; docker rm so-$1 ; salt-call state.apply $1 queue=True;; *) docker stop so-$1 ; docker rm so-$1 ; salt-call state.apply $1 queue=True;;
esac esac

View File

@@ -32,11 +32,17 @@ copy_new_files() {
# Copy new files over to the salt dir # Copy new files over to the salt dir
cd /tmp/sogh/securityonion cd /tmp/sogh/securityonion
git checkout $BRANCH git checkout $BRANCH
VERSION=$(cat VERSION)
# We need to overwrite if there is a repo file
if [ -d /opt/so/repo ]; then
tar -czf /opt/so/repo/"$VERSION".tar.gz -C "$(pwd)/.." .
fi
rsync -a salt $default_salt_dir/ rsync -a salt $default_salt_dir/
rsync -a pillar $default_salt_dir/ rsync -a pillar $default_salt_dir/
chown -R socore:socore $default_salt_dir/salt chown -R socore:socore $default_salt_dir/salt
chown -R socore:socore $default_salt_dir/pillar chown -R socore:socore $default_salt_dir/pillar
chmod 755 $default_salt_dir/pillar/firewall/addfirewall.sh chmod 755 $default_salt_dir/pillar/firewall/addfirewall.sh
rm -rf /tmp/sogh rm -rf /tmp/sogh
} }

View File

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

View File

@@ -15,7 +15,7 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
# Usage: so-start all | filebeat | kibana | playbook | thehive # Usage: so-start all | filebeat | kibana | playbook
. /usr/sbin/so-common . /usr/sbin/so-common

View File

@@ -15,10 +15,6 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
if ! [ "$(id -u)" = 0 ]; then
echo "This command must be run as root"
exit 1
fi
display_help() { display_help() {
cat <<HELP_USAGE cat <<HELP_USAGE
@@ -100,10 +96,15 @@ create_expected_container_list() {
} }
# {% raw %}
populate_container_lists() { populate_container_lists() {
# TODO: check exit code directly, not with $?
systemctl is-active --quiet docker systemctl is-active --quiet docker
if [[ $? = 0 ]]; then if [[ $? = 0 ]]; then
# TODO: look into using docker templates instead of curl and jq
# Ex docker ps --format "{{.Names}}\t{{.State}}"
# TODO: convert the output to an associtive array
mapfile -t docker_raw_list < <(curl -s --unix-socket /var/run/docker.sock http:/v1.40/containers/json?all=1 \ mapfile -t docker_raw_list < <(curl -s --unix-socket /var/run/docker.sock http:/v1.40/containers/json?all=1 \
| jq -c '.[] | { Name: .Names[0], State: .State }' \ | jq -c '.[] | { Name: .Names[0], State: .State }' \
| tr -d '/{"}') | tr -d '/{"}')
@@ -167,60 +168,55 @@ parse_status() {
fi fi
} }
# {% raw %}
print_line() { print_line() {
local service_name=${1} local service_name="${1}"
local service_state="$( parse_status ${1} ${2} )" local service_state="" ; service_state="$( parse_status "${1}" "${2}" )"
local columns=$(tput cols) # XXX: What will we do if tput isn't avalable?
local state_color="\e[0m" local line=""
local PADDING_CONSTANT=""
local columns=35 # value used if not printing to a tty
local PADDING_CONSTANT=15 if (( __tty == 1 )); then
local reset_attr; reset_attr="$(tput sgr0)" # reset all attributes
local bold; bold="$(tput bold)"
local red; red="$(tput setaf 1)"
local green; green="$(tput setaf 2)"
local yellow; yellow="$(tput setaf 3)"
PADDING_CONSTANT=15 # whitespace + brackets + 1
if [[ $service_state = "$ERROR_STRING" ]] || [[ $service_state = "$MISSING_STRING" ]]; then columns=$(tput cols)
state_color="\e[1;31m" fi
if [[ "$EXITCODE" -eq 0 ]]; then
EXITCODE=1 # construct a line of '------' so that the names and states are all aligned
fi linewidth=$(( columns - PADDING_CONSTANT - ${#service_name} - ${#service_state} ))
for i in $(seq 0 "${linewidth}"); do
line="${line}-"
done
if [[ $service_state = "$ERROR_STRING" ]] \
|| [[ $service_state = "$MISSING_STRING" ]]; then
state_color="${red:-}"
if [[ "$EXITCODE" -eq 0 ]]; then
EXITCODE=1
fi
elif [[ $service_state = "$SUCCESS_STRING" ]]; then elif [[ $service_state = "$SUCCESS_STRING" ]]; then
state_color="\e[1;32m" state_color="${green:-}"
elif [[ $service_state = "$PENDING_STRING" ]] || [[ $service_state = "$DISABLED_STRING" ]] || [[ $service_state = "$STARTING_STRING" ]] || [[ $service_state = "$WAIT_START_STRING" ]]; then elif [[ $service_state = "$PENDING_STRING" ]] \
state_color="\e[1;33m" || [[ $service_state = "$DISABLED_STRING" ]] \
EXITCODE=2 || [[ $service_state = "$STARTING_STRING" ]] \
|| [[ $service_state = "$WAIT_START_STRING" ]]; then
state_color="${yellow:-}"
EXITCODE=2
fi fi
printf " $service_name " service_state="${bold:-}${state_color:-}${service_state}${reset_attr:-}"
for i in $(seq 0 $(( $columns - $PADDING_CONSTANT - ${#service_name} - ${#service_state} ))); do line="${bold:-}${state_color:-}${line:-}${reset_attr:-}"
printf "${state_color}%b\e[0m" "-" printf " %s %s [ %s ] \n" "${service_name}" "${line:-}" "${service_state}"
done
printf " [ "
printf "${state_color}%b\e[0m" "$service_state"
printf "%s \n" " ]"
}
non_term_print_line() {
local service_name=${1}
local service_state="$( parse_status ${1} ${2} )"
if [[ $service_state = "$ERROR_STRING" ]] || [[ $service_state = "$MISSING_STRING" ]]; then
if [[ "$EXITCODE" -eq 0 ]]; then
EXITCODE=1
fi
elif [[ $service_state = "$PENDING_STRING" ]] || [[ $service_state = "$DISABLED_STRING" ]] || [[ $service_state = "$STARTING_STRING" ]] || [[ $service_state = "$WAIT_START_STRING" ]]; then
EXITCODE=2
fi
printf " $service_name "
for i in $(seq 0 $(( 35 - ${#service_name} - ${#service_state} ))); do
printf "-"
done
printf " [ "
printf "$service_state"
printf "%s \n" " ]"
} }
main() { main() {
is_tty
# if running from salt # if running from salt
if [ "$CALLER" == 'salt-call' ] || [ "$CALLER" == 'salt-minion' ]; then if [ "$CALLER" == 'salt-call' ] || [ "$CALLER" == 'salt-minion' ]; then
printf "\n" printf "\n"
@@ -228,20 +224,19 @@ main() {
systemctl is-active --quiet docker systemctl is-active --quiet docker
if [[ $? = 0 ]]; then if [[ $? = 0 ]]; then
non_term_print_line "Docker" "running" print_line "Docker" "running"
else else
non_term_print_line "Docker" "exited" print_line "Docker" "exited"
fi fi
populate_container_lists populate_container_lists
printf "\n" printf "\nChecking container statuses\n\n"
printf "Checking container statuses\n\n"
local num_containers=${#container_name_list[@]} local num_containers=${#container_name_list[@]}
for i in $(seq 0 $(($num_containers - 1 ))); do for i in $(seq 0 $(($num_containers - 1 ))); do
non_term_print_line ${container_name_list[$i]} ${container_state_list[$i]} print_line ${container_name_list[$i]} ${container_state_list[$i]}
done done
printf "\n" printf "\n"
@@ -257,9 +252,12 @@ main() {
else else
print_or_parse="print_line" print_or_parse="print_line"
local focus_color="\e[1;34m" if (( __tty == 1 )) ; then
printf "\n" local bold; bold="$(tput bold)"
printf "${focus_color}%b\e[0m" "Checking Docker status\n\n" local focus_color; focus_color="$(tput setaf 4)"
local reset_attr; reset_attr="$(tput sgr0)" # reset all attributes
fi
printf "\n${bold}${focus_color:-}%s${reset_attr:-}\n\n" "Checking Docker status"
fi fi
systemctl is-active --quiet docker systemctl is-active --quiet docker
@@ -272,8 +270,7 @@ main() {
populate_container_lists populate_container_lists
if [ "$QUIET" = false ]; then if [ "$QUIET" = false ]; then
printf "\n" printf "\n${bold}${focus_color:-}%s${reset_attr:-}\n\n" "Checking container statuses"
printf "${focus_color}%b\e[0m" "Checking container statuses\n\n"
fi fi
local num_containers=${#container_name_list[@]} local num_containers=${#container_name_list[@]}
@@ -288,20 +285,30 @@ main() {
fi fi
} }
is_tty() {
__tty=0
[ -t 1 ] && __tty=1
# don't print colors if NO_COLOR is set to anything
[ "${#NO_COLOR}" -ne 0 ] && __tty=0
}
# {% endraw %} # {% endraw %}
if ! [ "$(id -u)" = 0 ]; then
echo "${0}: This command must be run as root"
exit 1
fi
while getopts ':hq' OPTION; do while getopts ':hq' OPTION; do
case "$OPTION" in case "$OPTION" in
h) h)
display_help display_help
exit 0 exit 0
;; ;;
q) q) QUIET=true ;;
QUIET=true
;;
\?) \?)
display_help display_help
exit 0 exit 1
;; ;;
esac esac
done done

View File

@@ -17,5 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-stop thehive-es $1 echo "TheHive and its components are no longer part of Security Onion"
/usr/sbin/so-start thehive $1

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-start thehive $1 echo "TheHive and its components are no longer part of Security Onion"

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-stop thehive-es $1 echo "TheHive and its components are no longer part of Security Onion"

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-restart thehive $1 echo "TheHive and its components are no longer part of Security Onion"

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-start thehive $1 echo "TheHive and its components are no longer part of Security Onion"

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
/usr/sbin/so-stop thehive $1 echo "TheHive and its components are no longer part of Security Onion"

View File

@@ -17,38 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
usage() { echo "TheHive and its components are no longer part of Security Onion"
echo "Usage: $0 <new-user-name>"
echo ""
echo "Adds a new user to TheHive. The new password will be read from STDIN."
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER=$1
THEHIVE_KEY=$(lookup_pillar hivekey)
THEHVIE_API_URL="$(lookup_pillar url_base)/thehive/api"
THEHIVE_USER=$USER
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs THEHIVE_PASS
check_password_and_exit "$THEHIVE_PASS"
# Create new user in TheHive
resp=$(curl -sk -XPOST -H "Authorization: Bearer $THEHIVE_KEY" -H "Content-Type: application/json" -L "https://$THEHVIE_API_URL/user" -d "{\"login\" : \"$THEHIVE_USER\",\"name\" : \"$THEHIVE_USER\",\"roles\" : [\"read\",\"alert\",\"write\",\"admin\"],\"preferences\" : \"{}\",\"password\" : \"$THEHIVE_PASS\"}")
if [[ "$resp" =~ \"status\":\"Ok\" ]]; then
echo "Successfully added user to TheHive"
else
echo "Unable to add user to TheHive; user might already exist"
echo $resp
exit 2
fi

View File

@@ -17,41 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
usage() { echo "TheHive and its components are no longer part of Security Onion"
echo "Usage: $0 <user-name> <true|false>"
echo ""
echo "Enables or disables a user in TheHive."
exit 1
}
if [ $# -ne 2 ]; then
usage
fi
USER=$1
THEHIVE_KEY=$(lookup_pillar hivekey)
THEHVIE_API_URL="$(lookup_pillar url_base)/thehive/api"
THEHIVE_USER=$USER
case "${2^^}" in
FALSE | NO | 0)
THEHIVE_STATUS=Locked
;;
TRUE | YES | 1)
THEHIVE_STATUS=Ok
;;
*)
usage
;;
esac
resp=$(curl -sk -XPATCH -H "Authorization: Bearer $THEHIVE_KEY" -H "Content-Type: application/json" -L "https://$THEHVIE_API_URL/user/${THEHIVE_USER}" -d "{\"status\":\"${THEHIVE_STATUS}\" }")
if [[ "$resp" =~ \"status\":\"Locked\" || "$resp" =~ \"status\":\"Ok\" ]]; then
echo "Successfully updated user in TheHive"
else
echo "Failed to update user in TheHive"
echo "$resp"
exit 2
fi

View File

@@ -17,41 +17,4 @@
. /usr/sbin/so-common . /usr/sbin/so-common
usage() { echo "TheHive and its components are no longer part of Security Onion"
echo "Usage: $0 <user-name>"
echo ""
echo "Update password for an existing TheHive user. The new password will be read from STDIN."
exit 1
}
if [ $# -ne 1 ]; then
usage
fi
USER=$1
THEHIVE_KEY=$(lookup_pillar hivekey)
THEHVIE_API_URL="$(lookup_pillar url_base)/thehive/api"
THEHIVE_USER=$USER
# Read password for new user from stdin
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -rs THEHIVE_PASS
if ! check_password "$THEHIVE_PASS"; then
echo "Password is invalid. Please exclude single quotes, double quotes, dollar signs, and backslashes from the password."
exit 2
fi
# Change password for user in TheHive
resp=$(curl -sk -XPOST -H "Authorization: Bearer $THEHIVE_KEY" -H "Content-Type: application/json" -L "https://$THEHVIE_API_URL/user/${THEHIVE_USER}/password/set" -d "{\"password\" : \"$THEHIVE_PASS\"}")
if [[ -z "$resp" ]]; then
echo "Successfully updated TheHive user password"
else
echo "Unable to update TheHive user password"
echo $resp
exit 2
fi

View File

@@ -29,7 +29,7 @@ if [[ $# -lt 1 || $# -gt 3 ]]; then
echo " add: Adds a new user to the identity system; requires 'email' parameter, while 'role' parameter is optional and defaults to $DEFAULT_ROLE" echo " add: Adds a new user to the identity system; requires 'email' parameter, while 'role' parameter is optional and defaults to $DEFAULT_ROLE"
echo " addrole: Grants a role to an existing user; requires 'email' and 'role' parameters" echo " addrole: Grants a role to an existing user; requires 'email' and 'role' parameters"
echo " delrole: Removes a role from an existing user; requires 'email' and 'role' parameters" echo " delrole: Removes a role from an existing user; requires 'email' and 'role' parameters"
echo " update: Updates a user's password; requires 'email' parameter" echo " update: Updates a user's password and disables MFA; requires 'email' parameter"
echo " enable: Enables a user; requires 'email' parameter" echo " enable: Enables a user; requires 'email' parameter"
echo " disable: Disables a user; requires 'email' parameter" echo " disable: Disables a user; requires 'email' parameter"
echo " validate: Validates that the given email address and password are acceptable; requires 'email' parameter" echo " validate: Validates that the given email address and password are acceptable; requires 'email' parameter"
@@ -44,8 +44,9 @@ operation=$1
email=$2 email=$2
role=$3 role=$3
kratosUrl=${KRATOS_URL:-http://127.0.0.1:4434} kratosUrl=${KRATOS_URL:-http://127.0.0.1:4434/admin}
databasePath=${KRATOS_DB_PATH:-/opt/so/conf/kratos/db/db.sqlite} databasePath=${KRATOS_DB_PATH:-/opt/so/conf/kratos/db/db.sqlite}
databaseTimeout=${KRATOS_DB_TIMEOUT:-5000}
bcryptRounds=${BCRYPT_ROUNDS:-12} bcryptRounds=${BCRYPT_ROUNDS:-12}
elasticUsersFile=${ELASTIC_USERS_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users} elasticUsersFile=${ELASTIC_USERS_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users}
elasticRolesFile=${ELASTIC_ROLES_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users_roles} elasticRolesFile=${ELASTIC_ROLES_FILE:-/opt/so/saltstack/local/salt/elasticsearch/files/users_roles}
@@ -98,7 +99,7 @@ function validatePassword() {
password=$1 password=$1
len=$(expr length "$password") len=$(expr length "$password")
if [[ $len -lt 6 ]]; then if [[ $len -lt 8 ]]; then
fail "Password does not meet the minimum requirements" fail "Password does not meet the minimum requirements"
fi fi
if [[ $len -gt 72 ]]; then if [[ $len -gt 72 ]]; then
@@ -147,7 +148,10 @@ function updatePassword() {
# Generate password hash # Generate password hash
passwordHash=$(hashPassword "$password") passwordHash=$(hashPassword "$password")
# Update DB with new hash # Update DB with new hash
echo "update identity_credentials set config=CAST('{\"hashed_password\":\"$passwordHash\"}' as BLOB), updated_at=datetime('now') where identity_id='${identityId}';" | sqlite3 "$databasePath" echo "update identity_credentials set config=CAST('{\"hashed_password\":\"$passwordHash\"}' as BLOB), updated_at=datetime('now') where identity_id='${identityId}' and identity_credential_type_id=(select id from identity_credential_types where name='password');" | sqlite3 -cmd ".timeout ${databaseTimeout}" "$databasePath"
# Deactivate MFA
echo "delete from identity_credential_identifiers where identity_credential_id=(select id from identity_credentials where identity_id='${identityId}' and identity_credential_type_id=(select id from identity_credential_types where name='totp'));" | sqlite3 -cmd ".timeout ${databaseTimeout}" "$databasePath"
echo "delete from identity_credentials where identity_id='${identityId}' and identity_credential_type_id=(select id from identity_credential_types where name='totp');" | sqlite3 -cmd ".timeout ${databaseTimeout}" "$databasePath"
[[ $? != 0 ]] && fail "Unable to update password" [[ $? != 0 ]] && fail "Unable to update password"
fi fi
} }
@@ -172,7 +176,7 @@ function ensureRoleFileExists() {
if [[ -f "$databasePath" ]]; then if [[ -f "$databasePath" ]]; then
echo "Migrating roles to new file: $socRolesFile" echo "Migrating roles to new file: $socRolesFile"
echo "select 'superuser:' || id from identities;" | sqlite3 "$databasePath" \ echo "select 'superuser:' || id from identities;" | sqlite3 -cmd ".timeout ${databaseTimeout}" "$databasePath" \
>> "$rolesTmpFile" >> "$rolesTmpFile"
[[ $? != 0 ]] && fail "Unable to read identities from database" [[ $? != 0 ]] && fail "Unable to read identities from database"
@@ -234,7 +238,7 @@ function syncElastic() {
syncElasticSystemUser "$authPillarJson" "so_monitor_user" "$usersTmpFile" syncElasticSystemUser "$authPillarJson" "so_monitor_user" "$usersTmpFile"
syncElasticSystemRole "$authPillarJson" "so_elastic_user" "superuser" "$rolesTmpFile" syncElasticSystemRole "$authPillarJson" "so_elastic_user" "superuser" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_kibana_user" "superuser" "$rolesTmpFile" syncElasticSystemRole "$authPillarJson" "so_kibana_user" "kibana_system" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_logstash_user" "superuser" "$rolesTmpFile" syncElasticSystemRole "$authPillarJson" "so_logstash_user" "superuser" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_beats_user" "superuser" "$rolesTmpFile" syncElasticSystemRole "$authPillarJson" "so_beats_user" "superuser" "$rolesTmpFile"
syncElasticSystemRole "$authPillarJson" "so_monitor_user" "remote_monitoring_collector" "$rolesTmpFile" syncElasticSystemRole "$authPillarJson" "so_monitor_user" "remote_monitoring_collector" "$rolesTmpFile"
@@ -243,27 +247,34 @@ function syncElastic() {
if [[ -f "$databasePath" && -f "$socRolesFile" ]]; then if [[ -f "$databasePath" && -f "$socRolesFile" ]]; then
# Append the SOC users # Append the SOC users
echo "select '{\"user\":\"' || ici.identifier || '\", \"data\":' || ic.config || '}'" \ userData=$(echo "select '{\"user\":\"' || ici.identifier || '\", \"data\":' || ic.config || '}'" \
"from identity_credential_identifiers ici, identity_credentials ic, identities i " \ "from identity_credential_identifiers ici, identity_credentials ic, identities i, identity_credential_types ict " \
"where " \ "where " \
" ici.identity_credential_id=ic.id " \ " ici.identity_credential_id=ic.id " \
" and ic.identity_id=i.id " \ " and ic.identity_id=i.id " \
" and ict.id=ic.identity_credential_type_id " \
" and ict.name='password' " \
" and instr(ic.config, 'hashed_password') " \ " and instr(ic.config, 'hashed_password') " \
" and i.state == 'active' " \ " and i.state == 'active' " \
"order by ici.identifier;" | \ "order by ici.identifier;" | \
sqlite3 "$databasePath" | \ sqlite3 -cmd ".timeout ${databaseTimeout}" "$databasePath")
[[ $? != 0 ]] && fail "Unable to read credential hashes from database"
echo "${userData}" | \
jq -r '.user + ":" + .data.hashed_password' \ jq -r '.user + ":" + .data.hashed_password' \
>> "$usersTmpFile" >> "$usersTmpFile"
[[ $? != 0 ]] && fail "Unable to read credential hashes from database"
# Append the user roles # Append the user roles
while IFS="" read -r rolePair || [ -n "$rolePair" ]; do while IFS="" read -r rolePair || [ -n "$rolePair" ]; do
userId=$(echo "$rolePair" | cut -d: -f2) userId=$(echo "$rolePair" | cut -d: -f2)
role=$(echo "$rolePair" | cut -d: -f1) role=$(echo "$rolePair" | cut -d: -f1)
echo "select '$role:' || ici.identifier " \ echo "select '$role:' || ici.identifier " \
"from identity_credential_identifiers ici, identity_credentials ic " \ "from identity_credential_identifiers ici, identity_credentials ic, identity_credential_types ict " \
"where ici.identity_credential_id=ic.id and ic.identity_id = '$userId';" | \ "where ici.identity_credential_id=ic.id " \
sqlite3 "$databasePath" >> "$rolesTmpFile" " and ict.id=ic.identity_credential_type_id " \
" and ict.name='password' " \
" and ic.identity_id = '$userId';" | \
sqlite3 -cmd ".timeout ${databaseTimeout}" "$databasePath" >> "$rolesTmpFile"
[[ $? != 0 ]] && fail "Unable to read role identities from database"
done < "$socRolesFile" done < "$socRolesFile"
else else
@@ -293,7 +304,8 @@ function syncAll() {
if [[ -z "$FORCE_SYNC" && -f "$databasePath" && -f "$elasticUsersFile" ]]; then if [[ -z "$FORCE_SYNC" && -f "$databasePath" && -f "$elasticUsersFile" ]]; then
usersFileAgeSecs=$(echo $(($(date +%s) - $(date +%s -r "$elasticUsersFile")))) usersFileAgeSecs=$(echo $(($(date +%s) - $(date +%s -r "$elasticUsersFile"))))
staleCount=$(echo "select count(*) from identity_credentials where updated_at >= Datetime('now', '-${usersFileAgeSecs} seconds');" \ staleCount=$(echo "select count(*) from identity_credentials where updated_at >= Datetime('now', '-${usersFileAgeSecs} seconds');" \
| sqlite3 "$databasePath") | sqlite3 -cmd ".timeout ${databaseTimeout}" "$databasePath")
[[ $? != 0 ]] && fail "Unable to read user count from database"
if [[ "$staleCount" == "0" && "$elasticRolesFile" -nt "$socRolesFile" ]]; then if [[ "$staleCount" == "0" && "$elasticRolesFile" -nt "$socRolesFile" ]]; then
return 1 return 1
fi fi
@@ -396,7 +408,7 @@ function migrateLockedUsers() {
# This is a migration function to convert locked users from prior to 2.3.90 # This is a migration function to convert locked users from prior to 2.3.90
# to inactive users using the newer Kratos functionality. This should only # to inactive users using the newer Kratos functionality. This should only
# find locked users once. # find locked users once.
lockedEmails=$(curl -s http://localhost:4434/identities | jq -r '.[] | select(.traits.status == "locked") | .traits.email') lockedEmails=$(curl -s ${kratosUrl}/identities | jq -r '.[] | select(.traits.status == "locked") | .traits.email')
if [[ -n "$lockedEmails" ]]; then if [[ -n "$lockedEmails" ]]; then
echo "Disabling locked users..." echo "Disabling locked users..."
for email in $lockedEmails; do for email in $lockedEmails; do
@@ -425,7 +437,7 @@ function updateStatus() {
state="inactive" state="inactive"
fi fi
body="{ \"schema_id\": \"$schemaId\", \"state\": \"$state\", \"traits\": $traitBlock }" body="{ \"schema_id\": \"$schemaId\", \"state\": \"$state\", \"traits\": $traitBlock }"
response=$(curl -fSsL -XPUT "${kratosUrl}/identities/$identityId" -d "$body") response=$(curl -fSsL -XPUT -H "Content-Type: application/json" "${kratosUrl}/identities/$identityId" -d "$body")
[[ $? != 0 ]] && fail "Unable to update user" [[ $? != 0 ]] && fail "Unable to update user"
} }
@@ -464,7 +476,6 @@ case "${operation}" in
createUser "$email" "${role:-$DEFAULT_ROLE}" createUser "$email" "${role:-$DEFAULT_ROLE}"
syncAll syncAll
echo "Successfully added new user to SOC" echo "Successfully added new user to SOC"
check_container thehive && echo "$password" | so-thehive-user-add "$email"
check_container fleet && echo "$password" | so-fleet-user-add "$email" check_container fleet && echo "$password" | so-fleet-user-add "$email"
;; ;;
@@ -516,7 +527,6 @@ case "${operation}" in
updateStatus "$email" 'active' updateStatus "$email" 'active'
syncAll syncAll
echo "Successfully enabled user" echo "Successfully enabled user"
check_container thehive && so-thehive-user-enable "$email" true
echo "Fleet user will need to be recreated manually with so-fleet-user-add" echo "Fleet user will need to be recreated manually with so-fleet-user-add"
;; ;;
@@ -528,7 +538,6 @@ case "${operation}" in
updateStatus "$email" 'locked' updateStatus "$email" 'locked'
syncAll syncAll
echo "Successfully disabled user" echo "Successfully disabled user"
check_container thehive && so-thehive-user-enable "$email" false
check_container fleet && so-fleet-user-delete "$email" check_container fleet && so-fleet-user-delete "$email"
;; ;;
@@ -540,7 +549,6 @@ case "${operation}" in
deleteUser "$email" deleteUser "$email"
syncAll syncAll
echo "Successfully deleted user" echo "Successfully deleted user"
check_container thehive && so-thehive-user-enable "$email" false
check_container fleet && so-fleet-user-delete "$email" check_container fleet && so-fleet-user-delete "$email"
;; ;;

View File

@@ -48,7 +48,7 @@ fi
{% else %} {% else %}
gh_status=$(curl -s -o /dev/null -w "%{http_code}" http://github.com) gh_status=$(curl -s -o /dev/null -w "%{http_code}" https://github.com)
clone_dir="/tmp" clone_dir="/tmp"
if [ "$gh_status" == "200" ] || [ "$gh_status" == "301" ]; then if [ "$gh_status" == "200" ] || [ "$gh_status" == "301" ]; then

View File

@@ -10,39 +10,118 @@ zeek_logs_enabled() {
} }
whiptail_manager_adv_service_zeeklogs() { whiptail_manager_adv_service_zeeklogs() {
BLOGS=$(whiptail --title "so-zeek-logs" --checklist "Please Select Logs to Send:" 24 78 12 \ BLOGS=$(whiptail --title "so-zeek-logs" --checklist "Please select logs to send:" 24 78 12 \
"conn" "Connection Logging" ON \ "conn" "" ON \
"dce_rpc" "RPC Logs" ON \ "dce_rpc" "" ON \
"dhcp" "DHCP Logs" ON \ "dhcp" "" ON \
"dnp3" "DNP3 Logs" ON \ "dnp3" "" ON \
"dns" "DNS Logs" ON \ "dns" "" ON \
"dpd" "DPD Logs" ON \ "dpd" "" ON \
"files" "Files Logs" ON \ "files" "" ON \
"ftp" "FTP Logs" ON \ "ftp" "" ON \
"http" "HTTP Logs" ON \ "http" "" ON \
"intel" "Intel Hits Logs" ON \ "intel" "" ON \
"irc" "IRC Chat Logs" ON \ "irc" "" ON \
"kerberos" "Kerberos Logs" ON \ "kerberos" "" ON \
"modbus" "MODBUS Logs" ON \ "modbus" "" ON \
"notice" "Zeek Notice Logs" ON \ "notice" "" ON \
"ntlm" "NTLM Logs" ON \ "ntlm" "" ON \
"pe" "PE Logs" ON \ "pe" "" ON \
"radius" "Radius Logs" ON \ "radius" "" ON \
"rfb" "RFB Logs" ON \ "rfb" "" ON \
"rdp" "RDP Logs" ON \ "rdp" "" ON \
"sip" "SIP Logs" ON \ "sip" "" ON \
"smb_files" "SMB Files Logs" ON \ "smb_files" "" ON \
"smb_mapping" "SMB Mapping Logs" ON \ "smb_mapping" "" ON \
"smtp" "SMTP Logs" ON \ "smtp" "" ON \
"snmp" "SNMP Logs" ON \ "snmp" "" ON \
"ssh" "SSH Logs" ON \ "software" "" ON \
"ssl" "SSL Logs" ON \ "ssh" "" ON \
"syslog" "Syslog Logs" ON \ "ssl" "" ON \
"tunnel" "Tunnel Logs" ON \ "syslog" "" ON \
"weird" "Zeek Weird Logs" ON \ "tunnel" "" ON \
"mysql" "MySQL Logs" ON \ "weird" "" ON \
"socks" "SOCKS Logs" ON \ "mysql" "" ON \
"x509" "x.509 Logs" ON 3>&1 1>&2 2>&3 ) "socks" "" ON \
"x509" "" ON \
"bacnet" "" ON \
"bacnet_discovery" "" ON \
"bacnet_property" "" ON \
"bsap_ip_header" "" ON \
"bsap_ip_rdb" "" ON \
"bsap_ip_unknown" "" ON \
"bsap_serial_header" "" ON \
"bsap_serial_rdb" "" ON \
"bsap_serial_rdb_ext" "" ON \
"bsap_serial_unknown" "" ON \
"cip" "" ON \
"cip_identity" "" ON \
"cip_io" "" ON \
"cotp" "" ON \
"dnp3_control" "" ON \
"dnp3_objects" "" ON \
"ecat_aoe_info" "" ON \
"ecat_arp_info" "" OFF \
"ecat_coe_info" "" ON \
"ecat_dev_info" "" ON \
"ecat_foe_info" "" ON \
"ecat_log_address" "" ON \
"ecat_registers" "" ON \
"ecat_soe_info" "" ON \
"enip" "" ON \
"modbus_detailed" "" ON \
"modbus_mask_write_register" "" ON \
"modbus_read_write_multiple_registers" "" ON \
"opcua_binary" "" ON \
"opcua_binary_activate_session" "" ON \
"opcua_binary_activate_session_client_software_cert" "" ON \
"opcua_binary_activate_session_diagnostic_info" "" ON \
"opcua_binary_activate_session_locale_id" "" ON \
"opcua_binary_browse" "" ON \
"opcua_binary_browse_description" "" ON \
"opcua_binary_browse_diagnostic_info" "" ON \
"opcua_binary_browse_request_continuation_point" "" ON \
"opcua_binary_browse_response_references" "" ON \
"opcua_binary_browse_result" "" ON \
"opcua_binary_create_session" "" ON \
"opcua_binary_create_session_discovery" "" ON \
"opcua_binary_create_session_endpoints" "" ON \
"opcua_binary_create_session_user_token" "" ON \
"opcua_binary_create_subscription" "" ON \
"opcua_binary_diag_info_detail" "" ON \
"opcua_binary_get_endpoints" "" ON \
"opcua_binary_get_endpoints_description" "" ON \
"opcua_binary_get_endpoints_discovery" "" ON \
"opcua_binary_get_endpoints_locale_id" "" ON \
"opcua_binary_get_endpoints_profile_uri" "" ON \
"opcua_binary_get_endpoints_user_token" "" ON \
"opcua_binary_opensecure_channel" "" ON \
"opcua_binary_read" "" ON \
"opcua_binary_read_array_dims" "" ON \
"opcua_binary_read_array_dims_link" "" ON \
"opcua_binary_read_diagnostic_info" "" ON \
"opcua_binary_read_extension_object" "" ON \
"opcua_binary_read_extension_object_link" "" ON \
"opcua_binary_read_nodes_to_read" "" ON \
"opcua_binary_read_results" "" ON \
"opcua_binary_read_results_link" "" ON \
"opcua_binary_read_status_code" "" ON \
"opcua_binary_read_variant_data" "" ON \
"opcua_binary_read_variant_data_link" "" ON \
"opcua_binary_status_code_detail" "" ON \
"profinet" "" ON \
"profinet_dce_rpc" "" ON \
"profinet_debug" "" ON \
"s7comm" "" ON \
"s7comm_plus" "" ON \
"s7comm_read_szl" "" ON \
"s7comm_upload_download" "" ON \
"stun" "" ON \
"stun_nat" "" ON \
"tds" "" ON \
"tds_rpc" "" ON \
"tds_sql_batch" "" ON \
"wireguard" "" ON 3>&1 1>&2 2>&3 )
local exitstatus=$? local exitstatus=$?

View File

@@ -34,7 +34,15 @@ check_err() {
local err_msg="Unhandled error occured, please check $SOUP_LOG for details." local err_msg="Unhandled error occured, please check $SOUP_LOG for details."
[[ $ERR_HANDLED == true ]] && exit $exit_code [[ $ERR_HANDLED == true ]] && exit $exit_code
if [[ $exit_code -ne 0 ]]; then if [[ $exit_code -ne 0 ]]; then
set +e
systemctl_func "start" "$cron_service_name"
systemctl_func "start" "salt-master"
systemctl_func "start" "salt-minion"
enable_highstate
printf '%s' "Soup failed with error $exit_code: " printf '%s' "Soup failed with error $exit_code: "
case $exit_code in case $exit_code in
2) 2)
@@ -91,10 +99,7 @@ check_err() {
if [[ $exit_code -ge 64 && $exit_code -le 113 ]]; then if [[ $exit_code -ge 64 && $exit_code -le 113 ]]; then
echo "$err_msg" echo "$err_msg"
fi fi
set +e
systemctl_func "start" "$cron_service_name"
echo "Ensuring highstate is enabled."
salt-call state.enable highstate --local
exit $exit_code exit $exit_code
fi fi
@@ -158,7 +163,7 @@ EOF
} }
airgap_update_dockers() { airgap_update_dockers() {
if [[ $is_airgap -eq 0 ]]; then if [[ $is_airgap -eq 0 ]] || [[ ! -z "$ISOLOC" ]]; then
# Let's copy the tarball # Let's copy the tarball
if [[ ! -f $AGDOCKER/registry.tar ]]; then if [[ ! -f $AGDOCKER/registry.tar ]]; then
echo "Unable to locate registry. Exiting" echo "Unable to locate registry. Exiting"
@@ -198,7 +203,7 @@ check_airgap() {
check_local_mods() { check_local_mods() {
local salt_local=/opt/so/saltstack/local local salt_local=/opt/so/saltstack/local
local_ignore_arr=("/opt/so/saltstack/local/salt/zeek/policy/intel/intel.dat")
local_mod_arr=() local_mod_arr=()
while IFS= read -r -d '' local_file; do while IFS= read -r -d '' local_file; do
@@ -206,8 +211,10 @@ check_local_mods() {
default_file="${DEFAULT_SALT_DIR}${stripped_path}" default_file="${DEFAULT_SALT_DIR}${stripped_path}"
if [[ -f $default_file ]]; then if [[ -f $default_file ]]; then
file_diff=$(diff "$default_file" "$local_file" ) file_diff=$(diff "$default_file" "$local_file" )
if [[ $(echo "$file_diff" | grep -c "^<") -gt 0 ]]; then if [[ ! " ${local_ignore_arr[*]} " =~ " ${local_file} " ]]; then
local_mod_arr+=( "$local_file" ) if [[ $(echo "$file_diff" | grep -c "^<") -gt 0 ]]; then
local_mod_arr+=( "$local_file" )
fi
fi fi
fi fi
done< <(find $salt_local -type f -print0) done< <(find $salt_local -type f -print0)
@@ -218,11 +225,24 @@ check_local_mods() {
echo " $file_str" echo " $file_str"
done done
echo "" echo ""
echo "To reference this list later, check $SOUP_LOG" echo "To reference this list later, check $SOUP_LOG".
sleep 10 echo
if [[ -z $UNATTENDED ]] && ! [[ "${1}" == "skip-prompt" ]]; then
while true; do
read -p "Please review the local modifications shown above as they may cause problems during or after the update.
Would you like to proceed with the update anyway?
If so, type 'YES'. Otherwise, type anything else to exit SOUP. " yn
case $yn in
[yY][eE][sS] ) echo "Local modifications accepted. Continuing..."; break;;
* ) exit 0;;
esac
done
fi
fi fi
} }
# {% endraw %} # {% endraw %}
check_pillar_items() { check_pillar_items() {
@@ -245,7 +265,6 @@ check_sudoers() {
} }
check_log_size_limit() { check_log_size_limit() {
local num_minion_pillars local num_minion_pillars
num_minion_pillars=$(find /opt/so/saltstack/local/pillar/minions/ -type f | wc -l) num_minion_pillars=$(find /opt/so/saltstack/local/pillar/minions/ -type f | wc -l)
@@ -255,7 +274,7 @@ check_log_size_limit() {
fi fi
else else
local minion_id local minion_id
minion_id=$(lookup_salt_value "id" "" "grains") minion_id=$(lookup_salt_value "id" "" "grains" "" "local")
local minion_arr local minion_arr
IFS='_' read -ra minion_arr <<< "$minion_id" IFS='_' read -ra minion_arr <<< "$minion_id"
@@ -263,7 +282,15 @@ check_log_size_limit() {
local node_type="${minion_arr[0]}" local node_type="${minion_arr[0]}"
local current_limit local current_limit
current_limit=$(lookup_pillar "log_size_limit" "elasticsearch") # since it is possible for the salt-master service to be stopped when this is run, we need to check the pillar values locally
# we need to combine default local and default pillars before doing this so we can define --pillar-root in salt-call
local epoch_date=$(date +%s%N)
mkdir -vp /opt/so/saltstack/soup_tmp_${epoch_date}/
cp -r /opt/so/saltstack/default/pillar/ /opt/so/saltstack/soup_tmp_${epoch_date}/
# use \cp here to overwrite any pillar files from default with those in local for the tmp directory
\cp -r /opt/so/saltstack/local/pillar/ /opt/so/saltstack/soup_tmp_${epoch_date}/
current_limit=$(salt-call pillar.get elasticsearch:log_size_limit --local --pillar-root=/opt/so/saltstack/soup_tmp_${epoch_date}/pillar --out=newline_values_only)
rm -rf /opt/so/saltstack/soup_tmp_${epoch_date}/
local percent local percent
case $node_type in case $node_type in
@@ -359,6 +386,116 @@ clone_to_tmp() {
fi fi
} }
elastalert_indices_check() {
echo "Checking Elastalert indices for compatibility..."
# Wait for ElasticSearch to initialize
echo -n "Waiting for ElasticSearch..."
COUNT=0
ELASTICSEARCH_CONNECTED="no"
while [[ "$COUNT" -le 240 ]]; do
so-elasticsearch-query / -k --output /dev/null
if [ $? -eq 0 ]; then
ELASTICSEARCH_CONNECTED="yes"
echo "connected!"
break
else
((COUNT+=1))
sleep 1
echo -n "."
fi
done
# Unable to connect to Elasticsearch
if [ "$ELASTICSEARCH_CONNECTED" == "no" ]; then
echo
echo -e "Connection attempt timed out. Unable to connect to ElasticSearch. \nPlease try: \n -checking log(s) in /var/log/elasticsearch/\n -running 'sudo docker ps' \n -running 'sudo so-elastic-restart'"
echo
exit 1
fi
MAJOR_ES_VERSION=$(so-elasticsearch-query / | jq -r .version.number | cut -d '.' -f1)
if [[ "$MAJOR_ES_VERSION" -lt "8" ]]; then
# Stop Elastalert to prevent Elastalert indices from being re-created
if grep -q "^so-elastalert$" /opt/so/conf/so-status/so-status.conf ; then
so-elastalert-stop || true
fi
# Check Elastalert indices
echo "Deleting Elastalert indices to prevent issues with upgrade to Elastic 8..."
CHECK_COUNT=0
while [[ "$CHECK_COUNT" -le 2 ]]; do
# Delete Elastalert indices
for i in $(so-elasticsearch-query _cat/indices | grep elastalert | awk '{print $3}'); do
so-elasticsearch-query $i -XDELETE;
done
# Check to ensure Elastalert indices are deleted
COUNT=0
ELASTALERT_INDICES_DELETED="no"
while [[ "$COUNT" -le 240 ]]; do
RESPONSE=$(so-elasticsearch-query "elastalert*")
if [[ "$RESPONSE" == "{}" ]]; then
ELASTALERT_INDICES_DELETED="yes"
break
else
((COUNT+=1))
sleep 1
echo -n "."
fi
done
((CHECK_COUNT+=1))
done
# If we were unable to delete the Elastalert indices, exit the script
if [ "$ELASTALERT_INDICES_DELETED" == "yes" ]; then
echo "Elastalert indices successfully deleted."
else
echo
echo -e "Unable to connect to delete Elastalert indices. Exiting."
echo
exit 1
fi
else
echo "Major Elasticsearch version is 8 or greater...skipping Elastalert index maintenance."
fi
}
enable_highstate() {
echo "Enabling highstate."
salt-call state.enable highstate -l info --local
echo ""
}
es_version_check() {
CHECK_ES=$(echo $INSTALLEDVERSION | awk -F. '{print $3}')
if [[ "$CHECK_ES" -lt "110" ]]; then
echo "You are currently running Security Onion $INSTALLEDVERSION. You will need to update to version 2.3.130 before updating to 2.3.140 or higher."
echo ""
echo "If your deployment has Internet access, you can use the following command to update to 2.3.130:"
echo "sudo BRANCH=2.3.130-20220607 soup"
echo ""
echo "Otherwise, if your deployment is configured for airgap, you can instead download the 2.3.130 ISO image from https://download.securityonion.net/file/securityonion/securityonion-2.3.130-20220607.iso."
echo ""
echo "*** Once you have updated to 2.3.130, you can then update to 2.3.140 or higher as you would normally. ***"
exit 1
fi
}
es_indices_check() {
echo "Checking for unsupported Elasticsearch indices..."
UNSUPPORTED_INDICES=$(for INDEX in $(so-elasticsearch-indices-list | awk '{print $3}'); do so-elasticsearch-query $INDEX/_settings?human |grep '"created_string":"6' | jq -r 'keys'[0]; done)
if [ -z "$UNSUPPORTED_INDICES" ]; then
echo "No unsupported indices found."
else
echo "The following indices were created with Elasticsearch 6, and are not supported when upgrading to Elasticsearch 8. These indices may need to be deleted, migrated, or re-indexed before proceeding with the upgrade. Please see https://docs.securityonion.net/en/2.3/soup.html#elastic-8 for more details."
echo
echo "$UNSUPPORTED_INDICES"
exit 1
fi
}
generate_and_clean_tarballs() { generate_and_clean_tarballs() {
local new_version local new_version
new_version=$(cat $UPDATE_DIR/VERSION) new_version=$(cat $UPDATE_DIR/VERSION)
@@ -403,6 +540,17 @@ preupgrade_changes() {
[[ "$INSTALLEDVERSION" == 2.3.50 || "$INSTALLEDVERSION" == 2.3.51 || "$INSTALLEDVERSION" == 2.3.52 || "$INSTALLEDVERSION" == 2.3.60 || "$INSTALLEDVERSION" == 2.3.61 || "$INSTALLEDVERSION" == 2.3.70 ]] && up_to_2.3.80 [[ "$INSTALLEDVERSION" == 2.3.50 || "$INSTALLEDVERSION" == 2.3.51 || "$INSTALLEDVERSION" == 2.3.52 || "$INSTALLEDVERSION" == 2.3.60 || "$INSTALLEDVERSION" == 2.3.61 || "$INSTALLEDVERSION" == 2.3.70 ]] && up_to_2.3.80
[[ "$INSTALLEDVERSION" == 2.3.80 ]] && up_to_2.3.90 [[ "$INSTALLEDVERSION" == 2.3.80 ]] && up_to_2.3.90
[[ "$INSTALLEDVERSION" == 2.3.90 || "$INSTALLEDVERSION" == 2.3.91 ]] && up_to_2.3.100 [[ "$INSTALLEDVERSION" == 2.3.90 || "$INSTALLEDVERSION" == 2.3.91 ]] && up_to_2.3.100
[[ "$INSTALLEDVERSION" == 2.3.100 ]] && up_to_2.3.110
[[ "$INSTALLEDVERSION" == 2.3.110 ]] && up_to_2.3.120
[[ "$INSTALLEDVERSION" == 2.3.120 ]] && up_to_2.3.130
[[ "$INSTALLEDVERSION" == 2.3.130 ]] && up_to_2.3.140
[[ "$INSTALLEDVERSION" == 2.3.140 ]] && up_to_2.3.150
[[ "$INSTALLEDVERSION" == 2.3.150 ]] && up_to_2.3.160
[[ "$INSTALLEDVERSION" == 2.3.160 ]] && up_to_2.3.170
[[ "$INSTALLEDVERSION" == 2.3.170 ]] && up_to_2.3.180
[[ "$INSTALLEDVERSION" == 2.3.180 ]] && up_to_2.3.181
[[ "$INSTALLEDVERSION" == 2.3.181 ]] && up_to_2.3.182
[[ "$INSTALLEDVERSION" == 2.3.182 ]] && up_to_2.3.190
true true
} }
@@ -415,6 +563,18 @@ postupgrade_changes() {
[[ "$POSTVERSION" == 2.3.40 || "$POSTVERSION" == 2.3.50 || "$POSTVERSION" == 2.3.51 || "$POSTVERSION" == 2.3.52 ]] && post_to_2.3.60 [[ "$POSTVERSION" == 2.3.40 || "$POSTVERSION" == 2.3.50 || "$POSTVERSION" == 2.3.51 || "$POSTVERSION" == 2.3.52 ]] && post_to_2.3.60
[[ "$POSTVERSION" == 2.3.60 || "$POSTVERSION" == 2.3.61 || "$POSTVERSION" == 2.3.70 || "$POSTVERSION" == 2.3.80 ]] && post_to_2.3.90 [[ "$POSTVERSION" == 2.3.60 || "$POSTVERSION" == 2.3.61 || "$POSTVERSION" == 2.3.70 || "$POSTVERSION" == 2.3.80 ]] && post_to_2.3.90
[[ "$POSTVERSION" == 2.3.90 || "$POSTVERSION" == 2.3.91 ]] && post_to_2.3.100 [[ "$POSTVERSION" == 2.3.90 || "$POSTVERSION" == 2.3.91 ]] && post_to_2.3.100
[[ "$POSTVERSION" == 2.3.100 ]] && post_to_2.3.110
[[ "$POSTVERSION" == 2.3.110 ]] && post_to_2.3.120
[[ "$POSTVERSION" == 2.3.120 ]] && post_to_2.3.130
[[ "$POSTVERSION" == 2.3.130 ]] && post_to_2.3.140
[[ "$POSTVERSION" == 2.3.140 ]] && post_to_2.3.150
[[ "$POSTVERSION" == 2.3.150 ]] && post_to_2.3.160
[[ "$POSTVERSION" == 2.3.160 ]] && post_to_2.3.170
[[ "$POSTVERSION" == 2.3.170 ]] && post_to_2.3.180
[[ "$POSTVERSION" == 2.3.180 ]] && post_to_2.3.181
[[ "$POSTVERSION" == 2.3.181 ]] && post_to_2.3.182
[[ "$POSTVERSION" == 2.3.182 ]] && post_to_2.3.190
true true
} }
@@ -466,8 +626,70 @@ post_to_2.3.90() {
post_to_2.3.100() { post_to_2.3.100() {
echo "Post Processing for 2.3.100" echo "Post Processing for 2.3.100"
POSTVERSION=2.3.100
}
post_to_2.3.110() {
echo "Post Processing for 2.3.110"
echo "Removing old Elasticsearch index templates"
[ -d /opt/so/saltstack/default/salt/elasticsearch/templates/so ] && rm -rf /opt/so/saltstack/default/salt/elasticsearch/templates/so
echo "Updating Kibana dashboards" echo "Updating Kibana dashboards"
salt-call state.apply kibana.so_savedobjects_defaults queue=True salt-call state.apply kibana.so_savedobjects_defaults queue=True
POSTVERSION=2.3.110
}
post_to_2.3.120() {
echo "Post Processing for 2.3.120"
POSTVERSION=2.3.120
sed -i '/so-thehive-es/d;/so-thehive/d;/so-cortex/d' /opt/so/conf/so-status/so-status.conf
}
post_to_2.3.130() {
echo "Post Processing for 2.3.130"
POSTVERSION=2.3.130
}
post_to_2.3.140() {
echo "Post Processing for 2.3.140"
FORCE_SYNC=true so-user sync
so-kibana-restart
so-kibana-space-defaults
POSTVERSION=2.3.140
}
post_to_2.3.150() {
echo "Nothing to do for .150"
POSTVERSION=2.3.150
}
post_to_2.3.160() {
echo "Nothing to do for .160"
POSTVERSION=2.3.160
}
post_to_2.3.170() {
echo "Nothing to do for .170"
POSTVERSION=2.3.170
}
post_to_2.3.180() {
echo "Nothing to do for .180"
POSTVERSION=2.3.180
}
post_to_2.3.181() {
echo "Nothing to do for .181"
POSTVERSION=2.3.181
}
post_to_2.3.182() {
echo "Nothing to do for .182"
POSTVERSION=2.3.182
}
post_to_2.3.190() {
echo "Nothing to do for .190"
POSTVERSION=2.3.190
} }
stop_salt_master() { stop_salt_master() {
@@ -475,10 +697,10 @@ stop_salt_master() {
set +e set +e
echo "" echo ""
echo "Killing all Salt jobs across the grid." echo "Killing all Salt jobs across the grid."
salt \* saltutil.kill_all_jobs salt \* saltutil.kill_all_jobs >> $SOUP_LOG 2>&1
echo "" echo ""
echo "Killing any queued Salt jobs on the manager." echo "Killing any queued Salt jobs on the manager."
pkill -9 -ef "/usr/bin/python3 /bin/salt" pkill -9 -ef "/usr/bin/python3 /bin/salt" >> $SOUP_LOG 2>&1
set -e set -e
echo "" echo ""
@@ -704,12 +926,8 @@ up_to_2.3.90() {
} }
up_to_2.3.100() { up_to_2.3.100() {
echo "Updating to Security Onion 2.3.100"
fix_wazuh fix_wazuh
echo "Removing /opt/so/state files for patched Salt InfluxDB module and state. This is due to Salt being upgraded and needing to patch the files again."
rm -vrf /opt/so/state/influxdb_continuous_query.py.patched /opt/so/state/influxdb_retention_policy.py.patched /opt/so/state/influxdbmod.py.patched
echo "Adding receiver hostgroup with so-firewall" echo "Adding receiver hostgroup with so-firewall"
if so-firewall addhostgroup receiver 2>&1 | grep -q 'Already exists'; then if so-firewall addhostgroup receiver 2>&1 | grep -q 'Already exists'; then
echo 'receiver hostgroup already exists' echo 'receiver hostgroup already exists'
@@ -719,6 +937,72 @@ up_to_2.3.100() {
echo "Adding receiver to assigned_hostgroups.local.map.yaml" echo "Adding receiver to assigned_hostgroups.local.map.yaml"
grep -qxF " receiver:" /opt/so/saltstack/local/salt/firewall/assigned_hostgroups.local.map.yaml || sed -i -e '$a\ receiver:' /opt/so/saltstack/local/salt/firewall/assigned_hostgroups.local.map.yaml grep -qxF " receiver:" /opt/so/saltstack/local/salt/firewall/assigned_hostgroups.local.map.yaml || sed -i -e '$a\ receiver:' /opt/so/saltstack/local/salt/firewall/assigned_hostgroups.local.map.yaml
INSTALLEDVERSION=2.3.100
}
up_to_2.3.110() {
sed -i 's|shards|index_template:\n template:\n settings:\n index:\n number_of_shards|g' /opt/so/saltstack/local/pillar/global.sls
INSTALLEDVERSION=2.3.110
}
up_to_2.3.120() {
# Stop thehive services since these will be broken in .120
so-thehive-stop
so-thehive-es-stop
so-cortex-stop
INSTALLEDVERSION=2.3.120
}
up_to_2.3.130() {
# Remove file for nav update
rm -f /opt/so/conf/navigator/layers/nav_layer_playbook.json
INSTALLEDVERSION=2.3.130
}
up_to_2.3.140() {
elastalert_indices_check
##
INSTALLEDVERSION=2.3.140
}
up_to_2.3.150() {
echo "Upgrading to 2.3.150"
INSTALLEDVERSION=2.3.150
}
up_to_2.3.160() {
echo "Upgrading to 2.3.160"
INSTALLEDVERSION=2.3.160
}
up_to_2.3.170() {
echo "Upgrading to 2.3.170"
INSTALLEDVERSION=2.3.170
}
up_to_2.3.180() {
echo "Upgrading to 2.3.180"
INSTALLEDVERSION=2.3.180
}
up_to_2.3.181() {
echo "Upgrading to 2.3.181"
INSTALLEDVERSION=2.3.181
}
up_to_2.3.182() {
echo "Upgrading to 2.3.182"
INSTALLEDVERSION=2.3.182
}
up_to_2.3.190() {
echo "Upgrading to 2.3.190"
if [ -d /nsm/zeek/extracted/complete ]; then
chown -R zeek:socore /nsm/zeek/extracted/complete
chmod 770 /nsm/zeek/extracted/complete
fi
INSTALLEDVERSION=2.3.190
} }
verify_upgradespace() { verify_upgradespace() {
@@ -743,29 +1027,6 @@ upgrade_space() {
fi fi
} }
thehive_maint() {
echo -n "Waiting for TheHive..."
COUNT=0
THEHIVE_CONNECTED="no"
while [[ "$COUNT" -le 240 ]]; do
curl --output /dev/null --silent --head --fail -k "https://localhost/thehive/api/alert"
if [ $? -eq 0 ]; then
THEHIVE_CONNECTED="yes"
echo "connected!"
break
else
((COUNT+=1))
sleep 1
echo -n "."
fi
done
if [ "$THEHIVE_CONNECTED" == "yes" ]; then
echo "Migrating thehive databases if needed."
curl -v -k -XPOST -L "https://localhost/thehive/api/maintenance/migrate" >> "$SOUP_LOG" 2>&1
curl -v -k -XPOST -L "https://localhost/cortex/api/maintenance/migrate" >> "$SOUP_LOG" 2>&1
fi
}
unmount_update() { unmount_update() {
cd /tmp cd /tmp
umount /tmp/soagupdate umount /tmp/soagupdate
@@ -858,7 +1119,7 @@ upgrade_salt() {
echo "" echo ""
set +e set +e
run_check_net_err \ run_check_net_err \
"sh $UPDATE_DIR/salt/salt/scripts/bootstrap-salt.sh -X -F -M -x python3 stable \"$NEWSALTVERSION\"" \ "sh $UPDATE_DIR/salt/salt/scripts/bootstrap-salt.sh -X -r -F -M -x python3 stable \"$NEWSALTVERSION\"" \
"Could not update salt, please check $SOUP_LOG for details." "Could not update salt, please check $SOUP_LOG for details."
set -e set -e
echo "Applying apt hold for Salt." echo "Applying apt hold for Salt."
@@ -867,11 +1128,29 @@ upgrade_salt() {
apt-mark hold "salt-master" apt-mark hold "salt-master"
apt-mark hold "salt-minion" apt-mark hold "salt-minion"
fi fi
echo "Checking if Salt was upgraded."
echo ""
# Check that Salt was upgraded
SALTVERSIONPOSTUPGRADE=$(salt --versions-report | grep Salt: | awk '{print $2}')
if [[ "$SALTVERSIONPOSTUPGRADE" != "$NEWSALTVERSION" ]]; then
echo "Salt upgrade failed. Check of indicators of failure in $SOUP_LOG."
echo "Once the issue is resolved, run soup again."
echo "Exiting."
echo ""
exit 0
else
echo "Salt upgrade success."
echo ""
echo "Removing /opt/so/state files for patched Salt InfluxDB module and state. This is due to Salt being upgraded and needing to patch the files again."
rm -vrf /opt/so/state/influxdb_continuous_query.py.patched /opt/so/state/influxdb_retention_policy.py.patched /opt/so/state/influxdbmod.py.patched
fi
} }
update_repo() { update_repo() {
echo "Performing repo changes."
if [[ "$OS" == "centos" ]]; then if [[ "$OS" == "centos" ]]; then
echo "Performing repo changes."
# Import GPG Keys # Import GPG Keys
gpg_rpm_import gpg_rpm_import
echo "Disabling fastestmirror." echo "Disabling fastestmirror."
@@ -891,6 +1170,21 @@ update_repo() {
yum clean all yum clean all
yum repolist yum repolist
fi fi
elif [[ "$OS" == "ubuntu" ]]; then
ubuntu_version=$(grep VERSION_ID /etc/os-release | awk -F '[ "]' '{print $2}')
if grep -q "UBUNTU_CODENAME=bionic" /etc/os-release; then
OSVER=bionic
elif grep -q "UBUNTU_CODENAME=focal" /etc/os-release; then
OSVER=focal
else
echo "We do not support your current version of Ubuntu."
exit 1
fi
rm -f /etc/apt/sources.list.d/salt.list
echo "deb https://repo.securityonion.net/file/securityonion-repo/ubuntu/$ubuntu_version/amd64/salt3004.2/ $OSVER main" > /etc/apt/sources.list.d/saltstack.list
apt-get update
fi fi
} }
@@ -923,6 +1217,8 @@ verify_latest_update_script() {
apply_hotfix() { apply_hotfix() {
if [[ "$INSTALLEDVERSION" == "2.3.90" ]] ; then if [[ "$INSTALLEDVERSION" == "2.3.90" ]] ; then
fix_wazuh fix_wazuh
elif [[ "$INSTALLEDVERSION" == "2.3.110" ]] ; then
2_3_10_hotfix_1
else else
echo "No actions required. ($INSTALLEDVERSION/$HOTFIXVERSION)" echo "No actions required. ($INSTALLEDVERSION/$HOTFIXVERSION)"
fi fi
@@ -944,6 +1240,28 @@ fix_wazuh() {
fi fi
} }
#upgrade salt to 3004.1
2_3_10_hotfix_1() {
systemctl_func "stop" "$cron_service_name"
# update mine items prior to stopping salt-minion and salt-master
update_salt_mine
stop_salt_minion
stop_salt_master
update_repo
# Does salt need upgraded. If so update it.
if [[ $UPGRADESALT -eq 1 ]]; then
echo "Upgrading Salt"
# Update the repo files so it can actually upgrade
upgrade_salt
fi
rm -f /opt/so/state/influxdb_continuous_query.py.patched /opt/so/state/influxdbmod.py.patched /opt/so/state/influxdb_retention_policy.py.patched
systemctl_func "start" "salt-master"
salt-call state.apply salt.python3-influxdb -l info
systemctl_func "start" "salt-minion"
systemctl_func "start" "$cron_service_name"
}
main() { main() {
trap 'check_err $?' EXIT trap 'check_err $?' EXIT
@@ -955,6 +1273,17 @@ main() {
echo "### Preparing soup at $(date) ###" echo "### Preparing soup at $(date) ###"
echo "" echo ""
set_os
set_cron_service_name
if ! check_salt_master_status; then
echo "Could not talk to salt master"
echo "Please run 'systemctl status salt-master' to ensure the salt-master service is running and check the log at /opt/so/log/salt/master."
echo "SOUP will now attempt to start the salt-master service and exit."
exit 1
fi
echo "This node can communicate with the salt-master."
echo "Checking to see if this is a manager." echo "Checking to see if this is a manager."
echo "" echo ""
require_manager require_manager
@@ -976,6 +1305,11 @@ main() {
# Let's mount the ISO since this is airgap # Let's mount the ISO since this is airgap
airgap_mounted airgap_mounted
else else
# if not airgap but -f was used
if [[ ! -z "$ISOLOC" ]]; then
airgap_mounted
AGDOCKER=/tmp/soagupdate/docker
fi
echo "Cloning Security Onion github repo into $UPDATE_DIR." echo "Cloning Security Onion github repo into $UPDATE_DIR."
echo "Removing previous upgrade sources." echo "Removing previous upgrade sources."
rm -rf $UPDATE_DIR rm -rf $UPDATE_DIR
@@ -984,12 +1318,14 @@ main() {
fi fi
echo "Verifying we have the latest soup script." echo "Verifying we have the latest soup script."
verify_latest_update_script verify_latest_update_script
es_version_check
es_indices_check
elastalert_indices_check
echo "" echo ""
set_os
set_cron_service_name
set_palette set_palette
check_elastic_license check_elastic_license
echo "" echo ""
check_local_mods
check_os_updates check_os_updates
echo "Generating new repo archive" echo "Generating new repo archive"
@@ -1008,12 +1344,19 @@ main() {
upgrade_check_salt upgrade_check_salt
set -e set -e
if [[ $is_airgap -eq 0 ]]; then
update_centos_repo
yum clean all
check_os_updates
fi
if [ "$is_hotfix" == "true" ]; then if [ "$is_hotfix" == "true" ]; then
echo "Applying $HOTFIXVERSION hotfix" echo "Applying $HOTFIXVERSION hotfix"
copy_new_files copy_new_files
apply_hotfix apply_hotfix
echo "Hotfix applied" echo "Hotfix applied"
update_version update_version
enable_highstate
salt-call state.highstate -l info queue=True salt-call state.highstate -l info queue=True
else else
echo "" echo ""
@@ -1028,9 +1371,10 @@ main() {
echo "Updating dockers to $NEWVERSION." echo "Updating dockers to $NEWVERSION."
if [[ $is_airgap -eq 0 ]]; then if [[ $is_airgap -eq 0 ]]; then
airgap_update_dockers airgap_update_dockers
update_centos_repo # if not airgap but -f was used
yum clean all elif [[ ! -z "$ISOLOC" ]]; then
check_os_updates airgap_update_dockers
unmount_update
else else
update_registry update_registry
set +e set +e
@@ -1049,21 +1393,6 @@ main() {
echo "Upgrading Salt" echo "Upgrading Salt"
# Update the repo files so it can actually upgrade # Update the repo files so it can actually upgrade
upgrade_salt upgrade_salt
echo "Checking if Salt was upgraded."
echo ""
# Check that Salt was upgraded
SALTVERSIONPOSTUPGRADE=$(salt --versions-report | grep Salt: | awk '{print $2}')
if [[ "$SALTVERSIONPOSTUPGRADE" != "$NEWSALTVERSION" ]]; then
echo "Salt upgrade failed. Check of indicators of failure in $SOUP_LOG."
echo "Once the issue is resolved, run soup again."
echo "Exiting."
echo ""
exit 0
else
echo "Salt upgrade success."
echo ""
fi
fi fi
preupgrade_changes preupgrade_changes
@@ -1119,9 +1448,7 @@ main() {
echo "" echo ""
fi fi
echo "Enabling highstate." enable_highstate
salt-call state.enable highstate -l info --local
echo ""
echo "" echo ""
echo "Running a highstate. This could take several minutes." echo "Running a highstate. This could take several minutes."
@@ -1144,7 +1471,6 @@ main() {
salt-call state.highstate -l info queue=True salt-call state.highstate -l info queue=True
postupgrade_changes postupgrade_changes
[[ $is_airgap -eq 0 ]] && unmount_update [[ $is_airgap -eq 0 ]] && unmount_update
thehive_maint
echo "" echo ""
echo "Upgrade to $NEWVERSION complete." echo "Upgrade to $NEWVERSION complete."
@@ -1164,7 +1490,7 @@ main() {
fi fi
echo "Checking for local modifications." echo "Checking for local modifications."
check_local_mods check_local_mods skip-prompt
echo "Checking sudoers file." echo "Checking sudoers file."
check_sudoers check_sudoers

View File

@@ -18,6 +18,10 @@ actions:
- filtertype: pattern - filtertype: pattern
kind: regex kind: regex
value: '^(logstash-.*|so-.*)$' value: '^(logstash-.*|so-.*)$'
- filtertype: pattern
kind: regex
value: '^(so-case.*)$'
exclude: True
- filtertype: space - filtertype: space
source: creation_date source: creation_date
use_age: True use_age: True

View File

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

View File

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

View File

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

View File

@@ -23,22 +23,21 @@ read lastPID < $lf
# if lastPID is not null and a process with that pid exists , exit # if lastPID is not null and a process with that pid exists , exit
[ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit [ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit
echo $$ > $lf echo $$ > $lf
{% from 'filebeat/map.jinja' import THIRDPARTY with context %}
{% from 'filebeat/map.jinja' import SO with context %} {% from 'filebeat/modules.map.jinja' import MODULESMERGED with context %}
/usr/sbin/so-curator-closed-delete > /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-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-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-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-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-import-close.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-kibana-close.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-kratos-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-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-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-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; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-syslog-close.yml > /dev/null 2>&1;
{% for INDEX in THIRDPARTY.modules.keys() -%} {% for INDEX in MODULESMERGED.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-close.yml > /dev/null 2>&1;
{% endfor -%}
{% for INDEX in SO.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-close.yml > /dev/null 2>&1{% if not loop.last %};{% endif %} docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-close.yml > /dev/null 2>&1{% if not loop.last %};{% endif %}
{% endfor -%} {% endfor -%}

View File

@@ -29,14 +29,18 @@ LOG="/opt/so/log/curator/so-curator-closed-delete.log"
overlimit() { overlimit() {
[[ $(du -hs --block-size=1GB /nsm/elasticsearch/nodes | awk '{print $1}' ) -gt "{{LOG_SIZE_LIMIT}}" ]] [[ $(du -hs --block-size=1GB /nsm/elasticsearch/indices | awk '{print $1}' ) -gt "{{LOG_SIZE_LIMIT}}" ]]
} }
closedindices() { closedindices() {
INDICES=$({{ ELASTICCURL }} -s -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed 2> /dev/null) # If we can't query Elasticsearch, then immediately return false.
{{ ELASTICCURL }} -s -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed >/dev/null 2>&1
[ $? -eq 1 ] && return false [ $? -eq 1 ] && return false
echo ${INDICES} | grep -q -E "(logstash-|so-)" # First, get the list of closed indices using _cat/indices?h=index\&expand_wildcards=closed.
# Next, filter out any so-case indices.
# Finally, use grep's -q option to return true if there are any remaining logstash- or so- indices.
{{ ELASTICCURL }} -s -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed | grep -v "so-case" | grep -q -E "(logstash-|so-)"
} }
# Check for 2 conditions: # Check for 2 conditions:
@@ -47,9 +51,10 @@ while overlimit && closedindices; do
# We need to determine OLDEST_INDEX: # We need to determine OLDEST_INDEX:
# First, get the list of closed indices using _cat/indices?h=index\&expand_wildcards=closed. # First, get the list of closed indices using _cat/indices?h=index\&expand_wildcards=closed.
# Then, sort by date by telling sort to use hyphen as delimiter and then sort on the third field. # Next, filter out any so-case indices and only select the remaining logstash- or so- indices.
# Then, sort by date by telling sort to use hyphen as delimiter and sort on the third field.
# Finally, select the first entry in that sorted list. # Finally, select the first entry in that sorted list.
OLDEST_INDEX=$({{ ELASTICCURL }} -s -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed | grep -E "(logstash-|so-)" | sort -t- -k3 | head -1) OLDEST_INDEX=$({{ ELASTICCURL }} -s -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/_cat/indices?h=index\&expand_wildcards=closed | grep -v "so-case" | grep -E "(logstash-|so-)" | sort -t- -k3 | head -1)
# Now that we've determined OLDEST_INDEX, ask Elasticsearch to delete it. # Now that we've determined OLDEST_INDEX, ask Elasticsearch to delete it.
{{ ELASTICCURL }} -XDELETE -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/${OLDEST_INDEX} {{ ELASTICCURL }} -XDELETE -k https://{{ELASTICSEARCH_HOST}}:{{ELASTICSEARCH_PORT}}/${OLDEST_INDEX}

View File

@@ -24,21 +24,18 @@ read lastPID < $lf
[ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit [ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit
echo $$ > $lf echo $$ > $lf
{% from 'filebeat/map.jinja' import THIRDPARTY with context %} {% from 'filebeat/modules.map.jinja' import MODULESMERGED with context %}
{% from 'filebeat/map.jinja' import SO with context %}
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-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-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-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-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-import-close.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-kratos-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-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-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-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; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-syslog-close.yml > /dev/null 2>&1;
{% for INDEX in THIRDPARTY.modules.keys() -%} {% for INDEX in MODULESMERGED.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-close.yml > /dev/null 2>&1;
{% endfor -%}
{% for INDEX in SO.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-close.yml > /dev/null 2>&1{% if not loop.last %};{% endif %} docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-close.yml > /dev/null 2>&1{% if not loop.last %};{% endif %}
{% endfor -%} {% endfor -%}

View File

@@ -24,21 +24,18 @@ read lastPID < $lf
[ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit [ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit
echo $$ > $lf echo $$ > $lf
{% from 'filebeat/map.jinja' import THIRDPARTY with context %} {% from 'filebeat/modules.map.jinja' import MODULESMERGED with context %}
{% from 'filebeat/map.jinja' import SO with context %}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-zeek-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-zeek-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-beats-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-beats-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-firewall-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-firewall-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ids-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ids-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-import-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-import-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-kratos-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-osquery-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-osquery-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ossec-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ossec-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-strelka-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-strelka-delete.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-syslog-delete.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-syslog-delete.yml > /dev/null 2>&1;
{% for INDEX in THIRDPARTY.modules.keys() -%} {% for INDEX in MODULESMERGED.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-delete.yml > /dev/null 2>&1;
{% endfor -%}
{% for INDEX in SO.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-delete.yml > /dev/null 2>&1{% if not loop.last %};{% endif %} docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-delete.yml > /dev/null 2>&1{% if not loop.last %};{% endif %}
{% endfor -%} {% endfor -%}

View File

@@ -24,21 +24,18 @@ read lastPID < $lf
[ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit [ ! -z "$lastPID" -a -d /proc/$lastPID ] && exit
echo $$ > $lf echo $$ > $lf
{% from 'filebeat/map.jinja' import THIRDPARTY with context %} {% from 'filebeat/modules.map.jinja' import MODULESMERGED with context %}
{% from 'filebeat/map.jinja' import SO with context %}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-zeek-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-zeek-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-beats-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-beats-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-firewall-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-firewall-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ids-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ids-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-import-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-import-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-kratos-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-osquery-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-osquery-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ossec-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-ossec-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-strelka-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-strelka-warm.yml > /dev/null 2>&1;
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-syslog-warm.yml > /dev/null 2>&1; docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-syslog-warm.yml > /dev/null 2>&1;
{% for INDEX in THIRDPARTY.modules.keys() -%} {% for INDEX in MODULESMERGED.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-warm.yml > /dev/null 2>&1;
{% endfor -%}
{% for INDEX in SO.modules.keys() -%}
docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-warm.yml > /dev/null 2>&1{% if not loop.last %};{% endif %} docker exec so-curator curator --config /etc/curator/config/curator.yml /etc/curator/action/so-{{ INDEX }}-warm.yml > /dev/null 2>&1{% if not loop.last %};{% endif %}
{% endfor -%} {% endfor -%}

View File

@@ -201,8 +201,8 @@ so-curatorclusterclose:
cron.present: cron.present:
- name: /usr/sbin/so-curator-cluster-close > /opt/so/log/curator/cron-close.log 2>&1 - name: /usr/sbin/so-curator-cluster-close > /opt/so/log/curator/cron-close.log 2>&1
- user: root - user: root
- minute: '2' - minute: '5'
- hour: '*/1' - hour: '1'
- daymonth: '*' - daymonth: '*'
- month: '*' - month: '*'
- dayweek: '*' - dayweek: '*'
@@ -211,8 +211,8 @@ so-curatorclusterdelete:
cron.present: cron.present:
- name: /usr/sbin/so-curator-cluster-delete > /opt/so/log/curator/cron-delete.log 2>&1 - name: /usr/sbin/so-curator-cluster-delete > /opt/so/log/curator/cron-delete.log 2>&1
- user: root - user: root
- minute: '2' - minute: '5'
- hour: '*/1' - hour: '1'
- daymonth: '*' - daymonth: '*'
- month: '*' - month: '*'
- dayweek: '*' - dayweek: '*'
@@ -221,8 +221,8 @@ so-curatorclusterwarm:
cron.present: cron.present:
- name: /usr/sbin/so-curator-cluster-warm > /opt/so/log/curator/cron-warm.log 2>&1 - name: /usr/sbin/so-curator-cluster-warm > /opt/so/log/curator/cron-warm.log 2>&1
- user: root - user: root
- minute: '2' - minute: '5'
- hour: '*/1' - hour: '1'
- daymonth: '*' - daymonth: '*'
- month: '*' - month: '*'
- dayweek: '*' - dayweek: '*'

View File

@@ -129,6 +129,9 @@ so-elastalert:
- file: elastaconf - file: elastaconf
- watch: - watch:
- file: elastaconf - file: elastaconf
- onlyif:
- "so-elasticsearch-query / | jq -r '.version.number[0:1]' | grep -q 8" {# only run this state if elasticsearch is version 8 #}
append_so-elastalert_so-status.conf: append_so-elastalert_so-status.conf:
file.append: file.append:

View File

@@ -4,7 +4,7 @@
{% set DIGITS = "1234567890" %} {% set DIGITS = "1234567890" %}
{% set LOWERCASE = "qwertyuiopasdfghjklzxcvbnm" %} {% set LOWERCASE = "qwertyuiopasdfghjklzxcvbnm" %}
{% set UPPERCASE = "QWERTYUIOPASDFGHJKLZXCVBNM" %} {% set UPPERCASE = "QWERTYUIOPASDFGHJKLZXCVBNM" %}
{% set SYMBOLS = "~!@#$^&*()-_=+[]|;:,.<>?" %} {% set SYMBOLS = "~!@#^&*()-_=+[]|;:,.<>?" %}
{% set CHARS = DIGITS~LOWERCASE~UPPERCASE~SYMBOLS %} {% set CHARS = DIGITS~LOWERCASE~UPPERCASE~SYMBOLS %}
{% set so_elastic_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', salt['random.get_str'](72, chars=CHARS)) %} {% set so_elastic_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', salt['random.get_str'](72, chars=CHARS)) %}
{% set so_kibana_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_kibana_user:pass', salt['random.get_str'](72, chars=CHARS)) %} {% set so_kibana_user_pass = salt['pillar.get']('elasticsearch:auth:users:so_kibana_user:pass', salt['random.get_str'](72, chars=CHARS)) %}

View File

@@ -0,0 +1 @@
{{ TEMPLATE_CONFIG | tojson(true) }}

View File

@@ -10,7 +10,7 @@
{% if salt['pillar.get']('nodestab', {}) %} {% if salt['pillar.get']('nodestab', {}) %}
{% do ESCONFIG.elasticsearch.config.node.update({'roles': ['master', 'data', 'remote_cluster_client']}) %} {% do ESCONFIG.elasticsearch.config.node.update({'roles': ['master', 'data', 'remote_cluster_client']}) %}
{% if HIGHLANDER %} {% if HIGHLANDER %}
{% do ESCONFIG.elasticsearch.config.node.roles.append('ml', 'transform') %} {% do ESCONFIG.elasticsearch.config.node.roles.extend(['ml', 'transform']) %}
{% endif %} {% endif %}
{% do ESCONFIG.elasticsearch.config.update({'discovery': {'seed_hosts': [grains.master]}}) %} {% do ESCONFIG.elasticsearch.config.update({'discovery': {'seed_hosts': [grains.master]}}) %}
{% for SN, SNDATA in salt['pillar.get']('nodestab', {}).items() %} {% for SN, SNDATA in salt['pillar.get']('nodestab', {}).items() %}

File diff suppressed because it is too large Load Diff

View File

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

View File

@@ -0,0 +1,13 @@
{
"description" : "kratos",
"processors" : [
{
"set": {
"field": "_index",
"value": "so-kratos",
"override": true
}
},
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,127 @@
{
"description": "RITA Beacons",
"processors": [
{
"set": {
"field": "_index",
"value": "so-rita",
"override": true
}
},
{
"csv": {
"field": "message",
"target_fields": [
"beacon.score",
"source.ip",
"destination.ip",
"network.connections",
"network.average_bytes",
"beacon.interval.range",
"beacon.size.range",
"beacon.interval.top",
"beacon.size.top",
"beacon.interval.top_count",
"beacon.size.top_count",
"beacon.interval.skew",
"beacon.size.skew",
"beacon.interval.dispersion",
"beacon.size.dispersion",
"network.bytes"
]
}
},
{
"convert": {
"field": "beacon.score",
"type": "float"
}
},
{
"convert": {
"field": "network.connections",
"type": "integer"
}
},
{
"convert": {
"field": "network.average_bytes",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.interval.range",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.size.range",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.interval.top",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.size.top",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.interval.top_count",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.size.top_count",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.interval.skew",
"type": "float"
}
},
{
"convert": {
"field": "beacon.size.skew",
"type": "float"
}
},
{
"convert": {
"field": "beacon.interval.dispersion",
"type": "integer"
}
},
{
"convert": {
"field": "beacon.size.dispersion",
"type": "integer"
}
},
{
"convert": {
"field": "network.bytes",
"type": "integer"
}
},
{ "set": { "if": "ctx.beacon?.score == 1", "field": "dataset", "value": "alert", "override": true }},
{ "set": { "if": "ctx.beacon?.score == 1", "field": "rule.name", "value": "Potential C2 Beacon Activity", "override": true }},
{ "set": { "if": "ctx.beacon?.score == 1", "field": "event.severity", "value": 3, "override": true }},
{
"pipeline": {
"name": "common"
}
}
]
}

View File

@@ -0,0 +1,36 @@
{
"description": "RITA Connections",
"processors": [
{
"set": {
"field": "_index",
"value": "so-rita",
"override": true
}
},
{
"dissect": {
"field": "message",
"pattern": "%{source.ip},%{destination.ip},%{network.port}:%{network.protocol}:%{network.service},%{connection.duration},%{connection.state}"
}
},
{
"convert": {
"field": "connection.duration",
"type": "float"
}
},
{
"set": {
"field": "event.duration",
"value": "{{ connection.duration }}",
"override": true
}
},
{
"pipeline": {
"name": "common"
}
}
]
}

View File

@@ -0,0 +1,39 @@
{
"description": "RITA DNS",
"processors": [
{
"set": {
"field": "_index",
"value": "so-rita",
"override": true
}
},
{
"csv": {
"field": "message",
"target_fields": [
"dns.question.name",
"dns.question.subdomain_count",
"dns.question.count"
]
}
},
{
"convert": {
"field": "dns.question.subdomain_count",
"type": "integer"
}
},
{
"convert": {
"field": "dns.question.count",
"type": "integer"
}
},
{
"pipeline": {
"name": "common"
}
}
]
}

View File

@@ -12,7 +12,7 @@
{ "remove":{ "field": "dataset", "ignore_failure": true } }, { "remove":{ "field": "dataset", "ignore_failure": true } },
{ "rename":{ "field": "message2.event_type", "target_field": "dataset", "ignore_failure": true } }, { "rename":{ "field": "message2.event_type", "target_field": "dataset", "ignore_failure": true } },
{ "set": { "field": "observer.name", "value": "{{agent.name}}" } }, { "set": { "field": "observer.name", "value": "{{agent.name}}" } },
{ "set": { "field": "ingest.timestamp", "value": "{{@timestamp}}" } }, { "set": { "field": "event.ingested", "value": "{{@timestamp}}" } },
{ "date": { "field": "message2.timestamp", "target_field": "@timestamp", "formats": ["ISO8601", "UNIX"], "timezone": "UTC", "ignore_failure": true } }, { "date": { "field": "message2.timestamp", "target_field": "@timestamp", "formats": ["ISO8601", "UNIX"], "timezone": "UTC", "ignore_failure": true } },
{ "remove":{ "field": "agent", "ignore_failure": true } }, { "remove":{ "field": "agent", "ignore_failure": true } },
{ "pipeline": { "if": "ctx?.dataset != null", "name": "suricata.{{dataset}}" } } { "pipeline": { "if": "ctx?.dataset != null", "name": "suricata.{{dataset}}" } }

View File

@@ -1,36 +1,157 @@
{ {
"description" : "syslog", "description" : "syslog pipeline",
"processors" : [ "processors" : [
{ {
"dissect": { "dissect": {
"field": "message", "field": "message",
"pattern" : "%{message}", "pattern" : "%{message}",
"on_failure": [ { "drop" : { } } ] "on_failure": [ { "drop" : { } } ]
}, },
"remove": { "remove": {
"field": [ "type", "agent" ], "field": [ "type", "agent" ],
"ignore_failure": true "ignore_failure": true
} }
}, {
"grok": {
"field": "message",
"patterns": [
"^<%{INT:syslog.priority:int}>%{TIMESTAMP_ISO8601:syslog.timestamp} +%{IPORHOST:syslog.host} +%{PROG:syslog.program}(?:\\[%{POSINT:syslog.pid:int}\\])?: %{GREEDYDATA:real_message}$",
"^<%{INT:syslog.priority}>%{DATA:syslog.timestamp} %{WORD:source.application}(\\[%{DATA:pid}\\])?: %{GREEDYDATA:real_message}$",
"^%{SYSLOGTIMESTAMP:syslog.timestamp} %{SYSLOGHOST:syslog.host} %{SYSLOGPROG:syslog.program}: CEF:0\\|%{DATA:vendor}\\|%{DATA:product}\\|%{GREEDYDATA:message2}$"
],
"ignore_failure": true
}
}, },
{ {
"grok": "convert" : {
{ "if": "ctx?.syslog?.priority != null",
"field": "message", "field" : "syslog.priority",
"patterns": [ "type": "integer"
"^<%{INT:syslog.priority}>%{DATA:syslog.timestamp} %{WORD:source.application}(\\[%{DATA:pid}\\])?: %{GREEDYDATA:real_message}$", }
"^%{SYSLOGTIMESTAMP:syslog.timestamp} %{SYSLOGHOST:syslog.host} %{SYSLOGPROG:syslog.program}: CEF:0\\|%{DATA:vendor}\\|%{DATA:product}\\|%{GREEDYDATA:message2}$"
],
"ignore_failure": true
}
}, },
{ "set": { "if": "ctx.source?.application == 'filterlog'", "field": "dataset", "value": "firewall", "ignore_failure": true } }, {
{ "set": { "if": "ctx.vendor != null", "field": "module", "value": "{{ vendor }}", "ignore_failure": true } }, "script": {
{ "set": { "if": "ctx.product != null", "field": "dataset", "value": "{{ product }}", "ignore_failure": true } }, "description": "Map syslog priority into facility and level",
{ "set": { "field": "ingest.timestamp", "value": "{{ @timestamp }}" } }, "lang": "painless",
{ "date": { "if": "ctx.syslog?.timestamp != null", "field": "syslog.timestamp", "target_field": "@timestamp", "formats": ["MMM d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601", "UNIX"], "ignore_failure": true } }, "params" : {
{ "remove": { "field": ["pid", "program"], "ignore_missing": true, "ignore_failure": true } }, "level": [
{ "pipeline": { "if": "ctx.vendor != null && ctx.product != null", "name": "{{ vendor }}.{{ product }}", "ignore_failure": true } }, "emerg",
{ "pipeline": { "if": "ctx.dataset == 'firewall'", "name": "filterlog", "ignore_failure": true } }, "alert",
{ "pipeline": { "name": "common" } } "crit",
"err",
"warn",
"notice",
"info",
"debug"
],
"facility" : [
"kern",
"user",
"mail",
"daemon",
"auth",
"syslog",
"lpr",
"news",
"uucp",
"cron",
"authpriv",
"ftp",
"ntp",
"security",
"console",
"solaris-cron",
"local0",
"local1",
"local2",
"local3",
"local4",
"local5",
"local6",
"local7"
]
},
"source": "if (ctx['syslog'] != null && ctx['syslog']['priority'] != null) { int p = ctx['syslog']['priority']; int f = p / 8; int l = p - (f * 8); ctx['syslog']['facility_label'] = [ : ]; ctx['syslog']['severity_label'] = [ : ]; ctx['syslog'].put('severity', l); ctx['syslog'].put('severity_label', params.level[l].toUpperCase()); ctx['syslog'].put('facility', f); ctx['syslog'].put('facility_label', params.facility[f].toUpperCase()); }"
}
},
{
"set": {
"if": "ctx.syslog?.host != null",
"field": "host.name",
"value": "{{ syslog.host }}",
"ignore_failure": true
}
}, {
"set": {
"if": "ctx.syslog?.program != null",
"field": "process.name",
"value": "{{ syslog.program }}",
"ignore_failure": true
}
}, {
"set": {
"if": "ctx.syslog?.pid != null",
"field": "process.id",
"value": "{{ syslog.pid }}",
"ignore_failure": true
}
}, {
"set": {
"if": "ctx.source?.application == 'filterlog'",
"field": "dataset",
"value": "firewall",
"ignore_failure": true
}
}, {
"set": {
"if": "ctx.vendor != null",
"field": "module",
"value": "{{ vendor }}",
"ignore_failure": true
}
}, {
"set": {
"if": "ctx.product != null",
"field": "dataset",
"value": "{{ product }}",
"ignore_failure": true
}
}, {
"set": {
"field": "ingest.timestamp",
"value": "{{ @timestamp }}"
}
}, {
"date": {
"if": "ctx.syslog?.timestamp != null",
"field": "syslog.timestamp",
"target_field": "@timestamp",
"formats": ["MMM d HH:mm:ss", "MMM dd HH:mm:ss", "ISO8601", "UNIX"],
"ignore_failure": true
}
}, {
"remove": {
"field": ["pid", "program"],
"ignore_missing": true,
"ignore_failure": true
}
}, {
"pipeline": {
"if": "ctx.vendor != null && ctx.product != null",
"name": "{{ vendor }}.{{ product }}",
"ignore_failure": true
}
}, {
"pipeline": {
"if": "ctx.dataset == 'firewall'",
"name": "filterlog",
"ignore_failure": true
}
}, {
"pipeline": { "name": "common" }
}
] ]
} }

View File

@@ -9,61 +9,70 @@
{ "set": { "if": "ctx.event?.code == '5'", "field": "event.category", "value": "host,process", "override": true } }, { "set": { "if": "ctx.event?.code == '5'", "field": "event.category", "value": "host,process", "override": true } },
{ "set": { "if": "ctx.event?.code == '6'", "field": "event.category", "value": "host,driver", "override": true } }, { "set": { "if": "ctx.event?.code == '6'", "field": "event.category", "value": "host,driver", "override": true } },
{ "set": { "if": "ctx.event?.code == '22'", "field": "event.category", "value": "network", "override": true } }, { "set": { "if": "ctx.event?.code == '22'", "field": "event.category", "value": "network", "override": true } },
{ "set": { "if": "ctx.event?.code == '1'", "field": "event.dataset", "value": "process_creation", "override": true } }, { "set": { "if": "ctx.event?.code == '1'", "field": "event.dataset", "value": "process_creation", "override": true } },
{ "set": { "if": "ctx.event?.code == '2'", "field": "event.dataset", "value": "process_changed_file", "override": true } }, { "set": { "if": "ctx.event?.code == '2'", "field": "event.dataset", "value": "process_changed_file", "override": true } },
{ "set": { "if": "ctx.event?.code == '3'", "field": "event.dataset", "value": "network_connection", "override": true } }, { "set": { "if": "ctx.event?.code == '3'", "field": "event.dataset", "value": "network_connection", "override": true } },
{ "set": { "if": "ctx.event?.code == '5'", "field": "event.dataset", "value": "process_terminated", "override": true } }, { "set": { "if": "ctx.event?.code == '5'", "field": "event.dataset", "value": "process_terminated", "override": true } },
{ "set": { "if": "ctx.event?.code == '6'", "field": "event.dataset", "value": "driver_loaded", "override": true } }, { "set": { "if": "ctx.event?.code == '6'", "field": "event.dataset", "value": "driver_loaded", "override": true } },
{ "set": { "if": "ctx.event?.code == '7'", "field": "event.dataset", "value": "image_loaded", "override": true } }, { "set": { "if": "ctx.event?.code == '7'", "field": "event.dataset", "value": "image_loaded", "override": true } },
{ "set": { "if": "ctx.event?.code == '8'", "field": "event.dataset", "value": "create_remote_thread", "override": true } }, { "set": { "if": "ctx.event?.code == '8'", "field": "event.dataset", "value": "create_remote_thread", "override": true } },
{ "set": { "if": "ctx.event?.code == '9'", "field": "event.dataset", "value": "raw_file_access_read", "override": true } }, { "set": { "if": "ctx.event?.code == '9'", "field": "event.dataset", "value": "raw_file_access_read", "override": true } },
{ "set": { "if": "ctx.event?.code == '10'", "field": "event.dataset", "value": "process_access", "override": true } }, { "set": { "if": "ctx.event?.code == '10'", "field": "event.dataset", "value": "process_access", "override": true } },
{ "set": { "if": "ctx.event?.code == '11'", "field": "event.dataset", "value": "file_create", "override": true } }, { "set": { "if": "ctx.event?.code == '11'", "field": "event.dataset", "value": "file_create", "override": true } },
{ "set": { "if": "ctx.event?.code == '12'", "field": "event.dataset", "value": "registry_create_delete", "override": true } }, { "set": { "if": "ctx.event?.code == '12'", "field": "event.dataset", "value": "registry_create_delete", "override": true } },
{ "set": { "if": "ctx.event?.code == '13'", "field": "event.dataset", "value": "registry_value_set", "override": true } }, { "set": { "if": "ctx.event?.code == '13'", "field": "event.dataset", "value": "registry_value_set", "override": true } },
{ "set": { "if": "ctx.event?.code == '14'", "field": "event.dataset", "value": "registry_key_value_rename", "override": true } }, { "set": { "if": "ctx.event?.code == '14'", "field": "event.dataset", "value": "registry_key_value_rename", "override": true } },
{ "set": { "if": "ctx.event?.code == '15'", "field": "event.dataset", "value": "file_create_stream_hash", "override": true } }, { "set": { "if": "ctx.event?.code == '15'", "field": "event.dataset", "value": "file_create_stream_hash", "override": true } },
{ "set": { "if": "ctx.event?.code == '16'", "field": "event.dataset", "value": "config_change", "override": true } }, { "set": { "if": "ctx.event?.code == '16'", "field": "event.dataset", "value": "config_change", "override": true } },
{ "set": { "if": "ctx.event?.code == '22'", "field": "event.dataset", "value": "dns_query", "override": true } }, { "set": { "if": "ctx.event?.code == '22'", "field": "event.dataset", "value": "dns_query", "override": true } },
{ "rename": { "field": "winlog.event_data.SubjectUserName", "target_field": "user.name", "ignore_missing": true } }, { "kv": {"field": "winlog.event_data.Hashes", "target_field": "file.hash", "field_split": ",", "value_split": "=", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.DestinationHostname", "target_field": "destination.hostname", "ignore_missing": true } }, { "kv": {"field": "winlog.event_data.Hash", "target_field": "file.hash", "field_split": ",", "value_split": "=", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.DestinationIp", "target_field": "destination.ip", "ignore_missing": true } }, { "rename": { "field": "file.hash.IMPHASH", "target_field": "hash.imphash", "ignore_missing":true } },
{ "rename": { "field": "winlog.event_data.DestinationPort", "target_field": "destination.port", "ignore_missing": true } }, { "rename": { "field": "file.hash.MD5", "target_field": "hash.md5", "ignore_missing":true } },
{ "rename": { "field": "winlog.event_data.image", "target_field": "process.executable", "ignore_missing": true } }, { "rename": { "field": "file.hash.SHA256", "target_field": "hash.sha256", "ignore_missing":true } },
{ "rename": { "field": "winlog.event_data.Image", "target_field": "process.executable", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.SubjectUserName", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.processID", "target_field": "process.pid", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.DestinationHostname", "target_field": "destination.hostname", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ProcessId", "target_field": "process.pid", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.DestinationIp", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.processGuid", "target_field": "process.entity_id", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.DestinationPort", "target_field": "destination.port", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ProcessGuid", "target_field": "process.entity_id", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.image", "target_field": "process.executable", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.commandLine", "target_field": "process.command_line", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.Image", "target_field": "process.executable", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.CommandLine", "target_field": "process.command_line", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.processID", "target_field": "process.pid", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.currentDirectory", "target_field": "process.working_directory", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.ProcessId", "target_field": "process.pid", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.CurrentDirectory", "target_field": "process.working_directory", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.processGuid", "target_field": "process.entity_id", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.description", "target_field": "process.pe.description", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.ProcessGuid", "target_field": "process.entity_id", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Description", "target_field": "process.pe.description", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.commandLine", "target_field": "process.command_line", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.product", "target_field": "process.pe.product", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.CommandLine", "target_field": "process.command_line", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Product", "target_field": "process.pe.product", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.currentDirectory", "target_field": "process.working_directory", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.company", "target_field": "process.pe.company", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.CurrentDirectory", "target_field": "process.working_directory", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Company", "target_field": "process.pe.company", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.description", "target_field": "process.pe.description", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.originalFileName", "target_field": "process.pe.original_file_name", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.Description", "target_field": "process.pe.description", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.OriginalFileName", "target_field": "process.pe.original_file_name", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.product", "target_field": "process.pe.product", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.fileVersion", "target_field": "process.pe.file_version", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.Product", "target_field": "process.pe.product", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.FileVersion", "target_field": "process.pe.file_version", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.company", "target_field": "process.pe.company", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.parentCommandLine", "target_field": "process.parent.command_line", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.Company", "target_field": "process.pe.company", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentCommandLine", "target_field": "process.parent.command_line", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.originalFileName", "target_field": "process.pe.original_file_name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.parentImage", "target_field": "process.parent.executable", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.OriginalFileName", "target_field": "process.pe.original_file_name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentImage", "target_field": "process.parent.executable", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.fileVersion", "target_field": "process.pe.file_version", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.parentProcessGuid", "target_field": "process.parent.entity_id", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.FileVersion", "target_field": "process.pe.file_version", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentProcessGuid", "target_field": "process.parent.entity_id", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.parentCommandLine", "target_field": "process.parent.command_line", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.parentProcessId", "target_field": "process.ppid", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.ParentCommandLine", "target_field": "process.parent.command_line", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentProcessId", "target_field": "process.ppid", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.parentImage", "target_field": "process.parent.executable", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Protocol", "target_field": "network.transport", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.ParentImage", "target_field": "process.parent.executable", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.User", "target_field": "user.name", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.parentProcessGuid", "target_field": "process.parent.entity_id", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourceHostname", "target_field": "source.hostname", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.ParentProcessGuid", "target_field": "process.parent.entity_id", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourceIp", "target_field": "source.ip", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.parentProcessId", "target_field": "process.ppid", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourcePort", "target_field": "source.port", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.ParentProcessId", "target_field": "process.ppid", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.targetFilename", "target_field": "file.target", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.Protocol", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.TargetFilename", "target_field": "file.target", "ignore_missing": true } }, { "rename": { "field": "winlog.event_data.User", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourceHostname", "target_field": "source.hostname", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourceIp", "target_field": "source.ip", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourcePort", "target_field": "source.port", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.targetFilename", "target_field": "file.target", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.TargetFilename", "target_field": "file.target", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.QueryResults", "target_field": "dns.answers.name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.QueryName", "target_field": "dns.query.name", "ignore_missing": true } },
{ "remove": { "field": "winlog.event_data.Hash", "ignore_missing": true } },
{ "remove": { "field": "winlog.event_data.Hashes", "ignore_missing": true } },
{ "community_id": {} } { "community_id": {} }
] ]
} }

View File

@@ -0,0 +1,14 @@
{
"description" : "zeek.bacnet",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.is_orig", "target_field": "bacnet.is_orig", "ignore_missing": true } },
{ "rename": { "field": "message2.bvlc_function", "target_field": "bacnet.bclv.function", "ignore_missing": true } },
{ "rename": { "field": "message2.pdu_type", "target_field": "bacnet.pdu.type", "ignore_missing": true } },
{ "rename": { "field": "message2.pdu_service", "target_field": "bacnet.pdu.service", "ignore_missing": true } },
{ "rename": { "field": "message2.invoke_id", "target_field": "bacnet.invoke.id", "ignore_missing": true } },
{ "rename": { "field": "message2.result_code", "target_field": "bacnet.result.code", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

View File

@@ -0,0 +1,15 @@
{
"description" : "zeek.bacnet_discovery",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.is_orig", "target_field": "bacnet.is_orig", "ignore_missing": true } },
{ "rename": { "field": "message2.pdu_service", "target_field": "bacnet.pdu.service", "ignore_missing": true } },
{ "rename": { "field": "message2.object_type", "target_field": "bacnet.object.type", "ignore_missing": true } },
{ "rename": { "field": "message2.instance_number", "target_field": "bacnet.instance.number", "ignore_missing": true } },
{ "rename": { "field": "message2.vendor", "target_field": "bacnet.vendor", "ignore_missing": true } },
{ "rename": { "field": "message2.range", "target_field": "bacnet.range", "ignore_missing": true } },
{ "rename": { "field": "message2.object_name", "target_field": "bacnet.object.name", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

View File

@@ -0,0 +1,15 @@
{
"description" : "zeek.bacnet_property",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.is_orig", "target_field": "bacnet.is_orig", "ignore_missing": true } },
{ "rename": { "field": "message2.instance_number", "target_field": "bacnet.instance.number", "ignore_missing": true } },
{ "rename": { "field": "message2.pdu_service", "target_field": "bacnet.pdu.service", "ignore_missing": true } },
{ "rename": { "field": "message2.object_type", "target_field": "bacnet.object.type", "ignore_missing": true } },
{ "rename": { "field": "message2.property", "target_field": "bacnet.property", "ignore_missing": true } },
{ "rename": { "field": "message2.array_index", "target_field": "bacnet.array.index", "ignore_missing": true } },
{ "rename": { "field": "message2.value", "target_field": "bacnet.value", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

View File

@@ -0,0 +1,10 @@
{
"description" : "zeek.bsap_ip_header",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.num_msg", "target_field": "bsap.number.messages", "ignore_missing": true } },
{ "rename": { "field": "message2.type_name", "target_field": "bsap.message.type", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

View File

@@ -0,0 +1,20 @@
{
"description" : "zeek.bsap_ip_rdb",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.header_size", "target_field": "bsap.header.length", "ignore_missing": true } },
{ "rename": { "field": "message2.mes_seq", "target_field": "bsap.message.sequence", "ignore_missing": true } },
{ "rename": { "field": "message2.res_seq", "target_field": "bsap.response.sequence", "ignore_missing": true } },
{ "rename": { "field": "message2.data_len", "target_field": "bsap.data.length", "ignore_missing": true } },
{ "rename": { "field": "message2.sequence", "target_field": "bsap.function.sequence", "ignore_missing": true } },
{ "rename": { "field": "message2.app_func_code", "target_field": "bsap.application.function", "ignore_missing": true } },
{ "rename": { "field": "message2.node_status", "target_field": "bsap.node.status", "ignore_missing": true } },
{ "rename": { "field": "message2.func_code", "target_field": "bsap.application.sub_function", "ignore_missing": true } },
{ "rename": { "field": "message2.variable_count", "target_field": "bsap.variable.count", "ignore_missing": true } },
{ "rename": { "field": "message2.variables", "target_field": "bsap.vector.variables", "ignore_missing": true } },
{ "rename": { "field": "message2.variable_value", "target_field": "bsap.vector.variable.value", "ignore_missing": true } },
{ "rename": { "field": "message2.value", "target_field": "bsap.value", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

View File

@@ -0,0 +1,9 @@
{
"description" : "zeek.bsap_ip_unknown",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.data", "target_field": "bsap.ip.unknown.data", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

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