Compare commits

..

765 Commits

Author SHA1 Message Date
Doug Burks
a13b3f305a Merge pull request #10970 from Security-Onion-Solutions/2.4/dev
2.4.5 RC2
2023-08-07 10:21:29 -04:00
Doug Burks
38089c6662 Merge pull request #10971 from Security-Onion-Solutions/2.4/main
2.4/main to 2.4/dev
2023-08-07 10:17:51 -04:00
Doug Burks
2d863f09eb Merge pull request #10969 from Security-Onion-Solutions/dougburks-patch-1
add spaces for proper rendering DOWNLOAD_AND_VERIFY_ISO.md
2023-08-07 09:31:33 -04:00
Doug Burks
37b98ba188 add spaces for proper rendering DOWNLOAD_AND_VERIFY_ISO.md 2023-08-07 09:29:34 -04:00
Doug Burks
65d1e57ccd Merge pull request #10968 from Security-Onion-Solutions/dougburks-patch-1
prepare for 2.4.5 ISO image release
2023-08-07 09:15:53 -04:00
Doug Burks
9ae32e2bd6 create sigs directory and add sig for 2.4.5 2023-08-07 09:02:52 -04:00
Doug Burks
6e8f31e083 Delete sigs 2023-08-07 08:59:24 -04:00
Doug Burks
3c5cd941c7 Update DOWNLOAD_AND_VERIFY_ISO.md for 2.4.5 2023-08-07 08:45:30 -04:00
Doug Burks
2ea2a4d0a7 Merge pull request #10964 from Security-Onion-Solutions/dougburks-patch-1
Revert yesterday's change to zeekcaptureloss.sh
2023-08-05 09:23:58 -04:00
Doug Burks
90102b1148 Finish reverting yesterday's change to zeekcaptureloss.sh 2023-08-05 09:23:27 -04:00
Doug Burks
ec81cbd70d Revert yesterday's change to zeekcaptureloss.sh 2023-08-05 09:11:58 -04:00
Josh Patterson
59c0109c91 Merge pull request #10961 from Security-Onion-Solutions/fix/tgrafzeekcloss
fix count of WORKERS for zeekcaptureloss script for telegraf
2023-08-04 16:39:26 -04:00
m0duspwnens
9af2a731ca fix count of WORKERS for zeekcaptureloss script for telegraf 2023-08-04 16:29:30 -04:00
Josh Brower
9b656ebbc0 Merge pull request #10960 from Security-Onion-Solutions/2.4/fleetcustomfqdn
Refactor to remove new line
2023-08-04 16:16:43 -04:00
Josh Brower
9d3744aa25 Refactor to remove new line 2023-08-04 16:05:28 -04:00
Josh Patterson
9fddd56c96 Merge pull request #10959 from Security-Onion-Solutions/desktopyummv
Desktopyummv
2023-08-04 16:03:20 -04:00
m0duspwnens
89c4f58296 fix indents 2023-08-04 15:41:10 -04:00
m0duspwnens
0ba1e7521a set default session for preexisting users 2023-08-04 15:36:44 -04:00
m0duspwnens
36747cf940 add networkminer to desktop.packages 2023-08-04 13:52:01 -04:00
Doug Burks
118088c35f Merge pull request #10953 from Security-Onion-Solutions/dougburks-patch-1
FEATURE: soup should rotate its log file #10951
2023-08-04 12:38:21 -04:00
Doug Burks
63373710b4 Update soup to rotate log file 2023-08-04 12:26:36 -04:00
Doug Burks
209da766ba Update soup to rotate log file 2023-08-04 12:16:14 -04:00
m0duspwnens
433cde0f9e Merge remote-tracking branch 'origin/2.4/dev' into desktopyummv 2023-08-04 11:25:06 -04:00
Josh Patterson
9fe9256a0f Merge pull request #10950 from Security-Onion-Solutions/fix/idhfirewall
Fix/idhfirewall
2023-08-04 11:00:58 -04:00
m0duspwnens
014aeffb2a add analyst back 2023-08-04 09:56:33 -04:00
m0duspwnens
3b86b60207 Merge remote-tracking branch 'origin/2.4/dev' into fix/idhfirewall 2023-08-04 09:40:01 -04:00
m0duspwnens
0f52530d07 soc_firewall.yaml update adding idh and rename analyst to workstation 2023-08-04 09:37:58 -04:00
m0duspwnens
726ec72350 allow idh to connect to salt_manager ports on managres 2023-08-04 09:22:59 -04:00
Doug Burks
560ec9106d Merge pull request #10948 from Security-Onion-Solutions/dougburks-patch-1
Update so-whiptail
2023-08-04 09:21:55 -04:00
m0duspwnens
a51acfc314 rename analyst to workstation for fw rules. allow workstation to connect to salt_manager port on managers 2023-08-04 09:17:22 -04:00
Doug Burks
78950ebfbb Update so-whiptail 2023-08-04 09:16:58 -04:00
Josh Brower
d3ae2b03f0 Merge pull request #10947 from Security-Onion-Solutions/2.4/comm_id
Generate community_id for defend endpoint logs
2023-08-04 09:07:35 -04:00
Josh Brower
dd1fa51eb5 Generate community_id for defend endpoint logs 2023-08-04 09:03:17 -04:00
m0duspwnens
682289ef23 add sensoroni ports where missing 2023-08-04 09:01:09 -04:00
m0duspwnens
593cdbd060 add rules for idh to connect to managers, change idh from sensor to idh in so-firewall-minion 2023-08-04 08:50:06 -04:00
Josh Brower
4ed0ba5040 Merge pull request #10946 from Security-Onion-Solutions/2.4/logstashfix
Don't watch certs on search nodes
2023-08-03 19:01:13 -04:00
Josh Brower
2472d6a727 Don't watch certs on search nodes 2023-08-03 18:52:29 -04:00
Mike Reeves
18e31a4490 Merge pull request #10944 from Security-Onion-Solutions/raid
Raid refactor + yara and rule proxy
2023-08-03 17:18:19 -04:00
Mike Reeves
2caca92082 Raid refactor + yara and rule proxy 2023-08-03 17:11:43 -04:00
weslambert
abf74e0ae4 Merge pull request #10940 from Security-Onion-Solutions/foxtrot
Add time shift for so-import-evtx
2023-08-03 16:56:40 -04:00
Josh Brower
dc7ce5ba8f Merge pull request #10941 from Security-Onion-Solutions/2.4/defendupdate
Update for 8.8.2
2023-08-03 16:28:56 -04:00
Josh Brower
6b5343f582 Update for 8.8.2 2023-08-03 16:25:02 -04:00
weslambert
ca6276b922 Update VERSION 2023-08-03 15:58:33 -04:00
weslambert
3e4136e641 Update help text 2023-08-03 15:56:05 -04:00
m0duspwnens
15b8e1a753 add convert-gnome-classic.sh 2023-08-03 15:37:26 -04:00
Doug Burks
b7197bbd16 Merge pull request #10939 from Security-Onion-Solutions/dougburks-patch-1
Update soup for airgap
2023-08-03 15:28:28 -04:00
Josh Brower
8966617508 Merge pull request #10926 from Security-Onion-Solutions/2.4/FleetEnhancments
2.4/fleet-Enhancements
2023-08-03 15:28:03 -04:00
Doug Burks
9319c3f2e1 Update soup for airgap 2023-08-03 15:27:24 -04:00
m0duspwnens
d4fbf7d6a6 convert to gnome classic 2023-08-03 15:26:43 -04:00
Josh Brower
e78fcbc6cb Refactor for Jinja instead 2023-08-03 15:25:11 -04:00
Josh Brower
27b70cbf68 Use jinja instead 2023-08-03 15:21:20 -04:00
Josh Patterson
ffb54135d1 Merge pull request #10938 from Security-Onion-Solutions/desktopyummv
Desktopyummv
2023-08-03 14:54:29 -04:00
m0duspwnens
d40a8927c3 install salt version specified in master.defaults.yaml for desktop 2023-08-03 14:51:43 -04:00
m0duspwnens
9172e10dba check if there are files in yum.repos.d before trying to move them 2023-08-03 14:47:53 -04:00
Doug Burks
1907ea805c Merge pull request #10937 from Security-Onion-Solutions/dougburks-patch-1
Update soup for airgap
2023-08-03 14:39:53 -04:00
Doug Burks
80598d7f8d Update soup for airgap 2023-08-03 14:36:47 -04:00
Josh Patterson
13c3e7f5ff Merge pull request #10934 from Security-Onion-Solutions/fix/soupairgap
ensure AIRGAP is lowercase and check for true
2023-08-03 12:00:06 -04:00
m0duspwnens
d4389d5057 ensure AIRGAP is lowercase and check for true 2023-08-03 11:56:48 -04:00
weslambert
cf2233bbb6 Add help information for time shift 2023-08-03 08:54:54 -04:00
weslambert
3847863b3d Add time shift 2023-08-03 08:51:23 -04:00
weslambert
3368789b43 Update VERSION 2023-08-03 08:49:45 -04:00
Josh Brower
1bc7bbc76e Refactor custom_fqdn 2023-08-02 20:02:37 -04:00
Jason Ertel
e108bb9bcd Merge pull request #10932 from Security-Onion-Solutions/jertel/agentcommon
remove unused vars
2023-08-02 19:29:03 -04:00
Jason Ertel
5414b0756c remove unused vars 2023-08-02 19:25:07 -04:00
Jason Ertel
11c827927c Merge pull request #10931 from Security-Onion-Solutions/jertel/agentcommon
refactor elastic-agent download for soup ctrl+c anomalies
2023-08-02 19:20:45 -04:00
Jason Ertel
3054b8dcb9 refactor elastic-agent download for soup ctrl+c anomalies 2023-08-02 18:57:46 -04:00
Josh Brower
399758cd5f Merge remote-tracking branch 'origin/2.4/dev' into 2.4/FleetEnhancments 2023-08-02 17:58:48 -04:00
Josh Brower
1c8a8c460c Restart logstash when certs change 2023-08-02 17:53:29 -04:00
Josh Brower
ab28cee7cf Allow multiple Custom Fleet FQDN 2023-08-02 17:45:37 -04:00
Mike Reeves
5a3c1f0373 Merge pull request #10930 from Security-Onion-Solutions/m0duspwnens-patch-2
add gtk2
2023-08-02 16:58:38 -04:00
Josh Patterson
435da77388 add gtk2 2023-08-02 16:53:45 -04:00
Mike Reeves
da2910e36f Merge pull request #10927 from Security-Onion-Solutions/m0duspwnens-patch-1
add mono-devel
2023-08-02 16:22:09 -04:00
Josh Patterson
eb512d9aa2 add mono-devel 2023-08-02 16:21:23 -04:00
Mike Reeves
03f5e44be7 Merge pull request #10924 from Security-Onion-Solutions/2.4/regenagent
Regen Agent Installers
2023-08-02 15:28:29 -04:00
Josh Brower
f153c1125d Allow multiple Custom Fleet FQDN 2023-08-02 15:23:18 -04:00
Jason Ertel
99b61b5e1d Merge pull request #10925 from Security-Onion-Solutions/jertel/fiximportsuri
ensure suri rules are synced for import installs
2023-08-02 15:13:59 -04:00
Jason Ertel
8036df4b20 ensure suri rules are synced for import installs 2023-08-02 15:10:31 -04:00
Josh Brower
aab55c8cf6 Regen Agent Installers 2023-08-02 15:09:26 -04:00
Josh Patterson
f3c5d26a4e Merge pull request #10923 from Security-Onion-Solutions/soupaloop
Soupaloop
2023-08-02 14:44:49 -04:00
m0duspwnens
64776936cc no longer need so-user migrate in 2.4 2023-08-02 14:09:43 -04:00
m0duspwnens
c17b324108 dont count adv_ sls files for number of minions in deployment 2023-08-02 14:04:19 -04:00
weslambert
72e1cbbfb6 Merge pull request #10920 from Security-Onion-Solutions/fix/pfsense
Pfsense fix
2023-08-02 13:27:33 -04:00
weslambert
f102351052 Add event 2023-08-02 13:25:44 -04:00
weslambert
ac28f90af3 Remove override 2023-08-02 13:15:11 -04:00
m0duspwnens
f6c6204555 procps to procps-ng 2023-08-02 13:05:24 -04:00
m0duspwnens
9873121000 change pgrep for salt-minion PID 2023-08-02 12:54:31 -04:00
m0duspwnens
5630b353c4 change how pgrep finds salt-master PID 2023-08-02 11:20:51 -04:00
Josh Patterson
04ed5835ae Merge pull request #10918 from Security-Onion-Solutions/issue/10917
force portgroups added to hostgroups in roles to be list of strings
2023-08-02 11:00:41 -04:00
m0duspwnens
407cb2a537 force portgroups added to hostgroups in roles to be list of strings 2023-08-02 10:56:41 -04:00
Josh Brower
b520c1abb7 Allow multiple Custom Fleet FQDN 2023-08-02 10:36:40 -04:00
weslambert
25b11c35fb Merge pull request #10915 from Security-Onion-Solutions/fix/ea_elastic_defend
Set version for Elastic Defend and enable updates
2023-08-02 10:32:30 -04:00
weslambert
ef0301d364 Merge pull request #10914 from Security-Onion-Solutions/feature/package_list
Add package list
2023-08-02 10:03:38 -04:00
Wes
e694019027 Add package list 2023-08-02 13:50:14 +00:00
weslambert
22ebb2faf6 Merge pull request #10907 from Security-Onion-Solutions/fix/ea_container_logs
EA Container Logs
2023-08-02 09:26:53 -04:00
Wes
0d5ed2e835 Set version for Elastic Defend and enable updates 2023-08-02 13:21:03 +00:00
Josh Patterson
8ab1769d70 Merge pull request #10912 from Security-Onion-Solutions/mineerror
Mine error
2023-08-01 17:21:31 -04:00
Jason Ertel
6692fffb9b Merge pull request #10910 from Security-Onion-Solutions/jertel/noautoredirforapi
Fix login flicker; so-status sluggishness
2023-08-01 17:05:48 -04:00
Jason Ertel
23414599ee use simple json (w/o template) to resolve sluggishness 2023-08-01 16:53:26 -04:00
Jason Ertel
8b3a38f573 resolve login page flicker 2023-08-01 16:30:24 -04:00
m0duspwnens
9ec4322bf4 Merge remote-tracking branch 'origin/2.4/dev' into mineerror 2023-08-01 16:21:22 -04:00
m0duspwnens
7037fc52f8 sync all modules before running states 2023-08-01 16:21:06 -04:00
Wes
0e047cffad Add to logrotate 2023-08-01 20:14:53 +00:00
Wes
44b086a028 Change path 2023-08-01 20:13:50 +00:00
Wes
4e2eb86b36 Move LOGS_PATH to environment vars 2023-08-01 20:11:51 +00:00
weslambert
1cbf60825d Add log dir 2023-08-01 14:40:52 -04:00
weslambert
2d13bf1a61 Present logs to the host 2023-08-01 14:40:12 -04:00
Josh Brower
968fee3488 Regen Agent Installers when Fleet URLs change 2023-08-01 13:10:41 -04:00
Doug Burks
da51fd59a0 Merge pull request #10905 from Security-Onion-Solutions/dougburks-patch-1
Update verbiage and links in soc_sensor.yaml
2023-08-01 12:52:22 -04:00
Doug Burks
3fa0a98830 Update verbiage and links in soc_sensor.yaml 2023-08-01 12:45:09 -04:00
weslambert
e7bef745eb Merge pull request #10904 from Security-Onion-Solutions/fix/syslog
Move syslog to the INPUT chain where needed
2023-08-01 12:14:48 -04:00
Mike Reeves
82b335ed04 Merge pull request #10899 from Security-Onion-Solutions/offload
Fix Offload
2023-08-01 10:32:53 -04:00
Mike Reeves
f35f42c83d Sensor NIC offload 2023-08-01 10:23:45 -04:00
weslambert
4adaddf13f Move syslog to the INPUT chain where needed 2023-08-01 10:14:59 -04:00
Mike Reeves
b6579d7d45 Sensor NIC offload 2023-08-01 10:13:44 -04:00
Mike Reeves
87a5d20ac9 Sensor NIC offload 2023-08-01 10:03:59 -04:00
Mike Reeves
2875a7a2e5 Sensor NIC offload 2023-08-01 09:48:44 -04:00
Josh Brower
f27ebc47c1 Merge pull request #10897 from Security-Onion-Solutions/2.4/heavyrc2
2.4/heavyrc2
2023-08-01 09:15:10 -04:00
Josh Brower
63b4bdcebe Merge remote-tracking branch 'origin/2.4/dev' into 2.4/heavyrc2 2023-08-01 08:53:07 -04:00
weslambert
ba3660d0da Merge pull request #10894 from Security-Onion-Solutions/fix/soc_auth
SOC Auth msg fix
2023-08-01 08:35:41 -04:00
weslambert
83265d9d6c Merge pull request #10893 from Security-Onion-Solutions/foxtrot
Elastic 8.2.2
2023-08-01 08:20:07 -04:00
weslambert
527a6ba454 Use asterisk when searching 'msg' since it is now a keyword 2023-07-31 23:52:38 -04:00
weslambert
f84b0a3219 Update VERSION 2023-07-31 23:16:46 -04:00
weslambert
ae6997a6b7 Merge pull request #10892 from Security-Onion-Solutions/feature/elastic_8.8.2
Elastic 8.8.2
2023-07-31 22:24:21 -04:00
weslambert
9d59e4250f Update VERSION 2023-07-31 22:23:54 -04:00
Wes
48d9c14563 Enable log package by default 2023-08-01 02:20:43 +00:00
Wes
29b64eadd4 Change log.log to log.logs 2023-08-01 02:20:22 +00:00
weslambert
5dd5f9fc1c Elastic 8.8.2 2023-07-31 22:18:43 -04:00
weslambert
44c926ba8d Elastic 8.8.2 2023-07-31 22:18:07 -04:00
weslambert
6a55a8e5c0 Elastic 8.2.2 2023-07-31 22:17:22 -04:00
Josh Brower
64bad0a9cf Merge remote-tracking branch 'origin/2.4/dev' into 2.4/heavyrc2 2023-07-31 15:24:32 -04:00
Josh Brower
b6dd347eb8 Heavy Node add manager 2023-07-31 15:22:29 -04:00
Josh Brower
a89508f1ae Heavy Node fixes 2023-07-31 15:17:24 -04:00
Josh Patterson
ed7b674fbb Merge pull request #10891 from Security-Onion-Solutions/fix/idh
import DOCKER in idh.enabled
2023-07-31 15:06:26 -04:00
Josh Patterson
0c2a4cbaba Merge pull request #10889 from Security-Onion-Solutions/searchnodefw
add managersearch and standlone fw rules for searchnode
2023-07-31 13:37:39 -04:00
m0duspwnens
57562ad5e3 add managersearch and standlone fw rules for searchnode 2023-07-31 13:34:08 -04:00
m0duspwnens
95581f505a import DOCKER in idh.enabled 2023-07-31 13:18:57 -04:00
Mike Reeves
599de60dc8 Merge pull request #10888 from Security-Onion-Solutions/soups
Update Soup
2023-07-31 13:14:54 -04:00
Mike Reeves
77101fec12 Update Soup 2023-07-31 13:12:32 -04:00
Mike Reeves
069d32be1a Merge pull request #10887 from Security-Onion-Solutions/soups
Soup
2023-07-31 13:10:02 -04:00
Mike Reeves
e78e6b74ed Update Soup 2023-07-31 13:07:29 -04:00
Mike Reeves
16217912db Update Soup 2023-07-31 13:04:33 -04:00
Josh Patterson
635ddc9b21 Merge pull request #10886 from Security-Onion-Solutions/iptables
Iptables
2023-07-31 11:36:22 -04:00
Mike Reeves
18d8f0d448 Merge pull request #10885 from Security-Onion-Solutions/sensorfix
Sensor Fix
2023-07-31 10:37:28 -04:00
Mike Reeves
1c42d70d30 Update soc_sensor.yaml 2023-07-31 10:36:00 -04:00
Mike Reeves
282f13a774 Merge pull request #10881 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update so-yara-download
2023-07-31 10:23:32 -04:00
Mike Reeves
f867be9e04 Fix no_proxy 2023-07-31 10:19:51 -04:00
Mike Reeves
4939447764 Update so-yara-download 2023-07-31 10:16:37 -04:00
Mike Reeves
5a59975cb8 Update so-yara-download 2023-07-31 10:14:31 -04:00
coreyogburn
20f3cedc01 Merge pull request #10842 from Security-Onion-Solutions/cogburn/7992
New Action "Add to Case"
2023-07-28 14:54:28 -06:00
Doug Burks
e563d71856 Merge pull request #10871 from Security-Onion-Solutions/dougburks-patch-1
Update README.md to 2.4 RC2
2023-07-28 16:33:06 -04:00
Doug Burks
1ca78fd297 Update README.md to 2.4 RC2 2023-07-28 16:29:46 -04:00
Mike Reeves
e76ee718e0 Merge pull request #10870 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2023-07-28 16:08:53 -04:00
Mike Reeves
5c90a5f27e Update VERSION 2023-07-28 16:08:01 -04:00
Mike Reeves
bee429fe29 Merge pull request #10868 from Security-Onion-Solutions/2.4/dev
2.4.4
2023-07-28 16:00:45 -04:00
m0duspwnens
ecbb353d68 Merge remote-tracking branch 'origin/2.4/dev' into iptables 2023-07-28 15:12:08 -04:00
Mike Reeves
ed21b94c28 Merge pull request #10867 from Security-Onion-Solutions/2.4.4
2.4.4
2023-07-28 14:53:23 -04:00
Mike Reeves
2a282a29c3 2.4.4 2023-07-28 14:49:50 -04:00
Mike Reeves
bc09b418ca Merge pull request #10866 from Security-Onion-Solutions/rockyepel
Rockyepel
2023-07-28 14:06:36 -04:00
m0duspwnens
6f6db61a69 remove epel-next 2023-07-28 14:04:27 -04:00
m0duspwnens
9fce80dba3 install epel-next after epel-release 2023-07-28 14:01:14 -04:00
Mike Reeves
abfec85e28 Merge pull request #10863 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update so-functions
2023-07-28 12:21:20 -04:00
Mike Reeves
9aa655365b Update so-functions 2023-07-28 12:20:15 -04:00
Corey Ogburn
aa56085758 New Action "Add to Case" 2023-07-28 09:55:44 -06:00
Mike Reeves
9a3760951a Merge pull request #10861 from Security-Onion-Solutions/TOoSmOotH-patch-2
Update so-functions
2023-07-28 11:35:49 -04:00
m0duspwnens
4c8373452d change to iptables-nft-services 2023-07-28 11:35:34 -04:00
Mike Reeves
0bb5db2e72 Update so-functions 2023-07-28 11:34:30 -04:00
Mike Reeves
2dbc7d8485 Merge pull request #10859 from Security-Onion-Solutions/ordesk
Ordesk
2023-07-28 10:56:15 -04:00
Mike Reeves
858e884ec2 Fix Desktop ISO install 2023-07-28 10:52:37 -04:00
Mike Reeves
4672eeb99b Fix Desktop ISO install 2023-07-28 10:51:45 -04:00
Mike Reeves
aa824e7b6c Merge pull request #10857 from Security-Onion-Solutions/ordesk
Oracle Desktop
2023-07-28 09:58:46 -04:00
Mike Reeves
bb2a1b9521 Fix Desktop ISO install 2023-07-28 09:46:27 -04:00
m0duspwnens
3a22ef8e86 change iptables package name for redhat fam 2023-07-28 08:40:32 -04:00
m0duspwnens
54080c42fe enable, not enabled 2023-07-27 17:01:19 -04:00
Mike Reeves
a1fa87c150 Merge pull request #10853 from Security-Onion-Solutions/TOoSmOotH-patch-1
Don't restart suricata if it doesn't exist
2023-07-27 16:38:45 -04:00
Mike Reeves
0c553633b1 Don't restart suricata if it doesn't exist 2023-07-27 16:16:46 -04:00
m0duspwnens
12486599e0 Merge remote-tracking branch 'origin/2.4/dev' into iptables 2023-07-27 16:13:58 -04:00
m0duspwnens
3c16218c5a map services,pkg,config for firewall state 2023-07-27 15:45:18 -04:00
Josh Patterson
f9850025ea Merge pull request #10852 from Security-Onion-Solutions/2.4/debian
2.4/debian
2023-07-27 15:05:23 -04:00
Mike Reeves
65b76d72ca Merge pull request #10850 from Security-Onion-Solutions/ordesk
Fix packages for desktop
2023-07-27 14:44:44 -04:00
Mike Reeves
afca15f444 Fix packages for desktop 2023-07-27 14:17:43 -04:00
Mike Reeves
65b9843f14 Fix packages for desktop 2023-07-27 14:11:53 -04:00
m0duspwnens
653e2d8205 Merge remote-tracking branch 'origin/2.4/dev' into 2.4/debian 2023-07-27 10:26:12 -04:00
Josh Patterson
bbaf6df914 Merge pull request #10849 from Security-Onion-Solutions/iptables
Iptables
2023-07-27 10:00:46 -04:00
m0duspwnens
bc182c1c43 only run firewalld states if os_family is RedHat 2023-07-27 09:24:41 -04:00
m0duspwnens
fe9b934af6 Merge remote-tracking branch 'origin/2.4/dev' into iptables 2023-07-26 16:32:03 -04:00
m0duspwnens
373298430b only run iptables-restore if config file is valid 2023-07-26 16:31:22 -04:00
Mike Reeves
4a18eb02f3 Merge pull request #10847 from Security-Onion-Solutions/ordesk
SO Desktop
2023-07-26 15:53:40 -04:00
m0duspwnens
0aab3e185e dont manage interfaces listed in /etc/network/interfaces for debian 2023-07-26 15:16:44 -04:00
Josh Brower
b1fb05dd28 Merge pull request #10841 from Security-Onion-Solutions/2.4/eqlfields
Fix formatting
2023-07-26 11:25:20 -04:00
Josh Brower
9437a47946 Fix formatting 2023-07-26 10:54:24 -04:00
Josh Brower
bdf4f6190d Merge pull request #10829 from Security-Onion-Solutions/2.4/heavynoderedux
Heavy Node fixes
2023-07-26 10:41:42 -04:00
Josh Brower
f24a3a51ce Heavy Node fixes 2023-07-25 18:28:41 -04:00
m0duspwnens
ba6043392c reorder whiptail text 2023-07-25 16:18:01 -04:00
m0duspwnens
60eb1611ea upgrade packages for debian and reboot prior to so installation 2023-07-25 16:06:38 -04:00
Josh Brower
3ef6ea9155 Merge pull request #10826 from Security-Onion-Solutions/2.4/navfix
Upgrade Nav
2023-07-25 12:26:07 -04:00
Josh Brower
2b38bc778d Upgrade Nav 2023-07-25 12:24:23 -04:00
m0duspwnens
e334d44c95 need quotes for logCmd 2023-07-25 11:03:10 -04:00
m0duspwnens
39662ccf14 import rpm logic change 2023-07-25 10:21:44 -04:00
m0duspwnens
fd69d1c714 remove quotes so sed will work in logCmd 2023-07-25 09:59:02 -04:00
m0duspwnens
63eebdf6ac installer_prereq_packages is run for debian during detect_os so not needed again 2023-07-25 09:58:26 -04:00
Josh Brower
e19845e41d Merge pull request #10819 from Security-Onion-Solutions/fix/elasticsearch_endpoint
Add endpoint to defaults
2023-07-25 09:11:06 -04:00
Josh Patterson
c1190064ad Merge pull request #10823 from Security-Onion-Solutions/2.4/dockerips
2.4/dockerips
2023-07-25 08:39:49 -04:00
Josh Brower
4f94d953c9 Merge remote-tracking branch 'origin/2.4/dev' into fix/elasticsearch_endpoint 2023-07-25 07:42:59 -04:00
Josh Brower
71a83c1fe9 Merge pull request #10815 from Security-Onion-Solutions/2.4/SigmaMappings
2.4/sigma mappings
2023-07-25 07:23:25 -04:00
Wes
5553be02ac Change how tags are added 2023-07-24 21:31:28 +00:00
m0duspwnens
b20fad2839 add missing do 2023-07-24 17:08:01 -04:00
m0duspwnens
16edca7834 fix failed copy paste 2023-07-24 17:06:49 -04:00
m0duspwnens
2545f9907f dont allow 172.17.0.0/24 for custom dockernet 2023-07-24 17:00:20 -04:00
Wes
4efc951eaf Add tags 2023-07-24 20:57:39 +00:00
Doug Burks
d75191d679 Merge pull request #10820 from Security-Onion-Solutions/dougburks-patch-1
Update README.md
2023-07-24 15:35:34 -04:00
Doug Burks
ee667a48c9 Update README.md 2023-07-24 15:33:50 -04:00
Josh Brower
067a83a87c Merge pull request #10818 from Security-Onion-Solutions/2.4/fixnavigator
Update & Fix Navigator
2023-07-24 15:13:09 -04:00
Wes
d84dbf9535 Add fleet 2023-07-24 18:53:52 +00:00
m0duspwnens
d71254ad29 only add custom docker net to pillar 2023-07-24 14:47:14 -04:00
Wes
de7b7ff989 Add endpoint 2023-07-24 18:35:02 +00:00
Josh Brower
510900e640 Update & Fix Navigator 2023-07-24 13:56:22 -04:00
m0duspwnens
00483018ca change docker bip to gateway 2023-07-24 13:38:14 -04:00
Mike Reeves
9416a14971 Merge pull request #10816 from Security-Onion-Solutions/gpgoracle
add oracle key
2023-07-24 11:02:10 -04:00
Mike Reeves
c9faa1a340 Add gui 2023-07-24 11:00:26 -04:00
m0duspwnens
9bda01bd29 change ranges 2023-07-24 10:40:23 -04:00
Josh Brower
eead0c42d4 Merge remote-tracking branch 'origin/2.4/dev' into 2.4/SigmaMappings 2023-07-24 09:27:14 -04:00
Josh Brower
741e6039c1 Cleanup for Sigma Rules 2023-07-24 09:25:58 -04:00
m0duspwnens
db09b465bd change default docker net/range 2023-07-24 09:23:13 -04:00
Doug Burks
a59f2ded38 Merge pull request #10813 from Security-Onion-Solutions/2.4/fix-packages-sls
Update packages.sls
2023-07-24 08:08:11 -04:00
Doug Burks
e2fe04dadc Update packages.sls 2023-07-24 07:10:48 -04:00
Doug Burks
563bf2ff3a Merge pull request #10812 from Security-Onion-Solutions/fuse
Update packages.sls
2023-07-24 06:48:47 -04:00
Mike Reeves
07eeb4e2a0 Update packages.sls 2023-07-23 21:07:19 -04:00
Mike Reeves
5dc5b99b05 Add gui 2023-07-21 18:00:01 -04:00
Mike Reeves
ba69c67dc2 Add gui 2023-07-21 17:30:17 -04:00
Mike Reeves
d1d5f8a2b6 Add gui 2023-07-21 17:28:09 -04:00
Mike Reeves
48324911ce Add gui 2023-07-21 17:18:03 -04:00
m0duspwnens
4b0126a2e7 fix split 2023-07-21 17:10:51 -04:00
Mike Reeves
8a3c2e7242 Add gui 2023-07-21 17:06:38 -04:00
m0duspwnens
f55c1a4078 DOCKERBIP change 2023-07-21 16:59:22 -04:00
m0duspwnens
c4d81a249a remove /24 from DOCKERBIP 2023-07-21 16:36:03 -04:00
m0duspwnens
4c9d172721 sorange to range 2023-07-21 16:21:18 -04:00
m0duspwnens
36a936d3d6 docker ips changes 2023-07-21 16:06:52 -04:00
coreyogburn
d6164446c6 Merge pull request #10809 from Security-Onion-Solutions/cogburn/8655
Added ReverseLookup Option
2023-07-21 13:38:38 -06:00
Corey Ogburn
bb7a918a16 Added ReverseLookup Option
Defaults to false, has metadata to show up in the config section of soc.
2023-07-21 13:18:08 -06:00
weslambert
be254b15f2 Merge pull request #10804 from Security-Onion-Solutions/fix/fleet_logging
Fleet logging
2023-07-20 15:51:56 -04:00
weslambert
83e1e3efdc Merge pull request #10788 from Security-Onion-Solutions/fix/elastic_mappings
Fix user name mapping and remove security subfield
2023-07-20 15:51:42 -04:00
Mike Reeves
7c48f9d6ec Merge pull request #10806 from Security-Onion-Solutions/newrhel
For Phil
2023-07-20 14:41:05 -04:00
Mike Reeves
f2947de0ca Add epel-next 2023-07-20 12:13:36 -04:00
Wes
d07c46f27e Change playbook and sysmon 2023-07-20 16:08:50 +00:00
Mike Reeves
47e418a441 Add epel-next 2023-07-20 12:07:26 -04:00
Mike Reeves
87b1207ac0 Merge pull request #10805 from Security-Onion-Solutions/alma
Test Alma
2023-07-20 10:57:19 -04:00
Mike Reeves
a86cbaa6fa Merge pull request #10803 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update needs_restarting.py
2023-07-20 10:55:11 -04:00
Wes
c68cd6cf33 Fix typo 2023-07-20 14:39:35 +00:00
Josh Patterson
3071a1de41 Update map.jinja 2023-07-20 08:42:27 -04:00
Josh Patterson
e75d0c8094 Update needs_restarting.py 2023-07-20 08:36:27 -04:00
Mike Reeves
14c685ab10 Update needs_restarting.py 2023-07-20 08:32:19 -04:00
Mike Reeves
54082858dc Update needs_restarting.py 2023-07-20 08:25:13 -04:00
Wes
4b7e7978ef Add final pipeline 2023-07-19 19:56:54 +00:00
Josh Patterson
066de70638 Merge pull request #10799 from Security-Onion-Solutions/2.4/mysql
whiptails for ubuntu focal
2023-07-19 15:55:32 -04:00
m0duspwnens
19c6796927 only allow existing deployment for focal 2023-07-19 15:38:18 -04:00
m0duspwnens
77c9b4fb54 remove OTHER 2023-07-19 15:35:28 -04:00
m0duspwnens
3104137190 install type whiptail for focal 2023-07-19 15:31:09 -04:00
Josh Patterson
c8b65ecca0 Merge pull request #10798 from Security-Onion-Solutions/2.4/mysql
2.4/mysql
2023-07-19 14:55:35 -04:00
Mike Reeves
555c881235 Test Alma 2023-07-19 14:48:12 -04:00
m0duspwnens
0ac9a1f9cc Merge remote-tracking branch 'origin/2.4/dev' into 2.4/mysql 2023-07-19 14:41:03 -04:00
m0duspwnens
3c0554a42c queue states during so-playbook-reset 2023-07-19 14:40:29 -04:00
Wes
0b19179630 Add logrotate 2023-07-19 15:17:42 +00:00
Wes
30a14f8aaf Add logging 2023-07-19 15:00:20 +00:00
Wes
877fc36013 Add log dir 2023-07-19 14:57:24 +00:00
Mike Reeves
a892adb66f Merge pull request #10668 from Security-Onion-Solutions/centos
CentOS Stream Support
2023-07-19 10:41:38 -04:00
Mike Reeves
a49b05661d Merge pull request #10794 from Security-Onion-Solutions/2.4/mysql
2.4/mysql
2023-07-19 10:40:37 -04:00
Jason Ertel
266fc4e866 Merge pull request #10792 from Security-Onion-Solutions/regup
upgrade registry version
2023-07-19 10:00:40 -04:00
Wes
b738325880 Remove keyword 2023-07-19 13:55:12 +00:00
m0duspwnens
ad7821391d Merge remote-tracking branch 'origin/2.4/dev' into 2.4/mysql 2023-07-19 09:54:54 -04:00
m0duspwnens
1b0c146b54 get rid of mysql error: mbind: Operation not permitted 2023-07-19 09:54:00 -04:00
Wes
1848a835f5 Remove keyword 2023-07-19 13:52:15 +00:00
Jason Ertel
23cc75c68d upgrade registry version 2023-07-19 09:51:07 -04:00
weslambert
17fcf12608 Merge pull request #10791 from Security-Onion-Solutions/fix/elastic_clear
Set delete for interactive
2023-07-19 08:27:00 -04:00
Wes
6a8737e9a2 Set delete for interactive 2023-07-19 12:21:47 +00:00
m0duspwnens
9543058a2c Merge remote-tracking branch 'origin/2.4/dev' into 2.4/mysql 2023-07-18 16:51:52 -04:00
m0duspwnens
b66cd82110 fix depreciations 2023-07-18 16:50:34 -04:00
weslambert
41ebb403ca Merge pull request #10787 from Security-Onion-Solutions/fix/elastic_clear
Use new agent scripts for Elastic clear command
2023-07-18 16:15:27 -04:00
Mike Reeves
c94436fcbd fix other OS installs 2023-07-18 15:19:10 -04:00
Wes
a59eda319e Remove security subfield 2023-07-18 19:00:50 +00:00
Wes
8a76975d8c Use new agent scripts 2023-07-18 18:43:57 +00:00
Mike Reeves
737da45e7f fix other OS installs 2023-07-18 14:02:13 -04:00
m0duspwnens
df1bf8e67b restart mysql container if config or pass changes 2023-07-18 13:41:26 -04:00
Mike Reeves
f95757c551 fix other OS installs 2023-07-18 11:58:49 -04:00
Mike Reeves
5e46138961 fix other OS installs 2023-07-18 11:55:51 -04:00
Mike Reeves
dc8aa4d923 fix other OS installs 2023-07-18 11:53:55 -04:00
Wes
1d3e39b6bd Map user name to keyword and remove security subfield generation 2023-07-18 14:46:47 +00:00
Mike Reeves
9ad7303cf2 fix other OS installs 2023-07-17 16:44:55 -04:00
Mike Reeves
b1daa22dfc fix other OS installs 2023-07-17 16:40:35 -04:00
Mike Reeves
49c4edbcbe fix other OS installs 2023-07-17 16:33:47 -04:00
Mike Reeves
f4c3103f84 fix other OS installs 2023-07-17 16:24:51 -04:00
Mike Reeves
a2aea5530b Merge pull request #10779 from Security-Onion-Solutions/palletethings
Palletethings
2023-07-17 16:20:44 -04:00
Mike Reeves
01234f87f9 fix other OS installs 2023-07-17 16:20:32 -04:00
m0duspwnens
5d4186ac07 different whiptail warning if ubuntu 20.04 2023-07-17 15:56:29 -04:00
m0duspwnens
425ca35a22 Merge remote-tracking branch 'origin/centos' into palletethings 2023-07-17 13:58:00 -04:00
m0duspwnens
fe5ca3a0c8 set palette after detecting os and before whiptail 2023-07-17 13:51:14 -04:00
Mike Reeves
7fad710ca1 fix other OS installs 2023-07-17 13:51:01 -04:00
Mike Reeves
8d6c2600c9 fix other OS installs 2023-07-17 13:49:08 -04:00
Mike Reeves
38c7ea0801 fix other OS installs 2023-07-17 13:44:02 -04:00
Mike Reeves
abe0a9ec27 fix other OS installs 2023-07-17 11:03:28 -04:00
Mike Reeves
f0f8513370 fix other OS installs 2023-07-17 11:02:34 -04:00
Mike Reeves
bffd24e0d5 fix other OS installs 2023-07-17 10:55:04 -04:00
Mike Reeves
71cbab8fcc fix other OS installs 2023-07-17 10:47:24 -04:00
weslambert
6816d06710 Merge pull request #10766 from Security-Onion-Solutions/fix/elastic-agent-scripts
Add agent scripts
2023-07-17 10:46:54 -04:00
Wes
d19615f743 Fix typo 2023-07-17 14:42:27 +00:00
Mike Reeves
894e009b95 fix other OS installs 2023-07-17 10:34:14 -04:00
Wes
1a4515fc8a Split restart into stop and start 2023-07-17 14:30:51 +00:00
Wes
31696803e1 Use correct name 2023-07-17 14:28:12 +00:00
Wes
e715dfa354 Remove sbin 2023-07-17 14:27:39 +00:00
Wes
c723a09107 Remove agent installer generation script 2023-07-14 21:45:25 +00:00
Wes
8cf3ceeb71 Update agent scripts 2023-07-14 21:43:03 +00:00
Mike Reeves
921fc95668 Fix logic 2023-07-14 14:35:51 -04:00
Doug Burks
9e42fb927d Add RPM-GPG-KEY-oracle 2023-07-14 14:04:36 -04:00
Mike Reeves
87d72e852c Fix logic 2023-07-14 13:45:31 -04:00
m0duspwnens
ba2782c5e7 patch x509_v2.py 2023-07-14 13:22:40 -04:00
Mike Reeves
9169fca9f8 Merge branch '2.4/dev' into centos 2023-07-14 13:17:52 -04:00
Mike Reeves
1028fb1346 Fix ISO install 2023-07-14 13:17:20 -04:00
Josh Brower
6846487909 Merge pull request #10765 from Security-Onion-Solutions/2.4/FleetEnhancements
Retry install
2023-07-14 13:07:25 -04:00
Josh Brower
2cc0c4c0ac Automatically Update ES URLs 2023-07-14 12:07:32 -04:00
Mike Reeves
5a5b643155 Fix ISO install 2023-07-14 12:04:30 -04:00
Josh Patterson
e97bec2bc1 Merge pull request #10769 from Security-Onion-Solutions/wtinstalltype
Wtinstalltype
2023-07-14 09:22:40 -04:00
Josh Brower
78db64a419 Auto-managed Fleet Server URLs 2023-07-14 08:40:26 -04:00
m0duspwnens
55d32c5b98 merge and fix conflicts 2023-07-14 08:37:03 -04:00
Mike Reeves
333213d1dd Multi OS Support 2023-07-13 18:40:48 -04:00
Mike Reeves
03b16a5582 Multi OS Support 2023-07-13 18:29:02 -04:00
Mike Reeves
20c76abac4 Multi OS Support 2023-07-13 18:27:21 -04:00
m0duspwnens
4158e18675 warn of unsupported os 2023-07-13 16:38:51 -04:00
Mike Reeves
f0c391e801 Multi OS Support 2023-07-13 15:05:51 -04:00
weslambert
922a77ac55 Merge pull request #10762 from Security-Onion-Solutions/fix/integration_elasticsearch
Allow Elasticsearch integration policy
2023-07-13 14:42:23 -04:00
weslambert
a62f96595c Merge pull request #10763 from Security-Onion-Solutions/fix/strelka_pe
Strelka entropy and pe fixes
2023-07-13 14:42:12 -04:00
Josh Brower
fb8a79e112 Retry install 2023-07-13 13:15:01 -04:00
Mike Reeves
782a3eccfe Initial Oracle support 2023-07-13 11:29:18 -04:00
Mike Reeves
2c996fe7ad Initial Oracle support 2023-07-13 10:54:04 -04:00
weslambert
0c177ec923 Allow Elasticsearch integration policy 2023-07-13 10:46:59 -04:00
Wes
41f00c0aa1 Add agent scripts 2023-07-13 14:32:22 +00:00
Mike Reeves
05b30771c5 Initial Oracle support 2023-07-13 10:29:06 -04:00
Wes
e3249c8e4c Wrap values in quotes for proper conversion 2023-07-13 14:18:57 +00:00
Mike Reeves
a0b6e1076f Initial Oracle support 2023-07-13 10:04:55 -04:00
weslambert
85bb5a327c Fix long vs float for pe version 2023-07-13 09:38:09 -04:00
Mike Reeves
68f5c9965a Initial Oracle support 2023-07-13 09:24:01 -04:00
Mike Reeves
727d0443a2 Merge pull request #10757 from Security-Onion-Solutions/TOoSmOotH-patch-5
Update VERSION
2023-07-13 08:53:35 -04:00
Mike Reeves
b915cea52f Initial Oracle support 2023-07-13 08:44:20 -04:00
Mike Reeves
d98a1d5ae5 Initial Oracle support 2023-07-13 08:40:09 -04:00
Josh Brower
6f5bb136ff Merge pull request #10753 from Security-Onion-Solutions/2.4/integrationfixes
Update Integration JSON
2023-07-13 07:34:32 -04:00
Mike Reeves
695ec149f1 Initial Oracle support 2023-07-12 15:07:26 -04:00
Mike Reeves
50103aebb3 Initial Oracle support 2023-07-12 14:59:36 -04:00
Mike Reeves
6f81e234cd Initial Oracle support 2023-07-12 14:52:23 -04:00
Mike Reeves
7732435b64 Initial Oracle support 2023-07-12 14:49:59 -04:00
Mike Reeves
2cf36f1e8f Initial Oracle support 2023-07-12 14:12:24 -04:00
Mike Reeves
43d63a3187 Update VERSION 2023-07-12 10:59:12 -04:00
Mike Reeves
37116a9bdd Merge pull request #10755 from Security-Onion-Solutions/2.4/dev
2.4.3
2023-07-12 10:57:42 -04:00
Jason Ertel
6297a2632b Merge pull request #10756 from Security-Onion-Solutions/kilo
catch up branch
2023-07-12 10:38:18 -04:00
Jason Ertel
5cc752f128 Merge branch '2.4/main' into 2.4/dev 2023-07-12 10:19:39 -04:00
Mike Reeves
68d95cd1cb Merge pull request #10754 from Security-Onion-Solutions/2.4.3
2.4.3
2023-07-12 10:05:31 -04:00
Mike Reeves
1a68c3cd24 2.4.3 2023-07-12 10:02:19 -04:00
Josh Brower
40294e2762 Update Integration JSON 2023-07-12 08:49:36 -04:00
Josh Patterson
87eec4ae88 Merge pull request #10751 from Security-Onion-Solutions/yararules
Yararules
2023-07-11 15:55:00 -04:00
m0duspwnens
676696b24a restart strelka backend if rules change 2023-07-11 15:48:22 -04:00
m0duspwnens
da27fce95f run so-yara-download/update if scripts change 2023-07-11 13:48:26 -04:00
weslambert
8acc37a7d1 Merge pull request #10749 from Security-Onion-Solutions/fix/yara_update
Fix syntax for conditional
2023-07-11 13:41:38 -04:00
weslambert
5f1b467e64 Fix syntax for conditional 2023-07-11 13:37:50 -04:00
weslambert
fe7fb7f54d Merge pull request #10748 from Security-Onion-Solutions/fix/elasticsearch_strelka
Update logic for YARA matches
2023-07-11 13:02:24 -04:00
Wes
577bfac886 Update logic for YARA matches 2023-07-11 17:00:13 +00:00
Josh Patterson
468b6e4831 Merge pull request #10741 from Security-Onion-Solutions/m0duspwnens-patch-1
import ELASTICFLEETMERGED
2023-07-11 11:04:26 -04:00
Josh Patterson
c75d209d7f import ELASTICFLEETMERGED 2023-07-11 11:01:27 -04:00
Josh Brower
b29b264d5c Merge pull request #10740 from Security-Onion-Solutions/2.4/removecomments
Remove Comments
2023-07-11 10:28:41 -04:00
Josh Brower
c99e7da5a7 Remove Comments 2023-07-11 10:26:18 -04:00
Josh Patterson
60d66b973c Merge pull request #10739 from Security-Onion-Solutions/yararules
include *.yara
2023-07-11 10:21:35 -04:00
m0duspwnens
304830d2ee remove old rules prior to copy 2023-07-11 10:20:04 -04:00
m0duspwnens
d7285d69a7 include *.yara 2023-07-11 09:59:13 -04:00
weslambert
7cdd1f89d7 Merge pull request #10736 from Security-Onion-Solutions/fix/strelka_path
Change path to old one
2023-07-11 09:13:36 -04:00
weslambert
b7cab1d118 Change path to old one 2023-07-11 09:10:20 -04:00
weslambert
f03a472ee5 Merge pull request #10731 from Security-Onion-Solutions/fix/kibana_file_search
Kibana dashboard changes
2023-07-11 08:50:03 -04:00
Mike Reeves
c7a0801eed Merge pull request #10725 from Security-Onion-Solutions/yararules
Yararules
2023-07-11 08:49:20 -04:00
Josh Brower
5e0015e9ac Merge pull request #10735 from Security-Onion-Solutions/2.4/TagPlaybookAlerts
2.4/tag playbook alerts
2023-07-11 08:37:37 -04:00
Josh Brower
5a72c558cb Tag at top level 2023-07-11 08:35:47 -04:00
Josh Brower
a6e907f76c Tag Playbook Alerts 2023-07-11 08:03:15 -04:00
Mike Reeves
a3f79850fe Initial Oracle support 2023-07-10 20:31:49 -04:00
Josh Brower
2d3eb22057 Merge pull request #10732 from Security-Onion-Solutions/2.4/autogenfix
Exclude Import and Eval from autoupdate
2023-07-10 17:18:10 -04:00
Josh Brower
8437fcd94c Exclude Import and Eval from autoupdate 2023-07-10 17:10:08 -04:00
Josh Brower
1b25db4573 Merge pull request #10680 from Security-Onion-Solutions/2.4/fleetautogen
Automatically manage Fleet Logstash Config
2023-07-10 16:26:20 -04:00
m0duspwnens
f8ed2e6e8e make parent dirs 2023-07-10 16:11:45 -04:00
m0duspwnens
f22c61a0a2 use su instead of runuser since logCmd has issues with runuser 2023-07-10 15:19:41 -04:00
m0duspwnens
5069d1163c only *.yar files 2023-07-10 14:36:34 -04:00
Josh Brower
31edf2e8ea Tighten & Document Pipelines 2023-07-10 14:17:42 -04:00
Wes
6b8893ded5 Update saved objects 2023-07-10 18:13:34 +00:00
m0duspwnens
1f8b7bda89 fix output_dir var 2023-07-10 13:39:31 -04:00
Mike Reeves
b9204cbe99 Initial RHEL support 2023-07-10 12:57:59 -04:00
m0duspwnens
59233d6550 use full path 2023-07-10 11:43:56 -04:00
m0duspwnens
1ac72e5b24 ensure /nsm/rules/yara directory exists 2023-07-10 11:10:37 -04:00
Josh Brower
7805ca8beb Add Failover Support 2023-07-10 10:38:14 -04:00
m0duspwnens
47b2481cdd nothing in strelka/tools/sbin_jinja to file.recurse 2023-07-10 10:29:19 -04:00
m0duspwnens
fa933d3f53 use file_mode 2023-07-10 10:26:30 -04:00
Mike Reeves
6f7914f3c4 Initial RHEL support 2023-07-10 10:18:09 -04:00
Mike Reeves
0c9e230294 Initial RHEL support 2023-07-10 10:14:47 -04:00
m0duspwnens
f4dc73a206 yara download and update 2023-07-10 09:42:37 -04:00
Doug Burks
437c9cab68 Merge pull request #10726 from Security-Onion-Solutions/dougburks-patch-1
Update README.md
2023-07-10 09:07:11 -04:00
Wes
6da96a733f Use tags instead of dataset 2023-07-10 13:06:38 +00:00
Doug Burks
82796370ce Update README.md 2023-07-10 09:04:55 -04:00
Josh Brower
8c16feb772 Rename Fleet pipelines 2023-07-09 12:22:55 -04:00
Josh Brower
ce1f363424 Allow base_url 2023-07-08 13:30:19 -04:00
Josh Brower
e8860a7d2c Fix perms 2023-07-08 09:04:55 -04:00
Josh Brower
beb26596fd Merge remote-tracking branch 'origin/2.4/dev' into 2.4/fleetautogen 2023-07-07 19:12:47 -04:00
m0duspwnens
6a5ff04804 remove unneeded function 2023-07-07 16:45:51 -04:00
Josh Brower
ff3bb11fbb Elastic Fleet Certs Refactor 2023-07-07 16:44:16 -04:00
m0duspwnens
8be5082b60 yara scripts 2023-07-07 16:43:26 -04:00
coreyogburn
5faa4f0a30 Merge pull request #10720 from Security-Onion-Solutions/cogburn/8908
Allow an additional kratos endpoint through
2023-07-07 13:17:32 -06:00
Corey Ogburn
da7770a900 Allow an additional kratos endpoint through
The /auth/self-service/errors route is used to lookup auth issues so the route must also be proxied to kratos.
2023-07-07 12:47:55 -06:00
weslambert
8178338971 Merge pull request #10717 from Security-Onion-Solutions/fix/strelka_rules
Change path
2023-07-07 13:45:02 -04:00
weslambert
79ed17b506 Change path 2023-07-07 13:31:43 -04:00
Mike Reeves
fa1d53a309 Add Debian 2023-07-07 13:00:39 -04:00
Mike Reeves
a41b0dbfea Add Debian 2023-07-07 12:59:41 -04:00
Mike Reeves
d28375b304 Add Debian 2023-07-07 12:54:47 -04:00
Mike Reeves
07c0b539d7 Add Debian 2023-07-07 12:53:23 -04:00
Mike Reeves
d18ebd6e36 Add Debian 2023-07-07 12:52:45 -04:00
Mike Reeves
5a642b151b Add Debian 2023-07-07 12:51:17 -04:00
Mike Reeves
0aa4ea3e87 Add Debian 2023-07-07 12:49:11 -04:00
Mike Reeves
efcef90ead Add Debian 2023-07-07 11:37:33 -04:00
Mike Reeves
af56aa4f16 Add Debian 2023-07-07 11:35:11 -04:00
Mike Reeves
d5257468eb Add Debian 2023-07-07 11:31:18 -04:00
Mike Reeves
a3b0db7949 Add Debian 2023-07-07 11:27:42 -04:00
Mike Reeves
5f509eb2d8 Add Debian 2023-07-07 11:24:59 -04:00
Mike Reeves
a38d561684 Add Debian 2023-07-07 11:21:47 -04:00
Mike Reeves
4b559ec182 Add Debian 2023-07-07 11:19:36 -04:00
Mike Reeves
0b209d69e5 Add Debian 2023-07-07 11:02:26 -04:00
Josh Patterson
2785587840 Merge pull request #10714 from Security-Onion-Solutions/remove_so-logstash-get-unparsed
remove so-logstash-get-unparsed, use so-redis-count instead
2023-07-07 09:53:54 -04:00
weslambert
9f95306458 Merge pull request #10708 from Security-Onion-Solutions/fix/elasticsearch_templates_hn
Fix heavy node Elasticsearch template load
2023-07-07 09:52:54 -04:00
m0duspwnens
55bed0771b remove so-logstash-get-unparsed, use so-redis-count instead 2023-07-07 09:52:21 -04:00
Wes
0b5ee49873 Fix inverted logic for component template 2023-07-06 20:46:35 +00:00
Jason Ertel
1646459052 Merge pull request #10707 from Security-Onion-Solutions/kilo
add default pillar file
2023-07-06 14:49:40 -04:00
Jason Ertel
8ec003d89f add default pillar file 2023-07-06 14:47:21 -04:00
Jason Ertel
224f0606c2 Merge pull request #10706 from Security-Onion-Solutions/kilo
incorporate features pillar
2023-07-06 14:04:12 -04:00
Wes
910125f13a Restructure logic 2023-07-06 17:49:06 +00:00
Jason Ertel
5eca1acbeb incorporate features pillar 2023-07-06 13:24:45 -04:00
Wes
d551faeb16 Heavy node template considerations 2023-07-06 17:19:28 +00:00
Josh Patterson
6a6afeef75 Merge pull request #10704 from Security-Onion-Solutions/patch/x509_v2
Patch/x509 v2
2023-07-06 11:43:33 -04:00
m0duspwnens
869f60ccaa cipher deprecated for x509_+v2 2023-07-06 10:51:44 -04:00
m0duspwnens
12c82d2812 bits deprecation to keysize 2023-07-06 10:49:32 -04:00
m0duspwnens
a2b50c6d40 remove quote 2023-07-06 10:25:19 -04:00
m0duspwnens
ab7ae6cddd fix cp for x509_v2.py 2023-07-06 10:17:14 -04:00
m0duspwnens
7a9a12ae3d fix cp for x509_v2.py 2023-07-06 10:03:12 -04:00
m0duspwnens
b49a296276 we can remove the unless in ssl state since x509_v2 is patched 2023-07-06 09:44:58 -04:00
Josh Patterson
9b9321d23a Merge pull request #10698 from Security-Onion-Solutions/issue/10468
disable salt schedule after highstate then enable later in setup
2023-07-05 14:56:31 -04:00
m0duspwnens
1922ad95d5 disable salt schedule after highstate then enable later in setup 2023-07-05 13:43:54 -04:00
Josh Patterson
11493cb615 Merge pull request #10697 from Security-Onion-Solutions/jppcentos
Jppcentos
2023-07-05 09:52:01 -04:00
m0duspwnens
0def41f03c Merge remote-tracking branch 'origin/centos' into jppcentos 2023-07-05 08:44:49 -04:00
Mike Reeves
1c191e426f Add some Ubuntu 2023-07-03 16:20:44 -04:00
m0duspwnens
de98baaad4 Merge remote-tracking branch 'origin/centos' into jppcentos 2023-07-03 15:46:30 -04:00
m0duspwnens
df0e19ff80 update-alternatives for python3.10 2023-07-03 15:44:51 -04:00
Mike Reeves
d22d864ba6 Add some Ubuntu 2023-07-03 15:23:56 -04:00
Mike Reeves
898b352af9 Add some Ubuntu 2023-07-03 15:16:12 -04:00
Mike Reeves
76a8e315b7 Add some Ubuntu 2023-07-03 15:12:56 -04:00
Mike Reeves
edaf695463 Add some Ubuntu 2023-07-03 15:12:55 -04:00
Mike Reeves
53fcac4a02 Add some Ubuntu 2023-07-03 15:12:55 -04:00
Mike Reeves
44054ba95f Add some Ubuntu 2023-07-03 15:12:54 -04:00
Mike Reeves
10aa77977e Add some Ubuntu 2023-07-03 15:12:54 -04:00
Mike Reeves
8e90658856 Add some Ubuntu 2023-07-03 15:12:54 -04:00
Mike Reeves
965d0543f4 Add some Ubuntu 2023-07-03 15:12:53 -04:00
Mike Reeves
e353855855 Add some Ubuntu 2023-07-03 15:12:53 -04:00
Mike Reeves
c54217a8cb Add some Ubuntu 2023-07-03 15:12:52 -04:00
Mike Reeves
710b3bac3d fix repo state 2023-07-03 15:12:52 -04:00
Mike Reeves
8a90579df7 fix repo state 2023-07-03 15:12:51 -04:00
Mike Reeves
39c8766914 fix repo state 2023-07-03 15:12:51 -04:00
Mike Reeves
694ea743cc add more OS logic 2023-07-03 15:12:51 -04:00
Mike Reeves
3d9e7d1e97 add fuse 2023-07-03 15:12:50 -04:00
Mike Reeves
ca71c00f1c add fuse 2023-07-03 15:12:50 -04:00
Mike Reeves
2f2394dca2 add OS logic 2023-07-03 15:12:49 -04:00
Mike Reeves
fee4c20912 add OS logic 2023-07-03 15:12:49 -04:00
Mike Reeves
03342fd477 Add more packages 2023-07-03 15:12:49 -04:00
Mike Reeves
6dbff3b9df Add more packages 2023-07-03 15:12:48 -04:00
Mike Reeves
2f375b89a8 Add more packages 2023-07-03 15:12:48 -04:00
Mike Reeves
f67ac80c56 Add more packages 2023-07-03 15:12:47 -04:00
Mike Reeves
b06a35099f Add more packages 2023-07-03 15:12:47 -04:00
Mike Reeves
087099b9b6 Fix keys 2023-07-03 15:12:47 -04:00
Mike Reeves
04fe2ca996 Fix gpg things 2023-07-03 15:12:46 -04:00
Mike Reeves
bdb5748b44 Fix whiptail logic 2023-07-03 15:12:46 -04:00
Mike Reeves
1cbe5580a6 Fix whiptail logic 2023-07-03 15:12:45 -04:00
Mike Reeves
b57674a7cc Fix syntax error 2023-07-03 15:12:45 -04:00
Mike Reeves
53bd7bcc29 Initial Support 2023-07-03 15:12:45 -04:00
Mike Reeves
6787b97c6a Initial Support 2023-07-03 15:12:44 -04:00
m0duspwnens
0d43f9aaf4 add repo noninteractively 2023-07-03 14:23:24 -04:00
Mike Reeves
40540f47bf Add some Ubuntu 2023-07-03 13:51:01 -04:00
Mike Reeves
24e05c9491 Add some Ubuntu 2023-07-03 13:45:04 -04:00
Mike Reeves
02c9465dfb Add some Ubuntu 2023-07-03 12:30:53 -04:00
Mike Reeves
a4d484ea47 Add some Ubuntu 2023-07-03 12:00:57 -04:00
Mike Reeves
c9d650f4c8 Add some Ubuntu 2023-07-03 11:59:07 -04:00
Josh Patterson
9de8814412 Merge pull request #10692 from Security-Onion-Solutions/issue/10545
Issue/10545
2023-07-03 11:05:55 -04:00
Josh Brower
35e7659904 Merge remote-tracking branch 'remotes/origin/2.4/dev' into 2.4/fleetautogen 2023-07-03 10:36:29 -04:00
Mike Reeves
ed1d2d0a8b Add some Ubuntu 2023-07-03 10:06:16 -04:00
Mike Reeves
903de330c2 Add some Ubuntu 2023-07-03 09:49:24 -04:00
Mike Reeves
8621352701 Add some Ubuntu 2023-07-03 09:38:23 -04:00
Mike Reeves
564ab105ba Add some Ubuntu 2023-07-02 09:34:14 -04:00
Mike Reeves
b637e27c8d Merge branch '2.4/dev' of github.com:Security-Onion-Solutions/securityonion into centos 2023-07-02 09:13:06 -04:00
weslambert
d31ea4097d Merge pull request #10683 from Security-Onion-Solutions/fix/kibana_http_search
Kibana dashboard changes
2023-06-30 17:17:37 -04:00
Wes
c277b7acfa Change Zeek file from evet dataset to tags 2023-06-30 20:24:10 +00:00
m0duspwnens
97a9e0989d Merge remote-tracking branch 'origin/2.4/dev' into issue/10545 2023-06-30 15:46:41 -04:00
Wes
6bdccec6b1 Add asterisk back to Modbus search 2023-06-30 19:01:53 +00:00
m0duspwnens
35945ed224 create local logrotate pillar dir 2023-06-30 14:43:00 -04:00
m0duspwnens
7319d7ae9b replace . with _x_ 2023-06-30 14:18:20 -04:00
Wes
8b38cbe8cf Fix Modbus since the previous fix was reverted 2023-06-30 17:38:05 +00:00
Wes
35ea084466 Update from exported saved objects again 2023-06-30 16:55:00 +00:00
Jason Ertel
c89582ffb6 Merge pull request #10685 from Security-Onion-Solutions/kilo
remove use of pipe
2023-06-30 12:23:48 -04:00
Jason Ertel
d6db94a4d4 reset ver 2023-06-30 12:11:32 -04:00
Wes
e2acf027a9 Update from exported saved objects 2023-06-30 16:01:50 +00:00
m0duspwnens
d6d8ba7479 Merge remote-tracking branch 'origin/2.4/dev' into issue/10545 2023-06-30 11:29:25 -04:00
m0duspwnens
41a4321b03 configure logrotate through soc 2023-06-30 11:26:55 -04:00
Jason Ertel
2ae049071d Merge branch '2.4t/dev' into kilo 2023-06-30 11:10:01 -04:00
Jason Ertel
e82df53997 switch version to kilo 2023-06-30 11:08:42 -04:00
Wes
273e78da94 Modbus dashboard - use asterisk 2023-06-30 15:03:20 +00:00
Wes
446376395e Modbus dashboard - use tags 2023-06-30 13:56:08 +00:00
Wes
a13001dce0 PE dashboard - use tags 2023-06-30 13:40:36 +00:00
Wes
8819e1d4d6 HTTP search - use tags 2023-06-30 13:02:00 +00:00
Josh Brower
1baea3bcd5 Add Fleet to Logstash Nodes 2023-06-29 17:24:52 -04:00
Josh Patterson
1c37c05824 Merge pull request #10682 from Security-Onion-Solutions/addbackunless
add back unless in ssl state
2023-06-29 16:13:39 -04:00
m0duspwnens
cd1db36c13 add back unless in ssl state 2023-06-29 15:26:16 -04:00
m0duspwnens
5898c9ef31 start of logrotate configurable via ui 2023-06-29 12:54:37 -04:00
Jason Ertel
951f04c265 remove use of pipe 2023-06-29 12:10:12 -04:00
Josh Brower
4b069d91ab Check the correct pillar 2023-06-29 11:00:34 -04:00
Mike Reeves
34ab949dfc fix repo state 2023-06-29 08:56:38 -04:00
Mike Reeves
59191008a0 fix repo state 2023-06-29 08:55:00 -04:00
Mike Reeves
17a04a75c9 fix repo state 2023-06-29 08:53:00 -04:00
Josh Brower
7561ec0512 Automatically manage Fleet Logstash Config 2023-06-29 08:52:51 -04:00
Mike Reeves
884d669ae9 add more OS logic 2023-06-29 08:48:46 -04:00
Mike Reeves
8a88b16b9e add fuse 2023-06-28 16:16:59 -04:00
Mike Reeves
6545ae588d add fuse 2023-06-28 16:10:23 -04:00
Mike Reeves
5ab54fcfc5 add OS logic 2023-06-28 16:02:25 -04:00
Mike Reeves
ae4befe377 add OS logic 2023-06-28 15:57:43 -04:00
Mike Reeves
0c320e3501 Add more packages 2023-06-28 15:46:29 -04:00
Mike Reeves
933f4fa6c8 Add more packages 2023-06-28 15:45:32 -04:00
Mike Reeves
d80c88f613 Add more packages 2023-06-28 15:43:56 -04:00
Mike Reeves
6d2e851a43 Add more packages 2023-06-28 15:36:51 -04:00
Mike Reeves
209aae50bc Add more packages 2023-06-28 15:32:01 -04:00
Josh Patterson
eef1b40436 Merge pull request #10677 from Security-Onion-Solutions/issue/10533
Issue/10533
2023-06-28 15:17:42 -04:00
m0duspwnens
34db6fb823 dont need the unless for ssl since using x509v2 now 2023-06-28 15:06:13 -04:00
m0duspwnens
eeaf077baf dont need the unless for ssl since using x509v2 now 2023-06-28 15:02:09 -04:00
m0duspwnens
120d21c0da use minion id instead of hostname for ca_server in nginx state 2023-06-28 13:52:30 -04:00
Mike Reeves
6fc988740d Fix keys 2023-06-28 13:46:25 -04:00
m0duspwnens
66457ad8f8 use watch_in instead of watch 2023-06-28 12:27:14 -04:00
m0duspwnens
69670c481d fix require logic for nginx container 2023-06-28 11:32:08 -04:00
m0duspwnens
cae011babb force bool for nginx ssl replace_cert 2023-06-28 11:30:36 -04:00
m0duspwnens
02ea939abc watch crt and key for nginx container 2023-06-28 11:11:20 -04:00
m0duspwnens
be028aa23e define ca_server for nginx.ssl 2023-06-28 10:58:13 -04:00
m0duspwnens
24b7f7a7ce move replace_cert under ssl for nginx defaults 2023-06-28 10:32:16 -04:00
m0duspwnens
12cce111db custom crt and key for nginx 2023-06-28 10:28:50 -04:00
weslambert
add72d7a5c Merge pull request #10670 from Security-Onion-Solutions/fix/kibana_dashboards
Kibana Dashboards - Remove Wazuh reference and use tags
2023-06-28 09:41:19 -04:00
Josh Brower
c7a1d4758b Merge pull request #10598 from Security-Onion-Solutions/2.4/fix-naming
Remove old var
2023-06-28 07:09:37 -04:00
Wes
8436b647dd Remove Wazuh and use tags 2023-06-27 18:05:04 +00:00
Mike Reeves
387ce22385 Fix gpg things 2023-06-27 13:57:53 -04:00
Mike Reeves
cc3c28135d Fix whiptail logic 2023-06-27 12:53:18 -04:00
Mike Reeves
6b6724afcf Fix whiptail logic 2023-06-27 12:52:53 -04:00
Mike Reeves
c37a179a3c Fix syntax error 2023-06-27 12:46:13 -04:00
Doug Burks
77e6ee3c36 Merge pull request #10669 from Security-Onion-Solutions/dougburks-patch-1
Update so-desktop-install
2023-06-27 09:26:44 -04:00
Doug Burks
3e71663669 Update so-desktop-install 2023-06-27 09:24:47 -04:00
Mike Reeves
d519369c6f Initial Support 2023-06-26 19:22:33 -04:00
Mike Reeves
883d9560a0 Initial Support 2023-06-26 19:20:40 -04:00
Mike Reeves
984971c63c Merge pull request #10667 from Security-Onion-Solutions/desktop
Fix some installs
2023-06-26 18:51:55 -04:00
Mike Reeves
6adef20a06 Fix the rest of the analyst entries 2023-06-26 16:26:55 -04:00
Mike Reeves
cb8faf7c5f Fix the rest of the analyst entries 2023-06-26 16:14:04 -04:00
Mike Reeves
740723ecd6 Fix some installs 2023-06-26 16:01:58 -04:00
Mike Reeves
d70371c540 Merge pull request #10665 from Security-Onion-Solutions/desktop
Desktop Install
2023-06-26 15:42:14 -04:00
Mike Reeves
b6986d5c61 Merge branch '2.4/dev' into desktop 2023-06-26 15:36:48 -04:00
Mike Reeves
02e6e11be7 so-desktop-install 2023-06-26 15:34:48 -04:00
Mike Reeves
d26484fe1a so-desktop-install 2023-06-26 15:27:18 -04:00
Mike Reeves
12d10d7d42 Merge branch '2.4/dev' into desktop 2023-06-26 15:20:43 -04:00
Mike Reeves
7ea37ac2dd Merge pull request #10663 from Security-Onion-Solutions/TOoSmOotH-patch-3
Update packages.sls
2023-06-26 11:25:14 -04:00
Mike Reeves
7aae72cfcf Update packages.sls 2023-06-26 11:23:02 -04:00
Mike Reeves
ec427cde08 Merge pull request #10662 from Security-Onion-Solutions/desktop
Desktop State
2023-06-26 10:48:41 -04:00
weslambert
c2efd7ef64 Merge pull request #10655 from Security-Onion-Solutions/feature/supported_integrations
Restructure Elasticsearch templates for supported integrations
2023-06-26 09:43:10 -04:00
Mike Reeves
77c58e665e Merge pull request #10654 from Security-Onion-Solutions/24soup
soup updates
2023-06-26 09:26:47 -04:00
Mike Reeves
9530901d1d Remove local file check 2023-06-26 09:09:55 -04:00
Doug Burks
e83afa3e30 Merge pull request #10660 from Security-Onion-Solutions/dougburks-patch-1
Update README.md
2023-06-26 08:33:22 -04:00
Doug Burks
70fb28a8b3 Update README.md 2023-06-26 08:31:41 -04:00
Josh Brower
8355432356 Merge pull request #10657 from Security-Onion-Solutions/2.4/policy-name-fix
2.4/policy name fix
2023-06-24 19:00:00 -04:00
Josh Brower
2247cafe5f Change policy name 2023-06-24 17:13:28 -04:00
Josh Brower
85a8da6331 Change policy name 2023-06-24 16:58:36 -04:00
Josh Brower
ddabab253c Merge pull request #10653 from Security-Onion-Solutions/2.4/heavynode
2.4/heavynode
2023-06-23 19:55:24 -04:00
Jason Ertel
2e42eddbc2 Merge pull request #10656 from Security-Onion-Solutions/jertel/fix-import
fix agent extract error during install; simplify logic
2023-06-23 17:21:39 -04:00
Jason Ertel
07a590dda8 fix agent extract error during install; simplify logic 2023-06-23 17:17:59 -04:00
Mike Reeves
ec8eac3430 soup fix 2023-06-23 17:05:41 -04:00
weslambert
05b84327b8 Fix typo 2023-06-23 16:32:57 -04:00
Mike Reeves
0607532e4a soup fix 2023-06-23 16:20:41 -04:00
Mike Reeves
3018886f72 soup fix 2023-06-23 16:13:04 -04:00
weslambert
e02bdffe34 Fix typos 2023-06-23 16:10:22 -04:00
Mike Reeves
5073d62ee8 soup fix 2023-06-23 16:09:57 -04:00
weslambert
e2ff48164b Only load if so-elastic-fleet-common exists 2023-06-23 16:03:58 -04:00
Mike Reeves
43832f9c34 soup fix 2023-06-23 16:03:51 -04:00
Mike Reeves
5da5a04025 soup fix 2023-06-23 16:00:02 -04:00
Mike Reeves
25b51135fc soup fix 2023-06-23 15:58:20 -04:00
weslambert
aa91c1fef2 Add empty object for index_settings 2023-06-23 15:57:30 -04:00
Mike Reeves
801a5a6824 soup fix 2023-06-23 15:56:15 -04:00
Mike Reeves
f63c26b7f2 soup fix 2023-06-23 15:50:54 -04:00
Josh Brower
336a40d646 Merge remote-tracking branch 'remotes/origin/2.4/dev' into 2.4/heavynode 2023-06-23 15:50:14 -04:00
Josh Brower
bb0cfc5253 Create & assign Heavy Node Fleet Policy 2023-06-23 15:49:03 -04:00
coreyogburn
106aaa9c3e Merge pull request #10652 from Security-Onion-Solutions/cogburn/10122
FIX: Exclude System logs from Hunt/Dashboard Queries.
2023-06-23 13:48:17 -06:00
weslambert
ff7db0be63 Remove old index settings 2023-06-23 15:31:11 -04:00
Wes
b96d3473f2 Fix indentation 2023-06-23 18:38:04 +00:00
Corey Ogburn
fb27e7c479 Also add to dashboard
Duplicate new queryToggleFilter from hunt to dashboard.
2023-06-23 11:30:26 -06:00
Corey Ogburn
261acee8a0 New Hunt queryToggleFilter
New filter to exclude soc logs from hunt results.
2023-06-23 11:30:26 -06:00
Josh Brower
a9585b2a7f Fix Elastic Agent for Heavy 2023-06-23 10:45:58 -04:00
Wes
62fa15c63e Add more templates 2023-06-23 14:43:15 +00:00
weslambert
e995576b1d Remove extra templates 2023-06-23 09:41:49 -04:00
Jason Ertel
d247c9d704 Merge pull request #10648 from Security-Onion-Solutions/jertel/fix-import
use cluster-unique password for import encryption
2023-06-23 09:40:26 -04:00
Jason Ertel
b21b545756 use cluster-unique password for import encryption 2023-06-23 09:37:41 -04:00
Wes
5e8748c436 Load Elasticsearch templates 2023-06-23 13:28:01 +00:00
Wes
e2cca917c1 Add package load command to Fleet setup 2023-06-23 13:26:06 +00:00
Wes
d8700137d2 Add updated so-elasticsearch-templates-load 2023-06-23 13:23:29 +00:00
Wes
2c42d4b19e Add package check to so-elasticsearch-templates-load 2023-06-23 13:22:51 +00:00
Wes
a3c7e40c40 Add package load command 2023-06-23 13:20:05 +00:00
Wes
94fe456e28 Add package functions 2023-06-23 13:19:20 +00:00
Wes
662db41857 Add default packages 2023-06-23 13:17:38 +00:00
Jason Ertel
7623dd20b9 Merge pull request #10644 from Security-Onion-Solutions/cogburn/salt-relay-fix
WIP: Fix `salt cmd.run` commands for importing
2023-06-22 20:31:19 -04:00
Corey Ogburn
2b323ab661 Fix salt cmd.run commands for importing
Functional and easy to read.
2023-06-22 17:30:56 -06:00
Josh Brower
8de01625a8 Add Elastic Agent container for Heavy Nodes 2023-06-22 16:02:42 -04:00
Josh Brower
d0d7ab57ca Add Elastic Agent container for Heavy Nodes 2023-06-22 16:02:17 -04:00
Jason Ertel
f4cbe20ddf Merge pull request #10641 from Security-Onion-Solutions/jertel/fix-import
fix quotations
2023-06-22 14:46:41 -04:00
Jason Ertel
0d92a1594a fix quotations 2023-06-22 14:41:39 -04:00
m0duspwnens
daaead618e Merge remote-tracking branch 'origin/2.4/dev' into 2.4/heavynode 2023-06-22 13:26:56 -04:00
m0duspwnens
19469205e1 include eval and import in so-elasticsearch-cluster-settings 2023-06-22 13:12:47 -04:00
Jason Ertel
cae9e6230f Merge pull request #10638 from Security-Onion-Solutions/cogburn/import-fix
Change upload path
2023-06-22 13:04:22 -04:00
m0duspwnens
6c4c815683 change so-elasticsearch-cluster settings to include heavynode, and only run on managers 2023-06-22 13:04:20 -04:00
Corey Ogburn
6769386c86 Change upload path 2023-06-22 10:59:24 -06:00
m0duspwnens
36272efda7 create ES_LOGSTASH_NODES which removes heavynodes 2023-06-22 09:46:42 -04:00
weslambert
6b97d07a89 Merge pull request #10629 from Security-Onion-Solutions/fix/elasticsearch_ingest_suricata_xff_ip
Parse xff
2023-06-22 08:45:58 -04:00
coreyogburn
da82395dcf Merge pull request #10633 from Security-Onion-Solutions/cogburn/10413
Cogburn/10413
2023-06-21 15:48:53 -06:00
Corey Ogburn
b5e5bd57ad Fix for Upload Import
Needed to mount /nsm/soc/uploads into soc container.

Made the upload route configurable.

Added gpg logging to salt-relay.
2023-06-21 15:41:16 -06:00
Josh Patterson
ad4fb52b81 Merge pull request #10631 from Security-Onion-Solutions/2.4/repos
2.4/repos
2023-06-21 16:06:30 -04:00
m0duspwnens
4e849ecc90 issues with exclude rocky-repos 2023-06-21 15:14:53 -04:00
weslambert
7e37cd0f05 Parse xff 2023-06-21 14:29:54 -04:00
Mike Reeves
3952c1a9b7 Fix desktop state 2023-06-21 13:52:10 -04:00
Mike Reeves
c13c37f406 Fix desktop state 2023-06-21 13:49:01 -04:00
Mike Reeves
9240c3c6f0 Fix desktop package list 2023-06-21 13:42:51 -04:00
Mike Reeves
2aa01280e7 Fix desktop package list 2023-06-21 13:34:47 -04:00
m0duspwnens
1675b787bf exclude rocky-repos and remove files 2023-06-21 13:27:34 -04:00
Mike Reeves
4866eb2315 Fix desktop package list 2023-06-21 12:52:42 -04:00
Mike Reeves
f785fb2772 Fix desktop package list 2023-06-21 12:27:15 -04:00
Mike Reeves
8c9f863808 Fix desktop package list 2023-06-21 12:22:03 -04:00
Mike Reeves
1751e35121 Fix desktop package list 2023-06-21 12:20:57 -04:00
Mike Reeves
6676afc7de Fix desktop package list 2023-06-21 12:19:48 -04:00
Mike Reeves
699ea1ac3e Fix desktop package list 2023-06-21 11:48:37 -04:00
Mike Reeves
90fdb9c465 Update paths 2023-06-21 11:47:22 -04:00
Mike Reeves
48291f5271 Merge branch '2.4/dev' of https://github.com/Security-Onion-Solutions/securityonion into desktop 2023-06-21 11:43:05 -04:00
Mike Reeves
3a41b090c1 Update paths 2023-06-21 11:42:51 -04:00
Josh Brower
139b36b189 Merge pull request #10627 from Security-Onion-Solutions/2.4/import-evtx
Refactor EVTX Import
2023-06-21 11:42:10 -04:00
Josh Brower
6ddf887342 Refactor EVTX Import 2023-06-21 09:32:42 -04:00
Josh Brower
6ba9e057a9 Merge pull request #10600 from Security-Onion-Solutions/fix/dataset_tags
Change format of event dataset and assign dataset to tags
2023-06-21 09:22:40 -04:00
Mike Reeves
6600484f8e Update Docker 2023-06-21 09:15:31 -04:00
Mike Reeves
b02c38175c Merge pull request #10624 from Security-Onion-Solutions/TOoSmOotH-patch-2
Salt Defunct Workaround
2023-06-20 17:44:53 -04:00
Mike Reeves
4497f6561f Salt Defunct Workaround
This can be removed once they patch salt
2023-06-20 17:27:02 -04:00
Mike Reeves
0fc03baf58 Desktop Packages 2023-06-20 13:41:10 -04:00
coreyogburn
fb81c6e2e3 Merge pull request #10601 from Security-Onion-Solutions/cogburn/10413
Cogburn/10413
2023-06-20 11:08:53 -06:00
Corey Ogburn
ad28ea275f Better state management
When salt-cp runs it's course and finds it can't send a file, it outputs a report saying as much but the exit code will be zero. Now we remove the filename and node from the response and look for `True` to know if it succeeded. Also, respect the cleanup flag on success or failure.

Check the status of the decryption process before importing.

No longer decrypt locally, issue salt command for the remote client to do the decrypting.
2023-06-20 09:41:14 -06:00
Corey Ogburn
41951659ec Use importer's new --json flag.
Using the new --json flag is not only more reliable than using a regex, the way the import script was written even re-imports will provide a url. This means that in more cases we can provide the results to the users (even if nothing changed).
2023-06-20 09:41:14 -06:00
Corey Ogburn
451a4784a1 send-file and import-file security
Encrypt the file with a passphrase before sending and decrypt the file with the same passphrase before importing.
2023-06-20 09:41:14 -06:00
Corey Ogburn
1b7095fa81 Improved import-file url regex
sed doesn't remove ALL whitespace, only newlines. It's better to stop at the first whitespace than to stop at a particular, maybe-not-last query string parameter.
2023-06-20 09:41:14 -06:00
Corey Ogburn
89d789fe0f New folder for salt to maintain
This folder is where a manager will initially store uploaded PCAP/EVTX files before sending to sensors. Sensors will store uploads in this folder on their own system.
2023-06-20 09:41:14 -06:00
Corey Ogburn
49055e260f salt-relay import-file reporting
On successful import, return dashboard URL
2023-06-20 09:41:14 -06:00
Corey Ogburn
a465039887 2 new capabilities: send-file and import-file 2023-06-20 09:41:14 -06:00
Doug Burks
b60cf29598 Merge pull request #10618 from Security-Onion-Solutions/dougburks-patch-1
Resolve conflicts with dataset PR
2023-06-20 07:42:30 -04:00
Doug Burks
0e09d73aa0 Resolve conflicts with dataset PR 2023-06-20 07:40:10 -04:00
Doug Burks
520a5671ca Merge pull request #10617 from Security-Onion-Solutions/dougburks-patch-1
Fix SOC Auth queries in Dashboards and Hunt
2023-06-20 07:32:46 -04:00
Doug Burks
fc824359ed Update default fields for kratos.audit 2023-06-20 07:30:56 -04:00
Doug Burks
7caa7cec6b Fix SOC Auth queries in Dashboards and Hunt
Change `event.dataset:audit` to `event.dataset:kratos.audit`.
2023-06-20 07:13:33 -04:00
Josh Patterson
0695140f83 Merge pull request #10611 from Security-Onion-Solutions/2.4/ubuntu
2.4/ubuntu
2023-06-16 14:00:52 -04:00
m0duspwnens
ed1e2c8908 ignore failure notification for Ubuntu Failed to restart snapd 2023-06-16 13:58:45 -04:00
Jason Ertel
594900a8d4 Merge pull request #10609 from Security-Onion-Solutions/kilo
webauthn for SOC
2023-06-16 13:15:25 -04:00
Jason Ertel
6894fa4e4d Update VERSION 2023-06-16 13:09:01 -04:00
m0duspwnens
2334d82d36 fix salt install for ubuntu 2023-06-16 11:13:34 -04:00
Josh Patterson
c0a2ea3138 Merge pull request #10604 from Security-Onion-Solutions/2.4/receiver
2.4/receiver
2023-06-15 15:42:34 -04:00
m0duspwnens
d4acb1a33a Merge remote-tracking branch 'origin/2.4/dev' into 2.4/receiver 2023-06-15 15:32:49 -04:00
m0duspwnens
5de9e5baf4 allow sensor to logstash on receiver 2023-06-15 14:46:46 -04:00
Wes
3a34da354f Use append instead of set 2023-06-15 16:35:43 +00:00
m0duspwnens
469390696e 2.4 receiver changes 2023-06-15 11:04:16 -04:00
Josh Brower
0a4a48b61e Remove old var 2023-06-15 10:24:50 -04:00
Wes
58a63e0765 Remove extra comma 2023-06-15 14:22:37 +00:00
Doug Burks
251bc6f45e Merge pull request #10597 from Security-Onion-Solutions/dougburks-patch-1
Update so_motd.jinja
2023-06-15 09:59:25 -04:00
Doug Burks
b84d997f87 Update so_motd.jinja 2023-06-15 09:54:23 -04:00
Wes
b5bccc5e05 Use module in dataset name and add dataset tag 2023-06-15 13:06:57 +00:00
Jason Ertel
b4e5ac9796 Add note to advise against changing settings 2023-06-14 16:11:50 -04:00
m0duspwnens
2db95fe1b4 fw rules for receiver to managers 2023-06-14 15:24:14 -04:00
m0duspwnens
934b0f45a1 allow receiver to connect to salt manager 2023-06-14 15:08:07 -04:00
Jason Ertel
a88227d13f Merge branch '2.4/dev' into kilo 2023-06-14 13:34:15 -04:00
Jason Ertel
21a7b76352 webauthn 2023-06-14 13:33:31 -04:00
weslambert
03082339ca Merge pull request #10592 from Security-Onion-Solutions/fix/analyzer_dependencies
Update analyzer dependencies
2023-06-14 12:22:06 -04:00
m0duspwnens
8f6226b531 Merge remote-tracking branch 'origin/2.4/dev' into 2.4/heavynode 2023-06-14 10:40:22 -04:00
m0duspwnens
2c4eccd7e0 2.4 heavynode changes 2023-06-14 10:40:05 -04:00
Josh Brower
fa57494694 Merge pull request #10584 from Security-Onion-Solutions/2.4/elasticagent-renaming
Change Elastic Fleet Tarball naming
2023-06-14 09:42:57 -04:00
weslambert
3f1741e75a Merge pull request #10585 from Security-Onion-Solutions/fix/elasticsearch_templates
Update Elasticsearch templates for Fleet
2023-06-14 09:33:23 -04:00
Wes
48331ce35b Add system.system component templates 2023-06-14 13:29:11 +00:00
Wes
c2ac60b82e Add system.system template and add event-mappings 2023-06-14 13:28:00 +00:00
Josh Brower
fedfbe9fec Fix tarball output name 2023-06-14 08:52:56 -04:00
Josh Brower
9947f9def4 Rework tarball naming schema 2023-06-14 07:38:03 -04:00
Wes
c205438771 Update dependencies 2023-06-14 02:35:29 +00:00
Wes
8cde05807c Remove elastic-agent dir 2023-06-13 21:33:04 +00:00
Wes
2ac0aba916 Add osquery files 2023-06-13 21:32:02 +00:00
Wes
af003cc2a1 Add osquery templates 2023-06-13 20:43:39 +00:00
Josh Brower
0d4f6b4fe6 Change Elastic Fleet Tarball naming 2023-06-13 16:32:19 -04:00
Jason Ertel
7093254439 Merge pull request #10582 from Security-Onion-Solutions/jertel/pcap
ensure status line shows dates for new and existing imports
2023-06-13 15:16:43 -04:00
Wes
bd7644a557 Add another template 2023-06-13 19:13:20 +00:00
Jason Ertel
90b740a997 ensure status line shows dates for new and existing imports 2023-06-13 15:11:13 -04:00
Wes
5547a1b7ab Add event mappings 2023-06-13 18:23:50 +00:00
Wes
1b90fd8581 Add custom component templates 2023-06-13 18:21:45 +00:00
Doug Burks
bbdf7bb5a7 Merge pull request #10580 from Security-Onion-Solutions/dougburks-patch-1
Set START and END variables earlier in so-import-pcap
2023-06-13 13:31:16 -04:00
Doug Burks
fb8ad71b27 Set START and END variables earlier in so-import-pcap 2023-06-13 13:19:18 -04:00
Wes
e43b7607bb Add more component templates 2023-06-13 17:04:03 +00:00
Wes
a265c06e31 Add other component templates 2023-06-13 15:47:25 +00:00
Wes
2aa954cb0a Add component templates 2023-06-13 15:25:23 +00:00
Wes
73812b11a3 Allow ingest node pipelines that start with a period 2023-06-13 13:37:56 +00:00
Wes
38ab426470 Add final Fleet pipeline 2023-06-13 13:36:26 +00:00
Wes
d0a6881c2c Add event mappings and remove meta information for now 2023-06-13 13:35:46 +00:00
m0duspwnens
c7c4e65df1 single-node for heavynode 2023-06-13 09:22:17 -04:00
m0duspwnens
49b150797d 2.4 heavynode changes 2023-06-12 16:25:51 -04:00
Wes
57268ba934 Change priority of templates 2023-06-12 14:29:45 +00:00
Wes
1208915896 Remove Elastic Agent package templates 2023-06-12 14:24:59 +00:00
Wes
42f5ad9939 Add templates for system.auth and systen.syslog 2023-06-12 14:23:24 +00:00
Doug Burks
8e0d895afb Merge pull request #10572 from Security-Onion-Solutions/dougburks-patch-1
FIX: Add more Zeek logs to excluded list #10569
2023-06-12 09:33:13 -04:00
Doug Burks
998c85e3f8 Update defaults.yaml 2023-06-12 09:31:19 -04:00
weslambert
32f3ee0b01 Merge pull request #10564 from Security-Onion-Solutions/fix/elasticsearch_templates
Update templates for integrations
2023-06-12 09:05:31 -04:00
Doug Burks
a90aed25fb Merge pull request #10570 from Security-Onion-Solutions/dougburks-patch-1
FIX: Add Zeek ocsp.log to excluded list #10569
2023-06-12 08:46:49 -04:00
Doug Burks
ae14e4870d Add ocsp to logging.zeek.exclued in defaults.yaml 2023-06-12 08:44:46 -04:00
Doug Burks
273a1d7e9c Merge pull request #10568 from Security-Onion-Solutions/2.4/fix-suricata-dhcp
FIX: Suricata DHCP logs not ingesting #10565
2023-06-12 07:50:44 -04:00
Doug Burks
b3f8ed7dcd FIX: Suricata DHCP logs not ingesting #10565 2023-06-10 11:42:41 -04:00
Wes
ad5a424c03 Update templates for integrations 2023-06-09 18:32:50 +00:00
Jason Ertel
e06787445c Merge pull request #10561 from Security-Onion-Solutions/jertel/pcap
Node description config setting should not accept a grid-wide value
2023-06-09 12:02:51 -04:00
Jason Ertel
8a4f5d6dcb Merge branch '2.4/dev' into jertel/pcap 2023-06-09 11:51:37 -04:00
Doug Burks
81dd951064 Merge pull request #10560 from Security-Onion-Solutions/dougburks-patch-1
FIX: Setup re-runs when SSH'ing into a successfully installed minion …
2023-06-09 11:49:54 -04:00
Doug Burks
c12f138899 FIX: Setup re-runs when SSH'ing into a successfully installed minion node #10498 2023-06-09 11:20:54 -04:00
Jason Ertel
884a7041af Merge branch '2.4/dev' into jertel/pcap 2023-06-09 10:47:26 -04:00
Jason Ertel
023008c54c do not allow node_description to be set at global grid-wide level 2023-06-09 10:46:56 -04:00
Jason Ertel
6f7de954d9 Merge pull request #10559 from Security-Onion-Solutions/jertel/pcap
Telegraf should monitor all mount points
2023-06-09 09:18:54 -04:00
Jason Ertel
46371aaaf5 Monitor all mount points for simplicity 2023-06-09 09:14:36 -04:00
Doug Burks
1fde2e2755 Merge pull request #10553 from Security-Onion-Solutions/2.4/update-readme
2.4/update readme
2023-06-08 13:44:39 -04:00
Doug Burks
1aad9d1b2f Update README.md 2023-06-08 13:41:08 -04:00
Doug Burks
9703e70163 Update README.md 2023-06-08 13:38:11 -04:00
Doug Burks
f6735207d7 Merge pull request #10552 from Security-Onion-Solutions/2.4/fix-suricata-dataset
FIX: Suricata dataset values for certain types of metadata#10551
2023-06-08 13:33:53 -04:00
Doug Burks
e5f76a9c6e change suricata parsers from dataset to event.dataset 2023-06-08 12:31:31 -04:00
weslambert
d1c86cb9ff Merge pull request #10550 from Security-Onion-Solutions/kilo
Elastalert and EQL
2023-06-08 11:21:18 -04:00
weslambert
8ccb24dda2 Update version to 2.4.3 2023-06-08 11:05:05 -04:00
weslambert
932054e9da Update version to 2.4.0 2023-06-08 11:04:45 -04:00
Josh Brower
8b35002169 EQL Refactor 2023-06-07 13:44:37 -04:00
weslambert
f68527d366 Merge pull request #10541 from Security-Onion-Solutions/fix/curator_action_ignore_empty_list
Use ignore_empty_list
2023-06-07 10:36:38 -04:00
Wes
81e3d26540 Ignore empty list 2023-06-07 13:14:52 +00:00
weslambert
96b60fa39a Restore original URL syntax, but use data stream 2023-06-06 20:53:05 -04:00
weslambert
f172a74fbc Remove EQL setting 2023-06-06 20:51:29 -04:00
weslambert
c4be56ec7b Update host syntax 2023-06-06 20:51:03 -04:00
weslambert
96195806ab Update version to 2.4.0-kilo 2023-06-06 20:50:10 -04:00
weslambert
88bbd3440d Merge pull request #10522 from Security-Onion-Solutions/fix/playbook_index
Change Playbook index to a data stream and update mapping for event.severity_label
2023-06-06 09:03:49 -04:00
Wes
495a9c0783 Add mapping for event.severity_label 2023-06-05 21:19:37 +00:00
Wes
905bc564fc Change data stream name 2023-06-05 21:18:47 +00:00
Wes
f6f387428f Update Playbook alerter to write to a data stream 2023-06-05 21:17:10 +00:00
Jason Ertel
db5abcb3cf Merge pull request #10503 from Security-Onion-Solutions/jertel/pcap
add ability to output PCAP import results in JSON format
2023-06-05 14:32:32 -04:00
Jason Ertel
27e310c2a1 add json output option to so-import-evtx; clean up other issues 2023-06-05 13:54:44 -04:00
weslambert
236eb0cbcc Merge pull request #10515 from Security-Onion-Solutions/fix/analyzers
Update requests and whoisit
2023-06-05 12:12:59 -04:00
Wes
841d0b4b1f Update dependencies after git add 2023-06-05 15:42:55 +00:00
Wes
272f97e2d7 Update dependencies 2023-06-05 15:42:38 +00:00
Wes
eac9a3fc86 Update requests and whoisit 2023-06-05 15:41:01 +00:00
Doug Burks
32dc26f2e7 Merge pull request #10514 from Security-Onion-Solutions/2.4/fix-VERIFY_ISO
Rename VERIFY_ISO.md to DOWNLOAD_AND_VERIFY_ISO.md
2023-06-05 10:12:43 -04:00
Doug Burks
1b14142e4c Rename VERIFY_ISO.md to DOWNLOAD_AND_VERIFY_ISO.md 2023-06-05 10:08:20 -04:00
Jason Ertel
2fef1d5fa7 silence grep output 2023-06-02 15:43:48 -04:00
Jason Ertel
3bbfc3865d use proper URL spacing 2023-06-02 15:26:14 -04:00
Jason Ertel
6947fd6414 add ability to output PCAP import results in JSON format 2023-06-02 15:21:41 -04:00
Doug Burks
d3e5be78fd Merge pull request #10500 from Security-Onion-Solutions/dougburks-patch-1
Update soc_zeek.yaml
2023-06-02 07:54:11 -04:00
Doug Burks
09e005127e Update soc_zeek.yaml 2023-06-02 07:41:55 -04:00
Mike Reeves
d3ea596deb Merge pull request #10491 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update VERSION
2023-06-01 09:44:13 -04:00
Mike Reeves
d6d315e8d5 Update VERSION 2023-06-01 09:43:32 -04:00
Jason Ertel
162a32fd08 Merge branch '2.4/dev' into kilo 2023-05-30 11:51:57 -04:00
Jason Ertel
f765dc23ea kilofy version 2023-05-26 09:54:50 -04:00
515 changed files with 28613 additions and 39060 deletions

View File

@@ -1,18 +1,18 @@
### 2.4.2-20230531 ISO image built on 2023/05/31
### 2.4.5-20230807 ISO image released on 2023/08/07
### Download and Verify
2.4.2-20230531 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.4.2-20230531.iso
MD5: EB861EFB7F7DA6FB418075B4C452E4EB
SHA1: 479A72DBB0633CB23608122F7200A24E2C3C3128
SHA256: B69C1AE4C576BBBC37F4B87C2A8379903421E65B2C4F24C90FABB0EAD6F0471B
2.4.5-20230807 ISO image:
https://download.securityonion.net/file/securityonion/securityonion-2.4.5-20230807.iso
MD5: F83FD635025A3A65B380EAFCEB61A92E
SHA1: 5864D4CD520617E3328A3D956CAFCC378A8D2D08
SHA256: D333BAE0DD198DFD80DF59375456D228A4E18A24EDCDB15852CD4CA3F92B69A7
Signature for ISO image:
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.2-20230531.iso.sig
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.5-20230807.iso.sig
Signing key:
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/2.4/main/KEYS
@@ -26,22 +26,22 @@ wget https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/2.
Download the signature file for the ISO:
```
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.2-20230531.iso.sig
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.5-20230807.iso.sig
```
Download the ISO image:
```
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.2-20230531.iso
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.5-20230807.iso
```
Verify the downloaded ISO image using the signature file:
```
gpg --verify securityonion-2.4.2-20230531.iso.sig securityonion-2.4.2-20230531.iso
gpg --verify securityonion-2.4.5-20230807.iso.sig securityonion-2.4.5-20230807.iso
```
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
```
gpg: Signature made Wed 31 May 2023 05:01:41 PM EDT using RSA key ID FE507013
gpg: Signature made Sat 05 Aug 2023 10:12:46 AM EDT using RSA key ID FE507013
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
gpg: WARNING: This key is not certified with a trusted signature!
gpg: There is no indication that the signature belongs to the owner.
@@ -49,4 +49,4 @@ Primary key fingerprint: C804 A93D 36BE 0C73 3EA1 9644 7C10 60B7 FE50 7013
```
Once you've verified the ISO image, you're ready to proceed to our Installation guide:
https://docs.securityonion.net/en/2.4/installation.html
https://docs.securityonion.net/en/2.4/installation.html

View File

@@ -1,20 +1,26 @@
## Security Onion 2.4 Beta 3
## Security Onion 2.4 Release Candidate 2 (RC2)
Security Onion 2.4 Beta 3 is here!
Security Onion 2.4 Release Candidate 2 (RC2) is here!
## Screenshots
Alerts
![Alerts](./assets/images/screenshots/alerts.png)
![Alerts](https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion-docs/2.4/images/50_alerts.png)
Dashboards
![Dashboards](./assets/images/screenshots/dashboards.png)
![Dashboards](https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion-docs/2.4/images/51_dashboards.png)
Hunt
![Hunt](./assets/images/screenshots/hunt.png)
![Hunt](https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion-docs/2.4/images/52_hunt.png)
Cases
![Cases](./assets/images/screenshots/cases-comments.png)
PCAP
![PCAP](https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion-docs/2.4/images/53_pcap.png)
Grid
![Grid](https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion-docs/2.4/images/57_grid.png)
Config
![Config](https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion-docs/2.4/images/61_config.png)
### Release Notes

View File

@@ -1 +1 @@
2.4.2
2.4.5

View File

@@ -1,13 +0,0 @@
logrotate:
conf: |
daily
rotate 14
missingok
copytruncate
compress
create
extension .log
dateext
dateyesterday
group_conf: |
su root socore

View File

@@ -2,7 +2,7 @@
{% set cached_grains = salt.saltutil.runner('cache.grains', tgt='*') %}
{% for minionid, ip in salt.saltutil.runner(
'mine.get',
tgt='G@role:so-manager or G@role:so-managersearch or G@role:so-standalone or G@role:so-searchnode or G@role:so-heavynode or G@role:so-receiver or G@role:so-helix ',
tgt='G@role:so-manager or G@role:so-managersearch or G@role:so-standalone or G@role:so-searchnode or G@role:so-heavynode or G@role:so-receiver or G@role:so-fleet ',
fun='network.ip_addrs',
tgt_type='compound') | dictsort()
%}

14
pillar/soc/license.sls Normal file
View File

@@ -0,0 +1,14 @@
# Copyright Jason Ertel (github.com/jertel).
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with
# the Elastic License 2.0.
# Note: Per the Elastic License 2.0, the second limitation states:
#
# "You may not move, change, disable, or circumvent the license key functionality
# in the software, and you may not remove or obscure any functionality in the
# software that is protected by the license key."
# This file is generated by Security Onion and contains a list of license-enabled features.
features: []

View File

@@ -40,6 +40,7 @@ base:
- logstash.adv_logstash
- soc.soc_soc
- soc.adv_soc
- soc.license
- soctopus.soc_soctopus
- soctopus.adv_soctopus
- kibana.soc_kibana
@@ -103,6 +104,7 @@ base:
- idstools.adv_idstools
- soc.soc_soc
- soc.adv_soc
- soc.license
- soctopus.soc_soctopus
- soctopus.adv_soctopus
- kibana.soc_kibana
@@ -161,6 +163,7 @@ base:
- manager.adv_manager
- soc.soc_soc
- soc.adv_soc
- soc.license
- soctopus.soc_soctopus
- soctopus.adv_soctopus
- kibana.soc_kibana
@@ -258,6 +261,7 @@ base:
- manager.adv_manager
- soc.soc_soc
- soc.adv_soc
- soc.license
- soctopus.soc_soctopus
- soctopus.adv_soctopus
- kibana.soc_kibana

View File

@@ -3,14 +3,14 @@ import subprocess
def check():
os = __grains__['os']
osfam = __grains__['os_family']
retval = 'False'
if os == 'Ubuntu':
if osfam == 'Debian':
if path.exists('/var/run/reboot-required'):
retval = 'True'
elif os == 'Rocky':
elif osfam == 'RedHat':
cmd = 'needs-restarting -r > /dev/null 2>&1'
try:

View File

@@ -46,23 +46,7 @@
'pcap',
'suricata',
'healthcheck',
'schedule',
'tcpreplay',
'docker_clean'
],
'so-helixsensor': [
'salt.master',
'ca',
'ssl',
'registry',
'telegraf',
'firewall',
'idstools',
'suricata.manager',
'zeek',
'redis',
'elasticsearch',
'logstash',
'elasticagent',
'schedule',
'tcpreplay',
'docker_clean'
@@ -203,7 +187,7 @@
'schedule',
'docker_clean'
],
'so-workstation': [
'so-desktop': [
],
}, grain='role') %}
@@ -244,7 +228,7 @@
{% do allowed_states.append('playbook') %}
{% endif %}
{% if grains.role in ['so-helixsensor', 'so-manager', 'so-standalone', 'so-searchnode', 'so-managersearch', 'so-heavynode', 'so-receiver'] %}
{% if grains.role in ['so-manager', 'so-standalone', 'so-searchnode', 'so-managersearch', 'so-heavynode', 'so-receiver'] %}
{% do allowed_states.append('logstash') %}
{% endif %}

View File

@@ -20,7 +20,6 @@ pki_private_key:
- name: /etc/pki/ca.key
- keysize: 4096
- passphrase:
- cipher: aes_256_cbc
- backup: True
{% if salt['file.file_exists']('/etc/pki/ca.key') -%}
- prereq:

View File

@@ -1,2 +0,0 @@
#!/bin/bash
/usr/sbin/logrotate -f /opt/so/conf/log-rotate.conf > /dev/null 2>&1

View File

@@ -1,2 +0,0 @@
#!/bin/bash
/usr/sbin/logrotate -f /opt/so/conf/sensor-rotate.conf > /dev/null 2>&1

View File

@@ -1,79 +0,0 @@
The following GUI tools are available on the analyst workstation:
chromium
url: https://www.chromium.org/Home
To run chromium, click Applications > Internet > Chromium Web Browser
Wireshark
url: https://www.wireshark.org/
To run Wireshark, click Applications > Internet > Wireshark Network Analyzer
NetworkMiner
url: https://www.netresec.com
To run NetworkMiner, click Applications > Internet > NetworkMiner
The following CLI tools are available on the analyst workstation:
bit-twist
url: http://bittwist.sourceforge.net
To run bit-twist, open a terminal and type: bittwist -h
chaosreader
url: http://chaosreader.sourceforge.net
To run chaosreader, open a terminal and type: chaosreader -h
dnsiff
url: https://www.monkey.org/~dugsong/dsniff/
To run dsniff, open a terminal and type: dsniff -h
foremost
url: http://foremost.sourceforge.net
To run foremost, open a terminal and type: foremost -h
hping3
url: http://www.hping.org/hping3.html
To run hping3, open a terminal and type: hping3 -h
netsed
url: http://silicone.homelinux.org/projects/netsed/
To run netsed, open a terminal and type: netsed -h
ngrep
url: https://github.com/jpr5/ngrep
To run ngrep, open a terminal and type: ngrep -h
scapy
url: http://www.secdev.org/projects/scapy/
To run scapy, open a terminal and type: scapy
ssldump
url: http://www.rtfm.com/ssldump/
To run ssldump, open a terminal and type: ssldump -h
sslsplit
url: https://github.com/droe/sslsplit
To run sslsplit, open a terminal and type: sslsplit -h
tcpdump
url: http://www.tcpdump.org
To run tcpdump, open a terminal and type: tcpdump -h
tcpflow
url: https://github.com/simsong/tcpflow
To run tcpflow, open a terminal and type: tcpflow -h
tcpstat
url: https://frenchfries.net/paul/tcpstat/
To run tcpstat, open a terminal and type: tcpstat -h
tcptrace
url: http://www.tcptrace.org
To run tcptrace, open a terminal and type: tcptrace -h
tcpxtract
url: http://tcpxtract.sourceforge.net/
To run tcpxtract, open a terminal and type: tcpxtract -h
whois
url: http://www.linux.it/~md/software/
To run whois, open a terminal and type: whois -h

View File

@@ -1,13 +1,11 @@
{%- set DOCKERRANGE = salt['pillar.get']('docker:range', '172.17.0.0/24') %}
{%- set DOCKERBIND = salt['pillar.get']('docker:bip', '172.17.0.1/24') %}
{
"registry-mirrors": [
"https://:5000"
],
"bip": "{{ DOCKERBIND }}",
"bip": "172.17.0.1/24",
"default-address-pools": [
{
"base": "{{ DOCKERRANGE }}",
"base": "172.17.0.0/24",
"size": 24
}
]

View File

@@ -1,37 +0,0 @@
{%- set logrotate_conf = salt['pillar.get']('logrotate:conf') %}
{%- set group_conf = salt['pillar.get']('logrotate:group_conf') %}
/opt/so/log/aptcacher-ng/*.log
/opt/so/log/idstools/*.log
/opt/so/log/nginx/*.log
/opt/so/log/soc/*.log
/opt/so/log/kratos/*.log
/opt/so/log/kibana/*.log
/opt/so/log/influxdb/*.log
/opt/so/log/elastalert/*.log
/opt/so/log/soctopus/*.log
/opt/so/log/curator/*.log
/opt/so/log/fleet/*.log
/opt/so/log/suricata/*.log
/opt/so/log/mysql/*.log
/opt/so/log/telegraf/*.log
/opt/so/log/redis/*.log
/opt/so/log/sensoroni/*.log
/opt/so/log/stenographer/*.log
/opt/so/log/salt/so-salt-minion-check
/opt/so/log/salt/minion
/opt/so/log/salt/master
/opt/so/log/logscan/*.log
/nsm/idh/*.log
{
{{ logrotate_conf | indent(width=4) }}
}
# Playbook's log directory needs additional configuration
# because Playbook requires a more permissive directory
/opt/so/log/playbook/*.log
{
{{ logrotate_conf | indent(width=4) }}
{{ group_conf | indent(width=4) }}
}

View File

@@ -1,22 +0,0 @@
/opt/so/log/sensor_clean.log
{
daily
rotate 2
missingok
nocompress
create
sharedscripts
}
/nsm/strelka/log/strelka.log
{
daily
rotate 14
missingok
copytruncate
compress
create
extension .log
dateext
dateyesterday
}

View File

@@ -10,6 +10,10 @@ include:
- manager.elasticsearch # needed for elastic_curl_config state
{% endif %}
net.core.wmem_default:
sysctl.present:
- value: 26214400
# Remove variables.txt from /tmp - This is temp
rmvariablesfile:
file.absent:
@@ -147,56 +151,8 @@ so-sensor-clean:
- daymonth: '*'
- month: '*'
- dayweek: '*'
sensorrotatescript:
file.managed:
- name: /usr/local/bin/sensor-rotate
- source: salt://common/cron/sensor-rotate
- mode: 755
sensorrotateconf:
file.managed:
- name: /opt/so/conf/sensor-rotate.conf
- source: salt://common/files/sensor-rotate.conf
- mode: 644
sensor-rotate:
cron.present:
- name: /usr/local/bin/sensor-rotate
- identifier: sensor-rotate
- user: root
- minute: '1'
- hour: '0'
- daymonth: '*'
- month: '*'
- dayweek: '*'
{% endif %}
commonlogrotatescript:
file.managed:
- name: /usr/local/bin/common-rotate
- source: salt://common/cron/common-rotate
- mode: 755
commonlogrotateconf:
file.managed:
- name: /opt/so/conf/log-rotate.conf
- source: salt://common/files/log-rotate.conf
- template: jinja
- mode: 644
common-rotate:
cron.present:
- name: /usr/local/bin/common-rotate
- identifier: common-rotate
- user: root
- minute: '1'
- hour: '0'
- daymonth: '*'
- month: '*'
- dayweek: '*'
# Create the status directory
sostatusdir:
file.directory:
@@ -239,7 +195,7 @@ soversionfile:
{% endif %}
{% if GLOBALS.so_model and GLOBALS.so_model not in ['SO2AMI01', 'SO2AZI01', 'SO2GCI01'] %}
{% if GLOBALS.os == 'Rocky' %}
{% if GLOBALS.os == 'OEL' %}
# Install Raid tools
raidpkgs:
pkg.installed:
@@ -261,8 +217,7 @@ so-raid-status:
- month: '*'
- dayweek: '*'
{% endif %}
{% endif %}
{% else %}
{{sls}}_state_not_allowed:

View File

@@ -1,6 +1,6 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% if GLOBALS.os == 'Ubuntu' %}
{% if GLOBALS.os_family == 'Debian' %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
@@ -14,16 +14,25 @@ commonpkgs:
- software-properties-common
- apt-transport-https
- openssl
- netcat
- netcat-openbsd
- sqlite3
- libssl-dev
- procps
- python3-dateutil
- python3-docker
- python3-packaging
- python3-watchdog
- python3-lxml
- git
- rsync
- vim
- tar
- unzip
{% if grains.oscodename != 'focal' %}
- python3-rich
{% endif %}
{% if grains.oscodename == 'focal' %}
# since Ubuntu requires and internet connection we can use pip to install modules
python3-pip:
pkg.installed
@@ -34,34 +43,46 @@ python-rich:
- target: /usr/local/lib/python3.8/dist-packages/
- require:
- pkg: python3-pip
{% endif %}
{% endif %}
{% elif GLOBALS.os == 'Rocky' %}
{% if GLOBALS.os_family == 'RedHat' %}
commonpkgs:
pkg.installed:
- skip_suggestions: True
- pkgs:
- wget
- jq
- tcpdump
- httpd-tools
- net-tools
- curl
- sqlite
- mariadb-devel
- python3-dnf-plugin-versionlock
- nmap-ncat
- yum-utils
- device-mapper-persistent-data
- lvm2
- openssl
- fuse
- fuse-libs
- fuse-overlayfs
- fuse-common
- fuse3
- fuse3-libs
- git
- httpd-tools
- jq
- lvm2
{% if GLOBALS.os == 'CentOS Stream' %}
- MariaDB-devel
{% else %}
- mariadb-devel
{% endif %}
- net-tools
- nmap-ncat
- openssl
- procps-ng
- python3-dnf-plugin-versionlock
- python3-docker
- python3-m2crypto
- rsync
- python3-rich
- python3-pyyaml
- python3-watchdog
- python3-packaging
- python3-pyyaml
- python3-rich
- python3-watchdog
- rsync
- sqlite
- tcpdump
- unzip
- wget
- yum-utils
{% endif %}

View File

@@ -8,6 +8,15 @@ soup_scripts:
- source: salt://common/tools/sbin
- include_pat:
- so-common
- so-firewall
- so-image-common
- soup
soup_manager_scripts:
file.recurse:
- name: /usr/sbin
- user: root
- group: root
- file_mode: 755
- source: salt://manager/tools/sbin
- include_pat:
- so-firewall
- soup

View File

@@ -5,6 +5,16 @@
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
# Elastic agent is not managed by salt. Because of this we must store this base information in a
# script that accompanies the soup system. Since so-common is one of those special soup files,
# and since this same logic is required during installation, it's included in this file.
ELASTIC_AGENT_TARBALL_VERSION="8.8.2"
ELASTIC_AGENT_URL="https://repo.securityonion.net/file/so-repo/prod/2.4/elasticagent/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.tar.gz"
ELASTIC_AGENT_MD5_URL="https://repo.securityonion.net/file/so-repo/prod/2.4/elasticagent/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.md5"
ELASTIC_AGENT_FILE="/nsm/elastic-fleet/artifacts/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.tar.gz"
ELASTIC_AGENT_MD5="/nsm/elastic-fleet/artifacts/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.md5"
ELASTIC_AGENT_EXPANSION_DIR=/nsm/elastic-fleet/artifacts/beats/elastic-agent
DEFAULT_SALT_DIR=/opt/so/saltstack/default
DOC_BASE_URL="https://docs.securityonion.net/en/2.4"
@@ -160,6 +170,34 @@ disable_fastestmirror() {
sed -i 's/enabled=1/enabled=0/' /etc/yum/pluginconf.d/fastestmirror.conf
}
download_and_verify() {
source_url=$1
source_md5_url=$2
dest_file=$3
md5_file=$4
expand_dir=$5
if [[ -n "$expand_dir" ]]; then
mkdir -p "$expand_dir"
fi
if ! verify_md5_checksum "$dest_file" "$md5_file"; then
retry 15 10 "curl --fail --retry 5 --retry-delay 15 -L '$source_url' --output '$dest_file'" "" ""
retry 15 10 "curl --fail --retry 5 --retry-delay 15 -L '$source_md5_url' --output '$md5_file'" "" ""
if verify_md5_checksum "$dest_file" "$md5_file"; then
echo "Source file and checksum are good."
else
echo "Unable to download and verify the source file and checksum."
return 1
fi
fi
if [[ -n "$expand_dir" ]]; then
tar -xf "$dest_file" -C "$expand_dir"
fi
}
elastic_license() {
read -r -d '' message <<- EOM
@@ -198,19 +236,20 @@ get_random_value() {
}
gpg_rpm_import() {
if [[ "$OS" == "rocky" ]]; then
if [[ $is_oracle ]]; then
if [[ "$WHATWOULDYOUSAYYAHDOHERE" == "setup" ]]; then
local RPMKEYSLOC="../salt/repo/client/files/rocky/keys"
local RPMKEYSLOC="../salt/repo/client/files/$OS/keys"
else
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/rocky/keys"
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/$OS/keys"
fi
RPMKEYS=('RPM-GPG-KEY-rockyofficial' 'RPM-GPG-KEY-EPEL-9' 'SALT-PROJECT-GPG-PUBKEY-2023.pub' 'docker.pub' 'securityonion.pub')
for RPMKEY in "${RPMKEYS[@]}"; do
RPMKEYS=('RPM-GPG-KEY-oracle' 'RPM-GPG-KEY-EPEL-9' 'SALT-PROJECT-GPG-PUBKEY-2023.pub' 'docker.pub' 'securityonion.pub' 'MariaDB-Server-GPG-KEY')
for RPMKEY in "${RPMKEYS[@]}"; do
rpm --import $RPMKEYSLOC/$RPMKEY
echo "Imported $RPMKEY"
done
elif [[ $is_rpm ]]; then
echo "Importing the security onion GPG key"
rpm --import ../salt/repo/client/files/oracle/keys/securityonion.pub
fi
}
@@ -223,12 +262,15 @@ init_monitor() {
if [[ $MONITORNIC == "bond0" ]]; then
BIFACES=$(lookup_bond_interfaces)
for i in rx tx sg tso ufo gso gro lro rx-vlan-offload tx-vlan-offload generic-receive-offload generic-segmentation-offload tcp-segmentation-offload; do
ethtool -K "$MONITORNIC" "$i" off;
done
else
BIFACES=$MONITORNIC
fi
for DEVICE_IFACE in $BIFACES; do
for i in rx tx sg tso ufo gso gro lro; do
for i in rx tx sg tso ufo gso gro lro rx-vlan-offload tx-vlan-offload generic-receive-offload generic-segmentation-offload tcp-segmentation-offload; do
ethtool -K "$DEVICE_IFACE" "$i" off;
done
ip link set dev "$DEVICE_IFACE" arp off multicast off allmulticast off promisc on
@@ -242,7 +284,7 @@ is_manager_node() {
is_sensor_node() {
# Check to see if this is a sensor (forward) node
is_single_node_grid && return 0
grep "role: so-" /etc/salt/grains | grep -E "sensor|heavynode|helix" &> /dev/null
grep "role: so-" /etc/salt/grains | grep -E "sensor|heavynode" &> /dev/null
}
is_single_node_grid() {
@@ -300,6 +342,17 @@ lookup_role() {
echo ${pieces[1]}
}
is_feature_enabled() {
feature=$1
enabled=$(lookup_salt_value features)
for cur in $enabled; do
if [[ "$feature" == "$cur" ]]; then
return 0
fi
done
return 1
}
require_manager() {
if is_manager_node; then
echo "This is a manager, so we can proceed."
@@ -383,19 +436,22 @@ salt_minion_count() {
}
set_cron_service_name() {
if [[ "$OS" == "rocky" ]]; then
cron_service_name="crond"
else
cron_service_name="cron"
fi
}
set_os() {
if [ -f /etc/redhat-release ]; then
OS=rocky
if grep -q "Rocky Linux release 9" /etc/redhat-release; then
OS=rocky
OSVER=9
is_rocky=true
elif grep -q "CentOS Stream release 9" /etc/redhat-release; then
OS=centos
OSVER=9
is_centos=true
fi
cron_service_name="crond"
else
OS=ubuntu
is_ubuntu=true
cron_service_name="cron"
fi
}
@@ -404,7 +460,7 @@ set_minionid() {
}
set_palette() {
if [ "$OS" == ubuntu ]; then
if [[ $is_deb ]]; then
update-alternatives --set newt-palette /etc/newt/palette.original
fi
}
@@ -451,6 +507,11 @@ has_uppercase() {
|| return 1
}
update_elastic_agent() {
echo "Checking if Elastic Agent update is necessary..."
download_and_verify "$ELASTIC_AGENT_URL" "$ELASTIC_AGENT_MD5_URL" "$ELASTIC_AGENT_FILE" "$ELASTIC_AGENT_MD5" "$ELASTIC_AGENT_EXPANSION_DIR"
}
valid_cidr() {
# Verify there is a backslash in the string
echo "$1" | grep -qP "^[^/]+/[^/]+$" || return 1
@@ -604,6 +665,23 @@ valid_username() {
echo "$user" | grep -qP '^[a-z_]([a-z0-9_-]{0,31}|[a-z0-9_-]{0,30}\$)$' && return 0 || return 1
}
verify_md5_checksum() {
data_file=$1
md5_file=${2:-${data_file}.md5}
if [[ ! -f "$dest_file" || ! -f "$md5_file" ]]; then
return 2
fi
SOURCEHASH=$(md5sum "$data_file" | awk '{ print $1 }')
HASH=$(cat "$md5_file")
if [[ "$HASH" == "$SOURCEHASH" ]]; then
return 0
fi
return 1
}
wait_for_web_response() {
url=$1
expected=$2

View File

@@ -103,7 +103,7 @@ def output(options, console, code, data):
def check_container_status(options, console):
code = 0
cli = "docker"
proc = subprocess.run([cli, 'ps', '--format', '{{json .}}'], stdout=subprocess.PIPE, encoding="utf-8")
proc = subprocess.run([cli, 'ps', '--format', 'json'], stdout=subprocess.PIPE, encoding="utf-8")
if proc.returncode != 0:
fail("Container system error; unable to obtain container process statuses")

View File

@@ -6,17 +6,17 @@
# Elastic License 2.0.
{# we only want the script to install the workstation if it is Rocky -#}
{# we only want the script to install the desktop if it is Rocky -#}
{% if grains.os == 'Rocky' -%}
{# if this is a manager -#}
{% if grains.master == grains.id.split('_')|first -%}
source /usr/sbin/so-common
doc_workstation_url="$DOC_BASE_URL/analyst-vm.html"
doc_desktop_url="$DOC_BASE_URL/desktop.html"
pillar_file="/opt/so/saltstack/local/pillar/minions/{{grains.id}}.sls"
if [ -f "$pillar_file" ]; then
if ! grep -q "^workstation:$" "$pillar_file"; then
if ! grep -q "^desktop:$" "$pillar_file"; then
FIRSTPASS=yes
while [[ $INSTALL != "yes" ]] && [[ $INSTALL != "no" ]]; do
@@ -26,7 +26,7 @@ if [ -f "$pillar_file" ]; then
echo "## _______________________________ ##"
echo "## ##"
echo "## Installing the Security Onion ##"
echo "## analyst node on this device will ##"
echo "## Desktop on this device will ##"
echo "## make permanent changes to ##"
echo "## the system. ##"
echo "## A system reboot will be required ##"
@@ -42,40 +42,40 @@ if [ -f "$pillar_file" ]; then
done
if [[ $INSTALL == "no" ]]; then
echo "Exiting analyst node installation."
echo "Exiting desktop node installation."
exit 0
fi
# Add workstation pillar to the minion's pillar file
# Add desktop pillar to the minion's pillar file
printf '%s\n'\
"workstation:"\
"desktop:"\
" gui:"\
" enabled: true"\
"" >> "$pillar_file"
echo "Applying the workstation state. This could take some time since there are many packages that need to be installed."
if salt-call state.apply workstation -linfo queue=True; then # make sure the state ran successfully
echo "Applying the desktop state. This could take some time since there are many packages that need to be installed."
if salt-call state.apply desktop -linfo queue=True; then # make sure the state ran successfully
echo ""
echo "Analyst workstation has been installed!"
echo "Security Onion Desktop has been installed!"
echo "Press ENTER to reboot or Ctrl-C to cancel."
read pause
reboot;
else
echo "There was an issue applying the workstation state. Please review the log above or at /opt/so/log/salt/minion."
echo "There was an issue applying the desktop state. Please review the log above or at /opt/so/log/salt/minion."
fi
else # workstation is already added
echo "The workstation pillar already exists in $pillar_file."
echo "To enable/disable the gui, set 'workstation:gui:enabled' to true or false in $pillar_file."
echo "Additional documentation can be found at $doc_workstation_url."
else # desktop is already added
echo "The desktop pillar already exists in $pillar_file."
echo "To enable/disable the gui, set 'desktop:gui:enabled' to true or false in $pillar_file."
echo "Additional documentation can be found at $doc_desktop_url."
fi
else # if the pillar file doesn't exist
echo "Could not find $pillar_file and add the workstation pillar."
echo "Could not find $pillar_file and add the desktop pillar."
fi
{#- if this is not a manager #}
{% else -%}
echo "Since this is not a manager, the pillar values to enable analyst workstation must be set manually. Please view the documentation at $doc_workstation_url."
echo "Since this is not a manager, the pillar values to enable Security Onion Desktop must be set manually. Please view the documentation at $doc_desktop_url."
{#- endif if this is a manager #}
{% endif -%}
@@ -83,7 +83,7 @@ echo "Since this is not a manager, the pillar values to enable analyst workstati
{#- if not Rocky #}
{%- else %}
echo "The Analyst Workstation can only be installed on Rocky. Please view the documentation at $doc_workstation_url."
echo "The Security Onion Desktop can only be installed on Rocky Linux. Please view the documentation at $doc_desktop_url."
{#- endif grains.os == Rocky #}
{% endif -%}

View File

@@ -14,25 +14,70 @@
{%- set ES_PASS = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', '') %}
INDEX_DATE=$(date +'%Y.%m.%d')
RUNID=$(cat /dev/urandom | tr -dc 'a-z0-9' | fold -w 8 | head -n 1)
LOG_FILE=/nsm/import/evtx-import.log
. /usr/sbin/so-common
function usage {
cat << EOF
Usage: $0 <evtx-file-1> [evtx-file-2] [evtx-file-*]
Usage: $0 [options] <evtx-file-1> [evtx-file-2] [evtx-file-*]
Imports one or more evtx files into Security Onion. The evtx files will be analyzed and made available for review in the Security Onion toolset.
Options:
--json Outputs summary in JSON format. Implies --quiet.
--quiet Silences progress information to stdout.
--shift Adds a time shift. Accepts a single argument that is intended to be the date of the last record, and shifts the dates of the previous records accordingly.
Ex. sudo so-import-evtx --shift "2023-08-01 01:01:01" example.evtx
EOF
}
quiet=0
json=0
INPUT_FILES=
while [[ $# -gt 0 ]]; do
param=$1
shift
case "$param" in
--json)
json=1
quiet=1
;;
--quiet)
quiet=1
;;
--shift)
SHIFTDATE=$1
shift
;;
-*)
echo "Encountered unexpected parameter: $param"
usage
exit 1
;;
*)
if [[ "$INPUT_FILES" != "" ]]; then
INPUT_FILES="$INPUT_FILES $param"
else
INPUT_FILES="$param"
fi
;;
esac
done
function status {
msg=$1
[[ $quiet -eq 1 ]] && return
echo "$msg"
}
function evtx2es() {
EVTX=$1
HASH=$2
SHIFTDATE=$3
docker run --rm \
-e "SHIFTTS=$SHIFTDATE" \
-v "$EVTX:/tmp/data.evtx" \
-v "/nsm/import/$HASH/evtx/:/tmp/evtx/" \
-v "/nsm/import/evtx-end_newest:/tmp/newest" \
@@ -42,31 +87,30 @@ function evtx2es() {
}
# if no parameters supplied, display usage
if [ $# -eq 0 ]; then
if [ "$INPUT_FILES" == "" ]; then
usage
exit 1
fi
# ensure this is a Manager node
require_manager
require_manager @> /dev/null
# verify that all parameters are files
for i in "$@"; do
for i in $INPUT_FILES; do
if ! [ -f "$i" ]; then
usage
echo "\"$i\" is not a valid file!"
exit 2
fi
done
# track if we have any valid or invalid evtx
INVALID_EVTXS="no"
VALID_EVTXS="no"
# track oldest start and newest end so that we can generate the Kibana search hyperlink at the end
START_OLDEST="2050-12-31"
END_NEWEST="1971-01-01"
INVALID_EVTXS_COUNT=0
VALID_EVTXS_COUNT=0
SKIPPED_EVTXS_COUNT=0
touch /nsm/import/evtx-start_oldest
touch /nsm/import/evtx-end_newest
@@ -74,27 +118,41 @@ echo $START_OLDEST > /nsm/import/evtx-start_oldest
echo $END_NEWEST > /nsm/import/evtx-end_newest
# paths must be quoted in case they include spaces
for EVTX in "$@"; do
for EVTX in $INPUT_FILES; do
EVTX=$(/usr/bin/realpath "$EVTX")
echo "Processing Import: ${EVTX}"
status "Processing Import: ${EVTX}"
if ! [ -z "$SHIFTDATE" ]; then
status "- timeshifting logs to end date of $SHIFTDATE"
fi
# generate a unique hash to assist with dedupe checks
HASH=$(md5sum "${EVTX}" | awk '{ print $1 }')
HASH_DIR=/nsm/import/${HASH}
echo "- assigning unique identifier to import: $HASH"
status "- assigning unique identifier to import: $HASH"
if [[ "$HASH_FILTERS" == "" ]]; then
HASH_FILTERS="import.id:${HASH}"
HASHES="${HASH}"
else
HASH_FILTERS="$HASH_FILTERS%20OR%20import.id:${HASH}"
HASHES="${HASHES} ${HASH}"
fi
if [ -d $HASH_DIR ]; then
echo "- this EVTX has already been imported; skipping"
INVALID_EVTXS="yes"
status "- this EVTX has already been imported; skipping"
SKIPPED_EVTXS_COUNT=$((SKIPPED_EVTXS_COUNT + 1))
else
VALID_EVTXS="yes"
EVTX_DIR=$HASH_DIR/evtx
mkdir -p $EVTX_DIR
# import evtx and write them to import ingest pipeline
echo "- importing logs to Elasticsearch..."
evtx2es "${EVTX}" $HASH
status "- importing logs to Elasticsearch..."
evtx2es "${EVTX}" $HASH "$SHIFTDATE"
if [[ $? -ne 0 ]]; then
INVALID_EVTXS_COUNT=$((INVALID_EVTXS_COUNT + 1))
status "- WARNING: This evtx file may not have fully imported successfully"
else
VALID_EVTXS_COUNT=$((VALID_EVTXS_COUNT + 1))
fi
# compare $START to $START_OLDEST
START=$(cat /nsm/import/evtx-start_oldest)
@@ -118,38 +176,60 @@ for EVTX in "$@"; do
fi # end of valid evtx
echo
status
done # end of for-loop processing evtx files
# remove temp files
echo "Cleaning up:"
for TEMP_EVTX in ${TEMP_EVTXS[@]}; do
echo "- removing temporary evtx $TEMP_EVTX"
rm -f $TEMP_EVTX
done
# output final messages
if [ "$INVALID_EVTXS" = "yes" ]; then
echo
echo "Please note! One or more evtx was invalid! You can scroll up to see which ones were invalid."
if [[ $INVALID_EVTXS_COUNT -gt 0 ]]; then
status
status "Please note! One or more evtx was invalid! You can scroll up to see which ones were invalid."
fi
START_OLDEST_FORMATTED=`date +%Y-%m-%d --date="$START_OLDEST"`
START_OLDEST_SLASH=$(echo $START_OLDEST_FORMATTED | sed -e 's/-/%2F/g')
END_NEWEST_SLASH=$(echo $END_NEWEST | sed -e 's/-/%2F/g')
if [ "$VALID_EVTXS" = "yes" ]; then
cat << EOF
if [[ $VALID_EVTXS_COUNT -gt 0 ]] || [[ $SKIPPED_EVTXS_COUNT -gt 0 ]]; then
URL="https://{{ URLBASE }}/#/dashboards?q=$HASH_FILTERS%20%7C%20groupby%20-sankey%20event.dataset%20event.category%2a%20%7C%20groupby%20-pie%20event.category%20%7C%20groupby%20-bar%20event.module%20%7C%20groupby%20event.dataset%20%7C%20groupby%20event.module%20%7C%20groupby%20event.category%20%7C%20groupby%20observer.name%20%7C%20groupby%20source.ip%20%7C%20groupby%20destination.ip%20%7C%20groupby%20destination.port&t=${START_OLDEST_SLASH}%2000%3A00%3A00%20AM%20-%20${END_NEWEST_SLASH}%2000%3A00%3A00%20AM&z=UTC"
Import complete!
You can use the following hyperlink to view data in the time range of your import. You can triple-click to quickly highlight the entire hyperlink and you can then copy it into your browser:
https://{{ URLBASE }}/#/dashboards?q=import.id:${RUNID}%20%7C%20groupby%20-sankey%20event.dataset%20event.category%2a%20%7C%20groupby%20-pie%20event.category%20%7C%20groupby%20-bar%20event.module%20%7C%20groupby%20event.dataset%20%7C%20groupby%20event.module%20%7C%20groupby%20event.category%20%7C%20groupby%20observer.name%20%7C%20groupby%20source.ip%20%7C%20groupby%20destination.ip%20%7C%20groupby%20destination.port&t=${START_OLDEST_SLASH}%2000%3A00%3A00%20AM%20-%20${END_NEWEST_SLASH}%2000%3A00%3A00%20AM&z=UTC
or you can manually set your Time Range to be (in UTC):
From: $START_OLDEST_FORMATTED To: $END_NEWEST
Please note that it may take 30 seconds or more for events to appear in Security Onion Console.
EOF
status "Import complete!"
status
status "Use the following hyperlink to view the imported data. Triple-click to quickly highlight the entire hyperlink and then copy it into a browser:"
status
status "$URL"
status
status "or, manually set the Time Range to be (in UTC):"
status
status "From: $START_OLDEST_FORMATTED To: $END_NEWEST"
status
status "Note: It can take 30 seconds or more for events to appear in Security Onion Console."
RESULT=0
else
START_OLDEST=
END_NEWEST=
URL=
RESULT=1
fi
if [[ $json -eq 1 ]]; then
jq -n \
--arg success_count "$VALID_EVTXS_COUNT" \
--arg fail_count "$INVALID_EVTXS_COUNT" \
--arg skipped_count "$SKIPPED_EVTXS_COUNT" \
--arg begin_date "$START_OLDEST" \
--arg end_date "$END_NEWEST" \
--arg url "$URL" \
--arg hashes "$HASHES" \
'''{
success_count: $success_count,
fail_count: $fail_count,
skipped_count: $skipped_count,
begin_date: $begin_date,
end_date: $end_date,
url: $url,
hash: ($hashes / " ")
}'''
fi
exit $RESULT

View File

@@ -15,12 +15,51 @@
function usage {
cat << EOF
Usage: $0 <pcap-file-1> [pcap-file-2] [pcap-file-N]
Usage: $0 [options] <pcap-file-1> [pcap-file-2] [pcap-file-N]
Imports one or more PCAP files onto a sensor node. The PCAP traffic will be analyzed and made available for review in the Security Onion toolset.
Options:
--json Outputs summary in JSON format. Implies --quiet.
--quiet Silences progress information to stdout.
EOF
}
quiet=0
json=0
INPUT_FILES=
while [[ $# -gt 0 ]]; do
param=$1
shift
case "$param" in
--json)
json=1
quiet=1
;;
--quiet)
quiet=1
;;
-*)
echo "Encountered unexpected parameter: $param"
usage
exit 1
;;
*)
if [[ "$INPUT_FILES" != "" ]]; then
INPUT_FILES="$INPUT_FILES $param"
else
INPUT_FILES="$param"
fi
;;
esac
done
function status {
msg=$1
[[ $quiet -eq 1 ]] && return
echo "$msg"
}
function pcapinfo() {
PCAP=$1
ARGS=$2
@@ -84,7 +123,7 @@ function zeek() {
}
# if no parameters supplied, display usage
if [ $# -eq 0 ]; then
if [ "$INPUT_FILES" == "" ]; then
usage
exit 1
fi
@@ -96,31 +135,30 @@ if [ ! -d /opt/so/conf/suricata ]; then
fi
# verify that all parameters are files
for i in "$@"; do
for i in $INPUT_FILES; do
if ! [ -f "$i" ]; then
usage
echo "\"$i\" is not a valid file!"
exit 2
fi
done
# track if we have any valid or invalid pcaps
INVALID_PCAPS="no"
VALID_PCAPS="no"
# track oldest start and newest end so that we can generate the Kibana search hyperlink at the end
START_OLDEST="2050-12-31"
END_NEWEST="1971-01-01"
INVALID_PCAPS_COUNT=0
VALID_PCAPS_COUNT=0
SKIPPED_PCAPS_COUNT=0
# paths must be quoted in case they include spaces
for PCAP in "$@"; do
for PCAP in $INPUT_FILES; do
PCAP=$(/usr/bin/realpath "$PCAP")
echo "Processing Import: ${PCAP}"
echo "- verifying file"
status "Processing Import: ${PCAP}"
status "- verifying file"
if ! pcapinfo "${PCAP}" > /dev/null 2>&1; then
# try to fix pcap and then process the fixed pcap directly
PCAP_FIXED=`mktemp /tmp/so-import-pcap-XXXXXXXXXX.pcap`
echo "- attempting to recover corrupted PCAP file"
status "- attempting to recover corrupted PCAP file"
pcapfix "${PCAP}" "${PCAP_FIXED}"
# Make fixed file world readable since the Suricata docker container will runas a non-root user
chmod a+r "${PCAP_FIXED}"
@@ -131,33 +169,44 @@ for PCAP in "$@"; do
# generate a unique hash to assist with dedupe checks
HASH=$(md5sum "${PCAP}" | awk '{ print $1 }')
HASH_DIR=/nsm/import/${HASH}
echo "- assigning unique identifier to import: $HASH"
status "- assigning unique identifier to import: $HASH"
if [ -d $HASH_DIR ]; then
echo "- this PCAP has already been imported; skipping"
INVALID_PCAPS="yes"
elif pcapinfo "${PCAP}" |egrep -q "Last packet time: 1970-01-01|Last packet time: n/a"; then
echo "- this PCAP file is invalid; skipping"
INVALID_PCAPS="yes"
pcap_data=$(pcapinfo "${PCAP}")
if ! echo "$pcap_data" | grep -q "First packet time:" || echo "$pcap_data" |egrep -q "Last packet time: 1970-01-01|Last packet time: n/a"; then
status "- this PCAP file is invalid; skipping"
INVALID_PCAPS_COUNT=$((INVALID_PCAPS_COUNT + 1))
else
VALID_PCAPS="yes"
if [ -d $HASH_DIR ]; then
status "- this PCAP has already been imported; skipping"
SKIPPED_PCAPS_COUNT=$((SKIPPED_PCAPS_COUNT + 1))
else
VALID_PCAPS_COUNT=$((VALID_PCAPS_COUNT + 1))
PCAP_DIR=$HASH_DIR/pcap
mkdir -p $PCAP_DIR
PCAP_DIR=$HASH_DIR/pcap
mkdir -p $PCAP_DIR
# generate IDS alerts and write them to standard pipeline
echo "- analyzing traffic with Suricata"
suricata "${PCAP}" $HASH
{% if salt['pillar.get']('global:mdengine') == 'ZEEK' %}
# generate Zeek logs and write them to a unique subdirectory in /nsm/import/zeek/
# since each run writes to a unique subdirectory, there is no need for a lock file
echo "- analyzing traffic with Zeek"
zeek "${PCAP}" $HASH
{% endif %}
# generate IDS alerts and write them to standard pipeline
status "- analyzing traffic with Suricata"
suricata "${PCAP}" $HASH
{% if salt['pillar.get']('global:mdengine') == 'ZEEK' %}
# generate Zeek logs and write them to a unique subdirectory in /nsm/import/zeek/
# since each run writes to a unique subdirectory, there is no need for a lock file
status "- analyzing traffic with Zeek"
zeek "${PCAP}" $HASH
{% endif %}
fi
if [[ "$HASH_FILTERS" == "" ]]; then
HASH_FILTERS="import.id:${HASH}"
HASHES="${HASH}"
else
HASH_FILTERS="$HASH_FILTERS%20OR%20import.id:${HASH}"
HASHES="${HASHES} ${HASH}"
fi
START=$(pcapinfo "${PCAP}" -a |grep "First packet time:" | awk '{print $4}')
END=$(pcapinfo "${PCAP}" -e |grep "Last packet time:" | awk '{print $4}')
echo "- saving PCAP data spanning dates $START through $END"
status "- found PCAP data spanning dates $START through $END"
# compare $START to $START_OLDEST
START_COMPARE=$(date -d $START +%s)
@@ -179,37 +228,62 @@ for PCAP in "$@"; do
fi # end of valid pcap
echo
status
done # end of for-loop processing pcap files
# remove temp files
echo "Cleaning up:"
for TEMP_PCAP in ${TEMP_PCAPS[@]}; do
echo "- removing temporary pcap $TEMP_PCAP"
status "- removing temporary pcap $TEMP_PCAP"
rm -f $TEMP_PCAP
done
# output final messages
if [ "$INVALID_PCAPS" = "yes" ]; then
echo
echo "Please note! One or more pcaps was invalid! You can scroll up to see which ones were invalid."
if [[ $INVALID_PCAPS_COUNT -gt 0 ]]; then
status
status "WARNING: One or more pcaps was invalid. Scroll up to see which ones were invalid."
fi
START_OLDEST_SLASH=$(echo $START_OLDEST | sed -e 's/-/%2F/g')
END_NEWEST_SLASH=$(echo $END_NEWEST | sed -e 's/-/%2F/g')
if [[ $VALID_PCAPS_COUNT -gt 0 ]] || [[ $SKIPPED_PCAPS_COUNT -gt 0 ]]; then
URL="https://{{ URLBASE }}/#/dashboards?q=$HASH_FILTERS%20%7C%20groupby%20-sankey%20event.dataset%20event.category%2a%20%7C%20groupby%20-pie%20event.category%20%7C%20groupby%20-bar%20event.module%20%7C%20groupby%20event.dataset%20%7C%20groupby%20event.module%20%7C%20groupby%20event.category%20%7C%20groupby%20observer.name%20%7C%20groupby%20source.ip%20%7C%20groupby%20destination.ip%20%7C%20groupby%20destination.port&t=${START_OLDEST_SLASH}%2000%3A00%3A00%20AM%20-%20${END_NEWEST_SLASH}%2000%3A00%3A00%20AM&z=UTC"
if [ "$VALID_PCAPS" = "yes" ]; then
cat << EOF
Import complete!
You can use the following hyperlink to view data in the time range of your import. You can triple-click to quickly highlight the entire hyperlink and you can then copy it into your browser:
https://{{ URLBASE }}/#/dashboards?q=import.id:${HASH}%20%7C%20groupby%20-sankey%20event.dataset%20event.category%2a%20%7C%20groupby%20-pie%20event.category%20%7C%20groupby%20-bar%20event.module%20%7C%20groupby%20event.dataset%20%7C%20groupby%20event.module%20%7C%20groupby%20event.category%20%7C%20groupby%20observer.name%20%7C%20groupby%20source.ip%20%7C%20groupby%20destination.ip%20%7C%20groupby%20destination.port&t=${START_OLDEST_SLASH}%2000%3A00%3A00%20AM%20-%20${END_NEWEST_SLASH}%2000%3A00%3A00%20AM&z=UTC
or you can manually set your Time Range to be (in UTC):
From: $START_OLDEST To: $END_NEWEST
Please note that it may take 30 seconds or more for events to appear in Security Onion Console.
EOF
status "Import complete!"
status
status "Use the following hyperlink to view the imported data. Triple-click to quickly highlight the entire hyperlink and then copy it into a browser:"
status "$URL"
status
status "or, manually set the Time Range to be (in UTC):"
status "From: $START_OLDEST To: $END_NEWEST"
status
status "Note: It can take 30 seconds or more for events to appear in Security Onion Console."
RESULT=0
else
START_OLDEST=
END_NEWEST=
URL=
RESULT=1
fi
if [[ $json -eq 1 ]]; then
jq -n \
--arg success_count "$VALID_PCAPS_COUNT" \
--arg fail_count "$INVALID_PCAPS_COUNT" \
--arg skipped_count "$SKIPPED_PCAPS_COUNT" \
--arg begin_date "$START_OLDEST" \
--arg end_date "$END_NEWEST" \
--arg url "$URL" \
--arg hashes "$HASHES" \
'''{
success_count: $success_count,
fail_count: $fail_count,
skipped_count: $skipped_count,
begin_date: $begin_date,
end_date: $end_date,
url: $url,
hash: ($hashes / " ")
}'''
fi
exit $RESULT

View File

@@ -1,7 +1,7 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
@@ -9,25 +9,26 @@
. /usr/sbin/so-common
appliance_check() {
{%- if salt['grains.get']('sosmodel', '') %}
APPLIANCE=1
{%- if grains['sosmodel'] in ['SO2AMI01', 'SO2GCI01', 'SO2AZI01'] %}
exit 0
{%- endif %}
DUDEYOUGOTADELL=$(dmidecode |grep Dell)
if [[ -n $DUDEYOUGOTADELL ]]; then
APPTYPE=dell
else
APPTYPE=sm
fi
mkdir -p /opt/so/log/raid
{%- else %}
echo "This is not an appliance"
exit 0
{%- endif %}
}
{%- if salt['grains.get']('sosmodel', '') %}
{%- set model = salt['grains.get']('sosmodel') %}
model={{ model }}
# Don't need cloud images to use this
if [[ $model =~ ^(SO2AMI01|SO2AZI01|SO2GCI01)$ ]]; then
exit 0
fi
{%- else %}
echo "This is not an appliance"
exit 0
{%- endif %}
if [[ $model =~ ^(SOS10K|SOS500|SOS1000|SOS1000F|SOS4000|SOSSN7200|SOSSNNV|SOSMN)$ ]]; then
is_bossraid=true
fi
if [[ $model =~ ^(SOSSNNV|SOSMN)$ ]]; then
is_swraid=true
fi
if [[ $model =~ ^(SOS10K|SOS500|SOS1000|SOS1000F|SOS4000|SOSSN7200)$ ]]; then
is_hwraid=true
fi
check_nsm_raid() {
PERCCLI=$(/opt/raidtools/perccli/perccli64 /c0/v0 show|grep RAID|grep Optl)
@@ -49,61 +50,44 @@ check_nsm_raid() {
check_boss_raid() {
MVCLI=$(/usr/local/bin/mvcli info -o vd |grep status |grep functional)
if [[ -n $DUDEYOUGOTADELL ]]; then
if [[ -n $MVCLI ]]; then
BOSSRAID=0
else
BOSSRAID=1
fi
if [[ -n $MVCLI ]]; then
BOSSRAID=0
else
BOSSRAID=1
fi
}
check_software_raid() {
if [[ -n $DUDEYOUGOTADELL ]]; then
SWRC=$(grep "_" /proc/mdstat)
if [[ -n $SWRC ]]; then
# RAID is failed in some way
SWRAID=1
else
SWRAID=0
fi
SWRC=$(grep "_" /proc/mdstat)
if [[ -n $SWRC ]]; then
# RAID is failed in some way
SWRAID=1
else
SWRAID=0
fi
}
# This script checks raid status if you use SO appliances
# Set everything to 0
SWRAID=0
BOSSRAID=0
HWRAID=0
# See if this is an appliance
appliance_check
check_nsm_raid
check_boss_raid
{%- if salt['grains.get']('sosmodel', '') %}
{%- if grains['sosmodel'] in ['SOSMN', 'SOSSNNV'] %}
check_software_raid
{%- endif %}
{%- endif %}
if [[ -n $SWRAID ]]; then
if [[ $SWRAID == '0' && $BOSSRAID == '0' ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
elif [[ -n $DUDEYOUGOTADELL ]]; then
if [[ $BOSSRAID == '0' && $HWRAID == '0' ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
elif [[ "$APPTYPE" == 'sm' ]]; then
if [[ -n "$HWRAID" ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
if [[ $is_hwraid ]]; then
check_nsm_raid
fi
if [[ $is_bossraid ]]; then
check_boss_raid
fi
if [[ $is_swraid ]]; then
check_software_raid
fi
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log
sum=$(($SWRAID + $BOSSRAID + $HWRAID))
if [[ $sum == "0" ]]; then
RAIDSTATUS=0
else
RAIDSTATUS=1
fi
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -13,7 +13,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -13,7 +13,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -12,7 +12,7 @@ actions:
options:
delete_aliases: False
timeout_override:
continue_if_exception: False
ignore_empty_list: True
disable_action: False
filters:
- filtertype: pattern

View File

@@ -0,0 +1,7 @@
# This file is managed by Salt in the desktop.xwindows state
# It will not be overwritten if it already exists
[User]
Session=gnome-classic
Icon=/home/{{USERNAME}}/.face
SystemAccount=false

View File

Before

Width:  |  Height:  |  Size: 269 KiB

After

Width:  |  Height:  |  Size: 269 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

Before

Width:  |  Height:  |  Size: 319 KiB

After

Width:  |  Height:  |  Size: 319 KiB

View File

@@ -1,7 +1,7 @@
include:
- workstation.xwindows
- desktop.xwindows
{# If the master is 'salt' then the minion hasn't been configured and isn't connected to the grid. #}
{# We need this since the trusted-ca state uses mine data. #}
{% if grains.master != 'salt' %}
- workstation.trusted-ca
- desktop.trusted-ca
{% endif %}

445
salt/desktop/packages.sls Normal file
View File

@@ -0,0 +1,445 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'OEL' %}
desktop_packages:
pkg.installed:
- pkgs:
- ModemManager
- ModemManager-glib
- NetworkManager
- NetworkManager-adsl
- NetworkManager-bluetooth
- NetworkManager-config-server
- NetworkManager-libnm
- NetworkManager-team
- NetworkManager-tui
- NetworkManager-wifi
- NetworkManager-wwan
- PackageKit
- PackageKit-command-not-found
- PackageKit-glib
- PackageKit-gstreamer-plugin
- PackageKit-gtk3-module
- audit
- audit-libs
- authselect
- authselect-libs
- avahi
- avahi-glib
- avahi-libs
- baobab
- basesystem
- bc
- bcache-tools
- bluez
- bluez-libs
- bluez-obexd
- bolt
- bzip2
- bzip2-libs
- c-ares
- ca-certificates
- cairo
- cairo-gobject
- cairomm
- checkpolicy
- chkconfig
- chrome-gnome-shell
- chromium
- clutter
- clutter-gst3
- clutter-gtk
- cogl
- color-filesystem
- colord
- colord-gtk
- colord-libs
- conmon
- cups
- cups-client
- cups-filesystem
- cups-filters
- cups-filters-libs
- cups-ipptool
- cups-libs
- cups-pk-helper
- dconf
- dejavu-sans-fonts
- dejavu-sans-mono-fonts
- dejavu-serif-fonts
- desktop-file-utils
- dsniff
- ethtool
- evolution-data-server
- evolution-data-server-langpacks
- file
- flac-libs
- flashrom
- flatpak
- flatpak-libs
- flatpak-selinux
- flatpak-session-helper
- fontconfig
- fonts-filesystem
- foomatic
- foomatic-db
- foomatic-db-filesystem
- foomatic-db-ppds
- freetype
- fuse
- fuse-common
- fuse-libs
- fuse-overlayfs
- fuse3
- fuse3-libs
- fwupd
- fwupd-plugin-flashrom
- gcr
- gcr-base
- gd
- gdbm-libs
- gdisk
- gdk-pixbuf2
- gdk-pixbuf2-modules
- gdm
- gedit
- geoclue2
- geoclue2-libs
- geocode-glib
- gettext
- gettext-libs
- ghostscript
- ghostscript-tools-fonts
- ghostscript-tools-printing
- giflib
- glx-utils
- gmp
- gnome-autoar
- gnome-bluetooth
- gnome-bluetooth-libs
- gnome-calculator
- gnome-characters
- gnome-classic-session
- gnome-color-manager
- gnome-control-center
- gnome-control-center-filesystem
- gnome-desktop3
- gnome-disk-utility
- gnome-font-viewer
- gnome-initial-setup
- gnome-keyring
- gnome-keyring-pam
- gnome-logs
- gnome-menus
- gnome-online-accounts
- gnome-remote-desktop
- gnome-screenshot
- gnome-session
- gnome-session-wayland-session
- gnome-session-xsession
- gnome-settings-daemon
- gnome-shell
- gnome-shell-extension-apps-menu
- gnome-shell-extension-background-logo
- gnome-shell-extension-common
- gnome-shell-extension-desktop-icons
- gnome-shell-extension-launch-new-instance
- gnome-shell-extension-places-menu
- gnome-shell-extension-window-list
- gnome-software
- gnome-system-monitor
- gnome-terminal
- gnome-terminal-nautilus
- gnome-tour
- gnome-user-docs
- gnome-video-effects
- gobject-introspection
- gom
- google-droid-sans-fonts
- google-noto-cjk-fonts-common
- google-noto-emoji-color-fonts
- google-noto-fonts-common
- google-noto-sans-cjk-ttc-fonts
- google-noto-sans-gurmukhi-fonts
- google-noto-sans-sinhala-vf-fonts
- google-noto-serif-cjk-ttc-fonts
- gpgme
- gpm-libs
- graphene
- graphite2
- gsettings-desktop-schemas
- gsm
- gsound
- gspell
- gstreamer1
- gstreamer1-plugins-bad-free
- gstreamer1-plugins-base
- gstreamer1-plugins-good
- gstreamer1-plugins-good-gtk
- gstreamer1-plugins-ugly-free
- gtk-update-icon-cache
- gtk2
- gtk3
- gtk4
- gtkmm30
- gtksourceview4
- gutenprint
- gutenprint-cups
- gutenprint-doc
- gutenprint-libs
- gvfs
- gvfs-client
- gvfs-fuse
- gvfs-goa
- gvfs-gphoto2
- gvfs-mtp
- gvfs-smb
- gzip
- harfbuzz
- harfbuzz-icu
- hdparm
- hicolor-icon-theme
- highcontrast-icon-theme
- hplip-common
- hplip-libs
- hunspell
- hunspell-en
- hunspell-en-GB
- hunspell-en-US
- hunspell-filesystem
- hyphen
- ibus
- ibus-gtk3
- ibus-libs
- ibus-setup
- iio-sensor-proxy
- ima-evm-utils
- inih
- initscripts-rename-device
- initscripts-service
- iso-codes
- jansson
- jbig2dec-libs
- jbigkit-libs
- jomolhari-fonts
- jose
- jq
- json-c
- json-glib
- julietaula-montserrat-fonts
- kbd
- kbd-misc
- khmer-os-system-fonts
- langpacks-core-en
- langpacks-core-font-en
- langpacks-en
- lcms2
- libICE
- libSM
- libX11
- libX11-common
- libX11-xcb
- libXau
- libXcomposite
- libXcursor
- libXdamage
- libXdmcp
- libXext
- libXfixes
- libXfont2
- libXft
- libXi
- libXinerama
- libXmu
- libXpm
- libXrandr
- libXrender
- libXres
- libXt
- libXtst
- libXv
- libXxf86dga
- libXxf86vm
- libappstream-glib
- liberation-fonts-common
- liberation-mono-fonts
- liberation-sans-fonts
- liberation-serif-fonts
- libertas-sd8787-firmware
- libglvnd-gles
- libglvnd-glx
- libglvnd-opengl
- libgnomekbd
- libgomp
- libgphoto2
- lockdev
- lohit-assamese-fonts
- lohit-bengali-fonts
- lohit-devanagari-fonts
- lohit-gujarati-fonts
- lohit-kannada-fonts
- lohit-odia-fonts
- lohit-tamil-fonts
- lohit-telugu-fonts
- lshw
- lsof
- mesa-dri-drivers
- mesa-filesystem
- mesa-libEGL
- mesa-libGL
- mesa-libgbm
- mesa-libglapi
- mesa-libxatracker
- mesa-vulkan-drivers
- microcode_ctl
- mobile-broadband-provider-info
- mono-devel
- mpfr
- mpg123-libs
- mtdev
- mtr
- nautilus
- nautilus-extensions
- net-tools
- nvme-cli
- open-vm-tools-desktop
- oracle-backgrounds
- oracle-indexhtml
- oracle-logos
- pcaudiolib
- pciutils
- pinentry
- pinentry-gnome3
- pinfo
- pipewire
- pipewire-alsa
- pipewire-gstreamer
- pipewire-jack-audio-connection-kit
- pipewire-libs
- pipewire-pulseaudio
- pipewire-utils
- pixman
- plymouth
- plymouth-core-libs
- plymouth-graphics-libs
- plymouth-plugin-label
- plymouth-plugin-two-step
- plymouth-scripts
- plymouth-system-theme
- plymouth-theme-spinner
- policycoreutils
- policycoreutils-python-utils
- pt-sans-fonts
- pulseaudio-libs
- pulseaudio-libs-glib2
- pulseaudio-utils
- sane-airscan
- sane-backends
- sane-backends-drivers-cameras
- sane-backends-drivers-scanners
- sane-backends-libs
- sil-abyssinica-fonts
- sil-nuosu-fonts
- sil-padauk-fonts
- smartmontools
- smc-meera-fonts
- snappy
- sound-theme-freedesktop
- soundtouch
- securityonion-networkminer
- speech-dispatcher
- speech-dispatcher-espeak-ng
- speex
- spice-vdagent
- switcheroo-control
- symlinks
- system-config-printer-libs
- system-config-printer-udev
- taglib
- tcpdump
- tcpflow
- thai-scalable-fonts-common
- thai-scalable-waree-fonts
- totem
- totem-pl-parser
- totem-video-thumbnailer
- tpm2-tools
- tpm2-tss
- tracer-common
- tracker
- tracker-miners
- tree
- tuned
- twolame-libs
- tzdata
- udisks2
- udisks2-iscsi
- udisks2-lvm2
- unzip
- upower
- urw-base35-bookman-fonts
- urw-base35-c059-fonts
- urw-base35-d050000l-fonts
- urw-base35-fonts
- urw-base35-fonts-common
- urw-base35-gothic-fonts
- urw-base35-nimbus-mono-ps-fonts
- urw-base35-nimbus-roman-fonts
- urw-base35-nimbus-sans-fonts
- urw-base35-p052-fonts
- urw-base35-standard-symbols-ps-fonts
- urw-base35-z003-fonts
- usb_modeswitch
- usb_modeswitch-data
- usbutils
- usermode
- userspace-rcu
- vdo
- vulkan-loader
- wavpack
- webkit2gtk3
- webkit2gtk3-jsc
- webrtc-audio-processing
- whois
- wireless-regdb
- wireplumber
- wireplumber-libs
- wireshark
- woff2
- words
- wpa_supplicant
- wpebackend-fdo
- xdg-dbus-proxy
- xdg-desktop-portal
- xdg-desktop-portal-gnome
- xdg-desktop-portal-gtk
- xdg-user-dirs
- xdg-user-dirs-gtk
- xdg-utils
- xkeyboard-config
- xorg-x11-drv-evdev
- xorg-x11-drv-fbdev
- xorg-x11-drv-libinput
- xorg-x11-drv-vmware
- xorg-x11-drv-wacom
- xorg-x11-drv-wacom-serial-support
- xorg-x11-server-Xorg
- xorg-x11-server-Xwayland
- xorg-x11-server-common
- xorg-x11-server-utils
- xorg-x11-utils
- xorg-x11-xauth
- xorg-x11-xinit
- xorg-x11-xinit-session
- zip
{% else %}
desktop_packages_os_fail:
test.fail_without_changes:
- comment: 'SO desktop can only be installed on Oracle Linux'
{% endif %}

View File

@@ -1,7 +1,7 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'Rocky' %}
{% if GLOBALS.os == 'OEL' %}
remove_graphical_target:
file.symlink:
@@ -10,8 +10,8 @@ remove_graphical_target:
- force: True
{% else %}
workstation_trusted-ca_os_fail:
desktop_trusted-ca_os_fail:
test.fail_without_changes:
- comment: 'SO Analyst Workstation can only be installed on CentOS'
- comment: 'SO Desktop can only be installed on Oracle Linux'
{% endif %}

View File

@@ -0,0 +1,4 @@
#!/bin/bash
echo "Setting default session to gnome-classic"
cp /usr/share/accountsservice/user-templates/standard /etc/accountsservice/user-templates/
sed -i 's|Session=gnome|Session=gnome-classic|g' /etc/accountsservice/user-templates/standard

View File

@@ -1,7 +1,7 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'Rocky' %}
{% if GLOBALS.os == 'OEL' %}
{% set global_ca_text = [] %}
{% set global_ca_server = [] %}
@@ -29,8 +29,8 @@ update_ca_certs:
{% else %}
workstation_trusted-ca_os_fail:
desktop_trusted-ca_os_fail:
test.fail_without_changes:
- comment: 'SO Analyst Workstation can only be installed on CentOS'
- comment: 'SO Desktop can only be installed on CentOS'
{% endif %}

44
salt/desktop/xwindows.sls Normal file
View File

@@ -0,0 +1,44 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{# we only want this state to run it is CentOS #}
{% if GLOBALS.os == 'OEL' %}
include:
- desktop.packages
graphical_target:
file.symlink:
- name: /etc/systemd/system/default.target
- target: /lib/systemd/system/graphical.target
- force: True
- require:
- desktop_packages
convert_gnome_classic:
cmd.script:
- name: salt://desktop/scripts/convert-gnome-classic.sh
{% for username in salt['file.find'](path='/home/',mindepth=1,maxdepth=1,type='d') %}
{% set username = username.split('/')[2] %}
{% if username != 'zeek' %}
{% if not salt['file.file_exists']('/var/lib/AccountsService/users/' ~ username) %}
{{username}}_session:
file.managed:
- name: /var/lib/AccountsService/users/{{username}}
- source: salt://desktop/files/session.jinja
- template: jinja
- defaults:
USERNAME: {{username}}
{% endif %}
{% endif %}
{% endfor %}
{% else %}
desktop_xwindows_os_fail:
test.fail_without_changes:
- comment: 'SO Desktop can only be installed on Oracle Linux'
{% endif %}

View File

@@ -1,8 +1,6 @@
docker:
bip: '172.17.0.1'
range: '172.17.0.0/24'
sorange: '172.17.1.0/24'
sobip: '172.17.1.1'
range: '172.17.1.0/24'
gateway: '172.17.1.1'
containers:
'so-dockerregistry':
final_octet: 20
@@ -178,6 +176,11 @@ docker:
custom_bind_mounts: []
extra_hosts: []
extra_env: []
'so-elastic-agent':
final_octet: 46
custom_bind_mounts: []
extra_hosts: []
extra_env: []
'so-telegraf':
final_octet: 99
custom_bind_mounts: []
@@ -197,4 +200,4 @@ docker:
final_octet: 99
custom_bind_mounts: []
extra_hosts: []
extra_env: []
extra_env: []

View File

@@ -1,6 +1,6 @@
{% import_yaml 'docker/defaults.yaml' as DOCKERDEFAULTS %}
{% set DOCKER = salt['pillar.get']('docker', DOCKERDEFAULTS.docker, merge=True) %}
{% set RANGESPLIT = DOCKER.sorange.split('.') %}
{% set RANGESPLIT = DOCKER.range.split('.') %}
{% set FIRSTTHREE = RANGESPLIT[0] ~ '.' ~ RANGESPLIT[1] ~ '.' ~ RANGESPLIT[2] ~ '.' %}
{% for container, vals in DOCKER.containers.items() %}

View File

@@ -12,7 +12,28 @@ dockergroup:
- name: docker
- gid: 920
{% if GLOBALS.os == 'Ubuntu' %}
{% if GLOBALS.os_family == 'Debian' %}
{% if grains.oscodename == 'bookworm' %}
dockerheldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.6.21-1
- docker-ce: 5:24.0.3-1~debian.12~bookworm
- docker-ce-cli: 5:24.0.3-1~debian.12~bookworm
- docker-ce-rootless-extras: 5:24.0.3-1~debian.12~bookworm
- hold: True
- update_holds: True
{% elif grains.oscodename == 'jammy' %}
dockerheldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.6.21-1
- docker-ce: 5:24.0.2-1~ubuntu.22.04~jammy
- docker-ce-cli: 5:24.0.2-1~ubuntu.22.04~jammy
- docker-ce-rootless-extras: 5:24.0.2-1~ubuntu.22.04~jammy
- hold: True
- update_holds: True
{% else %}
dockerheldpackages:
pkg.installed:
- pkgs:
@@ -22,14 +43,15 @@ dockerheldpackages:
- docker-ce-rootless-extras: 5:20.10.5~3-0~ubuntu-focal
- hold: True
- update_holds: True
{% endif %}
{% else %}
dockerheldpackages:
pkg.installed:
- pkgs:
- containerd.io: 1.6.20-3.1.el9
- docker-ce: 23.0.5-1.el9
- docker-ce-cli: 23.0.5-1.el9
- docker-ce-rootless-extras: 23.0.5-1.el9
- containerd.io: 1.6.21-3.1.el9
- docker-ce: 24.0.4-1.el9
- docker-ce-cli: 24.0.4-1.el9
- docker-ce-rootless-extras: 24.0.4-1.el9
- hold: True
- update_holds: True
{% endif %}
@@ -80,8 +102,8 @@ dockerreserveports:
sos_docker_net:
docker_network.present:
- name: sobridge
- subnet: {{ DOCKER.sorange }}
- gateway: {{ DOCKER.sobip }}
- subnet: {{ DOCKER.range }}
- gateway: {{ DOCKER.gateway }}
- options:
com.docker.network.bridge.name: 'sobridge'
com.docker.network.driver.mtu: '1500'

View File

@@ -1,20 +1,12 @@
docker:
bip:
description: Bind IP for the default docker interface.
gateway:
description: Gateway for the default docker interface.
helpLink: docker.html
advanced: True
range:
description: Default docker IP range for containers.
helpLink: docker.html
advanced: True
sobip:
description: Bind IP for the SO docker interface.
helpLink: docker.html
advanced: True
sorange:
description: IP range for the SO docker containers.
helpLink: docker.html
advanced: True
containers:
so-curator: &dockerOptions
final_octet:
@@ -68,4 +60,4 @@ docker:
so-strelka-filestream: *dockerOptions
so-strelka-frontend: *dockerOptions
so-strelka-gatekeeper: *dockerOptions
so-strelka-manager: *dockerOptions
so-strelka-manager: *dockerOptions

View File

@@ -13,7 +13,6 @@ elastalert:
es_port: 9200
es_conn_timeout: 55
max_query_size: 5000
eql: true
use_ssl: true
verify_certs: false
writeback_index: elastalert

View File

@@ -30,8 +30,8 @@ class PlaybookESAlerter(Alerter):
if 'es_username' in self.rule and 'es_password' in self.rule:
creds = (self.rule['es_username'], self.rule['es_password'])
payload = {"rule": { "name": self.rule['play_title'],"case_template": self.rule['play_id'],"uuid": self.rule['play_id'],"category": self.rule['rule.category']},"event":{ "severity": self.rule['event.severity'],"module": self.rule['event.module'],"dataset": self.rule['event.dataset'],"severity_label": self.rule['sigma_level']},"kibana_pivot": self.rule['kibana_pivot'],"soc_pivot": self.rule['soc_pivot'],"play_url": self.rule['play_url'],"sigma_level": self.rule['sigma_level'],"event_data": match, "@timestamp": timestamp}
url = f"{self.rule['es_hosts']}/so-playbook-alerts-{today}/_doc/"
payload = {"tags":"alert","rule": { "name": self.rule['play_title'],"case_template": self.rule['play_id'],"uuid": self.rule['play_id'],"category": self.rule['rule.category']},"event":{ "severity": self.rule['event.severity'],"module": self.rule['event.module'],"dataset": self.rule['event.dataset'],"severity_label": self.rule['sigma_level']},"kibana_pivot": self.rule['kibana_pivot'],"soc_pivot": self.rule['soc_pivot'],"play_url": self.rule['play_url'],"sigma_level": self.rule['sigma_level'],"event_data": match, "@timestamp": timestamp}
url = f"https://{self.rule['es_host']}:{self.rule['es_port']}/logs-playbook.alerts-so/_doc/"
requests.post(url, data=json.dumps(payload), headers=headers, verify=False, auth=creds)
def get_info(self):

View File

@@ -8,7 +8,7 @@
{% set elastalert_pillar = salt['pillar.get']('elastalert:config', {}) %}
{% do ELASTALERTDEFAULTS.elastalert.config.update({'es_hosts': 'https://' + GLOBALS.manager + ':' + ELASTALERTDEFAULTS.elastalert.config.es_port|string}) %}
{% do ELASTALERTDEFAULTS.elastalert.config.update({'es_host': GLOBALS.manager}) %}
{% do ELASTALERTDEFAULTS.elastalert.config.update({'es_username': pillar.elasticsearch.auth.users.so_elastic_user.user}) %}
{% do ELASTALERTDEFAULTS.elastalert.config.update({'es_password': pillar.elasticsearch.auth.users.so_elastic_user.pass}) %}

View File

@@ -0,0 +1,62 @@
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
{% from 'allowed_states.map.jinja' import allowed_states %}
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% if sls.split('.')[0] in allowed_states %}
# Add EA Group
elasticagentgroup:
group.present:
- name: elastic-agent
- gid: 949
# Add EA user
elastic-agent:
user.present:
- uid: 949
- gid: 949
- home: /opt/so/conf/elastic-agent
- createhome: False
elasticagentconfdir:
file.directory:
- name: /opt/so/conf/elastic-agent
- user: 949
- group: 939
- makedirs: True
elasticagentlogdir:
file.directory:
- name: /opt/so/log/elasticagent
- user: 949
- group: 939
- makedirs: True
elasticagent_sbin_jinja:
file.recurse:
- name: /usr/sbin
- source: salt://elasticagent/tools/sbin_jinja
- user: 949
- group: 939
- file_mode: 755
- template: jinja
# Create config
create-elastic-agent-config:
file.managed:
- name: /opt/so/conf/elastic-agent/elastic-agent.yml
- source: salt://elasticagent/files/elastic-agent.yml.jinja
- user: 949
- group: 939
- template: jinja
{% else %}
{{sls}}_state_not_allowed:
test.fail_without_changes:
- name: {{sls}}_state_not_allowed
{% endif %}

View File

@@ -0,0 +1,2 @@
elasticagent:
enabled: False

View File

@@ -0,0 +1,27 @@
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
{% from 'allowed_states.map.jinja' import allowed_states %}
{% if sls.split('.')[0] in allowed_states %}
include:
- elasticagent.sostatus
so-elastic-agent:
docker_container.absent:
- force: True
so-elastic-agent_so-status.disabled:
file.comment:
- name: /opt/so/conf/so-status/so-status.conf
- regex: ^so-elastic-agent$
{% else %}
{{sls}}_state_not_allowed:
test.fail_without_changes:
- name: {{sls}}_state_not_allowed
{% endif %}

View File

@@ -0,0 +1,70 @@
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
{% from 'allowed_states.map.jinja' import allowed_states %}
{% if sls.split('.')[0] in allowed_states %}
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% from 'docker/docker.map.jinja' import DOCKER %}
include:
- elasticagent.config
- elasticagent.sostatus
so-elastic-agent:
docker_container.running:
- image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-elastic-agent:{{ GLOBALS.so_version }}
- name: so-elastic-agent
- hostname: {{ GLOBALS.hostname }}
- detach: True
- user: 949
- networks:
- sobridge:
- ipv4_address: {{ DOCKER.containers['so-elastic-agent'].ip }}
- extra_hosts:
- {{ GLOBALS.manager }}:{{ GLOBALS.manager_ip }}
- {{ GLOBALS.hostname }}:{{ GLOBALS.node_ip }}
{% if DOCKER.containers['so-elastic-agent'].extra_hosts %}
{% for XTRAHOST in DOCKER.containers['so-elastic-agent'].extra_hosts %}
- {{ XTRAHOST }}
{% endfor %}
{% endif %}
- binds:
- /opt/so/conf/elastic-agent/elastic-agent.yml:/usr/share/elastic-agent/elastic-agent.yml:ro
- /opt/so/log/elasticagent:/usr/share/elastic-agent/logs
- /etc/pki/tls/certs/intca.crt:/etc/pki/tls/certs/intca.crt:ro
- /nsm:/nsm:ro
- /opt/so/log:/opt/so/log:ro
{% if DOCKER.containers['so-elastic-agent'].custom_bind_mounts %}
{% for BIND in DOCKER.containers['so-elastic-agent'].custom_bind_mounts %}
- {{ BIND }}
{% endfor %}
{% endif %}
- environment:
- FLEET_CA=/etc/pki/tls/certs/intca.crt
- LOGS_PATH=logs
{% if DOCKER.containers['so-elastic-agent'].extra_env %}
{% for XTRAENV in DOCKER.containers['so-elastic-agent'].extra_env %}
- {{ XTRAENV }}
{% endfor %}
{% endif %}
- require:
- file: create-elastic-agent-config
- watch:
- file: create-elastic-agent-config
delete_so-elastic-agent_so-status.disabled:
file.uncomment:
- name: /opt/so/conf/so-status/so-status.conf
- regex: ^so-elastic-agent$
{% else %}
{{sls}}_state_not_allowed:
test.fail_without_changes:
- name: {{sls}}_state_not_allowed
{% endif %}

View File

@@ -0,0 +1,432 @@
{% from 'vars/globals.map.jinja' import GLOBALS %}
{%- set ES_USER = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:user', '') %}
{%- set ES_PASS = salt['pillar.get']('elasticsearch:auth:users:so_elastic_user:pass', '') %}
id: aea1ba80-1065-11ee-a369-97538913b6a9
revision: 1
outputs:
default:
type: elasticsearch
hosts:
- 'https://{{ GLOBALS.hostname }}:9200'
username: '{{ ES_USER }}'
password: '{{ ES_PASS }}'
ssl.verification_mode: full
output_permissions: {}
agent:
download:
sourceURI: 'http://{{ GLOBALS.manager }}:8443/artifacts/'
monitoring:
enabled: false
logs: false
metrics: false
features: {}
inputs:
- id: logfile-logs-fefef78c-422f-4cfa-8abf-4cd1b9428f62
name: import-evtx-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: fefef78c-422f-4cfa-8abf-4cd1b9428f62
streams:
- id: logfile-log.log-fefef78c-422f-4cfa-8abf-4cd1b9428f62
data_stream:
dataset: import
paths:
- /nsm/import/*/evtx/*.json
processors:
- dissect:
field: log.file.path
tokenizer: '/nsm/import/%{import.id}/evtx/%{import.file}'
target_prefix: ''
- decode_json_fields:
fields:
- message
target: ''
- drop_fields:
ignore_missing: true
fields:
- host
- add_fields:
fields:
dataset: system.security
type: logs
namespace: default
target: data_stream
- add_fields:
fields:
dataset: system.security
module: system
imported: true
target: event
- then:
- add_fields:
fields:
dataset: windows.sysmon_operational
target: data_stream
- add_fields:
fields:
dataset: windows.sysmon_operational
module: windows
imported: true
target: event
if:
equals:
winlog.channel: Microsoft-Windows-Sysmon/Operational
- then:
- add_fields:
fields:
dataset: system.application
target: data_stream
- add_fields:
fields:
dataset: system.application
target: event
if:
equals:
winlog.channel: Application
- then:
- add_fields:
fields:
dataset: system.system
target: data_stream
- add_fields:
fields:
dataset: system.system
target: event
if:
equals:
winlog.channel: System
- then:
- add_fields:
fields:
dataset: windows.powershell_operational
target: data_stream
- add_fields:
fields:
dataset: windows.powershell_operational
module: windows
target: event
if:
equals:
winlog.channel: Microsoft-Windows-PowerShell/Operational
tags:
- import
- id: logfile-redis-fc98c947-7d17-4861-a318-7ad075f6d1b0
name: redis-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: redis
version:
data_stream:
namespace: default
package_policy_id: fc98c947-7d17-4861-a318-7ad075f6d1b0
streams:
- id: logfile-redis.log-fc98c947-7d17-4861-a318-7ad075f6d1b0
data_stream:
dataset: redis.log
type: logs
exclude_files:
- .gz$
paths:
- /opt/so/log/redis/redis.log
tags:
- redis-log
exclude_lines:
- '^\s+[\-`(''.|_]'
- id: logfile-logs-3b56803d-5ade-4c93-b25e-9b37182f66b8
name: import-suricata-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 3b56803d-5ade-4c93-b25e-9b37182f66b8
streams:
- id: logfile-log.log-3b56803d-5ade-4c93-b25e-9b37182f66b8
data_stream:
dataset: import
pipeline: suricata.common
paths:
- /nsm/import/*/suricata/eve*.json
processors:
- add_fields:
fields:
module: suricata
imported: true
category: network
target: event
- dissect:
field: log.file.path
tokenizer: '/nsm/import/%{import.id}/suricata/%{import.file}'
target_prefix: ''
- id: logfile-logs-c327e1a3-1ebe-449c-a8eb-f6f35032e69d
name: soc-server-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: c327e1a3-1ebe-449c-a8eb-f6f35032e69d
streams:
- id: logfile-log.log-c327e1a3-1ebe-449c-a8eb-f6f35032e69d
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/soc/sensoroni-server.log
processors:
- decode_json_fields:
add_error_key: true
process_array: true
max_depth: 2
fields:
- message
target: soc
- add_fields:
fields:
module: soc
dataset_temp: server
category: host
target: event
- rename:
ignore_missing: true
fields:
- from: soc.fields.sourceIp
to: source.ip
- from: soc.fields.status
to: http.response.status_code
- from: soc.fields.method
to: http.request.method
- from: soc.fields.path
to: url.path
- from: soc.message
to: event.action
- from: soc.level
to: log.level
tags:
- so-soc
- id: logfile-logs-906e0d4c-9ec3-4c6a-bef6-e347ec9fd073
name: soc-sensoroni-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 906e0d4c-9ec3-4c6a-bef6-e347ec9fd073
streams:
- id: logfile-log.log-906e0d4c-9ec3-4c6a-bef6-e347ec9fd073
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/sensoroni/sensoroni.log
processors:
- decode_json_fields:
add_error_key: true
process_array: true
max_depth: 2
fields:
- message
target: sensoroni
- add_fields:
fields:
module: soc
dataset_temp: sensoroni
category: host
target: event
- rename:
ignore_missing: true
fields:
- from: sensoroni.fields.sourceIp
to: source.ip
- from: sensoroni.fields.status
to: http.response.status_code
- from: sensoroni.fields.method
to: http.request.method
- from: sensoroni.fields.path
to: url.path
- from: sensoroni.message
to: event.action
- from: sensoroni.level
to: log.level
- id: logfile-logs-df0d7f2c-221f-433b-b18b-d1cf83250515
name: soc-salt-relay-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: df0d7f2c-221f-433b-b18b-d1cf83250515
streams:
- id: logfile-log.log-df0d7f2c-221f-433b-b18b-d1cf83250515
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/soc/salt-relay.log
processors:
- dissect:
field: message
tokenizer: '%{soc.ts} | %{event.action}'
target_prefix: ''
- add_fields:
fields:
module: soc
dataset_temp: salt_relay
category: host
target: event
tags:
- so-soc
- id: logfile-logs-74bd2366-fe52-493c-bddc-843a017fc4d0
name: soc-auth-sync-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 74bd2366-fe52-493c-bddc-843a017fc4d0
streams:
- id: logfile-log.log-74bd2366-fe52-493c-bddc-843a017fc4d0
data_stream:
dataset: soc
pipeline: common
paths:
- /opt/so/log/soc/sync.log
processors:
- dissect:
field: message
tokenizer: '%{event.action}'
target_prefix: ''
- add_fields:
fields:
module: soc
dataset_temp: auth_sync
category: host
target: event
tags:
- so-soc
- id: logfile-logs-d151d9bf-ff2a-4529-9520-c99244bc0253
name: suricata-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: d151d9bf-ff2a-4529-9520-c99244bc0253
streams:
- id: logfile-log.log-d151d9bf-ff2a-4529-9520-c99244bc0253
data_stream:
dataset: suricata
pipeline: suricata.common
paths:
- /nsm/suricata/eve*.json
processors:
- add_fields:
fields:
module: suricata
category: network
target: event
- id: logfile-logs-31f94d05-ae75-40ee-b9c5-0e0356eff327
name: strelka-logs
revision: 2
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 31f94d05-ae75-40ee-b9c5-0e0356eff327
streams:
- id: logfile-log.log-31f94d05-ae75-40ee-b9c5-0e0356eff327
data_stream:
dataset: strelka
pipeline: strelka.file
paths:
- /nsm/strelka/log/strelka.log
processors:
- add_fields:
fields:
module: strelka
category: file
target: event
- id: logfile-logs-6197fe84-9b58-4d9b-8464-3d517f28808d
name: zeek-logs
revision: 1
type: logfile
use_output: default
meta:
package:
name: log
version:
data_stream:
namespace: so
package_policy_id: 6197fe84-9b58-4d9b-8464-3d517f28808d
streams:
- id: logfile-log.log-6197fe84-9b58-4d9b-8464-3d517f28808d
data_stream:
dataset: zeek
paths:
- /nsm/zeek/logs/current/*.log
processors:
- dissect:
tokenizer: '/nsm/zeek/logs/current/%{pipeline}.log'
field: log.file.path
trim_chars: .log
target_prefix: ''
- script:
lang: javascript
source: |
function process(event) {
var pl = event.Get("pipeline");
event.Put("@metadata.pipeline", "zeek." + pl);
}
- add_fields:
target: event
fields:
category: network
module: zeek
- add_tags:
tags: ics
when:
regexp:
pipeline: >-
^bacnet*|^bsap*|^cip*|^cotp*|^dnp3*|^ecat*|^enip*|^modbus*|^opcua*|^profinet*|^s7comm*
exclude_files:
- >-
broker|capture_loss|cluster|ecat_arp_info|known_hosts|known_services|loaded_scripts|ntp|ocsp|packet_filter|reporter|stats|stderr|stdout.log$

View File

@@ -0,0 +1,13 @@
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
{% from 'elasticagent/map.jinja' import ELASTICAGENTMERGED %}
include:
{% if ELASTICAGENTMERGED.enabled %}
- elasticagent.enabled
{% else %}
- elasticagent.disabled
{% endif %}

View File

@@ -0,0 +1,7 @@
{# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
https://securityonion.net/license; you may not use this file except in compliance with the
Elastic License 2.0. #}
{% import_yaml 'elasticagent/defaults.yaml' as ELASTICAGENTDEFAULTS %}
{% set ELASTICAGENTMERGED = salt['pillar.get']('elasticagent', ELASTICAGENTDEFAULTS.elasticagent, merge=True) %}

View File

@@ -0,0 +1,21 @@
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
{% from 'allowed_states.map.jinja' import allowed_states %}
{% if sls.split('.')[0] in allowed_states %}
append_so-elastic-agent_so-status.conf:
file.append:
- name: /opt/so/conf/so-status/so-status.conf
- text: so-elastic-agent
- unless: grep -q so-elastic-agent$ /opt/so/conf/so-status/so-status.conf
{% else %}
{{sls}}_state_not_allowed:
test.fail_without_changes:
- name: {{sls}}_state_not_allowed
{% endif %}

View File

@@ -0,0 +1,16 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent inspect
{% else %}
/bin/elastic-agent inspect
{% endif %}

View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
{% if grains.role == 'so-heavynode' %}
/usr/sbin/so-stop elastic-agent $1
/usr/sbin/so-start elasticagent $1
{% else %}
service elastic-agent restart
{% endif %}

View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
{% if grains.role == 'so-heavynode' %}
/usr/sbin/so-start elasticagent $1
{% else %}
service elastic-agent start
{% endif %}

View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent status
{% else %}
/bin/elastic-agent status
{% endif %}

View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
{% if grains.role == 'so-heavynode' %}
/usr/sbin/so-stop elastic-agent $1
{% else %}
service elastic-agent stop
{% endif %}

View File

@@ -0,0 +1,17 @@
#!/bin/bash
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
# or more contributor license agreements. Licensed under the Elastic License 2.0 as shown at
# https://securityonion.net/license; you may not use this file except in compliance with the
# Elastic License 2.0.
. /usr/sbin/so-common
{% if grains.role == 'so-heavynode' %}
docker exec so-elastic-agent /usr/share/elastic-agent/elastic-agent version
{% else %}
/bin/elastic-agent version
{% endif %}

View File

@@ -8,13 +8,13 @@
{% if sls.split('.')[0] in allowed_states %}
# Add EA Group
elasticsagentgroup:
elasticfleetgroup:
group.present:
- name: elastic-agent
- name: elastic-fleet
- gid: 947
# Add EA user
elastic-agent:
elastic-fleet:
user.present:
- uid: 947
- gid: 947
@@ -45,6 +45,13 @@ eaconfdir:
- group: 939
- makedirs: True
ealogdir:
file.directory:
- name: /opt/so/log/elasticfleet
- user: 947
- group: 939
- makedirs: True
eastatedir:
file.directory:
- name: /opt/so/conf/elastic-fleet/state

View File

@@ -2,22 +2,35 @@ elasticfleet:
enabled: False
config:
server:
custom_fqdn: []
enable_auto_configuration: True
endpoints_enrollment: ''
es_token: ''
grid_enrollment: ''
url: ''
logging:
zeek:
excluded:
- broker
- capture_loss
- cluster
- ecat_arp_info
- known_hosts
- known_services
- loaded_scripts
- ntp
- ocsp
- packet_filter
- reporter
- stats
- stderr
- stdout
packages:
- aws
- azure
- cloudflare
- endpoint
- fim
- github
- google_workspace
- log
- 1password

View File

@@ -7,12 +7,36 @@
{% if sls.split('.')[0] in allowed_states %}
{% from 'vars/globals.map.jinja' import GLOBALS %}
{% from 'docker/docker.map.jinja' import DOCKER %}
{% from 'elasticfleet/map.jinja' import ELASTICFLEETMERGED %}
{# This value is generated during node install and stored in minion pillar #}
{% set SERVICETOKEN = salt['pillar.get']('elasticfleet:config:server:es_token','') %}
include:
- elasticfleet.config
- elasticfleet.sostatus
- ssl
# If enabled, automatically update Fleet Logstash Outputs
{% if ELASTICFLEETMERGED.config.server.enable_auto_configuration and grains.role not in ['so-import', 'so-eval', 'so-fleet'] %}
so-elastic-fleet-auto-configure-logstash-outputs:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-outputs-update
{% endif %}
# If enabled, automatically update Fleet Server URLs & ES Connection
{% if ELASTICFLEETMERGED.config.server.enable_auto_configuration and grains.role not in ['so-fleet'] %}
so-elastic-fleet-auto-configure-server-urls:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-urls-update
{% endif %}
# Automatically update Fleet Server Elasticsearch URLs
{% if grains.role not in ['so-fleet'] %}
so-elastic-fleet-auto-configure-elasticsearch-urls:
cmd.run:
- name: /usr/sbin/so-elastic-fleet-es-url-update
{% endif %}
{% if SERVICETOKEN != '' %}
so-elastic-fleet:
@@ -38,8 +62,15 @@ so-elastic-fleet:
- {{ BINDING }}
{% endfor %}
- binds:
- /etc/pki:/etc/pki:ro
#- /opt/so/conf/elastic-fleet/state:/usr/share/elastic-agent/state:rw
- /etc/pki/elasticfleet-server.crt:/etc/pki/elasticfleet-server.crt:ro
- /etc/pki/elasticfleet-server.key:/etc/pki/elasticfleet-server.key:ro
- /etc/pki/tls/certs/intca.crt:/etc/pki/tls/certs/intca.crt:ro
{% if GLOBALS.os_family == 'Debian' %}
- /etc/ssl/elasticfleet-server.crt:/etc/ssl/elasticfleet-server.crt:ro
- /etc/ssl/elasticfleet-server.key:/etc/ssl/elasticfleet-server.key:ro
- /etc/ssl/tls/certs/intca.crt:/etc/ssl/tls/certs/intca.crt:ro
{% endif %}
- /opt/so/log/elasticfleet:/usr/share/elastic-agent/logs
{% if DOCKER.containers['so-elastic-fleet'].custom_bind_mounts %}
{% for BIND in DOCKER.containers['so-elastic-fleet'].custom_bind_mounts %}
- {{ BIND }}
@@ -47,19 +78,28 @@ so-elastic-fleet:
{% endif %}
- environment:
- FLEET_SERVER_ENABLE=true
- FLEET_URL=https://{{ GLOBALS.node_ip }}:8220
- FLEET_URL=https://{{ GLOBALS.hostname }}:8220
- FLEET_SERVER_ELASTICSEARCH_HOST=https://{{ GLOBALS.manager }}:9200
- FLEET_SERVER_SERVICE_TOKEN={{ SERVICETOKEN }}
- FLEET_SERVER_POLICY_ID=FleetServer_{{ GLOBALS.hostname }}
- FLEET_SERVER_ELASTICSEARCH_CA=/etc/pki/tls/certs/intca.crt
- FLEET_SERVER_CERT=/etc/pki/elasticfleet.crt
- FLEET_SERVER_CERT_KEY=/etc/pki/elasticfleet.key
- FLEET_SERVER_CERT=/etc/pki/elasticfleet-server.crt
- FLEET_SERVER_CERT_KEY=/etc/pki/elasticfleet-server.key
{% if GLOBALS.os_family == 'Debian' %}
- FLEET_CA=/etc/ssl/certs/intca.crt
- FLEET_SERVER_ELASTICSEARCH_CA=/etc/ssl/certs/intca.crt
{% else %}
- FLEET_CA=/etc/pki/tls/certs/intca.crt
- FLEET_SERVER_ELASTICSEARCH_CA=/etc/pki/tls/certs/intca.crt
{% endif %}
- LOGS_PATH=logs
{% if DOCKER.containers['so-elastic-fleet'].extra_env %}
{% for XTRAENV in DOCKER.containers['so-elastic-fleet'].extra_env %}
- {{ XTRAENV }}
{% endfor %}
{% endif %}
- watch:
- x509: etc_elasticfleet_key
- x509: etc_elasticfleet_crt
{% endif %}
{% if GLOBALS.role != "so-fleet" %}

View File

@@ -8,12 +8,12 @@
"name": "import-zeek-logs",
"namespace": "so",
"description": "Zeek Import logs",
"policy_id": "so-grid-nodes",
"policy_id": "so-grid-nodes_general",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -9,12 +9,12 @@
"name": "zeek-logs",
"namespace": "so",
"description": "Zeek logs",
"policy_id": "so-grid-nodes",
"policy_id": "so-grid-nodes_general",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -5,17 +5,16 @@
"package": {
"name": "endpoint",
"title": "Elastic Defend",
"version": ""
"version": "8.8.0"
},
"enabled": true,
"policy_id": "endpoints-initial",
"vars": {},
"inputs": [{
"type": "endpoint",
"type": "ENDPOINT_INTEGRATION_CONFIG",
"enabled": true,
"streams": [],
"config": {
"integration_config": {
"_config": {
"value": {
"type": "endpoint",
"endpointConfig": {
@@ -25,4 +24,4 @@
}
}
}]
}
}

View File

@@ -13,9 +13,14 @@
"system.auth": {
"enabled": true,
"vars": {
"ignore_older": "72h",
"paths": [
"/var/log/auth.log*",
"/var/log/secure*"
],
"preserve_original_event": false,
"tags": [
"system-auth"
]
}
},
@@ -24,34 +29,49 @@
"vars": {
"paths": [
"/var/log/messages*",
"/var/log/syslog*"
]
"/var/log/syslog*",
"/var/log/system*"
],
"tags": [],
"ignore_older": "72h"
}
}
}
},
"system-winlog": {
"enabled": true,
"vars": {
"preserve_original_event": false
},
"streams": {
"system.application": {
"enabled": true,
"vars": {
"preserve_original_event": false,
"ignore_older": "72h",
"language": 0,
"tags": []
}
},
"system.security": {
"enabled": true,
"vars": {
"preserve_original_event": false,
"ignore_older": "72h",
"language": 0,
"tags": []
}
},
"system.system": {
"enabled": true,
"vars": {
"preserve_original_event": false,
"ignore_older": "72h",
"language": 0,
"tags": []
}
}
}
},
"system-system/metrics": {
"enabled": false
}
},
"system-system/metrics": {
"enabled": false
}
}
}

View File

@@ -1,29 +0,0 @@
{
"package": {
"name": "log",
"version": ""
},
"name": "import-evtx-logs",
"namespace": "so",
"description": "Import Windows EVTX logs",
"policy_id": "so-grid-nodes",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"enabled": true,
"vars": {
"paths": [
"/nsm/import/*/evtx/data.json"
],
"data_stream.dataset": "import",
"tags": [],
"processors": "- dissect:\n tokenizer: \"/nsm/import/%{import.id}/evtx/%{import.file}\"\n field: \"log.file.path\"\n target_prefix: \"\"\n- decode_json_fields:\n fields: [\"message\"]\n target: \"\"\n- add_fields:\n target: event\n fields:\n module: windows_eventlog\n imported: true",
"custom": "pipeline: import.wel"
}
}
}
}
}
}

View File

@@ -6,7 +6,7 @@
"name": "elasticsearch-logs",
"namespace": "default",
"description": "Elasticsearch Logs",
"policy_id": "so-grid-nodes",
"policy_id": "so-grid-nodes_general",
"inputs": {
"elasticsearch-logfile": {
"enabled": true,

View File

@@ -6,12 +6,12 @@
"name": "idh-logs",
"namespace": "so",
"description": "IDH integration",
"policy_id": "so-grid-nodes",
"policy_id": "so-grid-nodes_general",
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.log": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [

View File

@@ -0,0 +1,32 @@
{
"package": {
"name": "log",
"version": ""
},
"name": "import-evtx-logs",
"namespace": "so",
"description": "Import Windows EVTX logs",
"policy_id": "so-grid-nodes_general",
"vars": {},
"inputs": {
"logs-logfile": {
"enabled": true,
"streams": {
"log.logs": {
"enabled": true,
"vars": {
"paths": [
"/nsm/import/*/evtx/*.json"
],
"data_stream.dataset": "import",
"custom": "",
"processors": "- dissect:\n tokenizer: \"/nsm/import/%{import.id}/evtx/%{import.file}\"\n field: \"log.file.path\"\n target_prefix: \"\"\n- decode_json_fields:\n fields: [\"message\"]\n target: \"\"\n- drop_fields:\n fields: [\"host\"]\n ignore_missing: true\n- add_fields:\n target: data_stream\n fields:\n namespace: default\n type: logs\n dataset: system.security\n- add_fields:\n target: event\n fields:\n dataset: system.security\n module: system\n imported: true \n- if:\n equals:\n winlog.channel: 'Microsoft-Windows-Sysmon/Operational'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: windows.sysmon_operational\n - add_fields:\n target: event\n fields:\n dataset: windows.sysmon_operational\n module: windows\n imported: true\n- if:\n equals:\n winlog.channel: 'Application'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: system.application\n - add_fields:\n target: event\n fields:\n dataset: system.application\n- if:\n equals:\n winlog.channel: 'System'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: system.system\n - add_fields:\n target: event\n fields:\n dataset: system.system\n- if:\n equals:\n winlog.channel: 'Microsoft-Windows-PowerShell/Operational'\n then: \n - add_fields:\n target: data_stream\n fields:\n dataset: windows.powershell_operational\n - add_fields:\n target: event\n fields:\n dataset: windows.powershell_operational\n module: windows",
"tags": [
"import"
]
}
}
}
}
}
}

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