mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-19 15:33:06 +01:00
Compare commits
1019 Commits
2.4.5
...
2.4.40-202
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa294a7f41 | ||
|
|
049d0b53c2 | ||
|
|
dff6d299a1 | ||
|
|
38965ccab5 | ||
|
|
eeb249e00d | ||
|
|
dff06cb085 | ||
|
|
8c1d1c95db | ||
|
|
790f5171a6 | ||
|
|
252c51dafb | ||
|
|
a07e6e1058 | ||
|
|
3f9678056d | ||
|
|
c895b6a274 | ||
|
|
418f41c7e4 | ||
|
|
05679e79fc | ||
|
|
af3aa53612 | ||
|
|
5eae349938 | ||
|
|
2f8ce33cf7 | ||
|
|
61b2a76a09 | ||
|
|
b89b7cab59 | ||
|
|
71c5e34e03 | ||
|
|
880300d644 | ||
|
|
f5b59cacec | ||
|
|
ea5097f1b4 | ||
|
|
cc66daba1a | ||
|
|
ea54aafa86 | ||
|
|
03f140161c | ||
|
|
7bdc306ad4 | ||
|
|
5e1e685ce0 | ||
|
|
c89d674a92 | ||
|
|
9b1ddcacb4 | ||
|
|
5703023008 | ||
|
|
59fe9a0587 | ||
|
|
b8e555e913 | ||
|
|
16b15c786b | ||
|
|
3e13ea5c7a | ||
|
|
9159eab9fd | ||
|
|
0519812866 | ||
|
|
fc2f02c0a0 | ||
|
|
1e3a00a833 | ||
|
|
f21f0a9a96 | ||
|
|
6ff764e6a1 | ||
|
|
f5568995ac | ||
|
|
47eea80d03 | ||
|
|
0b919ff0fa | ||
|
|
c9f2038990 | ||
|
|
bf05efa59f | ||
|
|
b058bc8c05 | ||
|
|
7ddda03ee9 | ||
|
|
5513e74807 | ||
|
|
31ee365a91 | ||
|
|
f46ac6b9d7 | ||
|
|
31f314504e | ||
|
|
0d76ddd49f | ||
|
|
b0447a9af5 | ||
|
|
ef6eafeff1 | ||
|
|
ccfdafea0a | ||
|
|
93cdac592e | ||
|
|
2eaf0e812a | ||
|
|
cab7c9d573 | ||
|
|
8c792a8cfa | ||
|
|
c091a0845c | ||
|
|
cf23723c54 | ||
|
|
30bc02178a | ||
|
|
84e8013e46 | ||
|
|
80ec4cecec | ||
|
|
82482d309a | ||
|
|
d437a2856a | ||
|
|
f0b44ad56c | ||
|
|
cffc3353bc | ||
|
|
e075d07f5c | ||
|
|
fe8f57c43b | ||
|
|
3456de3a30 | ||
|
|
14767dd8b5 | ||
|
|
8189f46a03 | ||
|
|
cfb5c1c9d2 | ||
|
|
244968ce23 | ||
|
|
65f89b22b2 | ||
|
|
7684aadb87 | ||
|
|
188744357f | ||
|
|
4baf4657f6 | ||
|
|
1006710226 | ||
|
|
cd661027a6 | ||
|
|
28fdf15304 | ||
|
|
90edf7e8f1 | ||
|
|
552e4c0d1c | ||
|
|
ba2c51bee2 | ||
|
|
7b9ac7ae6d | ||
|
|
62708ac97d | ||
|
|
f8fdc6d14e | ||
|
|
72fbf386eb | ||
|
|
15773bae34 | ||
|
|
ce8a774129 | ||
|
|
c06de33318 | ||
|
|
41dc9df7cd | ||
|
|
cb956fb399 | ||
|
|
5c34cdd943 | ||
|
|
5e8613f38b | ||
|
|
69472e70b4 | ||
|
|
090f3a3e02 | ||
|
|
85242651b2 | ||
|
|
80cd9920b2 | ||
|
|
ca21e32d83 | ||
|
|
6ab12ceec4 | ||
|
|
bfcf7d4668 | ||
|
|
4a23832267 | ||
|
|
b3be999aea | ||
|
|
ab5de4c104 | ||
|
|
614589153b | ||
|
|
5e715036fb | ||
|
|
748a67314f | ||
|
|
a561f8c783 | ||
|
|
fb5ee6b9e9 | ||
|
|
7d6f8d922b | ||
|
|
f86adf8053 | ||
|
|
8f6b1a07b7 | ||
|
|
6c92672566 | ||
|
|
aba5893965 | ||
|
|
866c9988a0 | ||
|
|
f032ff40a2 | ||
|
|
03421c1bcd | ||
|
|
4d8661d2e0 | ||
|
|
6a1073b616 | ||
|
|
6a4e05d60f | ||
|
|
981f3642a0 | ||
|
|
33a9ac5701 | ||
|
|
020472085b | ||
|
|
8aaeee20b9 | ||
|
|
e32de6893b | ||
|
|
f05eb742dd | ||
|
|
cd3a661dd6 | ||
|
|
55c957170d | ||
|
|
d41daa37f1 | ||
|
|
b59896bb47 | ||
|
|
c59a6516fc | ||
|
|
88684a6c19 | ||
|
|
d0d671a828 | ||
|
|
8779fb8cbc | ||
|
|
042e5ae9f0 | ||
|
|
45f50cc121 | ||
|
|
22fcccef1c | ||
|
|
977081b6e7 | ||
|
|
3dbf97944d | ||
|
|
03b2a7d2de | ||
|
|
395da2cca0 | ||
|
|
997d323763 | ||
|
|
d5edf57ccb | ||
|
|
94b9089b79 | ||
|
|
81e4fe78e7 | ||
|
|
5d3f2298b6 | ||
|
|
b17e4006a1 | ||
|
|
8cf5d9c1a6 | ||
|
|
cdac2bfa16 | ||
|
|
b0a69d30c9 | ||
|
|
196d59869a | ||
|
|
c0ab8f24e9 | ||
|
|
bd26a52227 | ||
|
|
03279732b7 | ||
|
|
2c4d0a0d71 | ||
|
|
d49d13289e | ||
|
|
aaf60bea87 | ||
|
|
e95932f28c | ||
|
|
bbe091fa14 | ||
|
|
54c3167b10 | ||
|
|
b1721b6467 | ||
|
|
214404265a | ||
|
|
25c39540c8 | ||
|
|
f7373ed79c | ||
|
|
d203aec44a | ||
|
|
be8ed1e1d8 | ||
|
|
a732985351 | ||
|
|
98947f3906 | ||
|
|
b80d7fd610 | ||
|
|
849e9e14ad | ||
|
|
0ebc8c7beb | ||
|
|
e0801282eb | ||
|
|
bdf4b2c68d | ||
|
|
e49fc0dd27 | ||
|
|
f52da4a933 | ||
|
|
f38758a9c7 | ||
|
|
1ac3a2d2f1 | ||
|
|
965ced94c4 | ||
|
|
bc3634b13d | ||
|
|
5c50060857 | ||
|
|
00fa75869b | ||
|
|
ab0e6f9bec | ||
|
|
213cdb479d | ||
|
|
8da96e93c8 | ||
|
|
0160cae7d7 | ||
|
|
d7bf52de76 | ||
|
|
fea5a3026d | ||
|
|
7f21bee0d4 | ||
|
|
ade3a46a9a | ||
|
|
e6a2e49d37 | ||
|
|
1438913f6a | ||
|
|
51fa4922b9 | ||
|
|
b878728882 | ||
|
|
386e9214fc | ||
|
|
4becf3e20f | ||
|
|
0334ef9677 | ||
|
|
0537e1b3f6 | ||
|
|
6fff05b444 | ||
|
|
01a37df7fc | ||
|
|
b3e78c9cc3 | ||
|
|
d871b61150 | ||
|
|
b2536a64d8 | ||
|
|
3d1eecfad6 | ||
|
|
8eaa07a186 | ||
|
|
9446b750c0 | ||
|
|
fdd4173632 | ||
|
|
b7227e15eb | ||
|
|
90d9e5b927 | ||
|
|
802bf9ce27 | ||
|
|
0b6ba6d2f2 | ||
|
|
55a8b1064d | ||
|
|
11a3e12e94 | ||
|
|
38868af08a | ||
|
|
ace5dff351 | ||
|
|
265cde5296 | ||
|
|
55052c4811 | ||
|
|
e36044e164 | ||
|
|
6fa4a69753 | ||
|
|
4fc3c852a1 | ||
|
|
32b03f514e | ||
|
|
a605c5c62c | ||
|
|
2368e8b793 | ||
|
|
317b6cb614 | ||
|
|
a6d20bdc71 | ||
|
|
93fb10de86 | ||
|
|
1a4d009b7f | ||
|
|
9d63a47792 | ||
|
|
7001e90667 | ||
|
|
a0573212c0 | ||
|
|
5f79644aef | ||
|
|
0603e96c08 | ||
|
|
ece3c367b5 | ||
|
|
8953ffcc49 | ||
|
|
9ee3423b32 | ||
|
|
7d759a99fe | ||
|
|
d3802c1668 | ||
|
|
874618d512 | ||
|
|
fa9032b323 | ||
|
|
17942676c6 | ||
|
|
458c6de39d | ||
|
|
a39f696a34 | ||
|
|
9aa193af3b | ||
|
|
3f1f256748 | ||
|
|
c78ea0183f | ||
|
|
e9417dd437 | ||
|
|
14b5aa476e | ||
|
|
861e850f9a | ||
|
|
6356a0bf95 | ||
|
|
f31e288005 | ||
|
|
b2ea7138f3 | ||
|
|
f29a91ea4c | ||
|
|
4b0033c60a | ||
|
|
c20004c210 | ||
|
|
45dc1ce036 | ||
|
|
0cc10fbf80 | ||
|
|
e71ee97717 | ||
|
|
77d0a7277a | ||
|
|
2ae87de409 | ||
|
|
a69a65c44f | ||
|
|
d89beefc8c | ||
|
|
9c371fc374 | ||
|
|
4fb9cce41c | ||
|
|
e226efa799 | ||
|
|
82a41894f3 | ||
|
|
7aadc3851f | ||
|
|
ca1498fca1 | ||
|
|
15fc4f2655 | ||
|
|
089a111ae8 | ||
|
|
33bd04b797 | ||
|
|
5920a14478 | ||
|
|
67f116daed | ||
|
|
c09e8f0d71 | ||
|
|
de99cda766 | ||
|
|
3ede19a106 | ||
|
|
b6e2df45c7 | ||
|
|
af98c8e2da | ||
|
|
6b8e48c973 | ||
|
|
109ee55d8c | ||
|
|
ff8cd194f1 | ||
|
|
d5dd0d88ed | ||
|
|
46c5bf40e0 | ||
|
|
3ed7b36865 | ||
|
|
85649da2cb | ||
|
|
f7fa4d05fb | ||
|
|
96b456cd76 | ||
|
|
4666b993e5 | ||
|
|
4fa6b265a0 | ||
|
|
567e19e5d7 | ||
|
|
f036623d55 | ||
|
|
1204ce96f3 | ||
|
|
bc178a9784 | ||
|
|
c338daabce | ||
|
|
fe7af49a82 | ||
|
|
aeb09b16db | ||
|
|
583ec5176e | ||
|
|
4bb1dabb89 | ||
|
|
89c3d45abe | ||
|
|
551f7831de | ||
|
|
193c9d202e | ||
|
|
b5912fc1e4 | ||
|
|
33f538b73e | ||
|
|
d3ea5def69 | ||
|
|
d1b6ef411b | ||
|
|
8ca825b9a1 | ||
|
|
209e237d0d | ||
|
|
325dceb01b | ||
|
|
02baa18502 | ||
|
|
268dc03131 | ||
|
|
e39edab00d | ||
|
|
acb6e84248 | ||
|
|
9231c8d2f2 | ||
|
|
bc044fa2d5 | ||
|
|
84b815c2ef | ||
|
|
1ab44a40d3 | ||
|
|
9317e51f20 | ||
|
|
33a8ef1568 | ||
|
|
01e846ba22 | ||
|
|
9df3a8fc18 | ||
|
|
36098e6314 | ||
|
|
32079a7bce | ||
|
|
3701c1d847 | ||
|
|
f46aef1611 | ||
|
|
d256be3eb3 | ||
|
|
653fda124f | ||
|
|
b46e86c39b | ||
|
|
de9f9549af | ||
|
|
749e22e4b9 | ||
|
|
69ec1987af | ||
|
|
570624da7e | ||
|
|
7772657b4b | ||
|
|
6d97667634 | ||
|
|
1676c84f9c | ||
|
|
e665899e4d | ||
|
|
1dcca0bfd3 | ||
|
|
0b4a246ddb | ||
|
|
f97dc70fcb | ||
|
|
cce80eb2fb | ||
|
|
2f95512199 | ||
|
|
b008661b6b | ||
|
|
b99c7ce76e | ||
|
|
c30a0d5b5b | ||
|
|
74eda68d84 | ||
|
|
ef1dfc3152 | ||
|
|
f6cd35e143 | ||
|
|
d010af9a24 | ||
|
|
7a0b21647f | ||
|
|
610374816d | ||
|
|
3ff74948d8 | ||
|
|
0086c24729 | ||
|
|
9d2b84818f | ||
|
|
b74aa32deb | ||
|
|
3d8663db66 | ||
|
|
65978a340f | ||
|
|
a8b0e41dbe | ||
|
|
1bc4b44be7 | ||
|
|
1a3d4a2051 | ||
|
|
9d639df882 | ||
|
|
8c7767b381 | ||
|
|
96582add5e | ||
|
|
5bfef3f527 | ||
|
|
3875970dc5 | ||
|
|
7aa4f28524 | ||
|
|
96fdfb3829 | ||
|
|
ac593e4632 | ||
|
|
51e7861757 | ||
|
|
6332df04d1 | ||
|
|
32701b5941 | ||
|
|
0dec6693dc | ||
|
|
41a6ab5b4f | ||
|
|
e18e0fd69a | ||
|
|
2c0e287f8c | ||
|
|
9a76cfe3d3 | ||
|
|
6c4dc7cc09 | ||
|
|
5388b92865 | ||
|
|
f932444101 | ||
|
|
1d2518310d | ||
|
|
e10f043b1c | ||
|
|
65735fc4d3 | ||
|
|
b7f516fca4 | ||
|
|
c8d8997119 | ||
|
|
c230cf4eb7 | ||
|
|
344dd7d61f | ||
|
|
cd8949d26b | ||
|
|
f9e2940181 | ||
|
|
f33079f1e3 | ||
|
|
e6a0838e4c | ||
|
|
cc93976db9 | ||
|
|
b3b67acf07 | ||
|
|
64926941dc | ||
|
|
c32935e2e6 | ||
|
|
4f98beaf9e | ||
|
|
655c88cd09 | ||
|
|
f62e02a477 | ||
|
|
2b3e405b2d | ||
|
|
59328d3909 | ||
|
|
4d7b1095b7 | ||
|
|
338146fedd | ||
|
|
bca1194a46 | ||
|
|
a0926b7b87 | ||
|
|
44e45843bf | ||
|
|
9701d0ac20 | ||
|
|
23ee9c2bb0 | ||
|
|
51247be6b9 | ||
|
|
4dc64400c5 | ||
|
|
ae45d40eca | ||
|
|
ebf982bf86 | ||
|
|
d07cfdd3fe | ||
|
|
497294c363 | ||
|
|
cc3a69683c | ||
|
|
0c98bd96c7 | ||
|
|
a6d456e108 | ||
|
|
c420e198fb | ||
|
|
5a85003952 | ||
|
|
c354924b68 | ||
|
|
db0d687b87 | ||
|
|
ed6473a34b | ||
|
|
1b99d5081a | ||
|
|
07e51121ba | ||
|
|
9a1e95cd09 | ||
|
|
76dd6f07ab | ||
|
|
c955f9210a | ||
|
|
d35483aa02 | ||
|
|
a9284b35a2 | ||
|
|
58cab35a4c | ||
|
|
6d7243038c | ||
|
|
3a83c52660 | ||
|
|
d42b5ef901 | ||
|
|
2b511cef77 | ||
|
|
4bbcc5002a | ||
|
|
f1dbea6e2d | ||
|
|
25f1a0251f | ||
|
|
87494f64c7 | ||
|
|
ce1858fe05 | ||
|
|
9fc3a73035 | ||
|
|
0d52efafa8 | ||
|
|
3b63ef149a | ||
|
|
cc3ee43192 | ||
|
|
b37e38e3c3 | ||
|
|
25982b79ab | ||
|
|
cb9d72ebd7 | ||
|
|
7e8f3b753f | ||
|
|
47373adad2 | ||
|
|
6891a95254 | ||
|
|
2e0100fd35 | ||
|
|
a969c319f5 | ||
|
|
4942f83d4f | ||
|
|
6f4566c23e | ||
|
|
891ea997e7 | ||
|
|
01810a782c | ||
|
|
6d6292714f | ||
|
|
88fb7d06e6 | ||
|
|
39abe19cfd | ||
|
|
807b40019f | ||
|
|
5f168a33ed | ||
|
|
d1170cb69f | ||
|
|
19fdc9319b | ||
|
|
dc53b49f15 | ||
|
|
af4b34801f | ||
|
|
1ae8896a05 | ||
|
|
6fb0c5dbfe | ||
|
|
58bf6d3eff | ||
|
|
a887551dad | ||
|
|
b20177b0ef | ||
|
|
1e710a22ce | ||
|
|
d562445686 | ||
|
|
c41e19ad0b | ||
|
|
a3e6b1ee1d | ||
|
|
a28cc274ba | ||
|
|
a66006c8a6 | ||
|
|
3ad480453a | ||
|
|
205748e992 | ||
|
|
dfe707ab64 | ||
|
|
308e5ea505 | ||
|
|
3e343bff84 | ||
|
|
1d6e32fbab | ||
|
|
310a6b4f27 | ||
|
|
180ba3a958 | ||
|
|
6d3465626e | ||
|
|
fab91edd2d | ||
|
|
752390be2e | ||
|
|
02639d3bc5 | ||
|
|
4a3fc06a4d | ||
|
|
0c2b3f3c62 | ||
|
|
660020cc76 | ||
|
|
b59a95b72f | ||
|
|
030a667d26 | ||
|
|
a40760e601 | ||
|
|
dc3ca99c12 | ||
|
|
7e3aa11a73 | ||
|
|
c409339446 | ||
|
|
c588bf4395 | ||
|
|
6d77b1e4c3 | ||
|
|
99662c999f | ||
|
|
ef2b89f5bf | ||
|
|
2878f82754 | ||
|
|
2e16250c93 | ||
|
|
f03bbdbc09 | ||
|
|
dbfccdfff8 | ||
|
|
dfcbbfd157 | ||
|
|
37e803917e | ||
|
|
66ee074795 | ||
|
|
90bde94371 | ||
|
|
84f8e1cc92 | ||
|
|
e3830fa286 | ||
|
|
13a5c8baa7 | ||
|
|
c5610edd83 | ||
|
|
5119e6c45a | ||
|
|
02e22c87e8 | ||
|
|
0772926992 | ||
|
|
b2bb92d413 | ||
|
|
19bebe44aa | ||
|
|
f30a652e19 | ||
|
|
ff18b1f074 | ||
|
|
9eb682bc40 | ||
|
|
c135f886a9 | ||
|
|
28b7a24cc1 | ||
|
|
a52ee063e5 | ||
|
|
767a54c91b | ||
|
|
ac28e1b967 | ||
|
|
5e10a0d9e2 | ||
|
|
dd28dc6ddd | ||
|
|
e58c1e189c | ||
|
|
1c1b23c328 | ||
|
|
2206cdb0fa | ||
|
|
1999db0bb3 | ||
|
|
c3cde61202 | ||
|
|
8e68f96316 | ||
|
|
138aa9c554 | ||
|
|
f0e380870d | ||
|
|
34717fb65e | ||
|
|
d81dfb99d0 | ||
|
|
fb9a0ab8b6 | ||
|
|
928fb23e96 | ||
|
|
d9862aefcf | ||
|
|
496b97d706 | ||
|
|
830b5b9a21 | ||
|
|
06e731c762 | ||
|
|
be2a829524 | ||
|
|
8cab242ad0 | ||
|
|
99054a2687 | ||
|
|
adcb7840bd | ||
|
|
8db6fef92d | ||
|
|
24329e3731 | ||
|
|
1db88bdbb5 | ||
|
|
7c2cdb78e9 | ||
|
|
e858a1211e | ||
|
|
01cb0fccb6 | ||
|
|
86394dab01 | ||
|
|
53fcafea50 | ||
|
|
574a81da7f | ||
|
|
ed693a7ae6 | ||
|
|
e5c936e8cf | ||
|
|
9f3a9dfab0 | ||
|
|
c0030bc513 | ||
|
|
a637b0e61b | ||
|
|
2f0e673ec3 | ||
|
|
84c39b5de7 | ||
|
|
07902d17cc | ||
|
|
1a7761c531 | ||
|
|
2773da5a12 | ||
|
|
e23b3a62f3 | ||
|
|
57684efddf | ||
|
|
1641aa111b | ||
|
|
ca2530e07f | ||
|
|
104b53c6ec | ||
|
|
6c5f8e4e2d | ||
|
|
b8d586addd | ||
|
|
1b5cd4f53a | ||
|
|
d2002a5158 | ||
|
|
5250292e95 | ||
|
|
acc6715f90 | ||
|
|
b6af59d9b0 | ||
|
|
49a651fd72 | ||
|
|
2d688331df | ||
|
|
b12c4a96e9 | ||
|
|
6dd06c0fe9 | ||
|
|
17ae9b3349 | ||
|
|
8dc163f074 | ||
|
|
8ce70e1f18 | ||
|
|
98eab906af | ||
|
|
d558f20715 | ||
|
|
967138cdff | ||
|
|
c76ac717f2 | ||
|
|
a671ac387a | ||
|
|
ab4c5acd0c | ||
|
|
1043315e6b | ||
|
|
d357864d69 | ||
|
|
44b855dd93 | ||
|
|
2094b4f688 | ||
|
|
5252482fe3 | ||
|
|
abeebc7bc4 | ||
|
|
4193130ed0 | ||
|
|
89467adf9c | ||
|
|
a283e7ea0b | ||
|
|
a54479d603 | ||
|
|
49ebbf3232 | ||
|
|
05da5c039c | ||
|
|
f3d0248ec5 | ||
|
|
4dc24b22c7 | ||
|
|
fc0e3c0124 | ||
|
|
32c1d6f95c | ||
|
|
c25aed9a2b | ||
|
|
d79e27774c | ||
|
|
194178a250 | ||
|
|
d78b55873d | ||
|
|
f3ba28062b | ||
|
|
2434ce14d3 | ||
|
|
66be04e78a | ||
|
|
62e9472f1a | ||
|
|
c699c2fe2a | ||
|
|
a35889ebdc | ||
|
|
8995752c27 | ||
|
|
57e76232ec | ||
|
|
d7a14d9e00 | ||
|
|
6b90961e87 | ||
|
|
6547afe6c0 | ||
|
|
3a5c6ee43a | ||
|
|
0f08d5d640 | ||
|
|
f85dd910a3 | ||
|
|
c1ab8952eb | ||
|
|
dfe399291f | ||
|
|
70a36bafa5 | ||
|
|
381d95e032 | ||
|
|
cd8a74290b | ||
|
|
d91eaa9ae5 | ||
|
|
8c7933cd60 | ||
|
|
88f461042d | ||
|
|
ea085c5ff6 | ||
|
|
39ea1d317d | ||
|
|
827ed7b273 | ||
|
|
8690304dff | ||
|
|
1e327c143c | ||
|
|
19232124f2 | ||
|
|
e8b67da08b | ||
|
|
b5d19bd561 | ||
|
|
ad01be66ea | ||
|
|
d546d52069 | ||
|
|
13cc8c4258 | ||
|
|
9d3f6059ee | ||
|
|
43855b8ca2 | ||
|
|
ec3cc7a854 | ||
|
|
63be7ef6ca | ||
|
|
b8aad7f5e6 | ||
|
|
c02e491609 | ||
|
|
670cd19051 | ||
|
|
8c44481ee1 | ||
|
|
a8c94a891b | ||
|
|
ff35946050 | ||
|
|
95d32cb076 | ||
|
|
018186ccbd | ||
|
|
5040df7551 | ||
|
|
c3604f6e80 | ||
|
|
7a21b7903d | ||
|
|
a77a53f20b | ||
|
|
ee45fc31a2 | ||
|
|
ceae22adab | ||
|
|
202eb7e876 | ||
|
|
89a9c30cc8 | ||
|
|
7012ff6609 | ||
|
|
621da9e7e3 | ||
|
|
26bb0d064f | ||
|
|
9ee64f93ca | ||
|
|
641ff95f41 | ||
|
|
49115cde55 | ||
|
|
7d0e1c92a3 | ||
|
|
419acab48a | ||
|
|
528572c15b | ||
|
|
d72e4ae97d | ||
|
|
76c0b881ff | ||
|
|
836c49b755 | ||
|
|
24def3a196 | ||
|
|
b6d58b2fb8 | ||
|
|
770a74c83d | ||
|
|
039d5ae9aa | ||
|
|
2fb73cd516 | ||
|
|
2427344dca | ||
|
|
62cb661bab | ||
|
|
1e04199ea6 | ||
|
|
4666916077 | ||
|
|
f094b1162d | ||
|
|
ae9619f0c3 | ||
|
|
87cc389088 | ||
|
|
ec046a6943 | ||
|
|
7eefe7b79c | ||
|
|
c4fea9cb9d | ||
|
|
3fded86aa1 | ||
|
|
05e7c32cf9 | ||
|
|
af2ff2b07c | ||
|
|
b47d915cb6 | ||
|
|
376d525ad7 | ||
|
|
9c854a13cc | ||
|
|
ff780738fd | ||
|
|
2c8d413f16 | ||
|
|
48801da44e | ||
|
|
641b8ef0b6 | ||
|
|
036a21ff17 | ||
|
|
2abf434ebe | ||
|
|
4dc477cc1d | ||
|
|
0bba68769b | ||
|
|
e25d1c0ff3 | ||
|
|
f9ace4791f | ||
|
|
7cb9b5f257 | ||
|
|
c95af6b992 | ||
|
|
2fc4d2923d | ||
|
|
eeeae08ec8 | ||
|
|
220f25e206 | ||
|
|
fa3a79a787 | ||
|
|
ca71add51b | ||
|
|
3fa3f83007 | ||
|
|
377802410e | ||
|
|
2e0ea3f374 | ||
|
|
508260bd46 | ||
|
|
a1e963f834 | ||
|
|
8a98040008 | ||
|
|
47e611682a | ||
|
|
5bac1e4d15 | ||
|
|
ad025b9683 | ||
|
|
3e97ddc22d | ||
|
|
151e8bfc4e | ||
|
|
a914a02273 | ||
|
|
bb3632d1b2 | ||
|
|
66bb1272ae | ||
|
|
bbef96ac25 | ||
|
|
f9cbde10a6 | ||
|
|
fe1bae96ed | ||
|
|
eab6173a31 | ||
|
|
98499c3963 | ||
|
|
26da525ebe | ||
|
|
c65c9777bd | ||
|
|
af68af7f18 | ||
|
|
0c11a9b733 | ||
|
|
59d077f3ff | ||
|
|
6383712731 | ||
|
|
e067b7134e | ||
|
|
183c530c82 | ||
|
|
33d68478b6 | ||
|
|
22c0323bda | ||
|
|
19114c1a26 | ||
|
|
11b8e13418 | ||
|
|
6fdd7b3751 | ||
|
|
30c3255cb2 | ||
|
|
35ebbc974c | ||
|
|
f1d0db8171 | ||
|
|
9968d697f3 | ||
|
|
02c54a264d | ||
|
|
e814a3409f | ||
|
|
55847c7bdc | ||
|
|
598515e5b4 | ||
|
|
692625f8cd | ||
|
|
f8ae3f12e6 | ||
|
|
3780ed1b4f | ||
|
|
8d269fee30 | ||
|
|
35157f2e8b | ||
|
|
60f1947eb4 | ||
|
|
ffaab4a1b4 | ||
|
|
70e1309c9f | ||
|
|
5c0045f9f8 | ||
|
|
b66be9c226 | ||
|
|
651393988a | ||
|
|
cf19c8f8c2 | ||
|
|
ba3ae92702 | ||
|
|
8e2bed7f91 | ||
|
|
028b69c7d4 | ||
|
|
0cf913a7c1 | ||
|
|
13fbcd712b | ||
|
|
0aae107155 | ||
|
|
d2dcf7e7c1 | ||
|
|
6efdf1b9d0 | ||
|
|
a11259c683 | ||
|
|
863db14b61 | ||
|
|
335aaa5594 | ||
|
|
07ed93de19 | ||
|
|
8093e5ce7c | ||
|
|
585fba4bc6 | ||
|
|
b8f69b5008 | ||
|
|
aebfb19ab7 | ||
|
|
490669d378 | ||
|
|
3434d0f200 | ||
|
|
765a22e6f0 | ||
|
|
546c562ef0 | ||
|
|
b64d4e3658 | ||
|
|
0fb00d569e | ||
|
|
b64fa51268 | ||
|
|
1871d48f7f | ||
|
|
b010919099 | ||
|
|
ce2a7135cb | ||
|
|
0fed757b11 | ||
|
|
1a3b3b21fb | ||
|
|
d86e21c751 | ||
|
|
e408718230 | ||
|
|
ee848b8a8c | ||
|
|
a60c34d548 | ||
|
|
8a2fc5d62b | ||
|
|
da56a421e5 | ||
|
|
bfb0d0ddb5 | ||
|
|
c812c3991e | ||
|
|
ca9dad396f | ||
|
|
a615fc8e47 | ||
|
|
ac38f32e32 | ||
|
|
f2d1b9ac95 | ||
|
|
14a6280531 | ||
|
|
41300af944 | ||
|
|
21e91a7537 | ||
|
|
4127e0fc53 | ||
|
|
d090852895 | ||
|
|
78915f900b | ||
|
|
8cc19b0748 | ||
|
|
fe690922de | ||
|
|
257a471383 | ||
|
|
bee83a320b | ||
|
|
b45e114ef2 | ||
|
|
b14614ae53 | ||
|
|
8381fa1d42 | ||
|
|
a3eeba4761 | ||
|
|
97587064f8 | ||
|
|
ae01da780e | ||
|
|
60b0af5ab7 | ||
|
|
0e22acc255 | ||
|
|
655eea2b00 | ||
|
|
ce05f29dc4 | ||
|
|
7e12167b52 | ||
|
|
706a6e2d56 | ||
|
|
a4dc482372 | ||
|
|
f4191fb7fa | ||
|
|
d2063c7e11 | ||
|
|
c01a9006a6 | ||
|
|
f118e25e8c | ||
|
|
d40bbf6b09 | ||
|
|
0455063a39 | ||
|
|
532b2c222a | ||
|
|
67ea7d31e1 | ||
|
|
a1b1294247 | ||
|
|
1c3d3d703c | ||
|
|
9c3e3f8e06 | ||
|
|
48e5cf7e67 | ||
|
|
bd61ee22be | ||
|
|
4f8a0c4173 | ||
|
|
6b0fbe4634 | ||
|
|
2616a2bba3 | ||
|
|
c10e686ec6 | ||
|
|
a8ec3717c4 | ||
|
|
7dc855bbbe | ||
|
|
1ef4d2cde1 | ||
|
|
8c5aa4a0e6 | ||
|
|
5879eeabfa | ||
|
|
022ee36bca | ||
|
|
aacd689bae | ||
|
|
388c90f641 | ||
|
|
c22f9687fb | ||
|
|
0a88c812e8 | ||
|
|
e28ff38d39 | ||
|
|
ab1d97c985 | ||
|
|
4a489afb89 | ||
|
|
c957c6ce14 | ||
|
|
e57cc03084 | ||
|
|
3a0590f950 | ||
|
|
43e4cf632a | ||
|
|
92c6229e00 | ||
|
|
8252924203 | ||
|
|
bdb88cc87b | ||
|
|
f4be5641da | ||
|
|
4484e2d031 | ||
|
|
b8dc9ea560 | ||
|
|
d4bffba736 | ||
|
|
d2d0d53eef | ||
|
|
31a49268cb | ||
|
|
2f51349ff8 | ||
|
|
a885baf960 | ||
|
|
3f2793088a | ||
|
|
0f24c8e8bb | ||
|
|
8a751e097d | ||
|
|
4a582804b0 | ||
|
|
f278056493 | ||
|
|
f2c665e4fa | ||
|
|
ce32a0081e | ||
|
|
658d132c38 | ||
|
|
7d2f39a06f | ||
|
|
84d5d52ec8 | ||
|
|
563a495725 | ||
|
|
9e18fe64cf | ||
|
|
708a681ed9 | ||
|
|
a40937409a | ||
|
|
b8d374b2af | ||
|
|
fa31bd4bf7 | ||
|
|
847aab2712 | ||
|
|
710b800bc2 | ||
|
|
c92b359b79 | ||
|
|
e2fd371886 | ||
|
|
5b453ca972 | ||
|
|
6784bdcb54 | ||
|
|
7e4036f2a5 | ||
|
|
421cfc46ad | ||
|
|
0d4a49a0ff | ||
|
|
6453a86c2a | ||
|
|
d657bbdc18 | ||
|
|
8aeb4706e1 | ||
|
|
e04ec1042a | ||
|
|
e77e5c3cea | ||
|
|
222352b4b3 | ||
|
|
4ac95447eb | ||
|
|
9cba9d9ae0 | ||
|
|
056072af7d | ||
|
|
fb3fee5d4b | ||
|
|
e7be8991f1 | ||
|
|
09dd3f529b | ||
|
|
488c4d5000 | ||
|
|
abad833c5e | ||
|
|
4363e71e80 | ||
|
|
7971d9749a | ||
|
|
5ebe33d45f | ||
|
|
4887eb4957 | ||
|
|
0620919241 | ||
|
|
e84d624d23 | ||
|
|
45bc2ec380 | ||
|
|
9bf7b9bda5 | ||
|
|
ab19fa9ece | ||
|
|
53d7d69135 | ||
|
|
b22776dc5a | ||
|
|
dc6d9d4ba2 | ||
|
|
075ef5e02c | ||
|
|
16da0b469a | ||
|
|
5c2c2908b8 | ||
|
|
ad9da07de1 | ||
|
|
d1210e946c | ||
|
|
5d6fe4d9ae | ||
|
|
193f9c08fb | ||
|
|
4808c21cf4 | ||
|
|
4106d1f69d | ||
|
|
007720132b | ||
|
|
f3a58cd336 | ||
|
|
faca36e74c | ||
|
|
f38b77892b | ||
|
|
00297cd864 | ||
|
|
ce63e47fcd | ||
|
|
d53489d674 | ||
|
|
1fb3a59573 | ||
|
|
a5e60363cf | ||
|
|
3f054031a0 | ||
|
|
4a54febf38 | ||
|
|
fdb2ca4167 | ||
|
|
7112d53d4d | ||
|
|
1d83b2f2e6 | ||
|
|
a724b95441 | ||
|
|
0d894b7f52 | ||
|
|
e32d7eb127 | ||
|
|
caced64d11 | ||
|
|
3ec3f8bcd8 | ||
|
|
4426437ad3 | ||
|
|
1f0f74ff04 | ||
|
|
e43900074a | ||
|
|
732d2605a7 | ||
|
|
4d497022db | ||
|
|
2680a50927 | ||
|
|
874dab7535 | ||
|
|
fe9917ef1c | ||
|
|
e844cf11db | ||
|
|
f9e272dd8f | ||
|
|
dfe916d7c8 | ||
|
|
c3c769922d | ||
|
|
30e3fbb41c | ||
|
|
78694807ff | ||
|
|
8844e305ab | ||
|
|
1a37c43c98 | ||
|
|
bf78faa0f0 | ||
|
|
204ef7e68f | ||
|
|
176608d2f9 | ||
|
|
28dfdbf06d | ||
|
|
a443c654e5 | ||
|
|
6413050f2e | ||
|
|
fe7a940082 | ||
|
|
e586d6b967 | ||
|
|
2d25e352d4 | ||
|
|
4297d51a2d | ||
|
|
1440c72559 | ||
|
|
00efc2f88f | ||
|
|
d55c2f889c | ||
|
|
e1e535b009 | ||
|
|
789fff561e | ||
|
|
58fe25623b | ||
|
|
553b758c61 | ||
|
|
6da2f117f2 | ||
|
|
6ad22edf8e | ||
|
|
2dbe679849 | ||
|
|
2f74b69cc3 | ||
|
|
4320dab856 | ||
|
|
036b81707b | ||
|
|
8455d3da6f | ||
|
|
3d4fd08547 | ||
|
|
21c80e4953 | ||
|
|
5c704d7e58 | ||
|
|
230f5868f9 | ||
|
|
20dedab4b2 | ||
|
|
9118ac2b56 | ||
|
|
aab89d2483 | ||
|
|
b2e75e77e8 | ||
|
|
bcd1ccd91b | ||
|
|
673b45af09 | ||
|
|
a06040c035 | ||
|
|
e286b8f2ba | ||
|
|
69553f9017 | ||
|
|
609a2bf32e | ||
|
|
dad541423d | ||
|
|
b9d0d03223 | ||
|
|
8611d1848c | ||
|
|
5278601e5d | ||
|
|
5c7c3fb996 | ||
|
|
f4907a5b5c | ||
|
|
a5c4783564 | ||
|
|
d3e83d154b | ||
|
|
aa36e9a785 | ||
|
|
b712d505f2 | ||
|
|
6d56deb2e4 | ||
|
|
101e2e8ba1 | ||
|
|
83bff72cd4 | ||
|
|
b24afac0f4 | ||
|
|
b129b4ceaa |
2
.github/workflows/contrib.yml
vendored
2
.github/workflows/contrib.yml
vendored
@@ -11,7 +11,7 @@ jobs:
|
|||||||
steps:
|
steps:
|
||||||
- name: "Contributor Check"
|
- name: "Contributor Check"
|
||||||
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
|
if: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the CLA Document and I hereby sign the CLA') || github.event_name == 'pull_request_target'
|
||||||
uses: cla-assistant/github-action@v2.1.3-beta
|
uses: cla-assistant/github-action@v2.3.1
|
||||||
env:
|
env:
|
||||||
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
|
||||||
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
|
||||||
|
|||||||
6
.github/workflows/pythontest.yml
vendored
6
.github/workflows/pythontest.yml
vendored
@@ -4,9 +4,11 @@ on:
|
|||||||
push:
|
push:
|
||||||
paths:
|
paths:
|
||||||
- "salt/sensoroni/files/analyzers/**"
|
- "salt/sensoroni/files/analyzers/**"
|
||||||
|
- "salt/manager/tools/sbin"
|
||||||
pull_request:
|
pull_request:
|
||||||
paths:
|
paths:
|
||||||
- "salt/sensoroni/files/analyzers/**"
|
- "salt/sensoroni/files/analyzers/**"
|
||||||
|
- "salt/manager/tools/sbin"
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
build:
|
build:
|
||||||
@@ -16,7 +18,7 @@ jobs:
|
|||||||
fail-fast: false
|
fail-fast: false
|
||||||
matrix:
|
matrix:
|
||||||
python-version: ["3.10"]
|
python-version: ["3.10"]
|
||||||
python-code-path: ["salt/sensoroni/files/analyzers"]
|
python-code-path: ["salt/sensoroni/files/analyzers", "salt/manager/tools/sbin"]
|
||||||
|
|
||||||
steps:
|
steps:
|
||||||
- uses: actions/checkout@v3
|
- uses: actions/checkout@v3
|
||||||
@@ -34,4 +36,4 @@ jobs:
|
|||||||
flake8 ${{ matrix.python-code-path }} --show-source --max-complexity=12 --doctests --max-line-length=200 --statistics
|
flake8 ${{ matrix.python-code-path }} --show-source --max-complexity=12 --doctests --max-line-length=200 --statistics
|
||||||
- name: Test with pytest
|
- name: Test with pytest
|
||||||
run: |
|
run: |
|
||||||
pytest ${{ matrix.python-code-path }} --cov=${{ matrix.python-code-path }} --doctest-modules --cov-report=term --cov-fail-under=100 --cov-config=${{ matrix.python-code-path }}/pytest.ini
|
pytest ${{ matrix.python-code-path }} --cov=${{ matrix.python-code-path }} --doctest-modules --cov-report=term --cov-fail-under=100 --cov-config=pytest.ini
|
||||||
|
|||||||
@@ -1,18 +1,17 @@
|
|||||||
### 2.4.5-20230807 ISO image released on 2023/08/07
|
### 2.4.40-20240116 ISO image released on 2024/01/17
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Download and Verify
|
### Download and Verify
|
||||||
|
|
||||||
2.4.5-20230807 ISO image:
|
2.4.40-20240116 ISO image:
|
||||||
https://download.securityonion.net/file/securityonion/securityonion-2.4.5-20230807.iso
|
https://download.securityonion.net/file/securityonion/securityonion-2.4.40-20240116.iso
|
||||||
|
|
||||||
MD5: F83FD635025A3A65B380EAFCEB61A92E
|
MD5: AC55D027B663F3CE0878FEBDAD9DD78B
|
||||||
SHA1: 5864D4CD520617E3328A3D956CAFCC378A8D2D08
|
SHA1: C2B51723B17F3DC843CC493EB80E93B123E3A3E1
|
||||||
SHA256: D333BAE0DD198DFD80DF59375456D228A4E18A24EDCDB15852CD4CA3F92B69A7
|
SHA256: C5F135FCF45A836BBFF58C231F95E1EA0CD894898322187AD5FBFCD24BC2F123
|
||||||
|
|
||||||
Signature for ISO image:
|
Signature for ISO image:
|
||||||
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.5-20230807.iso.sig
|
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.40-20240116.iso.sig
|
||||||
|
|
||||||
Signing key:
|
Signing key:
|
||||||
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/2.4/main/KEYS
|
https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/2.4/main/KEYS
|
||||||
@@ -26,22 +25,22 @@ wget https://raw.githubusercontent.com/Security-Onion-Solutions/securityonion/2.
|
|||||||
|
|
||||||
Download the signature file for the ISO:
|
Download the signature file for the ISO:
|
||||||
```
|
```
|
||||||
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.5-20230807.iso.sig
|
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.40-20240116.iso.sig
|
||||||
```
|
```
|
||||||
|
|
||||||
Download the ISO image:
|
Download the ISO image:
|
||||||
```
|
```
|
||||||
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.5-20230807.iso
|
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.40-20240116.iso
|
||||||
```
|
```
|
||||||
|
|
||||||
Verify the downloaded ISO image using the signature file:
|
Verify the downloaded ISO image using the signature file:
|
||||||
```
|
```
|
||||||
gpg --verify securityonion-2.4.5-20230807.iso.sig securityonion-2.4.5-20230807.iso
|
gpg --verify securityonion-2.4.40-20240116.iso.sig securityonion-2.4.40-20240116.iso
|
||||||
```
|
```
|
||||||
|
|
||||||
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
|
The output should show "Good signature" and the Primary key fingerprint should match what's shown below:
|
||||||
```
|
```
|
||||||
gpg: Signature made Sat 05 Aug 2023 10:12:46 AM EDT using RSA key ID FE507013
|
gpg: Signature made Tue 16 Jan 2024 07:34:40 PM EST using RSA key ID FE507013
|
||||||
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
|
gpg: Good signature from "Security Onion Solutions, LLC <info@securityonionsolutions.com>"
|
||||||
gpg: WARNING: This key is not certified with a trusted signature!
|
gpg: WARNING: This key is not certified with a trusted signature!
|
||||||
gpg: There is no indication that the signature belongs to the owner.
|
gpg: There is no indication that the signature belongs to the owner.
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
## Security Onion 2.4 Release Candidate 2 (RC2)
|
## Security Onion 2.4
|
||||||
|
|
||||||
Security Onion 2.4 Release Candidate 2 (RC2) is here!
|
Security Onion 2.4 is here!
|
||||||
|
|
||||||
## Screenshots
|
## Screenshots
|
||||||
|
|
||||||
|
|||||||
BIN
assets/images/screenshots/analyzers/echotrail.png
Normal file
BIN
assets/images/screenshots/analyzers/echotrail.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 21 KiB |
BIN
assets/images/screenshots/analyzers/elasticsearch.png
Normal file
BIN
assets/images/screenshots/analyzers/elasticsearch.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 22 KiB |
BIN
assets/images/screenshots/analyzers/sublime.png
Normal file
BIN
assets/images/screenshots/analyzers/sublime.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 12 KiB |
@@ -12,7 +12,6 @@ role:
|
|||||||
eval:
|
eval:
|
||||||
fleet:
|
fleet:
|
||||||
heavynode:
|
heavynode:
|
||||||
helixsensor:
|
|
||||||
idh:
|
idh:
|
||||||
import:
|
import:
|
||||||
manager:
|
manager:
|
||||||
|
|||||||
@@ -7,19 +7,23 @@
|
|||||||
tgt_type='compound') | dictsort()
|
tgt_type='compound') | dictsort()
|
||||||
%}
|
%}
|
||||||
|
|
||||||
{% set hostname = cached_grains[minionid]['host'] %}
|
# only add a node to the pillar if it returned an ip from the mine
|
||||||
{% set node_type = minionid.split('_')[1] %}
|
{% if ip | length > 0%}
|
||||||
{% if node_type not in node_types.keys() %}
|
{% set hostname = cached_grains[minionid]['host'] %}
|
||||||
{% do node_types.update({node_type: {hostname: ip[0]}}) %}
|
{% set node_type = minionid.split('_')[1] %}
|
||||||
{% else %}
|
{% if node_type not in node_types.keys() %}
|
||||||
{% if hostname not in node_types[node_type] %}
|
{% do node_types.update({node_type: {hostname: ip[0]}}) %}
|
||||||
{% do node_types[node_type].update({hostname: ip[0]}) %}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% do node_types[node_type][hostname].update(ip[0]) %}
|
{% if hostname not in node_types[node_type] %}
|
||||||
|
{% do node_types[node_type].update({hostname: ip[0]}) %}
|
||||||
|
{% else %}
|
||||||
|
{% do node_types[node_type][hostname].update(ip[0]) %}
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
|
||||||
logstash:
|
logstash:
|
||||||
nodes:
|
nodes:
|
||||||
{% for node_type, values in node_types.items() %}
|
{% for node_type, values in node_types.items() %}
|
||||||
|
|||||||
@@ -4,18 +4,22 @@
|
|||||||
{% set hostname = minionid.split('_')[0] %}
|
{% set hostname = minionid.split('_')[0] %}
|
||||||
{% set node_type = minionid.split('_')[1] %}
|
{% set node_type = minionid.split('_')[1] %}
|
||||||
{% set is_alive = False %}
|
{% set is_alive = False %}
|
||||||
{% if minionid in manage_alived.keys() %}
|
|
||||||
{% if ip[0] == manage_alived[minionid] %}
|
# only add a node to the pillar if it returned an ip from the mine
|
||||||
{% set is_alive = True %}
|
{% if ip | length > 0%}
|
||||||
|
{% if minionid in manage_alived.keys() %}
|
||||||
|
{% if ip[0] == manage_alived[minionid] %}
|
||||||
|
{% set is_alive = True %}
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% if node_type not in node_types.keys() %}
|
||||||
{% if node_type not in node_types.keys() %}
|
{% do node_types.update({node_type: {hostname: {'ip':ip[0], 'alive':is_alive }}}) %}
|
||||||
{% do node_types.update({node_type: {hostname: {'ip':ip[0], 'alive':is_alive }}}) %}
|
|
||||||
{% else %}
|
|
||||||
{% if hostname not in node_types[node_type] %}
|
|
||||||
{% do node_types[node_type].update({hostname: {'ip':ip[0], 'alive':is_alive}}) %}
|
|
||||||
{% else %}
|
{% else %}
|
||||||
{% do node_types[node_type][hostname].update({'ip':ip[0], 'alive':is_alive}) %}
|
{% if hostname not in node_types[node_type] %}
|
||||||
|
{% do node_types[node_type].update({hostname: {'ip':ip[0], 'alive':is_alive}}) %}
|
||||||
|
{% else %}
|
||||||
|
{% do node_types[node_type][hostname].update({'ip':ip[0], 'alive':is_alive}) %}
|
||||||
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|||||||
@@ -1,44 +0,0 @@
|
|||||||
thresholding:
|
|
||||||
sids:
|
|
||||||
8675309:
|
|
||||||
- threshold:
|
|
||||||
gen_id: 1
|
|
||||||
type: threshold
|
|
||||||
track: by_src
|
|
||||||
count: 10
|
|
||||||
seconds: 10
|
|
||||||
- threshold:
|
|
||||||
gen_id: 1
|
|
||||||
type: limit
|
|
||||||
track: by_dst
|
|
||||||
count: 100
|
|
||||||
seconds: 30
|
|
||||||
- rate_filter:
|
|
||||||
gen_id: 1
|
|
||||||
track: by_rule
|
|
||||||
count: 50
|
|
||||||
seconds: 30
|
|
||||||
new_action: alert
|
|
||||||
timeout: 30
|
|
||||||
- suppress:
|
|
||||||
gen_id: 1
|
|
||||||
track: by_either
|
|
||||||
ip: 10.10.3.7
|
|
||||||
11223344:
|
|
||||||
- threshold:
|
|
||||||
gen_id: 1
|
|
||||||
type: limit
|
|
||||||
track: by_dst
|
|
||||||
count: 10
|
|
||||||
seconds: 10
|
|
||||||
- rate_filter:
|
|
||||||
gen_id: 1
|
|
||||||
track: by_src
|
|
||||||
count: 50
|
|
||||||
seconds: 20
|
|
||||||
new_action: pass
|
|
||||||
timeout: 60
|
|
||||||
- suppress:
|
|
||||||
gen_id: 1
|
|
||||||
track: by_src
|
|
||||||
ip: 10.10.3.0/24
|
|
||||||
@@ -1,20 +0,0 @@
|
|||||||
thresholding:
|
|
||||||
sids:
|
|
||||||
<signature id>:
|
|
||||||
- threshold:
|
|
||||||
gen_id: <generator id>
|
|
||||||
type: <threshold | limit | both>
|
|
||||||
track: <by_src | by_dst>
|
|
||||||
count: <count>
|
|
||||||
seconds: <seconds>
|
|
||||||
- rate_filter:
|
|
||||||
gen_id: <generator id>
|
|
||||||
track: <by_src | by_dst | by_rule | by_both>
|
|
||||||
count: <count>
|
|
||||||
seconds: <seconds>
|
|
||||||
new_action: <alert | pass>
|
|
||||||
timeout: <seconds>
|
|
||||||
- suppress:
|
|
||||||
gen_id: <generator id>
|
|
||||||
track: <by_src | by_dst | by_either>
|
|
||||||
ip: <ip | subnet>
|
|
||||||
@@ -4,14 +4,9 @@ base:
|
|||||||
- global.adv_global
|
- global.adv_global
|
||||||
- docker.soc_docker
|
- docker.soc_docker
|
||||||
- docker.adv_docker
|
- docker.adv_docker
|
||||||
- firewall.soc_firewall
|
|
||||||
- firewall.adv_firewall
|
|
||||||
- influxdb.token
|
- influxdb.token
|
||||||
- logrotate.soc_logrotate
|
- logrotate.soc_logrotate
|
||||||
- logrotate.adv_logrotate
|
- logrotate.adv_logrotate
|
||||||
- nginx.soc_nginx
|
|
||||||
- nginx.adv_nginx
|
|
||||||
- node_data.ips
|
|
||||||
- ntp.soc_ntp
|
- ntp.soc_ntp
|
||||||
- ntp.adv_ntp
|
- ntp.adv_ntp
|
||||||
- patch.needs_restarting
|
- patch.needs_restarting
|
||||||
@@ -22,6 +17,13 @@ base:
|
|||||||
- telegraf.soc_telegraf
|
- telegraf.soc_telegraf
|
||||||
- telegraf.adv_telegraf
|
- telegraf.adv_telegraf
|
||||||
|
|
||||||
|
'* and not *_desktop':
|
||||||
|
- firewall.soc_firewall
|
||||||
|
- firewall.adv_firewall
|
||||||
|
- nginx.soc_nginx
|
||||||
|
- nginx.adv_nginx
|
||||||
|
- node_data.ips
|
||||||
|
|
||||||
'*_manager or *_managersearch':
|
'*_manager or *_managersearch':
|
||||||
- match: compound
|
- match: compound
|
||||||
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
|
{% if salt['file.file_exists']('/opt/so/saltstack/local/pillar/elasticsearch/auth.sls') %}
|
||||||
@@ -59,8 +61,6 @@ base:
|
|||||||
- elastalert.adv_elastalert
|
- elastalert.adv_elastalert
|
||||||
- backup.soc_backup
|
- backup.soc_backup
|
||||||
- backup.adv_backup
|
- backup.adv_backup
|
||||||
- curator.soc_curator
|
|
||||||
- curator.adv_curator
|
|
||||||
- soctopus.soc_soctopus
|
- soctopus.soc_soctopus
|
||||||
- soctopus.adv_soctopus
|
- soctopus.adv_soctopus
|
||||||
- minions.{{ grains.id }}
|
- minions.{{ grains.id }}
|
||||||
@@ -111,8 +111,6 @@ base:
|
|||||||
- kibana.adv_kibana
|
- kibana.adv_kibana
|
||||||
- strelka.soc_strelka
|
- strelka.soc_strelka
|
||||||
- strelka.adv_strelka
|
- strelka.adv_strelka
|
||||||
- curator.soc_curator
|
|
||||||
- curator.adv_curator
|
|
||||||
- kratos.soc_kratos
|
- kratos.soc_kratos
|
||||||
- kratos.adv_kratos
|
- kratos.adv_kratos
|
||||||
- redis.soc_redis
|
- redis.soc_redis
|
||||||
@@ -170,8 +168,6 @@ base:
|
|||||||
- kibana.adv_kibana
|
- kibana.adv_kibana
|
||||||
- strelka.soc_strelka
|
- strelka.soc_strelka
|
||||||
- strelka.adv_strelka
|
- strelka.adv_strelka
|
||||||
- curator.soc_curator
|
|
||||||
- curator.adv_curator
|
|
||||||
- backup.soc_backup
|
- backup.soc_backup
|
||||||
- backup.adv_backup
|
- backup.adv_backup
|
||||||
- zeek.soc_zeek
|
- zeek.soc_zeek
|
||||||
@@ -192,8 +188,6 @@ base:
|
|||||||
- logstash.adv_logstash
|
- logstash.adv_logstash
|
||||||
- elasticsearch.soc_elasticsearch
|
- elasticsearch.soc_elasticsearch
|
||||||
- elasticsearch.adv_elasticsearch
|
- elasticsearch.adv_elasticsearch
|
||||||
- curator.soc_curator
|
|
||||||
- curator.adv_curator
|
|
||||||
- redis.soc_redis
|
- redis.soc_redis
|
||||||
- redis.adv_redis
|
- redis.adv_redis
|
||||||
- zeek.soc_zeek
|
- zeek.soc_zeek
|
||||||
@@ -266,8 +260,6 @@ base:
|
|||||||
- soctopus.adv_soctopus
|
- soctopus.adv_soctopus
|
||||||
- kibana.soc_kibana
|
- kibana.soc_kibana
|
||||||
- kibana.adv_kibana
|
- kibana.adv_kibana
|
||||||
- curator.soc_curator
|
|
||||||
- curator.adv_curator
|
|
||||||
- backup.soc_backup
|
- backup.soc_backup
|
||||||
- backup.adv_backup
|
- backup.adv_backup
|
||||||
- kratos.soc_kratos
|
- kratos.soc_kratos
|
||||||
|
|||||||
26
pyci.sh
Executable file
26
pyci.sh
Executable file
@@ -0,0 +1,26 @@
|
|||||||
|
#!/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.
|
||||||
|
|
||||||
|
if [[ $# -ne 1 ]]; then
|
||||||
|
echo "Usage: $0 <python_script_dir>"
|
||||||
|
echo "Runs tests on all *_test.py files in the given directory."
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
HOME_DIR=$(dirname "$0")
|
||||||
|
TARGET_DIR=${1:-.}
|
||||||
|
|
||||||
|
PATH=$PATH:/usr/local/bin
|
||||||
|
|
||||||
|
if ! which pytest &> /dev/null || ! which flake8 &> /dev/null ; then
|
||||||
|
echo "Missing dependencies. Consider running the following command:"
|
||||||
|
echo " python -m pip install flake8 pytest pytest-cov"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
pip install pytest pytest-cov
|
||||||
|
flake8 "$TARGET_DIR" "--config=${HOME_DIR}/pytest.ini"
|
||||||
|
python3 -m pytest "--cov-config=${HOME_DIR}/pytest.ini" "--cov=$TARGET_DIR" --doctest-modules --cov-report=term --cov-fail-under=100 "$TARGET_DIR"
|
||||||
@@ -188,6 +188,9 @@
|
|||||||
'docker_clean'
|
'docker_clean'
|
||||||
],
|
],
|
||||||
'so-desktop': [
|
'so-desktop': [
|
||||||
|
'ssl',
|
||||||
|
'docker_clean',
|
||||||
|
'telegraf'
|
||||||
],
|
],
|
||||||
}, grain='role') %}
|
}, grain='role') %}
|
||||||
|
|
||||||
@@ -216,10 +219,6 @@
|
|||||||
{% do allowed_states.append('kibana.secrets') %}
|
{% do allowed_states.append('kibana.secrets') %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if grains.role in ['so-eval', 'so-standalone', 'so-managersearch', 'so-heavynode', 'so-manager'] %}
|
|
||||||
{% do allowed_states.append('curator') %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch'] %}
|
{% if grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch'] %}
|
||||||
{% do allowed_states.append('elastalert') %}
|
{% do allowed_states.append('elastalert') %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
10
salt/bpf/macros.jinja
Normal file
10
salt/bpf/macros.jinja
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
{% macro remove_comments(bpfmerged, app) %}
|
||||||
|
|
||||||
|
{# remove comments from the bpf #}
|
||||||
|
{% for bpf in bpfmerged[app] %}
|
||||||
|
{% if bpf.strip().startswith('#') %}
|
||||||
|
{% do bpfmerged[app].pop(loop.index0) %}
|
||||||
|
{% endif %}
|
||||||
|
{% endfor %}
|
||||||
|
|
||||||
|
{% endmacro %}
|
||||||
@@ -1,4 +1,7 @@
|
|||||||
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
||||||
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
|
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
|
||||||
|
{% import 'bpf/macros.jinja' as MACROS %}
|
||||||
|
|
||||||
|
{{ MACROS.remove_comments(BPFMERGED, 'pcap') }}
|
||||||
|
|
||||||
{% set PCAPBPF = BPFMERGED.pcap %}
|
{% set PCAPBPF = BPFMERGED.pcap %}
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
||||||
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
|
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
|
||||||
|
{% import 'bpf/macros.jinja' as MACROS %}
|
||||||
|
|
||||||
|
{{ MACROS.remove_comments(BPFMERGED, 'suricata') }}
|
||||||
|
|
||||||
{% set SURICATABPF = BPFMERGED.suricata %}
|
{% set SURICATABPF = BPFMERGED.suricata %}
|
||||||
|
|||||||
@@ -1,4 +1,7 @@
|
|||||||
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
||||||
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
|
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
|
||||||
|
{% import 'bpf/macros.jinja' as MACROS %}
|
||||||
|
|
||||||
|
{{ MACROS.remove_comments(BPFMERGED, 'zeek') }}
|
||||||
|
|
||||||
{% set ZEEKBPF = BPFMERGED.zeek %}
|
{% set ZEEKBPF = BPFMERGED.zeek %}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@ x509_signing_policies:
|
|||||||
- ST: Utah
|
- ST: Utah
|
||||||
- L: Salt Lake City
|
- L: Salt Lake City
|
||||||
- basicConstraints: "critical CA:false"
|
- basicConstraints: "critical CA:false"
|
||||||
- keyUsage: "critical keyEncipherment"
|
- keyUsage: "critical keyEncipherment digitalSignature"
|
||||||
- subjectKeyIdentifier: hash
|
- subjectKeyIdentifier: hash
|
||||||
- authorityKeyIdentifier: keyid,issuer:always
|
- authorityKeyIdentifier: keyid,issuer:always
|
||||||
- extendedKeyUsage: serverAuth
|
- extendedKeyUsage: serverAuth
|
||||||
|
|||||||
@@ -50,6 +50,12 @@ pki_public_ca_crt:
|
|||||||
attempts: 5
|
attempts: 5
|
||||||
interval: 30
|
interval: 30
|
||||||
|
|
||||||
|
mine_update_ca_crt:
|
||||||
|
module.run:
|
||||||
|
- mine.update: []
|
||||||
|
- onchanges:
|
||||||
|
- x509: pki_public_ca_crt
|
||||||
|
|
||||||
cakeyperms:
|
cakeyperms:
|
||||||
file.managed:
|
file.managed:
|
||||||
- replace: False
|
- replace: False
|
||||||
|
|||||||
@@ -8,6 +8,7 @@ include:
|
|||||||
- common.packages
|
- common.packages
|
||||||
{% if GLOBALS.role in GLOBALS.manager_roles %}
|
{% if GLOBALS.role in GLOBALS.manager_roles %}
|
||||||
- manager.elasticsearch # needed for elastic_curl_config state
|
- manager.elasticsearch # needed for elastic_curl_config state
|
||||||
|
- manager.kibana
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
net.core.wmem_default:
|
net.core.wmem_default:
|
||||||
@@ -178,6 +179,14 @@ so-status_check_cron:
|
|||||||
- month: '*'
|
- month: '*'
|
||||||
- dayweek: '*'
|
- dayweek: '*'
|
||||||
|
|
||||||
|
# This cronjob/script runs a check if the node needs restarted, but should be used for future status checks as well
|
||||||
|
common_status_check_cron:
|
||||||
|
cron.present:
|
||||||
|
- name: '/usr/sbin/so-common-status-check > /dev/null 2>&1'
|
||||||
|
- identifier: common_status_check
|
||||||
|
- user: root
|
||||||
|
- minute: '*/10'
|
||||||
|
|
||||||
remove_post_setup_cron:
|
remove_post_setup_cron:
|
||||||
cron.absent:
|
cron.absent:
|
||||||
- name: 'PATH=$PATH:/usr/sbin salt-call state.highstate'
|
- name: 'PATH=$PATH:/usr/sbin salt-call state.highstate'
|
||||||
|
|||||||
@@ -21,7 +21,6 @@ commonpkgs:
|
|||||||
- python3-dateutil
|
- python3-dateutil
|
||||||
- python3-docker
|
- python3-docker
|
||||||
- python3-packaging
|
- python3-packaging
|
||||||
- python3-watchdog
|
|
||||||
- python3-lxml
|
- python3-lxml
|
||||||
- git
|
- git
|
||||||
- rsync
|
- rsync
|
||||||
@@ -47,10 +46,16 @@ python-rich:
|
|||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if GLOBALS.os_family == 'RedHat' %}
|
{% if GLOBALS.os_family == 'RedHat' %}
|
||||||
|
|
||||||
|
remove_mariadb:
|
||||||
|
pkg.removed:
|
||||||
|
- name: mariadb-devel
|
||||||
|
|
||||||
commonpkgs:
|
commonpkgs:
|
||||||
pkg.installed:
|
pkg.installed:
|
||||||
- skip_suggestions: True
|
- skip_suggestions: True
|
||||||
- pkgs:
|
- pkgs:
|
||||||
|
- python3-dnf-plugin-versionlock
|
||||||
- curl
|
- curl
|
||||||
- device-mapper-persistent-data
|
- device-mapper-persistent-data
|
||||||
- fuse
|
- fuse
|
||||||
@@ -63,26 +68,19 @@ commonpkgs:
|
|||||||
- httpd-tools
|
- httpd-tools
|
||||||
- jq
|
- jq
|
||||||
- lvm2
|
- lvm2
|
||||||
{% if GLOBALS.os == 'CentOS Stream' %}
|
|
||||||
- MariaDB-devel
|
|
||||||
{% else %}
|
|
||||||
- mariadb-devel
|
|
||||||
{% endif %}
|
|
||||||
- net-tools
|
- net-tools
|
||||||
- nmap-ncat
|
- nmap-ncat
|
||||||
- openssl
|
|
||||||
- procps-ng
|
- procps-ng
|
||||||
- python3-dnf-plugin-versionlock
|
|
||||||
- python3-docker
|
- python3-docker
|
||||||
- python3-m2crypto
|
- python3-m2crypto
|
||||||
- python3-packaging
|
- python3-packaging
|
||||||
- python3-pyyaml
|
- python3-pyyaml
|
||||||
- python3-rich
|
- python3-rich
|
||||||
- python3-watchdog
|
|
||||||
- rsync
|
- rsync
|
||||||
- sqlite
|
- sqlite
|
||||||
- tcpdump
|
- tcpdump
|
||||||
- unzip
|
- unzip
|
||||||
- wget
|
- wget
|
||||||
- yum-utils
|
- yum-utils
|
||||||
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|||||||
@@ -19,4 +19,5 @@ soup_manager_scripts:
|
|||||||
- source: salt://manager/tools/sbin
|
- source: salt://manager/tools/sbin
|
||||||
- include_pat:
|
- include_pat:
|
||||||
- so-firewall
|
- so-firewall
|
||||||
- soup
|
- so-repo-sync
|
||||||
|
- soup
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
# Elastic agent is not managed by salt. Because of this we must store this base information in a
|
# 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,
|
# 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.
|
# and since this same logic is required during installation, it's included in this file.
|
||||||
ELASTIC_AGENT_TARBALL_VERSION="8.8.2"
|
ELASTIC_AGENT_TARBALL_VERSION="8.10.4"
|
||||||
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_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_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_FILE="/nsm/elastic-fleet/artifacts/elastic-agent_SO-$ELASTIC_AGENT_TARBALL_VERSION.tar.gz"
|
||||||
@@ -133,34 +133,47 @@ check_elastic_license() {
|
|||||||
}
|
}
|
||||||
|
|
||||||
check_salt_master_status() {
|
check_salt_master_status() {
|
||||||
local timeout=$1
|
local count=0
|
||||||
echo "Checking if we can talk to the salt master"
|
local attempts="${1:- 10}"
|
||||||
salt-call state.show_top concurrent=true
|
current_time="$(date '+%b %d %H:%M:%S')"
|
||||||
|
echo "Checking if we can access the salt master and that it is ready at: ${current_time}"
|
||||||
return
|
while ! salt-call state.show_top -l error concurrent=true 1> /dev/null; do
|
||||||
|
current_time="$(date '+%b %d %H:%M:%S')"
|
||||||
|
echo "Can't access salt master or it is not ready at: ${current_time}"
|
||||||
|
((count+=1))
|
||||||
|
if [[ $count -eq $attempts ]]; then
|
||||||
|
# 10 attempts takes about 5.5 minutes
|
||||||
|
echo "Gave up trying to access salt-master"
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
current_time="$(date '+%b %d %H:%M:%S')"
|
||||||
|
echo "Successfully accessed and salt master ready at: ${current_time}"
|
||||||
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# this is only intended to be used to check the status of the minion from a salt master
|
||||||
check_salt_minion_status() {
|
check_salt_minion_status() {
|
||||||
local timeout=$1
|
local minion="$1"
|
||||||
echo "Checking if the salt minion will respond to jobs" >> "$setup_log" 2>&1
|
local timeout="${2:-5}"
|
||||||
salt "$MINION_ID" test.ping -t $timeout > /dev/null 2>&1
|
local logfile="${3:-'/dev/stdout'}"
|
||||||
|
echo "Checking if the salt minion: $minion will respond to jobs" >> "$logfile" 2>&1
|
||||||
|
salt "$minion" test.ping -t $timeout > /dev/null 2>&1
|
||||||
local status=$?
|
local status=$?
|
||||||
if [ $status -gt 0 ]; then
|
if [ $status -gt 0 ]; then
|
||||||
echo " Minion did not respond" >> "$setup_log" 2>&1
|
echo " Minion did not respond" >> "$logfile" 2>&1
|
||||||
else
|
else
|
||||||
echo " Received job response from salt minion" >> "$setup_log" 2>&1
|
echo " Received job response from salt minion" >> "$logfile" 2>&1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
return $status
|
return $status
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
copy_new_files() {
|
copy_new_files() {
|
||||||
# Copy new files over to the salt dir
|
# Copy new files over to the salt dir
|
||||||
cd $UPDATE_DIR
|
cd $UPDATE_DIR
|
||||||
rsync -a salt $DEFAULT_SALT_DIR/
|
rsync -a salt $DEFAULT_SALT_DIR/ --delete
|
||||||
rsync -a pillar $DEFAULT_SALT_DIR/
|
rsync -a pillar $DEFAULT_SALT_DIR/ --delete
|
||||||
chown -R socore:socore $DEFAULT_SALT_DIR/
|
chown -R socore:socore $DEFAULT_SALT_DIR/
|
||||||
chmod 755 $DEFAULT_SALT_DIR/pillar/firewall/addfirewall.sh
|
chmod 755 $DEFAULT_SALT_DIR/pillar/firewall/addfirewall.sh
|
||||||
cd /tmp
|
cd /tmp
|
||||||
@@ -242,7 +255,7 @@ gpg_rpm_import() {
|
|||||||
else
|
else
|
||||||
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/$OS/keys"
|
local RPMKEYSLOC="$UPDATE_DIR/salt/repo/client/files/$OS/keys"
|
||||||
fi
|
fi
|
||||||
RPMKEYS=('RPM-GPG-KEY-oracle' 'RPM-GPG-KEY-EPEL-9' 'SALT-PROJECT-GPG-PUBKEY-2023.pub' 'docker.pub' 'securityonion.pub' 'MariaDB-Server-GPG-KEY')
|
RPMKEYS=('RPM-GPG-KEY-oracle' 'RPM-GPG-KEY-EPEL-9' 'SALT-PROJECT-GPG-PUBKEY-2023.pub' 'docker.pub' 'securityonion.pub')
|
||||||
for RPMKEY in "${RPMKEYS[@]}"; do
|
for RPMKEY in "${RPMKEYS[@]}"; do
|
||||||
rpm --import $RPMKEYSLOC/$RPMKEY
|
rpm --import $RPMKEYSLOC/$RPMKEY
|
||||||
echo "Imported $RPMKEY"
|
echo "Imported $RPMKEY"
|
||||||
@@ -384,6 +397,10 @@ retry() {
|
|||||||
echo "<Start of output>"
|
echo "<Start of output>"
|
||||||
echo "$output"
|
echo "$output"
|
||||||
echo "<End of output>"
|
echo "<End of output>"
|
||||||
|
if [[ $exitcode -eq 0 ]]; then
|
||||||
|
echo "Forcing exit code to 1"
|
||||||
|
exitcode=1
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
elif [ -n "$failedOutput" ]; then
|
elif [ -n "$failedOutput" ]; then
|
||||||
if [[ "$output" =~ "$failedOutput" ]]; then
|
if [[ "$output" =~ "$failedOutput" ]]; then
|
||||||
@@ -392,7 +409,7 @@ retry() {
|
|||||||
echo "$output"
|
echo "$output"
|
||||||
echo "<End of output>"
|
echo "<End of output>"
|
||||||
if [[ $exitcode -eq 0 ]]; then
|
if [[ $exitcode -eq 0 ]]; then
|
||||||
echo "The exitcode was 0, but we are setting to 1 since we found $failedOutput in the output."
|
echo "Forcing exit code to 1"
|
||||||
exitcode=1
|
exitcode=1
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
@@ -430,6 +447,24 @@ run_check_net_err() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
wait_for_salt_minion() {
|
||||||
|
local minion="$1"
|
||||||
|
local timeout="${2:-5}"
|
||||||
|
local logfile="${3:-'/dev/stdout'}"
|
||||||
|
retry 60 5 "journalctl -u salt-minion.service | grep 'Minion is ready to receive requests'" >> "$logfile" 2>&1 || fail
|
||||||
|
local attempt=0
|
||||||
|
# each attempts would take about 15 seconds
|
||||||
|
local maxAttempts=20
|
||||||
|
until check_salt_minion_status "$minion" "$timeout" "$logfile"; do
|
||||||
|
attempt=$((attempt+1))
|
||||||
|
if [[ $attempt -eq $maxAttempts ]]; then
|
||||||
|
return 1
|
||||||
|
fi
|
||||||
|
sleep 10
|
||||||
|
done
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
|
||||||
salt_minion_count() {
|
salt_minion_count() {
|
||||||
local MINIONDIR="/opt/so/saltstack/local/pillar/minions"
|
local MINIONDIR="/opt/so/saltstack/local/pillar/minions"
|
||||||
MINIONCOUNT=$(ls -la $MINIONDIR/*.sls | grep -v adv_ | wc -l)
|
MINIONCOUNT=$(ls -la $MINIONDIR/*.sls | grep -v adv_ | wc -l)
|
||||||
@@ -442,15 +477,51 @@ set_os() {
|
|||||||
OS=rocky
|
OS=rocky
|
||||||
OSVER=9
|
OSVER=9
|
||||||
is_rocky=true
|
is_rocky=true
|
||||||
|
is_rpm=true
|
||||||
elif grep -q "CentOS Stream release 9" /etc/redhat-release; then
|
elif grep -q "CentOS Stream release 9" /etc/redhat-release; then
|
||||||
OS=centos
|
OS=centos
|
||||||
OSVER=9
|
OSVER=9
|
||||||
is_centos=true
|
is_centos=true
|
||||||
|
is_rpm=true
|
||||||
|
elif grep -q "AlmaLinux release 9" /etc/redhat-release; then
|
||||||
|
OS=alma
|
||||||
|
OSVER=9
|
||||||
|
is_alma=true
|
||||||
|
is_rpm=true
|
||||||
|
elif grep -q "Red Hat Enterprise Linux release 9" /etc/redhat-release; then
|
||||||
|
if [ -f /etc/oracle-release ]; then
|
||||||
|
OS=oracle
|
||||||
|
OSVER=9
|
||||||
|
is_oracle=true
|
||||||
|
is_rpm=true
|
||||||
|
else
|
||||||
|
OS=rhel
|
||||||
|
OSVER=9
|
||||||
|
is_rhel=true
|
||||||
|
is_rpm=true
|
||||||
|
fi
|
||||||
fi
|
fi
|
||||||
cron_service_name="crond"
|
cron_service_name="crond"
|
||||||
else
|
elif [ -f /etc/os-release ]; then
|
||||||
OS=ubuntu
|
if grep -q "UBUNTU_CODENAME=focal" /etc/os-release; then
|
||||||
is_ubuntu=true
|
OSVER=focal
|
||||||
|
UBVER=20.04
|
||||||
|
OS=ubuntu
|
||||||
|
is_ubuntu=true
|
||||||
|
is_deb=true
|
||||||
|
elif grep -q "UBUNTU_CODENAME=jammy" /etc/os-release; then
|
||||||
|
OSVER=jammy
|
||||||
|
UBVER=22.04
|
||||||
|
OS=ubuntu
|
||||||
|
is_ubuntu=true
|
||||||
|
is_deb=true
|
||||||
|
elif grep -q "VERSION_CODENAME=bookworm" /etc/os-release; then
|
||||||
|
OSVER=bookworm
|
||||||
|
DEBVER=12
|
||||||
|
is_debian=true
|
||||||
|
OS=debian
|
||||||
|
is_deb=true
|
||||||
|
fi
|
||||||
cron_service_name="cron"
|
cron_service_name="cron"
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
@@ -484,6 +555,10 @@ set_version() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
status () {
|
||||||
|
printf "\n=========================================================================\n$(date) | $1\n=========================================================================\n"
|
||||||
|
}
|
||||||
|
|
||||||
systemctl_func() {
|
systemctl_func() {
|
||||||
local action=$1
|
local action=$1
|
||||||
local echo_action=$1
|
local echo_action=$1
|
||||||
|
|||||||
52
salt/common/tools/sbin/so-common-status-check
Normal file
52
salt/common/tools/sbin/so-common-status-check
Normal file
@@ -0,0 +1,52 @@
|
|||||||
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
|
# 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 sys
|
||||||
|
import subprocess
|
||||||
|
import os
|
||||||
|
|
||||||
|
sys.path.append('/opt/saltstack/salt/lib/python3.10/site-packages/')
|
||||||
|
import salt.config
|
||||||
|
import salt.loader
|
||||||
|
|
||||||
|
__opts__ = salt.config.minion_config('/etc/salt/minion')
|
||||||
|
__grains__ = salt.loader.grains(__opts__)
|
||||||
|
|
||||||
|
def check_needs_restarted():
|
||||||
|
osfam = __grains__['os_family']
|
||||||
|
val = '0'
|
||||||
|
outfile = "/opt/so/log/sostatus/needs_restarted"
|
||||||
|
|
||||||
|
if osfam == 'Debian':
|
||||||
|
if os.path.exists('/var/run/reboot-required'):
|
||||||
|
val = '1'
|
||||||
|
elif osfam == 'RedHat':
|
||||||
|
cmd = 'needs-restarting -r > /dev/null 2>&1'
|
||||||
|
try:
|
||||||
|
needs_restarting = subprocess.check_call(cmd, shell=True)
|
||||||
|
except subprocess.CalledProcessError:
|
||||||
|
val = '1'
|
||||||
|
else:
|
||||||
|
fail("Unsupported OS")
|
||||||
|
|
||||||
|
with open(outfile, 'w') as f:
|
||||||
|
f.write(val)
|
||||||
|
|
||||||
|
def fail(msg):
|
||||||
|
print(msg, file=sys.stderr)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
proc = subprocess.run(['id', '-u'], stdout=subprocess.PIPE, encoding="utf-8")
|
||||||
|
if proc.stdout.strip() != "0":
|
||||||
|
fail("This program must be run as root")
|
||||||
|
|
||||||
|
check_needs_restarted()
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
||||||
@@ -42,7 +42,6 @@ container_list() {
|
|||||||
)
|
)
|
||||||
elif [ $MANAGERCHECK != 'so-helix' ]; then
|
elif [ $MANAGERCHECK != 'so-helix' ]; then
|
||||||
TRUSTED_CONTAINERS=(
|
TRUSTED_CONTAINERS=(
|
||||||
"so-curator"
|
|
||||||
"so-elastalert"
|
"so-elastalert"
|
||||||
"so-elastic-agent"
|
"so-elastic-agent"
|
||||||
"so-elastic-agent-builder"
|
"so-elastic-agent-builder"
|
||||||
@@ -137,7 +136,7 @@ update_docker_containers() {
|
|||||||
for i in "${TRUSTED_CONTAINERS[@]}"
|
for i in "${TRUSTED_CONTAINERS[@]}"
|
||||||
do
|
do
|
||||||
if [ -z "$PROGRESS_CALLBACK" ]; then
|
if [ -z "$PROGRESS_CALLBACK" ]; then
|
||||||
echo "Downloading $i" >> "$LOG_FILE" 2>&1
|
echo "Downloading $i" >> "$LOG_FILE" 2>&1
|
||||||
else
|
else
|
||||||
$PROGRESS_CALLBACK $i
|
$PROGRESS_CALLBACK $i
|
||||||
fi
|
fi
|
||||||
|
|||||||
252
salt/common/tools/sbin/so-log-check
Executable file
252
salt/common/tools/sbin/so-log-check
Executable file
@@ -0,0 +1,252 @@
|
|||||||
|
#!/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
|
||||||
|
|
||||||
|
RECENT_LOG_LINES=200
|
||||||
|
EXCLUDE_STARTUP_ERRORS=N
|
||||||
|
EXCLUDE_FALSE_POSITIVE_ERRORS=N
|
||||||
|
EXCLUDE_KNOWN_ERRORS=N
|
||||||
|
|
||||||
|
while [[ $# -gt 0 ]]; do
|
||||||
|
case $1 in
|
||||||
|
--exclude-connection-errors)
|
||||||
|
EXCLUDE_STARTUP_ERRORS=Y
|
||||||
|
;;
|
||||||
|
--exclude-false-positives)
|
||||||
|
EXCLUDE_FALSE_POSITIVE_ERRORS=Y
|
||||||
|
;;
|
||||||
|
--exclude-known-errors)
|
||||||
|
EXCLUDE_KNOWN_ERRORS=Y
|
||||||
|
;;
|
||||||
|
--unknown)
|
||||||
|
EXCLUDE_STARTUP_ERRORS=Y
|
||||||
|
EXCLUDE_FALSE_POSITIVE_ERRORS=Y
|
||||||
|
EXCLUDE_KNOWN_ERRORS=Y
|
||||||
|
;;
|
||||||
|
--recent-log-lines)
|
||||||
|
shift
|
||||||
|
RECENT_LOG_LINES=$1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
echo "Usage: $0 [options]"
|
||||||
|
echo ""
|
||||||
|
echo "where options are:"
|
||||||
|
echo " --recent-log-lines N looks at the most recent N log lines per file or container; defaults to 200"
|
||||||
|
echo " --exclude-connection-errors exclude errors caused by a recent server or container restart"
|
||||||
|
echo " --exclude-false-positives exclude logs that are known false positives"
|
||||||
|
echo " --exclude-known-errors exclude errors that are known and non-critical issues"
|
||||||
|
echo " --unknown exclude everything mentioned above; only show unknown errors"
|
||||||
|
echo ""
|
||||||
|
echo "A non-zero return value indicates errors were found"
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
echo "Security Onion Log Check - $(date)"
|
||||||
|
echo "-------------------------------------------"
|
||||||
|
echo ""
|
||||||
|
echo "- RECENT_LOG_LINES: $RECENT_LOG_LINES"
|
||||||
|
echo "- EXCLUDE_STARTUP_ERRORS: $EXCLUDE_STARTUP_ERRORS"
|
||||||
|
echo "- EXCLUDE_FALSE_POSITIVE_ERRORS: $EXCLUDE_FALSE_POSITIVE_ERRORS"
|
||||||
|
echo "- EXCLUDE_KNOWN_ERRORS: $EXCLUDE_KNOWN_ERRORS"
|
||||||
|
echo ""
|
||||||
|
|
||||||
|
function status() {
|
||||||
|
header "$1"
|
||||||
|
}
|
||||||
|
|
||||||
|
function exclude_container() {
|
||||||
|
name=$1
|
||||||
|
|
||||||
|
exclude_id=$(docker ps | grep "$name" | awk '{print $1}')
|
||||||
|
if [[ -n "$exclude_id" ]]; then
|
||||||
|
CONTAINER_IDS=$(echo $CONTAINER_IDS | sed -e "s/$exclude_id//g")
|
||||||
|
return $?
|
||||||
|
fi
|
||||||
|
return $?
|
||||||
|
}
|
||||||
|
|
||||||
|
function exclude_log() {
|
||||||
|
name=$1
|
||||||
|
|
||||||
|
cat /tmp/log_check_files | grep -v $name > /tmp/log_check_files.new
|
||||||
|
mv /tmp/log_check_files.new /tmp/log_check_files
|
||||||
|
}
|
||||||
|
|
||||||
|
function check_for_errors() {
|
||||||
|
if cat /tmp/log_check | grep -i error | grep -vEi "$EXCLUDED_ERRORS"; then
|
||||||
|
RESULT=1
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
EXCLUDED_ERRORS="__LOG_CHECK_PLACEHOLDER_EXCLUSION__"
|
||||||
|
|
||||||
|
if [[ $EXCLUDE_STARTUP_ERRORS == 'Y' ]]; then
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|database is locked" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|econnreset" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|unreachable" # server not yet ready (logstash waiting on elastic)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|shutdown process" # server not yet ready (logstash waiting on elastic)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|contain valid certificates" # server not yet ready (logstash waiting on elastic)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failedaction" # server not yet ready (logstash waiting on elastic)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|no route to host" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|not running" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|unavailable" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|request.py" # server not yet ready (python stack output)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|httperror" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|servfail" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|connect" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|missing shards" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failed to send metrics" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|broken pipe" # server not yet ready
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|status: 502" # server not yet ready (nginx waiting on upstream)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeout exceeded" # server not yet ready (telegraf waiting on elasticsearch)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|influxsize kbytes" # server not yet ready (telegraf waiting on influx)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|expected field at" # server not yet ready (telegraf waiting on health data)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|connection timed out" # server not yet ready (telegraf plugin unable to connect)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|command timed out" # server not yet ready (telegraf plugin waiting for script to finish)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|cached the public key" # server not yet ready (salt minion waiting on key acceptance)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|no ingest nodes" # server not yet ready (logstash waiting on elastic)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failed to poll" # server not yet ready (sensoroni waiting on soc)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|minions returned with non" # server not yet ready (salt waiting on minions)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|so_long_term" # server not yet ready (influxdb not yet setup)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|search_phase_execution_exception" # server not yet ready (elastalert running searches before ES is ready)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeout retrieving docker" # Telegraf unable to reach Docker engine, rare
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeout retrieving container" # Telegraf unable to reach Docker engine, rare
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error while communicating" # Elasticsearch MS -> HN "sensor" temporarily unavailable
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|tls handshake error" # Docker registry container when new node comes onlines
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|Unable to get license information" # Logstash trying to contact ES before it's ready
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $EXCLUDE_FALSE_POSITIVE_ERRORS == 'Y' ]]; then
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|elastalert_status_error" # false positive
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|elastalert_error" # false positive
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error: '0'" # false positive
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|errors_index" # false positive
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|noerror" # false positive
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|outofmemoryerror" # false positive (elastic command line)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|adding component template" # false positive (elastic security)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|adding index template" # false positive (elastic security)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|fs_errors" # false positive (suricata stats)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error-template" # false positive (elastic templates)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|deprecated" # false positive (playbook)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|windows" # false positive (playbook)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|could cause errors" # false positive (playbook)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|_error.yml" # false positive (playbook)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|id.orig_h" # false positive (zeek test data)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|emerging-all.rules" # false positive (error in rulename)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|invalid query input" # false positive (Invalid user input in hunt query)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|example" # false positive (example test data)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|status 200" # false positive (request successful, contained error string in content)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|app_layer.error" # false positive (suricata 7) in stats.log e.g. app_layer.error.imap.parser | Total | 0
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|is not an ip string literal" # false positive (Open Canary logging out blank IP addresses)
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [[ $EXCLUDE_KNOWN_ERRORS == 'Y' ]]; then
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|eof"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|raise" # redis/python generic stack line, rely on other lines for actual error
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|fail\\(error\\)" # redis/python generic stack line, rely on other lines for actual error
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|urlerror" # idstools connection timeout
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeouterror" # idstools connection timeout
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|forbidden" # playbook
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|_ml" # Elastic ML errors
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|context canceled" # elastic agent during shutdown
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|exited with code 128" # soctopus errors during forced restart by highstate
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|geoip databases update" # airgap can't update GeoIP DB
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|filenotfounderror" # bug in 2.4.10 filecheck salt state caused duplicate cronjobs
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|salt-minion-check" # bug in early 2.4 place Jinja script in non-jinja salt dir causing cron output errors
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|generating elastalert config" # playbook expected error
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|activerecord" # playbook expected error
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|monitoring.metrics" # known issue with elastic agent casting the field incorrectly if an integer value shows up before a float
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|repodownload.conf" # known issue with reposync on pre-2.4.20
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|missing versions record" # stenographer corrupt index
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|soc.field." # known ingest type collisions issue with earlier versions of SO
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error parsing signature" # Malformed Suricata rule, from upstream provider
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|sticky buffer has no matches" # Non-critical Suricata error
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|Unable to determine destination index stats" # Elastic transform temporary error
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|cannot join on an empty table" # InfluxDB flux query, import nodes
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|exhausting result iterator" # InfluxDB flux query mismatched table results (temporary data issue)
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failed to finish run" # InfluxDB rare error, self-recoverable
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|iteration"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|communication packets"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|use of closed"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|bookkeeper"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|noindices"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|failed to start transient scope"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|so-user.lock exists"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|systemd-run"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|retcode: 1"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|telemetry-task"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|redisqueue"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|fleet_detail_query"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|num errors=0"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|provisioning/alerting"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|provisioning/notifiers"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|provisoning/plugins"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|active-responses.log"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|scanentropy"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|integration policy"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|blob unknown"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|token required"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|zeekcaptureloss"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|unable to create detection"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|error installing new prebuilt rules"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|parent.error"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|req.LocalMeta.host.ip" # known issue in GH
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|sendmail" # zeek
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|stats.log"
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|context deadline exceeded"
|
||||||
|
fi
|
||||||
|
|
||||||
|
RESULT=0
|
||||||
|
|
||||||
|
# Check Security Onion container stdout/stderr logs
|
||||||
|
CONTAINER_IDS=$(docker ps -q)
|
||||||
|
exclude_container so-kibana # kibana error logs are too verbose with large varieties of errors most of which are temporary
|
||||||
|
exclude_container so-idstools # ignore due to known issues and noisy logging
|
||||||
|
exclude_container so-playbook # ignore due to several playbook known issues
|
||||||
|
|
||||||
|
for container_id in $CONTAINER_IDS; do
|
||||||
|
container_name=$(docker ps --format json | jq ". | select(.ID==\"$container_id\")|.Names")
|
||||||
|
status "Checking container $container_name"
|
||||||
|
docker logs -n $RECENT_LOG_LINES $container_id > /tmp/log_check 2>&1
|
||||||
|
check_for_errors
|
||||||
|
done
|
||||||
|
|
||||||
|
# Check Security Onion related log files
|
||||||
|
find /opt/so/log/ /nsm -name \*.log > /tmp/log_check_files
|
||||||
|
if [[ -f /var/log/cron ]]; then
|
||||||
|
echo "/var/log/cron" >> /tmp/log_check_files
|
||||||
|
fi
|
||||||
|
exclude_log "kibana.log" # kibana error logs are too verbose with large varieties of errors most of which are temporary
|
||||||
|
exclude_log "spool" # disregard zeek analyze logs as this is data specific
|
||||||
|
exclude_log "import" # disregard imported test data the contains error strings
|
||||||
|
exclude_log "update.log" # ignore playbook updates due to several known issues
|
||||||
|
exclude_log "playbook.log" # ignore due to several playbook known issues
|
||||||
|
exclude_log "cron-cluster-delete.log" # ignore since Curator has been removed
|
||||||
|
exclude_log "cron-close.log" # ignore since Curator has been removed
|
||||||
|
exclude_log "curator.log" # ignore since Curator has been removed
|
||||||
|
|
||||||
|
for log_file in $(cat /tmp/log_check_files); do
|
||||||
|
status "Checking log file $log_file"
|
||||||
|
tail -n $RECENT_LOG_LINES $log_file > /tmp/log_check
|
||||||
|
check_for_errors
|
||||||
|
done
|
||||||
|
|
||||||
|
# Cleanup temp files
|
||||||
|
rm -f /tmp/log_check_files
|
||||||
|
rm -f /tmp/log_check
|
||||||
|
|
||||||
|
if [[ $RESULT -eq 0 ]]; then
|
||||||
|
echo -e "\nResult: No errors found"
|
||||||
|
else
|
||||||
|
echo -e "\nResult: One or more errors found"
|
||||||
|
fi
|
||||||
|
|
||||||
|
exit $RESULT
|
||||||
@@ -41,8 +41,13 @@ done
|
|||||||
if [ $SKIP -ne 1 ]; then
|
if [ $SKIP -ne 1 ]; then
|
||||||
# Inform user we are about to delete all data
|
# Inform user we are about to delete all data
|
||||||
echo
|
echo
|
||||||
echo "This script will delete all NIDS data (PCAP, Suricata, Zeek)"
|
echo "This script will delete all NSM data from /nsm."
|
||||||
echo "If you would like to proceed, please type "AGREE" and hit ENTER."
|
echo
|
||||||
|
echo "This includes Suricata data, Zeek data, and full packet capture (PCAP)."
|
||||||
|
echo
|
||||||
|
echo "This will NOT delete any Suricata or Zeek logs that have already been ingested into Elasticsearch."
|
||||||
|
echo
|
||||||
|
echo "If you would like to proceed, then type AGREE and press ENTER."
|
||||||
echo
|
echo
|
||||||
# Read user input
|
# Read user input
|
||||||
read INPUT
|
read INPUT
|
||||||
@@ -54,8 +59,8 @@ delete_pcap() {
|
|||||||
[ -d $PCAP_DATA ] && so-pcap-stop && rm -rf $PCAP_DATA/* && so-pcap-start
|
[ -d $PCAP_DATA ] && so-pcap-stop && rm -rf $PCAP_DATA/* && so-pcap-start
|
||||||
}
|
}
|
||||||
delete_suricata() {
|
delete_suricata() {
|
||||||
SURI_LOG="/opt/so/log/suricata/eve.json"
|
SURI_LOG="/nsm/suricata/"
|
||||||
[ -f $SURI_LOG ] && so-suricata-stop && rm -f $SURI_LOG && so-suricata-start
|
[ -d $SURI_LOG ] && so-suricata-stop && rm -rf $SURI_LOG/* && so-suricata-start
|
||||||
}
|
}
|
||||||
delete_zeek() {
|
delete_zeek() {
|
||||||
ZEEK_LOG="/nsm/zeek/logs/"
|
ZEEK_LOG="/nsm/zeek/logs/"
|
||||||
|
|||||||
@@ -5,4 +5,14 @@
|
|||||||
# https://securityonion.net/license; you may not use this file except in compliance with the
|
# https://securityonion.net/license; you may not use this file except in compliance with the
|
||||||
# Elastic License 2.0.
|
# Elastic License 2.0.
|
||||||
|
|
||||||
|
. /usr/sbin/so-common
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
# Playback live sample data onto monitor interface
|
||||||
so-tcpreplay /opt/samples/* 2> /dev/null
|
so-tcpreplay /opt/samples/* 2> /dev/null
|
||||||
|
|
||||||
|
# Ingest sample pfsense log entry
|
||||||
|
if is_sensor_node; then
|
||||||
|
echo "<134>$(date '+%b %d %H:%M:%S') filterlog[31624]: 84,,,1567509287,igb0.244,match,pass,in,4,0x0,,64,0,0,DF,6,tcp,64,192.168.1.1,10.10.10.10,56320,443,0,S,3333585167,,65535,,mss;nop;wscale;nop;nop;TS;sackOK;eol" | nc -uv -w1 127.0.0.1 514 > /dev/null 2>&1
|
||||||
|
fi
|
||||||
|
|||||||
@@ -1,67 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
local_salt_dir=/opt/so/saltstack/local
|
|
||||||
|
|
||||||
zeek_logs_enabled() {
|
|
||||||
echo "zeeklogs:" > $local_salt_dir/pillar/zeeklogs.sls
|
|
||||||
echo " enabled:" >> $local_salt_dir/pillar/zeeklogs.sls
|
|
||||||
for BLOG in "${BLOGS[@]}"; do
|
|
||||||
echo " - $BLOG" | tr -d '"' >> $local_salt_dir/pillar/zeeklogs.sls
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
|
||||||
whiptail_manager_adv_service_zeeklogs() {
|
|
||||||
BLOGS=$(whiptail --title "so-zeek-logs" --checklist "Please Select Logs to Send:" 24 78 12 \
|
|
||||||
"conn" "Connection Logging" ON \
|
|
||||||
"dce_rpc" "RPC Logs" ON \
|
|
||||||
"dhcp" "DHCP Logs" ON \
|
|
||||||
"dnp3" "DNP3 Logs" ON \
|
|
||||||
"dns" "DNS Logs" ON \
|
|
||||||
"dpd" "DPD Logs" ON \
|
|
||||||
"files" "Files Logs" ON \
|
|
||||||
"ftp" "FTP Logs" ON \
|
|
||||||
"http" "HTTP Logs" ON \
|
|
||||||
"intel" "Intel Hits Logs" ON \
|
|
||||||
"irc" "IRC Chat Logs" ON \
|
|
||||||
"kerberos" "Kerberos Logs" ON \
|
|
||||||
"modbus" "MODBUS Logs" ON \
|
|
||||||
"notice" "Zeek Notice Logs" ON \
|
|
||||||
"ntlm" "NTLM Logs" ON \
|
|
||||||
"pe" "PE Logs" ON \
|
|
||||||
"radius" "Radius Logs" ON \
|
|
||||||
"rfb" "RFB Logs" ON \
|
|
||||||
"rdp" "RDP Logs" ON \
|
|
||||||
"sip" "SIP Logs" ON \
|
|
||||||
"smb_files" "SMB Files Logs" ON \
|
|
||||||
"smb_mapping" "SMB Mapping Logs" ON \
|
|
||||||
"smtp" "SMTP Logs" ON \
|
|
||||||
"snmp" "SNMP Logs" ON \
|
|
||||||
"ssh" "SSH Logs" ON \
|
|
||||||
"ssl" "SSL Logs" ON \
|
|
||||||
"syslog" "Syslog Logs" ON \
|
|
||||||
"tunnel" "Tunnel Logs" ON \
|
|
||||||
"weird" "Zeek Weird Logs" ON \
|
|
||||||
"mysql" "MySQL Logs" ON \
|
|
||||||
"socks" "SOCKS Logs" ON \
|
|
||||||
"x509" "x.509 Logs" ON 3>&1 1>&2 2>&3 )
|
|
||||||
|
|
||||||
local exitstatus=$?
|
|
||||||
|
|
||||||
IFS=' ' read -ra BLOGS <<< "$BLOGS"
|
|
||||||
|
|
||||||
return $exitstatus
|
|
||||||
}
|
|
||||||
|
|
||||||
whiptail_manager_adv_service_zeeklogs
|
|
||||||
return_code=$?
|
|
||||||
case $return_code in
|
|
||||||
1)
|
|
||||||
whiptail --title "so-zeek-logs" --msgbox "Cancelling. No changes have been made." 8 75
|
|
||||||
;;
|
|
||||||
255)
|
|
||||||
whiptail --title "so-zeek-logs" --msgbox "Whiptail error occured, exiting." 8 75
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
zeek_logs_enabled
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
|
|
||||||
@@ -5,15 +5,15 @@
|
|||||||
# https://securityonion.net/license; you may not use this file except in compliance with the
|
# https://securityonion.net/license; you may not use this file except in compliance with the
|
||||||
# Elastic License 2.0.
|
# Elastic License 2.0.
|
||||||
|
|
||||||
|
source /usr/sbin/so-common
|
||||||
|
doc_desktop_url="$DOC_BASE_URL/desktop.html"
|
||||||
|
|
||||||
{# we only want the script to install the desktop if it is Rocky -#}
|
{# we only want the script to install the desktop if it is OEL -#}
|
||||||
{% if grains.os == 'Rocky' -%}
|
{% if grains.os == 'OEL' -%}
|
||||||
{# if this is a manager -#}
|
{# if this is a manager -#}
|
||||||
{% if grains.master == grains.id.split('_')|first -%}
|
{% if grains.master == grains.id.split('_')|first -%}
|
||||||
|
|
||||||
source /usr/sbin/so-common
|
pillar_file="/opt/so/saltstack/local/pillar/minions/adv_{{grains.id}}.sls"
|
||||||
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 [ -f "$pillar_file" ]; then
|
||||||
if ! grep -q "^desktop:$" "$pillar_file"; then
|
if ! grep -q "^desktop:$" "$pillar_file"; then
|
||||||
@@ -65,7 +65,7 @@ if [ -f "$pillar_file" ]; then
|
|||||||
fi
|
fi
|
||||||
else # desktop is already added
|
else # desktop is already added
|
||||||
echo "The desktop pillar already exists in $pillar_file."
|
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 "To enable/disable the gui, set 'desktop:gui:enabled' to true or false in $pillar_file. Alternatively, this can be set in the SOC UI under advanced."
|
||||||
echo "Additional documentation can be found at $doc_desktop_url."
|
echo "Additional documentation can be found at $doc_desktop_url."
|
||||||
fi
|
fi
|
||||||
else # if the pillar file doesn't exist
|
else # if the pillar file doesn't exist
|
||||||
@@ -75,17 +75,22 @@ fi
|
|||||||
{#- if this is not a manager #}
|
{#- if this is not a manager #}
|
||||||
{% else -%}
|
{% else -%}
|
||||||
|
|
||||||
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."
|
echo "Since this is not a manager, the pillar values to enable Security Onion Desktop must be set manually. This can be enabled in the SOC UI under advanced by adding the following:"
|
||||||
|
echo "desktop:"
|
||||||
|
echo " gui:"
|
||||||
|
echo " enabled: true"
|
||||||
|
echo ""
|
||||||
|
echo "Please view the documentation at $doc_desktop_url."
|
||||||
|
|
||||||
{#- endif if this is a manager #}
|
{#- endif if this is a manager #}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
{#- if not Rocky #}
|
{#- if not OEL #}
|
||||||
{%- else %}
|
{%- else %}
|
||||||
|
|
||||||
echo "The Security Onion Desktop can only be installed on Rocky Linux. Please view the documentation at $doc_desktop_url."
|
echo "The Security Onion Desktop can only be installed on Oracle Linux. Please view the documentation at $doc_desktop_url."
|
||||||
|
|
||||||
{#- endif grains.os == Rocky #}
|
{#- endif grains.os == OEL #}
|
||||||
{% endif -%}
|
{% endif -%}
|
||||||
|
|
||||||
exit 0
|
exit 0
|
||||||
|
|||||||
@@ -80,8 +80,8 @@ function evtx2es() {
|
|||||||
-e "SHIFTTS=$SHIFTDATE" \
|
-e "SHIFTTS=$SHIFTDATE" \
|
||||||
-v "$EVTX:/tmp/data.evtx" \
|
-v "$EVTX:/tmp/data.evtx" \
|
||||||
-v "/nsm/import/$HASH/evtx/:/tmp/evtx/" \
|
-v "/nsm/import/$HASH/evtx/:/tmp/evtx/" \
|
||||||
-v "/nsm/import/evtx-end_newest:/tmp/newest" \
|
-v "/nsm/import/$HASH/evtx-end_newest:/tmp/newest" \
|
||||||
-v "/nsm/import/evtx-start_oldest:/tmp/oldest" \
|
-v "/nsm/import/$HASH/evtx-start_oldest:/tmp/oldest" \
|
||||||
--entrypoint "/evtx_calc_timestamps.sh" \
|
--entrypoint "/evtx_calc_timestamps.sh" \
|
||||||
{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }} >> $LOG_FILE 2>&1
|
{{ MANAGER }}:5000/{{ IMAGEREPO }}/so-pcaptools:{{ VERSION }} >> $LOG_FILE 2>&1
|
||||||
}
|
}
|
||||||
@@ -111,12 +111,6 @@ INVALID_EVTXS_COUNT=0
|
|||||||
VALID_EVTXS_COUNT=0
|
VALID_EVTXS_COUNT=0
|
||||||
SKIPPED_EVTXS_COUNT=0
|
SKIPPED_EVTXS_COUNT=0
|
||||||
|
|
||||||
touch /nsm/import/evtx-start_oldest
|
|
||||||
touch /nsm/import/evtx-end_newest
|
|
||||||
|
|
||||||
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
|
# paths must be quoted in case they include spaces
|
||||||
for EVTX in $INPUT_FILES; do
|
for EVTX in $INPUT_FILES; do
|
||||||
EVTX=$(/usr/bin/realpath "$EVTX")
|
EVTX=$(/usr/bin/realpath "$EVTX")
|
||||||
@@ -141,8 +135,15 @@ for EVTX in $INPUT_FILES; do
|
|||||||
status "- this EVTX has already been imported; skipping"
|
status "- this EVTX has already been imported; skipping"
|
||||||
SKIPPED_EVTXS_COUNT=$((SKIPPED_EVTXS_COUNT + 1))
|
SKIPPED_EVTXS_COUNT=$((SKIPPED_EVTXS_COUNT + 1))
|
||||||
else
|
else
|
||||||
|
# create EVTX directory
|
||||||
EVTX_DIR=$HASH_DIR/evtx
|
EVTX_DIR=$HASH_DIR/evtx
|
||||||
mkdir -p $EVTX_DIR
|
mkdir -p $EVTX_DIR
|
||||||
|
# create import timestamp files
|
||||||
|
for i in evtx-start_oldest evtx-end_newest; do
|
||||||
|
if ! [ -f "$i" ]; then
|
||||||
|
touch /nsm/import/$HASH/$i
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
|
||||||
# import evtx and write them to import ingest pipeline
|
# import evtx and write them to import ingest pipeline
|
||||||
status "- importing logs to Elasticsearch..."
|
status "- importing logs to Elasticsearch..."
|
||||||
@@ -154,28 +155,37 @@ for EVTX in $INPUT_FILES; do
|
|||||||
VALID_EVTXS_COUNT=$((VALID_EVTXS_COUNT + 1))
|
VALID_EVTXS_COUNT=$((VALID_EVTXS_COUNT + 1))
|
||||||
fi
|
fi
|
||||||
|
|
||||||
# compare $START to $START_OLDEST
|
|
||||||
START=$(cat /nsm/import/evtx-start_oldest)
|
|
||||||
START_COMPARE=$(date -d $START +%s)
|
|
||||||
START_OLDEST_COMPARE=$(date -d $START_OLDEST +%s)
|
|
||||||
if [ $START_COMPARE -lt $START_OLDEST_COMPARE ]; then
|
|
||||||
START_OLDEST=$START
|
|
||||||
fi
|
|
||||||
|
|
||||||
# compare $ENDNEXT to $END_NEWEST
|
|
||||||
END=$(cat /nsm/import/evtx-end_newest)
|
|
||||||
ENDNEXT=`date +%Y-%m-%d --date="$END 1 day"`
|
|
||||||
ENDNEXT_COMPARE=$(date -d $ENDNEXT +%s)
|
|
||||||
END_NEWEST_COMPARE=$(date -d $END_NEWEST +%s)
|
|
||||||
if [ $ENDNEXT_COMPARE -gt $END_NEWEST_COMPARE ]; then
|
|
||||||
END_NEWEST=$ENDNEXT
|
|
||||||
fi
|
|
||||||
|
|
||||||
cp -f "${EVTX}" "${EVTX_DIR}"/data.evtx
|
cp -f "${EVTX}" "${EVTX_DIR}"/data.evtx
|
||||||
chmod 644 "${EVTX_DIR}"/data.evtx
|
chmod 644 "${EVTX_DIR}"/data.evtx
|
||||||
|
|
||||||
fi # end of valid evtx
|
fi # end of valid evtx
|
||||||
|
|
||||||
|
# determine start and end and make sure they aren't reversed
|
||||||
|
START=$(cat /nsm/import/$HASH/evtx-start_oldest)
|
||||||
|
END=$(cat /nsm/import/$HASH/evtx-end_newest)
|
||||||
|
START_EPOCH=`date -d "$START" +"%s"`
|
||||||
|
END_EPOCH=`date -d "$END" +"%s"`
|
||||||
|
if [ "$START_EPOCH" -gt "$END_EPOCH" ]; then
|
||||||
|
TEMP=$START
|
||||||
|
START=$END
|
||||||
|
END=$TEMP
|
||||||
|
fi
|
||||||
|
|
||||||
|
# compare $START to $START_OLDEST
|
||||||
|
START_COMPARE=$(date -d $START +%s)
|
||||||
|
START_OLDEST_COMPARE=$(date -d $START_OLDEST +%s)
|
||||||
|
if [ $START_COMPARE -lt $START_OLDEST_COMPARE ]; then
|
||||||
|
START_OLDEST=$START
|
||||||
|
fi
|
||||||
|
|
||||||
|
# compare $ENDNEXT to $END_NEWEST
|
||||||
|
ENDNEXT=`date +%Y-%m-%d --date="$END 1 day"`
|
||||||
|
ENDNEXT_COMPARE=$(date -d $ENDNEXT +%s)
|
||||||
|
END_NEWEST_COMPARE=$(date -d $END_NEWEST +%s)
|
||||||
|
if [ $ENDNEXT_COMPARE -gt $END_NEWEST_COMPARE ]; then
|
||||||
|
END_NEWEST=$ENDNEXT
|
||||||
|
fi
|
||||||
|
|
||||||
status
|
status
|
||||||
|
|
||||||
done # end of for-loop processing evtx files
|
done # end of for-loop processing evtx files
|
||||||
|
|||||||
@@ -49,11 +49,18 @@ check_nsm_raid() {
|
|||||||
|
|
||||||
check_boss_raid() {
|
check_boss_raid() {
|
||||||
MVCLI=$(/usr/local/bin/mvcli info -o vd |grep status |grep functional)
|
MVCLI=$(/usr/local/bin/mvcli info -o vd |grep status |grep functional)
|
||||||
|
MVTEST=$(/usr/local/bin/mvcli info -o vd | grep "No adapter")
|
||||||
|
|
||||||
if [[ -n $MVCLI ]]; then
|
# Check to see if this is a SM based system
|
||||||
BOSSRAID=0
|
if [[ -z $MVTEST ]]; then
|
||||||
|
if [[ -n $MVCLI ]]; then
|
||||||
|
BOSSRAID=0
|
||||||
|
else
|
||||||
|
BOSSRAID=1
|
||||||
|
fi
|
||||||
else
|
else
|
||||||
BOSSRAID=1
|
# This doesn't have boss raid so lets make it 0
|
||||||
|
BOSSRAID=0
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -90,4 +97,4 @@ else
|
|||||||
RAIDSTATUS=1
|
RAIDSTATUS=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log
|
echo "nsmraid=$RAIDSTATUS" > /opt/so/log/raid/status.log
|
||||||
|
|||||||
@@ -1,81 +0,0 @@
|
|||||||
# 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 "curator/map.jinja" import CURATORMERGED %}
|
|
||||||
|
|
||||||
# Create the group
|
|
||||||
curatorgroup:
|
|
||||||
group.present:
|
|
||||||
- name: curator
|
|
||||||
- gid: 934
|
|
||||||
|
|
||||||
# Add user
|
|
||||||
curator:
|
|
||||||
user.present:
|
|
||||||
- uid: 934
|
|
||||||
- gid: 934
|
|
||||||
- home: /opt/so/conf/curator
|
|
||||||
- createhome: False
|
|
||||||
|
|
||||||
# Create the log directory
|
|
||||||
curlogdir:
|
|
||||||
file.directory:
|
|
||||||
- name: /opt/so/log/curator
|
|
||||||
- user: 934
|
|
||||||
- group: 939
|
|
||||||
|
|
||||||
curactiondir:
|
|
||||||
file.directory:
|
|
||||||
- name: /opt/so/conf/curator/action
|
|
||||||
- user: 934
|
|
||||||
- group: 939
|
|
||||||
- makedirs: True
|
|
||||||
|
|
||||||
actionconfs:
|
|
||||||
file.recurse:
|
|
||||||
- name: /opt/so/conf/curator/action
|
|
||||||
- source: salt://curator/files/action
|
|
||||||
- user: 934
|
|
||||||
- group: 939
|
|
||||||
- template: jinja
|
|
||||||
- defaults:
|
|
||||||
CURATORMERGED: {{ CURATORMERGED.elasticsearch.index_settings }}
|
|
||||||
|
|
||||||
curconf:
|
|
||||||
file.managed:
|
|
||||||
- name: /opt/so/conf/curator/curator.yml
|
|
||||||
- source: salt://curator/files/curator.yml
|
|
||||||
- user: 934
|
|
||||||
- group: 939
|
|
||||||
- mode: 660
|
|
||||||
- template: jinja
|
|
||||||
- show_changes: False
|
|
||||||
|
|
||||||
curator_sbin:
|
|
||||||
file.recurse:
|
|
||||||
- name: /usr/sbin
|
|
||||||
- source: salt://curator/tools/sbin
|
|
||||||
- user: 934
|
|
||||||
- group: 939
|
|
||||||
- file_mode: 755
|
|
||||||
|
|
||||||
curator_sbin_jinja:
|
|
||||||
file.recurse:
|
|
||||||
- name: /usr/sbin
|
|
||||||
- source: salt://curator/tools/sbin_jinja
|
|
||||||
- user: 934
|
|
||||||
- group: 939
|
|
||||||
- file_mode: 755
|
|
||||||
- template: jinja
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
|
|
||||||
{{sls}}_state_not_allowed:
|
|
||||||
test.fail_without_changes:
|
|
||||||
- name: {{sls}}_state_not_allowed
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
@@ -1,100 +0,0 @@
|
|||||||
curator:
|
|
||||||
enabled: False
|
|
||||||
elasticsearch:
|
|
||||||
index_settings:
|
|
||||||
logs-import-so:
|
|
||||||
close: 73000
|
|
||||||
delete: 73001
|
|
||||||
logs-strelka-so:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-suricata-so:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-syslog-so:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-zeek-so:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-elastic_agent-metricbeat-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-elastic_agent-osquerybeat-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-elastic_agent-fleet_server-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-elastic_agent-filebeat-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-elastic_agent-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-system-auth-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-system-application-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-system-security-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-system-system-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-system-syslog-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-windows-powershell-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
logs-windows-sysmon_operational-default:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-beats:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-elasticsearch:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-firewall:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-ids:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-import:
|
|
||||||
close: 73000
|
|
||||||
delete: 73001
|
|
||||||
so-kratos:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-kibana:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-logstash:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-netflow:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-osquery:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-ossec:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-redis:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-strelka:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-syslog:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
so-zeek:
|
|
||||||
close: 30
|
|
||||||
delete: 365
|
|
||||||
@@ -1,22 +1,17 @@
|
|||||||
# Copyright Security Onion Solutions LLC and/or licensed to Security Onion Solutions LLC under one
|
# 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
|
# https://securityonion.net/license; you may not use this file except in compliance with the
|
||||||
# Elastic License 2.0.
|
# Elastic License 2.0.
|
||||||
|
|
||||||
{% from 'allowed_states.map.jinja' import allowed_states %}
|
|
||||||
{% if sls.split('.')[0] in allowed_states %}
|
|
||||||
|
|
||||||
include:
|
|
||||||
- curator.sostatus
|
|
||||||
|
|
||||||
so-curator:
|
so-curator:
|
||||||
docker_container.absent:
|
docker_container.absent:
|
||||||
- force: True
|
- force: True
|
||||||
|
|
||||||
so-curator_so-status.disabled:
|
so-curator_so-status.disabled:
|
||||||
file.comment:
|
file.line:
|
||||||
- name: /opt/so/conf/so-status/so-status.conf
|
- name: /opt/so/conf/so-status/so-status.conf
|
||||||
- regex: ^so-curator$
|
- match: ^so-curator$
|
||||||
|
- mode: delete
|
||||||
|
|
||||||
so-curator-cluster-close:
|
so-curator-cluster-close:
|
||||||
cron.absent:
|
cron.absent:
|
||||||
@@ -26,10 +21,14 @@ so-curator-cluster-delete:
|
|||||||
cron.absent:
|
cron.absent:
|
||||||
- identifier: so-curator-cluster-delete
|
- identifier: so-curator-cluster-delete
|
||||||
|
|
||||||
{% else %}
|
delete_curator_configuration:
|
||||||
|
file.absent:
|
||||||
|
- name: /opt/so/conf/curator
|
||||||
|
- recurse: True
|
||||||
|
|
||||||
{{sls}}_state_not_allowed:
|
{% set files = salt.file.find(path='/usr/sbin', name='so-curator*') %}
|
||||||
test.fail_without_changes:
|
{% if files|length > 0 %}
|
||||||
- name: {{sls}}_state_not_allowed
|
delete_curator_scripts:
|
||||||
|
file.absent:
|
||||||
{% endif %}
|
- names: {{files|yaml}}
|
||||||
|
{% endif %}
|
||||||
@@ -1,88 +0,0 @@
|
|||||||
# 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:
|
|
||||||
- curator.config
|
|
||||||
- curator.sostatus
|
|
||||||
|
|
||||||
so-curator:
|
|
||||||
docker_container.running:
|
|
||||||
- image: {{ GLOBALS.registry_host }}:5000/{{ GLOBALS.image_repo }}/so-curator:{{ GLOBALS.so_version }}
|
|
||||||
- start: True
|
|
||||||
- hostname: curator
|
|
||||||
- name: so-curator
|
|
||||||
- user: curator
|
|
||||||
- networks:
|
|
||||||
- sobridge:
|
|
||||||
- ipv4_address: {{ DOCKER.containers['so-curator'].ip }}
|
|
||||||
- interactive: True
|
|
||||||
- tty: True
|
|
||||||
- binds:
|
|
||||||
- /opt/so/conf/curator/curator.yml:/etc/curator/config/curator.yml:ro
|
|
||||||
- /opt/so/conf/curator/action/:/etc/curator/action:ro
|
|
||||||
- /opt/so/log/curator:/var/log/curator:rw
|
|
||||||
{% if DOCKER.containers['so-curator'].custom_bind_mounts %}
|
|
||||||
{% for BIND in DOCKER.containers['so-curator'].custom_bind_mounts %}
|
|
||||||
- {{ BIND }}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% if DOCKER.containers['so-curator'].extra_hosts %}
|
|
||||||
- extra_hosts:
|
|
||||||
{% for XTRAHOST in DOCKER.containers['so-curator'].extra_hosts %}
|
|
||||||
- {{ XTRAHOST }}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
{% if DOCKER.containers['so-curator'].extra_env %}
|
|
||||||
- environment:
|
|
||||||
{% for XTRAENV in DOCKER.containers['so-curator'].extra_env %}
|
|
||||||
- {{ XTRAENV }}
|
|
||||||
{% endfor %}
|
|
||||||
{% endif %}
|
|
||||||
- require:
|
|
||||||
- file: actionconfs
|
|
||||||
- file: curconf
|
|
||||||
- file: curlogdir
|
|
||||||
- watch:
|
|
||||||
- file: curconf
|
|
||||||
|
|
||||||
delete_so-curator_so-status.disabled:
|
|
||||||
file.uncomment:
|
|
||||||
- name: /opt/so/conf/so-status/so-status.conf
|
|
||||||
- regex: ^so-curator$
|
|
||||||
|
|
||||||
so-curator-cluster-close:
|
|
||||||
cron.present:
|
|
||||||
- name: /usr/sbin/so-curator-cluster-close > /opt/so/log/curator/cron-close.log 2>&1
|
|
||||||
- identifier: so-curator-cluster-close
|
|
||||||
- user: root
|
|
||||||
- minute: '2'
|
|
||||||
- hour: '*/1'
|
|
||||||
- daymonth: '*'
|
|
||||||
- month: '*'
|
|
||||||
- dayweek: '*'
|
|
||||||
|
|
||||||
so-curator-cluster-delete:
|
|
||||||
cron.present:
|
|
||||||
- name: /usr/sbin/so-curator-cluster-delete > /opt/so/log/curator/cron-cluster-delete.log 2>&1
|
|
||||||
- identifier: so-curator-cluster-delete
|
|
||||||
- user: root
|
|
||||||
- minute: '*/5'
|
|
||||||
- hour: '*'
|
|
||||||
- daymonth: '*'
|
|
||||||
- month: '*'
|
|
||||||
- dayweek: '*'
|
|
||||||
|
|
||||||
{% else %}
|
|
||||||
|
|
||||||
{{sls}}_state_not_allowed:
|
|
||||||
test.fail_without_changes:
|
|
||||||
- name: {{sls}}_state_not_allowed
|
|
||||||
|
|
||||||
{% endif %}
|
|
||||||
@@ -1,31 +0,0 @@
|
|||||||
# 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 'elasticsearch/defaults.yaml' as ELASTICDEFAULTS %}
|
|
||||||
{% set ELASTICMERGED = salt['pillar.get']('elasticsearch:retention', ELASTICDEFAULTS.elasticsearch.retention, merge=true) %}
|
|
||||||
|
|
||||||
{{ ELASTICMERGED.retention_pct }}
|
|
||||||
|
|
||||||
{%- set log_size_limit = salt['pillar.get']('elasticsearch:log_size_limit') %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete indices when {{log_size_limit}}(GB) is exceeded.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-.*|so-.*|.ds-logs-.*-so.*)$'
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(so-case.*)$'
|
|
||||||
exclude: True
|
|
||||||
- filtertype: space
|
|
||||||
source: creation_date
|
|
||||||
use_age: True
|
|
||||||
disk_space: {{log_size_limit}}
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-elastic_agent-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent default indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-elastic_agent-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent default indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-elastic_agent-filebeat-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent Filebeat indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.filebeat-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-elastic_agent-filebeat-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent Filebeat indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.filebeat-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-elastic_agent-fleet_server-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent Fleet Server indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.fleet_server-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-elastic_agent-fleet_server-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete import indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.fleet_server-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-elastic_agent-metricbeat-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent Metricbeat indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.metricbeat-default-.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-elastic_agent-metricbeat-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent Metricbeat indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.metricbeat-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-elastic_agent-osquerybeat-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent Osquerybeat indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.osquerybeat-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-elastic_agent-osquerybeat-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent Osquerybeat indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-elastic_agent.osquerybeat-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-import-so'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete import indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-import-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-import-so'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close import indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-import-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-import-so'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete import indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-import-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-strelka-so'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Strelka indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-strelka-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-strelka-so'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Strelka indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-strelka-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-suricata-so'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Suricata indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-suricata-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-suricata-so'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Suricata indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-suricata-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-syslog-so'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close syslog indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-syslog-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-syslog-so'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete syslog indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-syslog-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-system-application-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent system application indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.application-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-system-application-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent system application indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.application-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-system-auth-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent system auth indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.auth-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-system-auth-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent system auth indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.auth-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-system-security-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent system security indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.security-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-system-security-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent system security indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.security-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-system-syslog-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent system syslog indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.syslog-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-system-syslog-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent system syslog indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.syslog-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-system-system-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent system system indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.system-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-system-system-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent system system indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-system.system-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-windows-powershell-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent Windows Powershell indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-windows.powershell-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-windows-powershell-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent Windows Powershell indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-windows.powershell-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-windows-sysmon_operational-default'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Elastic Agent Windows Sysmon operational indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-windows.sysmon_operational-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-windows-sysmon_operational-default'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Elastic Agent Windows Sysmon operational indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-windows.sysmon_operational-default.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['logs-zeek-so'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Zeek indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-zeek-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['logs-zeek-so'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete Zeek indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(.ds-logs-zeek-so.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-beats'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Beats indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-beats.*|so-beats.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-beats'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete beats indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-beats.*|so-beats.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-elasticsearch'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close elasticsearch indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-elasticsearch.*|so-elasticsearch.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-elasticsearch'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete elasticsearch indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-elasticsearch.*|so-elasticsearch.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-firewall'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Firewall indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-firewall.*|so-firewall.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-firewall'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete firewall indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-firewall.*|so-firewall.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-ids'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close IDS indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-ids.*|so-ids.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,28 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-ids'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete IDS indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-ids.*|so-ids.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-import'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close Import indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-import.*|so-import.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-import'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete import indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-import.*|so-import.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-kibana'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close kibana indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-kibana.*|so-kibana.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-kibana'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete kibana indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-kibana.*|so-kibana.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-kratos'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close kratos indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-kratos.*|so-kratos.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-kratos'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete kratos indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-kratos.*|so-kratos.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-logstash'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close logstash indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-logstash.*|so-logstash.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-logstash'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete logstash indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-logstash.*|so-logstash.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-netflow'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close netflow indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-netflow.*|so-netflow.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-netflow'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete netflow indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-netflow.*|so-netflow.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-osquery'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close osquery indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-osquery.*|so-osquery.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-osquery'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete import indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-osquery.*|so-osquery.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set cur_close_days = CURATORMERGED['so-ossec'].close %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: close
|
|
||||||
description: >-
|
|
||||||
Close ossec indices older than {{cur_close_days}} days.
|
|
||||||
options:
|
|
||||||
delete_aliases: False
|
|
||||||
timeout_override:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-ossec.*|so-ossec.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{cur_close_days}}
|
|
||||||
exclude:
|
|
||||||
@@ -1,27 +0,0 @@
|
|||||||
# 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.
|
|
||||||
|
|
||||||
{%- set DELETE_DAYS = CURATORMERGED['so-ossec'].delete %}
|
|
||||||
actions:
|
|
||||||
1:
|
|
||||||
action: delete_indices
|
|
||||||
description: >-
|
|
||||||
Delete ossec indices when older than {{ DELETE_DAYS }} days.
|
|
||||||
options:
|
|
||||||
ignore_empty_list: True
|
|
||||||
disable_action: False
|
|
||||||
filters:
|
|
||||||
- filtertype: pattern
|
|
||||||
kind: regex
|
|
||||||
value: '^(logstash-ossec.*|so-ossec.*)$'
|
|
||||||
- filtertype: age
|
|
||||||
source: name
|
|
||||||
direction: older
|
|
||||||
timestring: '%Y.%m.%d'
|
|
||||||
unit: days
|
|
||||||
unit_count: {{ DELETE_DAYS }}
|
|
||||||
exclude:
|
|
||||||
|
|
||||||
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user