Compare commits

..

892 Commits
1.2.1 ... 1.4.1

Author SHA1 Message Date
Mike Reeves
ba81b7275a Merge pull request #909 from Security-Onion-Solutions/fix/1.4.1
Update to 1.4.1
2020-06-30 09:55:10 -04:00
Mike Reeves
a1791f1e2e Update to 1.4.1 2020-06-30 09:47:20 -04:00
Mike Reeves
a74d52a986 Merge pull request #908 from Security-Onion-Solutions/bugfix/hostname-regex
[fix] Apply regex filter to hostname input
2020-06-30 09:14:20 -04:00
William Wernert
1022bf5b99 [fix] Apply regex filter to hostname input 2020-06-30 09:08:55 -04:00
Mike Reeves
ada0d7b8cd Merge pull request #862 from Security-Onion-Solutions/dev
1.4.0
2020-06-16 14:47:08 -04:00
Mike Reeves
6410087994 1.4.0 2020-06-16 13:52:37 -04:00
Josh Brower
2986926ce9 Merge pull request #861 from Security-Onion-Solutions/bugfix/fleet-kibana
Beta3 Kibana dashboard updates
2020-06-16 10:17:26 -04:00
Josh Brower
a9df5d75b0 Beta3 Kibana dashboard updates 2020-06-16 10:16:31 -04:00
William Wernert
0c9c7002dc [fix] Simplify if statements and apply mine.update during setup 2020-06-16 08:38:50 -04:00
Mike Reeves
0961fe7091 Merge pull request #857 from Security-Onion-Solutions/feature/metasuri
Feature/metasuri
2020-06-15 21:52:41 -04:00
Mike Reeves
4573b346f8 Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-15 21:46:07 -04:00
Mike Reeves
3681f91c37 Suricata Conn 2020-06-15 21:46:04 -04:00
Jason Ertel
97d127218a fix: stop updating salt mine - this is an attempt to sort out why the CA intermittently disappears from the mine 2020-06-15 17:40:58 -04:00
Josh Patterson
9340b633e2 Merge pull request #855 from Security-Onion-Solutions/quickfix/searchnode2node
fix so-status for searchnode
2020-06-15 17:01:50 -04:00
m0duspwnens
fe39179ba1 fix so-status for searchnode 2020-06-15 17:01:23 -04:00
Josh Patterson
3b920b2cd8 Merge pull request #854 from Security-Onion-Solutions/quickfix/searchnode2node
place searchnode role with node where referenced
2020-06-15 16:59:55 -04:00
m0duspwnens
91a50c0915 place searchnode role with node where referenced 2020-06-15 16:58:30 -04:00
Josh Patterson
578e2b5d1d Merge pull request #853 from Security-Onion-Solutions/quickfix/playbook
fix for master not having a node:mainip pillar - playbook
2020-06-15 15:15:23 -04:00
m0duspwnens
b396c39352 fix for master not having a node:mainip pillar - playbook 2020-06-15 15:13:29 -04:00
Mike Reeves
a91dbf0d1d Fix wording for Suricata meta data in whiptail 2020-06-15 15:10:16 -04:00
Josh Patterson
1a6fc3ef6c Merge pull request #852 from Security-Onion-Solutions/quickfix/fleetfwsetup
add firewall rules for fleet standalone
2020-06-15 13:51:39 -04:00
m0duspwnens
51e500f521 add firewall rules for fleet standalone 2020-06-15 13:50:37 -04:00
weslambert
91c32725fb Merge pull request #851 from Security-Onion-Solutions/fix/es_field_fixes
Fix/es field fixes
2020-06-15 12:59:01 -04:00
Wes Lambert
f3c9f2e5ea update templates 2020-06-15 16:57:46 +00:00
Wes Lambert
206261fbe6 rename id to log.id.fuid for X509 2020-06-15 16:55:14 +00:00
Wes Lambert
18547e8ea8 enforce field types 2020-06-15 16:54:33 +00:00
Josh Patterson
8403d72b8e Merge pull request #849 from Security-Onion-Solutions/quickfix/fleetfwsetup
add another pillar default to self hostgroup
2020-06-15 10:40:03 -04:00
m0duspwnens
dc56c449b7 add another pillar default to self hostgroup 2020-06-15 10:38:58 -04:00
Josh Patterson
896f081f70 Merge pull request #847 from Security-Onion-Solutions/quickfix/fleetfwsetup
set firewall during setup for fleet standalone
2020-06-15 09:43:35 -04:00
m0duspwnens
aaa6cf816a set firewall during setup for fleet standalone 2020-06-15 09:42:06 -04:00
Jason Ertel
87514e7da3 revert: Use consistent casing for package names 2020-06-14 09:47:59 -04:00
Jason Ertel
8b64f5b499 Use consistent casing for package names 2020-06-13 10:19:24 -04:00
m0duspwnens
ce5d678ed9 change portgroup assignment for dockernet on searchnode 2020-06-12 17:09:08 -04:00
Josh Patterson
f8b5593bca Merge pull request #845 from Security-Onion-Solutions/bugfix/standalonessl
fix issue with ssl state that prevented other node types being adding…
2020-06-12 16:25:43 -04:00
m0duspwnens
a125a94808 fix issue with ssl state that prevented other node types being adding to a standalone node 2020-06-12 16:24:46 -04:00
m0duspwnens
e25560bf6b add missing roles fire firewall 2020-06-12 15:37:43 -04:00
Josh Patterson
1f305352a0 Merge pull request #844 from Security-Onion-Solutions/quickfix/addfwrules
Quickfix/addfwrules
2020-06-12 15:04:04 -04:00
Doug Burks
befc793a96 Improve files query #804 2020-06-12 14:25:38 -04:00
Doug Burks
d157c0da00 Improve DNS queries #804 2020-06-12 14:21:36 -04:00
Josh Patterson
bfee999688 Merge pull request #843 from Security-Onion-Solutions/quickfix/firewallsetup
apply switch for so-firewall to apply firewall state on master for distributed install
2020-06-12 13:55:28 -04:00
Jason Ertel
b3d2ce0e18 support applying the firewall state directly from so-firewall 2020-06-12 13:52:24 -04:00
Mike Reeves
cd90889b4c Merge pull request #842 from Security-Onion-Solutions/feature/metasuri
Feature/metasuri
2020-06-12 12:32:04 -04:00
m0duspwnens
285468c059 user apply switch for so-firewall to apply firewall state on master for distributed install 2020-06-12 12:31:29 -04:00
Mike Reeves
03e410df68 Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-12 12:30:52 -04:00
Mike Reeves
6058d438bf Fix Protocol 2020-06-12 12:28:29 -04:00
Mike Reeves
42938a4e67 Add the makor Suricata parsers 2020-06-12 12:14:48 -04:00
m0duspwnens
3c0caa4112 Merge remote-tracking branch 'remotes/origin/dev' into quickfix/addfwrules 2020-06-12 11:40:34 -04:00
Doug Burks
0b2dd5d0a4 add event.dataset to default hunt output view #841 2020-06-12 11:37:55 -04:00
m0duspwnens
1f0509cfd6 update so-allow for wazuh and syslog 2020-06-12 11:35:18 -04:00
m0duspwnens
d02bff22ac adding fw rules to master nodes for wazuh and syslog 2020-06-12 11:27:28 -04:00
Doug Burks
3cc936a0a8 add event.dataset to default hunt output view #841 2020-06-12 11:13:56 -04:00
Mike Reeves
0559e2d16b Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-12 08:54:17 -04:00
Jason Ertel
d146e65412 Remove pre-creation of dirs in favor of having docker image use correct permissions 2020-06-12 01:24:13 -04:00
Jason Ertel
322bb665a1 fix: chgrp all wazuh subdirs accept for api due to Salt symlink issues 2020-06-11 22:34:08 -04:00
Josh Patterson
5fa1b038ed Merge pull request #838 from Security-Onion-Solutions/issue/739
Issue/739
2020-06-11 17:23:16 -04:00
m0duspwnens
729a6998a2 Merge remote-tracking branch 'remotes/origin/dev' into issue/739 2020-06-11 16:26:23 -04:00
m0duspwnens
56a821a9be update standalone grafana dashboard 2020-06-11 16:24:52 -04:00
m0duspwnens
b6fa01aafe fix monint for standalone grafana dashboard - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 16:21:33 -04:00
m0duspwnens
253ffad853 add monint to tab for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 16:09:30 -04:00
Mike Reeves
6f3fd407dd Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-11 16:00:38 -04:00
m0duspwnens
f8b6a80d99 adding standalone grafana dashboard 2020-06-11 15:57:35 -04:00
m0duspwnens
101673dc98 fix telegraf for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 15:35:06 -04:00
m0duspwnens
bf8278dccf add telegraf elasticsearch input for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 15:08:42 -04:00
m0duspwnens
73bb375662 have telegraf get data for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 14:48:03 -04:00
Josh Patterson
c3a2c2321d Merge pull request #837 from Security-Onion-Solutions/issue/641
Issue/641
2020-06-11 14:22:28 -04:00
Jason Ertel
57a6e4af41 fix: pre-create directory for ossec-analysisd 2020-06-11 13:36:28 -04:00
Jason Ertel
1a85f26cf8 fix: pre-create directory for ossec-analysisd 2020-06-11 13:35:16 -04:00
Mike Reeves
032c8ca4e9 Fix Conflicts 2020-06-11 13:14:11 -04:00
Mike Reeves
9bed02934b Merge branch 'issue/641' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into issue/641 2020-06-11 13:03:31 -04:00
Mike Reeves
a37faff850 New so-allow 2020-06-11 13:03:21 -04:00
Josh Patterson
16592fcc1e makedirs if it doesn't exist 2020-06-11 12:55:30 -04:00
Josh Brower
1c86ae4e14 Merge pull request #836 from Security-Onion-Solutions/bugfix/misc
Fleet gen packages hostname fix2
2020-06-11 11:45:30 -04:00
Josh Brower
ab143b3216 Fleet gen packages hostname fix2 2020-06-11 11:44:56 -04:00
m0duspwnens
985c55dd62 fix state name duplicate conflict - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 10:39:30 -04:00
m0duspwnens
32b4a2ff08 adding grafana dashboard for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/739 2020-06-11 10:28:29 -04:00
m0duspwnens
55e597d302 run firewall state after adding ips during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-11 09:45:31 -04:00
Jason Ertel
b26a7541cd fix: Force ossec group on /opt/so/wazuh dir tree to eliminate permission failures 2020-06-11 09:25:09 -04:00
m0duspwnens
9466cc5439 remove firewall pillar from top, add roles to hosts during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-11 08:49:52 -04:00
Josh Brower
496696ed80 Merge pull request #834 from Security-Onion-Solutions/bugfix/misc
Bugfix/misc
2020-06-11 07:57:58 -04:00
Josh Brower
05d890901f Fleet gen packages hostname fix 2020-06-11 07:56:20 -04:00
m0duspwnens
5317ee8b5a add localhost to the same hostgroups as in currently in dev - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 17:41:22 -04:00
m0duspwnens
03c43da6f2 create iptables file if it doesnt exist - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 17:19:03 -04:00
m0duspwnens
f92ad7d671 handle undefined local values - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 16:34:37 -04:00
m0duspwnens
119ce2d93f remove from writing to firewall pillar - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 15:37:18 -04:00
m0duspwnens
39734b6983 Merge branch 'issue/641' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into issue/641 2020-06-10 15:35:21 -04:00
m0duspwnens
7c5343ebe1 copy local firewall yaml files during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 15:35:15 -04:00
Jason Ertel
23be399a68 Ensure host doesn't exist in both include and exclude lists; add support for port management; add support for removing host from exclude list 2020-06-10 15:19:36 -04:00
m0duspwnens
fcb26bdaed change how ips are added during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 15:03:34 -04:00
William Wernert
33105c10aa [feat] Make automated webuser pass follow requirements 2020-06-10 14:19:24 -04:00
m0duspwnens
4df8a973cf Merge branch 'issue/641' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into issue/641 2020-06-10 14:05:34 -04:00
m0duspwnens
f89baff3d7 adding ability to assign hostgroup to single minion - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-10 14:05:19 -04:00
Jason Ertel
1933c26797 Additional diagnostic logging for the curious case of the disappearing certificate 2020-06-10 09:51:56 -04:00
Jason Ertel
c072905717 Initial firewall management script 2020-06-10 01:18:39 -04:00
m0duspwnens
15fd4de669 remove yamlized rules, update assigned hostgroups - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-09 13:44:10 -04:00
Mike Reeves
c0d24d942c Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-09 13:31:31 -04:00
m0duspwnens
accb3d536d add chain to iptables state - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-09 13:30:24 -04:00
Jason Ertel
d09e2b6468 Dump salt mine to log after applying SSL/CA salt states 2020-06-09 13:16:03 -04:00
Josh Brower
910c809aa2 Merge pull request #833 from Security-Onion-Solutions/bugfix/misc
thehive setup fix
2020-06-09 12:19:02 -04:00
Josh Brower
e5a23c22fd thehive setup fix 2020-06-09 12:16:39 -04:00
m0duspwnens
721f2682ac changes for firewall - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/641 2020-06-09 09:40:38 -04:00
Josh Brower
189d0f5f36 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-06-08 13:28:46 -04:00
Josh Brower
913c1a89bf Fleet setup fixes 2020-06-08 13:28:27 -04:00
William Wernert
941ad5acf6 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-06-08 12:12:29 -04:00
William Wernert
e2c3fe3342 [fix] Add X-Forwarded-Proto to nginx configs 2020-06-08 12:12:25 -04:00
Mike Reeves
4b6af0cd81 Suricata DHCP 2020-06-08 08:58:35 -04:00
Josh Brower
35bc5f9133 Merge pull request #831 from Security-Onion-Solutions/feature/fleet-setup
Feature/fleet setup
2020-06-08 08:49:35 -04:00
Josh Brower
51f97f5ae5 Fleet setup - final fixes 2020-06-08 08:47:06 -04:00
Josh Brower
3f3990ac83 Merge remote-tracking branch 'remotes/origin/dev' into feature/fleet-setup 2020-06-08 08:30:37 -04:00
Josh Brower
950d4077f6 Update so-setup 2020-06-08 08:12:14 -04:00
Josh Brower
ab6e36e00a Fleet syntax error fix 2020-06-06 13:15:44 -04:00
Josh Brower
33f21c05f7 Fleet standaline custom fqdn fixes 2020-06-06 10:03:25 -04:00
Josh Brower
88219c4827 Merge pull request #827 from Security-Onion-Solutions/feature/wlb5
Initial support - external beats
2020-06-05 10:47:56 -04:00
Josh Brower
4e4eeedb41 Initial support - external beats 2020-06-04 22:41:35 -04:00
Mike Reeves
33712a3409 Suricata HTTP parser 2020-06-04 16:19:22 -04:00
Mike Reeves
5c62fedd12 Suricata DNS parser 2020-06-04 15:42:51 -04:00
Mike Reeves
b264548a4f Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-04 10:58:03 -04:00
Jason Ertel
7edf9a67c3 Ensure standalone mode supports the settings flow 2020-06-04 10:46:27 -04:00
Mike Reeves
79adf2012a Fix log rotate on Suricata 2020-06-04 10:43:24 -04:00
m0duspwnens
5f9f86caa5 merge with dev and fix conflicts 2020-06-04 09:59:12 -04:00
Mike Reeves
7043bbae9d Merge remote-tracking branch 'remotes/origin/dev' into feature/metasuri 2020-06-04 09:10:54 -04:00
Josh Brower
0890171527 Fixes 2020-06-04 07:51:05 -04:00
TOoSmOotH
c8730db7b4 Fix top so zeek doest run when disabled 2020-06-03 21:26:22 -04:00
TOoSmOotH
f6b71e3941 Fix top so zeek doest run when disabled 2020-06-03 21:20:58 -04:00
TOoSmOotH
9b6822f325 DNS Suricata parser 2020-06-03 20:40:57 -04:00
TOoSmOotH
702a14e90c DNS Suricata parser 2020-06-03 20:40:10 -04:00
Mike Reeves
5a9030883a Rename Bro to Zeek in some whiptail menus 2020-06-03 16:44:52 -04:00
Mike Reeves
f3fabcd93c Enable git 2020-06-03 16:21:45 -04:00
Josh Brower
a09991d770 Fleet standalone - custom hostnames 2020-06-03 15:56:59 -04:00
Josh Brower
3d92145bb9 Fleet standalone - custom hostnames 2020-06-03 15:52:18 -04:00
Mike Reeves
3211a8a5e0 SMTP from fix 2020-06-03 11:52:24 -04:00
Mike Reeves
c5d6381933 SMTP for suricata 2020-06-03 11:16:43 -04:00
Mike Reeves
126d1598ee SNMP for suricata 2020-06-03 11:03:23 -04:00
Jason Ertel
970368c74e Avoid logs leaking to stdout/stderr during cron jobs 2020-06-03 09:42:44 -04:00
Jason Ertel
9f0e48e337 Send stderr to /dev/null as well, since it's already been decided this output is unsuited for the logfile based on the comment 2020-06-03 08:55:06 -04:00
Josh Brower
eaacb7b71e Fleet cleanup 2020-06-03 05:54:35 -04:00
Jason Ertel
e6fcf75181 Re-ordered wazuh setup to avoid agent-service failures due to missing client.keys file; Prepare for user profile settings screen support in reverse proxy 2020-06-02 17:31:51 -04:00
weslambert
014274930a Merge pull request #815 from Security-Onion-Solutions/fix/syslog_cleanup
Clean up some stuff
2020-06-02 15:32:32 -04:00
weslambert
c91bc0e681 Clean up some stuff 2020-06-02 15:31:48 -04:00
Mike Reeves
25aae21cf6 Trying to get decoded packet 2020-06-02 15:06:39 -04:00
Mike Reeves
b507b87871 Trying to get decoded packet 2020-06-02 14:49:07 -04:00
Mike Reeves
fb68506418 Add mor suricata ingest parser types 2020-06-02 14:42:15 -04:00
Mike Reeves
3096d8d988 Add mor suricata ingest parser types 2020-06-02 14:34:38 -04:00
Mike Reeves
0ea2252b5b Add Suricata Flow pipeline 2020-06-02 13:40:46 -04:00
weslambert
98e0f0d7d8 Merge pull request #814 from Security-Onion-Solutions/feature/syslog
Feature/syslog
2020-06-02 13:39:23 -04:00
Wes Lambert
8cac30728b update Logstash config 2020-06-02 17:36:36 +00:00
Wes Lambert
91673a5d70 Update FB config 2020-06-02 17:33:42 +00:00
Josh Brower
782c669835 Fleet standalone fixes - req 2020-06-02 12:42:14 -04:00
Mike Reeves
617f60d472 Fix Syntax 2020-06-02 12:01:26 -04:00
Mike Reeves
e63f39a9c4 Rename dataset 2020-06-02 11:58:14 -04:00
Mike Reeves
d47acd1d80 Change suricata to hit suricata.common 2020-06-02 11:41:13 -04:00
Josh Brower
77df87880c Fleet standalone fixes - fleet sa req 2020-06-02 10:20:29 -04:00
Josh Brower
b5cc653179 Fleet standalone fixes - mainip 2020-06-02 09:39:42 -04:00
Jason Ertel
42683ddb67 always restart acng and registry containers when docker restarts 2020-06-02 09:12:25 -04:00
Jason Ertel
07c0075fc0 Upgrade containerd.io and docker-ce to match ISO rpms 2020-06-02 08:43:06 -04:00
Josh Brower
b695b7f245 Fleet standalone fixes - firewall 2020-06-02 08:05:48 -04:00
Jason Ertel
9d5f4049b5 Avoid filtering NIC when it's an empty string 2020-06-02 05:52:03 -04:00
Mike Reeves
69f940fe8c Merge pull request #811 from Security-Onion-Solutions/feature/updatetool
Couple of QOL scripts
2020-06-01 20:49:42 -04:00
Mike Reeves
307cbe4b77 Couple of QOL scripts 2020-06-01 20:48:25 -04:00
Josh Brower
4b14ecf1d9 Fleet standalone fixes 2020-06-01 16:36:32 -04:00
Josh Patterson
cc6a323f45 Merge pull request #810 from Security-Onion-Solutions/issue/749
Issue/749
2020-06-01 12:20:28 -04:00
m0duspwnens
f5c8091fd6 remove unneeded INITIALSETUP var from addtotab 2020-06-01 12:17:52 -04:00
m0duspwnens
1737b46abb Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-06-01 12:15:00 -04:00
Doug Burks
80d1814f10 remove event.module:zeek to make queries more generic 2020-06-01 12:00:33 -04:00
Mike Reeves
b091fe07c9 Merge pull request #809 from Security-Onion-Solutions/feature/metasuri
Suricata 5 Meta Data
2020-06-01 11:05:38 -04:00
Mike Reeves
03f34404b1 Suricata 5 Meta Data 2020-06-01 11:03:43 -04:00
weslambert
551c663046 Merge pull request #808 from Security-Onion-Solutions/fix/tunnel_parents
Rename tunnel_parents
2020-06-01 09:52:55 -04:00
Wes Lambert
51f5d64ef6 Rename tunnel_parents 2020-06-01 13:51:32 +00:00
weslambert
fa8b88b090 Merge pull request #806 from Security-Onion-Solutions/feature/vxlan_tunnel_id
fix naming of uid field for tunnel
2020-06-01 08:54:12 -04:00
Wes Lambert
d7ce3d4719 fix naming of uid field for tunnel 2020-06-01 12:52:57 +00:00
Doug Burks
f559621f00 add x509 issuer and subject groupby queries 2020-06-01 07:48:50 -04:00
Doug Burks
46dc5f42e9 combine two http queries into one with multiple groupby 2020-06-01 07:30:08 -04:00
m0duspwnens
5ddfb7ccce fix merge conflicts 2020-05-29 17:31:07 -04:00
Josh Patterson
0eeafa292e Merge pull request #802 from Security-Onion-Solutions/quickfix/wazuh/whitelistmanager
change how whitelist script determines if wazuh is enabled
2020-05-29 17:26:10 -04:00
m0duspwnens
4dfb58a98c change how whitelist script determines if wazuh is enabled 2020-05-29 17:22:39 -04:00
Josh Patterson
5f4e480b4c Merge pull request #801 from Security-Onion-Solutions/quickfix/search/nginx
add nginx state to searchnode in salt/top
2020-05-29 17:02:49 -04:00
m0duspwnens
17879ad88c add nginx state to searchnode in salt/top 2020-05-29 17:01:43 -04:00
m0duspwnens
a84203be7c Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-29 16:38:10 -04:00
Josh Patterson
828f8a0df8 Merge pull request #800 from Security-Onion-Solutions/quickfix/node
fix minion_type for *NODE install_type
2020-05-29 16:37:04 -04:00
m0duspwnens
d7e904e1ab fix minion_type for *NODE install_type 2020-05-29 16:35:39 -04:00
m0duspwnens
9ae68b52ef Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-29 16:22:00 -04:00
Josh Patterson
16d6e4ae2e Merge pull request #799 from Security-Onion-Solutions/quickfix/distrib_install_firewall
Quickfix/distrib install firewall
2020-05-29 15:36:53 -04:00
m0duspwnens
52954d8e5d set_intial_firewall policy sooner in install process so packages can be installed if masterupdates are enabled 2020-05-29 15:34:18 -04:00
m0duspwnens
15fc97e516 adding suricata.master state to mastersearch - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-29 13:11:55 -04:00
m0duspwnens
6db8470de7 Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-29 13:09:49 -04:00
m0duspwnens
42ea39ee35 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-29 13:09:26 -04:00
Josh Patterson
aa24dacb86 Merge pull request #798 from Security-Onion-Solutions/quickfix/master_navigator
add navigator to master if enabled
2020-05-29 13:08:43 -04:00
m0duspwnens
3143643692 add navigator to master if enabled 2020-05-29 13:05:26 -04:00
m0duspwnens
30641d0fa9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-29 13:01:08 -04:00
m0duspwnens
2db2054cce update instructions in logstash customer pipelines and templates - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-29 10:58:53 -04:00
m0duspwnens
7957b51409 change master roots priority to local 2020-05-29 10:57:43 -04:00
weslambert
2601ffe902 Merge pull request #797 from Security-Onion-Solutions/fix/radius_parsing
fix framed_addr field
2020-05-29 07:56:22 -04:00
Wes Lambert
4059121dd6 fix framed_addr field 2020-05-29 11:55:18 +00:00
Josh Brower
046bca626e Fleet pw check fix 2020-05-28 16:51:37 -04:00
Josh Brower
e8e48a4beb Fleet standalone bugfixes 2020-05-28 16:40:12 -04:00
Josh Brower
0d8c0e1fa6 Fleet standalone fixes 2020-05-28 16:27:18 -04:00
m0duspwnens
40fa5293bf move fileserve update to suricata.master 2020-05-28 15:54:11 -04:00
Jason Ertel
3952faba85 Add missing semi-colons to break out of the case block 2020-05-28 15:27:14 -04:00
weslambert
f5300d3d5a Merge pull request #794 from Security-Onion-Solutions/feature/zeek-stats
Add basic Zeek stats script
2020-05-28 13:55:43 -04:00
Wes Lambert
7f75050682 Add basic Zeek stats script 2020-05-28 17:54:15 +00:00
Josh Brower
aeb71bb8f0 Simplified setup script 2020-05-28 13:21:25 -04:00
m0duspwnens
71d381aeae apply suricata.master state during setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-28 13:19:38 -04:00
weslambert
7c232318ad Merge pull request #793 from Security-Onion-Solutions/fix/so-stop-exact-match
Update for exact match (ex. thehive, thehive-es, thehive-cortex)
2020-05-28 13:17:56 -04:00
weslambert
b835c2e27e Update for exact match (ex. thehive, thehive-es, thehive-cortex) 2020-05-28 13:17:31 -04:00
weslambert
ae6f028666 Merge pull request #792 from Security-Onion-Solutions/fix/suricata_config_nsm
Move eve.json to /nsm
2020-05-28 13:00:15 -04:00
weslambert
12f426d4f4 Move eve.json to /nsm 2020-05-28 12:59:41 -04:00
weslambert
8291de40cf Merge pull request #791 from Security-Onion-Solutions/fix/socto-ip-hostname
add master to SOCtopus hosts file
2020-05-28 12:46:57 -04:00
Wes Lambert
869bfb947d add master to SOCtopus hosts file 2020-05-28 16:45:48 +00:00
weslambert
9de1a25703 Merge pull request #789 from Security-Onion-Solutions/fix/filebeat_init
Fix filebeat init
2020-05-28 12:11:39 -04:00
weslambert
d2263db0ff Update init.sls 2020-05-28 12:11:08 -04:00
m0duspwnens
4f15de8b77 refresh salt fileserver if suricata rule symlink is created 2020-05-28 12:00:22 -04:00
Josh Brower
e53e891bd6 Fleet reactor - Typo fix 2020-05-28 11:36:38 -04:00
Jason Ertel
6c4946f4e2 Provide option to skip reboot after setup completes 2020-05-28 10:20:44 -04:00
weslambert
c775e583dd Merge pull request #788 from Security-Onion-Solutions/feature/filebeat-syslog-fw
allow syslog
2020-05-28 09:58:15 -04:00
Wes Lambert
b7d7747f65 allow syslog 2020-05-28 13:56:02 +00:00
Mike Reeves
2b4cfe2b02 Merge pull request #786 from Security-Onion-Solutions/feature/suri5
Feature/suri5
2020-05-28 09:41:41 -04:00
Mike Reeves
8304d91b0b Merge branch 'dev' into feature/suri5 2020-05-28 09:41:28 -04:00
m0duspwnens
091cc8b789 fix how local salt and pillar dirs are created - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-28 08:57:07 -04:00
weslambert
3883c8bfe0 Merge pull request #784 from Security-Onion-Solutions/feature/filebeat-syslog
Feature/filebeat syslog
2020-05-28 08:39:11 -04:00
Wes Lambert
d2b93d531e Basic syslog config 2020-05-28 12:36:29 +00:00
Wes Lambert
5afc05feb2 Update FB init for syslog 2020-05-28 12:35:22 +00:00
Wes Lambert
b9bdca509e update Filebeat config for syslog 2020-05-28 12:33:41 +00:00
Doug Burks
f3efafc9ca combine two notice queries into one query with multiple groupby 2020-05-28 08:01:33 -04:00
Doug Burks
60cc3e9675 remove address from DHCP leases query 2020-05-28 07:50:52 -04:00
Jason Ertel
2a21d7403f Open firewall from all networks for automated testing 2020-05-28 00:47:46 -04:00
Jason Ertel
a75301cd0e Ensure IP is available to child process executing so-allow 2020-05-27 22:00:58 -04:00
Jason Ertel
1e5d5397a4 Support multiple command line options for setup, along with dynamic values per option 2020-05-27 19:42:48 -04:00
m0duspwnens
8b83799253 create local dirs sooner - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 18:16:02 -04:00
m0duspwnens
63e0a1e8a2 create local salt and pillar dirs - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 17:18:17 -04:00
m0duspwnens
59cc927878 Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 15:56:38 -04:00
William Wernert
3712eb0acb [fix] Redirect so-allow output to log 2020-05-27 15:49:41 -04:00
weslambert
04800277c2 Merge pull request #783 from Security-Onion-Solutions/fix/hive_rename_bug
Hive to TheHive
2020-05-27 15:44:22 -04:00
weslambert
6a935b5452 Hive to TheHive 2020-05-27 15:43:41 -04:00
Josh Brower
11c641fd1b Initial support - integrated Fleet setup 2020-05-27 15:34:14 -04:00
m0duspwnens
6e5aa0f71b Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 15:08:11 -04:00
m0duspwnens
16c6b2b202 dont allow addtotab to run grafana and utility states if it is initial setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 15:07:49 -04:00
m0duspwnens
12a6da928f create /opt/so/saltstack/local/salt/suricata - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 15:00:11 -04:00
m0duspwnens
d018648bc0 create addtotab templates sooner in setup - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 14:53:40 -04:00
William Wernert
769f5674eb [fix] Always call set_default_log_size 2020-05-27 14:08:27 -04:00
m0duspwnens
40f04ef6d0 merge with dev and fix conflicts 2020-05-27 13:54:08 -04:00
m0duspwnens
b197869a23 remove logic for if states should run or not - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 13:46:30 -04:00
weslambert
9595d63c01 Merge pull request #782 from Security-Onion-Solutions/feature/thehive-start-stop-restart
Add Hive/ES/Cortex scripts
2020-05-27 13:46:18 -04:00
m0duspwnens
21f1b423f3 move where in the process addtotab template and data directory are created - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 13:43:55 -04:00
Wes Lambert
b80eb5f73b Add Hive/ES/Cortex scripts 2020-05-27 17:43:17 +00:00
William Wernert
66c65490b9 Merge pull request #781 from Security-Onion-Solutions/feature/setup-allow
[feat] Add flag to run so-allow automatically post-setup
2020-05-27 13:26:27 -04:00
William Wernert
1952246c85 [feat] Add flag to run so-allow automatically post-setup 2020-05-27 13:23:37 -04:00
weslambert
f07d6dfb30 Merge pull request #780 from Security-Onion-Solutions/fix/thehive_path
Rename Hive to TheHive in several places
2020-05-27 13:22:57 -04:00
Wes Lambert
b26f6826dd Rename Hive to TheHive in several places 2020-05-27 17:17:55 +00:00
weslambert
58f4cce4f3 Merge pull request #779 from Security-Onion-Solutions/fix/suricata_log_path
Fix/suricata log path
2020-05-27 13:03:10 -04:00
Wes Lambert
d56bc4c167 fix path 2020-05-27 17:01:05 +00:00
Wes Lambert
3684cdf1c6 Update FB and LS 2020-05-27 17:00:09 +00:00
Wes Lambert
e78a3f3278 update Suricata config 2020-05-27 16:59:26 +00:00
Wes Lambert
b7a0f79038 Update Suricata init 2020-05-27 16:58:31 +00:00
m0duspwnens
23e9ee46b8 Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 12:30:40 -04:00
m0duspwnens
693000afa8 remove addtotab templates and move surirulelink - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-27 12:30:12 -04:00
m0duspwnens
f35c59e6ce apply firewall state before we addtotab 2020-05-27 12:22:21 -04:00
Jason Ertel
9cc2614cc8 Automated setup will now output progress data to sosetup.log 2020-05-27 11:47:22 -04:00
William Wernert
dde66a664c Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-27 10:11:57 -04:00
William Wernert
c614e0a880 [feat] Add prompt about master needing internet access
When package updates go through the master node, that master needs internet access.
Therefore, prompt the user about this requirement.

Resolves #146
2020-05-27 10:11:54 -04:00
m0duspwnens
446e0f6f4c Merge remote-tracking branch 'remotes/origin/dev' into issue/749 2020-05-27 10:09:36 -04:00
m0duspwnens
7eb02d2af3 move suri rule symlink 2020-05-27 10:09:23 -04:00
weslambert
042618cd8f Merge pull request #777 from Security-Onion-Solutions/fix/strelka_init
Wrap with quotes
2020-05-27 09:03:06 -04:00
weslambert
f3809cb93d Wrap with quotes 2020-05-27 08:31:14 -04:00
Jason Ertel
65431e0fcc Do not expect network access to be available prior to the NIC being configured for DHCP/Static 2020-05-26 22:39:18 -04:00
Jason Ertel
5d0a7f99e9 Improve logging of automated setup 2020-05-26 18:45:33 -04:00
Mike Reeves
68dd333fbe Remove stats from eve.json 2020-05-26 17:49:11 -04:00
Mike Reeves
1259338e6c Remvoe old Suricata.yml 2020-05-26 17:44:19 -04:00
Mike Reeves
8e95115a7c Update Suricata.yml 2020-05-26 17:43:32 -04:00
m0duspwnens
2467f5636b only have addtotab.sh run grafana or utility state if masterfw.sls exists 2020-05-26 17:12:47 -04:00
m0duspwnens
1eb6142f11 remove dir creation - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-26 17:00:29 -04:00
William Wernert
377d8e6336 [fix] Don't run tr on a string again 2020-05-26 16:54:51 -04:00
William Wernert
00681649bd [fix] Don't run tr on a string again 2020-05-26 16:41:41 -04:00
William Wernert
8d684a0341 Merge pull request #775 from Security-Onion-Solutions/feature/turbo-proxy
Feature/turbo proxy
2020-05-26 16:37:58 -04:00
William Wernert
17970beebc Merge branch 'dev' into feature/turbo-proxy
# Conflicts:
#	setup/so-functions
2020-05-26 16:37:08 -04:00
William Wernert
ec0ec79470 [fix] Test install type after it has been set 2020-05-26 16:23:06 -04:00
Jason Ertel
8e1bd32f4d Improve automated installs and remove sleep during progress updates 2020-05-26 16:11:35 -04:00
William Wernert
001f7c6694 [fix] export TURBO var so it can be used from so-setup 2020-05-26 16:01:44 -04:00
Mike Reeves
8c6928d95a Merge remote-tracking branch 'remotes/origin/dev' into feature/suri5 2020-05-26 15:50:09 -04:00
Mike Reeves
4049df8cb4 Merge pull request #774 from Security-Onion-Solutions/feature/packages
Feature/packages
2020-05-26 15:40:30 -04:00
William Wernert
9e1ed6983f [fix] Parse options at beginning of setup 2020-05-26 15:25:30 -04:00
m0duspwnens
3d3d63173e addtotab should apply grafana instead of common state 2020-05-26 15:24:39 -04:00
m0duspwnens
13c2c4fa4c create and move files if they dont exist for addtotab.sh - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-26 15:20:12 -04:00
William Wernert
84e3ce508e [fix] Only check for proxy-user & proxy-pass when needed 2020-05-26 15:19:37 -04:00
Mike Reeves
b748a86694 Suricata 5 initial commit 2020-05-26 15:12:00 -04:00
William Wernert
92c6a52496 [feat][WIP] Add functionality to run setup through a proxy 2020-05-26 14:49:22 -04:00
m0duspwnens
e27facc843 ensure /opt/so/saltstack/local/salt/suricata/rules is created 2020-05-26 14:47:16 -04:00
m0duspwnens
413f08f1b9 change mkdirs to makedirs in ssl state 2020-05-26 14:43:15 -04:00
Mike Reeves
21cd66d109 add ntpdate/ntp 2020-05-26 14:05:47 -04:00
Mike Reeves
41935996d4 add ntpdate/ntp 2020-05-26 13:48:36 -04:00
Mike Reeves
d260224dfe Update reboot language 2020-05-26 13:39:36 -04:00
Josh Brower
894bfd47f4 Merge pull request #771 from Security-Onion-Solutions/feature/communityid-hive-pivot
Elasticsearch Ingest fixes
2020-05-26 13:08:40 -04:00
Josh Brower
8723f8785e osquery pipeline fix and fail state if errors 2020-05-26 13:05:56 -04:00
Doug Burks
7a657d1229 add Community ID to default fields in bottom data table in Hunt 2020-05-26 12:58:01 -04:00
Josh Brower
3274ec0721 Merge pull request #769 from Security-Onion-Solutions/feature/communityid-hive-pivot
Add TheHive communityid link
2020-05-26 12:02:33 -04:00
Josh Brower
2cb7464086 Add TheHive communityid link 2020-05-26 12:01:58 -04:00
m0duspwnens
fafb469b5c change from default to local - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-26 11:59:00 -04:00
Mike Reeves
87407c9ace rework common init.sls 2020-05-26 11:21:59 -04:00
weslambert
0b200d15fd Merge pull request #768 from Security-Onion-Solutions/fix/es_watermark
Update ES watermark settings
2020-05-26 10:19:57 -04:00
Wes Lambert
0e51ab41cf Update ES watermark settings 2020-05-26 14:18:58 +00:00
weslambert
8aa2cab680 Merge pull request #767 from Security-Onion-Solutions/fix/so_index_transition
Fix/so index transition
2020-05-26 10:08:20 -04:00
Wes Lambert
97306d3acd rename indices 2020-05-26 14:05:33 +00:00
Wes Lambert
3eb62287ac update Curator config for index transition 2020-05-26 14:00:16 +00:00
Jason Ertel
c28936d9e4 temporarily abort automated installation 2020-05-26 09:40:43 -04:00
weslambert
956926d870 Merge pull request #766 from Security-Onion-Solutions/fix/soctopus_host
update SOCtopus config for hostname/ip
2020-05-26 09:20:43 -04:00
Wes Lambert
330de46249 update SOCtopus config for hostname/ip 2020-05-26 13:19:15 +00:00
weslambert
b5bd6e6144 Merge pull request #765 from Security-Onion-Solutions/fix/strelka_cron
update Strelka cron
2020-05-26 09:01:24 -04:00
Wes Lambert
e09027e795 update Strelka cron 2020-05-26 13:00:03 +00:00
Jason Ertel
ad97092589 When automating setup installation wait for network availability 2020-05-24 21:38:44 -04:00
Mike Reeves
31b3563fb3 Fix package versions 2020-05-24 10:56:30 -04:00
Mike Reeves
1c207afb31 Define packages in the common state 2020-05-23 12:00:24 -04:00
Josh Brower
35f3498ffa Merge pull request #760 from Security-Onion-Solutions/feature/ingest-communityid
Ingest pipeline commid fix for conn logs
2020-05-22 17:11:38 -04:00
Josh Brower
56f5fbdf6b Ingest pipeline commid fix for conn logs 2020-05-22 17:11:08 -04:00
William Wernert
13423bed18 [fix] Add indent in proxy.conf 2020-05-22 16:35:16 -04:00
William Wernert
9a1e122c19 Merge pull request #759 from Security-Onion-Solutions/feature/turbo-proxy
Feature/turbo proxy
2020-05-22 16:31:20 -04:00
William Wernert
29726e957f [fix] Redirect parse_options output to setup log 2020-05-22 15:16:57 -04:00
William Wernert
d9feb0d95c [fix] Don't repeat protocol in daemon.json 2020-05-22 15:09:04 -04:00
William Wernert
ad96baab55 [feat] Trim quotes from arguments 2020-05-22 14:50:58 -04:00
William Wernert
08564ed6d4 [feat] Trim quotes from arguments 2020-05-22 14:50:42 -04:00
William Wernert
862631b93a [fix] Add space in daemon.json 2020-05-22 14:47:00 -04:00
Jason Ertel
19cd57bce0 Support automated setup 2020-05-22 14:44:57 -04:00
William Wernert
579b622935 [fix] Don't overwrite daemon.json, and only accept turbo mode on correct install types 2020-05-22 14:36:55 -04:00
William Wernert
78f6261fcc [fix] acng should be port 3142 not 3412 2020-05-22 14:00:01 -04:00
William Wernert
4b505827b1 [fix] Use correct ports for acng and docker registry 2020-05-22 13:31:58 -04:00
William Wernert
c790b3827d [fix] yum.conf proxy should not contain quotes 2020-05-22 13:25:17 -04:00
William Wernert
b029d9aca6 [feat] Initial work for running setup through proxy 2020-05-22 11:40:16 -04:00
William Wernert
967148890c [fix] Only prompt user about network install on network install 2020-05-22 11:39:32 -04:00
m0duspwnens
b24654002b rename salt custom directory to local 2020-05-21 14:53:25 -04:00
Josh Brower
767eda6d60 Merge pull request #754 from Security-Onion-Solutions/feature/ingest-communityid
Feature/ingest communityid
2020-05-21 14:36:08 -04:00
Josh Brower
bff86ea802 zeek.common ingest parser fix 2020-05-21 14:35:25 -04:00
Josh Brower
c74ace89ba Initial support - Ingest community_id 2020-05-21 14:34:00 -04:00
m0duspwnens
d0242c1da6 update references of /opt/so/saltstack to /opt/so/saltstack/default. use var default_salt_dir where appropriate - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/749 2020-05-21 10:54:47 -04:00
m0duspwnens
bd4fdaaa00 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-21 09:51:31 -04:00
Josh Patterson
9aff026569 Merge pull request #748 from Security-Onion-Solutions/issue/706
Issue/706 and issue/747
2020-05-21 09:25:36 -04:00
m0duspwnens
0a6f0efdc5 Sort so-status output alphabetically - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/747 2020-05-21 09:21:28 -04:00
m0duspwnens
9f5a38c26f add so-filebeat to so-status for eval - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/706 2020-05-21 09:19:24 -04:00
m0duspwnens
ba9ff34cff Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-21 09:09:12 -04:00
Mike Reeves
9eb4d6c1d5 Merge pull request #745 from Security-Onion-Solutions/dev
1.3.0
2020-05-20 13:51:48 -04:00
Mike Reeves
35646b7945 Merge branch 'master' into dev 2020-05-20 13:49:48 -04:00
Josh Patterson
4e9ccdb6ed Merge pull request #743 from Security-Onion-Solutions/quickfix/wazuh
Quickfix/wazuh
2020-05-20 11:55:26 -04:00
m0duspwnens
4917d88db0 remove wazuh-agent being installed during setup, let salt mage it 2020-05-20 11:45:54 -04:00
m0duspwnens
e07f6af156 remove wazuh-agent exlude being added to repo conf during setup 2020-05-20 11:41:33 -04:00
m0duspwnens
d4840d203c fix version lock for wazuh 2020-05-20 11:23:55 -04:00
Mike Reeves
51250ef751 Update wazuh.repo 2020-05-20 09:56:27 -04:00
Josh Patterson
695930a06e Merge pull request #742 from Security-Onion-Solutions/quickfix/wazuh
ensure wazuh-agent service is enabled and running
2020-05-19 17:01:17 -04:00
m0duspwnens
92c2222879 ensure wazuh-agent service is enabled and running 2020-05-19 16:59:43 -04:00
m0duspwnens
b3ccba4c7e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-19 16:35:52 -04:00
Mike Reeves
0f2369b5cb Fix permissions due to umask issues in Ubuntu 18 2020-05-19 16:31:39 -04:00
m0duspwnens
d27b18009f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-19 15:24:40 -04:00
William Wernert
320e9d7432 [fix] Apply nginx state before states that rely on it 2020-05-19 14:20:58 -04:00
Mike Reeves
c045e3f936 remove replicas 2020-05-19 13:57:31 -04:00
Mike Reeves
46762e5ad9 change cortex to 0 replicas 2020-05-19 13:56:59 -04:00
Josh Patterson
07560463de Merge pull request #737 from Security-Onion-Solutions/quickfix/wazuh
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/695
2020-05-19 13:27:52 -04:00
William Wernert
3959e1cd10 [fix] Update packages before anything else 2020-05-19 13:03:07 -04:00
William Wernert
6d5af5b07a [fix] Revert redirect fix for saltify and docker_seed_registry 2020-05-19 12:41:19 -04:00
William Wernert
7f08324862 [fix] Redirect stdout + stderr for every command in so-setup 2020-05-19 11:53:50 -04:00
Doug Burks
064768d07d Fix dce_rpc hunt query #736
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/736
2020-05-19 11:27:01 -04:00
William Wernert
3f9d2e44b6 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-19 11:24:04 -04:00
William Wernert
3b3072b002 [fix] Update filtered nic list before trying to flush unused nics 2020-05-19 11:23:59 -04:00
Mike Reeves
1d072eced2 Update VERSION 2020-05-19 10:47:56 -04:00
Josh Brower
10691036e0 Update hive_init 2020-05-19 10:27:46 -04:00
William Wernert
832d2db3f6 Merge branch 'bugfix/whiptail-percent' into dev 2020-05-19 10:22:27 -04:00
William Wernert
c8be95646c [fix] Remove newline in percentage string to fix printing 2020-05-19 10:22:14 -04:00
m0duspwnens
4f65d17690 https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/695 2020-05-19 10:14:40 -04:00
Doug Burks
29420da565 Only process zeek.dns.tld if dns.query.name contains a dot #734
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/734
2020-05-19 10:08:30 -04:00
Mike Reeves
fc4afe6767 Fix Curl statement 2020-05-19 09:58:16 -04:00
William Wernert
84952d5aa6 [fix][WIP] Revert parts of2261fe9 2020-05-19 09:56:59 -04:00
m0duspwnens
7977c47fda Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-19 09:48:07 -04:00
Mike Reeves
1d677bb529 Update known issues list 2020-05-19 09:36:36 -04:00
William Wernert
2261fe9b66 [fix][WIP] Changes to set_progress_str to fix percentage dropping to 0 2020-05-19 09:32:10 -04:00
Josh Patterson
8957af0a4d Merge pull request #733 from Security-Onion-Solutions/quickfix/sostatus
removing strelka-backend from strelka so-status map
2020-05-18 17:53:32 -04:00
m0duspwnens
411389b68e removing strelka-backend from strelka so-status map 2020-05-18 17:52:47 -04:00
Josh Patterson
341c70de9e Merge pull request #732 from Security-Onion-Solutions/quickfix/sostatus
add strelka container list for so-status
2020-05-18 17:46:55 -04:00
m0duspwnens
e6bc8f2d26 add strelka container list for so-status 2020-05-18 17:46:14 -04:00
Josh Patterson
d25fbfec84 Merge pull request #731 from Security-Onion-Solutions/quickfix/sostatus
add strelka container list for so-status
2020-05-18 17:39:09 -04:00
m0duspwnens
5638c386db add strelka container list for so-status 2020-05-18 17:36:32 -04:00
Mike Reeves
8202344d01 Fix for Strelka 2020-05-18 17:28:26 -04:00
Doug Burks
def928804f Fix Hunt DHCP message_types query #728
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/728
2020-05-18 17:12:20 -04:00
Josh Patterson
de2082c0e1 Merge pull request #730 from Security-Onion-Solutions/quickfix/sostatus
remove so-nginx from sensor so-status map
2020-05-18 17:09:35 -04:00
m0duspwnens
492e021fa4 remove so-nginx from sensor so-status map 2020-05-18 17:08:04 -04:00
m0duspwnens
6b8f2e4683 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 17:05:56 -04:00
Josh Patterson
b87ac725a4 Merge pull request #729 from Security-Onion-Solutions/quickfix/wazuh
prevent wazuh-agent from updating
2020-05-18 17:03:29 -04:00
m0duspwnens
a6575e7910 prevent wazuh-agent from updating - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/695 2020-05-18 17:00:18 -04:00
m0duspwnens
3f8b6402e6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 16:34:19 -04:00
Josh Brower
b951094ea2 Change alert pivot links for MASTER 2020-05-18 14:13:32 -04:00
Josh Patterson
b27b7d2805 Merge pull request #725 from Security-Onion-Solutions/quickfix/standalone
allow utility state to run for so-standalone
2020-05-18 14:02:03 -04:00
m0duspwnens
8a4da01b7f allow utility state to run for so-standalone 2020-05-18 14:01:01 -04:00
m0duspwnens
7a4928e1e0 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 13:54:07 -04:00
Doug Burks
b291b242ee temporarily hardcode radius user.name to user.name.keyword 2020-05-18 13:47:21 -04:00
Mike Reeves
a10617c182 Update nids2hive.yaml 2020-05-18 13:43:25 -04:00
Mike Reeves
a56c776695 Update SOCtopus.conf 2020-05-18 13:41:37 -04:00
Mike Reeves
f144fa241f Change to URL base 2020-05-18 13:36:52 -04:00
m0duspwnens
3b17bf14c1 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 13:08:46 -04:00
Josh Patterson
35cb60b801 Merge pull request #720 from Security-Onion-Solutions/quickfix/strelka
change strelka ip for sensor nodes
2020-05-18 10:56:35 -04:00
m0duspwnens
eebe0eb618 get the first ip for the ip_interfaces:mainint grain 2020-05-18 10:54:07 -04:00
m0duspwnens
037bedb0c0 remove whitespace at top of file 2020-05-18 10:48:02 -04:00
m0duspwnens
15cd0c6b49 change strelka ip for sensor nodes 2020-05-18 10:41:39 -04:00
Doug Burks
00f6e8d61b update geoip country descriptions 2020-05-18 10:27:03 -04:00
Doug Burks
028d84b805 remove commas from groupby segments 2020-05-18 10:25:05 -04:00
m0duspwnens
f693968853 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-18 10:20:14 -04:00
Doug Burks
a3323c24ac fix ftp.argument 2020-05-18 09:52:56 -04:00
Doug Burks
2f15c30d9a fix dhcp query 2020-05-18 09:44:49 -04:00
weslambert
43a8ec6f50 Merge pull request #719 from Security-Onion-Solutions/fix/so-kibana-config
Fix/so kibana config
2020-05-18 09:23:17 -04:00
Wes Lambert
ee5937d038 update Kibana config 2020-05-18 13:21:18 +00:00
Wes Lambert
228bbbea5f update config export 2020-05-18 13:16:42 +00:00
Mike Reeves
fbbacd205c Update filebeat.yml 2020-05-18 08:47:03 -04:00
Doug Burks
bd4dfcb351 fix dns domain queries 2020-05-18 08:35:43 -04:00
Doug Burks
9cc750a90f fix dns tld failures 2020-05-18 08:32:37 -04:00
Mike Reeves
b29decb95f Remove Kratos placeholder 2020-05-17 21:23:12 -04:00
William Wernert
f319257f8d [feat] Change kratos:redirect to master:url_base 2020-05-17 13:14:28 -04:00
Josh Brower
b01209457d Merge pull request #718 from Security-Onion-Solutions/bugfix/kibana-fleet
Update Fleet IP placeholder
2020-05-17 12:51:57 -04:00
Josh Brower
8a8970d9ee Update Fleet IP placeholder 2020-05-17 12:51:20 -04:00
Mike Reeves
bc5e86bd4b Merge pull request #717 from Security-Onion-Solutions/issue/140
Issue/140
2020-05-17 11:24:59 -04:00
Mike Reeves
329a030585 Merge remote-tracking branch 'remotes/origin/dev' into issue/140 2020-05-17 09:38:30 -04:00
weslambert
f7de391518 Merge pull request #713 from Security-Onion-Solutions/fix/kibana_config_load
change KRATOS to MASTER
2020-05-16 13:07:24 -04:00
Wes Lambert
23eb73a943 change KRATOS to MASTER 2020-05-16 16:31:06 +00:00
weslambert
907702441f Merge pull request #712 from Security-Onion-Solutions/fix/kibana_config_load_order
Fix load order for PLACEHOLDER
2020-05-16 11:49:58 -04:00
Wes Lambert
047f4e31ad Fix load order for PLACEHOLDER 2020-05-16 15:48:55 +00:00
weslambert
6e9784f68c Merge pull request #711 from Security-Onion-Solutions/fix/kibana_config_placeholder
fix placeholder
2020-05-16 11:46:46 -04:00
Wes Lambert
3363a5a20a fix placeholder 2020-05-16 15:45:52 +00:00
weslambert
9d4397806b Merge pull request #710 from Security-Onion-Solutions/fix/kibana_config_export
Fix/kibana config export
2020-05-16 11:35:43 -04:00
Wes Lambert
9b8cf3845a update Kibana config export 2020-05-16 15:34:33 +00:00
Wes Lambert
89527c533a update Kibana config export 2020-05-16 15:33:20 +00:00
weslambert
5d7c020223 Merge pull request #709 from Security-Onion-Solutions/fix/kibana_config
update Kibana config
2020-05-16 11:09:45 -04:00
Wes Lambert
bd5cc35fc0 update Kibana config 2020-05-16 15:07:33 +00:00
weslambert
95141574d4 Merge pull request #707 from Security-Onion-Solutions/fix/dhcp_parsing
Fix/dhcp parsing
2020-05-16 11:04:13 -04:00
Wes Lambert
4b91ade2e8 fix message_types one more time :) 2020-05-16 15:03:27 +00:00
Wes Lambert
9845ee189c fix message_types for real 2020-05-16 15:02:41 +00:00
Wes Lambert
f0662eed48 remark Beat tag for now 2020-05-16 14:59:41 +00:00
Wes Lambert
6a2ddd4ef6 move to DNS 2020-05-16 14:58:51 +00:00
Wes Lambert
66c89abbc6 Fix DHCP message types 2020-05-16 14:58:06 +00:00
William Wernert
5619768212 [fix] Use hostname or ip in Kibana based on setup
Fixes #603
2020-05-15 20:40:35 -04:00
m0duspwnens
6c7f487a3e Merge remote-tracking branch 'remotes/origin/dev' into issue/140 2020-05-15 19:43:18 -04:00
m0duspwnens
0086f0b71b add redis state to standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 19:43:06 -04:00
m0duspwnens
bb2587aaa0 add standalone to curator conf and scripts as well as other appopriate node types - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 15:42:04 -04:00
Doug Burks
cc7a244d0b Create zeek.dns.tld
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/599
2020-05-15 15:32:25 -04:00
Doug Burks
60d2a0818b Add to zeek.dns and have it send to zeek.dns.tld
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/599
2020-05-15 15:31:17 -04:00
m0duspwnens
2bd3a4ddd1 allow curator state to install on so-searchnode, so-eval, so-node, so-mastersearch, so-heavynode, so-standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 15:30:00 -04:00
m0duspwnens
4e63477b98 Merge remote-tracking branch 'remotes/origin/dev' into issue/140 2020-05-15 15:21:03 -04:00
m0duspwnens
e7baca16ef allow grafana and influxdb states to run on standalone mode - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 15:20:36 -04:00
m0duspwnens
330ea0571f fix container list for so-status for standalone mode - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 15:09:40 -04:00
Josh Brower
e02bf2ebb5 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-15 15:05:47 -04:00
Josh Brower
9d4536dcbe osquery ingest parsing update 2020-05-15 15:05:21 -04:00
Doug Burks
fc883745e5 add fields to conn log
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/599
2020-05-15 15:02:02 -04:00
Doug Burks
58d59c6844 use null safe operator for source.port and destination.port
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/594
2020-05-15 14:58:21 -04:00
Josh Brower
4737c0da3f Merge pull request #702 from Security-Onion-Solutions/bugfix/fleet-deployment
Fleet Setup - Restart nginx
2020-05-15 14:48:18 -04:00
Josh Brower
6b4822d98d Fleet Setup - Restart nginx 2020-05-15 14:47:19 -04:00
m0duspwnens
c89bc0b51a create nginx conf for standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 14:42:38 -04:00
weslambert
baf1de4b34 Merge pull request #700 from Security-Onion-Solutions/fix/common_type_removal
remove type field
2020-05-15 14:37:44 -04:00
William Wernert
87afedae82 [fix] Menu spelling fixes 2020-05-15 14:33:37 -04:00
Wes Lambert
03805bd6e2 remove type field 2020-05-15 18:29:49 +00:00
weslambert
59ece8fd29 Merge pull request #699 from Security-Onion-Solutions/fix/dce_rpc_parsing
update DCE/RPC parsing
2020-05-15 14:20:37 -04:00
Wes Lambert
5d5f5cf105 update DCE/RPC parsing 2020-05-15 18:19:05 +00:00
Mike Reeves
7e1016ff07 Update firewall rules to allow minions to connect 2020-05-15 13:59:07 -04:00
Mike Reeves
10896c1add Update Release Notes 2020-05-15 13:41:51 -04:00
m0duspwnens
2f566bf6d7 add so-standalone to agent/wazuh-register-agent 2020-05-15 13:25:31 -04:00
m0duspwnens
1a157eb6a5 add so-standalone to agent/ossec.conf 2020-05-15 13:23:58 -04:00
m0duspwnens
9c7481a0c7 add so-status map for standalone 2020-05-15 13:21:05 -04:00
Mike Reeves
d04f58a27e Update README.md 2020-05-15 13:10:52 -04:00
William Wernert
2f4ce40095 [fix] Change verbiage to indicate the master vs open is only for OS packages 2020-05-15 11:40:37 -04:00
William Wernert
692d1d72a3 [fix] Change verbiage to indicate the master vs open is only for OS packages 2020-05-15 11:39:59 -04:00
William Wernert
c9614f9baf [fix] Only add user to SOC on masters 2020-05-15 11:20:33 -04:00
m0duspwnens
74290eca2a change = to in - https://github.com/Security-Onion-Solutions/securityonion-saltstack.git 2020-05-15 11:20:06 -04:00
m0duspwnens
f3a2c1fb4d add missing ] - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 11:08:10 -04:00
m0duspwnens
f4db261baf change elif - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 10:57:25 -04:00
m0duspwnens
fdae84bb74 remove = in - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 10:56:16 -04:00
William Wernert
cfec4eb5a2 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-15 10:52:33 -04:00
William Wernert
b37b993eea [fix] Don't say we're downloading containers on iso install 2020-05-15 10:43:20 -04:00
William Wernert
eeb0579acb [fix] Don't change settings during whiptail menus on ISO 2020-05-15 10:42:52 -04:00
William Wernert
b9456dcc98 [fix] Set output dir for docker registry untar 2020-05-15 10:42:13 -04:00
Doug Burks
d6d27a2861 avoid duplicate entries in _cluster/settings for mastersearch
https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/696
2020-05-15 10:29:24 -04:00
m0duspwnens
509188092c adding so-standalone state logic, add zeek pillar to so-standalone - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-15 10:02:25 -04:00
m0duspwnens
e8244cb2f2 add standalone to case statement in configure_minion so-functions - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-14 17:14:35 -04:00
m0duspwnens
5f1582f39f remove extra space for standalone from pillar/top = https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-14 16:57:50 -04:00
Doug Burks
e41c1b6755 fix typo 2020-05-14 16:57:34 -04:00
m0duspwnens
fb020f4fcd update so-functions to handle STANDALONE mode - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-14 16:26:04 -04:00
m0duspwnens
692f04727f add standalone mode to pillar and state top - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-14 16:06:19 -04:00
m0duspwnens
3064af753b allow STANDALONE mode to install salt-master - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/140 2020-05-14 15:23:53 -04:00
Josh Patterson
09368b05f7 Merge pull request #688 from Security-Onion-Solutions/issue/140
rename PROD to STANDALONE
2020-05-14 15:06:38 -04:00
m0duspwnens
5f4ec41497 rename PROD to STANDALONE 2020-05-14 15:05:37 -04:00
m0duspwnens
a97594135a Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 14:55:47 -04:00
Josh Patterson
989dc418a8 Merge pull request #686 from Security-Onion-Solutions/quickfix/sostatus
rename so-aptcacherng for so-status
2020-05-14 14:12:24 -04:00
m0duspwnens
9667f8b853 rename so-aptcacherng for so-status 2020-05-14 14:11:06 -04:00
m0duspwnens
a51e590d24 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 14:04:42 -04:00
Doug Burks
34d9882987 fix Wazuh and Sysmon queries 2020-05-14 13:47:01 -04:00
Josh Patterson
8cd3d0c16c Merge pull request #684 from Security-Onion-Solutions/issue/682
run so-elasticsearch-pipelines only on changes
2020-05-14 13:41:07 -04:00
m0duspwnens
7f464af5fa run so-elasticsearch-pipelines only on changes - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/682 2020-05-14 13:39:19 -04:00
m0duspwnens
fc582c7bf6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 13:24:11 -04:00
William Wernert
02cd70c2e0 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 12:33:34 -04:00
William Wernert
80cd408821 [fix] Only install nc, not full nmap 2020-05-14 12:33:28 -04:00
Mike Reeves
dbef2e2832 Update soc.json 2020-05-14 11:56:18 -04:00
William Wernert
5078ea8692 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-14 11:50:22 -04:00
William Wernert
2642968089 [fix] Correct wazuh + suricata pillar placement 2020-05-14 11:50:16 -04:00
Mike Reeves
6991900ceb Update Query for geo 2020-05-14 11:34:10 -04:00
Doug Burks
5c3e7acc6d change resp_mime_types to file.resp_mime_types 2020-05-14 11:21:32 -04:00
Doug Burks
6112322bce change file.path to smb.path 2020-05-14 11:20:11 -04:00
Josh Brower
daf2936635 Merge pull request #680 from Security-Onion-Solutions/bugfix/navigator-top
Navigator top.sls fix
2020-05-14 11:20:00 -04:00
Josh Brower
554612d25f Navigator top.sls fix 2020-05-14 11:19:07 -04:00
Mike Reeves
937f488a8f Update static pillar 2020-05-14 11:13:43 -04:00
Doug Burks
c7b4ab116f fix rfb typo 2020-05-14 10:57:44 -04:00
Josh Brower
9186a553ca Merge pull request #678 from Security-Onion-Solutions/bugfix/nids-and-osquerypackages
osquery packages fix
2020-05-13 20:40:41 -04:00
Josh Brower
3db67de27a osquery packages fix 2020-05-13 20:39:56 -04:00
Josh Brower
a37ce376a7 Merge pull request #676 from Security-Onion-Solutions/bugfix/elastalert-nidsalert
Playbook hivealert fixes
2020-05-13 19:28:19 -04:00
Josh Brower
8a68e6adb3 Playbook hivealert fixes 2020-05-13 19:27:14 -04:00
Josh Patterson
0e43a948b5 Merge pull request #675 from Security-Onion-Solutions/issue/668
add missing install for apt-get
2020-05-13 17:38:44 -04:00
m0duspwnens
367f99bf6e add missing install for apt-get 2020-05-13 17:38:11 -04:00
Josh Patterson
e8778a2ad7 Merge pull request #674 from Security-Onion-Solutions/issue/668
point gpg key to archive/2019.2.5
2020-05-13 17:24:04 -04:00
m0duspwnens
d82c6c34ed Merge branch 'issue/668' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into issue/668 2020-05-13 17:22:34 -04:00
m0duspwnens
f3ff8dc18c add quiet option back to wget 2020-05-13 17:22:24 -04:00
Josh Patterson
5e2a1b9346 Merge branch 'dev' into issue/668 2020-05-13 17:17:53 -04:00
m0duspwnens
1499a0c5fd point gpg key to archive/2019.2.5 2020-05-13 17:16:15 -04:00
Josh Brower
e9deb99d2f Merge pull request #673 from Security-Onion-Solutions/bugfix/elastalert-nidsalert
Elastalert - NIDS fix
2020-05-13 17:04:00 -04:00
Josh Brower
c3627c38e3 Elastalert - NIDS fix 2020-05-13 17:03:14 -04:00
Josh Patterson
1b764f5d90 Merge pull request #672 from Security-Onion-Solutions/issue/668
remove space in package install
2020-05-13 16:43:34 -04:00
m0duspwnens
64cddfeed3 remove space in package install 2020-05-13 16:42:49 -04:00
Josh Brower
48ee1fe016 Merge pull request #671 from Security-Onion-Solutions/bugfix/elastalert
Elastalert --> TheHive fixes
2020-05-13 16:35:22 -04:00
Josh Brower
6e4ee26a58 Elastalert --> TheHive fixes 2020-05-13 16:34:35 -04:00
William Wernert
92bb1499c4 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev
# Conflicts:
#	setup/so-functions
2020-05-13 16:20:10 -04:00
William Wernert
d7f5246dc4 [feat] Add quiet flag to wget 2020-05-13 16:19:06 -04:00
William Wernert
8c8e0bf0e4 [fix] Set hostname correctly so salt picks it up before reboot 2020-05-13 16:15:41 -04:00
Josh Patterson
c0c173fd71 Merge pull request #670 from Security-Onion-Solutions/issue/668
fix the missed changes for 2019.2.5 salt upgrade
2020-05-13 16:04:58 -04:00
m0duspwnens
c4ba7b3024 fix the missed changes for 2019.2.5 salt upgrade - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/668 2020-05-13 16:03:22 -04:00
Josh Patterson
a06498d8fb Merge pull request #669 from Security-Onion-Solutions/issue/668
pin salt repo to 2019.2.5 for centos7
2020-05-13 15:19:34 -04:00
m0duspwnens
9d33d6ae62 pin salt repo to 2019.2.5 for centos - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/668 2020-05-13 15:18:07 -04:00
m0duspwnens
8c090b180b Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-13 15:02:55 -04:00
Josh Patterson
9c98d7d570 Merge pull request #667 from Security-Onion-Solutions/issue/227
add newline to mastersearch tab
2020-05-13 14:10:07 -04:00
m0duspwnens
5b57c58b84 add newline to mastersearch tab 2020-05-13 14:09:15 -04:00
William Wernert
5623f2e9a4 [fix] INSTALLERTYPE > install_type 2020-05-13 13:25:55 -04:00
William Wernert
c7aac11868 [fix] Don't redirect echo twice 2020-05-13 13:04:39 -04:00
William Wernert
530dd3b82b [fix] Don't redirect echo twice 2020-05-13 12:49:37 -04:00
William Wernert
6cdcda30f4 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-13 12:43:54 -04:00
William Wernert
8ce520317e [fix] Sensor needs to set up firewall before installing packages 2020-05-13 12:43:50 -04:00
Josh Brower
bb0a89f12b Merge pull request #666 from Security-Onion-Solutions/bugfix/playbook-updateplays
Playbook - update plays
2020-05-13 12:20:30 -04:00
Josh Brower
23b4870ee6 Playbook - update plays 2020-05-13 12:19:37 -04:00
Jason Ertel
db51ab9d45 Adjust elastalert salt setup to match new so-elastalert image 2020-05-13 12:14:18 -04:00
Josh Patterson
e9cf0f8599 Merge pull request #665 from Security-Onion-Solutions/issue/227
Issue/227
2020-05-13 12:11:43 -04:00
m0duspwnens
d94a76a2c7 fix docker_container_cpu calculations for grafana 2020-05-13 12:06:02 -04:00
William Wernert
36b16cd2fe [fix] Remove extra backslash 2020-05-13 11:57:17 -04:00
William Wernert
846a875429 [fix] Install epel before installing argon2 2020-05-13 11:54:57 -04:00
m0duspwnens
581000b920 add grafana dashboard for mastersearch node - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/227 2020-05-13 11:52:10 -04:00
William Wernert
10cd6dd8d9 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-12 18:07:10 -04:00
William Wernert
24dd4e0489 [fix] Add user to SOC after state has been applied 2020-05-12 18:07:04 -04:00
Mike Reeves
50fc9a4713 Merge pull request #664 from Security-Onion-Solutions/feature/defaultsearch
Remove Keyword
2020-05-12 17:55:32 -04:00
Mike Reeves
0b0c8d8471 Remove Keyword 2020-05-12 17:54:25 -04:00
William Wernert
1230cc57d7 [fix] Correct percentages 2020-05-12 17:54:03 -04:00
William Wernert
75af1e9920 Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-12 17:52:48 -04:00
William Wernert
08007a491f [fix] reboot error fix 2020-05-12 17:52:44 -04:00
William Wernert
cb69edc6dd [fix] Add back call to add_web_user 2020-05-12 17:50:52 -04:00
Mike Reeves
71f99528ae Move idstools and master earlier in the setup 2020-05-12 17:47:55 -04:00
Josh Brower
bc4b4385bf Merge pull request #662 from Security-Onion-Solutions/bugfix/soctopus-config
soctopus config fix
2020-05-12 17:04:22 -04:00
Josh Patterson
81d66207ed Merge pull request #661 from Security-Onion-Solutions/quickfix/common
move statedir and salttmp from salt state to common state
2020-05-12 17:00:13 -04:00
Josh Brower
d270c8f32d soctopus config fix 2020-05-12 16:59:35 -04:00
m0duspwnens
d5b2a6f059 move statedir and salttmp from salt state to common state 2020-05-12 16:58:26 -04:00
m0duspwnens
d1a1e6e265 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-12 16:54:57 -04:00
m0duspwnens
56b92afb6b fix telegraf.conf for different roles 2020-05-12 16:54:38 -04:00
Josh Brower
6956f14c0d Merge pull request #660 from Security-Onion-Solutions/bugfix/playbook-mysql-final
salt bug workarounds
2020-05-12 16:25:13 -04:00
Josh Brower
4d3d7dc60e salt bug workarounds 2020-05-12 16:24:24 -04:00
m0duspwnens
3d643f88fd Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-12 15:32:39 -04:00
William Wernert
6b837f80ff [fix] numeric argument required, return 0 in wait_for_file 2020-05-12 14:26:02 -04:00
William Wernert
01b68e8b6a Merge branch 'dev' of github.com:Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-12 14:20:14 -04:00
William Wernert
f8da001b7c [fix] numeric argument required, unquote var 2020-05-12 14:19:35 -04:00
Josh Brower
abd907fee1 Merge pull request #659 from Security-Onion-Solutions/bugfix/nids-parsing-alerting
suricata parsing
2020-05-12 14:07:51 -04:00
Josh Brower
62bec93190 suricata parsing 2020-05-12 14:04:02 -04:00
Mike Reeves
69bb422fa2 Merge pull request #658 from Security-Onion-Solutions/feature/defaultsearch
Update soc.json with default search info
2020-05-12 13:58:47 -04:00
Mike Reeves
0b7568e08f Update soc.json with default search info 2020-05-12 13:57:40 -04:00
Josh Brower
d1eac195d8 Enable Navigator 2020-05-11 22:41:54 -04:00
Josh Brower
4bd8e136be Enabled playbook 2020-05-11 22:41:02 -04:00
Josh Brower
d3992cb6e1 Merge pull request #657 from Security-Onion-Solutions/bugfix/playbook-mysql
playbook mysql fixes
2020-05-11 22:39:58 -04:00
Josh Brower
09ce3e088a playbook mysql fixes 2020-05-11 22:39:13 -04:00
m0duspwnens
66e48e3294 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-11 13:50:00 -04:00
Josh Brower
b658f7133b Update top.sls 2020-05-11 09:48:24 -04:00
Mike Reeves
09e2413695 Remove version hardcode 2020-05-10 17:31:50 -04:00
Josh Brower
945d50cc13 Merge pull request #649 from Security-Onion-Solutions/bugfix/playbook-mysql
navigator fixes
2020-05-10 11:58:39 -04:00
Josh Brower
20e7331bb9 navigator fixes 2020-05-10 11:57:20 -04:00
Josh Brower
4977a8b17c Merge pull request #648 from Security-Onion-Solutions/bugfix/playbook-mysql
Fix playbook mysql errors
2020-05-10 07:58:39 -04:00
Josh Brower
02160b12ee Fix playbook mysql errors 2020-05-10 07:57:45 -04:00
Josh Brower
170d799470 Merge pull request #647 from Security-Onion-Solutions/bugfix/playbook-mysql
feature/playbook mysql
2020-05-09 16:30:50 -04:00
Mike Reeves
02ea4eb410 Update so-functions 2020-05-09 12:00:57 -04:00
m0duspwnens
0f5ca7b62e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-08 17:15:37 -04:00
Jason Ertel
47295d42f5 Initial iteration of new SOC Event search module 2020-05-08 17:00:06 -04:00
Josh Brower
e3a3a01ee1 Merge remote-tracking branch 'remotes/origin/dev' into bugfix/playbook-mysql 2020-05-08 16:49:38 -04:00
Josh Brower
9b54a432fc mysql playbook 2020-05-08 16:36:59 -04:00
Mike Reeves
fc2564e7be Update ip lists 2020-05-08 12:07:16 -04:00
Mike Reeves
85708b77c6 Update aliases 2020-05-08 11:47:35 -04:00
Mike Reeves
470046dda9 Update setup for new format 2020-05-08 11:16:26 -04:00
Mike Reeves
986df0c573 Update ports.yml 2020-05-08 11:13:23 -04:00
m0duspwnens
1945c57b0d starting new fw format - issue/641 2020-05-07 18:22:23 -04:00
Mike Reeves
818c5025f9 Merge pull request #644 from Security-Onion-Solutions/issue/140
Change Prod Mode to Standalone
2020-05-07 16:11:40 -04:00
Mike Reeves
34bcfd806d Change Prod Mode to Standalone 2020-05-07 16:10:50 -04:00
m0duspwnens
c393cc6594 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-07 11:39:12 -04:00
Mike Reeves
dd8627f9dd Initial Firewall State Simplification 2020-05-07 11:36:38 -04:00
Mike Reeves
a883af32e7 change core to nginx 2020-05-06 18:07:26 -04:00
Mike Reeves
f2acf93493 Fix version in so-functions 2020-05-06 17:51:32 -04:00
Mike Reeves
3550248d39 Fix registry unpack for ISO 2020-05-06 17:48:47 -04:00
m0duspwnens
cdd985cc57 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-06 16:51:16 -04:00
Josh Patterson
dd96a44c05 Merge pull request #640 from Security-Onion-Solutions/issue/632
Issue/632
2020-05-06 16:50:14 -04:00
m0duspwnens
2e6e474a54 require with onchanges is redundant 2020-05-06 16:48:27 -04:00
m0duspwnens
0662245590 fix for https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/632 2020-05-06 16:38:39 -04:00
m0duspwnens
7b0c385920 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-06 15:39:42 -04:00
Mike Reeves
50b352bfb6 Merge pull request #638 from Security-Onion-Solutions/issue/140
Added Production Mode
2020-05-06 14:37:36 -04:00
Mike Reeves
80aca60477 Added Production Mode 2020-05-06 14:27:34 -04:00
Mike Reeves
72ea577c70 Merge pull request #637 from Security-Onion-Solutions/issue/620
Remove Parsing Node
2020-05-06 14:08:50 -04:00
Mike Reeves
bc6c8c8332 Remove Parsing Node 2020-05-06 14:06:02 -04:00
Mike Reeves
1fa1277e31 Fix for osquery firewall 2020-05-06 11:29:28 -04:00
Mike Reeves
48ad831f9f Merge pull request #636 from Security-Onion-Solutions/feature/firewallupdate
Feature/firewallupdate
2020-05-06 09:38:52 -04:00
Josh Brower
bc34c67f47 Merge remote-tracking branch 'remotes/origin/dev' into bugfix/playbook-mysql 2020-05-06 08:30:45 -04:00
Josh Brower
2e3bcf600f Playbook mysql 2020-05-06 08:29:14 -04:00
Mike Reeves
88df4cc7ae Fix location for files 2020-05-05 23:31:34 -04:00
Mike Reeves
77b07bb6f8 Fix location for files 2020-05-05 23:02:50 -04:00
Mike Reeves
13e067c20a Fix location for files 2020-05-05 17:45:19 -04:00
m0duspwnens
7f2785770f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-05 17:25:51 -04:00
Mike Reeves
6936bc9c3e Fix file for firewall templates 2020-05-05 14:45:54 -04:00
Mike Reeves
fbbf9dab60 Allow Firewall to update between versions 2020-05-05 13:57:36 -04:00
Josh Patterson
981801f23c Merge pull request #630 from Security-Onion-Solutions/issue/629
remove schedule state from being applied
2020-05-05 11:02:46 -04:00
m0duspwnens
ad7e59794a remove schedule state from being applied 2020-05-05 10:57:14 -04:00
m0duspwnens
be23a85bf0 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-05 10:52:28 -04:00
William Wernert
754f3ac537 Merge pull request #608 from Security-Onion-Solutions/feature/setup-testing-flag
Feature/setup testing flag
2020-05-05 09:08:55 -04:00
William Wernert
a20f9e2697 Merge branch 'dev' into feature/setup-testing-flag
# Conflicts:
#	setup/so-functions
#	setup/so-whiptail
2020-05-05 09:08:37 -04:00
William Wernert
aa00309f00 [fix] Add TESTING flag to resolve merge conflicts 2020-05-05 09:06:46 -04:00
William Wernert
fc2de5a384 [fix] Pipe firstcheckin output to /dev/null 2020-05-04 20:43:42 -04:00
William Wernert
1c0a78e8ad Merge pull request #628 from Security-Onion-Solutions/feature/hw-requirements
Feature/hw requirements
2020-05-04 16:57:35 -04:00
William Wernert
0b37437102 [fix] so-setup fixes (function ordering
* Firewall function needs to be run at different times for different install types
* Minion pillars need to be copied before running any salt states
2020-05-04 16:56:23 -04:00
William Wernert
d9a8fa0474 [fix] Hit -> Press 2020-05-04 16:06:02 -04:00
m0duspwnens
07df3c90ab Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-04 16:01:22 -04:00
William Wernert
6785b9e4d2 [feat] Add check for hardware requirements 2020-05-04 15:59:07 -04:00
Josh Patterson
d9dff52104 Merge pull request #627 from Security-Onion-Solutions/issue/623
nginx portion of https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/623
2020-05-04 15:45:23 -04:00
m0duspwnens
9adf08522c nginx portion of https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/623 2020-05-04 15:43:09 -04:00
William Wernert
457007c9c7 Merge pull request #626 from Security-Onion-Solutions/feature/gitignore
[feat] Add .gitignore
2020-05-04 14:10:16 -04:00
William Wernert
852c3ced3b [feat] Add .gitignore 2020-05-04 14:09:06 -04:00
William Wernert
398991de0c Merge pull request #625 from Security-Onion-Solutions/feature/setup-refactor
Feature/setup refactor
2020-05-04 14:01:47 -04:00
William Wernert
c42c22dc66 [fix] Correct require in fleet sls 2020-05-04 13:49:27 -04:00
William Wernert
07726de250 [fix] Remove old FIXMEs 2020-05-04 12:15:44 -04:00
m0duspwnens
81ce7b915a Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-05-04 11:05:31 -04:00
William Wernert
80aee06a67 [fix] Remove files that are no longer in dev 2020-05-04 10:57:46 -04:00
William Wernert
5805d68b58 [fix] Fix dev merge issues 2020-05-04 10:55:00 -04:00
William Wernert
a2fbdf644c [fix] Move + rename SOVERSION var for ISO build 2020-05-04 10:43:27 -04:00
William Wernert
714cd522cb Merge branch 'dev' into feature/setup-refactor
# Conflicts:
#	README.md
#	VERSION
#	pillar/top.sls
#	salt/common/grafana/grafana_dashboards/eval/eval.json
#	salt/common/init.sls
#	salt/common/tools/sbin/so-status
#	salt/curator/init.sls
#	salt/elastalert/init.sls
#	salt/elasticsearch/init.sls
#	salt/filebeat/init.sls
#	salt/fleet/files/scripts/so-fleet-setup
#	salt/fleet/init.sls
#	salt/grafana/dashboards/sensor_nodes/sensor.json
#	salt/hive/init.sls
#	salt/idstools/init.sls
#	salt/kibana/bin/so-kibana-config-load
#	salt/logstash/init.sls
#	salt/master/init.sls
#	salt/mysql/init.sls
#	salt/nginx/etc/index.html
#	salt/pcap/init.sls
#	salt/playbook/init.sls
#	salt/reactor/fleet.sls
#	salt/redis/init.sls
#	salt/sensoroni/init.sls
#	salt/soctopus/init.sls
#	salt/strelka/init.sls
#	salt/suricata/init.sls
#	salt/tcpreplay/init.sls
#	salt/wazuh/init.sls
#	salt/zeek/init.sls
#	setup/so-functions
#	setup/so-setup
#	setup/so-whiptail
2020-05-04 10:35:53 -04:00
William Wernert
26e40f433b [fix] Pull docker/config.sls changes from dev 2020-05-04 10:28:44 -04:00
William Wernert
c82f55695c [fix] Docker container list fix 2020-05-04 10:27:07 -04:00
William Wernert
2c307242b1 [fix] Set MAINIP var on all installs 2020-05-04 10:24:47 -04:00
William Wernert
6a4f3a526f [fix] Fix so-setup ordering
Run all salt commands after accepting salt key, and apply firewall state after all pillars generated
2020-05-04 09:43:36 -04:00
William Wernert
eb2c432f22 [fix] Correct ordering of setup commands
Firewall must be updated before checking in to salt,
and schedule state must run before copying minion temp files to master
2020-05-04 09:36:17 -04:00
William Wernert
c4741043e9 [fix] Only chmod files if they exist 2020-05-04 09:34:57 -04:00
William Wernert
6ae91c2ff0 [feat] Use getent instead of hosts in case the hostsfile has already been updated 2020-05-04 09:34:36 -04:00
Josh Patterson
285d74767d Merge pull request #624 from Security-Onion-Solutions/issue/619
Issue/619
2020-05-01 15:44:12 -04:00
m0duspwnens
2dd2289c94 fix some happy mistakes - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/619 2020-05-01 15:37:54 -04:00
m0duspwnens
174b353ce0 salt version pulled due to vuln, update to 2019.2.4 2020-05-01 14:01:10 -04:00
m0duspwnens
e2244bd839 use maps for so-status - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/619 2020-05-01 13:21:11 -04:00
William Wernert
299709108f [fix] Don't run check_exitstatus in whiptail_homenet_sensor 2020-05-01 11:04:35 -04:00
Mike Reeves
cb59d21f5a Merge pull request #622 from Security-Onion-Solutions/fix/1.2.2
Fix/1.2.2
2020-05-01 10:47:33 -04:00
Mike Reeves
aeebc893de Update SOC page 2020-05-01 10:44:05 -04:00
Mike Reeves
a0310b1c2c Update Readme 2020-05-01 10:38:04 -04:00
Mike Reeves
90840f6d00 Update Kratos yaml 2020-04-30 15:21:52 -04:00
William Wernert
a44158261a [fix] Run salt command to check in to master before accepting salt key 2020-04-30 12:45:48 -04:00
William Wernert
6359da0010 [fix] Move salt-key accept to after the ca + ssl states 2020-04-30 11:31:33 -04:00
Mike Reeves
784e2896bd Fix Strelka Versioning 2020-04-30 11:31:07 -04:00
William Wernert
4c6b841b16 [fix] Set minion id after prompting for hostname 2020-04-30 10:06:53 -04:00
Mike Reeves
793b887aea Update vertsion to 1.2.2 2020-04-30 09:44:49 -04:00
William Wernert
a281f59319 [fix] Update packages before setting highstate on salt startup in case it updates 2020-04-30 08:51:38 -04:00
William Wernert
1f030160b0 [feat] Update salt ver to 2019.2.4 2020-04-30 08:49:16 -04:00
William Wernert
93493b204f [fix] Add new whitespace 2020-04-29 18:15:21 -04:00
William Wernert
3d04ab59d5 [fix] Comment template lines in so-status 2020-04-29 18:14:28 -04:00
William Wernert
0ee4aa9eb9 [fix] Move common pillar values to the bottom of the top file 2020-04-29 18:13:22 -04:00
William Wernert
5e18eb6e4d [fix] Use False instead of 0 as default val in docker/config.sls 2020-04-29 18:12:50 -04:00
Mike Reeves
bf6b525359 Update Salt Version 2020-04-29 16:39:41 -04:00
m0duspwnens
19eec6e1f4 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-29 16:10:52 -04:00
Josh Patterson
cb541ebea2 Merge pull request #614 from Security-Onion-Solutions/issue/613
only do sed if fleet_node is true
2020-04-29 16:02:22 -04:00
m0duspwnens
9833d1754a only do sed if fleet_node is true - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/613 2020-04-29 11:19:28 -04:00
m0duspwnens
e95842deef Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-29 09:49:07 -04:00
William Wernert
bf41fe838c [fix] Correct order of setup salt states 2020-04-28 22:40:21 -04:00
William Wernert
31f9f31ff2 [fix] Run docker pull once more if the first time fails 2020-04-28 22:39:45 -04:00
William Wernert
fcc15e283a [fix] Remove duplicate salt state 2020-04-28 22:38:52 -04:00
William Wernert
e1a457e445 [fix] Correct mysql port 2020-04-28 22:38:36 -04:00
William Wernert
8afacd9709 [fix] Run elasticsearch state earlier in setup 2020-04-28 16:19:26 -04:00
William Wernert
05c55efe12 [fix] Test for 3306 on MASTERIP, not localhost 2020-04-28 16:19:08 -04:00
William Wernert
3cff145e2d [fix] Verify vm.max_map_count is present before so-thehive-es 2020-04-28 16:18:48 -04:00
Josh Patterson
f8dde1201e Merge pull request #609 from Security-Onion-Solutions/issue/585
Issue/585
2020-04-28 16:11:38 -04:00
m0duspwnens
fdf5450a2e remove stuff.sls 2020-04-28 14:29:44 -04:00
William Wernert
f22cb9aac1 [feat] Add TESTING flag to whiptail menus for automated setup script testing 2020-04-28 14:11:08 -04:00
m0duspwnens
8d2ca003fb change how we populate local.zeek - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/585 2020-04-28 14:10:57 -04:00
Mike Reeves
d5075d68b1 Change Version Files 2020-04-28 14:00:20 -04:00
William Wernert
0ea8c349fb [fix] Fix typo + permissions 2020-04-28 13:34:36 -04:00
William Wernert
fa09a0ef4d [fix] Add back missing containers 2020-04-28 13:19:01 -04:00
William Wernert
e6492d4852 [fix] Don't set startup state until end of setup 2020-04-28 13:02:27 -04:00
m0duspwnens
c46a45f00f LOAD to LOCAL in local.zeek and sort local.zeek and zeekctl.cfg output 2020-04-28 12:08:32 -04:00
m0duspwnens
ca42850a0c add missing ) 2020-04-28 11:31:19 -04:00
William Wernert
7a456c2c6b [fix] Install netcat so nc command works 2020-04-28 10:58:32 -04:00
William Wernert
54127cf77a [fix] Revert changes to collect_webuser_inputs 2020-04-28 10:58:16 -04:00
William Wernert
968e3189e7 [fix] Fix indentation on mysql init.sls + depend on mysql container for fleet 2020-04-28 10:57:14 -04:00
m0duspwnens
b6741daca6 pillarize local.zeek and move zeekctl from defaults.yml to zeek pillar - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/585 2020-04-28 09:44:37 -04:00
William Wernert
34ddc69bfe [refactor][fix] Move so_version to so-variables 2020-04-28 09:01:27 -04:00
William Wernert
1eb387dcdd [fix] Change docker image prune back to docker rmi 2020-04-28 09:01:01 -04:00
William Wernert
af7accd1e9 [fix] Only disable unused nics if the array is not empty 2020-04-28 09:00:22 -04:00
William Wernert
b4f65955fe [fix] Update FS variables to correct names 2020-04-28 02:34:47 -04:00
William Wernert
d88382af12 [refactor] Change fleet sls to depend on mysql 2020-04-28 01:36:57 -04:00
William Wernert
3bfaa6f8de [merge] Merge master into feature/setup-refactor 2020-04-28 01:35:09 -04:00
m0duspwnens
3b5736f983 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-27 16:48:14 -04:00
Josh Patterson
90aabde4c9 Merge pull request #607 from Security-Onion-Solutions/issue/587
remove nginx from unneeded states
2020-04-27 15:10:12 -04:00
m0duspwnens
aff02e1f1c remove nginx from unneeded states 2020-04-27 15:02:30 -04:00
William Wernert
5c5a97ca75 [fix] Change order of ip link parsing 2020-04-27 12:10:59 -04:00
William Wernert
dc8ed1978d [fix] Redirect further lines to setup log, and fix issues with install 2020-04-27 08:48:06 -04:00
Jason Ertel
e4afc20366 Update Kratos config to match latest version of Kratos 2020-04-24 16:27:36 -04:00
Josh Patterson
19a3354aa2 Merge pull request #602 from Security-Onion-Solutions/issue/587
Issue/587
2020-04-24 16:26:46 -04:00
m0duspwnens
8a64ba727f remote html bind for nginx 2020-04-24 16:18:55 -04:00
Mike Reeves
d695514929 Fix Error locations 2020-04-24 14:28:23 -04:00
m0duspwnens
3136affc91 updating nginx index.html - issue/587 2020-04-24 14:24:33 -04:00
Mike Reeves
09abd723d1 Add favicons back 2020-04-24 13:42:08 -04:00
m0duspwnens
00e12d0747 Merge remote-tracking branch 'remotes/origin/dev' into issue/587 2020-04-23 15:46:50 -04:00
Mike Reeves
ad17c18824 Update Version to 1.2.2 for build automation 2020-04-23 13:59:18 -04:00
William Wernert
3f8d063bde [fix] Install wget on CentOS 2020-04-23 12:12:35 -04:00
William Wernert
46fd4cf96e [fix] Move common package install and fix typo 2020-04-23 11:52:21 -04:00
Mike Reeves
4197bfb348 Change tarball location 2020-04-23 10:29:09 -04:00
m0duspwnens
766b56a944 update dockers to 1.2.2 2020-04-23 10:11:26 -04:00
William Wernert
805299bc75 [fix[ Don't repeat whiptail menu 2020-04-22 23:06:46 -04:00
William Wernert
948e6fd20d [fix] Correct conversion ratio for log_size_limit 2020-04-22 22:48:41 -04:00
William Wernert
10e46b6fc3 [fix] Calc log_size_limit more accurately + actually call function 2020-04-22 22:42:24 -04:00
William Wernert
09c22bbe43 [fix] Create arrays for bro_pins and suricata_pins 2020-04-22 16:59:31 -04:00
William Wernert
02cd1a7623 [fix] Provide more feedback about whiptail exit status to user 2020-04-22 16:58:33 -04:00
William Wernert
5b3584d738 [fix] Add check for TESTHOST being blank, only install packages before setup if missing 2020-04-22 15:56:27 -04:00
William Wernert
d011be3faa [fix] Sensor should also set minion flag 2020-04-22 15:35:08 -04:00
William Wernert
4024c9758c [fix] Don't trim double quotes inline, masks whiptail cancel ret code 2020-04-22 15:25:25 -04:00
William Wernert
158f380dac [fix] Change =<(...) to =$(...) 2020-04-22 14:59:46 -04:00
William Wernert
5c9e2f1820 [fix] Blank terminal before whiptail starts 2020-04-22 14:57:37 -04:00
William Wernert
8404453cec [refactor] Use nproc to calculate number of cpu cores 2020-04-22 14:48:52 -04:00
William Wernert
212e57a16c [fix] Correct calculation order in calculate_useable_cores 2020-04-22 14:41:54 -04:00
William Wernert
088e9f1e7d [fix] Propagate variable rename CPUCORES -> num_cpu_cores 2020-04-22 14:37:27 -04:00
William Wernert
7c1bf39ff4 [fix] Don't print hostname in whiptail_set_redirect
* Fixes #598
2020-04-22 14:14:57 -04:00
William Wernert
a3927e2e5a [fix] Move get_redirect to run under any master node 2020-04-22 13:59:57 -04:00
William Wernert
1d55d00caf [fix] Redirect so-user command output to setup log 2020-04-22 13:57:24 -04:00
William Wernert
25432b745d [fix] Export instead of declaring dynamic variables 2020-04-22 13:56:53 -04:00
William Wernert
89674a0697 [fix] Add back web user prompts to setup 2020-04-22 13:27:49 -04:00
William Wernert
39e6f8ecbd [fix] Misc fixes for setup to run properly 2020-04-22 13:15:39 -04:00
William Wernert
3f264163d4 [fix] Test if QUIET var is set, and convert whiptail output to arrays
Also rewrite filter_unused_nics so it is the only source for list of nics
2020-04-22 13:15:08 -04:00
William Wernert
0250bf026a [fix] Redirect command outputs within saltify and docker_install 2020-04-22 13:12:12 -04:00
m0duspwnens
7e34595f99 rename docker container so-core to so-nginx - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/587 2020-04-21 15:16:08 -04:00
m0duspwnens
fd87e7bc1d breakout common state - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/587 2020-04-21 13:01:56 -04:00
m0duspwnens
95ddb80612 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-21 08:40:16 -04:00
Mike Reeves
8b76b30266 Merge pull request #586 from Security-Onion-Solutions/dev
1.2.1-1
2020-04-20 16:12:54 -04:00
Mike Reeves
a0c79f1a4a Merge pull request #581 from joeb1kenobe/patch-1
Update README.md
2020-04-20 16:06:42 -04:00
Mike Reeves
fe2f1f9aa3 Merge branch 'master' into patch-1 2020-04-20 16:05:01 -04:00
Mike Reeves
eaf54781e8 Merge branch 'master' into dev 2020-04-20 16:03:23 -04:00
William Wernert
739989473d [fix] Provide feedback when first running script, and execute whiptail commands 2020-04-20 15:41:01 -04:00
Mike Reeves
c024bdf427 remove proxy declaration 2020-04-20 15:31:13 -04:00
William Wernert
12e87d119b [fix] Reference correct variable when checking for setup type 2020-04-20 15:30:30 -04:00
Mike Reeves
f271fadfec Fix tarball 2020-04-20 15:28:13 -04:00
Mike Reeves
af1a44f479 Merge pull request #580 from Security-Onion-Solutions/dougburks-patch-1
Update README.md to point ISO users to the ISO page
2020-04-19 18:43:48 -04:00
Mike Reeves
c213287e07 Update README.md 2020-04-18 19:15:55 -04:00
Josh Patterson
9f1a4ddf9b Update so-functions 2020-04-18 19:15:55 -04:00
Mike Reeves
a48baf528b Update README.md 2020-04-18 19:12:21 -04:00
m0duspwnens
eca8cf5502 remove logstash pillars from eval in top 2020-04-18 19:12:21 -04:00
Wes Lambert
7ea861650f updated placeholder in saved objects 2020-04-18 19:11:20 -04:00
Wes Lambert
8622dab0d2 update load script 2020-04-18 19:11:19 -04:00
Mike Reeves
977cf8d3d1 Update Notes 2020-04-18 19:11:19 -04:00
Mike Reeves
6798c35728 Update Version File 2020-04-18 19:11:19 -04:00
Mike Reeves
ff29c9741e Update JOSN for release 2020-04-18 19:11:18 -04:00
m0duspwnens
8fd79fb6c8 add missing , 2020-04-18 19:11:18 -04:00
Josh Brower
e660de236a osquery pipeline fix 2020-04-18 19:11:18 -04:00
Mike Reeves
698a0d285c Fix the Strelka redis 2020-04-18 19:11:17 -04:00
m0duspwnens
e2c8bdcd40 remove space - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/571 2020-04-18 19:11:17 -04:00
m0duspwnens
1e8bb8b887 fix bug not allowing grafana to install on mastersearch - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/571 2020-04-18 19:11:16 -04:00
William Wernert
c76ce035a6 [refactor][WIP] Initial main setup script refactor
Untested, probably broken
2020-04-18 19:11:16 -04:00
William Wernert
ceb46c4eca [fix] Revert variable rename (HNSENSOR, HNMASTER) 2020-04-18 19:10:37 -04:00
William Wernert
ae9a7a4b55 [fix] Variable renames 2020-04-18 19:10:37 -04:00
William Wernert
b27efec2ef [refactor][WIP] Add functions for setup refactor 2020-04-18 19:10:37 -04:00
William Wernert
c851ff449b [fix] Redirect all needed commands to setup log 2020-04-18 19:10:36 -04:00
William Wernert
2e0e5c0014 [fix] Correct progress string logic 2020-04-18 19:10:36 -04:00
William Wernert
6ec2a24cbe [refactor] Remove redundant function docs 2020-04-18 19:10:35 -04:00
William Wernert
ef2bc3bfad [refactor][WIP] Delete so-contstants 2020-04-18 19:10:35 -04:00
William Wernert
8083550bb4 [fix] Revert find+replace error in suricata yaml 2020-04-18 19:10:35 -04:00
William Wernert
fcbd22318a [feat] Add dependence on mysql state to fleet state 2020-04-18 19:10:34 -04:00
William Wernert
068672ea12 [feat] Add a port check to the mysql state 2020-04-18 19:10:34 -04:00
William Wernert
3ef3c157f3 [refactor][WIP] Setup changes part 6 2020-04-18 19:10:33 -04:00
m0duspwnens
860e4fcead fix nsm threshold sensor dashboard 2020-04-18 19:04:24 -04:00
Mike Reeves
759204e77b Update Versions 2020-04-18 19:04:23 -04:00
Josh Brower
a9fba05b03 rename kratos config field 2020-04-18 19:04:23 -04:00
Mike Reeves
ea6d78b294 Download Strlka Dockers 2020-04-18 19:04:23 -04:00
Mike Reeves
137ef36f74 Change location of strelka dockers 2020-04-18 19:03:11 -04:00
Wes Lambert
66b4f15a7b replace static value for comm id 2020-04-18 19:03:11 -04:00
m0duspwnens
ff56b0db2b update nsm threshholds for searchnode 2020-04-18 19:03:10 -04:00
m0duspwnens
e6f1d487a9 changes to master dashboard 2020-04-18 19:03:10 -04:00
m0duspwnens
2cca01fdee update master dashboard 2020-04-18 19:03:10 -04:00
m0duspwnens
c95ecac7a3 rename forward node to sensor node for grafana 2020-04-18 19:03:09 -04:00
m0duspwnens
b33eccf929 rename forward node to sensor node for grafana 2020-04-18 19:03:09 -04:00
m0duspwnens
4b35098dfe rename forward node to sensor node for grafana 2020-04-18 19:03:09 -04:00
m0duspwnens
9d04c7fb7c remove graph from uptime eval 2020-04-18 19:03:08 -04:00
m0duspwnens
e8990b4009 zeek restart count red if >= 1 2020-04-18 19:03:08 -04:00
m0duspwnens
70010db77b fix spacing in zeek packet loss grafana panel 2020-04-18 19:03:07 -04:00
m0duspwnens
812e439d85 changes to eval grafana dashboard 2020-04-18 19:03:07 -04:00
m0duspwnens
a738995b09 change healthcheck to send 0 or 1 to telegraf for zeek restart 2020-04-18 19:03:07 -04:00
Josh Brower
8cb94872e6 osquery package versioning bugfix 2020-04-18 19:03:06 -04:00
William Wernert
9f8064563e [fix] Correct placeholder subbing for Kibana 2020-04-18 19:03:06 -04:00
William Wernert
2ca8d4ed9e [fix] Add correct PATH location in so-setup 2020-04-18 19:03:05 -04:00
Josh Brower
8fdc2a59c2 Playbook - automatically set SOCtopus IP 2020-04-18 19:03:05 -04:00
Mike Reeves
4c837c7d15 Apply yum fixes once changes are opk 2020-04-18 19:02:46 -04:00
Wes Lambert
b67229783b update parsing for Zeek files 2020-04-18 18:59:21 -04:00
Josh Brower
4475ebfaa8 Fleet package fixes 2020-04-18 18:59:20 -04:00
Wes Lambert
358d2f74b2 update key name 2020-04-18 18:58:27 -04:00
Josh Brower
9216d92488 osquery ingest ecs 2020-04-18 18:58:27 -04:00
Wes Lambert
0a564a438b update Kibana config 2020-04-18 18:58:27 -04:00
Josh Brower
066f1251a7 NIDS2TheHive Update for ECS 2020-04-18 18:58:26 -04:00
Jason Ertel
b7f50c321b secure config files 2020-04-18 18:58:26 -04:00
Jason Ertel
61ae94b2b3 secure config files 2020-04-18 18:58:25 -04:00
Josh Brower
12af856d00 fleet osquery fixes 2020-04-18 18:58:25 -04:00
Jason Ertel
ad26900a01 Ensure Path=/ is specified for cookie for eval mode 2020-04-18 18:58:24 -04:00
m0duspwnens
cca408e2d8 change log_size_limit logic - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/551 2020-04-18 18:58:24 -04:00
Wes Lambert
5f2fa0fdc5 migrate Zeek clean script from Bro 2020-04-18 18:56:34 -04:00
Jason Ertel
f205d97f26 support auto redirect on login 2020-04-18 18:56:34 -04:00
Jason Ertel
decf2ef022 Added config changes needed for new admin pages in SOC 2020-04-18 18:56:34 -04:00
Jason Ertel
9c2975a546 Continued auth improvements 2020-04-18 18:56:33 -04:00
m0duspwnens
308ef0fc30 move salt logs to /opt/so/logs - https://github.com/Security-Onion-Solutions/securityonion-saltstack/issues/530 2020-04-18 18:56:32 -04:00
Mike Reeves
bd0aaab003 Fix Filebeat Yaml 2020-04-18 18:55:44 -04:00
Mike Reeves
18450815d8 Have templates applied on the master only 2020-04-18 18:55:44 -04:00
Mike Reeves
2d086b7355 Disable Strelka for all things 2020-04-18 18:55:44 -04:00
Mike Reeves
093b6431f2 Fix Wazuh and Strelka 2020-04-18 18:55:43 -04:00
Mike Reeves
d3699cb9e3 Remove ES watch 2020-04-18 18:54:43 -04:00
Mike Reeves
a7c8df7f45 Fix ES Watch 2020-04-18 18:54:43 -04:00
Josh Brower
294fb67007 so-status Fleet node 2020-04-18 18:54:42 -04:00
m0duspwnens
38d4687b78 fix missing telegraf data for /nsm 2020-04-18 18:54:42 -04:00
William Wernert
48549cdd83 [fix] NetworkManager dir should not be string 2020-04-18 18:54:41 -04:00
Mike Reeves
786454c8d4 Make Kibana run faster on checkins 2020-04-18 18:53:50 -04:00
m0duspwnens
8f67056c71 removing path.config 2020-04-18 18:53:49 -04:00
m0duspwnens
ab6e989663 adding searchnode to salt/top 2020-04-18 18:53:49 -04:00
William Wernert
87e6763859 [fix] Change script permissions to allow execution 2020-04-18 18:53:43 -04:00
William Wernert
6a29c81f67 [refactor] Rename variables in suricata yamls 2020-04-18 18:52:34 -04:00
William Wernert
35b5dfd83e [refactor] Move functions used by multiple scripts to separate file 2020-04-18 18:51:58 -04:00
William Wernert
5c3a56a289 [refactor] Start using lower case for variables 2020-04-18 18:50:13 -04:00
William Wernert
ce59019967 [refactor] Move variables to their own file 2020-04-18 18:41:19 -04:00
William Wernert
63fd274106 [Fix] Remove mysql salt dep function calls from so-setup 2020-04-18 18:38:24 -04:00
William Wernert
1ac29c6fbe [refactor] Formatting change to calculate_useable_cores 2020-04-18 18:37:43 -04:00
William Wernert
912fb6d583 [refactor] Generic wait_for_file function 2020-04-18 18:36:52 -04:00
William Wernert
74375fe839 [refactor] More case statements. local vars, and double quoted strings 2020-04-18 18:36:12 -04:00
William Wernert
a7539c111e [refactor] Remove duplicate code in set_hostname 2020-04-18 18:34:04 -04:00
William Wernert
6e4a6ccfeb [refactor] Initial saltify function refactor 2020-04-18 18:32:44 -04:00
William Wernert
b57b1b6689 [refactor] Start using case statements and local vars 2020-04-18 18:29:57 -04:00
William Wernert
f801cbe376 [refactor] Use 0/1 for MASTERUPDATES variable 2020-04-18 18:28:02 -04:00
William Wernert
043f2df7e3 [refactor] Set enabled components in whiptail function 2020-04-18 18:26:27 -04:00
William Wernert
6ca5827ce6 [refactor] Use = instead of ==, more printf changes 2020-04-18 18:23:27 -04:00
William Wernert
076f161c35 [refactor][fix] Cleanup docker_install 2020-04-18 18:19:27 -04:00
William Wernert
2ab1fa75ee [refactor] Rearrange docker_registry seed 2020-04-18 18:18:41 -04:00
William Wernert
a4267fd28b [refactor] Use printf instead of echo to create multiline files 2020-04-18 18:18:08 -04:00
William Wernert
723d8f6f3f [fix] Fix various code formatting issues 2020-04-18 18:17:28 -04:00
William Wernert
b009c2677b [refactor] Generic user create and check password functions 2020-04-18 18:16:11 -04:00
William Wernert
9331ede408 [fix] Double quote variables, fix indents, remove useless cats 2020-04-18 18:14:55 -04:00
Wes Lambert
159799c91d move PL 2020-04-18 18:10:34 -04:00
Wes Lambert
0c658d01ef remark config load section for now 2020-04-18 18:10:33 -04:00
m0duspwnens
a8bd50a0cd adding searchnode to pillar/top 2020-04-18 18:10:33 -04:00
William Wernert
ef550fed2b [fix] Networking fixes 2020-04-18 18:10:32 -04:00
Wes Lambert
19678aa977 fix order 2020-04-18 18:09:38 -04:00
Wes Lambert
40e683d7a6 replace URL template with Label template 2020-04-18 18:09:38 -04:00
Wes Lambert
0e3978b87c Revert "update Kibana config"
This reverts commit 82bd14252c.
2020-04-18 18:09:37 -04:00
Mike Reeves
e1bd8c6d51 Filter out KVM kits so cpu count is correct 2020-04-18 18:09:37 -04:00
Mike Reeves
73f52d69d4 Fix so not executed in tmp 2020-04-18 18:08:41 -04:00
Wes Lambert
f2b3ca8763 add Kibana config export command 2020-04-18 18:08:41 -04:00
Wes Lambert
a7bb014fba update Kibana config 2020-04-18 18:08:40 -04:00
William Wernert
6d3bc4ec1d [refactor] grep file instead of piping cat to grep 2020-04-18 18:08:33 -04:00
William Wernert
789173be98 [refactor] Move collect_webuser_inputs to so-functions 2020-04-18 18:07:50 -04:00
William Wernert
586d231ab1 [refactor] Copy public keys instead of using HEREDOC 2020-04-18 18:07:11 -04:00
William Wernert
2127924066 [fix] Double quote variables + fix indents 2020-04-18 18:06:30 -04:00
Joe Brown
acf9c29c83 Update README.md
You stated in the blog that 16.04 was no longer supported. However in the Readme, it states to use 16.04. Update readme to 18.04.
2020-04-18 07:05:58 -04:00
Doug Burks
ea7dd0763f Update README.md 2020-04-18 06:50:17 -04:00
Doug Burks
eebc75d245 Update README.md 2020-04-18 06:48:12 -04:00
Doug Burks
997cb8f9ae Update README.md 2020-04-18 06:26:12 -04:00
m0duspwnens
703319f66b Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 16:11:02 -04:00
m0duspwnens
5b0158a6c9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 15:54:29 -04:00
m0duspwnens
615eecbd5a Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 15:47:10 -04:00
m0duspwnens
a874807bda Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 14:10:52 -04:00
m0duspwnens
2da3165019 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 10:55:49 -04:00
m0duspwnens
78b0b5ad18 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-16 00:17:51 -04:00
m0duspwnens
c840f81fe6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 16:20:41 -04:00
m0duspwnens
29b5e769d6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 16:03:42 -04:00
m0duspwnens
445f44d847 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 15:08:52 -04:00
m0duspwnens
3ec37b7646 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 14:55:39 -04:00
m0duspwnens
8c36a732a6 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-15 12:00:22 -04:00
m0duspwnens
69d9507758 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-10 14:50:58 -04:00
m0duspwnens
d824b91c42 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 15:08:52 -04:00
m0duspwnens
2b05ae6c08 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 11:59:25 -04:00
m0duspwnens
48240498f9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-09 08:28:55 -04:00
m0duspwnens
3ec57eace8 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-08 17:27:44 -04:00
m0duspwnens
638bf7e50b merge 2020-04-08 16:22:49 -04:00
m0duspwnens
cd1caa5568 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-07 17:00:10 -04:00
William Wernert
56326026b7 [refactor] Add variable to whiptail functions for quiet install
This is an initial change to allow for automated installs and testing.
The variable `QUIET` is checked in all whiptail functions and they are
skipped if the variable is set.

Closes #526
2020-04-07 15:24:36 -04:00
m0duspwnens
ed392ac4c2 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-06 13:41:18 -04:00
m0duspwnens
304e43e2ae Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-04-02 20:44:38 -04:00
m0duspwnens
1095f01c4f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-23 09:34:53 -04:00
m0duspwnens
88acbc4d4d Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-18 10:45:53 -04:00
m0duspwnens
4aba09c44e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-17 11:28:43 -04:00
m0duspwnens
632aad2787 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-17 08:59:19 -04:00
m0duspwnens
417e3ee19f Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-13 12:44:06 -04:00
m0duspwnens
70fd326041 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-13 08:14:27 -04:00
m0duspwnens
f40d6d8ba9 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-13 07:56:39 -04:00
m0duspwnens
1222f2cf0e Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-10 12:10:06 -04:00
m0duspwnens
2c21ade950 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-03-04 12:26:01 -05:00
m0duspwnens
035a0a4ee2 Merge branch 'dev' of https://github.com/Security-Onion-Solutions/securityonion-saltstack into dev 2020-02-27 11:08:52 -05:00
m0duspwnens
a5f5eba9fb Merge branch 'issue/326' into dev 2020-02-20 16:51:06 -05:00
271 changed files with 22825 additions and 7768 deletions

59
.gitignore vendored
View File

@@ -1,2 +1,59 @@
# Created by https://www.gitignore.io/api/macos,windows
# Edit at https://www.gitignore.io/?templates=macos,windows
### macOS ###
# General
.DS_Store .DS_Store
.idea .AppleDouble
.LSOverride
# Icon must end with two \r
Icon
# Thumbnails
._*
# Files that might appear in the root of a volume
.DocumentRevisions-V100
.fseventsd
.Spotlight-V100
.TemporaryItems
.Trashes
.VolumeIcon.icns
.com.apple.timemachine.donotpresent
# Directories potentially created on remote AFP share
.AppleDB
.AppleDesktop
Network Trash Folder
Temporary Items
.apdisk
### Windows ###
# Windows thumbnail cache files
Thumbs.db
Thumbs.db:encryptable
ehthumbs.db
ehthumbs_vista.db
# Dump file
*.stackdump
# Folder config file
[Dd]esktop.ini
# Recycle Bin used on file shares
$RECYCLE.BIN/
# Windows Installer files
*.cab
*.msi
*.msix
*.msm
*.msp
# Windows shortcuts
*.lnk
# End of https://www.gitignore.io/api/macos,windows

111
README.md
View File

@@ -1,44 +1,76 @@
## Hybrid Hunter Beta 1.2.1 - Beta 1 ## Hybrid Hunter Beta 1.4.1 - Beta 3
### Changes: - Fix install script to handle hostnames properly.
- 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
### Known issues: ## Hybrid Hunter Beta 1.4.0 - Beta 3
- Updating users via the SOC ui is known to fail. To change a user, delete the user and re-add them. - Complete overhaul of the way we handle custom and default settings and data. You will now see a default and local directory under the saltstack directory. All customizations are stored in local.
- The way firewall rules are handled has been completely revamped. This will allow the user to customize firewall rules much easier.
- Users can now change their own password in SOC.
- Hunt now allows users to enable auto-hunt. This is a toggle which, when enabled, automatically submits a new hunt when filtering, grouping, etc.
- Title bar now reflects current Hunt query. This will assist users in locating a previous query from their browser history.
- Zeek 3.0.7
- Elastic 7.7.1
- Suricata can now be used for meta data generation.
- Suricata eve.json has been moved to `/nsm` to align with storage of other data.
- Suricata will now properly rotate its logs.
- Grafana dashboards now work properly in standalone mode.
- Kibana Dashboard updates including osquery, community_id.
- New Elasticsearch Ingest processor to generate community_id from any log that includes the required fields.
- Community_id generated for additional logs: Zeek HTTP/SMTP/ , Sysmon shipped with Osquery or Winlogbeat.
- Major streamlining of Fleet setup & configuration - no need to run a secondary setup script anymore.
- Fleet Standalone node now includes the ability to set a FQDN to point osquery endpoints to.
- Distributed installs now support ingesting Windows Eventlogs via Winlogbeat - includes full parsing support for Sysmon.
- SOC Downloads section now includes a link to the supported version of Winlogbeat.
- Basic syslog ingestion capability now included.
- Elasticsearch index name transition fixes for various components.
- Updated URLs for pivot fields in Kibana.
- Instances of `hive` renamed to `thehive`.
### Known Issues:
- The Hunt feature is currently considered "Preview" and although very useful in its current state, not everything works. We wanted to get this out as soon as possible to get the feedback from you! Let us know what you want to see! Let us know what you think we should call it!
- You cannot pivot to PCAP from Suricata alerts in Kibana or Hunt.
- Navigator is currently not working when using hostname to access SOC. IP mode works correctly.
- Due to the move to ECS, the current Playbook plays may not alert correctly at this time. - 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. - The osquery MacOS package does not install correctly.
## Version 1.2.1 Beta 1 ISO Download ## Hybrid Hunter Beta 1.3.0 - Beta 2
[HH1.2.1-6.ISO](https://download.securityonion.net/file/Hybrid-Hunter/HH-1.2.1-6.iso) ### Changes:
MD5: D7E66CA8AAC37E70E2A2F7BB12EB3C23 - New Feature: Codename: "Onion Hunt". Select Hunt from the menu and start hunting down your adversaries!
SHA1: D91D921896F9ADA600EBA0ADAA548D8630B5341F - Improved ECS support.
SHA256: D69E327597AB429DCE13C1177BCE6C1FAD934E78A09F73D14778C2CAE616557B - Complete refactor of the setup to make it easier to follow.
- Improved setup script logging to better assist on any issues.
- Setup now checks for minimal requirements during install.
- Updated Cyberchef to version 9.20.3.
- Updated Elastalert to version 0.2.4 and switched to alpine to reduce container size.
- Updated Redis to 5.0.9 and switched to alpine to reduce container size.
- Updated Salt to 2019.2.5
- Updated Grafana to 6.7.3.
- Zeek 3.0.6
- Suricata 4.1.8
- Fixes so-status to now display correct containers and status.
- local.zeek is now controlled by a pillar instead of modifying the file directly.
- Renamed so-core to so-nginx and switched to alpine to reduce container size.
- Playbook now uses MySQL instead of SQLite.
- Sigma rules have all been updated.
- Kibana dashboard improvements for ECS.
- Fixed an issue where geoip was not properly parsed.
- ATT&CK Navigator is now it's own state.
- Standlone mode is now supported.
- Mastersearch previously used the same Grafana dashboard as a Search node. It now has its own dashboard that incorporates panels from the Master node and Search node dashboards.
### Known Issues:
- The Hunt feature is currently considered "Preview" and although very useful in its current state, not everything works. We wanted to get this out as soon as possible to get the feedback from you! Let us know what you want to see! Let us know what you think we should call it!
- You cannot pivot to PCAP from Suricata alerts in Kibana or Hunt.
- Updating users via the SOC ui is known to fail. To change a user, delete the user and re-add them.
- Due to the move to ECS, the current Playbook plays may not alert correctly at this time.
- The osquery MacOS package does not install correctly.
### Warnings and Disclaimers ### Warnings and Disclaimers
@@ -55,33 +87,36 @@ SHA256: D69E327597AB429DCE13C1177BCE6C1FAD934E78A09F73D14778C2CAE616557B
Evaluation Mode: Evaluation Mode:
- ISO or a Single VM running Ubuntu 16.04 or CentOS 7 - ISO or a Single VM running Ubuntu 18.04 or CentOS 7
- Minimum 12GB of RAM - Minimum 12GB of RAM
- Minimum 4 CPU cores - Minimum 4 CPU cores
- Minimum 2 NICs - Minimum 2 NICs
Distributed: Distributed:
- 3 VMs running the ISO or Ubuntu 16.04 or CentOS 7 (You can mix and match) - 3 VMs running the ISO or Ubuntu 18.04 or CentOS 7 (You can mix and match)
- Minimum 8GB of RAM per VM - Minimum 8GB of RAM per VM
- Minimum 4 CPU cores per VM - Minimum 4 CPU cores per VM
- Minimum 2 NICs for forward nodes - Minimum 2 NICs for forward nodes
### Prerequisites for Network Based Install ### Installation
Install git if using a Centos 7 Minimal install: For most users, we recommend installing using [our ISO image](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/ISO).
If instead you would like to try a manual installation (not using our ISO), you can build from CentOS 7 or Ubuntu 18.04.
If using CentOS 7 Minimal, you will need to install git:
```sudo yum -y install git``` ```sudo yum -y install git```
### Installation Once you have git, then do the following:
Once you resolve those requirements or are using Ubuntu 16.04 do the following:
``` ```
git clone https://github.com/Security-Onion-Solutions/securityonion-saltstack git clone https://github.com/Security-Onion-Solutions/securityonion-saltstack
cd securityonion-saltstack cd securityonion-saltstack
sudo bash so-setup-network sudo bash so-setup-network
``` ```
Follow the prompts and reboot if asked to do so. Follow the prompts and reboot if asked to do so.
Then proceed to the [Hybrid Hunter Quick Start Guide](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/Hybrid-Hunter-Quick-Start-Guide). Then proceed to the [Hybrid Hunter Quick Start Guide](https://github.com/Security-Onion-Solutions/securityonion-saltstack/wiki/Hybrid-Hunter-Quick-Start-Guide).

View File

@@ -1 +1 @@
1.2.1 1.4.1

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@@ -10,7 +10,7 @@
eval: eval:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
{% if GRAFANA == '1' %} {% if GRAFANA == '1' %}
- so-influxdb - so-influxdb
@@ -54,7 +54,7 @@ eval:
{% endif %} {% endif %}
heavy_node: heavy_node:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-redis - so-redis
- so-logstash - so-logstash
@@ -69,7 +69,7 @@ heavy_node:
{% endif %} {% endif %}
helix: helix:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-idstools - so-idstools
- so-steno - so-steno
@@ -79,14 +79,14 @@ helix:
- so-filebeat - so-filebeat
hot_node: hot_node:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-logstash - so-logstash
- so-elasticsearch - so-elasticsearch
- so-curator - so-curator
master_search: master_search:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-soc - so-soc
- so-kratos - so-kratos
@@ -127,7 +127,7 @@ master_search:
master: master:
containers: containers:
- so-dockerregistry - so-dockerregistry
- so-core - so-nginx
- so-telegraf - so-telegraf
{% if GRAFANA == '1' %} {% if GRAFANA == '1' %}
- so-influxdb - so-influxdb
@@ -169,12 +169,12 @@ master:
{% endif %} {% endif %}
parser_node: parser_node:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-logstash - so-logstash
search_node: search_node:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-logstash - so-logstash
- so-elasticsearch - so-elasticsearch
@@ -185,7 +185,7 @@ search_node:
{% endif %} {% endif %}
sensor: sensor:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-steno - so-steno
- so-suricata - so-suricata
@@ -196,7 +196,7 @@ sensor:
- so-filebeat - so-filebeat
warm_node: warm_node:
containers: containers:
- so-core - so-nginx
- so-telegraf - so-telegraf
- so-elasticsearch - so-elasticsearch
fleet: fleet:
@@ -206,6 +206,6 @@ fleet:
- so-fleet - so-fleet
- so-redis - so-redis
- so-filebeat - so-filebeat
- so-core - so-nginx
- so-telegraf - so-telegraf
{% endif %} {% endif %}

View File

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

View File

@@ -1,3 +0,0 @@
analyst:
- 127.0.0.1

View File

@@ -1,3 +0,0 @@
beats_endpoint:
- 127.0.0.1

View File

@@ -1,3 +0,0 @@
forward_nodes:
- 127.0.0.1

View File

@@ -1,2 +0,0 @@
masterfw:
- 127.0.0.1

View File

@@ -1,3 +0,0 @@
minions:
- 127.0.0.1

View File

@@ -1,3 +0,0 @@
osquery_endpoint:
- 127.0.0.1

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

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

View File

@@ -1,2 +0,0 @@
search_nodes:
- 127.0.0.1

View File

@@ -1,2 +0,0 @@
wazuh_endpoint:
- 127.0.0.1

View File

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

View File

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

View File

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

View File

@@ -1,7 +1,10 @@
base: base:
'*': '*':
- patch.needs_restarting - patch.needs_restarting
- docker.config
'*_eval or *_helix or *_heavynode or *_sensor or *_standalone':
- match: compound
- zeek
'*_mastersearch or *_heavynode': '*_mastersearch or *_heavynode':
- match: compound - match: compound
@@ -11,7 +14,6 @@ base:
'*_sensor': '*_sensor':
- static - static
- firewall.*
- brologs - brologs
- healthcheck.sensor - healthcheck.sensor
- minions.{{ grains.id }} - minions.{{ grains.id }}
@@ -19,7 +21,6 @@ base:
'*_master or *_mastersearch': '*_master or *_mastersearch':
- match: compound - match: compound
- static - static
- firewall.*
- data.* - data.*
- secrets - secrets
- minions.{{ grains.id }} - minions.{{ grains.id }}
@@ -30,27 +31,34 @@ base:
'*_eval': '*_eval':
- static - static
- firewall.*
- data.* - data.*
- brologs - brologs
- secrets - secrets
- healthcheck.eval - healthcheck.eval
- minions.{{ grains.id }} - minions.{{ grains.id }}
'*_standalone':
- logstash
- logstash.master
- logstash.search
- data.*
- brologs
- secrets
- healthcheck.standalone
- static
- minions.{{ grains.id }}
'*_node': '*_node':
- static - static
- firewall.*
- minions.{{ grains.id }} - minions.{{ grains.id }}
'*_heavynode': '*_heavynode':
- static - static
- firewall.*
- brologs - brologs
- minions.{{ grains.id }} - minions.{{ grains.id }}
'*_helix': '*_helix':
- static - static
- firewall.*
- fireeye - fireeye
- brologs - brologs
- logstash - logstash
@@ -59,14 +67,12 @@ base:
'*_fleet': '*_fleet':
- static - static
- firewall.*
- data.* - data.*
- secrets - secrets
- minions.{{ grains.id }} - minions.{{ grains.id }}
'*_searchnode': '*_searchnode':
- static - static
- firewall.*
- logstash - logstash
- logstash.search - logstash.search
- minions.{{ grains.id }} - minions.{{ grains.id }}

55
pillar/zeek/init.sls Normal file
View File

@@ -0,0 +1,55 @@
zeek:
zeekctl:
MailTo: root@localhost
MailConnectionSummary: 1
MinDiskSpace: 5
MailHostUpDown: 1
LogRotationInterval: 3600
LogExpireInterval: 0
StatsLogEnable: 1
StatsLogExpireInterval: 0
StatusCmdShowAll: 0
CrashExpireInterval: 0
SitePolicyScripts: local.zeek
LogDir: /nsm/zeek/logs
SpoolDir: /nsm/zeek/spool
CfgDir: /opt/zeek/etc
CompressLogs: 1
local:
'@load':
- misc/loaded-scripts
- tuning/defaults
- misc/capture-loss
- misc/stats
- frameworks/software/vulnerable
- frameworks/software/version-changes
- protocols/ftp/software
- protocols/smtp/software
- protocols/ssh/software
- protocols/http/software
- protocols/dns/detect-external-names
- protocols/ftp/detect
- protocols/conn/known-hosts
- protocols/conn/known-services
- protocols/ssl/known-certs
- protocols/ssl/validate-certs
- protocols/ssl/log-hostcerts-only
- protocols/ssh/geo-data
- protocols/ssh/detect-bruteforcing
- protocols/ssh/interesting-hostnames
- protocols/http/detect-sqli
- frameworks/files/hash-all-files
- frameworks/files/detect-MHR
- policy/frameworks/notice/extend-email/hostnames
- ja3
- hassh
- intel
- cve-2020-0601
- securityonion/bpfconf
- securityonion/communityid
- securityonion/file-extraction
'@load-sigs':
- frameworks/signatures/detect-windows-shells
redef:
- LogAscii::use_json = T;
- LogAscii::json_timestamps = JSON::TS_ISO8601;

View File

@@ -44,5 +44,3 @@ send_x509_pem_entries_to_mine:
- mine.send: - mine.send:
- func: x509.get_pem_entries - func: x509.get_pem_entries
- glob_path: /etc/pki/ca.crt - glob_path: /etc/pki/ca.crt
- onchanges:
- x509: /etc/pki/ca.crt

View File

@@ -1,8 +1,3 @@
{% 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 # Add socore Group
socoregroup: socoregroup:
group.present: group.present:
@@ -19,7 +14,6 @@ socore:
- shell: /bin/bash - shell: /bin/bash
# Create a state directory # Create a state directory
statedir: statedir:
file.directory: file.directory:
- name: /opt/so/state - name: /opt/so/state
@@ -34,24 +28,85 @@ salttmp:
- group: 939 - group: 939
- makedirs: True - makedirs: True
# Install packages needed for the sensor # Install epel
{% if grains['os'] == 'CentOS' %}
sensorpkgs: epel:
pkg.installed: pkg.installed:
- skip_suggestions: False - skip_suggestions: True
- pkgs:
- epel-release
{% endif %}
# Install common packages
{% if grains['os'] != 'CentOS' %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs: - pkgs:
- docker-ce
- wget
- jq
{% if grains['os'] != 'CentOS' %}
- python-docker
- python-m2crypto
- apache2-utils - apache2-utils
{% else %} - wget
- net-tools - ntpdate
- jq
- python3-docker
- docker-ce
- curl
- ca-certificates
- software-properties-common
- apt-transport-https
- openssl
- netcat
- python3-mysqldb
- sqlite3
- argon2
- libssl-dev
- python3-dateutil
- python3-m2crypto
- python3-mysqldb
- git
heldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.2.13-2
- docker-ce: 5:19.03.9~3-0~ubuntu-bionic
- hold: True
- update_holds: True
{% else %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- wget
- ntpdate
- bind-utils
- jq
- tcpdump - tcpdump
- httpd-tools - httpd-tools
{% endif %} - net-tools
- curl
- sqlite
- argon2
- mariadb-devel
- nmap-ncat
- python3
- python36-docker
- python36-dateutil
- python36-m2crypto
- python36-mysql
- yum-utils
- device-mapper-persistent-data
- lvm2
- openssl
- git
heldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.2.13-3.2.el7
- docker-ce: 3:19.03.11-3.el7
- hold: True
- update_holds: True
{% endif %}
# Always keep these packages up to date # Always keep these packages up to date
@@ -64,7 +119,6 @@ alwaysupdated:
- skip_suggestions: True - skip_suggestions: True
# Set time to UTC # Set time to UTC
Etc/UTC: Etc/UTC:
timezone.system timezone.system
@@ -77,339 +131,3 @@ utilsyncscripts:
- file_mode: 755 - file_mode: 755
- template: jinja - template: jinja
- source: salt://common/tools/sbin - source: salt://common/tools/sbin
# Make sure Docker is running!
docker:
service.running:
- enable: True
# Drop the correct nginx config based on role
nginxconfdir:
file.directory:
- name: /opt/so/conf/nginx
- user: 939
- group: 939
- makedirs: True
nginxconf:
file.managed:
- name: /opt/so/conf/nginx/nginx.conf
- user: 939
- group: 939
- template: jinja
- source: salt://common/nginx/nginx.conf.{{ grains.role }}
nginxlogdir:
file.directory:
- name: /opt/so/log/nginx/
- user: 939
- group: 939
- makedirs: True
nginxtmp:
file.directory:
- name: /opt/so/tmp/nginx/tmp
- user: 939
- group: 939
- makedirs: True
so-core:
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-core:{{ VERSION }}
- hostname: so-core
- user: socore
- binds:
- /opt/so:/opt/so:rw
- /opt/so/conf/nginx/nginx.conf:/etc/nginx/nginx.conf:ro
- /opt/so/log/nginx/:/var/log/nginx:rw
- /opt/so/tmp/nginx/:/var/lib/nginx:rw
- /opt/so/tmp/nginx/:/run:rw
- /etc/pki/masterssl.crt:/etc/pki/nginx/server.crt:ro
- /etc/pki/masterssl.key:/etc/pki/nginx/server.key:ro
- /opt/so/conf/fleet/packages:/opt/socore/html/packages
- cap_add: NET_BIND_SERVICE
- port_bindings:
- 80:80
- 443:443
{%- if FLEETMASTER or FLEETNODE %}
- 8090:8090
{%- endif %}
- watch:
- file: /opt/so/conf/nginx/nginx.conf
# Add Telegraf to monitor all the things.
tgraflogdir:
file.directory:
- name: /opt/so/log/telegraf
- makedirs: True
tgrafetcdir:
file.directory:
- name: /opt/so/conf/telegraf/etc
- makedirs: True
tgrafetsdir:
file.directory:
- name: /opt/so/conf/telegraf/scripts
- makedirs: True
tgrafsyncscripts:
file.recurse:
- name: /opt/so/conf/telegraf/scripts
- user: 939
- group: 939
- file_mode: 755
- template: jinja
- source: salt://common/telegraf/scripts
tgrafconf:
file.managed:
- name: /opt/so/conf/telegraf/etc/telegraf.conf
- user: 939
- group: 939
- template: jinja
- source: salt://common/telegraf/etc/telegraf.conf
so-telegraf:
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-telegraf:{{ VERSION }}
- environment:
- HOST_PROC=/host/proc
- HOST_ETC=/host/etc
- 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
- /var/run/utmp:/var/run/utmp:ro
- /var/run/docker.sock:/var/run/docker.sock:ro
- /:/host/root:ro
- /sys:/host/sys:ro
- /proc:/host/proc:ro
- /nsm:/host/nsm:ro
- /etc:/host/etc:ro
{% if grains['role'] == 'so-master' or grains['role'] == 'so-eval' or grains['role'] == 'so-mastersearch' %}
- /etc/pki/ca.crt:/etc/telegraf/ca.crt:ro
{% else %}
- /etc/ssl/certs/intca.crt:/etc/telegraf/ca.crt:ro
{% endif %}
- /etc/pki/influxdb.crt:/etc/telegraf/telegraf.crt:ro
- /etc/pki/influxdb.key:/etc/telegraf/telegraf.key:ro
- /opt/so/conf/telegraf/scripts:/scripts:ro
- /opt/so/log/stenographer:/var/log/stenographer:ro
- /opt/so/log/suricata:/var/log/suricata:ro
- watch:
- /opt/so/conf/telegraf/etc/telegraf.conf
- /opt/so/conf/telegraf/scripts
# If its a master or eval lets install the back end for now
{% if grains['role'] in ['so-master', 'so-mastersearch', 'so-eval'] and GRAFANA == 1 %}
# Influx DB
influxconfdir:
file.directory:
- name: /opt/so/conf/influxdb/etc
- makedirs: True
influxdbdir:
file.directory:
- name: /nsm/influxdb
- makedirs: True
influxdbconf:
file.managed:
- name: /opt/so/conf/influxdb/etc/influxdb.conf
- user: 939
- group: 939
- template: jinja
- source: salt://common/influxdb/etc/influxdb.conf
so-influxdb:
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-influxdb:{{ VERSION }}
- hostname: influxdb
- environment:
- INFLUXDB_HTTP_LOG_ENABLED=false
- binds:
- /opt/so/conf/influxdb/etc/influxdb.conf:/etc/influxdb/influxdb.conf:ro
- /nsm/influxdb:/var/lib/influxdb:rw
- /etc/pki/influxdb.crt:/etc/ssl/influxdb.crt:ro
- /etc/pki/influxdb.key:/etc/ssl/influxdb.key:ro
- port_bindings:
- 0.0.0.0:8086:8086
- watch:
- file: /opt/so/conf/influxdb/etc/influxdb.conf
# Grafana all the things
grafanadir:
file.directory:
- name: /nsm/grafana
- user: 939
- group: 939
- makedirs: True
grafanaconfdir:
file.directory:
- name: /opt/so/conf/grafana/etc
- user: 939
- group: 939
- makedirs: True
grafanadashdir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards
- user: 939
- group: 939
- makedirs: True
grafanadashmdir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/master
- user: 939
- group: 939
- makedirs: True
grafanadashevaldir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/eval
- user: 939
- group: 939
- makedirs: True
grafanadashfndir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/sensor_nodes
- user: 939
- group: 939
- makedirs: True
grafanadashsndir:
file.directory:
- name: /opt/so/conf/grafana/grafana_dashboards/search_nodes
- user: 939
- group: 939
- makedirs: True
grafanaconf:
file.recurse:
- name: /opt/so/conf/grafana/etc
- user: 939
- group: 939
- template: jinja
- source: salt://common/grafana/etc
{% if salt['pillar.get']('mastertab', False) %}
{% 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
- user: 939
- group: 939
- template: jinja
- source: salt://common/grafana/grafana_dashboards/master/master.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
MONINT: {{ SNDATA.manint }}
CPUS: {{ SNDATA.totalcpus }}
UID: {{ SNDATA.guid }}
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('sensorstab', False) %}
{% 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/sensor_nodes/{{ SN }}-Sensor.json
- user: 939
- group: 939
- template: jinja
- source: salt://common/grafana/grafana_dashboards/sensor_nodes/sensor.json
- defaults:
SERVERNAME: {{ SN }}
MONINT: {{ SNDATA.monint }}
MANINT: {{ SNDATA.manint }}
CPUS: {{ SNDATA.totalcpus }}
UID: {{ SNDATA.guid }}
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('nodestab', False) %}
{% 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
- user: 939
- group: 939
- template: jinja
- source: salt://common/grafana/grafana_dashboards/search_nodes/searchnode.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
MONINT: {{ SNDATA.manint }}
CPUS: {{ SNDATA.totalcpus }}
UID: {{ SNDATA.guid }}
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
{% if salt['pillar.get']('evaltab', False) %}
{% 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
- user: 939
- group: 939
- template: jinja
- source: salt://common/grafana/grafana_dashboards/eval/eval.json
- defaults:
SERVERNAME: {{ SN }}
MANINT: {{ SNDATA.manint }}
MONINT: {{ SNDATA.monint }}
CPUS: {{ SNDATA.totalcpus }}
UID: {{ SNDATA.guid }}
ROOTFS: {{ SNDATA.rootfs }}
NSMFS: {{ SNDATA.nsmfs }}
{% endfor %}
{% endif %}
so-grafana:
docker_container.running:
- image: {{ MASTER }}:5000/soshybridhunter/so-grafana:{{ VERSION }}
- hostname: grafana
- user: socore
- binds:
- /nsm/grafana:/var/lib/grafana:rw
- /opt/so/conf/grafana/etc/grafana.ini:/etc/grafana/grafana.ini:ro
- /opt/so/conf/grafana/etc/datasources:/etc/grafana/provisioning/datasources:rw
- /opt/so/conf/grafana/etc/dashboards:/etc/grafana/provisioning/dashboards:rw
- /opt/so/conf/grafana/grafana_dashboards:/etc/grafana/grafana_dashboards:rw
- environment:
- GF_SECURITY_ADMIN_PASSWORD=augusta
- port_bindings:
- 0.0.0.0:3000:3000
- watch:
- file: /opt/so/conf/grafana/*
{% endif %}

View File

@@ -0,0 +1,5 @@
{% set docker = {
'containers': [
'so-zeek'
]
} %}

View File

@@ -0,0 +1,5 @@
{% set docker = {
'containers': [
'so-domainstats'
]
} %}

View File

@@ -0,0 +1,19 @@
{% set docker = {
'containers': [
'so-filebeat',
'so-nginx',
'so-telegraf',
'so-dockerregistry',
'so-soc',
'so-kratos',
'so-idstools',
'so-elasticsearch',
'so-kibana',
'so-steno',
'so-suricata',
'so-zeek',
'so-curator',
'so-elastalert',
'so-soctopus'
]
} %}

View File

@@ -0,0 +1,10 @@
{% set docker = {
'containers': [
'so-mysql',
'so-fleet',
'so-redis',
'so-filebeat',
'so-nginx',
'so-telegraf'
]
} %}

View File

@@ -0,0 +1,7 @@
{% set docker = {
'containers': [
'so-mysql',
'so-fleet',
'so-redis'
]
} %}

View File

@@ -0,0 +1,5 @@
{% set docker = {
'containers': [
'so-freqserver'
]
} %}

View File

@@ -0,0 +1,6 @@
{% set docker = {
'containers': [
'so-influxdb',
'so-grafana'
]
} %}

View File

@@ -0,0 +1,14 @@
{% set docker = {
'containers': [
'so-nginx',
'so-telegraf',
'so-redis',
'so-logstash',
'so-elasticsearch',
'so-curator',
'so-steno',
'so-suricata',
'so-wazuh',
'so-filebeat
]
} %}

View File

@@ -0,0 +1,12 @@
{% set docker = {
'containers': [
'so-nginx',
'so-telegraf',
'so-idstools',
'so-steno',
'so-zeek',
'so-redis',
'so-logstash',
'so-filebeat
]
} %}

View File

@@ -0,0 +1,9 @@
{% set docker = {
'containers': [
'so-nginx',
'so-telegraf',
'so-logstash',
'so-elasticsearch',
'so-curator',
]
} %}

View File

@@ -0,0 +1,18 @@
{% set docker = {
'containers': [
'so-dockerregistry',
'so-nginx',
'so-telegraf',
'so-soc',
'so-kratos',
'so-aptcacherng',
'so-idstools',
'so-redis',
'so-elasticsearch',
'so-logstash',
'so-kibana',
'so-elastalert',
'so-filebeat',
'so-soctopus'
]
} %}

View File

@@ -0,0 +1,18 @@
{% set docker = {
'containers': [
'so-nginx',
'so-telegraf',
'so-soc',
'so-kratos',
'so-aptcacherng',
'so-idstools',
'so-redis',
'so-logstash',
'so-elasticsearch',
'so-curator',
'so-kibana',
'so-elastalert',
'so-filebeat',
'so-soctopus'
]
} %}

View File

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

View File

@@ -0,0 +1,10 @@
{% set docker = {
'containers': [
'so-nginx',
'so-telegraf',
'so-logstash',
'so-elasticsearch',
'so-curator',
'so-filebeat'
]
} %}

View File

@@ -0,0 +1,8 @@
{% set docker = {
'containers': [
'so-telegraf',
'so-steno',
'so-suricata',
'so-filebeat'
]
} %}

View File

@@ -0,0 +1,45 @@
{% set role = grains.id.split('_') | last %}
{% from 'common/maps/'~ role ~'.map.jinja' import docker with context %}
# Check if the service is enabled and append it's required containers
# to the list predefined by the role / minion id affix
{% macro append_containers(pillar_name, k, compare )%}
{% if salt['pillar.get'](pillar_name~':'~k, {}) != compare %}
{% from 'common/maps/'~k~'.map.jinja' import docker as d with context %}
{% for li in d['containers'] %}
{{ docker['containers'].append(li) }}
{% endfor %}
{% endif %}
{% endmacro %}
{% set docker = salt['grains.filter_by']({
'*_'~role: {
'containers': docker['containers']
}
},grain='id', merge=salt['pillar.get']('docker')) %}
{% if role in ['eval', 'mastersearch', 'master', 'standalone'] %}
{{ append_containers('master', 'grafana', 0) }}
{{ append_containers('static', 'fleet_master', 0) }}
{{ append_containers('master', 'wazuh', 0) }}
{{ append_containers('master', 'thehive', 0) }}
{{ append_containers('master', 'playbook', 0) }}
{{ append_containers('master', 'freq', 0) }}
{{ append_containers('master', 'domainstats', 0) }}
{% endif %}
{% if role in ['eval', 'heavynode', 'sensor', 'standalone'] %}
{{ append_containers('static', 'strelka', 0) }}
{% endif %}
{% if role in ['heavynode', 'standalone'] %}
{{ append_containers('static', 'broversion', 'SURICATA') }}
{% endif %}
{% if role == 'searchnode' %}
{{ append_containers('master', 'wazuh', 0) }}
{% endif %}
{% if role == 'sensor' %}
{{ append_containers('static', 'broversion', 'SURICATA') }}
{% endif %}

View File

@@ -0,0 +1,21 @@
{% set docker = {
'containers': [
'so-nginx',
'so-telegraf',
'so-soc',
'so-kratos',
'so-aptcacherng',
'so-idstools',
'so-redis',
'so-logstash',
'so-elasticsearch',
'so-curator',
'so-kibana',
'so-elastalert',
'so-filebeat',
'so-suricata',
'so-steno',
'so-dockerregistry',
'so-soctopus'
]
} %}

View File

@@ -0,0 +1,9 @@
{% set docker = {
'containers': [
'so-strelka-coordinator',
'so-strelka-gatekeeper',
'so-strelka-manager',
'so-strelka-frontend',
'so-strelka-filestream'
]
} %}

View File

@@ -0,0 +1,7 @@
{% set docker = {
'containers': [
'so-thehive',
'so-thehive-es',
'so-cortex'
]
} %}

View File

@@ -0,0 +1,7 @@
{% set docker = {
'containers': [
'so-nginx',
'so-telegraf',
'so-elasticsearch'
]
} %}

View File

@@ -0,0 +1,5 @@
{% set docker = {
'containers': [
'so-wazuh'
]
} %}

View File

@@ -17,6 +17,9 @@
. /usr/sbin/so-common . /usr/sbin/so-common
default_salt_dir=/opt/so/saltstack/default
local_salt_dir=/opt/so/saltstack/local
SKIP=0 SKIP=0
while getopts "abowi:" OPTION while getopts "abowi:" OPTION
@@ -42,9 +45,22 @@ do
SKIP=1 SKIP=1
;; ;;
w) w)
FULLROLE="wazuh_endpoint" FULLROLE="wazuh_agent"
SKIP=1 SKIP=1
;; ;;
s)
FULLROLE="syslog"
SKIP=1
;;
p)
FULLROLE="wazuh_api"
SKIP=1
;;
r)
FULLROLE="wazuh_authd"
SKIP=1
;;
esac esac
done done
@@ -57,8 +73,10 @@ if [ "$SKIP" -eq 0 ]; then
echo "[a] - Analyst - ports 80/tcp and 443/tcp" echo "[a] - Analyst - ports 80/tcp and 443/tcp"
echo "[b] - Logstash Beat - port 5044/tcp" echo "[b] - Logstash Beat - port 5044/tcp"
echo "[o] - Osquery endpoint - port 8090/tcp" echo "[o] - Osquery endpoint - port 8090/tcp"
echo "[w] - Wazuh endpoint - port 1514" echo "[s] - Syslog device - 514/tcp/udp"
echo "" echo "[w] - Wazuh agent - port 1514/tcp/udp"
echo "[p] - Wazuh API - port 55000/tcp"
echo "[r] - Wazuh registration service - 1515/tcp"
echo "Please enter your selection (a - analyst, b - beats, o - osquery, w - wazuh):" echo "Please enter your selection (a - analyst, b - beats, o - osquery, w - wazuh):"
read ROLE read ROLE
echo "Enter a single ip address or range to allow (example: 10.10.10.10 or 10.10.0.0/16):" echo "Enter a single ip address or range to allow (example: 10.10.10.10 or 10.10.0.0/16):"
@@ -71,7 +89,13 @@ if [ "$SKIP" -eq 0 ]; then
elif [ "$ROLE" == "o" ]; then elif [ "$ROLE" == "o" ]; then
FULLROLE=osquery_endpoint FULLROLE=osquery_endpoint
elif [ "$ROLE" == "w" ]; then elif [ "$ROLE" == "w" ]; then
FULLROLE=wazuh_endpoint FULLROLE=wazuh_agent
elif [ "$ROLE" == "s" ]; then
FULLROLE=syslog
elif [ "$ROLE" == "p" ]; then
FULLROLE=wazuh_api
elif [ "$ROLE" == "r" ]; then
FULLROLE=wazuh_authd
else else
echo "I don't recognize that role" echo "I don't recognize that role"
exit 1 exit 1
@@ -80,10 +104,11 @@ if [ "$SKIP" -eq 0 ]; then
fi fi
echo "Adding $IP to the $FULLROLE role. This can take a few seconds" echo "Adding $IP to the $FULLROLE role. This can take a few seconds"
/opt/so/saltstack/pillar/firewall/addfirewall.sh $FULLROLE $IP /usr/sbin/so-firewall includehost $FULLROLE $IP
salt-call state.apply firewall queue=True
# Check if Wazuh enabled # Check if Wazuh enabled
if grep -q -R "wazuh: 1" /opt/so/saltstack/pillar/*; then if grep -q -R "wazuh: 1" $local_salt_dir/pillar/*; then
# If analyst, add to Wazuh AR whitelist # If analyst, add to Wazuh AR whitelist
if [ "$FULLROLE" == "analyst" ]; then if [ "$FULLROLE" == "analyst" ]; then
WAZUH_MGR_CFG="/opt/so/wazuh/etc/ossec.conf" WAZUH_MGR_CFG="/opt/so/wazuh/etc/ossec.conf"

View File

@@ -1,11 +1,12 @@
#!/bin/bash #!/bin/bash
local_salt_dir=/opt/so/saltstack/local
bro_logs_enabled() { bro_logs_enabled() {
echo "brologs:" > /opt/so/saltstack/pillar/brologs.sls echo "brologs:" > $local_salt_dir/pillar/brologs.sls
echo " enabled:" >> /opt/so/saltstack/pillar/brologs.sls echo " enabled:" >> $local_salt_dir/pillar/brologs.sls
for BLOG in ${BLOGS[@]}; do for BLOG in ${BLOGS[@]}; do
echo " - $BLOG" | tr -d '"' >> /opt/so/saltstack/pillar/brologs.sls echo " - $BLOG" | tr -d '"' >> $local_salt_dir/pillar/brologs.sls
done done
} }

View File

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

View File

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

View File

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

View File

@@ -0,0 +1,112 @@
#!/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/>.
got_root(){
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run using sudo!"
exit 1
fi
}
master_check() {
# Check to see if this is a master
MASTERCHECK=$(cat /etc/salt/grains | grep role | awk '{print $2}')
if [ $MASTERCHECK == 'so-eval' ] || [ $MASTERCHECK == 'so-master' ] || [ $MASTERCHECK == 'so-mastersearch' ] || [ $MASTERCHECK == 'so-standalone' ] || [ $MASTERCHECK == 'so-helix' ]; then
echo "This is a master. We can proceed"
else
echo "Please run soup on the master. The master controls all updates."
exit 1
fi
}
update_docker_containers() {
# Download the containers from the interwebs
for i in "${TRUSTED_CONTAINERS[@]}"
do
# Pull down the trusted docker image
echo "Downloading $i"
docker pull --disable-content-trust=false docker.io/soshybridhunter/$i
# Tag it with the new registry destination
docker tag soshybridhunter/$i $HOSTNAME:5000/soshybridhunter/$i
docker push $HOSTNAME:5000/soshybridhunter/$i
done
}
version_check() {
if [ -f /etc/soversion ]; then
VERSION=$(cat /etc/soversion)
else
echo "Unable to detect version. I will now terminate."
exit 1
fi
}
got_root
master_check
version_check
# Use the hostname
HOSTNAME=$(hostname)
BUILD=HH
# List all the containers
if [ $MASTERCHECK != 'so-helix' ]; then
TRUSTED_CONTAINERS=( \
"so-acng:$BUILD$VERSION" \
"so-thehive-cortex:$BUILD$VERSION" \
"so-curator:$BUILD$VERSION" \
"so-domainstats:$BUILD$VERSION" \
"so-elastalert:$BUILD$VERSION" \
"so-elasticsearch:$BUILD$VERSION" \
"so-filebeat:$BUILD$VERSION" \
"so-fleet:$BUILD$VERSION" \
"so-fleet-launcher:$BUILD$VERSION" \
"so-freqserver:$BUILD$VERSION" \
"so-grafana:$BUILD$VERSION" \
"so-idstools:$BUILD$VERSION" \
"so-influxdb:$BUILD$VERSION" \
"so-kibana:$BUILD$VERSION" \
"so-kratos:$BUILD$VERSION" \
"so-logstash:$BUILD$VERSION" \
"so-mysql:$BUILD$VERSION" \
"so-navigator:$BUILD$VERSION" \
"so-nginx:$BUILD$VERSION" \
"so-playbook:$BUILD$VERSION" \
"so-redis:$BUILD$VERSION" \
"so-soc:$BUILD$VERSION" \
"so-soctopus:$BUILD$VERSION" \
"so-steno:$BUILD$VERSION" \
"so-strelka:$BUILD$VERSION" \
"so-suricata:$BUILD$VERSION" \
"so-telegraf:$BUILD$VERSION" \
"so-thehive:$BUILD$VERSION" \
"so-thehive-es:$BUILD$VERSION" \
"so-wazuh:$BUILD$VERSION" \
"so-zeek:$BUILD$VERSION" )
else
TRUSTED_CONTAINERS=( \
"so-filebeat:$BUILD$VERSION" \
"so-idstools:$BUILD$VERSION" \
"so-logstash:$BUILD$VERSION" \
"so-nginx:$BUILD$VERSION" \
"so-redis:$BUILD$VERSION" \
"so-steno:$BUILD$VERSION" \
"so-suricata:$BUILD$VERSION" \
"so-telegraf:$BUILD$VERSION" \
"so-zeek:$BUILD$VERSION" )
fi
update_docker_containers

View File

@@ -166,8 +166,7 @@ cat << EOF
What elasticsearch index do you want to use? What elasticsearch index do you want to use?
Below are the default Index Patterns used in Security Onion: Below are the default Index Patterns used in Security Onion:
*:logstash-* *:so-ids-*
*:logstash-beats-*
*:elastalert_status* *:elastalert_status*
EOF EOF

View File

@@ -2,7 +2,7 @@
MASTER=MASTER MASTER=MASTER
VERSION="HH1.1.4" VERSION="HH1.1.4"
TRUSTED_CONTAINERS=( \ TRUSTED_CONTAINERS=( \
"so-core:$VERSION" \ "so-nginx:$VERSION" \
"so-thehive-cortex:$VERSION" \ "so-thehive-cortex:$VERSION" \
"so-curator:$VERSION" \ "so-curator:$VERSION" \
"so-domainstats:$VERSION" \ "so-domainstats:$VERSION" \

View File

@@ -15,12 +15,13 @@
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
default_salt_dir=/opt/so/saltstack/default
ELASTICSEARCH_HOST="{{ MASTERIP}}" ELASTICSEARCH_HOST="{{ MASTERIP}}"
ELASTICSEARCH_PORT=9200 ELASTICSEARCH_PORT=9200
#ELASTICSEARCH_AUTH="" #ELASTICSEARCH_AUTH=""
# Define a default directory to load pipelines from # Define a default directory to load pipelines from
ELASTICSEARCH_TEMPLATES="/opt/so/saltstack/salt/logstash/pipelines/templates/so/" ELASTICSEARCH_TEMPLATES="$default_salt_dir/salt/logstash/pipelines/templates/so/"
# Wait for ElasticSearch to initialize # Wait for ElasticSearch to initialize
echo -n "Waiting for ElasticSearch..." echo -n "Waiting for ElasticSearch..."

View File

@@ -15,10 +15,11 @@
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common . /usr/sbin/so-common
local_salt_dir=/opt/so/saltstack/local
VERSION=$(grep soversion /opt/so/saltstack/pillar/static.sls | cut -d':' -f2|sed 's/ //g') VERSION=$(grep soversion $local_salt_dir/pillar/static.sls | cut -d':' -f2|sed 's/ //g')
# Modify static.sls to enable Features # Modify static.sls to enable Features
sed -i 's/features: False/features: True/' /opt/so/saltstack/pillar/static.sls sed -i 's/features: False/features: True/' $local_salt_dir/pillar/static.sls
SUFFIX="-features" SUFFIX="-features"
TRUSTED_CONTAINERS=( \ TRUSTED_CONTAINERS=( \
"so-elasticsearch:$VERSION$SUFFIX" \ "so-elasticsearch:$VERSION$SUFFIX" \

View File

@@ -0,0 +1,305 @@
#!/usr/bin/env python3
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
import subprocess
import sys
import yaml
hostgroupsFilename = "/opt/so/saltstack/local/salt/firewall/hostgroups.local.yaml"
portgroupsFilename = "/opt/so/saltstack/local/salt/firewall/portgroups.local.yaml"
supportedProtocols = ['tcp', 'udp']
def showUsage(args):
print('Usage: {} [OPTIONS] <COMMAND> [ARGS...]'.format(sys.argv[0]))
print(' Options:')
print(' --apply - After updating the firewall configuration files, apply the new firewall state')
print('')
print(' Available commands:')
print(' help - Prints this usage information.')
print(' includedhosts - Lists the IPs included in the given group. Args: <GROUP_NAME>')
print(' excludedhosts - Lists the IPs excluded from the given group. Args: <GROUP_NAME>')
print(' includehost - Includes the given IP in the given group. Args: <GROUP_NAME> <IP>')
print(' excludehost - Excludes the given IP from the given group. Args: <GROUP_NAME> <IP>')
print(' removehost - Removes an excluded IP from the given group. Args: <GROUP_NAME> <IP>')
print(' addhostgroup - Adds a new, custom host group. Args: <GROUP_NAME>')
print(' listports - Lists ports in the given group and protocol. Args: <GROUP_NAME> <PORT_PROTOCOL>')
print(' addport - Adds a PORT to the given group. Args: <GROUP_NAME> <PORT_PROTOCOL> <PORT>')
print(' removeport - Removes a PORT from the given group. Args: <GROUP_NAME> <PORT_PROTOCOL> <PORT>')
print(' addportgroup - Adds a new, custom port group. Args: <GROUP_NAME>')
print('')
print(' Where:')
print(' GROUP_NAME - The name of an alias group (Ex: analyst)')
print(' IP - Either a single IP address (Ex: 8.8.8.8) or a CIDR block (Ex: 10.23.0.0/16).')
print(' PORT_PROTOCOL - Must be one of the following: ' + str(supportedProtocols))
print(' PORT - Either a single numeric port (Ex: 443), or a port range (Ex: 8000:8002).')
sys.exit(1)
def loadYaml(filename):
file = open(filename, "r")
return yaml.load(file.read())
def writeYaml(filename, content):
file = open(filename, "w")
return yaml.dump(content, file)
def listIps(name, mode):
content = loadYaml(hostgroupsFilename)
if name not in content['firewall']['hostgroups']:
print('Host group does not exist', file=sys.stderr)
return 4
hostgroup = content['firewall']['hostgroups'][name]
ips = hostgroup['ips'][mode]
if ips is not None:
for ip in ips:
print(ip)
return 0
def addIp(name, ip, mode):
content = loadYaml(hostgroupsFilename)
if name not in content['firewall']['hostgroups']:
print('Host group does not exist', file=sys.stderr)
return 4
hostgroup = content['firewall']['hostgroups'][name]
ips = hostgroup['ips'][mode]
if ips is None:
ips = []
hostgroup['ips'][mode] = ips
if ip not in ips:
ips.append(ip)
else:
print('Already exists', file=sys.stderr)
return 3
writeYaml(hostgroupsFilename, content)
return 0
def removeIp(name, ip, mode, silence = False):
content = loadYaml(hostgroupsFilename)
if name not in content['firewall']['hostgroups']:
print('Host group does not exist', file=sys.stderr)
return 4
hostgroup = content['firewall']['hostgroups'][name]
ips = hostgroup['ips'][mode]
if ips is None:
ips = []
hostgroup['ips'][mode] = ips
if ip in ips:
ips.remove(ip)
else:
if not silence:
print('IP does not exist', file=sys.stderr)
return 3
writeYaml(hostgroupsFilename, content)
return 0
def createProtocolMap():
map = {}
for protocol in supportedProtocols:
map[protocol] = []
return map
def addhostgroup(args):
if len(args) != 1:
print('Missing host group name argument', file=sys.stderr)
showUsage(args)
name = args[1]
content = loadYaml(hostgroupsFilename)
if name in content['firewall']['hostgroups']:
print('Already exists', file=sys.stderr)
return 3
content['firewall']['hostgroups'][name] = { 'ips': { 'insert': [], 'delete': [] }}
writeYaml(hostgroupsFilename, content)
return 0
def addportgroup(args):
if len(args) != 1:
print('Missing port group name argument', file=sys.stderr)
showUsage(args)
name = args[0]
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name in ports:
print('Already exists', file=sys.stderr)
return 3
ports[name] = createProtocolMap()
writeYaml(portgroupsFilename, content)
return 0
def listports(args):
if len(args) != 2:
print('Missing port group name or port protocol', file=sys.stderr)
showUsage(args)
name = args[0]
protocol = args[1]
if protocol not in supportedProtocols:
print('Port protocol is not supported', file=sys.stderr)
return 5
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name not in ports:
print('Port group does not exist', file=sys.stderr)
return 3
ports = ports[name][protocol]
if ports is not None:
for port in ports:
print(port)
return 0
def addport(args):
if len(args) != 3:
print('Missing port group name or port protocol, or port argument', file=sys.stderr)
showUsage(args)
name = args[0]
protocol = args[1]
port = args[2]
if protocol not in supportedProtocols:
print('Port protocol is not supported', file=sys.stderr)
return 5
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name not in ports:
print('Port group does not exist', file=sys.stderr)
return 3
ports = ports[name][protocol]
if ports is None:
ports = []
content['firewall']['aliases']['ports'][name][protocol] = ports
if port in ports:
print('Already exists', file=sys.stderr)
return 3
ports.append(port)
writeYaml(portgroupsFilename, content)
return 0
def removeport(args):
if len(args) != 3:
print('Missing port group name or port protocol, or port argument', file=sys.stderr)
showUsage(args)
name = args[0]
protocol = args[1]
port = args[2]
if protocol not in supportedProtocols:
print('Port protocol is not supported', file=sys.stderr)
return 5
content = loadYaml(portgroupsFilename)
ports = content['firewall']['aliases']['ports']
if ports is None:
ports = {}
content['firewall']['aliases']['ports'] = ports
if name not in ports:
print('Port group does not exist', file=sys.stderr)
return 3
ports = ports[name][protocol]
if ports is None or port not in ports:
print('Port does not exist', file=sys.stderr)
return 3
ports.remove(port)
writeYaml(portgroupsFilename, content)
return 0
def includedhosts(args):
if len(args) != 1:
print('Missing host group name argument', file=sys.stderr)
showUsage(args)
return listIps(args[0], 'insert')
def excludedhosts(args):
if len(args) != 1:
print('Missing host group name argument', file=sys.stderr)
showUsage(args)
return listIps(args[0], 'delete')
def includehost(args):
if len(args) != 2:
print('Missing host group name or ip argument', file=sys.stderr)
showUsage(args)
result = addIp(args[0], args[1], 'insert')
if result == 0:
removeIp(args[0], args[1], 'delete', True)
return result
def excludehost(args):
if len(args) != 2:
print('Missing host group name or ip argument', file=sys.stderr)
showUsage(args)
result = addIp(args[0], args[1], 'delete')
if result == 0:
removeIp(args[0], args[1], 'insert', True)
return result
def removehost(args):
if len(args) != 2:
print('Missing host group name or ip argument', file=sys.stderr)
showUsage(args)
return removeIp(args[0], args[1], 'delete')
def apply():
proc = subprocess.run(['salt-call', 'state.apply', 'firewall', 'queue=True'])
return proc.returncode
def main():
options = []
args = sys.argv[1:]
for option in args:
if option.startswith("--"):
options.append(option)
args.remove(option)
if len(args) == 0:
showUsage(None)
commands = {
"help": showUsage,
"includedhosts": includedhosts,
"excludedhosts": excludedhosts,
"includehost": includehost,
"excludehost": excludehost,
"removehost": removehost,
"listports": listports,
"addport": addport,
"removeport": removeport,
"addhostgroup": addhostgroup,
"addportgroup": addportgroup
}
cmd = commands.get(args[0], showUsage)
code = cmd(args[1:])
if code == 0 and "--apply" in options:
code = apply()
sys.exit(code)
if __name__ == "__main__":
main()

View File

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

View File

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

37
salt/common/tools/sbin/so-kibana-config-export Normal file → Executable file
View File

@@ -1,6 +1,35 @@
#!/bin/bash #!/bin/bash
KIBANA_HOST=10.66.166.141 #
# {%- set FLEET_MASTER = salt['pillar.get']('static:fleet_master', False) -%}
# {%- set FLEET_NODE = salt['pillar.get']('static:fleet_node', False) -%}
# {%- set FLEET_IP = salt['pillar.get']('static:fleet_ip', '') %}
# {%- set MASTER = salt['pillar.get']('master:url_base', '') %}
#
# 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/>.
KIBANA_HOST={{ MASTER }}
KSO_PORT=5601 KSO_PORT=5601
OUTFILE="saved_objects.json" OUTFILE="saved_objects.ndjson"
curl -s -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -XPOST $KIBANA_HOST:$KSO_PORT/api/saved_objects/_export -d '{ "type": "index-pattern", "type": "config", "type": "dashboard", "type": "query", "type": "search", "type": "url", "type": "visualization" }' -o $OUTFILE curl -s -H 'kbn-xsrf: true' -H 'Content-Type: application/json' -XPOST $KIBANA_HOST:$KSO_PORT/api/saved_objects/_export -d '{ "type": [ "index-pattern", "config", "visualization", "dashboard", "search" ], "excludeExportDetails": false }' > $OUTFILE
# Clean up using PLACEHOLDER
sed -i "s/$KIBANA_HOST/PLACEHOLDER/g" $OUTFILE
# Clean up for Fleet, if applicable
# {% if FLEET_NODE or FLEET_MASTER %}
# Fleet IP
sed -i "s/{{ MASTER }}/FLEETPLACEHOLDER/g" $OUTFILE
# {% endif %}

View File

@@ -0,0 +1,57 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
default_salt_dir=/opt/so/saltstack/default
clone_to_tmp() {
# TODO Need to add a air gap option
# Make a temp location for the files
mkdir /tmp/sogh
cd /tmp/sogh
#git clone -b dev https://github.com/Security-Onion-Solutions/securityonion-saltstack.git
git clone https://github.com/Security-Onion-Solutions/securityonion-saltstack.git
cd /tmp
}
copy_new_files() {
# Copy new files over to the salt dir
cd /tmp/sogh/securityonion-saltstack
git checkout $BRANCH
rsync -a --exclude-from 'exclude-list.txt' salt $default_salt_dir/
rsync -a --exclude-from 'exclude-list.txt' pillar $default_salt_dir/
chown -R socore:socore $default_salt_dir/salt
chown -R socore:socore $default_salt_dir/pillar
chmod 755 $default_salt_dir/pillar/firewall/addfirewall.sh
rm -rf /tmp/sogh
}
got_root(){
if [ "$(id -u)" -ne 0 ]; then
echo "This script must be run using sudo!"
exit 1
fi
}
got_root
if [ $# -ne 1 ] ; then
BRANCH=master
else
BRANCH=$1
fi
clone_to_tmp
copy_new_files

View File

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

View File

@@ -14,35 +14,8 @@
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
{%- from 'common/maps/so-status.map.jinja' import docker with context %}
{%- set pillar_suffix = ':containers' -%} {%- set container_list = docker['containers'] | sort %}
{%- if (salt['grains.get']('role') == 'so-mastersearch') -%}
{%- set pillar_val = 'master_search' -%}
{%- elif (salt['grains.get']('role') == 'so-master') -%}
{%- set pillar_val = 'master' -%}
{%- elif (salt['grains.get']('role') == 'so-heavynode') -%}
{%- set pillar_val = 'heavy_node' -%}
{%- elif (salt['grains.get']('role') == 'so-sensor') -%}
{%- 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') -%}
{%- if (salt['pillar.get']('node:node_type') == 'parser') -%}
{%- set pillar_val = 'parser_node' -%}
{%- elif (salt['pillar.get']('node:node_type') == 'hot') -%}
{%- set pillar_val = 'hot_node' -%}
{%- elif (salt['pillar.get']('node:node_type') == 'warm') -%}
{%- set pillar_val = 'warm_node' -%}
{%- elif (salt['pillar.get']('node:node_type') == 'search') -%}
{%- set pillar_val = 'search_node' -%}
{%- endif -%}
{%- endif -%}
{%- set pillar_name = pillar_val ~ pillar_suffix -%}
{%- set container_list = salt['pillar.get'](pillar_name) %}
if ! [ "$(id -u)" = 0 ]; then if ! [ "$(id -u)" = 0 ]; then
echo "This command must be run as root" echo "This command must be run as root"

View File

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

View File

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

View File

@@ -0,0 +1,20 @@
#!/bin/bash
#
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
. /usr/sbin/so-common
/usr/sbin/so-stop thehive-es $1

View File

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

View File

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

View File

@@ -0,0 +1,39 @@
#!/bin/bash
# Copyright 2014,2015,2016,2017,2018,2019,2020 Security Onion Solutions, LLC
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# Show Zeek stats (capstats, netstats)
show_stats() {
echo '##############'
echo '# Zeek Stats #'
echo '##############'
echo
echo "Average throughput:"
echo
docker exec -it so-zeek /opt/zeek/bin/zeekctl capstats
echo
echo "Average packet loss:"
echo
docker exec -it so-zeek /opt/zeek/bin/zeekctl netstats
echo
}
if docker ps | grep -q zeek; then
show_stats
else
echo "Zeek is not running! Try starting it with 'so-zeek-start'." && exit 1;
fi

View File

@@ -1,12 +1,8 @@
{% if grains['role'] == 'so-node' %} {%- if grains['role'] in ['so-node', 'so-searchnode', 'so-heavynode'] %}
{%- set cur_close_days = salt['pillar.get']('node:cur_close_days', '') -%}
{%- set cur_close_days = salt['pillar.get']('node:cur_close_days', '') -%} {%- elif grains['role'] in ['so-eval', 'so-mastersearch', 'so-standalone'] %}
{%- set cur_close_days = salt['pillar.get']('master:cur_close_days', '') -%}
{% elif grains['role'] == 'so-eval' %} {%- endif -%}
{%- set cur_close_days = salt['pillar.get']('master:cur_close_days', '') -%}
{%- endif %}
--- ---
# Remember, leave a key empty if there is no value. None will be a string, # Remember, leave a key empty if there is no value. None will be a string,
@@ -28,9 +24,8 @@ actions:
disable_action: False disable_action: False
filters: filters:
- filtertype: pattern - filtertype: pattern
kind: prefix kind: regex
value: logstash- value: '^(logstash-.*|so-.*)$'
exclude:
- filtertype: age - filtertype: age
source: name source: name
direction: older direction: older

View File

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

View File

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

View File

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

View File

@@ -1,6 +1,6 @@
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.1') %} {% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.2') %}
{% set MASTER = salt['grains.get']('master') %} {% set MASTER = salt['grains.get']('master') %}
{% if grains['role'] == 'so-node' or grains['role'] == 'so-eval' %} {% if grains['role'] in ['so-eval', 'so-node', 'so-mastersearch', 'so-heavynode', 'so-standalone'] %}
# Curator # Curator
# Create the group # Create the group
curatorgroup: curatorgroup:
@@ -89,7 +89,7 @@ curdel:
so-curatorcloseddeletecron: so-curatorcloseddeletecron:
cron.present: cron.present:
- name: /usr/sbin/so-curator-closed-delete - name: /usr/sbin/so-curator-closed-delete > /opt/so/log/curator/cron-closed-delete.log 2>&1
- user: root - user: root
- minute: '*' - minute: '*'
- hour: '*' - hour: '*'
@@ -99,7 +99,7 @@ so-curatorcloseddeletecron:
so-curatorclosecron: so-curatorclosecron:
cron.present: cron.present:
- name: /usr/sbin/so-curator-close - name: /usr/sbin/so-curator-close > /opt/so/log/curator/cron-close.log 2>&1
- user: root - user: root
- minute: '*' - minute: '*'
- hour: '*' - hour: '*'
@@ -109,7 +109,7 @@ so-curatorclosecron:
so-curatordeletecron: so-curatordeletecron:
cron.present: cron.present:
- name: /usr/sbin/so-curator-delete - name: /usr/sbin/so-curator-delete > /opt/so/log/curator/cron-delete.log 2>&1
- user: root - user: root
- minute: '*' - minute: '*'
- hour: '*' - hour: '*'

8
salt/docker/init.sls Normal file
View File

@@ -0,0 +1,8 @@
installdocker:
pkg.installed:
- name: docker-ce
# Make sure Docker is running!
docker:
service.running:
- enable: True

View File

@@ -2,7 +2,7 @@
{% set esport = salt['pillar.get']('master:es_port', '') %} {% set esport = salt['pillar.get']('master:es_port', '') %}
# This is the folder that contains the rule yaml files # This is the folder that contains the rule yaml files
# Any .yaml file will be loaded as a rule # Any .yaml file will be loaded as a rule
rules_folder: /etc/elastalert/rules/ rules_folder: /opt/elastalert/rules/
# Sets whether or not ElastAlert should recursively descend # Sets whether or not ElastAlert should recursively descend
# the rules directory - true or false # the rules directory - true or false

View File

@@ -1,107 +0,0 @@
# -*- coding: utf-8 -*-
# HiveAlerter modified from original at: https://raw.githubusercontent.com/Nclose-ZA/elastalert_hive_alerter/master/elastalert_hive_alerter/hive_alerter.py
import uuid
from elastalert.alerts import Alerter
from thehive4py.api import TheHiveApi
from thehive4py.models import Alert, AlertArtifact, CustomFieldHelper
class TheHiveAlerter(Alerter):
"""
Use matched data to create alerts containing observables in an instance of TheHive
"""
required_options = set(['hive_connection', 'hive_alert_config'])
def get_aggregation_summary_text(self, matches):
text = super(TheHiveAlerter, self).get_aggregation_summary_text(matches)
if text:
text = '```\n{0}```\n'.format(text)
return text
def create_artifacts(self, match):
artifacts = []
context = {'rule': self.rule, 'match': match}
for mapping in self.rule.get('hive_observable_data_mapping', []):
for observable_type, match_data_key in mapping.items():
try:
artifacts.append(AlertArtifact(dataType=observable_type, data=match_data_key.format(**context)))
except KeyError as e:
print(('format string {} fail cause no key {} in {}'.format(e, match_data_key, context)))
return artifacts
def create_alert_config(self, match):
context = {'rule': self.rule, 'match': match}
alert_config = {
'artifacts': self.create_artifacts(match),
'sourceRef': str(uuid.uuid4())[0:6],
'title': '{rule[name]}'.format(**context)
}
alert_config.update(self.rule.get('hive_alert_config', {}))
for alert_config_field, alert_config_value in alert_config.items():
if alert_config_field == 'customFields':
custom_fields = CustomFieldHelper()
for cf_key, cf_value in alert_config_value.items():
try:
func = getattr(custom_fields, 'add_{}'.format(cf_value['type']))
except AttributeError:
raise Exception('unsupported custom field type {}'.format(cf_value['type']))
value = cf_value['value'].format(**context)
func(cf_key, value)
alert_config[alert_config_field] = custom_fields.build()
elif isinstance(alert_config_value, str):
alert_config[alert_config_field] = alert_config_value.format(**context)
elif isinstance(alert_config_value, (list, tuple)):
formatted_list = []
for element in alert_config_value:
try:
formatted_list.append(element.format(**context))
except (AttributeError, KeyError, IndexError):
formatted_list.append(element)
alert_config[alert_config_field] = formatted_list
return alert_config
def send_to_thehive(self, alert_config):
connection_details = self.rule['hive_connection']
api = TheHiveApi(
connection_details.get('hive_host', ''),
connection_details.get('hive_apikey', ''),
proxies=connection_details.get('hive_proxies', {'http': '', 'https': ''}),
cert=connection_details.get('hive_verify', False))
alert = Alert(**alert_config)
response = api.create_alert(alert)
if response.status_code != 201:
raise Exception('alert not successfully created in TheHive\n{}'.format(response.text))
def alert(self, matches):
if self.rule.get('hive_alert_config_type', 'custom') != 'classic':
for match in matches:
alert_config = self.create_alert_config(match)
self.send_to_thehive(alert_config)
else:
alert_config = self.create_alert_config(matches[0])
artifacts = []
for match in matches:
artifacts += self.create_artifacts(match)
if 'related_events' in match:
for related_event in match['related_events']:
artifacts += self.create_artifacts(related_event)
alert_config['artifacts'] = artifacts
alert_config['title'] = self.create_title(matches)
alert_config['description'] = self.create_alert_body(matches)
self.send_to_thehive(alert_config)
def get_info(self):
return {
'type': 'hivealerter',
'hive_host': self.rule.get('hive_connection', {}).get('hive_host', '')
}

View File

@@ -1,6 +1,8 @@
{% set es = salt['pillar.get']('static:masterip', '') %} {% set es = salt['pillar.get']('static:masterip', '') %}
{% set hivehost = salt['pillar.get']('static:masterip', '') %} {% set hivehost = salt['pillar.get']('static:masterip', '') %}
{% set hivekey = salt['pillar.get']('static:hivekey', '') %} {% set hivekey = salt['pillar.get']('static:hivekey', '') %}
{% set MASTER = salt['pillar.get']('master:url_base', '') %}
# hive.yaml # hive.yaml
# Elastalert rule to forward IDS alerts from Security Onion to a specified TheHive instance. # Elastalert rule to forward IDS alerts from Security Onion to a specified TheHive instance.
# #
@@ -15,7 +17,7 @@ timeframe:
buffer_time: buffer_time:
minutes: 10 minutes: 10
allow_buffer_time_overlap: true allow_buffer_time_overlap: true
query_key: ["rule.signature_id"] query_key: ["rule.uuid"]
realert: realert:
days: 1 days: 1
filter: filter:
@@ -23,12 +25,13 @@ filter:
query_string: query_string:
query: "event.module: suricata" query: "event.module: suricata"
alert: modules.so.thehive.TheHiveAlerter alert: hivealerter
hive_connection: hive_connection:
hive_host: https://{{hivehost}}/thehive/ hive_host: http://{{hivehost}}
hive_port: 9000/thehive
hive_apikey: {{hivekey}} hive_apikey: {{hivekey}}
hive_proxies: hive_proxies:
http: '' http: ''
https: '' https: ''
@@ -37,9 +40,9 @@ hive_alert_config:
title: '{match[rule][name]}' title: '{match[rule][name]}'
type: 'NIDS' type: 'NIDS'
source: 'SecurityOnion' 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:')),sort:!('@timestamp',desc))> \n\n `IPs: `{match[source][ip]}:{match[source][port]} --> {match[destination][ip]}:{match[destination][port]} \n\n `Signature:`{match[rule][rule]}" description: "`Hunting Pivot:` \n\n <https://{{MASTER}}/#/hunt?q=event.module%3A%20suricata%20AND%20rule.uuid%3A{match[rule][uuid]}%20%7C%20groupby%20source.ip%20destination.ip%20rule.name> \n\n `Kibana Dashboard - Signature Drilldown:` \n\n <https://{{MASTER}}/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 `Kibana Dashboard - Community_ID:` \n\n <https://{{MASTER}}/kibana/app/kibana#/dashboard/30d0ac90-729f-11ea-8dd2-9d8795a1200b?_g=(filters:!(('$state':(store:globalState),meta:(alias:!n,disabled:!f,index:'*:so-*',key:network.community_id,negate:!f,params:(query:'{match[network][community_id]}'),type:phrase),query:(match_phrase:(network.community_id:'{match[network][community_id]}')))),refreshInterval:(pause:!t,value:0),time:(from:now-7d,to:now))> \n\n `IPs: `{match[source][ip]}:{match[source][port]} --> {match[destination][ip]}:{match[destination][port]} \n\n `Signature:`{match[rule][rule]}"
severity: 2 severity: 2
tags: ['{match[rule][signature_id]}','{match[source][ip]}','{match[destination][ip]}'] tags: ['{match[rule][uuid]}','{match[source][ip]}','{match[destination][ip]}']
tlp: 3 tlp: 3
status: 'New' status: 'New'
follow: True follow: True

View File

@@ -12,26 +12,15 @@
# #
# You should have received a copy of the GNU General Public License # You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>. # along with this program. If not, see <http://www.gnu.org/licenses/>.
{% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.1') %} {% set VERSION = salt['pillar.get']('static:soversion', 'HH1.2.2') %}
{% set MASTER = salt['grains.get']('master') %} {% set MASTER = salt['grains.get']('master') %}
{% if grains['role'] == 'so-master' %}
{% set esalert = salt['pillar.get']('master:elastalert', '1') %}
{% set esip = salt['pillar.get']('master:mainip', '') %}
{% set esport = salt['pillar.get']('master:es_port', '') %}
{% elif grains['role'] in ['so-eval','so-mastersearch'] %}
{% set esalert = salt['pillar.get']('master:elastalert', '1') %}
{% set esip = salt['pillar.get']('master:mainip', '') %}
{% set esport = salt['pillar.get']('master:es_port', '') %}
{% if grains['role'] in ['so-eval','so-mastersearch', 'so-master', 'so-standalone'] %}
{% set esalert = salt['pillar.get']('master:elastalert', '1') %}
{% set esip = salt['pillar.get']('master:mainip', '') %}
{% set esport = salt['pillar.get']('master:es_port', '') %}
{% elif grains['role'] == 'so-node' %} {% elif grains['role'] == 'so-node' %}
{% set esalert = salt['pillar.get']('node:elastalert', '0') %}
{% set esalert = salt['pillar.get']('node:elastalert', '0') %}
{% endif %} {% endif %}
# Elastalert # Elastalert
@@ -55,35 +44,35 @@ elastalogdir:
file.directory: file.directory:
- name: /opt/so/log/elastalert - name: /opt/so/log/elastalert
- user: 933 - user: 933
- group: 939 - group: 933
- makedirs: True - makedirs: True
elastarules: elastarules:
file.directory: file.directory:
- name: /opt/so/rules/elastalert - name: /opt/so/rules/elastalert
- user: 933 - user: 933
- group: 939 - group: 933
- makedirs: True - makedirs: True
elastaconfdir: elastaconfdir:
file.directory: file.directory:
- name: /opt/so/conf/elastalert - name: /opt/so/conf/elastalert
- user: 933 - user: 933
- group: 939 - group: 933
- makedirs: True - makedirs: True
elastasomodulesdir: elastasomodulesdir:
file.directory: file.directory:
- name: /opt/so/conf/elastalert/modules/so - name: /opt/so/conf/elastalert/modules/so
- user: 933 - user: 933
- group: 939 - group: 933
- makedirs: True - makedirs: True
elastacustmodulesdir: elastacustmodulesdir:
file.directory: file.directory:
- name: /opt/so/conf/elastalert/modules/custom - name: /opt/so/conf/elastalert/modules/custom
- user: 933 - user: 933
- group: 939 - group: 933
- makedirs: True - makedirs: True
elastasomodulesync: elastasomodulesync:
@@ -91,7 +80,7 @@ elastasomodulesync:
- name: /opt/so/conf/elastalert/modules/so - name: /opt/so/conf/elastalert/modules/so
- source: salt://elastalert/files/modules/so - source: salt://elastalert/files/modules/so
- user: 933 - user: 933
- group: 939 - group: 933
- makedirs: True - makedirs: True
elastarulesync: elastarulesync:
@@ -99,7 +88,7 @@ elastarulesync:
- name: /opt/so/rules/elastalert - name: /opt/so/rules/elastalert
- source: salt://elastalert/files/rules/so - source: salt://elastalert/files/rules/so
- user: 933 - user: 933
- group: 939 - group: 933
- template: jinja - template: jinja
elastaconf: elastaconf:
@@ -107,7 +96,7 @@ elastaconf:
- name: /opt/so/conf/elastalert/elastalert_config.yaml - name: /opt/so/conf/elastalert/elastalert_config.yaml
- source: salt://elastalert/files/elastalert_config.yaml - source: salt://elastalert/files/elastalert_config.yaml
- user: 933 - user: 933
- group: 939 - group: 933
- template: jinja - template: jinja
so-elastalert: so-elastalert:
@@ -118,16 +107,9 @@ so-elastalert:
- user: elastalert - user: elastalert
- detach: True - detach: True
- binds: - binds:
- /opt/so/rules/elastalert:/etc/elastalert/rules/:ro - /opt/so/rules/elastalert:/opt/elastalert/rules/:ro
- /opt/so/log/elastalert:/var/log/elastalert:rw - /opt/so/log/elastalert:/var/log/elastalert:rw
- /opt/so/conf/elastalert/modules/:/opt/elastalert/modules/:ro - /opt/so/conf/elastalert/modules/:/opt/elastalert/modules/:ro
- /opt/so/conf/elastalert/elastalert_config.yaml:/etc/elastalert/conf/elastalert_config.yaml:ro - /opt/so/conf/elastalert/elastalert_config.yaml:/opt/config/elastalert_config.yaml:ro
- environment:
- ELASTICSEARCH_HOST: {{ esip }}
- ELASTICSEARCH_PORT: {{ esport }}
- ELASTALERT_CONFIG: /etc/elastalert/conf/elastalert_config.yaml
- ELASTALERT_SUPERVISOR_CONF: /etc/elastalert/conf/elastalert_supervisord.conf
- RULES_DIRECTORY: /etc/elastalert/rules/
- LOG_DIR: /var/log/elastalert
{% endif %} {% endif %}

View File

@@ -22,3 +22,7 @@ transport.bind_host: 0.0.0.0
transport.publish_host: {{ nodeip }} transport.publish_host: {{ nodeip }}
transport.publish_port: 9300 transport.publish_port: 9300
{%- endif %} {%- endif %}
cluster.routing.allocation.disk.threshold_enabled: true
cluster.routing.allocation.disk.watermark.low: 95%
cluster.routing.allocation.disk.watermark.high: 98%
cluster.routing.allocation.disk.watermark.flood_stage: 98%

View File

@@ -0,0 +1,35 @@
{
"description" : "beats.common",
"processors" : [
{"community_id": {"if": "ctx.winlog.event_data?.Protocol != null", "field":["winlog.event_data.SourceIp","winlog.event_data.SourcePort","winlog.event_data.DestinationIp","winlog.event_data.DestinationPort","winlog.event_data.Protocol"],"target_field":"network.community_id"}},
{ "set": { "if": "ctx.winlog?.channel != null", "field": "dataset", "value": "wel-{{winlog.channel}}", "override": true } },
{ "set": { "if": "ctx.agent?.type != null", "field": "module", "value": "{{agent.type}}", "override": true } },
{ "set": { "if": "ctx.winlog?.channel == 'Microsoft-Windows-Sysmon/Operational' && ctx.event?.code == 3", "field": "event.category", "value": "host,process,network", "override": true } },
{ "set": { "if": "ctx.winlog?.channel == 'Microsoft-Windows-Sysmon/Operational' && ctx.event?.code == 1", "field": "event.category", "value": "host,process", "override": true } },
{ "rename": { "field": "agent.hostname", "target_field": "agent.name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SubjectUserName", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.DestinationHostname", "target_field": "destination.hostname", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.DestinationIp", "target_field": "destination.ip", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.DestinationPort", "target_field": "destination.port", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Image", "target_field": "process.executable", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ProcessID", "target_field": "process.pid", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ProcessGuid", "target_field": "process.entity_id", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.CommandLine", "target_field": "process.command_line", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.CurrentDirectory", "target_field": "process.working_directory", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Description", "target_field": "process.pe.description", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Product", "target_field": "process.pe.product", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.OriginalFileName", "target_field": "process.pe.original_file_name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.FileVersion", "target_field": "process.pe.file_version", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentCommandLine", "target_field": "process.parent.command_line", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentImage", "target_field": "process.parent.executable", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentProcessGuid", "target_field": "process.parent.entity_id", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.ParentProcessId", "target_field": "process.ppid", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.Protocol", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.User", "target_field": "user.name", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourceHostname", "target_field": "source.hostname", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourceIp", "target_field": "source.ip", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.SourcePort", "target_field": "source.port", "ignore_missing": true } },
{ "rename": { "field": "winlog.event_data.targetFilename", "target_field": "file.target", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -4,7 +4,7 @@
{ {
"geoip": { "geoip": {
"field": "destination.ip", "field": "destination.ip",
"target_field": "geo", "target_field": "destination.geo",
"database_file": "GeoLite2-City.mmdb", "database_file": "GeoLite2-City.mmdb",
"ignore_missing": true, "ignore_missing": true,
"properties": ["ip", "country_iso_code", "country_name", "continent_name", "region_iso_code", "region_name", "city_name", "timezone", "location"] "properties": ["ip", "country_iso_code", "country_name", "continent_name", "region_iso_code", "region_name", "city_name", "timezone", "location"]
@@ -13,7 +13,7 @@
{ {
"geoip": { "geoip": {
"field": "source.ip", "field": "source.ip",
"target_field": "geo", "target_field": "source.geo",
"database_file": "GeoLite2-City.mmdb", "database_file": "GeoLite2-City.mmdb",
"ignore_missing": true, "ignore_missing": true,
"properties": ["ip", "country_iso_code", "country_name", "continent_name", "region_iso_code", "region_name", "city_name", "timezone", "location"] "properties": ["ip", "country_iso_code", "country_name", "continent_name", "region_iso_code", "region_name", "city_name", "timezone", "location"]
@@ -38,12 +38,15 @@
{ "rename": { "field": "module", "target_field": "event.module", "ignore_missing": true } }, { "rename": { "field": "module", "target_field": "event.module", "ignore_missing": true } },
{ "rename": { "field": "dataset", "target_field": "event.dataset", "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": "category", "target_field": "event.category", "ignore_missing": true } },
{ "rename": { "field": "message2.community_id", "target_field": "network.community_id", "ignore_missing": true } }, { "rename": { "field": "message2.community_id", "target_field": "network.community_id", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "destination.port", "type": "integer", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "source.port", "type": "integer", "ignore_failure": true, "ignore_missing": true } },
{ "convert": { "field": "log.id.uid", "type": "string", "ignore_failure": true, "ignore_missing": true } },
{ {
"remove": { "remove": {
"field": [ "index_name_prefix", "message2"], "field": [ "index_name_prefix", "message2", "type" ],
"ignore_failure": false "ignore_failure": true
} }
} }
] ]
} }

View File

@@ -24,8 +24,14 @@
{ "rename": { "field": "message3.columns.pid", "target_field": "process.pid", "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.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.cwd", "target_field": "process.working_directory", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.community_id", "target_field": "network.community_id", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.local_address", "target_field": "local.ip", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.local_port", "target_field": "local.port", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.remote_address", "target_field": "remote.ip", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.remote_port", "target_field": "remote.port", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.process_name", "target_field": "process.name", "ignore_missing": true } },
{ "rename": { "field": "message3.columns.eventid", "target_field": "event.code", "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 } }, { "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.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.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.destinationIp", "target_field": "destination.ip", "ignore_missing": true } },

View File

@@ -1,11 +1,12 @@
{ {
"description" : "suricata.alert", "description" : "suricata.alert",
"processors" : [ "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": "message2.alert", "target_field": "rule", "ignore_failure": true } },
{ "rename":{ "field": "rule.signature", "target_field": "rule.name", "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 } }, { "rename":{ "field": "rule.ref", "target_field": "rule.version", "ignore_failure": true } },
{ "pipeline": { "name": "suricata.common" } } { "rename":{ "field": "rule.signature_id", "target_field": "rule.uuid", "ignore_failure": true } },
{ "rename":{ "field": "rule.signature_id", "target_field": "rule.signature", "ignore_failure": true } },
{ "rename":{ "field": "message2.payload_printable", "target_field": "network.data.decoded", "ignore_failure": true } },
{ "pipeline": { "name": "common" } }
] ]
} }

View File

@@ -1,15 +1,18 @@
{ {
"description" : "suricata.common", "description" : "suricata.common",
"processors" : [ "processors" : [
{ "json": { "field": "message", "target_field": "message2", "ignore_failure": true } },
{ "rename":{ "field": "message2.proto", "target_field": "network.transport", "ignore_failure": true } }, { "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.flow_id", "target_field": "log.id.uid", "ignore_failure": true } },
{ "rename":{ "field": "message2.src_ip", "target_field": "source.ip", "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.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_ip", "target_field": "destination.ip", "ignore_failure": true } },
{ "rename":{ "field": "message2.dest_port", "target_field": "destination.port", "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 } }, { "rename": { "field": "message2.community_id", "target_field": "network.community_id", "ignore_missing": true } },
{ "remove":{ "field": "dataset", "ignore_failure": true } },
{ "rename":{ "field": "message2.event_type", "target_field": "dataset", "ignore_failure": true } },
{ "set": { "field": "observer.name", "value": "{{agent.name}}" } }, { "set": { "field": "observer.name", "value": "{{agent.name}}" } },
{ "remove": { "field": ["agent"], "ignore_failure": true } }, { "remove":{ "field": "agent", "ignore_failure": true } },
{ "pipeline": { "name": "common" } } { "pipeline": { "name": "suricata.{{dataset}}" } }
] ]
} }

View File

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

View File

@@ -0,0 +1,8 @@
{
"description" : "suricata.dnp3",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,14 @@
{
"description" : "suricata.dns",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.type", "target_field": "dns.type", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.tx_id", "target_field": "dns.id", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.version", "target_field": "dns.version", "ignore_missing": true } },
{ "rename": { "field": "message2.dns.rrname", "target_field": "dns.query.name", "ignore_missing": true } },
{ "rename": { "field": "message2.grouped.A", "target_field": "dns.answers", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,8 @@
{
"description" : "suricata.fileinfo",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,14 @@
{
"description" : "suricata.flow",
"processors" : [
{ "set": { "field": "dataset", "value": "conn" } },
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.flow.state", "target_field": "connection.state", "ignore_missing": true } },
{ "rename": { "field": "message2.flow.bytes_toclient", "target_field": "server.ip_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.flow.bytes_toserver", "target_field": "client.ip_bytes", "ignore_missing": true } },
{ "rename": { "field": "message2.flow.start", "target_field": "connection.start", "ignore_missing": true } },
{ "rename": { "field": "message2.flow.end", "target_field": "connection.end", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,14 @@
{
"description" : "suricata.ftp",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.ftp.reply", "target_field": "server.reply_message", "ignore_missing": true } },
{ "rename": { "field": "message2.ftp.completion_code", "target_field": "server.reply_code", "ignore_missing": true } },
{ "rename": { "field": "message2.ftp.reply_received", "target_field": "server.reply_received", "ignore_missing": true } },
{ "rename": { "field": "message2.ftp.command", "target_field": "ftp.command", "ignore_missing": true } },
{ "rename": { "field": "message2.ftp.command_data", "target_field": "ftp.command_data", "ignore_missing": true } },
{ "rename": { "field": "message2.ftp.dynamic_port", "target_field": "ftp.data_channel_destination.port", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,17 @@
{
"description" : "suricata.http",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "rename": { "field": "message2.http.hostname", "target_field": "http.virtual_host", "ignore_missing": true } },
{ "rename": { "field": "message2.http.http_user_agent", "target_field": "http.useragent", "ignore_missing": true } },
{ "rename": { "field": "message2.http.url", "target_field": "http.uri", "ignore_missing": true } },
{ "rename": { "field": "message2.http.http_content_type", "target_field": "file.resp_mime_types", "ignore_missing": true } },
{ "rename": { "field": "message2.http.http_refer", "target_field": "http.referrer", "ignore_missing": true } },
{ "rename": { "field": "message2.http.http_method", "target_field": "http.method", "ignore_missing": true } },
{ "rename": { "field": "message2.http.protocol", "target_field": "http.version", "ignore_missing": true } },
{ "rename": { "field": "message2.http.status", "target_field": "http.status_code", "ignore_missing": true } },
{ "rename": { "field": "message2.http.length", "target_field": "http.request.body.length", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,8 @@
{
"description" : "suricata.ikev2",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,8 @@
{
"description" : "suricata.krb5",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

View File

@@ -0,0 +1,8 @@
{
"description" : "suricata.nfs",
"processors" : [
{ "rename": { "field": "message2.proto", "target_field": "network.transport", "ignore_missing": true } },
{ "rename": { "field": "message2.app_proto", "target_field": "network.protocol", "ignore_missing": true } },
{ "pipeline": { "name": "common" } }
]
}

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