Compare commits

..

485 Commits
1.1.4 ... 1.2.1

Author SHA1 Message Date
Mike Reeves
b65b66fe57 Merge pull request #578 from Security-Onion-Solutions/dev
1.2.1
2020-04-17 13:40:32 -04:00
Mike Reeves
0e654f5394 Update README.md 2020-04-17 13:38:13 -04:00
Mike Reeves
ed2152ce74 Merge branch 'master' into dev 2020-04-17 13:36:48 -04:00
Mike Reeves
39d70d2e99 Update README.md 2020-04-17 13:30:35 -04:00
Josh Patterson
6cc7b98e7e Merge pull request #577 from Security-Onion-Solutions/quickfix/evallspillar
remove logstash pillars from eval in top
2020-04-16 16:13:35 -04:00
m0duspwnens
93c0730a2f remove logstash pillars from eval in top 2020-04-16 16:12:24 -04:00
Mike Reeves
919c57ce00 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 16:00:15 -04:00
Mike Reeves
f1f681794c Update Notes 2020-04-16 16:00:08 -04:00
Josh Patterson
08f3d29b91 Merge pull request #568 from Security-Onion-Solutions/issue566
fix failed setup FP
2020-04-16 15:54:14 -04:00
weslambert
60702687d2 Merge pull request #576 from Security-Onion-Solutions/fix/kibana_config
Fix/kibana config
2020-04-16 15:00:27 -04:00
Wes Lambert
1020428e49 updated placeholder in saved objects 2020-04-16 18:58:42 +00:00
Wes Lambert
15ba411d0a update load script 2020-04-16 18:58:14 +00:00
Mike Reeves
a81d886063 Update Version File 2020-04-16 13:55:54 -04:00
Mike Reeves
616baaf4be Update JOSN for release 2020-04-16 10:53:35 -04:00
Josh Patterson
eef6f299f9 Merge pull request #574 from Security-Onion-Solutions/quickfix/grafana
add missing ,
2020-04-16 00:21:53 -04:00
m0duspwnens
38d0d5285e add missing , 2020-04-16 00:19:16 -04:00
Josh Brower
aa266418ac Merge pull request #573 from Security-Onion-Solutions/bugfix/osquery-pipeline
osquery pipeline fix
2020-04-15 20:23:40 -04:00
Josh Brower
6332509a33 osquery pipeline fix 2020-04-15 20:22:54 -04:00
Mike Reeves
4cc2951ac4 Fix the Strelka redis 2020-04-15 17:34:54 -04:00
Josh Patterson
99355de2d4 Merge pull request #572 from Security-Onion-Solutions/issue/571
Issue/571
2020-04-15 16:09:51 -04:00
m0duspwnens
e4f384f25c remove space - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/571 2020-04-15 16:09:12 -04:00
m0duspwnens
a7dea8b087 fix bug not allowing grafana to install on mastersearch - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/571 2020-04-15 16:06:17 -04:00
Mike Reeves
5eed79e87e Fix the Strelka version 2020-04-15 15:38:48 -04:00
Mike Reeves
acc323f5ca Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 15:38:05 -04:00
Mike Reeves
d9e27a5444 Update Versions 2020-04-15 15:37:59 -04:00
Josh Patterson
81bef868c2 Merge pull request #570 from Security-Onion-Solutions/quickfix/grafana
fix nsm threshold sensor dashboard
2020-04-15 14:58:54 -04:00
m0duspwnens
11be93e9a4 fix nsm threshold sensor dashboard 2020-04-15 14:57:00 -04:00
Mike Reeves
017d0f1390 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 14:41:41 -04:00
Mike Reeves
cb7b6b6124 Download Strlka Dockers 2020-04-15 14:41:25 -04:00
Josh Brower
e8a32e439f Merge pull request #569 from Security-Onion-Solutions/bugfix/kratos-config
rename kratos config field
2020-04-15 14:39:12 -04:00
Josh Brower
c47abf7c56 rename kratos config field 2020-04-15 14:37:59 -04:00
Mike Reeves
fb09c85386 Change location of strelka dockers 2020-04-15 14:37:37 -04:00
weslambert
133450d2de Merge pull request #567 from Security-Onion-Solutions/fix/comm_id_pivot
replace static value for comm id
2020-04-15 14:16:36 -04:00
Wes Lambert
9a02550c69 replace static value for comm id 2020-04-15 18:15:01 +00:00
m0duspwnens
fe3d0867a5 fix failed setup FP - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/566 2020-04-15 14:05:45 -04:00
Josh Patterson
19190cd137 Merge pull request #565 from Security-Onion-Solutions/issue/551
Issue/551
2020-04-15 10:21:33 -04:00
m0duspwnens
2e5877ff68 update nsm threshholds for searchnode 2020-04-15 10:16:30 -04:00
m0duspwnens
bef6d6d9f7 changes to master dashboard 2020-04-15 10:16:01 -04:00
m0duspwnens
e38d199e25 update master dashboard 2020-04-15 09:04:42 -04:00
m0duspwnens
eb3a069e8d rename forward node to sensor node for grafana 2020-04-14 19:02:44 -04:00
m0duspwnens
bb7c78891e rename forward node to sensor node for grafana 2020-04-14 18:55:08 -04:00
m0duspwnens
274ab07ce8 rename forward node to sensor node for grafana 2020-04-14 18:48:33 -04:00
m0duspwnens
41fd4fe715 remove graph from uptime eval 2020-04-14 18:47:49 -04:00
Josh Brower
615eb661c4 Merge pull request #564 from Security-Onion-Solutions/bugfix/fleet-package-versioning
osquery package versioning bugfix
2020-04-14 16:43:15 -04:00
Josh Brower
fabec23b37 osquery package versioning bugfix 2020-04-14 16:42:25 -04:00
m0duspwnens
51b68fde2d zeek restart count red if >= 1 2020-04-14 15:36:57 -04:00
m0duspwnens
efd43f6fe4 fix spacing in zeek packet loss grafana panel 2020-04-14 15:13:16 -04:00
m0duspwnens
28b4381e3c changes to eval grafana dashboard 2020-04-14 14:25:46 -04:00
William Wernert
7360f6ce7f [fix] Correct placeholder subbing for Kibana 2020-04-14 14:17:36 -04:00
William Wernert
8fdd32f263 [fix] Add correct PATH location in so-setup 2020-04-14 14:01:26 -04:00
m0duspwnens
f2980d7e09 change healthcheck to send 0 or 1 to telegraf for zeek restart 2020-04-14 12:57:54 -04:00
Josh Brower
983e9476e6 Merge pull request #563 from Security-Onion-Solutions/bugfix/playbook-set-api
Playbook - automatically set SOCtopus IP
2020-04-14 12:49:06 -04:00
Josh Brower
10b7f55372 Playbook - automatically set SOCtopus IP 2020-04-14 12:47:59 -04:00
Mike Reeves
9c5ef3d092 Fix Logix so py3 salt gets installed for non masters 2020-04-14 10:10:43 -04:00
Mike Reeves
6ef14afa9e Apply yum fixes once changes are opk 2020-04-14 09:59:48 -04:00
weslambert
3321e975bd Merge pull request #562 from Security-Onion-Solutions/fix/zeek_files
update parsing for Zeek files
2020-04-14 09:09:40 -04:00
Wes Lambert
59787a6532 update parsing for Zeek files 2020-04-14 13:08:31 +00:00
Josh Brower
a1bea7217b Merge pull request #561 from Security-Onion-Solutions/bugfix/fleet-launcher-versioning
Fleet package fixes
2020-04-13 16:19:44 -04:00
Josh Brower
29ebed3005 Fleet package fixes 2020-04-13 16:18:58 -04:00
weslambert
84e37856f0 Merge pull request #560 from Security-Onion-Solutions/fix/static_rename
Update key name for Wazuh and Strelka for Filebeat
2020-04-13 12:10:27 -04:00
Wes Lambert
e086db3de6 update key name 2020-04-13 16:09:06 +00:00
Josh Brower
febf18174d Merge pull request #559 from Security-Onion-Solutions/bugfix/playbook1
osquery ingest ecs
2020-04-13 10:58:54 -04:00
Josh Brower
634100318e osquery ingest ecs 2020-04-13 10:58:13 -04:00
weslambert
29437b9082 Merge pull request #557 from Security-Onion-Solutions/fix/kibana_config
update Kibana config
2020-04-13 08:18:47 -04:00
Wes Lambert
4df91ed008 update Kibana config 2020-04-13 12:17:07 +00:00
Josh Brower
277ee4d5ea Merge pull request #556 from Security-Onion-Solutions/bugfix/playbook1
NIDS2TheHive Update for ECS
2020-04-11 11:48:13 -04:00
Josh Brower
995b255017 NIDS2TheHive Update for ECS 2020-04-11 11:47:34 -04:00
Jason Ertel
5a16dc066d Merge pull request #554 from Security-Onion-Solutions/feature/auth
Feature/auth
2020-04-10 17:50:01 -04:00
Jason Ertel
607ff1fd0d secure config files 2020-04-10 17:48:28 -04:00
Jason Ertel
7529144635 secure config files 2020-04-10 17:27:50 -04:00
Josh Brower
7d92db23b4 Merge pull request #553 from Security-Onion-Solutions/bugfix/fleetv2
fleet osquery fixes
2020-04-10 16:57:12 -04:00
Josh Brower
edae63097c fleet osquery fixes 2020-04-10 16:56:37 -04:00
Jason Ertel
c5a4e567d9 Ensure Path=/ is specified for cookie for eval mode 2020-04-10 16:35:58 -04:00
Josh Patterson
1735cc8252 Merge pull request #552 from Security-Onion-Solutions/issue/551
change log_size_limit logic - https://github.com/Security-Onion-Solut…
2020-04-10 16:17:56 -04:00
m0duspwnens
69031ab6b2 change log_size_limit logic - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/551 2020-04-10 16:15:43 -04:00
weslambert
6aafc4ef01 Merge pull request #550 from Security-Onion-Solutions/fix/zeek_clean
Zeek: migrate Zeek clean script from Bro
2020-04-10 08:51:54 -04:00
Wes Lambert
8d8bde36e8 migrate Zeek clean script from Bro 2020-04-10 12:46:28 +00:00
Jason Ertel
3bf7a5aab5 Merge pull request #549 from Security-Onion-Solutions/feature/auth
Feature/auth
2020-04-09 17:39:23 -04:00
Jason Ertel
c130c8fbf4 Merge branch 'dev' into feature/auth 2020-04-09 17:37:09 -04:00
Jason Ertel
bb470be4e6 support auto redirect on login 2020-04-09 17:37:03 -04:00
Mike Reeves
c0739976c9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 13:58:25 -04:00
Mike Reeves
b70d19781d Fix Filebeat Yaml 2020-04-09 13:58:19 -04:00
Josh Patterson
be70de9623 Merge pull request #546 from Security-Onion-Solutions/issue/530
move salt logs to /opt/so/logs - https://github.com/Security-Onion-So…
2020-04-09 13:28:27 -04:00
m0duspwnens
57570fb740 move salt logs to /opt/so/logs - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/530 2020-04-09 13:27:32 -04:00
Mike Reeves
6625e17bf2 Have templates applied on the master only 2020-04-09 12:22:27 -04:00
Mike Reeves
5a985736e5 Disable Strelka for all things 2020-04-09 11:49:38 -04:00
Mike Reeves
8ffeb0a33d Fix Wazuh and Strelka 2020-04-09 11:45:45 -04:00
Mike Reeves
ac52c014d1 Remove ES watch 2020-04-09 11:30:24 -04:00
Mike Reeves
0b07d0f25f Fix ES Watch 2020-04-09 11:25:46 -04:00
Mike Reeves
69dca74afd Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 11:16:50 -04:00
Mike Reeves
5692f2a672 Make Kibana run faster on checkins 2020-04-09 11:16:36 -04:00
Josh Brower
422f4c928c Merge pull request #544 from Security-Onion-Solutions/bugfix/fleet-so-status
so-status Fleet node
2020-04-09 10:05:01 -04:00
Josh Brower
55ae5fa9f3 so-status Fleet node 2020-04-09 10:04:18 -04:00
Josh Patterson
b10c424a7f Merge pull request #543 from Security-Onion-Solutions/quickfix/telegrafnsm
fix missing telegraf data for /nsm
2020-04-08 17:37:01 -04:00
m0duspwnens
7fe25f4c96 fix missing telegraf data for /nsm 2020-04-08 17:36:16 -04:00
William Wernert
40af9f871e [fix] NetworkManager dir should not be string 2020-04-08 17:02:33 -04:00
Josh Patterson
09de027d2c Merge pull request #542 from Security-Onion-Solutions/quickfix/telegrafmodule
fix salt telegraf module
2020-04-08 16:25:35 -04:00
m0duspwnens
86c13fc392 fix salt telegraf module 2020-04-08 16:24:15 -04:00
Josh Patterson
19c5ca5643 Merge pull request #541 from Security-Onion-Solutions/quickfix/searchnode
removing path.config
2020-04-08 15:31:56 -04:00
m0duspwnens
749935339b removing path.config 2020-04-08 15:31:11 -04:00
Josh Patterson
95f37ac357 Merge pull request #540 from Security-Onion-Solutions/quickfix/searchnode
adding searchnode to salt/top
2020-04-08 14:55:40 -04:00
weslambert
5ecbac9abd Merge pull request #538 from Security-Onion-Solutions/fix/kibana_config_load
remark config load section for now
2020-04-08 14:49:24 -04:00
m0duspwnens
8a186285a5 adding searchnode to salt/top 2020-04-08 14:49:09 -04:00
Wes Lambert
f4c01eb313 move PL 2020-04-08 18:48:22 +00:00
Wes Lambert
ead03f5147 remark config load section for now 2020-04-08 18:47:04 +00:00
Josh Patterson
494e1aff49 Merge pull request #537 from Security-Onion-Solutions/quickfix/searchnode
adding searchnode to pillar/top
2020-04-08 14:44:01 -04:00
William Wernert
bc99903885 [fix] Networking fixes 2020-04-08 14:43:14 -04:00
m0duspwnens
f28187099d adding searchnode to pillar/top 2020-04-08 14:43:06 -04:00
weslambert
b293c3dd2c Merge pull request #536 from Security-Onion-Solutions/fix/kibana_config
Fix/kibana config
2020-04-08 14:26:40 -04:00
Wes Lambert
a6c7765dd1 fix order 2020-04-08 18:25:47 +00:00
Wes Lambert
ce3807a605 replace URL template with Label template 2020-04-08 18:16:09 +00:00
weslambert
3fab895435 Merge pull request #535 from Security-Onion-Solutions/fix/revert_kibana_config
Revert "update Kibana config"
2020-04-08 14:00:35 -04:00
Wes Lambert
433e571369 Revert "update Kibana config"
This reverts commit 82bd14252c.
2020-04-08 17:59:24 +00:00
Mike Reeves
394dfe654f Filter out KVM kits so cpu count is correct 2020-04-08 13:59:01 -04:00
Mike Reeves
eeeec6f7b9 Fix so not executed in tmp 2020-04-08 13:28:07 -04:00
Jason Ertel
7a7fcce1e1 Added config changes needed for new admin pages in SOC 2020-04-08 12:39:37 -04:00
weslambert
313f332ac8 Merge pull request #533 from Security-Onion-Solutions/elastic_updates
Elastic updates
2020-04-08 12:28:14 -04:00
Wes Lambert
051167a692 add Kibana config export command 2020-04-08 16:26:13 +00:00
Wes Lambert
82bd14252c update Kibana config 2020-04-08 16:25:24 +00:00
Jason Ertel
d906a89ad1 Continued auth improvements 2020-04-08 10:35:29 -04:00
Josh Brower
cf8c33ccea Merge pull request #532 from Security-Onion-Solutions/bugfix/fleet-link
Redirect SOC Fleet link to current Fleet instance
2020-04-07 11:59:25 -04:00
Josh Brower
22ae8ac96a Redirect SOC Fleet link to current Fleet instance 2020-04-07 11:58:35 -04:00
William Wernert
0048ffde70 [fix] ES is not set up to use ssl by default 2020-04-06 11:46:23 -04:00
weslambert
fea345326b Merge pull request #525 from Security-Onion-Solutions/fix/strelka_filebeat
update variables
2020-04-06 09:11:04 -04:00
Wes Lambert
ad5626f407 update variables 2020-04-06 13:09:52 +00:00
Josh Brower
6b53770d5e Merge pull request #524 from Security-Onion-Solutions/bugfix/fleet-ingest
Gen filebeat certs for Fleet node
2020-04-06 08:53:22 -04:00
Josh Brower
9937ccaee7 Gen filebeat certs for Fleet node 2020-04-06 08:52:37 -04:00
weslambert
673c64d2a4 Merge pull request #523 from Security-Onion-Solutions/fix/elastic_improvements
Fix/elastic improvements
2020-04-05 16:53:19 -04:00
Wes Lambert
c476b28ac8 update script 2020-04-05 20:52:00 +00:00
Wes Lambert
cc9a91bfdb update Kibana config 2020-04-05 20:50:29 +00:00
Wes Lambert
7765d9a038 update common template 2020-04-05 20:40:30 +00:00
Wes Lambert
9e50387eec update ingest files 2020-04-05 20:40:00 +00:00
Josh Brower
35fc87e5f6 Merge pull request #522 from Security-Onion-Solutions/bugfix/fleet-ingest
Fleet pipeline fixes
2020-04-03 16:14:28 -04:00
Josh Brower
051f6d2310 Fleet pipeline fixes 2020-04-03 16:10:38 -04:00
Jason Ertel
476c6018c0 Merge pull request #521 from Security-Onion-Solutions/feature/auth
Validate email and password for the webuser during install
2020-04-03 15:50:39 -04:00
Jason Ertel
b7545c8dc5 Improve default SKIP_BOND behavior 2020-04-03 14:59:09 -04:00
Jason Ertel
b57892e806 Remove debug line 2020-04-03 14:50:07 -04:00
William Wernert
ae4db04603 [fix] so-status docker api version fix
* Change Docker api version from 2 to 1.40
2020-04-03 13:28:53 -04:00
Jason Ertel
99e8226ae5 Validate email and password for the webuser during install 2020-04-03 12:04:42 -04:00
weslambert
69c90fcdc1 Merge pull request #516 from Security-Onion-Solutions/fix/kibana_placeholders
fix placeholders
2020-04-03 08:31:54 -04:00
Wes Lambert
52edbd23d6 fix placeholders 2020-04-03 12:21:32 +00:00
weslambert
0e568103d1 Merge pull request #515 from Security-Onion-Solutions/fix/add_more_dashes
update dashboards
2020-04-03 00:25:58 -04:00
Wes Lambert
638ed36a79 update dashboards 2020-04-03 04:23:50 +00:00
weslambert
61aa723c1d Merge pull request #514 from Security-Onion-Solutions/fix/strelka_setup
install Strelka for sensor
2020-04-02 21:37:07 -04:00
Wes Lambert
b22a3a6534 install Strelka for sensor 2020-04-03 01:36:00 +00:00
weslambert
86ccca3c2e Merge pull request #513 from Security-Onion-Solutions/fix/strelka_backend_restart
change restart policy for now
2020-04-02 21:09:56 -04:00
Wes Lambert
17fd32f12d change restart policy for now 2020-04-03 01:07:45 +00:00
weslambert
395503165c Merge pull request #512 from Security-Onion-Solutions/fix/strelka_cron
change user
2020-04-02 21:03:32 -04:00
Wes Lambert
d477d73baa change user 2020-04-03 01:02:46 +00:00
weslambert
8d84ee9c81 Merge pull request #511 from Security-Onion-Solutions/fix/kibana_load
update Kibana config
2020-04-02 21:00:45 -04:00
Wes Lambert
f0848906e7 update Kibana config 2020-04-03 00:59:23 +00:00
William Wernert
375be3562e Merge pull request #510 from Security-Onion-Solutions/feature/soctopus-conf
Feature/soctopus conf
2020-04-02 20:54:00 -04:00
William Wernert
d626152e2f [fix] Remove extra blank line 2020-04-02 20:53:22 -04:00
William Wernert
dcbd5dcfb0 Merge branch 'dev' into feature/soctopus-conf 2020-04-02 20:49:46 -04:00
William Wernert
1e94961665 [fix] Bond NICs array expansion 2020-04-02 20:49:19 -04:00
William Wernert
baa5dba199 [fix] Network functions
* Rename network-manager.service references to NetworkManager for compatibility
* Fix array expansion in function to disable unused NICs
2020-04-02 20:47:19 -04:00
Josh Brower
a38299d4ea Merge pull request #508 from Security-Onion-Solutions/feature/fleet-ingest
template + nginx config
2020-04-02 20:17:54 -04:00
Josh Brower
513419ce2f template + nginx config 2020-04-02 20:16:21 -04:00
Josh Patterson
8743244aa5 Merge pull request #507 from Security-Onion-Solutions/issue/90
Issue/90
2020-04-02 19:50:08 -04:00
m0duspwnens
c42f8276e2 change default in healthcheck state 2020-04-02 19:48:54 -04:00
m0duspwnens
f1857c61b9 remove comment from healthcheck module 2020-04-02 19:48:21 -04:00
m0duspwnens
5411307856 change default healthcheck schedule to 300 seconds 2020-04-02 19:46:29 -04:00
m0duspwnens
8c3a9ff5a3 change log levels in healthcheck module 2020-04-02 19:44:09 -04:00
Mike Reeves
f9377a9d39 Fix error in sudoers file 2020-04-02 19:42:24 -04:00
m0duspwnens
4a920e317c Merge remote-tracking branch 'remotes/origin/dev' into issue/90 2020-04-02 19:40:07 -04:00
m0duspwnens
85cfe3244c rename zeek restarts on grafana dashboard 2020-04-02 19:39:09 -04:00
Mike Reeves
1b6222a04b Fix Password Bug for SOREMOTE 2020-04-02 18:01:39 -04:00
Mike Reeves
4c112453eb Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-02 16:56:52 -04:00
Mike Reeves
ffe3ae7d70 Update soremote process 2020-04-02 16:56:28 -04:00
m0duspwnens
4bc592c751 Merge remote-tracking branch 'remotes/origin/dev' into issue/90 2020-04-02 16:42:57 -04:00
Jason Ertel
f2ceaf074b Switch from auth_pillar to secrets_pillar 2020-04-02 16:11:05 -04:00
weslambert
7cefc218c4 Merge pull request #505 from Security-Onion-Solutions/strelka-sensor
Strelka sensor
2020-04-02 16:04:35 -04:00
Wes Lambert
9a082725d1 add Strelka for sensor if enabled 2020-04-02 20:03:29 +00:00
Wes Lambert
eb0c23387b specify ES vs LS in FB config 2020-04-02 20:01:49 +00:00
Jason Ertel
be8398387e Support individual email or password validation 2020-04-02 15:38:30 -04:00
m0duspwnens
290abaf1d7 merge with dev and resolve conflicts 2020-04-02 15:24:23 -04:00
m0duspwnens
ec60b7a2d4 changing back from beacon to scheduled jobs for healthcheck 2020-04-02 15:22:20 -04:00
Jason Ertel
1cac115009 Add support for validating email address via so-user tool 2020-04-02 15:18:51 -04:00
Mike Reeves
4368bebbd5 Merge pull request #503 from Security-Onion-Solutions/feature/soremote
Feature/soremote
2020-04-02 15:13:28 -04:00
Mike Reeves
e270b18d94 Remove special character in logstash pillar 2020-04-02 14:25:58 -04:00
Jason Ertel
df89ef9672 Increase limit of HTTP request size from 1M to 1024M to support large PCAPS 2020-04-02 12:21:12 -04:00
Mike Reeves
fffe1ef720 Add soremote user 2020-04-02 11:51:39 -04:00
Jason Ertel
4b45a7d2d5 Merge pull request #501 from Security-Onion-Solutions/feature/auth
Renamed auth pillar to secrets pillar; removed remnants from old auth…
2020-04-02 11:31:11 -04:00
Jason Ertel
a25c16508f Renamed auth pillar to secrets pillar; removed remnants from old auth saltstack 2020-04-02 11:24:13 -04:00
Mike Reeves
c0f143d7f5 Add Epel earlier for argon2 2020-04-02 09:45:02 -04:00
Jason Ertel
ebcae86c0b Correct log directory for sensoroni agent 2020-04-02 09:06:37 -04:00
m0duspwnens
839b5673d4 merge with dev 2020-04-02 08:33:16 -04:00
Josh Brower
551af39446 Merge pull request #499 from Security-Onion-Solutions/feature/osquery-ingest-fixes
osquery updates and fixes
2020-04-02 08:29:20 -04:00
Josh Brower
1ca290c766 osquery updates and fixes 2020-04-02 08:28:22 -04:00
weslambert
fd2b35dd21 Merge pull request #498 from Security-Onion-Solutions/fix/observer
use agent name for observer name
2020-04-01 17:28:52 -04:00
Wes Lambert
e023aeb9be use agent name for observer name 2020-04-01 21:27:25 +00:00
m0duspwnens
28d11032b6 Merge remote-tracking branch 'remotes/origin/dev' into issue/90 2020-04-01 16:55:12 -04:00
m0duspwnens
53b72f8743 change log levels 2020-04-01 16:54:48 -04:00
Josh Patterson
7e21dd92ba Merge pull request #496 from Security-Onion-Solutions/issue/90
adding auth and comment back to pillar and salt top
2020-04-01 15:37:21 -04:00
m0duspwnens
884e267db5 adding auth and comment back to pillar and salt top 2020-04-01 15:36:15 -04:00
weslambert
b14f9067ab Merge pull request #495 from Security-Onion-Solutions/fix/zeek_output_config
Bro to Zeek
2020-04-01 15:19:02 -04:00
weslambert
edbe512d82 Bro to Zeek 2020-04-01 15:18:30 -04:00
weslambert
5f8d1c29b4 Merge pull request #494 from Security-Onion-Solutions/search_ls_pillar
Search ls pillar
2020-04-01 15:13:17 -04:00
Wes Lambert
22e7777d67 update search sls 2020-04-01 19:12:07 +00:00
Wes Lambert
09022ad752 Update Zeek and Strelka 2020-04-01 19:11:10 +00:00
Wes Lambert
1df2302287 Update Zeek and Strelka 2020-04-01 19:09:38 +00:00
Josh Patterson
38b5cffd16 Merge pull request #493 from Security-Onion-Solutions/issue/90
adding auth state back
2020-04-01 15:05:43 -04:00
m0duspwnens
832128ac96 adding auth state back 2020-04-01 15:04:32 -04:00
weslambert
82c99edbfc Update Suricata output 2020-04-01 15:02:52 -04:00
weslambert
e1008269ce Update OSSEC output 2020-04-01 15:00:52 -04:00
weslambert
9f58081ce8 Typo 2020-04-01 14:57:47 -04:00
weslambert
d0ad7e7ef9 Update config for search pipeline 2020-04-01 14:57:32 -04:00
weslambert
5c433c39e5 Merge pull request #492 from Security-Onion-Solutions/fix/strelka-zeek-extracted-sync
Add Zeek extracted file sync
2020-04-01 14:20:36 -04:00
weslambert
cc4b1bf936 Add Zeek extracted file sync 2020-04-01 14:19:36 -04:00
William Wernert
0a50c47525 Merge branch 'dev' into feature/soctopus-conf 2020-04-01 13:35:44 -04:00
William Wernert
13035a6c32 [fix] Update soctopus default es-index-patter 2020-04-01 13:35:11 -04:00
weslambert
df00405265 Merge pull request #491 from Security-Onion-Solutions/fix/strelka_init
Remove restart policy
2020-04-01 13:19:57 -04:00
weslambert
5173da5a33 Remove restart policy 2020-04-01 13:19:31 -04:00
Josh Patterson
c8e881b8c5 Merge pull request #490 from Security-Onion-Solutions/issue/90
Issue/90
2020-04-01 13:13:40 -04:00
m0duspwnens
62e8aa1063 fix conflict in salt/top.sls 2020-04-01 13:09:23 -04:00
m0duspwnens
9acaa514cf monitoring zeek - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/90 2020-04-01 13:06:37 -04:00
weslambert
44ae4604b5 Merge pull request #489 from Security-Onion-Solutions/fix/strelka-curly
Fix curly brace
2020-04-01 12:33:02 -04:00
weslambert
7390063026 Fix curly brace 2020-04-01 12:32:29 -04:00
Mike Reeves
7db4dafea1 Reserve Kratos Group ID 2020-04-01 11:56:36 -04:00
weslambert
92c714ea4c Merge pull request #488 from Security-Onion-Solutions/fix/strelka_top
Update Eval for Strelka
2020-04-01 11:42:18 -04:00
weslambert
2fcfb06ba5 Update Eval for Strelka 2020-04-01 11:41:56 -04:00
weslambert
3001abc3ea Merge pull request #487 from Security-Onion-Solutions/fix/elastic_fixes
Fix/elastic fixes
2020-04-01 11:32:22 -04:00
weslambert
f13093dc51 Add message rename 2020-04-01 11:31:57 -04:00
weslambert
26efad1c45 Update Strelka log path 2020-04-01 11:30:02 -04:00
Josh Brower
572c1b5582 Merge pull request #486 from Security-Onion-Solutions/feature/osquery-ingest
osquery ingest - initial support
2020-04-01 10:19:42 -04:00
Josh Brower
5ca9a643a8 Merge branch 'dev' into feature/osquery-ingest 2020-04-01 10:19:35 -04:00
Josh Brower
0e76447d11 osquery ingest - initial support 2020-04-01 10:17:36 -04:00
weslambert
9f44a86ae4 Merge pull request #485 from Security-Onion-Solutions/strelka_enable
Enable Strelka via Setup
2020-04-01 10:08:09 -04:00
Wes Lambert
2164de97b5 Enable Strelka via Setup 2020-04-01 14:06:19 +00:00
weslambert
fd6832bf51 Merge pull request #483 from Security-Onion-Solutions/elastic_config
template and kibana config updates
2020-04-01 09:15:10 -04:00
Wes Lambert
33512eca2a template and kibana config updates 2020-04-01 13:14:13 +00:00
weslambert
a6b3e0e4a8 Merge pull request #482 from Security-Onion-Solutions/fix/strelka_config
add strelka index
2020-04-01 09:04:35 -04:00
Wes Lambert
6cc757e1de add strelka index 2020-04-01 13:02:36 +00:00
weslambert
d8f30a0240 Merge pull request #481 from Security-Onion-Solutions/fix/strelka_stuff
Fix/strelka stuff
2020-04-01 09:00:07 -04:00
Wes Lambert
70422809ec add category 2020-04-01 12:59:10 +00:00
Wes Lambert
9bbcc185aa change Strelka log location 2020-04-01 12:57:51 +00:00
William Wernert
df7851c2ed Merge branch 'dev' into feature/soctopus-conf 2020-03-31 18:59:07 -04:00
Jason Ertel
8767f17325 Removed obsolete osquery-packages.html since it's now in soc 2020-03-31 17:43:03 -04:00
William Wernert
2a0ed7a466 Merge branch 'dev' into feature/soctopus-conf 2020-03-31 15:08:07 -04:00
William Wernert
a8cdda84d1 [fix] Put soctopus.conf in the right folder 2020-03-31 11:12:01 -04:00
Josh Brower
2bfacecb4b Merge pull request #478 from Security-Onion-Solutions/bugfix/osquery
fleet init fix
2020-03-31 09:54:45 -04:00
Josh Brower
131fd1f322 fleet init fix 2020-03-31 09:53:59 -04:00
Jason Ertel
14c44e0f6e Merge pull request #476 from Security-Onion-Solutions/feature/auth
Integrate new auth system and SOC interface
2020-03-31 08:57:19 -04:00
Jason Ertel
f7e9e99eae Added new soc-related saltstack files. 2020-03-30 22:15:49 -04:00
weslambert
fd00cdf8f3 Merge pull request #473 from Security-Onion-Solutions/more_elastic_stuff
More elastic stuff
2020-03-30 20:41:56 -04:00
Wes Lambert
68138e009a update FB config 2020-03-31 00:37:58 +00:00
Wes Lambert
5226ec1560 update Kibana config/dashboards/etc 2020-03-31 00:37:17 +00:00
Wes Lambert
eacd3c9bfd update zeek.common 2020-03-31 00:36:42 +00:00
Jason Ertel
cbd710bcf2 Replaced auth system with new identity management system. 2020-03-30 19:27:56 -04:00
weslambert
9758563967 Merge pull request #470 from Security-Onion-Solutions/ecs_community_id
add community_id parsing for ingest
2020-03-30 11:51:05 -04:00
Wes Lambert
ad50093315 add community_id parsing for ingest 2020-03-30 15:49:36 +00:00
weslambert
ee4e3c0659 Merge pull request #469 from Security-Onion-Solutions/fix/ingest_stuff
update wazuh fields and category
2020-03-30 10:24:43 -04:00
Wes Lambert
93c3c86e2f update wazuh fields and category 2020-03-30 14:24:01 +00:00
weslambert
b6db36723d Merge pull request #467 from Security-Onion-Solutions/fix/kibana_config_update
update Kibana json config
2020-03-30 10:21:18 -04:00
Wes Lambert
70bc35eb7e update Kibana json config 2020-03-30 14:20:06 +00:00
William Wernert
d7478bbcb7 [fix] Revert checksum script change 2020-03-27 09:05:21 -04:00
William Wernert
c105732976 Merge pull request #466 from Security-Onion-Solutions/bugfix/ubuntu-xenial-fixes
Bugfix/ubuntu xenial fixes
2020-03-26 18:55:41 -04:00
William Wernert
04cbda356f Merge pull request #465 from Security-Onion-Solutions/hotfix/so-status-docker-api
[fix] Use v2 of Docker http api
2020-03-26 18:48:11 -04:00
William Wernert
7709bfd28e [fix] Use v2 of Docker http api
Docker no longer exposes the default api path, so we need to use /v2 in our api call
2020-03-26 18:47:37 -04:00
William Wernert
f02808aaa7 [fix] Networking config fixes + 18.04 changes
* Add code to allow 18.04 to use Network Manager
* Disable ipv6 on all interfaces to prevent multicast traffic on sniffing interface (revisit later)
* Rename and modify checksum disable script for 18.04 compatibility

Fixes #387
Fixes #413
2020-03-26 18:45:56 -04:00
Josh Brower
e44157aa7d Merge pull request #464 from Security-Onion-Solutions/feature/zeek-communityid
Zeek - enable Community ID policy
2020-03-26 16:34:46 -04:00
Josh Brower
31ae8a2c26 Zeek - enable Community ID policy 2020-03-26 16:33:47 -04:00
Josh Patterson
3918b697e4 Merge pull request #463 from Security-Onion-Solutions/issue/90
Issue/90
2020-03-26 15:54:25 -04:00
m0duspwnens
c14f32fcc9 more changes for healthcheck - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/90 2020-03-26 15:45:19 -04:00
Josh Brower
11907dc4ad Merge pull request #462 from Security-Onion-Solutions/bugfix/fleet
Bugfix/fleet
2020-03-26 11:23:28 -04:00
Josh Brower
1c9dd40b02 Fleet webpage fix 2020-03-26 11:20:20 -04:00
m0duspwnens
22127a3d58 Merge remote-tracking branch 'remotes/origin/dev' into issue/90 2020-03-26 11:01:10 -04:00
m0duspwnens
cfdaedb89c changes to healthcheck. specify mount points for telegraf 2020-03-26 11:00:46 -04:00
William Wernert
83c2edb0d9 [fix] Set all indents to tabs 2020-03-25 15:59:04 -04:00
William Wernert
ecbd78c6a1 [feature] Add options to soctopus.conf
Resolves #420
2020-03-25 15:38:42 -04:00
William Wernert
693e3e69de [fix] Manage soctopus.conf separately
Resolves #419
2020-03-25 15:37:35 -04:00
Josh Brower
e5ecf0f4cb Fleet dedicated node - various fixes 2020-03-25 13:03:40 -04:00
m0duspwnens
e6f91264fb send proper format data to telegraf module from healtheck module - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/90 2020-03-25 12:48:47 -04:00
m0duspwnens
566a26e3b7 fix dashboards to use right node name 2020-03-25 12:47:01 -04:00
Josh Brower
05690691f5 Merge pull request #459 from Security-Onion-Solutions/feature/communityid-suricata
Suricata - enable community id
2020-03-25 09:28:02 -04:00
Josh Brower
51b9af7ac4 Suricata - enable community id 2020-03-25 09:24:45 -04:00
m0duspwnens
77a48b1d66 Merge remote-tracking branch 'remotes/origin/dev' into issue/90 2020-03-25 09:03:16 -04:00
Josh Brower
9bcba41882 Feature/Fleet-Standalone 2020-03-24 20:57:24 -04:00
m0duspwnens
b96579f6d3 Merge remote-tracking branch 'remotes/origin/dev' into issue/90 2020-03-24 17:28:46 -04:00
m0duspwnens
7e6c70aff2 add modules to be used in monitoring - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/90 2020-03-24 17:27:55 -04:00
Josh Brower
e4e598f0be Merge pull request #458 from Security-Onion-Solutions/bugfix/so-functions
so-functions --- conditional-fix
2020-03-24 16:01:12 -04:00
Josh Brower
166a21c1d1 conditional-fix 2020-03-24 15:59:50 -04:00
weslambert
b59fc5b77e Merge pull request #457 from Security-Onion-Solutions/fix/more_ossec_fields
fix ossec fields
2020-03-24 11:44:45 -04:00
Wes Lambert
ef808875f4 fix ossec fields 2020-03-24 15:42:31 +00:00
weslambert
239e0a0cb6 Merge pull request #456 from Security-Onion-Solutions/kibana_disable_telem
Disable telemetry
2020-03-24 10:20:51 -04:00
weslambert
fef0185e90 Disable telemetry 2020-03-24 10:18:39 -04:00
weslambert
81a481022c Merge pull request #455 from Security-Onion-Solutions/fix/zeek_weird_ingest
add some more fields
2020-03-23 23:44:47 -04:00
Wes Lambert
083c588a87 add some more fields 2020-03-24 03:43:31 +00:00
weslambert
a01b0e44e1 Merge pull request #454 from Security-Onion-Solutions/es_template_fix
Add message field
2020-03-23 23:39:44 -04:00
weslambert
ece7e139f2 Add message 2020-03-23 23:39:15 -04:00
weslambert
126913e41b Merge pull request #453 from Security-Onion-Solutions/fix/kibana_config_load
Fix/kibana config load
2020-03-23 23:24:09 -04:00
weslambert
f5e932ab58 Re-enable load script 2020-03-23 23:23:32 -04:00
weslambert
1a44b744f7 Update so-kibana-config-load 2020-03-23 23:23:04 -04:00
weslambert
1c153b9081 Fix path 2020-03-23 23:09:00 -04:00
Mike Reeves
d3ecfe543f Update so-functions 2020-03-23 18:08:27 -04:00
weslambert
5207ca71c9 Merge pull request #452 from Security-Onion-Solutions/fix/remove_dupe
Update init.sls
2020-03-23 17:07:50 -04:00
weslambert
951a087c20 Update init.sls 2020-03-23 17:07:18 -04:00
weslambert
2ae3ff7490 Merge pull request #451 from Security-Onion-Solutions/fix/saved_objects_config
Fix/saved objects config
2020-03-23 15:58:20 -04:00
Wes Lambert
0b6ff18a0d change default route 2020-03-23 19:57:41 +00:00
Josh Patterson
6c39f93569 Merge pull request #450 from Security-Onion-Solutions/issue/90
adding zeekctl module to be used for monitoring zeek
2020-03-23 15:57:12 -04:00
m0duspwnens
bc76739f6e adding zeekctl module to be used for monitoring zeek - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/90 2020-03-23 15:55:45 -04:00
Wes Lambert
fe0ab0965a move saved_objects 2020-03-23 19:55:07 +00:00
weslambert
79feee1dd1 Merge pull request #449 from Security-Onion-Solutions/fix/kibana_master
Fix master and remark config load
2020-03-23 15:36:38 -04:00
weslambert
8edecfceb9 Fix master and remark config load 2020-03-23 15:36:12 -04:00
Mike Reeves
c88a356a73 Merge pull request #448 from Security-Onion-Solutions/feature/updates
Feature/updates
2020-03-23 15:20:46 -04:00
Mike Reeves
a48ecfbbb1 Merge branch 'dev' into feature/updates 2020-03-23 15:20:36 -04:00
weslambert
c8345753ac Merge pull request #447 from Security-Onion-Solutions/fix/kibana_state
Fix/kibana state
2020-03-23 15:17:04 -04:00
weslambert
8e9cffad4a Update init.sls 2020-03-23 15:15:05 -04:00
weslambert
2a5ab3492d Update init.sls 2020-03-23 15:14:42 -04:00
Mike Reeves
98caae8ec9 Update Stuff round 3 2020-03-23 15:12:36 -04:00
weslambert
9c29f39cc1 Merge pull request #446 from Security-Onion-Solutions/fix/kibana_docker_image
Update init.sls
2020-03-23 14:50:54 -04:00
weslambert
8d0659c200 Update init.sls 2020-03-23 14:50:34 -04:00
weslambert
c1e3a00d22 Merge pull request #445 from Security-Onion-Solutions/fix/kibana_config
more Kibana config
2020-03-23 14:12:11 -04:00
Wes Lambert
a43154e0eb more Kibana config 2020-03-23 18:07:12 +00:00
Mike Reeves
b48612dd3b Update Stuff Round 2 2020-03-19 13:46:19 -04:00
William Wernert
d21df50689 Merge pull request #439 from Security-Onion-Solutions/bugfix/html-formatting
[fix] HTML formatting and css changes
2020-03-19 10:09:12 -04:00
William Wernert
c58e6d6cba [fix] HTML formatting and css changes
* Centered osquery packages page
* Fixed HTML formatting on main and osquery pages
2020-03-19 10:08:15 -04:00
weslambert
029c1791a2 Merge pull request #438 from Security-Onion-Solutions/fix/elastic_fixes
Fix/elastic fixes
2020-03-18 16:18:55 -04:00
Wes Lambert
7a71a2c459 removing mapping types 2020-03-18 20:17:57 +00:00
Wes Lambert
5072095eeb removing mapping types 2020-03-18 20:15:10 +00:00
Wes Lambert
150eaf59fd don't load FB template 2020-03-18 20:05:42 +00:00
weslambert
8bd3c3f333 Merge pull request #435 from Security-Onion-Solutions/fix/index_names
fix index names
2020-03-18 12:45:01 -04:00
Wes Lambert
fcc5c306ea fix index names 2020-03-18 16:42:06 +00:00
Josh Patterson
85cc1e9e17 Merge pull request #433 from Security-Onion-Solutions/quickfix/lsetcsync
fix issue lsetcsync if node doesnt have templates defined
2020-03-18 10:50:52 -04:00
m0duspwnens
504d22de83 fix issue lsetcsync if node doesnt have templates defined 2020-03-18 10:49:51 -04:00
weslambert
0d3280feb7 Merge pull request #432 from Security-Onion-Solutions/fix/template
fix strelka pattern
2020-03-18 09:52:24 -04:00
Wes Lambert
29a4932785 fix strelka pattern 2020-03-18 13:47:22 +00:00
weslambert
597f746ccb Merge pull request #431 from Security-Onion-Solutions/fix/elastic_changes
Fix/elastic changes
2020-03-17 17:32:05 -04:00
Wes Lambert
4eac285fd9 change soversion 2020-03-17 21:31:19 +00:00
Wes Lambert
70f109af86 elastic changes 2020-03-17 21:29:28 +00:00
Mike Reeves
73be1d0927 Update Stuff Round 1 2020-03-17 17:06:37 -04:00
Mike Reeves
c3055b0a03 Update Versions for Docker 2020-03-17 15:23:55 -04:00
weslambert
bfefbe247f Merge pull request #430 from Security-Onion-Solutions/kibana_7_dark_mode
UI Dark Mode
2020-03-17 12:19:56 -04:00
weslambert
272649f330 UI Dark Mode 2020-03-17 12:19:27 -04:00
weslambert
caeef9c903 Merge pull request #429 from Security-Onion-Solutions/kibana_7
Update config.json
2020-03-17 11:51:29 -04:00
weslambert
113fbdb863 Update config.json 2020-03-17 11:50:53 -04:00
weslambert
367626c65e Merge pull request #428 from Security-Onion-Solutions/more_ecs
More ecs
2020-03-17 11:23:19 -04:00
Wes Lambert
a5ff21c528 remove agent field for non-Wazuh logs 2020-03-17 15:20:46 +00:00
Wes Lambert
b80e7fedcb remove agent field for non-Wazuh logs 2020-03-17 15:20:31 +00:00
Wes Lambert
488858f8bc remove beat field removal 2020-03-17 15:19:08 +00:00
Wes Lambert
8bea56eccf change prospectors to inputs 2020-03-17 15:17:52 +00:00
Wes Lambert
faea67c9cf update env vars 2020-03-17 15:17:13 +00:00
Wes Lambert
5ed3dbff39 Fix template name 2020-03-17 15:15:01 +00:00
Josh Patterson
2e72816d2a Merge pull request #427 from Security-Onion-Solutions/quickfix/hostnames
ensure name uniformity for elascticsearch and telegraf/grafana
2020-03-17 09:19:27 -04:00
m0duspwnens
cd84f87581 ensure name uniformity for elascticsearch and telegraf/grafana 2020-03-17 09:18:00 -04:00
Josh Patterson
ad0aa85e79 Merge pull request #426 from Security-Onion-Solutions/issue/97
add tojson to dict passed into zeekctl
2020-03-16 10:28:49 -04:00
m0duspwnens
20a6a79551 add tojson to dict passed into zeekctl 2020-03-16 10:28:12 -04:00
weslambert
85f5c53b51 Merge pull request #425 from Security-Onion-Solutions/fix/template_script
Fix/template script
2020-03-14 20:36:17 -04:00
Wes Lambert
81da44b85d fix Logstash Eval SLS 2020-03-15 00:32:29 +00:00
Wes Lambert
26c4d453d3 Add ES templates script 2020-03-15 00:30:59 +00:00
weslambert
775066489a Merge pull request #424 from Security-Onion-Solutions/ecs_parsing
ECS parsing
2020-03-14 08:11:15 -04:00
Wes Lambert
85c1873f4d switch logging to error 2020-03-14 12:10:06 +00:00
Wes Lambert
b6ba8e483d update ES init 2020-03-14 12:06:32 +00:00
Wes Lambert
d2016d3ff2 modify Filebeat config 2020-03-14 12:05:16 +00:00
Wes Lambert
c52220330b modify pipelines 2020-03-14 12:03:32 +00:00
Wes Lambert
d48c2723ba modify default templates 2020-03-14 12:02:52 +00:00
Wes Lambert
9fb3a47358 modify default templates 2020-03-14 12:02:42 +00:00
Wes Lambert
ffc33b15e5 switch to Filebeat 2020-03-14 12:00:17 +00:00
Josh Patterson
a9d286b90f Merge pull request #423 from Security-Onion-Solutions/issue/97
allow all zeekctl configuration options to be defined
2020-03-13 16:12:54 -04:00
m0duspwnens
2bda1f4beb remove whitespace 2020-03-13 16:12:16 -04:00
m0duspwnens
1db9692c6b allow all zeekctl configuration options to be defined - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/97 2020-03-13 16:10:42 -04:00
Josh Patterson
1c4429613d Merge pull request #422 from Security-Onion-Solutions/issue/97
add option to compress archived logs for zeekctl
2020-03-13 15:06:34 -04:00
m0duspwnens
a21ffaecc8 add option to compress archived logs for zeekctl - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/97 2020-03-13 15:05:25 -04:00
Josh Patterson
b18f4eb720 Merge pull request #421 from Security-Onion-Solutions/issue/97
Issue/97
2020-03-13 14:52:34 -04:00
m0duspwnens
da8811bc87 restart zeek docker if zeekctl.cfg changes 2020-03-13 14:44:56 -04:00
m0duspwnens
1b7e22d5bd fix couple minor issue - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/97 2020-03-13 14:41:16 -04:00
m0duspwnens
8e82633772 fix missing : in playbook state 2020-03-13 13:45:29 -04:00
m0duspwnens
f9cf04e14e fix couple minor issue - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/97 2020-03-13 13:42:28 -04:00
m0duspwnens
bc6aab5b22 add zeekctl.cfg docker file bind 2020-03-13 13:23:27 -04:00
m0duspwnens
3aa48b1a23 first go at managing zeekctl.cfg - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/97 2020-03-13 13:20:48 -04:00
Josh Patterson
762841b14a Merge pull request #417 from Security-Onion-Solutions/issue/134
add salt cron identifiers
2020-03-13 08:43:12 -04:00
m0duspwnens
7ea0b2c284 add salt cron identifiers - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/134 2020-03-13 08:38:45 -04:00
Josh Patterson
1a8c8e4c17 Merge pull request #416 from Security-Onion-Solutions/issue/362
fix spacing for titles in grafana dashboard
2020-03-13 08:10:41 -04:00
m0duspwnens
2d91851c34 fix spacing for titles in grafana dashboard - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/362 2020-03-13 08:08:51 -04:00
Josh Patterson
8b0509aa4a Merge pull request #415 from Security-Onion-Solutions/issue/136
Issue/136
2020-03-12 17:46:38 -04:00
m0duspwnens
804a87eb21 append role to minion id and use it to target in top - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/136 2020-03-12 17:42:32 -04:00
Mike Reeves
efda3b9295 Merge pull request #412 from Security-Onion-Solutions/feature/ubuntu18
Feature/ubuntu18
2020-03-11 12:03:55 -04:00
Mike Reeves
fa9dbf7316 Merge branch 'dev' into feature/ubuntu18 2020-03-11 12:03:46 -04:00
Mike Reeves
16d549ce03 Fix mysql 2020-03-11 10:58:54 -04:00
weslambert
7838018e3d Merge pull request #410 from Security-Onion-Solutions/feature/ECS
Feature/ecs
2020-03-11 08:23:22 -04:00
Wes Lambert
648b0ba790 remove old config 2020-03-11 12:14:22 +00:00
Wes Lambert
9ad16e8c71 upadte ingest config 2020-03-11 12:13:53 +00:00
Wes Lambert
f9e4d218ec update config 2020-03-11 12:13:11 +00:00
Wes Lambert
70e78a0642 add renamed templates 2020-03-11 12:12:32 +00:00
Wes Lambert
84e54a8fae update Eval pillar 2020-03-11 12:09:34 +00:00
Mike Reeves
f74bc4cfa0 Fix IP Calculation 2020-03-10 15:56:05 -04:00
Mike Reeves
68d1e7993e Merge pull request #408 from Security-Onion-Solutions/quickfix/saltinstall
Update so-functions
2020-03-09 15:26:00 -04:00
Josh Patterson
f4f31ef2a5 Update so-functions 2020-03-09 15:22:30 -04:00
Josh Patterson
1b81223eb6 update repo location for ubuntu non master install 2020-03-09 15:20:05 -04:00
Mike Reeves
4ca2f3eafd Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into feature/ubuntu18 2020-03-09 11:41:49 -04:00
Mike Reeves
868e7bd807 Fix the repo definition 2020-03-09 09:52:03 -04:00
weslambert
aff51b6bb9 Merge pull request #407 from Security-Onion-Solutions/fix/bro_template
Fix/bro template
2020-03-09 09:19:37 -04:00
weslambert
14dfec5365 Change to bro template 2020-03-09 09:18:57 -04:00
weslambert
4a4c378327 Add bro template 2020-03-09 09:18:14 -04:00
Josh Brower
e3916e5de2 Merge pull request #406 from Security-Onion-Solutions/feature/playbook-alerting
Playbook - Schedule Playbook rule updates
2020-03-09 08:58:39 -04:00
Josh Brower
a96465383f Schedule Playbook rule updates 2020-03-09 08:57:31 -04:00
weslambert
47a7e025ee Merge pull request #403 from Security-Onion-Solutions/fix/zeek-extract
fix typo
2020-03-06 13:50:36 -05:00
Wes Lambert
aeb298a818 fix typo 2020-03-06 18:49:29 +00:00
weslambert
0f8fb7bd89 Merge pull request #402 from Security-Onion-Solutions/fix/node_init
fix repo name
2020-03-06 12:46:12 -05:00
Wes Lambert
84df1db201 fix repo name 2020-03-06 17:45:16 +00:00
weslambert
21aa54690e Merge pull request #401 from Security-Onion-Solutions/fix/node_files
add files back
2020-03-06 12:34:07 -05:00
Wes Lambert
ed8adcae5a add files back 2020-03-06 17:28:05 +00:00
weslambert
1b667b9cb9 Merge pull request #400 from Security-Onion-Solutions/fix/node_webhook
Fix/node webhook
2020-03-06 11:17:40 -05:00
Wes Lambert
6af6d7f5b6 fix typo 2020-03-06 16:17:04 +00:00
Wes Lambert
627d89c481 fix webhook 2020-03-06 16:16:02 +00:00
weslambert
08c16aaf67 Merge pull request #399 from Security-Onion-Solutions/fix/node_scripts
add Node scripts
2020-03-06 08:48:17 -05:00
Wes Lambert
0bf125e88e add Node scripts 2020-03-06 13:47:21 +00:00
weslambert
162bbaebb6 Merge pull request #398 from Security-Onion-Solutions/feature/nodered
Feature/nodered
2020-03-06 08:32:32 -05:00
Wes Lambert
19cff23a2b restructure files 2020-03-06 13:14:52 +00:00
Wes Lambert
8bac9118fb add flows 2020-03-06 13:13:34 +00:00
Wes Lambert
32f8d7c793 update init 2020-03-06 13:11:00 +00:00
Mike Reeves
746a1d1c3a More Ubuntu 18 Python 2020-03-05 13:53:27 -05:00
weslambert
b0b3211f02 Merge pull request #397 from Security-Onion-Solutions/fix/zeek-file-extraction
Fix/zeek file extraction
2020-03-05 10:50:16 -05:00
Wes Lambert
73cbadfe5c add complete directory to extracted 2020-03-05 15:49:22 +00:00
Wes Lambert
ee611d44cf update file extraction script 2020-03-05 15:48:28 +00:00
Mike Reeves
4e9f1b1a7b Make Ubuntu 18 defautl to python 3 2020-03-04 17:01:48 -05:00
Mike Reeves
cb8493551d Fix Salt Repo for Python 3 2020-03-04 16:10:32 -05:00
Mike Reeves
dd47b5825d Fix Salt Repo for Python 3 2020-03-04 15:42:15 -05:00
Mike Reeves
ef47a87715 Fix Salt Repo 2020-03-04 14:33:31 -05:00
Mike Reeves
b7a977184d Fix Salt Repo 2020-03-04 14:30:41 -05:00
Mike Reeves
1bb77fb07a Activate 18.04 2020-03-04 13:56:49 -05:00
Josh Patterson
79210a07da Merge pull request #396 from Security-Onion-Solutions/issue/326
fix issue with salt not removing pipeline configs or templates if removed from pillar
2020-03-04 10:14:57 -05:00
m0duspwnens
28c4bb4b22 fix issue with salt not removing pipeline configs or templates if removed from pillar 2020-03-04 10:12:28 -05:00
weslambert
478b14c488 Merge pull request #395 from Security-Onion-Solutions/fix/zeek_extracted
Fix/zeek extracted
2020-03-03 17:41:58 -05:00
Wes Lambert
a0522943f7 fix path 2020-03-03 22:40:46 +00:00
Wes Lambert
a8a93260a9 add file extraction 2020-03-03 22:40:06 +00:00
weslambert
84b29839d8 Merge pull request #394 from Security-Onion-Solutions/config_cleanup
Config cleanup
2020-03-03 16:21:54 -05:00
Wes Lambert
b1203cfb9f add initial Strelka ingest config 2020-03-03 21:20:45 +00:00
Wes Lambert
b75bd35bc2 remove Strelka from LS PL 2020-03-03 21:19:54 +00:00
weslambert
02cf44f4a5 Merge pull request #393 from Security-Onion-Solutions/cleanup/more_eval_ls_cleanup
cleanup default config files
2020-03-03 13:04:58 -05:00
Wes Lambert
3fbb81f6d1 cleanup default config files 2020-03-03 18:03:45 +00:00
weslambert
12ada0c127 Merge pull request #391 from Security-Onion-Solutions/fix/strelka_init
Update Strelka init
2020-03-02 17:16:59 -05:00
Wes Lambert
4939884d93 Update Strelka init 2020-03-02 22:15:55 +00:00
weslambert
00adb06d7c Merge pull request #390 from Security-Onion-Solutions/ls_config_cleanup
Ls config cleanup
2020-03-02 15:04:08 -05:00
Wes Lambert
bbebc4fc9b Add src/dst objects and Bro template 2020-03-02 20:02:39 +00:00
Wes Lambert
880c5abe6b prune default loaded configs for Eval Mode 2020-03-02 19:58:46 +00:00
weslambert
80a23f99fa Merge pull request #389 from Security-Onion-Solutions/ecs_prep
ecs prep
2020-03-02 14:13:37 -05:00
Wes Lambert
ec6638a276 src/dst ip/port fields to ECS 2020-03-02 19:10:18 +00:00
Wes Lambert
e4fee51ed6 Change Bro Files source to file_source 2020-03-02 19:09:24 +00:00
Wes Lambert
9eb5a9be3a Begin switch to ECS for Suricata 2020-03-02 19:07:40 +00:00
m0duspwnens
6c8d6812f9 rename INSTALL type for starting issue 136 2020-02-28 11:11:24 -05:00
Josh Patterson
f40b23e4b2 Merge pull request #376 from Security-Onion-Solutions/issue/326
Issue/326
2020-02-26 16:41:07 -05:00
m0duspwnens
847e6d2d13 create pipelines directory 2020-02-26 16:38:47 -05:00
m0duspwnens
a3e48f0315 logstash cleanup and conflict resolution - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/326 2020-02-26 10:58:39 -05:00
m0duspwnens
54e4c40c2a logstash cleanup and conflict resolution - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/326 2020-02-26 10:26:50 -05:00
m0duspwnens
0c4973ad77 pillarize logstash config,parsers,templates and docker port bindings 2020-02-25 17:44:32 -05:00
weslambert
cc76699a2e Merge pull request #375 from Security-Onion-Solutions/strelka_config
remove source
2020-02-25 13:47:56 -05:00
Wes Lambert
5d81bf3204 remove source 2020-02-25 12:36:35 +00:00
m0duspwnens
e2ccebd2fa resolve conflicts 2020-02-20 17:00:15 -05:00
m0duspwnens
2b34bdece9 logstash cleanup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/326 2020-02-20 16:47:40 -05:00
weslambert
38b856b2b0 Merge pull request #368 from Security-Onion-Solutions/fix/more_template_fixes
More template fixes
2020-02-20 11:46:41 -05:00
weslambert
fc9786e541 Change template name 2020-02-20 11:46:15 -05:00
weslambert
6945cbb843 Change template name 2020-02-20 11:45:50 -05:00
weslambert
3303992685 Merge pull request #367 from Security-Onion-Solutions/fix/template_fix
Fix template name
2020-02-20 11:20:48 -05:00
weslambert
30a1197b44 Rename template to avoid duplication under different name 2020-02-20 11:20:06 -05:00
m0duspwnens
7604853c59 fix logic for logstash pipelines 2020-02-19 16:02:24 -05:00
m0duspwnens
54e94676fe fix pipelines variable 2020-02-19 14:59:39 -05:00
m0duspwnens
408b3695e0 add back deleted states to logstash state 2020-02-19 14:12:18 -05:00
m0duspwnens
c396342aea fix syntax error with new ls pipeline config 2020-02-19 13:46:52 -05:00
m0duspwnens
6a7580404d directory cleanup - logstash pipeline rework 2020-02-19 13:08:14 -05:00
Josh Brower
689ef31189 Merge pull request #361 from Security-Onion-Solutions/bugfix/bpf
bpf fix
2020-02-18 16:38:54 -05:00
Josh Brower
f9e07709f2 bpf fix 2020-02-18 16:36:20 -05:00
weslambert
82dac03199 Merge pull request #360 from Security-Onion-Solutions/feature/nodered
Experimental: Node-RED
2020-02-18 00:12:01 -05:00
Wes Lambert
de6efffd95 Experimental: Node-RED 2020-02-18 05:04:51 +00:00
weslambert
3eb34d9926 Merge pull request #359 from Security-Onion-Solutions/feature/strelka_ls
Add initial/basic Strelka config
2020-02-17 21:47:32 -05:00
Wes Lambert
50fcf8307f Add initia/basic Strelka config 2020-02-18 02:46:31 +00:00
weslambert
4d98670fac Merge pull request #358 from Security-Onion-Solutions/fix/strelka_config
Fix/strelka config
2020-02-17 16:16:16 -05:00
Wes Lambert
64166f96a1 Ensure correct template is used 2020-02-17 21:15:11 +00:00
Wes Lambert
8d9ff4428b Update Strelka LS config 2020-02-17 21:12:25 +00:00
Josh Brower
074ebe6008 Merge pull request #357 from Security-Onion-Solutions/bugfix/playbook
SOCtopus.conf quick fix RE: playbook API
2020-02-17 07:49:29 -05:00
Josh Brower
63c8515d87 SOCtopus.conf quick fix RE: playbook API 2020-02-17 07:48:54 -05:00
Josh Brower
6c37fbd020 Merge pull request #355 from Security-Onion-Solutions/feature/playbook-changes
Playbook - Schema changes & more
2020-02-14 16:40:28 -05:00
Josh Brower
240620caa3 Playbook - create play API 2020-02-14 16:38:02 -05:00
Josh Brower
9491e75b77 Merge pull request #354 from Security-Onion-Solutions/dev
Update README.md
2020-02-13 16:50:30 -05:00
Mike Reeves
ae1fa9a7a4 Update README.md 2020-02-13 16:48:06 -05:00
Mike Reeves
a04daff113 Merge pull request #353 from Security-Onion-Solutions/dev
Final Final
2020-02-13 15:32:14 -05:00
Mike Reeves
61063d62c4 Merge pull request #352 from Security-Onion-Solutions/TOoSmOotH-patch-1
T oo sm oot h patch 1
2020-02-13 15:28:24 -05:00
Mike Reeves
4caedca795 Update telegraf.conf 2020-02-13 15:27:45 -05:00
Doug Burks
a1e80d8366 Merge pull request #351 from Security-Onion-Solutions/dev
last fixes
2020-02-13 15:12:12 -05:00
Mike Reeves
6f42c607f7 Update telegraf.conf 2020-02-13 15:08:00 -05:00
Mike Reeves
ae113c0b84 Merge pull request #348 from Security-Onion-Solutions/fix/patch-1
Update README - install instructions
2020-02-13 14:32:25 -05:00
weslambert
f8d162ac5f Merge pull request #349 from Security-Onion-Solutions/hotfix/wazuh_archive_path
Fix Wazuh archives path
2020-02-13 13:48:45 -05:00
Wes Lambert
11319362c4 Fix Wazuh archives path 2020-02-13 18:47:45 +00:00
Josh Brower
6920240f8e Update README - install instructions 2020-02-13 12:50:12 -05:00
Mike Reeves
9666f24e14 Update VERSION 2020-02-13 10:55:24 -05:00
410 changed files with 15757 additions and 22383 deletions

View File

@@ -1,37 +1,48 @@
## Hybrid Hunter Alpha 1.1.4 - Feature Parity Release
## Hybrid Hunter Beta 1.2.1 - Beta 1
### Changes:
- Added new in-house auth method [Security Onion Auth](https://github.com/Security-Onion-Solutions/securityonion-auth).
- Web user creation is done via the browser now instead of so-user-add.
- New Logstash pipeline setup. Now uses multiple pipelines.
- New Master + Search node type and well as a Heavy Node type in the install.
- Change all nodes to point to the docker registry on the Master. This cuts down on the calls to dockerhub.
- Zeek 3.0.1
- Elastic 6.8.6
- New SO Start | Stop | Restart scripts for all components (eg. `so-playbook-restart`).
- BPF support for Suricata (NIDS), Steno (PCAP) & Zeek ([Docs](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/BPF)).
- Updated Domain Stats & Frequency Server containers to Python3 & created new Salt states for them.
- Added so-status script which gives an easy to read look at container status.
- Manage threshold.conf for Suricata using the thresholding pillar.
- The ISO now includes all the docker containers for faster install speeds.
- You now set the password for the onion account during the iso install. This account is temporary and will be removed after so-setup.
- Updated Helix parsers for better compatibility.
- Updated telegraf docker to include curl and jq.
- CVE-2020-0601 Zeek Detection Script.
- ISO Install now prompts you to create a password for the onion user during imaging. This account gets disabled during setup.
- Full support for Ubuntu 18.04. 16.04 is no longer supported for Hybrid Hunter.
- Introduction of the Security Onion Console. Once logged in you are directly taken to the SOC.
- New authentication using Kratos.
- During install you must specify how you would like to access the SOC ui. This is for strict cookie security.
- Ability to list and delete web users from the SOC ui.
- The soremote account is now used to add nodes to the grid vs using socore.
- Community ID support for Zeek, osquery, and Suricata. You can now tie host events to connection logs!
- Elastic 7.6.1 with ECS support.
- New set of Kibana dashboards that align with ECS.
- Eval mode no longer uses Logstash for parsing (Filebeat -> ES Ingest)
- Ingest node parsing for osquery-shipped logs (osquery, WEL, Sysmon).
- Fleet standalone mode with improved Web UI & API access control.
- Improved Fleet integration support.
- Playbook now has full Windows Sigma community ruleset builtin.
- Automatic Sigma community rule updates.
- Playbook stability enhancements.
- Zeek health check. Zeek will now auto restart if a worker crashes.
- zeekctl is now managed by salt.
- Grafana dashboard improvements and cleanup.
- Moved logstash configs to pillars.
- Salt logs moved to /opt/so/log/salt.
- Strelka integrated for file-oriented detection/analysis at scale
## Version 1.1.4 ISO Download
### Known issues:
[HH1.1.4-44.ISO](https://download.securityonion.net/file/Hybrid-Hunter/HH-1.1.4-44.iso)
- Updating users via the SOC ui is known to fail. To change a user, delete the user and re-add them.
- Due to the move to ECS, the current Playbook plays may not alert correctly at this time.
- The osquery MacOS package does not install correctly.
MD5: C881536D55C5791F69596E474513E953
SHA1: 1CF503A46279EDDC5C84AA9F02167839004E7723
SHA256: F5C2FB52DFD314540019953BFE1960AF130AB09CD75E60E66CAA122DAD4DA414
## Version 1.2.1 Beta 1 ISO Download
[HH1.2.1-6.ISO](https://download.securityonion.net/file/Hybrid-Hunter/HH-1.2.1-6.iso)
MD5: D7E66CA8AAC37E70E2A2F7BB12EB3C23
SHA1: D91D921896F9ADA600EBA0ADAA548D8630B5341F
SHA256: D69E327597AB429DCE13C1177BCE6C1FAD934E78A09F73D14778C2CAE616557B
### Warnings and Disclaimers
- This ALPHA release is BLEEDING EDGE and TOTALLY UNSUPPORTED!
- This BETA release is BLEEDING EDGE and TOTALLY UNSUPPORTED!
- If this breaks your system, you get to keep both pieces!
- This script is a work in progress and is in constant flux.
- This script is intended to build a quick prototype proof of concept so you can see what our new platform might look like. This configuration will change drastically over time leading up to the final release.
@@ -69,7 +80,7 @@ Once you resolve those requirements or are using Ubuntu 16.04 do the following:
```
git clone https://github.com/Security-Onion-Solutions/securityonion-saltstack
cd securityonion-saltstack
sudo bash so-setup-network.sh
sudo bash so-setup-network
```
Follow the prompts and reboot if asked to do so.

View File

@@ -1 +1 @@
1.0.6
1.2.1

View File

@@ -1,2 +0,0 @@
salt/bro/files/local.bro
salt/bro/files/local.bro.community

View File

@@ -12,6 +12,7 @@
# modified files cause conflicts, set verify_env to False.
# user: socore
log_file: /opt/so/log/salt/master
##### File Server settings #####
##########################################
@@ -57,3 +58,7 @@ pillar_roots:
peer:
.*:
- x509.sign_remote_certificate
reactor:
- 'so/fleet':
- salt://reactor/fleet.sls

View File

@@ -1,4 +1,5 @@
{% set OSQUERY = salt['pillar.get']('master:osquery', '0') %}
{%- set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) -%}
{%- set FLEETNODE = salt['pillar.get']('static:fleet_node', False) -%}
{% set WAZUH = salt['pillar.get']('master:wazuh', '0') %}
{% set THEHIVE = salt['pillar.get']('master:thehive', '0') %}
{% set PLAYBOOK = salt['pillar.get']('master:playbook', '0') %}
@@ -7,7 +8,6 @@
{% set BROVER = salt['pillar.get']('static:broversion', 'COMMUNITY') %}
{% set GRAFANA = salt['pillar.get']('master:grafana', '0') %}
eval:
containers:
- so-core
@@ -17,11 +17,10 @@ eval:
- so-grafana
{% endif %}
- so-dockerregistry
- so-sensoroni
- so-soc
- so-kratos
- so-idstools
- so-auth-api
- so-auth-ui
{% if OSQUERY != '0' %}
{% if FLEETMASTER %}
- so-mysql
- so-fleet
- so-redis
@@ -89,12 +88,11 @@ master_search:
containers:
- so-core
- so-telegraf
- so-sensoroni
- so-soc
- so-kratos
- so-acng
- so-idstools
- so-redis
- so-auth-api
- so-auth-ui
- so-logstash
- so-elasticsearch
- so-curator
@@ -102,7 +100,7 @@ master_search:
- so-elastalert
- so-filebeat
- so-soctopus
{% if OSQUERY != '0' %}
{% if FLEETMASTER %}
- so-mysql
- so-fleet
- so-redis
@@ -135,18 +133,17 @@ master:
- so-influxdb
- so-grafana
{% endif %}
- so-sensoroni
- so-soc
- so-kratos
- so-acng
- so-idstools
- so-redis
- so-auth-api
- so-auth-ui
- so-elasticsearch
- so-logstash
- so-kibana
- so-elastalert
- so-filebeat
{% if OSQUERY != '0' %}
{% if FLEETMASTER %}
- so-mysql
- so-fleet
- so-redis
@@ -202,4 +199,13 @@ warm_node:
- so-core
- so-telegraf
- so-elasticsearch
fleet:
containers:
{% if FLEETNODE %}
- so-mysql
- so-fleet
- so-redis
- so-filebeat
- so-core
- so-telegraf
{% endif %}

View File

@@ -0,0 +1,5 @@
healthcheck:
enabled: False
schedule: 300
checks:
- zeek

View File

@@ -0,0 +1,5 @@
healthcheck:
enabled: False
schedule: 300
checks:
- zeek

View File

@@ -1,4 +1,21 @@
logstash:
pipelines:
eval:
config: "/usr/share/logstash/pipelines/eval/*.conf"
config:
- so/0800_input_eval.conf
- so/1002_preprocess_json.conf
- so/1033_preprocess_snort.conf
- so/7100_osquery_wel.conf
- so/8999_postprocess_rename_type.conf
- so/9000_output_bro.conf.jinja
- so/9002_output_import.conf.jinja
- so/9033_output_snort.conf.jinja
- so/9100_output_osquery.conf.jinja
- so/9400_output_suricata.conf.jinja
- so/9500_output_beats.conf.jinja
- so/9600_output_ossec.conf.jinja
- so/9700_output_strelka.conf.jinja
templates:
- so/so-beats-template.json
- so/so-common-template.json
- so/so-zeek-template.json

View File

@@ -1,4 +1,42 @@
logstash:
pipelines:
helix:
config: "/usr/share/logstash/pipelines/helix/*.conf"
config:
- so/0010_input_hhbeats.conf
- so/1033_preprocess_snort.conf
- so/1100_preprocess_bro_conn.conf
- so/1101_preprocess_bro_dhcp.conf
- so/1102_preprocess_bro_dns.conf
- so/1103_preprocess_bro_dpd.conf
- so/1104_preprocess_bro_files.conf
- so/1105_preprocess_bro_ftp.conf
- so/1106_preprocess_bro_http.conf
- so/1107_preprocess_bro_irc.conf
- so/1108_preprocess_bro_kerberos.conf
- so/1109_preprocess_bro_notice.conf
- so/1110_preprocess_bro_rdp.conf
- so/1111_preprocess_bro_signatures.conf
- so/1112_preprocess_bro_smtp.conf
- so/1113_preprocess_bro_snmp.conf
- so/1114_preprocess_bro_software.conf
- so/1115_preprocess_bro_ssh.conf
- so/1116_preprocess_bro_ssl.conf
- so/1117_preprocess_bro_syslog.conf
- so/1118_preprocess_bro_tunnel.conf
- so/1119_preprocess_bro_weird.conf
- so/1121_preprocess_bro_mysql.conf
- so/1122_preprocess_bro_socks.conf
- so/1123_preprocess_bro_x509.conf
- so/1124_preprocess_bro_intel.conf
- so/1125_preprocess_bro_modbus.conf
- so/1126_preprocess_bro_sip.conf
- so/1127_preprocess_bro_radius.conf
- so/1128_preprocess_bro_pe.conf
- so/1129_preprocess_bro_rfb.conf
- so/1130_preprocess_bro_dnp3.conf
- so/1131_preprocess_bro_smb_files.conf
- so/1132_preprocess_bro_smb_mapping.conf
- so/1133_preprocess_bro_ntlm.conf
- so/1134_preprocess_bro_dce_rpc.conf
- so/8001_postprocess_common_ip_augmentation.conf
- so/9997_output_helix.conf.jinja

11
pillar/logstash/init.sls Normal file
View File

@@ -0,0 +1,11 @@
logstash:
docker_options:
port_bindings:
- 0.0.0.0:514:514
- 0.0.0.0:5044:5044
- 0.0.0.0:5644:5644
- 0.0.0.0:6050:6050
- 0.0.0.0:6051:6051
- 0.0.0.0:6052:6052
- 0.0.0.0:6053:6053
- 0.0.0.0:9600:9600

View File

@@ -1,4 +1,6 @@
logstash:
pipelines:
master:
config: "/usr/share/logstash/pipelines/master/*.conf"
config:
- so/0010_input_hhbeats.conf
- so/9999_output_redis.conf.jinja

View File

@@ -1,4 +1,16 @@
logstash:
pipelines:
search:
config: "/usr/share/logstash/pipelines/search/*.conf"
config:
- so/0900_input_redis.conf.jinja
- so/9000_output_zeek.conf.jinja
- so/9002_output_import.conf.jinja
- so/9100_output_osquery.conf.jinja
- so/9400_output_suricata.conf.jinja
- so/9500_output_beats.conf.jinja
- so/9600_output_ossec.conf.jinja
- so/9700_output_strelka.conf.jinja
templates:
- so/so-beats-template.json
- so/so-common-template.json
- so/so-zeek-template.json

View File

@@ -1,10 +0,0 @@
# Example Pillar file for a master
master:
esaccessip: 127.0.0.1
esheap: CHANGEME
esclustername: {{ grains.host }}
freq: 0
domainstats: 0
lsheap: 1500m
lsaccessip: 127.0.0.1
elastalert: 1

View File

@@ -1,5 +0,0 @@
# Example Pillar file for a sensor
node:
ls_heapsize: CHANGEME
es_heapsize: CHANGEME
node_type: CHANGEME

View File

@@ -1,14 +0,0 @@
# Example Pillar file for a sensor
sensor:
interface: CHANGEME
bro_pins:
- 1
- 2
- 3
- 4
brobpf:
pcapbpf:
nidsbpf:
s3bucket:
s3key:

View File

@@ -3,53 +3,70 @@ base:
- patch.needs_restarting
- docker.config
'G@role:so-mastersearch or G@role:so-heavynode':
'*_mastersearch or *_heavynode':
- match: compound
- logstash
- logstash.master
- logstash.search
'G@role:so-sensor':
'*_sensor':
- static
- firewall.*
- brologs
- healthcheck.sensor
- minions.{{ grains.id }}
'G@role:so-master or G@role:so-mastersearch':
'*_master or *_mastersearch':
- match: compound
- static
- firewall.*
- data.*
- auth
- secrets
- minions.{{ grains.id }}
'G@role:so-master':
'*_master':
- logstash
- logstash.master
'G@role:so-eval':
'*_eval':
- static
- firewall.*
- data.*
- brologs
- auth
- logstash.eval
- secrets
- healthcheck.eval
- minions.{{ grains.id }}
'G@role:so-node':
'*_node':
- static
- firewall.*
- minions.{{ grains.id }}
'G@role:so-heavynode':
'*_heavynode':
- static
- firewall.*
- brologs
- minions.{{ grains.id }}
'G@role:so-helix':
'*_helix':
- static
- firewall.*
- fireeye
- brologs
- logstash
- logstash.helix
- static
- minions.{{ grains.id }}
'*_fleet':
- static
- firewall.*
- data.*
- secrets
- minions.{{ grains.id }}
'*_searchnode':
- static
- firewall.*
- logstash
- logstash.search
- minions.{{ grains.id }}

33
salt/_beacons/zeek.py Normal file
View File

@@ -0,0 +1,33 @@
import logging
def status():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl status'"
retval = __salt__['docker.run']('so-zeek', cmd)
logging.info('zeekctl_module: zeekctl.status retval: %s' % retval)
return retval
def beacon(config):
retval = []
is_enabled = __salt__['healthcheck.is_enabled']()
logging.info('zeek_beacon: healthcheck_is_enabled: %s' % is_enabled)
if is_enabled:
zeekstatus = status().lower().split(' ')
logging.info('zeek_beacon: zeekctl.status: %s' % str(zeekstatus))
if 'stopped' in zeekstatus or 'crashed' in zeekstatus or 'error' in zeekstatus or 'error:' in zeekstatus:
zeek_restart = True
else:
zeek_restart = False
__salt__['telegraf.send']('healthcheck zeek_restart=%s' % str(zeek_restart))
retval.append({'zeek_restart': zeek_restart})
logging.info('zeek_beacon: retval: %s' % str(retval))
return retval

View File

@@ -0,0 +1,96 @@
#!py
import logging
import sys
allowed_functions = ['is_enabled', 'zeek']
states_to_apply = []
def apply_states(states=''):
calling_func = sys._getframe().f_back.f_code.co_name
logging.debug('healthcheck_module: apply_states function caller: %s' % calling_func)
if not states:
states = ','.join(states_to_apply)
if states:
logging.info('healthcheck_module: apply_states states: %s' % str(states))
__salt__['state.apply'](states)
def docker_stop(container):
try:
stopdocker = __salt__['docker.rm'](container, 'stop=True')
except Exception as e:
logging.error('healthcheck_module: %s' % e)
def is_enabled():
if __salt__['pillar.get']('healthcheck:enabled', 'False'):
retval = True
else:
retval = False
return retval
def run(checks=''):
retval = []
calling_func = sys._getframe().f_back.f_code.co_name
logging.debug('healthcheck_module: run function caller: %s' % calling_func)
if checks:
checks = checks.split(',')
else:
checks = __salt__['pillar.get']('healthcheck:checks', {})
logging.debug('healthcheck_module: run checks to be run: %s' % str(checks))
for check in checks:
if check in allowed_functions:
retval.append(check)
check = getattr(sys.modules[__name__], check)
check()
else:
logging.warning('healthcheck_module: attempted to run function %s' % check)
# If you want to apply states at the end of the run,
# be sure to append the state name to states_to_apply[]
apply_states()
return retval
def send_event(tag, eventdata):
__salt__['event.send'](tag, eventdata[0])
def zeek():
calling_func = sys._getframe().f_back.f_code.co_name
logging.debug('healthcheck_module: zeek function caller: %s' % calling_func)
retval = []
retcode = __salt__['zeekctl.status'](verbose=False)
logging.debug('healthcheck_module: zeekctl.status retcode: %i' % retcode)
if retcode:
zeek_restart = 1
if calling_func != 'beacon':
docker_stop('so-zeek')
states_to_apply.append('zeek')
else:
zeek_restart = 0
__salt__['telegraf.send']('healthcheck zeek_restart=%i' % zeek_restart)
if calling_func == 'execute' and zeek_restart:
apply_states()
retval.append({'zeek_restart': zeek_restart})
send_event('so/healthcheck/zeek', retval)
return retval

16
salt/_modules/telegraf.py Normal file
View File

@@ -0,0 +1,16 @@
#!py
import logging
import socket
def send(data):
mainint = __salt__['pillar.get']('sensor:mainint', __salt__['pillar.get']('master:mainint'))
mainip = __salt__['grains.get']('ip_interfaces').get(mainint)[0]
dstport = 8094
sock = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
sent = sock.sendto(data.encode('utf-8'), (mainip, dstport))
return sent

160
salt/_modules/zeekctl.py Normal file
View File

@@ -0,0 +1,160 @@
#!py
import logging
def capstats(interval=10):
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl capstats %i'" % interval
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def check():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl check'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def cleanup(all=''):
retval = ''
if all:
if all == 'all':
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl cleanup --all'"
else:
retval = 'Invalid option. zeekctl.help for options'
else:
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl cleanup'"
if not retval:
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def config():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl config'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def deploy():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl deploy'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def df():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl df'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def diag():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl diag'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def install(local=''):
retval = ''
if local:
if local == 'local':
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl install --local'"
else:
retval = 'Invalid option. zeekctl.help for options'
else:
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl install'"
if not retval:
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def netstats():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl netstats'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def nodes():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl nodes'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def restart(clean=''):
retval = ''
if clean:
if clean == 'clean':
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl restart --clean'"
else:
retval = 'Invalid option. zeekctl.help for options'
else:
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl restart'"
if not retval:
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def scripts(c=''):
retval = ''
if c:
if c == 'c':
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl scripts -c'"
else:
retval = 'Invalid option. zeekctl.help for options'
else:
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl scripts'"
if not retval:
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def start():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl start'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def status(verbose=True):
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl status'"
retval = __salt__['docker.run']('so-zeek', cmd)
if not verbose:
retval = __context__['retcode']
logging.info('zeekctl_module: zeekctl.status retval: %s' % retval)
return retval
def stop():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl stop'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval
def top():
cmd = "runuser -l zeek -c '/opt/zeek/bin/zeekctl top'"
retval = __salt__['docker.run']('so-zeek', cmd)
return retval

View File

@@ -1,30 +0,0 @@
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.1.4') %}
{% set MASTER = salt['grains.get']('master') %}
so-auth-api-dir:
file.directory:
- name: /opt/so/conf/auth/api
- user: 939
- group: 939
- makedirs: True
so-auth-api:
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-auth-api:{{ VERSION }}
- hostname: so-auth-api
- name: so-auth-api
- environment:
- BASE_PATH: "/so-auth/api"
- AUTH_TOKEN_TIMEOUT: 32400
- binds:
- /opt/so/conf/auth/api:/data
- port_bindings:
- 0.0.0.0:5656:5656
so-auth-ui:
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-auth-ui:{{ VERSION }}
- hostname: so-auth-ui
- name: so-auth-ui
- port_bindings:
- 0.0.0.0:4242:80

View File

@@ -10,13 +10,13 @@ providers:
editable: true
options:
path: /etc/grafana/grafana_dashboards/master
- name: 'Forward Nodes'
folder: 'Forward Nodes'
- name: 'Sensor Nodes'
folder: 'Sensor Nodes'
type: file
disableDeletion: false
editable: true
options:
path: /etc/grafana/grafana_dashboards/forward_nodes
path: /etc/grafana/grafana_dashboards/sensor_nodes
- name: 'Search Nodes'
folder: 'Search Nodes'
type: file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,6 +1,8 @@
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.1.4') %}
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.1') %}
{% set MASTER = salt['grains.get']('master') %}
{% set GRAFANA = salt['pillar.get']('master:grafana', '0') %}
{% set FLEETMASTER = salt['pillar.get']('static:fleet_master', False) %}
{% set FLEETNODE = salt['pillar.get']('static:fleet_node', False) %}
# Add socore Group
socoregroup:
group.present:
@@ -81,10 +83,6 @@ docker:
service.running:
- enable: True
salt-minion:
service.running:
- enable: True
# Drop the correct nginx config based on role
nginxconfdir:
@@ -102,13 +100,6 @@ nginxconf:
- template: jinja
- source: salt://common/nginx/nginx.conf.{{ grains.role }}
copyindex:
file.managed:
- name: /opt/so/conf/nginx/index.html
- user: 939
- group: 939
- source: salt://common/nginx/index.html
nginxlogdir:
file.directory:
- name: /opt/so/log/nginx/
@@ -131,7 +122,6 @@ so-core:
- binds:
- /opt/so:/opt/so:rw
- /opt/so/conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- /opt/so/conf/nginx/index.html:/opt/socore/html/index.html:ro
- /opt/so/log/nginx/:/var/log/nginx:rw
- /opt/so/tmp/nginx/:/var/lib/nginx:rw
- /opt/so/tmp/nginx/:/run:rw
@@ -142,6 +132,9 @@ so-core:
- port_bindings:
- 80:80
- 443:443
{%- if FLEETMASTER or FLEETNODE %}
- 8090:8090
{%- endif %}
- watch:
- file: /opt/so/conf/nginx/nginx.conf
@@ -187,6 +180,8 @@ so-telegraf:
- HOST_SYS=/host/sys
- HOST_MOUNT_PREFIX=/host
- network_mode: host
- port_bindings:
- 127.0.0.1:8094:8094
- binds:
- /opt/so/log/telegraf:/var/log/telegraf:rw
- /opt/so/conf/telegraf/etc/telegraf.conf:/etc/telegraf/telegraf.conf:ro
@@ -212,7 +207,7 @@ so-telegraf:
- /opt/so/conf/telegraf/scripts
# If its a master or eval lets install the back end for now
{% if grains['role'] == 'so-master' or grains['role'] == 'so-eval' and GRAFANA == 1 %}
{% if grains['role'] in ['so-master', 'so-mastersearch', 'so-eval'] and GRAFANA == 1 %}
# Influx DB
influxconfdir:
@@ -287,7 +282,7 @@ grafanadashevaldir:
grafanadashfndir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/forward_nodes
- name: /opt/so/conf/grafana/grafana_dashboards/sensor_nodes
- user: 939
- group: 939
- makedirs: True
@@ -308,7 +303,9 @@ grafanaconf:
- source: salt://common/grafana/etc
{% if salt['pillar.get']('mastertab', False) %}
{%- for SN, SNDATA in salt['pillar.get']('mastertab', {}).items() %}
{% for SN, SNDATA in salt['pillar.get']('mastertab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-master:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/master/{{ SN }}-Master.json
@@ -325,18 +322,20 @@ dashboard-master:
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{%- endfor %}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('sensorstab', False) %}
{%- for SN, SNDATA in salt['pillar.get']('sensorstab', {}).items() %}
{% for SN, SNDATA in salt['pillar.get']('sensorstab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-{{ SN }}:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/forward_nodes/{{ SN }}-Sensor.json
- name: /opt/so/conf/grafana/grafana_dashboards/sensor_nodes/{{ SN }}-Sensor.json
- user: 939
- group: 939
- template: jinja
- source: salt://common/grafana/grafana_dashboards/forward_nodes/sensor.json
- source: salt://common/grafana/grafana_dashboards/sensor_nodes/sensor.json
- defaults:
SERVERNAME: {{ SN }}
MONINT: {{ SNDATA.monint }}
@@ -350,7 +349,9 @@ dashboard-{{ SN }}:
{% endif %}
{% if salt['pillar.get']('nodestab', False) %}
{%- for SN, SNDATA in salt['pillar.get']('nodestab', {}).items() %}
{% for SN, SNDATA in salt['pillar.get']('nodestab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboardsearch-{{ SN }}:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/search_nodes/{{ SN }}-Node.json
@@ -371,7 +372,9 @@ dashboardsearch-{{ SN }}:
{% endif %}
{% if salt['pillar.get']('evaltab', False) %}
{%- for SN, SNDATA in salt['pillar.get']('evaltab', {}).items() %}
{% for SN, SNDATA in salt['pillar.get']('evaltab', {}).items() %}
{% set NODETYPE = SN.split('_')|last %}
{% set SN = SN | regex_replace('_' ~ NODETYPE, '') %}
dashboard-{{ SN }}:
file.managed:
- name: /opt/so/conf/grafana/grafana_dashboards/eval/{{ SN }}-Node.json

View File

@@ -1,130 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>Security Onion - Hybrid Hunter</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="icon" type="image/png" href="favicon-32x32.png" sizes="32x32" />
<link rel="icon" type="image/png" href="favicon-16x16.png" sizes="16x16" />
<style>
* {
box-sizing: border-box;
font-family: Arial, Helvetica, sans-serif;
padding-left: 30px;
padding-right: 30px;
}
body {
font-family: Arial, Helvetica, sans-serif;
background-color: #2a2a2a;
}
a {
color: #f2f2f2;
text-align: left;
padding: 0px;
}
.center {
margin: 0 auto;
}
/* Style the top navigation bar */
.topnav {
overflow: hidden;
background-color: #333;
width: 1080px;
display: flex;
align-content: center;
}
/* Style the topnav links */
.topnav a {
margin: auto;
color: #f2f2f2;
text-align: center;
padding: 14px 16px;
text-decoration: none;
}
/* Change color on hover */
.topnav a:hover {
background-color: #ddd;
color: black;
}
/* Style the content */
.content {
background-color: #2a2a2a;
padding: 10px;
padding-top: 20px;
padding-left: 60px;
color: #E3DBCC;
width: 1080px;
}
/* Style the footer */
.footer {
background-color: #2a2a2a;
padding: 60px;
color: #E3DBCC;
width: 1080px;
}
</style>
</head>
<body>
<div class="center">
<div class="topnav center">
<a href="/so-auth/loginpage/create-user" target="_blank">Create New User</a>
<a href="/kibana/" target="_blank">Kibana</a>
<a href="/grafana/" target="_blank">Grafana</a>
<a href="/sensoroni/" target="_blank">Sensoroni</a>
<a href="/playbook/" target="_blank">Playbook</a>
<a href="/fleet/" target="_blank">Fleet</a>
<a href="/thehive/" target="_blank">TheHive</a>
<a href="/packages/" target="_blank">Osquery Packages</a>
<a href="https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/FAQ" target="_blank">FAQ</a>
<a href="https://www.securityonionsolutions.com" target="_blank">Security Onion Solutions</a>
<a href="https://blog.securityonion.net" target="_blank">Blog</a>
</div>
<div class="content center">
<center><a href="https://securityonion.net"><img STYLE="border: none;" src="alpha_logo.jpg" alt="Security Onion" align="center" target="_blank"></img></a><br></center>
<p><center><h1>Hybrid Hunter Alpha 1.1.4 - Feature Parity Release</h1></center><br>
<h2>Changes:</h2>
<ul>
<li>Added new in-house auth method [Security Onion Auth](https://github.com/Security-Onion-Solutions/securityonion-auth).</li>
<li>Web user creation is done via the browser now instead of so-user-add.</li>
<li>New Logstash pipeline setup. Now uses multiple pipelines.</li>
<li>New Master + Search node type and well as a Heavy Node type in the install.</li>
<li>Change all nodes to point to the docker registry on the Master. This cuts down on the calls to dockerhub.</li>
<li>Zeek 3.0.1</li>
<li>Elastic 6.8.6</li>
<li>New SO Start | Stop | Restart scripts for all components (eg. `so-playbook-restart`).</li>
<li>BPF support for Suricata (NIDS), Steno (PCAP) & Zeek ([Docs](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/BPF)).</li>
<li>Updated Domain Stats & Frequency Server containers to Python3 & created new Salt states for them.</li>
<li>Added so-status script which gives an easy to read look at container status.</li>
<li>Manage threshold.conf for Suricata using the thresholding pillar.</li>
<li>The ISO now includes all the docker containers for faster install speeds.</li>
<li>You now set the password for the onion account during the iso install. This account is temporary and will be removed after so-setup.</li>
<li>Updated Helix parsers for better compatibility.</li>
<li>Updated telegraf docker to include curl and jq.</li>
<li>CVE-2020-0601 Zeek Detection Script.</li>
<li>ISO Install now prompts you to create a password for the onion user during imaging. This account gets disabled during setup.</li>
<li>Check out the <a href="https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/Hybrid-Hunter-Quick-Start-Guide" target="_blank">Hybrid Hunter Quick Start Guide</a>.</li>
</ul>
</p>
</div>
<div class="footer center">
<b>Disclaimer of Warranty</b><br>
<small>THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM .AS IS. WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.</small><br>
<br>
<b>Limitation of Liability</b><br>
<small>IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.</small><br>
</div>
</div>
</body>
</html>

View File

@@ -1,9 +1,11 @@
{%- set masterip = salt['pillar.get']('master:mainip', '') %}
{%- set FLEET_MASTER = salt['pillar.get']('static:fleet_master') %}
{%- set FLEET_NODE = salt['pillar.get']('static:fleet_node') %}
{%- set FLEET_IP = salt['pillar.get']('static:fleet_ip', None) %}
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
@@ -27,6 +29,7 @@ http {
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 1024M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
@@ -63,6 +66,29 @@ http {
return 301 https://$host$request_uri;
}
{% if FLEET_MASTER %}
server {
listen 8090 ssl http2 default_server;
server_name _;
root /opt/socore/html;
index blank.html;
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location ~ ^/kolide.agent.Api/(RequestEnrollment|RequestConfig|RequestQueries|PublishLogs|PublishResults|CheckHealth)$ {
grpc_pass grpcs://{{ masterip }}:8080;
grpc_set_header Host $host;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
}
}
{% endif %}
# Settings for a TLS enabled server.
@@ -83,10 +109,54 @@ http {
# Load configuration files for the default server block.
#include /etc/nginx/default.d/*.conf;
#location / {
# try_files $uri $uri.html /index.html;
# }
location ~* (^/login/|^/js/.*|^/css/.*|^/images/.*) {
proxy_pass http://{{ masterip }}:9822;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location / {
auth_request /auth/sessions/whoami;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location ~ ^/auth/.*?(whoami|login|logout) {
rewrite /auth/(.*) /$1 break;
proxy_pass http://{{ masterip }}:4433;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /packages/ {
try_files $uri =206;
auth_request /auth/sessions/whoami;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /grafana/ {
rewrite /grafana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:3000/;
@@ -100,7 +170,7 @@ http {
}
location /kibana/ {
auth_request /so-auth/api/auth/;
auth_request /auth/sessions/whoami;
rewrite /kibana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:5601/;
proxy_read_timeout 90;
@@ -112,6 +182,19 @@ http {
}
location /nodered/ {
proxy_pass http://{{ masterip }}:1880/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Proxy "";
}
location /playbook/ {
proxy_pass http://{{ masterip }}:3200/playbook/;
proxy_read_timeout 90;
@@ -125,7 +208,7 @@ http {
location /navigator/ {
auth_request /so-auth/api/auth/;
auth_request /auth/sessions/whoami;
proxy_pass http://{{ masterip }}:4200/navigator/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
@@ -136,29 +219,21 @@ http {
}
location /api/ {
proxy_pass https://{{ masterip }}:8080/api/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
{%- if FLEET_NODE %}
location /fleet/ {
proxy_pass https://{{ masterip }}:8080/fleet/;
return 301 https://{{ FLEET_IP }}/fleet;
}
{%- else %}
location /fleet/ {
proxy_pass https://{{ masterip }}:8080;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
{%- endif %}
location /thehive/ {
proxy_pass http://{{ masterip }}:9000/thehive/;
@@ -195,22 +270,8 @@ http {
}
location /sensoroni/ {
auth_request /so-auth/api/auth/;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /kibana/app/sensoroni/ {
rewrite ^/kibana/app/sensoroni/(.*) /sensoroni/$1 permanent;
location /kibana/app/soc/ {
rewrite ^/kibana/app/soc/(.*) /soc/$1 permanent;
}
location /kibana/app/fleet/ {
@@ -231,23 +292,11 @@ http {
proxy_set_header Proxy "";
}
location /so-auth/loginpage/ {
proxy_pass http://{{ masterip }}:4242/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /so-auth/api/ {
proxy_pass http://{{ masterip }}:5656/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
}
error_page 401 = @error401;
location @error401 {
add_header Set-Cookie "NSREDIRECT=http://{{ masterip }}$request_uri;Domain={{ masterip }};Path=/;Max-Age=60000";
return 302 http://{{ masterip }}/so-auth/loginpage/;
add_header Set-Cookie "AUTH_REDIRECT=$request_uri;Path=/;Max-Age=14400";
return 302 /auth/self-service/browser/flows/login;
}
error_page 404 /404.html;

View File

@@ -0,0 +1,98 @@
{%- set MAINIP = salt['pillar.get']('node:mainip', '') %}
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
# Load dynamic modules. See /usr/share/nginx/README.dynamic.
include /usr/share/nginx/modules/*.conf;
events {
worker_connections 1024;
}
http {
log_format main '$remote_addr - $remote_user [$time_local] "$request" '
'$status $body_bytes_sent "$http_referer" '
'"$http_user_agent" "$http_x_forwarded_for"';
access_log /var/log/nginx/access.log main;
sendfile on;
tcp_nopush on;
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
include /etc/nginx/mime.types;
default_type application/octet-stream;
include /etc/nginx/conf.d/*.conf;
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
server {
listen 8090 ssl http2 default_server;
server_name _;
root /opt/socore/html;
index blank.html;
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location ~ ^/kolide.agent.Api/(RequestEnrollment|RequestConfig|RequestQueries|PublishLogs|PublishResults|CheckHealth)$ {
grpc_pass grpcs://{{ MAINIP }}:8080;
grpc_set_header Host $host;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
}
}
server {
listen 443 ssl http2 default_server;
server_name _;
root /opt/socore/html/packages;
index index.html;
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location /fleet/ {
proxy_pass https://{{ MAINIP }}:8080;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
}

View File

@@ -1,9 +1,11 @@
{%- set masterip = salt['pillar.get']('master:mainip', '') %}
{%- set FLEET_MASTER = salt['pillar.get']('static:fleet_master') %}
{%- set FLEET_NODE = salt['pillar.get']('static:fleet_node') %}
{%- set FLEET_IP = salt['pillar.get']('static:fleet_ip', None) %}
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
@@ -27,6 +29,7 @@ http {
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 1024M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
@@ -58,11 +61,34 @@ http {
# }
#}
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
{% if FLEET_MASTER %}
server {
listen 8090 ssl http2 default_server;
server_name _;
root /opt/socore/html;
index blank.html;
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location ~ ^/kolide.agent.Api/(RequestEnrollment|RequestConfig|RequestQueries|PublishLogs|PublishResults|CheckHealth)$ {
grpc_pass grpcs://{{ masterip }}:8080;
grpc_set_header Host $host;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
}
}
{% endif %}
# Settings for a TLS enabled server.
@@ -83,13 +109,57 @@ http {
# Load configuration files for the default server block.
#include /etc/nginx/default.d/*.conf;
#location / {
# try_files $uri $uri.html /index.html;
# }
location ~* (^/login/|^/js/.*|^/css/.*|^/images/.*) {
proxy_pass http://{{ masterip }}:9822;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location / {
auth_request /auth/sessions/whoami;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location ~ ^/auth/.*?(whoami|login|logout) {
rewrite /auth/(.*) /$1 break;
proxy_pass http://{{ masterip }}:4433;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /packages/ {
try_files $uri =206;
auth_request /auth/sessions/whoami;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /grafana/ {
rewrite /grafana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:3000/;
rewrite /grafana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:3000/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -100,9 +170,9 @@ http {
}
location /kibana/ {
auth_request /so-auth/api/auth/;
rewrite /kibana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:5601/;
auth_request /auth/sessions/whoami;
rewrite /kibana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:5601/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -112,8 +182,21 @@ http {
}
location /playbook/ {
proxy_pass http://{{ masterip }}:3200/playbook/;
location /nodered/ {
proxy_pass http://{{ masterip }}:1880/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Proxy "";
}
location /playbook/ {
proxy_pass http://{{ masterip }}:3200/playbook/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -123,9 +206,10 @@ http {
}
location /navigator/ {
auth_request /so-auth/api/auth/;
proxy_pass http://{{ masterip }}:4200/navigator/;
auth_request /auth/sessions/whoami;
proxy_pass http://{{ masterip }}:4200/navigator/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -135,37 +219,27 @@ http {
}
location /api/ {
proxy_pass https://{{ masterip }}:8080/api/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
{%- if FLEET_NODE %}
location /fleet/ {
rewrite /fleet/(.*) /$1 break;
auth_request /so-auth/api/auth/;
proxy_pass https://{{ masterip }}:8080/;
return 301 https://{{ FLEET_IP }}/fleet;
}
{%- else %}
location /fleet/ {
proxy_pass https://{{ masterip }}:8080;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
{%- endif %}
location /thehive/ {
proxy_pass http://{{ masterip }}:9000/thehive/;
proxy_pass http://{{ masterip }}:9000/thehive/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -174,19 +248,19 @@ http {
}
location /cortex/ {
proxy_pass http://{{ masterip }}:9001/cortex/;
proxy_pass http://{{ masterip }}:9001/cortex/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /soctopus/ {
proxy_pass http://{{ masterip }}:7000/;
proxy_pass http://{{ masterip }}:7000/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -196,22 +270,8 @@ http {
}
location /sensoroni/ {
auth_request /so-auth/api/auth/;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /kibana/app/sensoroni/ {
rewrite ^/kibana/app/sensoroni/(.*) /sensoroni/$1 permanent;
location /kibana/app/soc/ {
rewrite ^/kibana/app/soc/(.*) /soc/$1 permanent;
}
location /kibana/app/fleet/ {
@@ -222,36 +282,21 @@ http {
rewrite ^/kibana/app/soctopus/(.*) /soctopus/$1 permanent;
}
location /sensoroniagents/ {
proxy_pass http://{{ masterip }}:9822/;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /so-auth/loginpage/ {
proxy_pass http://{{ masterip }}:4242/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /so-auth/api/ {
proxy_pass http://{{ masterip }}:5656/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
}
error_page 401 = @error401;
location @error401 {
add_header Set-Cookie "NSREDIRECT=http://{{ masterip }}$request_uri;Domain={{ masterip }};Path=/;Max-Age=60000";
return 302 http://{{ masterip }}/so-auth/loginpage/;
add_header Set-Cookie "AUTH_REDIRECT=$request_uri;Path=/;Max-Age=14400";
return 302 /auth/self-service/browser/flows/login;
}
error_page 404 /404.html;

View File

@@ -1,9 +1,11 @@
{%- set masterip = salt['pillar.get']('master:mainip', '') %}
{%- set FLEET_MASTER = salt['pillar.get']('static:fleet_master') %}
{%- set FLEET_NODE = salt['pillar.get']('static:fleet_node') %}
{%- set FLEET_IP = salt['pillar.get']('static:fleet_ip', None) %}
# For more information on configuration, see:
# * Official English Documentation: http://nginx.org/en/docs/
# * Official Russian Documentation: http://nginx.org/ru/docs/
user nginx;
worker_processes auto;
error_log /var/log/nginx/error.log;
pid /run/nginx.pid;
@@ -27,6 +29,7 @@ http {
tcp_nodelay on;
keepalive_timeout 65;
types_hash_max_size 2048;
client_max_body_size 1024M;
include /etc/nginx/mime.types;
default_type application/octet-stream;
@@ -58,11 +61,34 @@ http {
# }
#}
server {
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
listen 80 default_server;
server_name _;
return 301 https://$host$request_uri;
}
{% if FLEET_MASTER %}
server {
listen 8090 ssl http2 default_server;
server_name _;
root /opt/socore/html;
index blank.html;
ssl_certificate "/etc/pki/nginx/server.crt";
ssl_certificate_key "/etc/pki/nginx/server.key";
ssl_session_cache shared:SSL:1m;
ssl_session_timeout 10m;
ssl_ciphers HIGH:!aNULL:!MD5;
ssl_prefer_server_ciphers on;
location ~ ^/kolide.agent.Api/(RequestEnrollment|RequestConfig|RequestQueries|PublishLogs|PublishResults|CheckHealth)$ {
grpc_pass grpcs://{{ masterip }}:8080;
grpc_set_header Host $host;
grpc_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_buffering off;
}
}
{% endif %}
# Settings for a TLS enabled server.
@@ -83,13 +109,57 @@ http {
# Load configuration files for the default server block.
#include /etc/nginx/default.d/*.conf;
#location / {
# try_files $uri $uri.html /index.html;
# }
location ~* (^/login/|^/js/.*|^/css/.*|^/images/.*) {
proxy_pass http://{{ masterip }}:9822;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location / {
auth_request /auth/sessions/whoami;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location ~ ^/auth/.*?(whoami|login|logout) {
rewrite /auth/(.*) /$1 break;
proxy_pass http://{{ masterip }}:4433;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /packages/ {
try_files $uri =206;
auth_request /auth/sessions/whoami;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /grafana/ {
rewrite /grafana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:3000/;
rewrite /grafana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:3000/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -100,9 +170,9 @@ http {
}
location /kibana/ {
auth_request /so-auth/api/auth/;
rewrite /kibana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:5601/;
auth_request /auth/sessions/whoami;
rewrite /kibana/(.*) /$1 break;
proxy_pass http://{{ masterip }}:5601/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -112,8 +182,21 @@ http {
}
location /playbook/ {
proxy_pass http://{{ masterip }}:3200/playbook/;
location /nodered/ {
proxy_pass http://{{ masterip }}:1880/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Proxy "";
}
location /playbook/ {
proxy_pass http://{{ masterip }}:3200/playbook/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -123,9 +206,10 @@ http {
}
location /navigator/ {
auth_request /so-auth/api/auth/;
proxy_pass http://{{ masterip }}:4200/navigator/;
auth_request /auth/sessions/whoami;
proxy_pass http://{{ masterip }}:4200/navigator/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -135,37 +219,27 @@ http {
}
location /api/ {
proxy_pass https://{{ masterip }}:8080/api/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
{%- if FLEET_NODE %}
location /fleet/ {
rewrite /fleet/(.*) /$1 break;
auth_request /so-auth/api/auth/;
proxy_pass https://{{ masterip }}:8080/;
return 301 https://{{ FLEET_IP }}/fleet;
}
{%- else %}
location /fleet/ {
proxy_pass https://{{ masterip }}:8080;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
{%- endif %}
location /thehive/ {
proxy_pass http://{{ masterip }}:9000/thehive/;
proxy_pass http://{{ masterip }}:9000/thehive/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
@@ -174,31 +248,19 @@ http {
}
location /cortex/ {
proxy_pass http://{{ masterip }}:9001/cortex/;
proxy_pass http://{{ masterip }}:9001/cortex/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /cyberchef/ {
proxy_pass http://{{ masterip }}:9080/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_http_version 1.1; # this is essential for chunked responses to work
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /soctopus/ {
proxy_pass http://{{ masterip }}:7000/;
proxy_pass http://{{ masterip }}:7000/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
@@ -208,22 +270,8 @@ http {
}
location /sensoroni/ {
auth_request /so-auth/api/auth/;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "Upgrade";
}
location /kibana/app/sensoroni/ {
rewrite ^/kibana/app/sensoroni/(.*) /sensoroni/$1 permanent;
location /kibana/app/soc/ {
rewrite ^/kibana/app/soc/(.*) /soc/$1 permanent;
}
location /kibana/app/fleet/ {
@@ -234,36 +282,21 @@ http {
rewrite ^/kibana/app/soctopus/(.*) /soctopus/$1 permanent;
}
location /sensoroniagents/ {
proxy_pass http://{{ masterip }}:9822/;
proxy_pass http://{{ masterip }}:9822/;
proxy_read_timeout 90;
proxy_connect_timeout 90;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Proxy "";
}
location /so-auth/loginpage/ {
proxy_pass http://{{ masterip }}:4242/;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
location /so-auth/api/ {
proxy_pass http://{{ masterip }}:5656/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $host;
}
error_page 401 = @error401;
location @error401 {
add_header Set-Cookie "NSREDIRECT=http://{{ masterip }}$request_uri;Domain={{ masterip }};Path=/;Max-Age=60000";
return 302 http://{{ masterip }}/so-auth/loginpage/;
add_header Set-Cookie "AUTH_REDIRECT=$request_uri;Path=/;Max-Age=14400";
return 302 /auth/self-service/browser/flows/login;
}
error_page 404 /404.html;

View File

@@ -16,7 +16,7 @@
{%- set MASTER = grains['master'] %}
{% set NODEIP = salt['pillar.get']('node:mainip', '') %}
{% set HELIX_API_KEY = salt['pillar.get']('fireeye:helix:api_key', '') %}
{% set UNIQUEID = salt['pillar.get']('sensor:uniqueid', '') %}
# Global tags can be specified here in key="value" format.
[global_tags]
@@ -25,6 +25,9 @@
## Environment variables can be used as tags, and throughout the config file
# user = "$USER"
{% if grains['role'] == 'so-helix' %}
meta_cbid = "{{ UNIQUEID }}"
{% endif %}
# Configuration for telegraf agent
[agent]
@@ -77,7 +80,7 @@
logfile = "/var/log/telegraf/telegraf.log"
## Override default hostname, if empty use os.Hostname()
hostname = "{{ grains.id }}"
hostname = "{{ grains.host }}"
## If set to true, do no set the "host" tag in the telegraf agent.
omit_hostname = false
@@ -495,10 +498,10 @@
[[inputs.disk]]
## By default stats will be gathered for all mount points.
## Set mount_points will restrict the stats to only the specified mount points.
# mount_points = ["/"]
mount_points = ["/", "/host/nsm"]
## Ignore mount points by filesystem type.
ignore_fs = ["tmpfs", "devtmpfs", "devfs", "overlay", "aufs", "squashfs"]
#ignore_fs = ["tmpfs", "devtmpfs", "devfs", "overlay", "aufs", "squashfs"]
# Read metrics about disk IO by device
@@ -2050,6 +2053,9 @@
# ## more about them here:
# ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md
# # data_format = "influx"
[[inputs.socket_listener]]
service_address = "udp://:8094"
data_format = "influx"
# # Statsd UDP/TCP Server

View File

@@ -1,5 +1,5 @@
#!/bin/bash
INFLUXSIZE=$(du -s -B1 /host/nsm/influxdb | awk {'print $1'}
INFLUXSIZE=$(du -s -B1 /host/nsm/influxdb | awk {'print $1'})
echo "influxsize bytes=$INFLUXSIZE"

View File

@@ -56,7 +56,7 @@ if [ "$SKIP" -eq 0 ]; then
echo ""
echo "[a] - Analyst - ports 80/tcp and 443/tcp"
echo "[b] - Logstash Beat - port 5044/tcp"
echo "[o] - Osquery endpoint - port 8080/tcp"
echo "[o] - Osquery endpoint - port 8090/tcp"
echo "[w] - Wazuh endpoint - port 1514"
echo ""
echo "Please enter your selection (a - analyst, b - beats, o - osquery, w - wazuh):"

View File

@@ -2,8 +2,6 @@
MASTER=MASTER
VERSION="HH1.1.4"
TRUSTED_CONTAINERS=( \
"so-auth-api:$VERSION" \
"so-auth-ui:$VERSION" \
"so-core:$VERSION" \
"so-thehive-cortex:$VERSION" \
"so-curator:$VERSION" \

View File

@@ -0,0 +1,54 @@
{% set MASTERIP = salt['pillar.get']('master:mainip', '') %}
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
ELASTICSEARCH_HOST="{{ MASTERIP}}"
ELASTICSEARCH_PORT=9200
#ELASTICSEARCH_AUTH=""
# Define a default directory to load pipelines from
ELASTICSEARCH_TEMPLATES="/opt/so/saltstack/salt/logstash/pipelines/templates/so/"
# Wait for ElasticSearch to initialize
echo -n "Waiting for ElasticSearch..."
COUNT=0
ELASTICSEARCH_CONNECTED="no"
while [[ "$COUNT" -le 240 ]]; do
curl --output /dev/null --silent --head --fail http://"$ELASTICSEARCH_HOST":"$ELASTICSEARCH_PORT"
if [ $? -eq 0 ]; then
ELASTICSEARCH_CONNECTED="yes"
echo "connected!"
break
else
((COUNT+=1))
sleep 1
echo -n "."
fi
done
if [ "$ELASTICSEARCH_CONNECTED" == "no" ]; then
echo
echo -e "Connection attempt timed out. Unable to connect to ElasticSearch. \nPlease try: \n -checking log(s) in /var/log/elasticsearch/\n -running 'sudo docker ps' \n -running 'sudo so-elastic-restart'"
echo
fi
cd ${ELASTICSEARCH_TEMPLATES}
echo "Loading templates..."
for i in *; do TEMPLATE=$(echo $i | cut -d '-' -f2); echo "so-$TEMPLATE"; curl ${ELASTICSEARCH_AUTH} -s -XPUT http://${ELASTICSEARCH_HOST}:${ELASTICSEARCH_PORT}/_template/so-$TEMPLATE -H 'Content-Type: application/json' -d@$i 2>/dev/null; echo; done
echo
cd - >/dev/null

View File

@@ -0,0 +1,6 @@
#!/bin/bash
KIBANA_HOST=10.66.166.141
KSO_PORT=5601
OUTFILE="saved_objects.json"
curl -s -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -XPOST $KIBANA_HOST:$KSO_PORT/api/saved_objects/_export -d '{ "type": "index-pattern", "type": "config", "type": "dashboard", "type": "query", "type": "search", "type": "url", "type": "visualization" }' -o $OUTFILE

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common
/usr/sbin/so-stop auth $1
/usr/sbin/so-restart nodered $1

View File

@@ -17,5 +17,5 @@
. /usr/sbin/so-common
/usr/sbin/so-restart auth $1
/usr/sbin/so-start nodered $1

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common
/usr/sbin/so-start auth $1
/usr/sbin/so-stop nodered $1

View File

@@ -17,4 +17,4 @@
. /usr/sbin/so-common
docker exec so-soctopus python3 playbook_play-sync.py
docker exec so-soctopus python3 playbook_play-sync.py >> /opt/so/log/soctopus/so-playbook-sync.log 2>&1

View File

@@ -32,6 +32,5 @@ fi
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;;
"auth") docker stop so-auth-api; docker stop so-auth-ui; salt-call state.apply auth queue=True;;
*) docker stop so-$1 ; docker rm so-$1 ; salt-call state.apply $1 queue=True;;
esac

View File

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

View File

@@ -26,6 +26,8 @@
{%- set pillar_val = 'sensor' -%}
{%- elif (salt['grains.get']('role') == 'so-eval') -%}
{%- set pillar_val = 'eval' -%}
{%- elif (salt['grains.get']('role') == 'so-fleet') -%}
{%- set pillar_val = 'fleet' -%}
{%- elif (salt['grains.get']('role') == 'so-helix') -%}
{%- set pillar_val = 'helix' -%}
{%- elif (salt['grains.get']('role') == 'so-node') -%}
@@ -105,7 +107,7 @@ populate_container_lists() {
systemctl is-active --quiet docker
if [[ $? = 0 ]]; then
mapfile -t docker_raw_list < <(curl -s --unix-socket /var/run/docker.sock http:/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 }' \
| tr -d '/{"}')
else

View File

@@ -24,7 +24,6 @@ printf "Stopping $1...\n"
echo $banner
case $1 in
"auth") docker stop so-auth-api; docker rm so-auth-api; docker stop so-auth-ui; docker rm so-auth-ui ;;
*) docker stop so-$1 ; docker rm so-$1 ;;
esac

237
salt/common/tools/sbin/so-user Executable file
View File

@@ -0,0 +1,237 @@
#!/bin/bash
# Copyright 2020 Security Onion Solutions. All rights reserved.
#
# This program is distributed under the terms of version 2 of the
# GNU General Public License. See LICENSE for further details.
#
# 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.
got_root() {
# Make sure you are root
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run using sudo!"
exit 1
fi
}
# Make sure the user is root
got_root
if [[ $# < 1 || $# > 2 ]]; then
echo "Usage: $0 <list|add|update|delete|validate|valemail|valpass> [email]"
echo ""
echo " list: Lists all user email addresses currently defined in the identity system"
echo " add: Adds a new user to the identity system; requires 'email' parameter"
echo " update: Updates a user's password; requires 'email' parameter"
echo " delete: Deletes an existing user; requires 'email' parameter"
echo " validate: Validates that the given email address and password are acceptable for defining a new user; requires 'email' parameter"
echo " valemail: Validates that the given email address is acceptable for defining a new user; requires 'email' parameter"
echo " valpass: Validates that a password is acceptable for defining a new user"
echo ""
echo " Note that the password can be piped into stdin to avoid prompting for it."
exit 1
fi
operation=$1
email=$2
kratosUrl=${KRATOS_URL:-http://127.0.0.1:4434}
databasePath=${KRATOS_DB_PATH:-/opt/so/conf/kratos/db/db.sqlite}
argon2Iterations=${ARGON2_ITERATIONS:-3}
argon2Memory=${ARGON2_MEMORY:-14}
argon2Parallelism=${ARGON2_PARALLELISM:-2}
argon2HashSize=${ARGON2_HASH_SIZE:-32}
function fail() {
msg=$1
echo "$1"
exit 1
}
function require() {
cmd=$1
which "$1" 2>&1 > /dev/null
[[ $? != 0 ]] && fail "This script requires the following command be installed: ${cmd}"
}
# Verify this environment is capable of running this script
function verifyEnvironment() {
require "argon2"
require "jq"
require "curl"
require "openssl"
require "sqlite3"
[[ ! -f $databasePath ]] && fail "Unable to find database file; specify path via KRATOS_DB_PATH environment variable"
response=$(curl -Ss ${kratosUrl}/)
[[ "$response" != "404 page not found" ]] && fail "Unable to communicate with Kratos; specify URL via KRATOS_URL environment variable"
}
function findIdByEmail() {
email=$1
response=$(curl -Ss ${kratosUrl}/identities)
identityId=$(echo "${response}" | jq ".[] | select(.addresses[0].value == \"$email\") | .id")
echo $identityId
}
function validatePassword() {
password=$1
len=$(expr length "$password")
if [[ $len -lt 6 ]]; then
echo "Password does not meet the minimum requirements"
exit 2
fi
}
function validateEmail() {
email=$1
# (?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9]))\.){3}(?:(2(5[0-5]|[0-4][0-9])|1[0-9][0-9]|[1-9]?[0-9])|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])
if [[ ! "$email" =~ ^[[:alnum:]._%+-]+@[[:alnum:].-]+\.[[:alpha:]]{2,}$ ]]; then
echo "Email address is invalid"
exit 3
fi
}
function updatePassword() {
identityId=$1
# Read password from stdin (show prompt only if no stdin was piped in)
test -t 0
if [[ $? == 0 ]]; then
echo "Enter new password:"
fi
read -s password
validatePassword "$password"
if [[ -n $identityId ]]; then
# Generate password hash
salt=$(openssl rand -hex 8)
passwordHash=$(echo "${password}" | argon2 ${salt} -id -t $argon2Iterations -m $argon2Memory -p $argon2Parallelism -l $argon2HashSize -e)
# Update DB with new hash
echo "update identity_credentials set config=CAST('{\"hashed_password\":\"${passwordHash}\"}' as BLOB) where identity_id=${identityId};" | sqlite3 "$databasePath"
[[ $? != 0 ]] && fail "Unable to update password"
fi
}
function listUsers() {
response=$(curl -Ss ${kratosUrl}/identities)
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
echo "${response}" | jq -r ".[] | .addresses[0].value" | sort
}
function createUser() {
email=$1
now=$(date -u +%FT%TZ)
addUserJson=$(cat <<EOF
{
"addresses": [
{
"expires_at": "2099-01-31T12:00:00Z",
"value": "${email}",
"verified": true,
"verified_at": "${now}",
"via": "so-add-user"
}
],
"traits": {"email":"${email}"},
"traits_schema_id": "default"
}
EOF
)
response=$(curl -Ss ${kratosUrl}/identities -d "$addUserJson")
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
identityId=$(echo "${response}" | jq ".id")
if [[ ${identityId} == "null" ]]; then
code=$(echo "${response}" | jq ".error.code")
[[ "${code}" == "409" ]] && fail "User already exists"
reason=$(echo "${response}" | jq ".error.message")
[[ $? == 0 ]] && fail "Unable to add user: ${reason}"
fi
updatePassword $identityId
}
function updateUser() {
email=$1
identityId=$(findIdByEmail "$email")
[[ ${identityId} == "" ]] && fail "User not found"
updatePassword $identityId
}
function deleteUser() {
email=$1
identityId=$(findIdByEmail "$email")
[[ ${identityId} == "" ]] && fail "User not found"
response=$(curl -Ss -XDELETE "${kratosUrl}/identities/$identityId")
[[ $? != 0 ]] && fail "Unable to communicate with Kratos"
}
case "${operation}" in
"add")
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
validateEmail "$email"
createUser "$email"
echo "Successfully added new user"
;;
"list")
verifyEnvironment
listUsers
;;
"update")
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
updateUser "$email"
echo "Successfully updated user"
;;
"delete")
verifyEnvironment
[[ "$email" == "" ]] && fail "Email address must be provided"
deleteUser "$email"
echo "Successfully deleted user"
;;
"validate")
validateEmail "$email"
updatePassword
echo "Email and password are acceptable"
;;
"valemail")
validateEmail "$email"
echo "Email is acceptable"
;;
"valpass")
updatePassword
echo "Password is acceptable"
;;
*)
fail "Unsupported operation: $operation"
;;
esac
exit 0

View File

@@ -1,17 +1,2 @@
#!/bin/bash
USERNAME=$1
# Make sure a username is provided
[ $# -eq 0 ] && { echo "Usage: $0 username"; exit 1; }
# If the file is there already lets create it otherwise add the user
if [ ! -f /opt/so/conf/nginx/.htpasswd ]; then
# Create the password file
htpasswd -c /opt/so/conf/nginx/.htpasswd $USERNAME
else
htpasswd /opt/so/conf/nginx/.htpasswd $USERNAME
fi
so-user add $*

View File

@@ -0,0 +1,37 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
clone_to_tmp() {
# TODO Need to add a air gap option
# Make a temp location for the files
rm -rf /tmp/soup
mkdir -p /tmp/soup
cd /tmp/soup
#git clone -b dev https://github.com/Security-Onion-Solutions/securityonion-saltstack.git
git clone https://github.com/Security-Onion-Solutions/securityonion-saltstack.git
}
# Prompt the user that this requires internets
clone_to_tmp
cd /tmp/soup/securityonion-saltstack/update
chmod +x soup
./soup

View File

@@ -34,8 +34,6 @@
#fi
# Avoid starting multiple instances
if pgrep -f "so-curator-closed-delete-delete" >/dev/null; then
echo "Script is already running."
else
if ! pgrep -f "so-curator-closed-delete-delete" >/dev/null; then
/usr/sbin/so-curator-closed-delete-delete
fi

View File

@@ -1,4 +1,4 @@
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.1.4') %}
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.1') %}
{% set MASTER = salt['grains.get']('master') %}
{% if grains['role'] == 'so-node' or grains['role'] == 'so-eval' %}
# Curator
@@ -87,8 +87,9 @@ curdel:
- group: 939
- mode: 755
/usr/sbin/so-curator-closed-delete:
so-curatorcloseddeletecron:
cron.present:
- name: /usr/sbin/so-curator-closed-delete
- user: root
- minute: '*'
- hour: '*'
@@ -96,8 +97,9 @@ curdel:
- month: '*'
- dayweek: '*'
/usr/sbin/so-curator-close:
so-curatorclosecron:
cron.present:
- name: /usr/sbin/so-curator-close
- user: root
- minute: '*'
- hour: '*'
@@ -105,8 +107,9 @@ curdel:
- month: '*'
- dayweek: '*'
/usr/sbin/so-curator-delete:
so-curatordeletecron:
cron.present:
- name: /usr/sbin/so-curator-delete
- user: root
- minute: '*'
- hour: '*'

View File

@@ -0,0 +1,23 @@
# -*- coding: utf-8 -*-
from datetime import date
import requests,json
from elastalert.alerts import Alerter
class PlaybookESAlerter(Alerter):
"""
Use matched data to create alerts in elasticsearch
"""
required_options = set(['play_title','play_url','sigma_level','elasticsearch_host'])
def alert(self, matches):
for match in matches:
headers = {"Content-Type": "application/json"}
payload = {"play_title": self.rule['play_title'],"play_url": self.rule['play_url'],"sigma_level": self.rule['sigma_level'],"data": match}
today = str(date.today())
url = f"http://{self.rule['elasticsearch_host']}/playbook-alerts-{today}/_doc/"
requests.post(url, data=json.dumps(payload), headers=headers, verify=False)
def get_info(self):
return {'type': 'PlaybookESAlerter'}

View File

@@ -8,21 +8,20 @@ es_host: {{es}}
es_port: 9200
name: NIDS-Alert
type: frequency
index: "*:logstash-ids*"
index: "so-ids-*"
num_events: 1
timeframe:
minutes: 10
buffer_time:
minutes: 10
allow_buffer_time_overlap: true
query_key: ["alert", "ips"]
query_key: ["rule.signature_id"]
realert:
days: 1
filter:
- query:
query_string:
query: "event_type: ids AND NOT tags: _jsonparsefailure"
query: "event.module: suricata"
alert: modules.so.thehive.TheHiveAlerter
@@ -35,16 +34,16 @@ hive_proxies:
https: ''
hive_alert_config:
title: '{match[alert]}'
title: '{match[rule][name]}'
type: 'NIDS'
source: 'SecurityOnion'
description: "`NIDS Dashboard:` \n\n <https://{{es}}/kibana/app/kibana#/dashboard/ed6f7e20-e060-11e9-8f0c-2ddbf5ed9290?_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-24h,mode:quick,to:now))&_a=(columns:!(_source),index:'*:logstash-*',interval:auto,query:(query_string:(analyze_wildcard:!t,query:'sid:{match[sid]}')),sort:!('@timestamp',desc))> \n\n `IPs: `{match[source_ip]}:{match[source_port]} --> {match[destination_ip]}:{match[destination_port]} \n\n `Signature:` {match[rule_signature]}"
description: "`NIDS Dashboard:` \n\n <https://{{es}}/kibana/app/kibana#/dashboard/ed6f7e20-e060-11e9-8f0c-2ddbf5ed9290?_g=(refreshInterval:(display:Off,pause:!f,value:0),time:(from:now-24h,mode:quick,to:now))&_a=(columns:!(_source),index:'*:logstash-*',interval:auto,query:(query_string:(analyze_wildcard:!t,query:'sid:')),sort:!('@timestamp',desc))> \n\n `IPs: `{match[source][ip]}:{match[source][port]} --> {match[destination][ip]}:{match[destination][port]} \n\n `Signature:`{match[rule][rule]}"
severity: 2
tags: ['{match[sid]}','{match[source_ip]}','{match[destination_ip]}']
tags: ['{match[rule][signature_id]}','{match[source][ip]}','{match[destination][ip]}']
tlp: 3
status: 'New'
follow: True
hive_observable_data_mapping:
- ip: '{match[source_ip]}'
- ip: '{match[destination_ip]}'
- ip: '{match[source][ip]}'
- ip: '{match[destination][ip]}'

View File

@@ -12,7 +12,7 @@
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.1.4') %}
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.1') %}
{% set MASTER = salt['grains.get']('master') %}
{% if grains['role'] == 'so-master' %}

View File

@@ -1,9 +0,0 @@
{
"description" : "bro_common",
"processors" : [
{ "rename": { "field": "@timestamp", "target_field": "timestamp", "ignore_missing": true } },
{ "date": { "field": "message2.ts", "target_field": "@timestamp", "formats": ["ISO8601", "UNIX"], "ignore_failure": true } },
{ "remove": { "field": "message2.ts", "ignore_failure": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -1,48 +0,0 @@
{
"description" : "bro_conn",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.proto", "target_field": "protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.service", "target_field": "service", "ignore_missing": true } },
{ "rename": { "field": "message2.duration", "target_field": "duration", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_bytes", "target_field": "original_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_bytes", "target_field": "respond_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.conn_state", "target_field": "connection_state", "ignore_missing": true } },
{ "rename": { "field": "message2.local_orig", "target_field": "local_orig", "ignore_missing": true } },
{ "rename": { "field": "message2.local_resp", "target_field": "local_respond", "ignore_missing": true } },
{ "rename": { "field": "message2.missed_bytes", "target_field": "missed_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.history", "target_field": "history", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_pkts", "target_field": "original_packets", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_ip_bytes", "target_field": "original_ip_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_pkts", "target_field": "respond_packets", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_ip_bytes", "target_field": "respond_ip_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.tunnel_parents", "target_field": "tunnel_parents", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_cc", "target_field": "original_country_code","ignore_missing": true } },
{ "rename": { "field": "message2.resp_cc", "target_field": "respond_country_code", "ignore_missing": true } },
{ "rename": { "field": "message2.sensorname", "target_field": "sensor_name", "ignore_missing": true } },
{ "script": { "lang": "painless", "source": "ctx.total_bytes = (ctx.original_bytes + ctx.respond_bytes)", "ignore_failure": true } },
{ "set": { "if": "ctx.connection_state == 'S0'", "field": "connection_state_description", "value": "Connection attempt seen, no reply" } },
{ "set": { "if": "ctx.connection_state == 'S1'", "field": "connection_state_description", "value": "Connection established, not terminated" } },
{ "set": { "if": "ctx.connection_state == 'S2'", "field": "connection_state_description", "value": "Connection established and close attempt by originator seen (but no reply from responder)" } },
{ "set": { "if": "ctx.connection_state == 'S3'", "field": "connection_state_description", "value": "Connection established and close attempt by responder seen (but no reply from originator)" } },
{ "set": { "if": "ctx.connection_state == 'SF'", "field": "connection_state_description", "value": "Normal SYN/FIN completion" } },
{ "set": { "if": "ctx.connection_state == 'REJ'", "field": "connection_state_description", "value": "Connection attempt rejected" } },
{ "set": { "if": "ctx.connection_state == 'RSTO'", "field": "connection_state_description", "value": "Connection established, originator aborted (sent a RST)" } },
{ "set": { "if": "ctx.connection_state == 'RSTR'", "field": "connection_state_description", "value": "Established, responder aborted" } },
{ "set": { "if": "ctx.connection_state == 'RSTOS0'","field": "connection_state_description", "value": "Originator sent a SYN followed by a RST, we never saw a SYN-ACK from the responder" } },
{ "set": { "if": "ctx.connection_state == 'RSTRH'", "field": "connection_state_description", "value": "Responder sent a SYN ACK followed by a RST, we never saw a SYN from the (purported) originator" } },
{ "set": { "if": "ctx.connection_state == 'SH'", "field": "connection_state_description", "value": "Originator sent a SYN followed by a FIN, we never saw a SYN ACK from the responder (hence the connection was 'half' open)" } },
{ "set": { "if": "ctx.connection_state == 'SHR'", "field": "connection_state_description", "value": "Responder sent a SYN ACK followed by a FIN, we never saw a SYN from the originator" } },
{ "set": { "if": "ctx.connection_state == 'OTH'", "field": "connection_state_description", "value": "No SYN seen, just midstream traffic (a 'partial connection' that was not later closed)" } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,20 +0,0 @@
{
"description" : "bro_dce_rpc",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.rtt", "target_field": "rtt", "ignore_missing": true } },
{ "rename": { "field": "message2.named_pipe", "target_field": "named_pipe", "ignore_missing": true } },
{ "rename": { "field": "message2.endpoint", "target_field": "endpoint", "ignore_missing": true } },
{ "rename": { "field": "message2.operation", "target_field": "operation", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,19 +0,0 @@
{
"description" : "bro_dnp3",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.fc_request", "target_field": "fc_request", "ignore_missing": true } },
{ "rename": { "field": "message2.fc_reply", "target_field": "fc_reply", "ignore_missing": true } },
{ "rename": { "field": "message2.iin", "target_field": "iin", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,35 +0,0 @@
{
"description" : "bro_dns",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.proto", "target_field": "protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.trans_id", "target_field": "transaction_id", "ignore_missing": true } },
{ "rename": { "field": "message2.rtt", "target_field": "rtt", "ignore_missing": true } },
{ "rename": { "field": "message2.query", "target_field": "query", "ignore_missing": true } },
{ "rename": { "field": "message2.qclass", "target_field": "query_class", "ignore_missing": true } },
{ "rename": { "field": "message2.qclass_name", "target_field": "query_class_name", "ignore_missing": true } },
{ "rename": { "field": "message2.qtype", "target_field": "query_type", "ignore_missing": true } },
{ "rename": { "field": "message2.qtype_name", "target_field": "query_type_name", "ignore_missing": true } },
{ "rename": { "field": "message2.rcode", "target_field": "rcode", "ignore_missing": true } },
{ "rename": { "field": "message2.rcode_name", "target_field": "rcode_name", "ignore_missing": true } },
{ "rename": { "field": "message2.AA", "target_field": "aa", "ignore_missing": true } },
{ "rename": { "field": "message2.TC", "target_field": "tc", "ignore_missing": true } },
{ "rename": { "field": "message2.RD", "target_field": "rd", "ignore_missing": true } },
{ "rename": { "field": "message2.RA", "target_field": "ra", "ignore_missing": true } },
{ "rename": { "field": "message2.Z", "target_field": "z", "ignore_missing": true } },
{ "rename": { "field": "message2.answers", "target_field": "answers", "ignore_missing": true } },
{ "rename": { "field": "message2.TTLs", "target_field": "ttls", "ignore_missing": true } },
{ "rename": { "field": "message2.rejected", "target_field": "rejected", "ignore_missing": true } },
{ "script": { "lang": "painless", "source": "ctx.query_length = ctx.query.length()", "ignore_failure": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,32 +0,0 @@
{
"description" : "bro_files",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.fuid", "target_field": "fuid", "ignore_missing": true } },
{ "rename": { "field": "message2.tx_hosts", "target_field": "file_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.rx_hosts.0", "target_field": "destination_ip", "ignore_missing": true } },
{ "remove": { "field": "message2.rx_hosts", "ignore_missing": true } },
{ "rename": { "field": "message2.conn_uids", "target_field": "uid", "ignore_missing": true } },
{ "remove": { "field": "source", "ignore_missing": true } },
{ "rename": { "field": "message2.source", "target_field": "source", "ignore_missing": true } },
{ "rename": { "field": "message2.depth", "target_field": "depth", "ignore_missing": true } },
{ "rename": { "field": "message2.analyzers", "target_field": "analyzer", "ignore_missing": true } },
{ "rename": { "field": "message2.mime_type", "target_field": "mimetype", "ignore_missing": true } },
{ "rename": { "field": "message2.filename", "target_field": "file_name", "ignore_missing": true } },
{ "rename": { "field": "message2.duration", "target_field": "duration", "ignore_missing": true } },
{ "rename": { "field": "message2.local_orig", "target_field": "local_orig", "ignore_missing": true } },
{ "rename": { "field": "message2.is_orig", "target_field": "is_orig", "ignore_missing": true } },
{ "rename": { "field": "message2.seen_bytes", "target_field": "seen_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.total_bytes", "target_field": "total_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.missing_bytes", "target_field": "missing_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.overflow_bytes", "target_field": "overflow_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.timedout", "target_field": "timed_out", "ignore_missing": true } },
{ "rename": { "field": "message2.parent_fuid", "target_field": "parent_fuid", "ignore_missing": true } },
{ "rename": { "field": "message2.md5", "target_field": "md5", "ignore_missing": true } },
{ "rename": { "field": "message2.sha1", "target_field": "sha1", "ignore_missing": true } },
{ "rename": { "field": "message2.extracted", "target_field": "extracted", "ignore_missing": true } },
{ "rename": { "field": "message2.extracted_cutoff", "target_field": "extracted_cutoff", "ignore_missing": true } },
{ "rename": { "field": "message2.extracted_size", "target_field": "extracted_size", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,33 +0,0 @@
{
"description" : "bro_http",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.user", "target_field": "username", "ignore_missing": true } },
{ "rename": { "field": "message2.password", "target_field": "password", "ignore_missing": true } },
{ "rename": { "field": "message2.command", "target_field": "ftp_command", "ignore_missing": true } },
{ "rename": { "field": "message2.arg", "target_field": "ftp_argument", "ignore_missing": true } },
{ "rename": { "field": "message2.mime_type", "target_field": "mimetype", "ignore_missing": true } },
{ "rename": { "field": "message2.file_size", "target_field": "file_size", "ignore_missing": true } },
{ "rename": { "field": "message2.reply_code", "target_field": "reply_code", "ignore_missing": true } },
{ "rename": { "field": "message2.reply_msg", "target_field": "reply_message", "ignore_missing": true } },
{ "dot_expander": { "field": "data_channel.passive", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.data_channel.passive","target_field": "data_channel_passive", "ignore_missing": true } },
{ "dot_expander": { "field": "data_channel.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.data_channel.orig_h","target_field": "data_channel_source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "data_channel.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.data_channel.resp_h","target_field": "data_channel_destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "data_channel.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.data_channel.resp_p","target_field": "data_channel_destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.fuid", "target_field": "fuid", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,42 +0,0 @@
{
"description" : "bro_http",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.trans_depth", "target_field": "trans_depth", "ignore_missing": true } },
{ "rename": { "field": "message2.method", "target_field": "method", "ignore_missing": true } },
{ "rename": { "field": "message2.host", "target_field": "virtual_host", "ignore_missing": true } },
{ "rename": { "field": "message2.uri", "target_field": "uri", "ignore_missing": true } },
{ "rename": { "field": "message2.referrer", "target_field": "referrer", "ignore_missing": true } },
{ "rename": { "field": "message2.version", "target_field": "version", "ignore_missing": true } },
{ "rename": { "field": "message2.user_agent", "target_field": "useragent", "ignore_missing": true } },
{ "rename": { "field": "message2.request_body_len", "target_field": "request_body_length", "ignore_missing": true } },
{ "rename": { "field": "message2.response_body_len","target_field": "response_body_length", "ignore_missing": true } },
{ "rename": { "field": "message2.status_code", "target_field": "status_code", "ignore_missing": true } },
{ "rename": { "field": "message2.status_msg", "target_field": "status_message", "ignore_missing": true } },
{ "rename": { "field": "message2.info_code", "target_field": "info_code", "ignore_missing": true } },
{ "rename": { "field": "message2.info_msg", "target_field": "info_message", "ignore_missing": true } },
{ "remove": { "field": "message2.tags", "ignore_failure": true } },
{ "rename": { "field": "message2.username", "target_field": "user", "ignore_missing": true } },
{ "rename": { "field": "message2.password", "target_field": "password", "ignore_missing": true } },
{ "rename": { "field": "message2.proxied", "target_field": "proxied", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_fuids", "target_field": "orig_fuids", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_filenames", "target_field": "orig_filenames", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_mime_types", "target_field": "orig_mime_types", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_fuids", "target_field": "resp_fuids", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_filenames", "target_field": "resp_filenames", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_mime_types", "target_field": "resp_mime_types", "ignore_missing": true } },
{ "script": { "lang": "painless", "source": "ctx.uri_length = ctx.uri.length()", "ignore_failure": true } },
{ "script": { "lang": "painless", "source": "ctx.useragent_length = ctx.useragent.length()", "ignore_failure": true } },
{ "script": { "lang": "painless", "source": "ctx.virtual_host_length = ctx.virtual_host.length()", "ignore_failure": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,29 +0,0 @@
{
"description" : "bro_intel",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "dot_expander": { "field": "seen.indicator", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.seen.indicator", "target_field": "indicator", "ignore_missing": true } },
{ "dot_expander": { "field": "seen.indicator_type", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.seen.indicator_type", "target_field": "indicator_type", "ignore_missing": true } },
{ "dot_expander": { "field": "seen.where", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.seen.where", "target_field": "seen_where", "ignore_missing": true } },
{ "dot_expander": { "field": "seen.node", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.seen.node", "target_field": "seen_node", "ignore_missing": true } },
{ "rename": { "field": "message2.matched", "target_field": "matched", "ignore_missing": true } },
{ "rename": { "field": "message2.sources", "target_field": "sources", "ignore_missing": true } },
{ "rename": { "field": "message2.fuid", "target_field": "fuid", "ignore_missing": true } },
{ "rename": { "field": "message2.file_mime_type", "target_field": "mimetype", "ignore_missing": true } },
{ "rename": { "field": "message2.file_desc", "target_field": "file_description", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,25 +0,0 @@
{
"description" : "bro_irc",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.nick", "target_field": "nick", "ignore_missing": true } },
{ "rename": { "field": "message2.user", "target_field": "irc_username", "ignore_missing": true } },
{ "rename": { "field": "message2.command", "target_field": "irc_command", "ignore_missing": true } },
{ "rename": { "field": "message2.value", "target_field": "value", "ignore_missing": true } },
{ "rename": { "field": "message2.addl", "target_field": "additional_info", "ignore_missing": true } },
{ "rename": { "field": "message2.dcc_file_name", "target_field": "dcc_file_name", "ignore_missing": true } },
{ "rename": { "field": "message2.dcc_file_size", "target_field": "dcc_file_size", "ignore_missing": true } },
{ "rename": { "field": "message2.dcc_mime_type", "target_field": "dcc_mime_type", "ignore_missing": true } },
{ "rename": { "field": "message2.fuid", "target_field": "fuid", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,30 +0,0 @@
{
"description" : "bro_kerberos",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.request_type", "target_field": "request_type", "ignore_missing": true } },
{ "rename": { "field": "message2.client", "target_field": "client", "ignore_missing": true } },
{ "rename": { "field": "message2.service", "target_field": "service", "ignore_missing": true } },
{ "rename": { "field": "message2.success", "target_field": "kerberos_success", "ignore_missing": true } },
{ "rename": { "field": "message2.error_msg", "target_field": "error_message", "ignore_missing": true } },
{ "rename": { "field": "message2.from", "target_field": "valid_from", "ignore_missing": true } },
{ "rename": { "field": "message2.till", "target_field": "valid_till", "ignore_missing": true } },
{ "rename": { "field": "message2.cipher", "target_field": "cipher", "ignore_missing": true } },
{ "rename": { "field": "message2.forwardable", "target_field": "forwardable", "ignore_missing": true } },
{ "rename": { "field": "message2.renewable", "target_field": "renewable", "ignore_missing": true } },
{ "rename": { "field": "message2.client_cert_subject", "target_field": "client_certificate_subject", "ignore_missing": true } },
{ "rename": { "field": "message2.client_cert_fuid", "target_field": "client_certificate_fuid", "ignore_missing": true } },
{ "rename": { "field": "message2.server_cert_subject", "target_field": "server_certificate_subject", "ignore_missing": true } },
{ "rename": { "field": "message2.server_cert_fuid", "target_field": "server_certificate_fuid", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,18 +0,0 @@
{
"description" : "bro_modbus",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.func", "target_field": "function", "ignore_missing": true } },
{ "rename": { "field": "message2.exception", "target_field": "exception", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,21 +0,0 @@
{
"description" : "bro_mysql",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.cmd", "target_field": "mysql_command", "ignore_missing": true } },
{ "rename": { "field": "message2.arg", "target_field": "mysql_argument", "ignore_missing": true } },
{ "rename": { "field": "message2.success", "target_field": "mysql_success", "ignore_missing": true } },
{ "rename": { "field": "message2.rows", "target_field": "rows", "ignore_missing": true } },
{ "rename": { "field": "message2.response", "target_field": "response", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,36 +0,0 @@
{
"description" : "bro_notice",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "remove": { "field": "message2.dst", "ignore_failure": true } },
{ "remove": { "field": "message2.src", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.fuid", "target_field": "fuid", "ignore_missing": true } },
{ "rename": { "field": "message2.mime", "target_field": "file_mime_type", "ignore_missing": true } },
{ "rename": { "field": "message2.desc", "target_field": "file_description", "ignore_missing": true } },
{ "rename": { "field": "message2.proto", "target_field": "protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.note", "target_field": "note", "ignore_missing": true } },
{ "rename": { "field": "message2.msg", "target_field": "msg", "ignore_missing": true } },
{ "rename": { "field": "message2.sub", "target_field": "sub_msg", "ignore_missing": true } },
{ "rename": { "field": "message2.p", "target_field": "p", "ignore_missing": true } },
{ "rename": { "field": "message2.n", "target_field": "n", "ignore_missing": true } },
{ "rename": { "field": "message2.peer_descr", "target_field": "peer_description", "ignore_missing": true } },
{ "rename": { "field": "message2.actions", "target_field": "action", "ignore_missing": true } },
{ "rename": { "field": "message2.suppress_for", "target_field": "suppress_for", "ignore_missing": true } },
{ "rename": { "field": "message2.dropped", "target_field": "dropped", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_country_code", "target_field": "destination_country_code", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_region", "target_field": "destination_region", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_city", "target_field": "destination_city", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_latitude", "target_field": "destination_latitude", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_longitude", "target_field": "destination_longitude", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,24 +0,0 @@
{
"description" : "bro_ntlm",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.hostname", "target_field": "hostname", "ignore_missing": true } },
{ "rename": { "field": "message2.domainname", "target_field": "domain_name", "ignore_missing": true } },
{ "rename": { "field": "message2.success", "target_field": "ntlm_success", "ignore_missing": true } },
{ "rename": { "field": "message2.status", "target_field": "status", "ignore_missing": true } },
{ "rename": { "field": "message2.username", "target_field": "username", "ignore_missing": true } },
{ "rename": { "field": "message2.server_dns_computer_name", "target_field": "server_dns_computer_name", "ignore_missing": true } },
{ "rename": { "field": "message2.server_nb_computer_name", "target_field": "server_nb_computer_name", "ignore_missing": true } },
{ "rename": { "field": "message2.server_tree_name", "target_field": "server_tree_name", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,23 +0,0 @@
{
"description" : "bro_pe",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id", "target_field": "fuid", "ignore_missing": true } },
{ "rename": { "field": "message2.machine", "target_field": "machine", "ignore_missing": true } },
{ "rename": { "field": "message2.compile_ts", "target_field": "compile_ts", "ignore_missing": true } },
{ "rename": { "field": "message2.os", "target_field": "os", "ignore_missing": true } },
{ "rename": { "field": "message2.subsystem", "target_field": "subsystem", "ignore_missing": true } },
{ "rename": { "field": "message2.is_exe", "target_field": "is_exe", "ignore_missing": true } },
{ "rename": { "field": "message2.is_64bit", "target_field": "is_64bit", "ignore_missing": true } },
{ "rename": { "field": "message2.uses_aslr", "target_field": "uses_aslr", "ignore_missing": true } },
{ "rename": { "field": "message2.uses_dep", "target_field": "uses_dep", "ignore_missing": true } },
{ "rename": { "field": "message2.uses_code_integrity","target_field": "uses_code_integrity","ignore_missing": true } },
{ "rename": { "field": "message2.uses_seh", "target_field": "uses_seh", "ignore_missing": true } },
{ "rename": { "field": "message2.has_import_table", "target_field": "has_import_table", "ignore_missing": true } },
{ "rename": { "field": "message2.has_export_table", "target_field": "has_export_table", "ignore_missing": true } },
{ "rename": { "field": "message2.has_cert_table", "target_field": "has_cert_table", "ignore_missing": true } },
{ "rename": { "field": "message2.has_debug_data", "target_field": "has_debug_data", "ignore_missing": true } },
{ "rename": { "field": "message2.section_names", "target_field": "section_names", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,25 +0,0 @@
{
"description" : "bro_radius",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.username", "target_field": "username", "ignore_missing": true } },
{ "rename": { "field": "message2.mac", "target_field": "mac", "ignore_missing": true } },
{ "rename": { "field": "message2.framed_addr", "target_field": "framed_addr", "ignore_missing": true } },
{ "rename": { "field": "message2.remote_ip", "target_field": "remote_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.connect_info", "target_field": "connect_info", "ignore_missing": true } },
{ "rename": { "field": "message2.reply_msg", "target_field": "reply_message", "ignore_missing": true } },
{ "rename": { "field": "message2.result", "target_field": "result", "ignore_missing": true } },
{ "remove": { "field": "message2.ttl", "ignore_failure": true } },
{ "rename": { "field": "message2.logged", "target_field": "logged", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,31 +0,0 @@
{
"description" : "bro_rdp",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.cookie", "target_field": "cookie", "ignore_missing": true } },
{ "rename": { "field": "message2.result", "target_field": "result", "ignore_missing": true } },
{ "rename": { "field": "message2.security_protocol","target_field": "security_protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.keyboard_layout", "target_field": "keyboard_layout", "ignore_missing": true } },
{ "rename": { "field": "message2.client_build", "target_field": "client_build", "ignore_missing": true } },
{ "rename": { "field": "message2.client_name", "target_field": "client_name", "ignore_missing": true } },
{ "rename": { "field": "message2.client_dig_product_id", "target_field": "client_digital_product_id", "ignore_missing": true } },
{ "rename": { "field": "message2.desktop_width", "target_field": "desktop_width", "ignore_missing": true } },
{ "rename": { "field": "message2.desktop_height", "target_field": "desktop_height", "ignore_missing": true } },
{ "rename": { "field": "message2.requested_color_depth", "target_field": "requested_color_depth", "ignore_missing": true } },
{ "rename": { "field": "message2.cert_type", "target_field": "certificate_type", "ignore_missing": true } },
{ "rename": { "field": "message2.cert_count", "target_field": "certificate_count", "ignore_missing": true } },
{ "rename": { "field": "message2.cert_permanent", "target_field": "certificate_permanent","ignore_missing": true } },
{ "rename": { "field": "message2.encryption_level", "target_field": "encryption_level", "ignore_missing": true } },
{ "rename": { "field": "message2.encryption_method","target_field": "encryption_method", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,26 +0,0 @@
{
"description" : "bro_rfb",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.client_major_version", "target_field": "client_major_version", "ignore_missing": true } },
{ "rename": { "field": "message2.client_minor_version", "target_field": "client_minor_version", "ignore_missing": true } },
{ "rename": { "field": "message2.server_major_version", "target_field": "server_major_version", "ignore_missing": true } },
{ "rename": { "field": "message2.server_minor_version", "target_field": "server_minor_version", "ignore_missing": true } },
{ "rename": { "field": "message2.authentication_method", "target_field": "authentication_method","ignore_missing": true } },
{ "rename": { "field": "message2.auth", "target_field": "auth", "ignore_missing": true } },
{ "rename": { "field": "message2.share_flag", "target_field": "share_flag", "ignore_missing": true } },
{ "rename": { "field": "message2.desktop_name", "target_field": "desktop_name", "ignore_missing": true } },
{ "rename": { "field": "message2.width", "target_field": "width", "ignore_missing": true } },
{ "rename": { "field": "message2.height", "target_field": "height", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,22 +0,0 @@
{
"description" : "bro_signatures",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.note", "target_field": "note", "ignore_missing": true } },
{ "rename": { "field": "message2.sig_id", "target_field": "signature_id", "ignore_missing": true } },
{ "rename": { "field": "message2.event_msg", "target_field": "event_message", "ignore_missing": true } },
{ "rename": { "field": "message2.sub_msg", "target_field": "sub_message", "ignore_missing": true } },
{ "rename": { "field": "message2.sig_count", "target_field": "signature_count", "ignore_missing": true } },
{ "rename": { "field": "message2.host_count", "target_field": "host_count", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,37 +0,0 @@
{
"description" : "bro_sip",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.trans_depth", "target_field": "trans_depth", "ignore_missing": true } },
{ "rename": { "field": "message2.method", "target_field": "method", "ignore_missing": true } },
{ "rename": { "field": "message2.uri", "target_field": "uri", "ignore_missing": true } },
{ "rename": { "field": "message2.date", "target_field": "date", "ignore_missing": true } },
{ "rename": { "field": "message2.request_from", "target_field": "request_from", "ignore_missing": true } },
{ "rename": { "field": "message2.request_to", "target_field": "request_to", "ignore_missing": true } },
{ "rename": { "field": "message2.response_from", "target_field": "response_from", "ignore_missing": true } },
{ "rename": { "field": "message2.response_to", "target_field": "response_to", "ignore_missing": true } },
{ "rename": { "field": "message2.reply_to", "target_field": "reply_to", "ignore_missing": true } },
{ "rename": { "field": "message2.call_id", "target_field": "call_id", "ignore_missing": true } },
{ "rename": { "field": "message2.seq", "target_field": "seq", "ignore_missing": true } },
{ "rename": { "field": "message2.subject", "target_field": "subject", "ignore_missing": true } },
{ "rename": { "field": "message2.request_path", "target_field": "request_path", "ignore_missing": true } },
{ "rename": { "field": "message2.response_path", "target_field": "response_path", "ignore_missing": true } },
{ "rename": { "field": "message2.user_agent", "target_field": "user_agent", "ignore_missing": true } },
{ "rename": { "field": "message2.status_code", "target_field": "status_code", "ignore_missing": true } },
{ "rename": { "field": "message2.status_msg", "target_field": "status_msg", "ignore_missing": true } },
{ "rename": { "field": "message2.warning", "target_field": "warning", "ignore_missing": true } },
{ "rename": { "field": "message2.request_body_len", "target_field": "request_body_length", "ignore_missing": true } },
{ "rename": { "field": "message2.response_body_len","target_field": "response_body_length", "ignore_missing": true } },
{ "rename": { "field": "message2.content_type", "target_field": "content_type", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,31 +0,0 @@
{
"description" : "bro_smb_files",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.fuid", "target_field": "fuid", "ignore_missing": true } },
{ "rename": { "field": "message2.action", "target_field": "action", "ignore_missing": true } },
{ "remove": { "field": "path", "ignore_failure": true } },
{ "rename": { "field": "message2.path", "target_field": "path", "ignore_missing": true } },
{ "rename": { "field": "message2.name", "target_field": "name", "ignore_missing": true } },
{ "rename": { "field": "message2.size", "target_field": "size", "ignore_missing": true } },
{ "rename": { "field": "message2.prev_name", "target_field": "prev_name", "ignore_missing": true } },
{ "dot_expander": { "field": "times.modified", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.times.modified", "target_field": "times_modified", "ignore_missing": true } },
{ "dot_expander": { "field": "times.accessed", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.times.accessed", "target_field": "times_accessed", "ignore_missing": true } },
{ "dot_expander": { "field": "times.created", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.times.created", "target_field": "times_created", "ignore_missing": true } },
{ "dot_expander": { "field": "times.changed", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.times.changed", "target_field": "times_changed", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,21 +0,0 @@
{
"description" : "bro_smb_files",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "remove": { "field": "path", "ignore_failure": true } },
{ "rename": { "field": "message2.path", "target_field": "path", "ignore_missing": true } },
{ "rename": { "field": "message2.service", "target_field": "service", "ignore_missing": true } },
{ "rename": { "field": "message2.native_file_system", "target_field": "native_file_system", "ignore_missing": true } },
{ "rename": { "field": "message2.share_type", "target_field": "share_type", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,38 +0,0 @@
{
"description" : "bro_smtp",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "remove": { "field": "path", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.trans_depth", "target_field": "trans_depth", "ignore_missing": true } },
{ "rename": { "field": "message2.helo", "target_field": "helo", "ignore_missing": true } },
{ "rename": { "field": "message2.mailfrom", "target_field": "mail_from", "ignore_missing": true } },
{ "rename": { "field": "message2.rcptto", "target_field": "recipient_to", "ignore_missing": true } },
{ "rename": { "field": "message2.date", "target_field": "mail_date", "ignore_missing": true } },
{ "rename": { "field": "message2.from", "target_field": "from", "ignore_missing": true } },
{ "rename": { "field": "message2.to", "target_field": "to", "ignore_missing": true } },
{ "rename": { "field": "message2.cc", "target_field": "cc", "ignore_missing": true } },
{ "rename": { "field": "message2.reply_to", "target_field": "reply_to", "ignore_missing": true } },
{ "rename": { "field": "message2.msg_id", "target_field": "message_id", "ignore_missing": true } },
{ "rename": { "field": "message2.in_reply_to", "target_field": "in_reply_to", "ignore_missing": true } },
{ "rename": { "field": "message2.subject", "target_field": "subject", "ignore_missing": true } },
{ "rename": { "field": "message2.x_originating_ip", "target_field": "x_originating_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.first_received", "target_field": "first_received", "ignore_missing": true } },
{ "rename": { "field": "message2.second_received", "target_field": "second_received", "ignore_missing": true } },
{ "rename": { "field": "message2.last_reply", "target_field": "last_reply", "ignore_missing": true } },
{ "rename": { "field": "message2.path", "target_field": "path", "ignore_missing": true } },
{ "rename": { "field": "message2.user_agent", "target_field": "useragent", "ignore_missing": true } },
{ "rename": { "field": "message2.tls", "target_field": "tls", "ignore_missing": true } },
{ "rename": { "field": "message2.fuids", "target_field": "fuids", "ignore_missing": true } },
{ "rename": { "field": "message2.is_webmail", "target_field": "is_webmail", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,25 +0,0 @@
{
"description" : "bro_snmp",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.duration", "target_field": "duration", "ignore_missing": true } },
{ "rename": { "field": "message2.version", "target_field": "version", "ignore_missing": true } },
{ "rename": { "field": "message2.community", "target_field": "community", "ignore_missing": true } },
{ "rename": { "field": "message2.get_requests", "target_field": "get_requests", "ignore_missing": true } },
{ "rename": { "field": "message2.get_bulk_requests","target_field": "get_bulk_requests", "ignore_missing": true } },
{ "rename": { "field": "message2.get_responses", "target_field": "get_responses", "ignore_missing": true } },
{ "rename": { "field": "message2.set_requests", "target_field": "set_requests", "ignore_missing": true } },
{ "rename": { "field": "message2.display_string", "target_field": "display_string", "ignore_missing": true } },
{ "rename": { "field": "message2.up_since", "target_field": "up_since", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,28 +0,0 @@
{
"description" : "bro_socks",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.version", "target_field": "version", "ignore_missing": true } },
{ "rename": { "field": "message2.user", "target_field": "user", "ignore_missing": true } },
{ "rename": { "field": "message2.password", "target_field": "password", "ignore_missing": true } },
{ "rename": { "field": "message2.status", "target_field": "status", "ignore_missing": true } },
{ "rename": { "field": "message2.request_host", "target_field": "request_host", "ignore_missing": true } },
{ "dot_expander": { "field": "request.name", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.request.name", "target_field": "request_name", "ignore_missing": true } },
{ "rename": { "field": "message2.request_p", "target_field": "request_port", "ignore_missing": true } },
{ "dot_expander": { "field": "bound.host", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.bound.host", "target_field": "bound_host", "ignore_missing": true } },
{ "rename": { "field": "message2.bound_name", "target_field": "bound_name", "ignore_missing": true } },
{ "rename": { "field": "message2.bound_p", "target_field": "bound_port", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,40 +0,0 @@
{
"description" : "bro_conn",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.version", "target_field": "version", "ignore_missing": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "rename": { "field": "message2.hassh", "target_field": "hassh", "ignore_missing": true } },
{ "rename": { "field": "message2.auth_success", "target_field": "authentication_success", "ignore_missing": true } },
{ "rename": { "field": "message2.auth_attempts", "target_field": "authentication_attempts", "ignore_missing": true } },
{ "rename": { "field": "message2.direction", "target_field": "direction", "ignore_missing": true } },
{ "rename": { "field": "message2.client", "target_field": "client", "ignore_missing": true } },
{ "rename": { "field": "message2.server", "target_field": "server", "ignore_missing": true } },
{ "rename": { "field": "message2.cipher_alg", "target_field": "cipher_algorithm", "ignore_missing": true } },
{ "rename": { "field": "message2.compression_alg", "target_field": "compression_algorithm", "ignore_missing": true } },
{ "rename": { "field": "message2.cshka", "target_field": "client_host_key_algorithms", "ignore_missing": true } },
{ "rename": { "field": "message2.host_key_alg", "target_field": "host_key_algorithm", "ignore_missing": true } },
{ "rename": { "field": "message2.hasshAlgorithms", "target_field": "hassh_algorithms", "ignore_missing": true } },
{ "rename": { "field": "message2.hasshServer", "target_field": "hassh_server", "ignore_missing": true } },
{ "rename": { "field": "message2.hasshVersion", "target_field": "hassh_version", "ignore_missing": true } },
{ "rename": { "field": "message2.kex_alg", "target_field": "kex_algorithm", "ignore_missing": true } },
{ "rename": { "field": "message2.mac_alg", "target_field": "mac_algorithm", "ignore_missing": true } },
{ "rename": { "field": "message2.sshka", "target_field": "server_host_key_algorithms", "ignore_missing": true } },
{ "rename": { "field": "message2.host_key", "target_field": "host_key", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_region", "target_field": "destination_region", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_city", "target_field": "destination_city", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_latitude", "target_field": "destination_latitude", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_longitude", "target_field": "destination_longitude", "ignore_missing": true } },
{ "rename": { "field": "message2.destination_country_code", "target_field": "destination_country_code", "ignore_missing": true } },
{ "rename": { "field": "message2.hasshServerAlgorithms", "target_field": "hassh_server_algorithms", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,33 +0,0 @@
{
"description" : "bro_ssl",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.version", "target_field": "version", "ignore_missing": true } },
{ "rename": { "field": "message2.cipher", "target_field": "cipher", "ignore_missing": true } },
{ "rename": { "field": "message2.curve", "target_field": "curve", "ignore_missing": true } },
{ "rename": { "field": "message2.server_name", "target_field": "server_name", "ignore_missing": true } },
{ "rename": { "field": "message2.resumed", "target_field": "resumed", "ignore_missing": true } },
{ "rename": { "field": "message2.last_alert", "target_field": "last_alert", "ignore_missing": true } },
{ "rename": { "field": "message2.next_protocol", "target_field": "next_protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.established", "target_field": "established", "ignore_missing": true } },
{ "rename": { "field": "message2.cert_chain_fuids", "target_field": "certificate_chain_fuids", "ignore_missing": true } },
{ "rename": { "field": "message2.client_cert_chain_fuids", "target_field": "client_certificate_chain_fuids", "ignore_missing": true } },
{ "rename": { "field": "message2.subject", "target_field": "certificate_subject", "ignore_missing": true } },
{ "rename": { "field": "message2.issuer", "target_field": "certificate_issuer", "ignore_missing": true } },
{ "rename": { "field": "message2.client_subject", "target_field": "client_subject", "ignore_missing": true } },
{ "rename": { "field": "message2.client_issuer", "target_field": "client_issuer", "ignore_missing": true } },
{ "rename": { "field": "message2.validation_status","target_field": "validation_status", "ignore_missing": true } },
{ "rename": { "field": "message2.ja3", "target_field": "ja3", "ignore_missing": true } },
{ "rename": { "field": "message2.ja3s", "target_field": "ja3s", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common_ssl" } }
]
}

View File

@@ -1,21 +0,0 @@
{
"description" : "bro_syslog",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.proto", "target_field": "protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.facility", "target_field": "facility", "ignore_missing": true } },
{ "rename": { "field": "message2.severity", "target_field": "severity", "ignore_missing": true } },
{ "remove": { "field": "message", "ignore_failure": true } },
{ "rename": { "field": "message2.message", "target_field": "message", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,7 +0,0 @@
{
"description" : "bro_tunnel",
"processors" : [
{ "set": { "field": "event_type", "value": "bro_tunnels" } },
{ "pipeline": { "name": "bro_tunnels" } }
]
}

View File

@@ -1,20 +0,0 @@
{
"description" : "bro_weird",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uid", "target_field": "uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source_port", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination_ip", "ignore_missing": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "message2.name", "target_field": "name", "ignore_missing": true } },
{ "rename": { "field": "message2.addl", "target_field": "additional_info", "ignore_missing": true } },
{ "rename": { "field": "message2.notice", "target_field": "notice", "ignore_missing": true } },
{ "rename": { "field": "message2.peer", "target_field": "peer", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
]
}

View File

@@ -1,17 +1,10 @@
{
"description" : "common",
"processors" : [
{
"rename": {
"field": "type",
"target_field": "event_type",
"ignore_missing": true
}
},
{
"geoip": {
"field": "destination_ip",
"target_field": "destination_geo",
"field": "destination.ip",
"target_field": "geo",
"database_file": "GeoLite2-City.mmdb",
"ignore_missing": true,
"properties": ["ip", "country_iso_code", "country_name", "continent_name", "region_iso_code", "region_name", "city_name", "timezone", "location"]
@@ -19,8 +12,8 @@
},
{
"geoip": {
"field": "source_ip",
"target_field": "source_geo",
"field": "source.ip",
"target_field": "geo",
"database_file": "GeoLite2-City.mmdb",
"ignore_missing": true,
"properties": ["ip", "country_iso_code", "country_name", "continent_name", "region_iso_code", "region_name", "city_name", "timezone", "location"]
@@ -41,11 +34,15 @@
"ignore_failure": true,
"index_name_format": "yyyy.MM.dd"
}
},
},
{ "rename": { "field": "module", "target_field": "event.module", "ignore_missing": true } },
{ "rename": { "field": "dataset", "target_field": "event.dataset", "ignore_missing": true } },
{ "rename": { "field": "category", "target_field": "event.category", "ignore_missing": true } },
{ "rename": { "field": "message2.community_id", "target_field": "network.community_id", "ignore_missing": true } },
{
"remove": {
"field": "index_name_prefix",
"ignore_failure": true
"field": [ "index_name_prefix", "message2"],
"ignore_failure": false
}
}
]

View File

@@ -0,0 +1,55 @@
{
"description" : "osquery",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "gsub": { "field": "message2.columns.data", "pattern": "\\\\xC2\\\\xAE", "replacement": "", "ignore_missing": true } },
{ "json": { "field": "message2.columns.data", "target_field": "message2.columns.winlog", "ignore_failure": true } },
{
"script": {
"lang": "painless",
"source": "def dict = ['result': new HashMap()]; for (entry in ctx['message2'].entrySet()) { dict['result'][entry.getKey()] = entry.getValue(); } ctx['osquery'] = dict; "
}
},
{ "rename": { "field": "osquery.result.hostIdentifier", "target_field": "osquery.result.host_identifier", "ignore_missing": true } },
{ "rename": { "field": "osquery.result.calendarTime", "target_field": "osquery.result.calendar_time", "ignore_missing": true } },
{ "rename": { "field": "osquery.result.unixTime", "target_field": "osquery.result.unix_time", "ignore_missing": true } },
{ "json": { "field": "message", "target_field": "message3", "ignore_failure": true } },
{ "gsub": { "field": "message3.columns.data", "pattern": "\\\\xC2\\\\xAE", "replacement": "", "ignore_missing": true } },
{ "json": { "field": "message3.columns.data", "target_field": "message3.columns.winlog", "ignore_failure": true } },
{ "rename": { "field": "message3.columns.username", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.uid", "target_field": "user.uid", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.gid", "target_field": "user.gid", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.shell", "target_field": "user.shell", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.cmdline", "target_field": "process.command_line", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.pid", "target_field": "process.pid", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.parent", "target_field": "process.ppid", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.cwd", "target_field": "process.working_directory", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.eventid", "target_field": "event.code", "ignore_missing": true } },
{ "set": { "if": "ctx.message3.columns.data != null", "field": "dataset", "value": "wel-{{message3.columns.source}}", "override": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.SubjectUserName", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.destinationHostname", "target_field": "destination.hostname", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.destinationIp", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.destinationPort", "target_field": "destination.port", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.Image", "target_field": "process.executable", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.ProcessID", "target_field": "process.pid", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.ProcessGuid", "target_field": "process.entity_id", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.CommandLine", "target_field": "process.command_line", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.CurrentDirectory", "target_field": "process.working_directory", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.Description", "target_field": "process.pe.description", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.Product", "target_field": "process.pe.product", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.OriginalFileName", "target_field": "process.pe.original_file_name", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.FileVersion", "target_field": "process.pe.file_version", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.ParentCommandLine", "target_field": "process.parent.command_line", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.ParentImage", "target_field": "process.parent.executable", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.ParentProcessGuid", "target_field": "process.parent.entity_id", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.ParentProcessId", "target_field": "process.ppid", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.User", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.parentImage", "target_field": "parent_image_path", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.sourceHostname", "target_field": "source.hostname", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.sourceIp", "target_field": "source_ip", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.sourcePort", "target_field": "source.port", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.winlog.EventData.targetFilename", "target_field": "file.target", "ignore_missing": true } },
{ "remove": { "field": [ "message3"], "ignore_failure": false } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -6,48 +6,47 @@
{ "rename": { "field": "message2.data", "target_field": "data", "ignore_missing": true } },
{ "rename": { "field": "message2.decoder", "target_field": "decoder", "ignore_missing": true } },
{ "rename": { "field": "message2.full_log", "target_field": "full_log", "ignore_missing": true } },
{ "rename": { "field": "message2.id", "target_field": "id", "ignore_missing": true } },
{ "rename": { "field": "message2.id", "target_field": "log.id.id", "ignore_missing": true } },
{ "rename": { "field": "message2.location", "target_field": "location", "ignore_missing": true } },
{ "rename": { "field": "message2.manager", "target_field": "manager", "ignore_missing": true } },
{ "rename": { "field": "message2.predecoder", "target_field": "predecoder", "ignore_missing": true } },
{ "rename": { "field": "message2.timestamp", "target_field": "timestamp", "ignore_missing": true } },
{ "rename": { "field": "message2.rule", "target_field": "wazuh-rule", "ignore_missing": true } },
{ "rename": { "field": "message2.rule", "target_field": "rule", "ignore_missing": true } },
{ "rename": { "field": "data.command", "target_field": "command", "ignore_missing": true } },
{ "rename": { "field": "data.dstip", "target_field": "destination_ip", "ignore_missing": true } },
{ "rename": { "field": "data.dstport", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "data.dstuser", "target_field": "escalated_user", "ignore_missing": true } },
{ "rename": { "field": "data.srcip", "target_field": "source_ip", "ignore_missing": true } },
{ "rename": { "field": "data.srcuser", "target_field": "username", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationHostname", "target_field": "destination_hostname", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationIp", "target_field": "destination_ip", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationPort", "target_field": "destination_port", "ignore_missing": true } },
{ "rename": { "field": "data.dstip", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "data.dstport", "target_field": "destination.port", "ignore_missing": true } },
{ "rename": { "field": "data.dstuser", "target_field": "user.escalated", "ignore_missing": true } },
{ "rename": { "field": "data.srcip", "target_field": "source.ip", "ignore_missing": true } },
{ "rename": { "field": "data.srcuser", "target_field": "source.user", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationHostname", "target_field": "destination.hostname", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationIp", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationPort", "target_field": "destination.port", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.image", "target_field": "image_path", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.parentImage", "target_field": "parent_image_path", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.sourceHostname", "target_field": "source_hostname", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.sourceHostname", "target_field": "source.hostname", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.sourceIp", "target_field": "source_ip", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.sourcePort", "target_field": "source_port", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.targetFilename", "target_field": "target_filename", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.user", "target_field": "username", "ignore_missing": true } },
{ "rename": { "field": "data.win.system.eventID", "target_field": "event_id", "ignore_missing": true } },
{ "rename": { "field": "predecoder.program_name", "target_field": "process", "ignore_missing": true } },
{ "rename": { "field": "wazuh-rule.level", "target_field": "alert_level", "ignore_missing": true } },
{ "rename": { "field": "wazuh-rule.description", "target_field": "description", "ignore_missing": true } },
{ "set": { "if": "ctx.alert_level == 1", "field": "classification", "value": "None" } },
{ "set": { "if": "ctx.alert_level == 2", "field": "classification", "value": "System low priority notification" } },
{ "set": { "if": "ctx.alert_level == 3", "field": "classification", "value": "Successful/authorized event" } },
{ "set": { "if": "ctx.alert_level == 4", "field": "classification", "value": "System low priority error" } },
{ "set": { "if": "ctx.alert_level == 5", "field": "classification", "value": "User generated error" } },
{ "set": { "if": "ctx.alert_level == 6", "field": "classification", "value": "Low relevance attack" } },
{ "set": { "if": "ctx.alert_level == 7", "field": "classification", "value": "\"Bad word\" matching" } },
{ "set": { "if": "ctx.alert_level == 8", "field": "classification", "value": "First time seen" } },
{ "set": { "if": "ctx.alert_level == 9", "field": "classification", "value": "Error from invalid source" } },
{ "set": { "if": "ctx.alert_level == 10", "field": "classification", "value": "Multiple user generated errors" } },
{ "set": { "if": "ctx.alert_level == 11", "field": "classification", "value": "Integrity checking warning" } },
{ "set": { "if": "ctx.alert_level == 12", "field": "classification", "value": "High importance event" } },
{ "set": { "if": "ctx.alert_level == 13", "field": "classification", "value": "Unusal error (high importance)" } },
{ "set": { "if": "ctx.alert_level == 14", "field": "classification", "value": "High importance security event" } },
{ "set": { "if": "ctx.alert_level == 15", "field": "classification", "value": "Severe attack" } },
{ "append": { "if": "ctx.alert_level != null", "field": "tags", "value": ["alert"] } },
{ "rename": { "field": "data.win.eventdata.sourcePort", "target_field": "source.port", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.targetFilename", "target_field": "file.target", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.user", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "data.win.system.eventID", "target_field": "event.code", "ignore_missing": true } },
{ "rename": { "field": "predecoder.program_name", "target_field": "process.name", "ignore_missing": true } },
{ "set": { "if": "ctx.rule.level == 1", "field": "rule.category", "value": "None" } },
{ "set": { "if": "ctx.rule.level == 2", "field": "rule.category", "value": "System low priority notification" } },
{ "set": { "if": "ctx.rule.level == 3", "field": "rule.category", "value": "Successful/authorized event" } },
{ "set": { "if": "ctx.rule.level == 4", "field": "rule.category", "value": "System low priority error" } },
{ "set": { "if": "ctx.rule.level == 5", "field": "rule.category", "value": "User generated error" } },
{ "set": { "if": "ctx.rule.level == 6", "field": "rule.category", "value": "Low relevance attack" } },
{ "set": { "if": "ctx.rule.level == 7", "field": "rule.category", "value": "\"Bad word\" matching" } },
{ "set": { "if": "ctx.rule.level == 8", "field": "rule.category", "value": "First time seen" } },
{ "set": { "if": "ctx.rule.level == 9", "field": "rule.category", "value": "Error from invalid source" } },
{ "set": { "if": "ctx.rule.level == 10", "field": "rule.category", "value": "Multiple user generated errors" } },
{ "set": { "if": "ctx.rule.level == 11", "field": "rule.category", "value": "Integrity checking warning" } },
{ "set": { "if": "ctx.rule.level == 12", "field": "rule.category", "value": "High importance event" } },
{ "set": { "if": "ctx.rule.level == 13", "field": "rule.category", "value": "Unusal error (high importance)" } },
{ "set": { "if": "ctx.rule.level == 14", "field": "rule.category", "value": "High importance security event" } },
{ "set": { "if": "ctx.rule.level == 15", "field": "rule.category", "value": "Severe attack" } },
{ "append": { "if": "ctx.rule.level != null", "field": "tags", "value": ["alert"] } },
{ "remove": { "field": [ "host", "predecoder", "decoder" ], "ignore_missing": true, "ignore_failure": false } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,56 @@
{
"description" : "ossec",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "remove": { "field": [ "agent" ], "ignore_missing": true, "ignore_failure": false } },
{ "rename": { "field": "message2.agent", "target_field": "agent", "ignore_missing": true } },
{ "rename": { "field": "message2.data", "target_field": "data", "ignore_missing": true } },
{ "rename": { "field": "message2.decoder", "target_field": "decoder", "ignore_missing": true } },
{ "rename": { "field": "message2.full_log", "target_field": "log.full", "ignore_missing": true } },
{ "rename": { "field": "message2.id", "target_field": "log.id.id", "ignore_missing": true } },
{ "rename": { "field": "message2.location", "target_field": "log.location", "ignore_missing": true } },
{ "rename": { "field": "message2.manager", "target_field": "manager", "ignore_missing": true } },
{ "rename": { "field": "message2.predecoder", "target_field": "predecoder", "ignore_missing": true } },
{ "rename": { "field": "message2.timestamp", "target_field": "event.timestamp", "ignore_missing": true } },
{ "rename": { "field": "message2.previous_log", "target_field": "log.previous_log", "ignore_missing": true } },
{ "rename": { "field": "message2.previous_output", "target_field": "log.previous_output", "ignore_missing": true } },
{ "rename": { "field": "message2.rule", "target_field": "rule", "ignore_missing": true } },
{ "rename": { "field": "message2.syscheck", "target_field": "host.syscheck", "ignore_missing": true } },
{ "rename": { "field": "data.command", "target_field": "process.command_line", "ignore_missing": true } },
{ "rename": { "field": "data.dstip", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "data.dstport", "target_field": "destination.port", "ignore_missing": true } },
{ "rename": { "field": "data.dstuser", "target_field": "user.escalated", "ignore_missing": true } },
{ "rename": { "field": "data.srcip", "target_field": "source.ip", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationHostname", "target_field": "destination.hostname", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationIp", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.destinationPort", "target_field": "destination.port", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.image", "target_field": "image_path", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.parentImage", "target_field": "parent_image_path", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.sourceHostname", "target_field": "source.hostname", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.sourceIp", "target_field": "source_ip", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.sourcePort", "target_field": "source.port", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.targetFilename", "target_field": "file.target", "ignore_missing": true } },
{ "rename": { "field": "data.win.eventdata.user", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "data.win.system.eventID", "target_field": "event.code", "ignore_missing": true } },
{ "rename": { "field": "predecoder.program_name", "target_field": "process.name", "ignore_missing": true } },
{ "rename": { "field": "rule.description", "target_field": "rule.name", "ignore_missing": true } },
{ "set": { "if": "ctx.rule.level == 1", "field": "rule.category", "value": "None" } },
{ "set": { "if": "ctx.rule.level == 2", "field": "rule.category", "value": "System low priority notification" } },
{ "set": { "if": "ctx.rule.level == 3", "field": "rule.category", "value": "Successful/authorized event" } },
{ "set": { "if": "ctx.rule.level == 4", "field": "rule.category", "value": "System low priority error" } },
{ "set": { "if": "ctx.rule.level == 5", "field": "rule.category", "value": "User generated error" } },
{ "set": { "if": "ctx.rule.level == 6", "field": "rule.category", "value": "Low relevance attack" } },
{ "set": { "if": "ctx.rule.level == 7", "field": "rule.category", "value": "\"Bad word\" matching" } },
{ "set": { "if": "ctx.rule.level == 8", "field": "rule.category", "value": "First time seen" } },
{ "set": { "if": "ctx.rule.level == 9", "field": "rule.category", "value": "Error from invalid source" } },
{ "set": { "if": "ctx.rule.level == 10", "field": "rule.category", "value": "Multiple user generated errors" } },
{ "set": { "if": "ctx.rule.level == 11", "field": "rule.category", "value": "Integrity checking warning" } },
{ "set": { "if": "ctx.rule.level == 12", "field": "rule.category", "value": "High importance event" } },
{ "set": { "if": "ctx.rule.level == 13", "field": "rule.category", "value": "Unusal error (high importance)" } },
{ "set": { "if": "ctx.rule.level == 14", "field": "rule.category", "value": "High importance security event" } },
{ "set": { "if": "ctx.rule.level == 15", "field": "rule.category", "value": "Severe attack" } },
{ "append": { "if": "ctx.rule.level != null", "field": "tags", "value": ["alert"] } },
{ "remove": { "field": [ "predecoder", "decoder" ], "ignore_missing": true, "ignore_failure": false } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,12 @@
{
"description" : "strelka",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.file", "target_field": "file", "ignore_missing": true } },
{ "rename": { "field": "message2.scan", "target_field": "scan", "ignore_missing": true } },
{ "rename": { "field": "message2.request", "target_field": "request", "ignore_missing": true } },
{ "rename": { "field": "scan.hash", "target_field": "file.hash", "ignore_missing": true } },
{ "remove": { "field": ["host", "path", "agent"], "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,12 @@
{
"description" : "strelka",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.file", "target_field": "file", "ignore_missing": true } },
{ "rename": { "field": "message2.scan", "target_field": "scan", "ignore_missing": true } },
{ "rename": { "field": "message2.request", "target_field": "request", "ignore_missing": true } },
{ "rename": { "field": "scan.hash", "target_field": "hash", "ignore_missing": true } },
{ "remove": { "field": ["host", "path"], "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,11 @@
{
"description" : "suricata.alert",
"processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename":{ "field": "message2.comunity_id", "target_field": "network.comunity_id", "ignore_failure": true } },
{ "rename":{ "field": "message2.alert", "target_field": "rule", "ignore_failure": true } },
{ "rename":{ "field": "rule.signature", "target_field": "rule.name", "ignore_failure": true } },
{ "rename":{ "field": "rule.ref", "target_field": "rule.version", "ignore_failure": true } },
{ "pipeline": { "name": "suricata.common" } }
]
}

View File

@@ -0,0 +1,15 @@
{
"description" : "suricata.common",
"processors" : [
{ "rename":{ "field": "message2.proto", "target_field": "network.transport", "ignore_failure": true } },
{ "rename":{ "field": "message2.flow_id", "target_field": "event.id", "ignore_failure": true } },
{ "rename":{ "field": "message2.src_ip", "target_field": "source.ip", "ignore_failure": true } },
{ "rename":{ "field": "message2.src_port", "target_field": "source.port", "ignore_failure": true } },
{ "rename":{ "field": "message2.dest_ip", "target_field": "destination.ip", "ignore_failure": true } },
{ "rename":{ "field": "message2.dest_port", "target_field": "destination.port", "ignore_failure": true } },
{ "rename": { "field": "message2.community_id", "target_field": "network.community_id", "ignore_missing": true } },
{ "set": { "field": "observer.name", "value": "{{agent.name}}" } },
{ "remove": { "field": ["agent"], "ignore_failure": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,23 @@
{
"description" : "zeek.common",
"processors" : [
{ "rename": { "field": "@timestamp", "target_field": "ingest.timestamp", "ignore_missing": true } },
{ "rename": { "field": "message2.uid", "target_field": "log.id.uid", "ignore_missing": true } },
{ "dot_expander": { "field": "id.orig_h", "path": "message2", "ignore_failure": true } },
{ "dot_expander": { "field": "id.orig_p", "path": "message2", "ignore_failure": true } },
{ "dot_expander": { "field": "id.resp_h", "path": "message2", "ignore_failure": true } },
{ "dot_expander": { "field": "id.resp_p", "path": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.id.orig_h", "target_field": "source.ip", "ignore_missing": true } },
{ "rename": { "field": "message2.id.orig_p", "target_field": "source.port", "ignore_missing": true } },
{ "rename": { "field": "message2.id.resp_h", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "message2.id.resp_p", "target_field": "destination.port", "ignore_missing": true } },
{ "set": { "field": "client.ip", "value": "{{source.ip}}" } },
{ "set": { "if": "ctx.source.port != null", "field": "client.port", "value": "{{source.port}}" } },
{ "set": { "field": "server.ip", "value": "{{destination.ip}}" } },
{ "set": { "if": "ctx.destination.port != null", "field": "server.port", "value": "{{destination.port}}" } },
{ "set": { "field": "observer.name", "value": "{{agent.name}}" } },
{ "date": { "field": "message2.ts", "target_field": "@timestamp", "formats": ["ISO8601", "UNIX"], "ignore_failure": true } },
{ "remove": { "field": ["agent"], "ignore_failure": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -1,5 +1,5 @@
{
"description" : "bro_common_ssl",
"description" : "zeek.common_ssl",
"processors" : [
{
"kv": {
@@ -51,7 +51,7 @@
{ "script":{ "lang": "painless", "source": "ctx.server_name_length = ctx.server_name.length()", "ignore_failure": true } },
{
"pipeline": {
"name": "bro_common"
"name": "zeek.common"
}
}
]

View File

@@ -0,0 +1,26 @@
{
"description" : "zeek.conn",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.service", "target_field": "network.protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.duration", "target_field": "event.duration", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_bytes", "target_field": "client.bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_bytes", "target_field": "server.bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.conn_state", "target_field": "connection.state", "ignore_missing": true } },
{ "rename": { "field": "message2.local_orig", "target_field": "connection.local.originator", "ignore_missing": true } },
{ "rename": { "field": "message2.local_resp", "target_field": "connection.local.responder", "ignore_missing": true } },
{ "rename": { "field": "message2.missed_bytes", "target_field": "connection.bytes.missed", "ignore_missing": true } },
{ "rename": { "field": "message2.history", "target_field": "connection.history", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_pkts", "target_field": "client.packets", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_ip_bytes", "target_field": "client.ip_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_pkts", "target_field": "server.packets", "ignore_missing": true } },
{ "rename": { "field": "message2.resp_ip_bytes", "target_field": "server.ip_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.tunnel_parents", "target_field": "connection.tunnel_parents", "ignore_missing": true } },
{ "rename": { "field": "message2.orig_cc", "target_field": "client.country_code","ignore_missing": true } },
{ "rename": { "field": "message2.resp_cc", "target_field": "server.country_code", "ignore_missing": true } },
{ "rename": { "field": "message2.sensorname", "target_field": "observer.name", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

View File

@@ -0,0 +1,12 @@
{
"description" : "zeek.dce_rpc",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.rtt", "target_field": "event.duration", "ignore_missing": true } },
{ "rename": { "field": "message2.named_pipe", "target_field": "named_pipe", "ignore_missing": true } },
{ "rename": { "field": "message2.endpoint", "target_field": "endpoint", "ignore_missing": true } },
{ "rename": { "field": "message2.operation", "target_field": "operation", "ignore_missing": true } },
{ "pipeline": { "name": "zeek.common" } }
]
}

View File

@@ -1,20 +1,21 @@
{
"description" : "bro_dhcp",
"description" : "zeek.dhcp",
"processors" : [
{ "remove": { "field": ["host"], "ignore_failure": true } },
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename": { "field": "message2.uids", "target_field": "uid", "ignore_missing": true } },
{ "rename": { "field": "message2.mac", "target_field": "mac", "ignore_missing": true } },
{ "rename": { "field": "message2.assigned_ip", "target_field": "assigned_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.lease_time", "target_field": "lease_time", "ignore_missing": true } },
{ "rename": { "field": "message2.trans_id", "target_field": "transaction_id", "ignore_missing": true } },
{ "rename": { "field": "message2.assigned_addr", "target_field": "assigned_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.client_addr", "target_field": "source_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.server_addr", "target_field": "destination_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.requested_addr", "target_field": "requested_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.domain", "target_field": "domain_name", "ignore_missing": true } },
{ "rename": { "field": "message2.host_name", "target_field": "hostname", "ignore_missing": true } },
{ "rename": { "field": "message2.duration", "target_field": "duration", "ignore_missing": true } },
{ "rename": { "field": "message2.uids", "target_field": "log.id.uids", "ignore_missing": true } },
{ "rename": { "field": "message2.mac", "target_field": "host.mac", "ignore_missing": true } },
{ "rename": { "field": "message2.assigned_ip", "target_field": "dhcp.assigned_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.lease_time", "target_field": "dhcp.lease_time", "ignore_missing": true } },
{ "rename": { "field": "message2.trans_id", "target_field": "dhcp.transaction_id", "ignore_missing": true } },
{ "rename": { "field": "message2.assigned_addr", "target_field": "dhcp.assigned_ip", "ignore_missing": true } },
{ "rename": { "field": "message2.client_addr", "target_field": "client.address", "ignore_missing": true } },
{ "rename": { "field": "message2.server_addr", "target_field": "server.address", "ignore_missing": true } },
{ "rename": { "field": "message2.requested_addr", "target_field": "dhcp.requested_address", "ignore_missing": true } },
{ "rename": { "field": "message2.domain", "target_field": "host.domain", "ignore_missing": true } },
{ "rename": { "field": "message2.host_name", "target_field": "host.hostname", "ignore_missing": true } },
{ "rename": { "field": "message2.duration", "target_field": "event.duration", "ignore_missing": true } },
{ "rename": { "field": "message2.msg_types", "target_field": "message_types", "ignore_missing": true } },
{ "pipeline": { "name": "bro_common" } }
{ "pipeline": { "name": "zeek.common" } }
]
}

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