mirror of
https://github.com/Security-Onion-Solutions/securityonion.git
synced 2025-12-07 17:52:46 +01:00
Compare commits
1019 Commits
2.4.20-202
...
kilo
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
f0cb30a649 | ||
|
|
94ee761207 | ||
|
|
0a5dc411d0 | ||
|
|
d7ecad4333 | ||
|
|
57553bc1e5 | ||
|
|
df058b3f4a | ||
|
|
5e21da443f | ||
|
|
7898277a9b | ||
|
|
029d8a0e8f | ||
|
|
b8d33ab983 | ||
|
|
e124791d5d | ||
|
|
8ae30d0a77 | ||
|
|
81f3d69eb9 | ||
|
|
237946e916 | ||
|
|
3d04d37030 | ||
|
|
bb0da2a5c5 | ||
|
|
d6ce3851ec | ||
|
|
9c6f3f4808 | ||
|
|
1ab56033a2 | ||
|
|
a78a304d4f | ||
|
|
5ca9ec4b17 | ||
|
|
4e1543b6a8 | ||
|
|
0e7d08b957 | ||
|
|
f889a089bf | ||
|
|
2b019ec8fe | ||
|
|
5934829e0d | ||
|
|
486a633dfe | ||
|
|
77ac342786 | ||
|
|
8429a364dc | ||
|
|
1568f57096 | ||
|
|
f431e9ae08 | ||
|
|
4b03d088c3 | ||
|
|
4a33234c34 | ||
|
|
778997bed4 | ||
|
|
655d3e349c | ||
|
|
f3b921342e | ||
|
|
fff4d20e39 | ||
|
|
d2fb067110 | ||
|
|
876690a9f6 | ||
|
|
4c2f2759d4 | ||
|
|
dd603934bc | ||
|
|
d4d17e1835 | ||
|
|
7779a95341 | ||
|
|
68ea2836dd | ||
|
|
bb3bbd749c | ||
|
|
d84af803a6 | ||
|
|
020eb47026 | ||
|
|
c6df805556 | ||
|
|
47d447eadd | ||
|
|
af5b3feb96 | ||
|
|
4237210f0b | ||
|
|
fd835f6394 | ||
|
|
284e0d8435 | ||
|
|
09bff01d79 | ||
|
|
844cfe55cd | ||
|
|
927fe9039d | ||
|
|
cc1356c823 | ||
|
|
275a678fa1 | ||
|
|
3d33c99f53 | ||
|
|
b9702d02db | ||
|
|
292ab0e378 | ||
|
|
1a829190ac | ||
|
|
dc3eace718 | ||
|
|
06013e2c6f | ||
|
|
603483148d | ||
|
|
3e0fb3f8bb | ||
|
|
5deebe07d8 | ||
|
|
197791f8ed | ||
|
|
72acb11925 | ||
|
|
0f41f07dc9 | ||
|
|
47ab1f5b95 | ||
|
|
b7f058a8ca | ||
|
|
61a183b7fc | ||
|
|
ba32b3e6e9 | ||
|
|
8c54a19698 | ||
|
|
cd28c00d67 | ||
|
|
b5d8df7fb2 | ||
|
|
907cf9f992 | ||
|
|
4355d5b659 | ||
|
|
2ca96c7f4c | ||
|
|
a8403c63c7 | ||
|
|
34d5954e16 | ||
|
|
f4725bf6d4 | ||
|
|
b622cf8d23 | ||
|
|
a892352b61 | ||
|
|
a55e04e64a | ||
|
|
4a9e8265ce | ||
|
|
68ba9a89cf | ||
|
|
6f05c3976b | ||
|
|
b6b6fc45e7 | ||
|
|
e1b27a930e | ||
|
|
6680e023e4 | ||
|
|
e8ae609012 | ||
|
|
fc66a54902 | ||
|
|
4e32935991 | ||
|
|
7ec887a327 | ||
|
|
3eb6fe2df9 | ||
|
|
6d06aa8ed6 | ||
|
|
06257b9c4a | ||
|
|
40574982e4 | ||
|
|
e2567dcf8d | ||
|
|
fffef9b621 | ||
|
|
1633527695 | ||
|
|
005930f7fd | ||
|
|
b5f1733e97 | ||
|
|
70f3ce0536 | ||
|
|
17a75d5bd2 | ||
|
|
583227290f | ||
|
|
cf232534ca | ||
|
|
7f1e786e3d | ||
|
|
9a413a2e31 | ||
|
|
8f36a8a4b6 | ||
|
|
1cbac11fae | ||
|
|
ad12093429 | ||
|
|
167aff24f6 | ||
|
|
9e671621db | ||
|
|
4dfa1a5626 | ||
|
|
f836d6a61d | ||
|
|
a63fca727c | ||
|
|
f58c104d89 | ||
|
|
5acefb5d18 | ||
|
|
0f12297f50 | ||
|
|
12653eec8c | ||
|
|
1b47537a3f | ||
|
|
73b45cfaf8 | ||
|
|
eaef076eba | ||
|
|
ac9db8a392 | ||
|
|
5687fdcf57 | ||
|
|
d5b08142a0 | ||
|
|
4b5f00cef4 | ||
|
|
185a160df0 | ||
|
|
b9707fc8ea | ||
|
|
a686d46322 | ||
|
|
6eb608c3f5 | ||
|
|
b9ebe6c40b | ||
|
|
781f96a74e | ||
|
|
c0d19e11b9 | ||
|
|
1a58aa61a0 | ||
|
|
08f2b8251b | ||
|
|
bed42208b1 | ||
|
|
2a7e5b096f | ||
|
|
d8e8933ea0 | ||
|
|
d85ac39e28 | ||
|
|
1514f1291e | ||
|
|
b64d61065a | ||
|
|
58d222284e | ||
|
|
fe238755e9 | ||
|
|
018e099111 | ||
|
|
9fd1653914 | ||
|
|
f28f269bb1 | ||
|
|
f3dce66f03 | ||
|
|
d832158cc5 | ||
|
|
b017157d21 | ||
|
|
d911b7bfc4 | ||
|
|
53761d4dba | ||
|
|
1fe8f3d9e4 | ||
|
|
aa3b917368 | ||
|
|
e2dd0f8cf1 | ||
|
|
d1e55d5ab7 | ||
|
|
df3943b465 | ||
|
|
d5fc6ddd2c | ||
|
|
fcc0f9d14f | ||
|
|
59af547838 | ||
|
|
a817bae1e5 | ||
|
|
c6baa4be1b | ||
|
|
8b7f7933bd | ||
|
|
466dac30bb | ||
|
|
52580fb8c4 | ||
|
|
acf7dbdabe | ||
|
|
1d099f97d2 | ||
|
|
f8424f3dad | ||
|
|
9a7e2153ee | ||
|
|
c8a95a8706 | ||
|
|
4df21148fc | ||
|
|
ca249312ba | ||
|
|
66b815d4b2 | ||
|
|
a6bb7216f9 | ||
|
|
77cb5748f6 | ||
|
|
d6cb8ab928 | ||
|
|
daf96d7934 | ||
|
|
58f4fb87d0 | ||
|
|
b7ef1e8af1 | ||
|
|
7da0ccf5a6 | ||
|
|
65cdc1dc86 | ||
|
|
573d565976 | ||
|
|
b8baca417b | ||
|
|
d04aa06455 | ||
|
|
1824d7b36d | ||
|
|
e7914fc5a1 | ||
|
|
759b2ff59e | ||
|
|
c886e72793 | ||
|
|
0a9022ba6a | ||
|
|
d2f7946377 | ||
|
|
eb3432fb8b | ||
|
|
927ea0c9ec | ||
|
|
162785575c | ||
|
|
152e7937db | ||
|
|
25570e6ec2 | ||
|
|
1952f0f232 | ||
|
|
9ca0f586ae | ||
|
|
29778438f0 | ||
|
|
6c6a362fcc | ||
|
|
89010dacab | ||
|
|
78d41c5342 | ||
|
|
4b314c8715 | ||
|
|
ed0773604c | ||
|
|
07fcfab7ec | ||
|
|
84c5fa6a58 | ||
|
|
5c96e30087 | ||
|
|
18b4fcca75 | ||
|
|
ffb3cc87b7 | ||
|
|
e4dcb4a8dd | ||
|
|
c64f37ab67 | ||
|
|
686304f24a | ||
|
|
0765320839 | ||
|
|
a2b17d2348 | ||
|
|
c1f467a068 | ||
|
|
7d5932ee5e | ||
|
|
79e98e508f | ||
|
|
cf6266a92b | ||
|
|
2e9fa2438b | ||
|
|
a5db9f87dd | ||
|
|
f321e734eb | ||
|
|
8800b7e878 | ||
|
|
031ee078c5 | ||
|
|
00f2374582 | ||
|
|
468eedfaeb | ||
|
|
88786e8342 | ||
|
|
c933627a71 | ||
|
|
0d297274c8 | ||
|
|
141fd49f02 | ||
|
|
7112337c85 | ||
|
|
0c6c6ba2d5 | ||
|
|
d6ac7a3286 | ||
|
|
9175a73456 | ||
|
|
14209ad99d | ||
|
|
1bde002f20 | ||
|
|
0741ae370a | ||
|
|
d7f853b5b2 | ||
|
|
5c9b1ab38b | ||
|
|
b713771494 | ||
|
|
8060751a66 | ||
|
|
c1258f9a92 | ||
|
|
92634724c4 | ||
|
|
3efaba1104 | ||
|
|
d072d431b3 | ||
|
|
ea80469c2d | ||
|
|
0ad39a7e32 | ||
|
|
20d2f3b97e | ||
|
|
64726a2785 | ||
|
|
ccb14485a3 | ||
|
|
5102269440 | ||
|
|
5a4e11b2f8 | ||
|
|
e713b4c660 | ||
|
|
2db5f4dd41 | ||
|
|
f91cb5b81f | ||
|
|
4b697b2406 | ||
|
|
c04f5a3f0f | ||
|
|
b1de6abc17 | ||
|
|
cc0f25a4f7 | ||
|
|
eafb5cf15e | ||
|
|
2b2aa30ac1 | ||
|
|
66ac36a944 | ||
|
|
feabb7c51f | ||
|
|
64f6d0fba9 | ||
|
|
94b6e781bb | ||
|
|
304ae49251 | ||
|
|
213ac822a8 | ||
|
|
2143881c0b | ||
|
|
5903ae596c | ||
|
|
0c423c9329 | ||
|
|
654602bf80 | ||
|
|
3c9d6da1d8 | ||
|
|
683abf0179 | ||
|
|
29174566f3 | ||
|
|
8d0e8789bd | ||
|
|
503a09f150 | ||
|
|
81a3e95914 | ||
|
|
f02f61c6dd | ||
|
|
8c5dafa058 | ||
|
|
d3d2305f00 | ||
|
|
7e3187c0b8 | ||
|
|
b7b501d289 | ||
|
|
6534f392a9 | ||
|
|
478fb6261e | ||
|
|
e42e07b245 | ||
|
|
f97d0f2f36 | ||
|
|
24fd3ef8cc | ||
|
|
b3f6153667 | ||
|
|
d800d59304 | ||
|
|
7106095128 | ||
|
|
9d62ade32e | ||
|
|
2643ae08a7 | ||
|
|
378c99ae88 | ||
|
|
8f81c9eb68 | ||
|
|
cf83d1cb86 | ||
|
|
7a29b3a529 | ||
|
|
fe196b5661 | ||
|
|
61ee41e431 | ||
|
|
0d5db58c86 | ||
|
|
3d478b92b2 | ||
|
|
e090518b59 | ||
|
|
91c1e595ef | ||
|
|
1818e134ca | ||
|
|
182667bafb | ||
|
|
49b5788ac1 | ||
|
|
881d6b313e | ||
|
|
db057b4dfa | ||
|
|
136097f981 | ||
|
|
bc502cc065 | ||
|
|
ae32ac40c2 | ||
|
|
2f03248612 | ||
|
|
a094d1007b | ||
|
|
341ff5b564 | ||
|
|
0fe96bfc2d | ||
|
|
4672a5b8eb | ||
|
|
1853dc398b | ||
|
|
bc75be9402 | ||
|
|
cd4bd6460a | ||
|
|
585147d1de | ||
|
|
0d01d09d2e | ||
|
|
1192dbd530 | ||
|
|
00289c201e | ||
|
|
858166bcae | ||
|
|
4be1214bab | ||
|
|
0fa4d92f8f | ||
|
|
8a25748e33 | ||
|
|
8b503e2ffa | ||
|
|
4dd0b4a4fd | ||
|
|
b5ffa186fb | ||
|
|
f32cb1f115 | ||
|
|
8ed66ea468 | ||
|
|
0522dc180a | ||
|
|
37dcb84a09 | ||
|
|
d118ff4728 | ||
|
|
88d2ddba8b | ||
|
|
ab551a747d | ||
|
|
88c01a22d6 | ||
|
|
0c969312e2 | ||
|
|
5b05aec96a | ||
|
|
1a2245a1ed | ||
|
|
0d08bb0a91 | ||
|
|
cb5e111a00 | ||
|
|
7c08b348aa | ||
|
|
afa98fa147 | ||
|
|
1847e5c3c0 | ||
|
|
cfc33b1a34 | ||
|
|
dc5ea89255 | ||
|
|
c4301d7cc1 | ||
|
|
91c7b8144d | ||
|
|
2e026b637d | ||
|
|
cd6e387bcb | ||
|
|
12ab6338db | ||
|
|
cd54d4becb | ||
|
|
762a3bea17 | ||
|
|
5f1c76f6ec | ||
|
|
d2d70d1c5b | ||
|
|
e53030feef | ||
|
|
9f17bd2255 | ||
|
|
8426aad56d | ||
|
|
d23d367058 | ||
|
|
cbdaf2e9a1 | ||
|
|
4d7af21dd5 | ||
|
|
8348506acc | ||
|
|
1698d95efe | ||
|
|
b1052ddcce | ||
|
|
0cb36bb0aa | ||
|
|
0ccdfcb07c | ||
|
|
63ba97306c | ||
|
|
72319e33db | ||
|
|
34bb37e415 | ||
|
|
3bcb0bc132 | ||
|
|
d25a2d4c30 | ||
|
|
350b0df3bf | ||
|
|
5542db0aac | ||
|
|
b08db3e05a | ||
|
|
80a3942245 | ||
|
|
de6151fbe2 | ||
|
|
7118cc8dee | ||
|
|
05aa8b013a | ||
|
|
d0457cb61e | ||
|
|
c2b44985c7 | ||
|
|
8f8c250ed3 | ||
|
|
6db32885eb | ||
|
|
efe8cfda95 | ||
|
|
08486e279c | ||
|
|
40d0411441 | ||
|
|
2b6927da82 | ||
|
|
0786806f8f | ||
|
|
ca4f2f1dd6 | ||
|
|
97e2721754 | ||
|
|
07602076f1 | ||
|
|
caf4036dbf | ||
|
|
4a898619a6 | ||
|
|
65d46ea27d | ||
|
|
67445de4ee | ||
|
|
6a8bf0b953 | ||
|
|
33d74098bd | ||
|
|
3173f9a26f | ||
|
|
df921892a3 | ||
|
|
739feb25a4 | ||
|
|
4e6924610d | ||
|
|
880f2a3e1b | ||
|
|
958c827fd5 | ||
|
|
aa294a7f41 | ||
|
|
049d0b53c2 | ||
|
|
dff6d299a1 | ||
|
|
e70ce50912 | ||
|
|
38965ccab5 | ||
|
|
eeb249e00d | ||
|
|
dff06cb085 | ||
|
|
8c1d1c95db | ||
|
|
f6590ac0bf | ||
|
|
ea64ce92d3 | ||
|
|
8a92b023b2 | ||
|
|
6cf0b365e6 | ||
|
|
4bffd8e27c | ||
|
|
a73d78300a | ||
|
|
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 | ||
|
|
d2002a5158 | ||
|
|
5250292e95 | ||
|
|
49a651fd72 | ||
|
|
2d688331df | ||
|
|
b12c4a96e9 | ||
|
|
6dd06c0fe9 | ||
|
|
17ae9b3349 | ||
|
|
8dc163f074 | ||
|
|
ab4c5acd0c | ||
|
|
d357864d69 | ||
|
|
44b855dd93 | ||
|
|
2094b4f688 | ||
|
|
5252482fe3 | ||
|
|
abeebc7bc4 | ||
|
|
4193130ed0 | ||
|
|
89467adf9c | ||
|
|
a283e7ea0b | ||
|
|
a54479d603 | ||
|
|
49ebbf3232 | ||
|
|
05da5c039c | ||
|
|
f3d0248ec5 | ||
|
|
4dc24b22c7 | ||
|
|
39ea1d317d | ||
|
|
827ed7b273 | ||
|
|
8690304dff | ||
|
|
1e327c143c | ||
|
|
ad01be66ea | ||
|
|
5c7c3fb996 | ||
|
|
f4907a5b5c | ||
|
|
a5c4783564 | ||
|
|
d3e83d154b | ||
|
|
aa36e9a785 | ||
|
|
b712d505f2 | ||
|
|
6d56deb2e4 | ||
|
|
101e2e8ba1 | ||
|
|
83bff72cd4 | ||
|
|
b24afac0f4 | ||
|
|
b129b4ceaa |
3
.github/.gitleaks.toml
vendored
3
.github/.gitleaks.toml
vendored
@@ -536,11 +536,10 @@ secretGroup = 4
|
|||||||
|
|
||||||
[allowlist]
|
[allowlist]
|
||||||
description = "global allow lists"
|
description = "global allow lists"
|
||||||
regexes = ['''219-09-9999''', '''078-05-1120''', '''(9[0-9]{2}|666)-\d{2}-\d{4}''', '''RPM-GPG-KEY.*''']
|
regexes = ['''219-09-9999''', '''078-05-1120''', '''(9[0-9]{2}|666)-\d{2}-\d{4}''', '''RPM-GPG-KEY.*''', '''.*:.*StrelkaHexDump.*''', '''.*:.*PLACEHOLDER.*''']
|
||||||
paths = [
|
paths = [
|
||||||
'''gitleaks.toml''',
|
'''gitleaks.toml''',
|
||||||
'''(.*?)(jpg|gif|doc|pdf|bin|svg|socket)$''',
|
'''(.*?)(jpg|gif|doc|pdf|bin|svg|socket)$''',
|
||||||
'''(go.mod|go.sum)$''',
|
'''(go.mod|go.sum)$''',
|
||||||
|
|
||||||
'''salt/nginx/files/enterprise-attack.json'''
|
'''salt/nginx/files/enterprise-attack.json'''
|
||||||
]
|
]
|
||||||
|
|||||||
190
.github/DISCUSSION_TEMPLATE/2-4.yml
vendored
Normal file
190
.github/DISCUSSION_TEMPLATE/2-4.yml
vendored
Normal file
@@ -0,0 +1,190 @@
|
|||||||
|
body:
|
||||||
|
- type: markdown
|
||||||
|
attributes:
|
||||||
|
value: |
|
||||||
|
⚠️ This category is solely for conversations related to Security Onion 2.4 ⚠️
|
||||||
|
|
||||||
|
If your organization needs more immediate, enterprise grade professional support, with one-on-one virtual meetings and screensharing, contact us via our website: https://securityonion.com/support
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Version
|
||||||
|
description: Which version of Security Onion 2.4.x are you asking about?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- 2.4 Pre-release (Beta, Release Candidate)
|
||||||
|
- 2.4.10
|
||||||
|
- 2.4.20
|
||||||
|
- 2.4.30
|
||||||
|
- 2.4.40
|
||||||
|
- 2.4.50
|
||||||
|
- 2.4.60
|
||||||
|
- 2.4.70
|
||||||
|
- 2.4.80
|
||||||
|
- 2.4.90
|
||||||
|
- 2.4.100
|
||||||
|
- Other (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Installation Method
|
||||||
|
description: How did you install Security Onion?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- Security Onion ISO image
|
||||||
|
- Network installation on Red Hat derivative like Oracle, Rocky, Alma, etc.
|
||||||
|
- Network installation on Ubuntu
|
||||||
|
- Network installation on Debian
|
||||||
|
- Other (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Description
|
||||||
|
description: >
|
||||||
|
Is this discussion about installation, configuration, upgrading, or other?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- installation
|
||||||
|
- configuration
|
||||||
|
- upgrading
|
||||||
|
- other (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Installation Type
|
||||||
|
description: >
|
||||||
|
When you installed, did you choose Import, Eval, Standalone, Distributed, or something else?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- Import
|
||||||
|
- Eval
|
||||||
|
- Standalone
|
||||||
|
- Distributed
|
||||||
|
- other (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Location
|
||||||
|
description: >
|
||||||
|
Is this deployment in the cloud, on-prem with Internet access, or airgap?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- cloud
|
||||||
|
- on-prem with Internet access
|
||||||
|
- airgap
|
||||||
|
- other (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Hardware Specs
|
||||||
|
description: >
|
||||||
|
Does your hardware meet or exceed the minimum requirements for your installation type as shown at https://docs.securityonion.net/en/2.4/hardware.html?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- Meets minimum requirements
|
||||||
|
- Exceeds minimum requirements
|
||||||
|
- Does not meet minimum requirements
|
||||||
|
- other (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: CPU
|
||||||
|
description: How many CPU cores do you have?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: RAM
|
||||||
|
description: How much RAM do you have?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Storage for /
|
||||||
|
description: How much storage do you have for the / partition?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: input
|
||||||
|
attributes:
|
||||||
|
label: Storage for /nsm
|
||||||
|
description: How much storage do you have for the /nsm partition?
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Network Traffic Collection
|
||||||
|
description: >
|
||||||
|
Are you collecting network traffic from a tap or span port?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- tap
|
||||||
|
- span port
|
||||||
|
- other (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Network Traffic Speeds
|
||||||
|
description: >
|
||||||
|
How much network traffic are you monitoring?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- Less than 1Gbps
|
||||||
|
- 1Gbps to 10Gbps
|
||||||
|
- more than 10Gbps
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Status
|
||||||
|
description: >
|
||||||
|
Does SOC Grid show all services on all nodes as running OK?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- Yes, all services on all nodes are running OK
|
||||||
|
- No, one or more services are failed (please provide detail below)
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Salt Status
|
||||||
|
description: >
|
||||||
|
Do you get any failures when you run "sudo salt-call state.highstate"?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- Yes, there are salt failures (please provide detail below)
|
||||||
|
- No, there are no failures
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: dropdown
|
||||||
|
attributes:
|
||||||
|
label: Logs
|
||||||
|
description: >
|
||||||
|
Are there any additional clues in /opt/so/log/?
|
||||||
|
options:
|
||||||
|
-
|
||||||
|
- Yes, there are additional clues in /opt/so/log/ (please provide detail below)
|
||||||
|
- No, there are no additional clues
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: textarea
|
||||||
|
attributes:
|
||||||
|
label: Detail
|
||||||
|
description: Please read our discussion guidelines at https://github.com/Security-Onion-Solutions/securityonion/discussions/1720 and then provide detailed information to help us help you.
|
||||||
|
placeholder: |-
|
||||||
|
STOP! Before typing, please read our discussion guidelines at https://github.com/Security-Onion-Solutions/securityonion/discussions/1720 in their entirety!
|
||||||
|
|
||||||
|
If your organization needs more immediate, enterprise grade professional support, with one-on-one virtual meetings and screensharing, contact us via our website: https://securityonion.com/support
|
||||||
|
validations:
|
||||||
|
required: true
|
||||||
|
- type: checkboxes
|
||||||
|
attributes:
|
||||||
|
label: Guidelines
|
||||||
|
options:
|
||||||
|
- label: I have read the discussion guidelines at https://github.com/Security-Onion-Solutions/securityonion/discussions/1720 and assert that I have followed the guidelines.
|
||||||
|
required: true
|
||||||
32
.github/workflows/close-threads.yml
vendored
Normal file
32
.github/workflows/close-threads.yml
vendored
Normal file
@@ -0,0 +1,32 @@
|
|||||||
|
name: 'Close Threads'
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '50 1 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
discussions: write
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lock-threads
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
close-threads:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
steps:
|
||||||
|
- uses: actions/stale@v5
|
||||||
|
with:
|
||||||
|
days-before-issue-stale: -1
|
||||||
|
days-before-issue-close: 60
|
||||||
|
stale-issue-message: "This issue is stale because it has been inactive for an extended period. Stale issues convey that the issue, while important to someone, is not critical enough for the author, or other community members to work on, sponsor, or otherwise shepherd the issue through to a resolution."
|
||||||
|
close-issue-message: "This issue was closed because it has been stale for an extended period. It will be automatically locked in 30 days, after which no further commenting will be available."
|
||||||
|
days-before-pr-stale: 45
|
||||||
|
days-before-pr-close: 60
|
||||||
|
stale-pr-message: "This PR is stale because it has been inactive for an extended period. The longer a PR remains stale the more out of date with the main branch it becomes."
|
||||||
|
close-pr-message: "This PR was closed because it has been stale for an extended period. It will be automatically locked in 30 days. If there is still a commitment to finishing this PR re-open it before it is locked."
|
||||||
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 }}
|
||||||
|
|||||||
25
.github/workflows/lock-threads.yml
vendored
Normal file
25
.github/workflows/lock-threads.yml
vendored
Normal file
@@ -0,0 +1,25 @@
|
|||||||
|
name: 'Lock Threads'
|
||||||
|
|
||||||
|
on:
|
||||||
|
schedule:
|
||||||
|
- cron: '50 2 * * *'
|
||||||
|
workflow_dispatch:
|
||||||
|
|
||||||
|
permissions:
|
||||||
|
issues: write
|
||||||
|
pull-requests: write
|
||||||
|
discussions: write
|
||||||
|
|
||||||
|
concurrency:
|
||||||
|
group: lock-threads
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
lock-threads:
|
||||||
|
runs-on: ubuntu-latest
|
||||||
|
steps:
|
||||||
|
- uses: jertel/lock-threads@main
|
||||||
|
with:
|
||||||
|
include-discussion-currently-open: true
|
||||||
|
discussion-inactive-days: 90
|
||||||
|
issue-inactive-days: 30
|
||||||
|
pr-inactive-days: 30
|
||||||
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.20-20231012 ISO image released on 2023/10/12
|
### 2.4.60-20240320 ISO image released on 2024/03/20
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
### Download and Verify
|
### Download and Verify
|
||||||
|
|
||||||
2.4.20-20231012 ISO image:
|
2.4.60-20240320 ISO image:
|
||||||
https://download.securityonion.net/file/securityonion/securityonion-2.4.20-20231012.iso
|
https://download.securityonion.net/file/securityonion/securityonion-2.4.60-20240320.iso
|
||||||
|
|
||||||
MD5: 7D6ACA843068BA9432B3FF63BFD1EF0F
|
MD5: 178DD42D06B2F32F3870E0C27219821E
|
||||||
SHA1: BEF2B906066A1B04921DF0B80E7FDD4BC8ECED5C
|
SHA1: 73EDCD50817A7F6003FE405CF1808A30D034F89D
|
||||||
SHA256: 5D511D50F11666C69AE12435A47B9A2D30CB3CC88F8D38DC58A5BC0ECADF1BF5
|
SHA256: DD334B8D7088A7B78160C253B680D645E25984BA5CCAB5CC5C327CA72137FC06
|
||||||
|
|
||||||
Signature for ISO image:
|
Signature for ISO image:
|
||||||
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.20-20231012.iso.sig
|
https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.60-20240320.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.20-20231012.iso.sig
|
wget https://github.com/Security-Onion-Solutions/securityonion/raw/2.4/main/sigs/securityonion-2.4.60-20240320.iso.sig
|
||||||
```
|
```
|
||||||
|
|
||||||
Download the ISO image:
|
Download the ISO image:
|
||||||
```
|
```
|
||||||
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.20-20231012.iso
|
wget https://download.securityonion.net/file/securityonion/securityonion-2.4.60-20240320.iso
|
||||||
```
|
```
|
||||||
|
|
||||||
Verify the downloaded ISO image using the signature file:
|
Verify the downloaded ISO image using the signature file:
|
||||||
```
|
```
|
||||||
gpg --verify securityonion-2.4.20-20231012.iso.sig securityonion-2.4.20-20231012.iso
|
gpg --verify securityonion-2.4.60-20240320.iso.sig securityonion-2.4.60-20240320.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 Thu 12 Oct 2023 01:28:32 PM EDT using RSA key ID FE507013
|
gpg: Signature made Tue 19 Mar 2024 03:17:58 PM EDT 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.
|
||||||
|
|||||||
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:
|
||||||
|
|||||||
@@ -41,7 +41,8 @@ file_roots:
|
|||||||
base:
|
base:
|
||||||
- /opt/so/saltstack/local/salt
|
- /opt/so/saltstack/local/salt
|
||||||
- /opt/so/saltstack/default/salt
|
- /opt/so/saltstack/default/salt
|
||||||
|
- /nsm/elastic-fleet/artifacts
|
||||||
|
- /opt/so/rules/nids
|
||||||
|
|
||||||
# The master_roots setting configures a master-only copy of the file_roots dictionary,
|
# The master_roots setting configures a master-only copy of the file_roots dictionary,
|
||||||
# used by the state compiler.
|
# used by the state compiler.
|
||||||
|
|||||||
@@ -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>
|
|
||||||
@@ -43,8 +43,6 @@ base:
|
|||||||
- soc.soc_soc
|
- soc.soc_soc
|
||||||
- soc.adv_soc
|
- soc.adv_soc
|
||||||
- soc.license
|
- soc.license
|
||||||
- soctopus.soc_soctopus
|
|
||||||
- soctopus.adv_soctopus
|
|
||||||
- kibana.soc_kibana
|
- kibana.soc_kibana
|
||||||
- kibana.adv_kibana
|
- kibana.adv_kibana
|
||||||
- kratos.soc_kratos
|
- kratos.soc_kratos
|
||||||
@@ -61,12 +59,9 @@ 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.adv_soctopus
|
|
||||||
- minions.{{ grains.id }}
|
- minions.{{ grains.id }}
|
||||||
- minions.adv_{{ grains.id }}
|
- minions.adv_{{ grains.id }}
|
||||||
|
- stig.soc_stig
|
||||||
|
|
||||||
'*_sensor':
|
'*_sensor':
|
||||||
- healthcheck.sensor
|
- healthcheck.sensor
|
||||||
@@ -82,6 +77,8 @@ base:
|
|||||||
- suricata.adv_suricata
|
- suricata.adv_suricata
|
||||||
- minions.{{ grains.id }}
|
- minions.{{ grains.id }}
|
||||||
- minions.adv_{{ grains.id }}
|
- minions.adv_{{ grains.id }}
|
||||||
|
- stig.soc_stig
|
||||||
|
- soc.license
|
||||||
|
|
||||||
'*_eval':
|
'*_eval':
|
||||||
- secrets
|
- secrets
|
||||||
@@ -107,14 +104,10 @@ base:
|
|||||||
- soc.soc_soc
|
- soc.soc_soc
|
||||||
- soc.adv_soc
|
- soc.adv_soc
|
||||||
- soc.license
|
- soc.license
|
||||||
- soctopus.soc_soctopus
|
|
||||||
- soctopus.adv_soctopus
|
|
||||||
- kibana.soc_kibana
|
- kibana.soc_kibana
|
||||||
- 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
|
||||||
@@ -166,14 +159,10 @@ base:
|
|||||||
- soc.soc_soc
|
- soc.soc_soc
|
||||||
- soc.adv_soc
|
- soc.adv_soc
|
||||||
- soc.license
|
- soc.license
|
||||||
- soctopus.soc_soctopus
|
|
||||||
- soctopus.adv_soctopus
|
|
||||||
- kibana.soc_kibana
|
- kibana.soc_kibana
|
||||||
- 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
|
||||||
@@ -186,6 +175,7 @@ base:
|
|||||||
- suricata.adv_suricata
|
- suricata.adv_suricata
|
||||||
- minions.{{ grains.id }}
|
- minions.{{ grains.id }}
|
||||||
- minions.adv_{{ grains.id }}
|
- minions.adv_{{ grains.id }}
|
||||||
|
- stig.soc_stig
|
||||||
|
|
||||||
'*_heavynode':
|
'*_heavynode':
|
||||||
- elasticsearch.auth
|
- elasticsearch.auth
|
||||||
@@ -194,8 +184,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
|
||||||
@@ -230,6 +218,8 @@ base:
|
|||||||
- redis.adv_redis
|
- redis.adv_redis
|
||||||
- minions.{{ grains.id }}
|
- minions.{{ grains.id }}
|
||||||
- minions.adv_{{ grains.id }}
|
- minions.adv_{{ grains.id }}
|
||||||
|
- stig.soc_stig
|
||||||
|
- soc.license
|
||||||
|
|
||||||
'*_receiver':
|
'*_receiver':
|
||||||
- logstash.nodes
|
- logstash.nodes
|
||||||
@@ -264,12 +254,8 @@ base:
|
|||||||
- soc.soc_soc
|
- soc.soc_soc
|
||||||
- soc.adv_soc
|
- soc.adv_soc
|
||||||
- soc.license
|
- soc.license
|
||||||
- soctopus.soc_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"
|
||||||
@@ -34,7 +34,6 @@
|
|||||||
'suricata',
|
'suricata',
|
||||||
'utility',
|
'utility',
|
||||||
'schedule',
|
'schedule',
|
||||||
'soctopus',
|
|
||||||
'tcpreplay',
|
'tcpreplay',
|
||||||
'docker_clean'
|
'docker_clean'
|
||||||
],
|
],
|
||||||
@@ -101,8 +100,8 @@
|
|||||||
'suricata.manager',
|
'suricata.manager',
|
||||||
'utility',
|
'utility',
|
||||||
'schedule',
|
'schedule',
|
||||||
'soctopus',
|
'docker_clean',
|
||||||
'docker_clean'
|
'stig'
|
||||||
],
|
],
|
||||||
'so-managersearch': [
|
'so-managersearch': [
|
||||||
'salt.master',
|
'salt.master',
|
||||||
@@ -122,8 +121,8 @@
|
|||||||
'suricata.manager',
|
'suricata.manager',
|
||||||
'utility',
|
'utility',
|
||||||
'schedule',
|
'schedule',
|
||||||
'soctopus',
|
'docker_clean',
|
||||||
'docker_clean'
|
'stig'
|
||||||
],
|
],
|
||||||
'so-searchnode': [
|
'so-searchnode': [
|
||||||
'ssl',
|
'ssl',
|
||||||
@@ -131,7 +130,8 @@
|
|||||||
'telegraf',
|
'telegraf',
|
||||||
'firewall',
|
'firewall',
|
||||||
'schedule',
|
'schedule',
|
||||||
'docker_clean'
|
'docker_clean',
|
||||||
|
'stig'
|
||||||
],
|
],
|
||||||
'so-standalone': [
|
'so-standalone': [
|
||||||
'salt.master',
|
'salt.master',
|
||||||
@@ -154,9 +154,9 @@
|
|||||||
'healthcheck',
|
'healthcheck',
|
||||||
'utility',
|
'utility',
|
||||||
'schedule',
|
'schedule',
|
||||||
'soctopus',
|
|
||||||
'tcpreplay',
|
'tcpreplay',
|
||||||
'docker_clean'
|
'docker_clean',
|
||||||
|
'stig'
|
||||||
],
|
],
|
||||||
'so-sensor': [
|
'so-sensor': [
|
||||||
'ssl',
|
'ssl',
|
||||||
@@ -168,13 +168,15 @@
|
|||||||
'healthcheck',
|
'healthcheck',
|
||||||
'schedule',
|
'schedule',
|
||||||
'tcpreplay',
|
'tcpreplay',
|
||||||
'docker_clean'
|
'docker_clean',
|
||||||
|
'stig'
|
||||||
],
|
],
|
||||||
'so-fleet': [
|
'so-fleet': [
|
||||||
'ssl',
|
'ssl',
|
||||||
'telegraf',
|
'telegraf',
|
||||||
'firewall',
|
'firewall',
|
||||||
'logstash',
|
'logstash',
|
||||||
|
'nginx',
|
||||||
'healthcheck',
|
'healthcheck',
|
||||||
'schedule',
|
'schedule',
|
||||||
'elasticfleet',
|
'elasticfleet',
|
||||||
@@ -194,10 +196,6 @@
|
|||||||
],
|
],
|
||||||
}, grain='role') %}
|
}, grain='role') %}
|
||||||
|
|
||||||
{% if grains.role in ['so-eval', 'so-manager', 'so-managersearch', 'so-standalone'] %}
|
|
||||||
{% do allowed_states.append('mysql') %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{%- if grains.role in ['so-sensor', 'so-eval', 'so-standalone', 'so-heavynode'] %}
|
{%- if grains.role in ['so-sensor', 'so-eval', 'so-standalone', 'so-heavynode'] %}
|
||||||
{% do allowed_states.append('zeek') %}
|
{% do allowed_states.append('zeek') %}
|
||||||
{%- endif %}
|
{%- endif %}
|
||||||
@@ -219,18 +217,10 @@
|
|||||||
{% 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 %}
|
||||||
|
|
||||||
{% if grains.role in ['so-eval', 'so-manager', 'so-standalone', 'so-managersearch'] %}
|
|
||||||
{% do allowed_states.append('playbook') %}
|
|
||||||
{% endif %}
|
|
||||||
|
|
||||||
{% if grains.role in ['so-manager', 'so-standalone', 'so-searchnode', 'so-managersearch', 'so-heavynode', 'so-receiver'] %}
|
{% if grains.role in ['so-manager', 'so-standalone', 'so-searchnode', 'so-managersearch', 'so-heavynode', 'so-receiver'] %}
|
||||||
{% do allowed_states.append('logstash') %}
|
{% do allowed_states.append('logstash') %}
|
||||||
{% 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,10 @@
|
|||||||
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
{% from 'vars/globals.map.jinja' import GLOBALS %}
|
||||||
{% set BPFMERGED = salt['pillar.get']('bpf', BPFDEFAULTS.bpf, merge=True) %}
|
{% if GLOBALS.pcap_engine == "TRANSITION" %}
|
||||||
|
{% set PCAPBPF = ["ip and host 255.255.255.1 and port 1"] %}
|
||||||
{% set PCAPBPF = BPFMERGED.pcap %}
|
{% else %}
|
||||||
|
{% import_yaml 'bpf/defaults.yaml' as BPFDEFAULTS %}
|
||||||
|
{% 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 %}
|
||||||
|
{% endif %}
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
bpf:
|
bpf:
|
||||||
pcap:
|
pcap:
|
||||||
description: List of BPF filters to apply to PCAP.
|
description: List of BPF filters to apply to Stenographer.
|
||||||
multiline: True
|
multiline: True
|
||||||
forcedType: "[]string"
|
forcedType: "[]string"
|
||||||
helpLink: bpf.html
|
helpLink: bpf.html
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -4,10 +4,10 @@
|
|||||||
{% from 'vars/globals.map.jinja' import GLOBALS %}
|
{% from 'vars/globals.map.jinja' import GLOBALS %}
|
||||||
|
|
||||||
include:
|
include:
|
||||||
- common.soup_scripts
|
|
||||||
- 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:
|
||||||
@@ -133,6 +133,18 @@ common_sbin_jinja:
|
|||||||
- file_mode: 755
|
- file_mode: 755
|
||||||
- template: jinja
|
- template: jinja
|
||||||
|
|
||||||
|
{% if not GLOBALS.is_manager%}
|
||||||
|
# prior to 2.4.50 these scripts were in common/tools/sbin on the manager because of soup and distributed to non managers
|
||||||
|
# these two states remove the scripts from non manager nodes
|
||||||
|
remove_soup:
|
||||||
|
file.absent:
|
||||||
|
- name: /usr/sbin/soup
|
||||||
|
|
||||||
|
remove_so-firewall:
|
||||||
|
file.absent:
|
||||||
|
- name: /usr/sbin/so-firewall
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
so-status_script:
|
so-status_script:
|
||||||
file.managed:
|
file.managed:
|
||||||
- name: /usr/sbin/so-status
|
- name: /usr/sbin/so-status
|
||||||
@@ -178,6 +190,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'
|
||||||
|
|||||||
@@ -1,23 +1,70 @@
|
|||||||
# Sync some Utilities
|
{% import_yaml '/opt/so/saltstack/local/pillar/global/soc_global.sls' as SOC_GLOBAL %}
|
||||||
soup_scripts:
|
{% if SOC_GLOBAL.global.airgap %}
|
||||||
file.recurse:
|
{% set UPDATE_DIR='/tmp/soagupdate/SecurityOnion' %}
|
||||||
- name: /usr/sbin
|
{% else %}
|
||||||
- user: root
|
{% set UPDATE_DIR='/tmp/sogh/securityonion' %}
|
||||||
- group: root
|
{% endif %}
|
||||||
- file_mode: 755
|
|
||||||
- source: salt://common/tools/sbin
|
|
||||||
- include_pat:
|
|
||||||
- so-common
|
|
||||||
- so-image-common
|
|
||||||
|
|
||||||
soup_manager_scripts:
|
remove_common_soup:
|
||||||
file.recurse:
|
file.absent:
|
||||||
- name: /usr/sbin
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/soup
|
||||||
- user: root
|
|
||||||
- group: root
|
remove_common_so-firewall:
|
||||||
- file_mode: 755
|
file.absent:
|
||||||
- source: salt://manager/tools/sbin
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/so-firewall
|
||||||
- include_pat:
|
|
||||||
- so-firewall
|
copy_so-common_common_tools_sbin:
|
||||||
- so-repo-sync
|
file.copy:
|
||||||
- soup
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/so-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-image-common_common_tools_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /opt/so/saltstack/default/salt/common/tools/sbin/so-image-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-image-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_soup_manager_tools_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /opt/so/saltstack/default/salt/manager/tools/sbin/soup
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/soup
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-firewall_manager_tools_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /opt/so/saltstack/default/salt/manager/tools/sbin/so-firewall
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/so-firewall
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-common_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/so-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-image-common_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/so-image-common
|
||||||
|
- source: {{UPDATE_DIR}}/salt/common/tools/sbin/so-image-common
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_soup_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/soup
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/soup
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|
||||||
|
copy_so-firewall_sbin:
|
||||||
|
file.copy:
|
||||||
|
- name: /usr/sbin/so-firewall
|
||||||
|
- source: {{UPDATE_DIR}}/salt/manager/tools/sbin/so-firewall
|
||||||
|
- force: True
|
||||||
|
- preserve: True
|
||||||
|
|||||||
@@ -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,22 +133,37 @@ 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
|
||||||
@@ -351,6 +366,13 @@ is_feature_enabled() {
|
|||||||
return 1
|
return 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
read_feat() {
|
||||||
|
if [ -f /opt/so/log/sostatus/lks_enabled ]; then
|
||||||
|
lic_id=$(cat /opt/so/saltstack/local/pillar/soc/license.sls | grep license_id: | awk '{print $2}')
|
||||||
|
echo "$lic_id/$(cat /opt/so/log/sostatus/lks_enabled)/$(cat /opt/so/log/sostatus/fps_enabled)"
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
require_manager() {
|
require_manager() {
|
||||||
if is_manager_node; then
|
if is_manager_node; then
|
||||||
echo "This is a manager, so we can proceed."
|
echo "This is a manager, so we can proceed."
|
||||||
@@ -382,6 +404,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
|
||||||
@@ -390,7 +416,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
|
||||||
@@ -428,6 +454,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)
|
||||||
@@ -440,19 +484,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
|
||||||
elif grep -q "Oracle Linux Server release 9" /etc/system-release; then
|
is_rpm=true
|
||||||
OS=oel
|
elif grep -q "AlmaLinux release 9" /etc/redhat-release; then
|
||||||
|
OS=alma
|
||||||
OSVER=9
|
OSVER=9
|
||||||
is_oracle=true
|
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
|
||||||
}
|
}
|
||||||
@@ -486,6 +562,18 @@ set_version() {
|
|||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
status () {
|
||||||
|
printf "\n=========================================================================\n$(date) | $1\n=========================================================================\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
sync_options() {
|
||||||
|
set_version
|
||||||
|
set_os
|
||||||
|
salt_minion_count
|
||||||
|
|
||||||
|
echo "$VERSION/$OS/$(uname -r)/$MINIONCOUNT/$(read_feat)"
|
||||||
|
}
|
||||||
|
|
||||||
systemctl_func() {
|
systemctl_func() {
|
||||||
local action=$1
|
local action=$1
|
||||||
local echo_action=$1
|
local echo_action=$1
|
||||||
|
|||||||
103
salt/common/tools/sbin/so-common-status-check
Normal file
103
salt/common/tools/sbin/so-common-status-check
Normal file
@@ -0,0 +1,103 @@
|
|||||||
|
#!/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
|
||||||
|
import json
|
||||||
|
|
||||||
|
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 check_for_fps():
|
||||||
|
feat = 'fps'
|
||||||
|
feat_full = feat.replace('ps', 'ips')
|
||||||
|
fps = 0
|
||||||
|
try:
|
||||||
|
result = subprocess.run([feat_full + '-mode-setup', '--is-enabled'], stdout=subprocess.PIPE)
|
||||||
|
if result.returncode == 0:
|
||||||
|
fps = 1
|
||||||
|
except FileNotFoundError:
|
||||||
|
fn = '/proc/sys/crypto/' + feat_full + '_enabled'
|
||||||
|
try:
|
||||||
|
with open(fn, 'r') as f:
|
||||||
|
contents = f.read()
|
||||||
|
if '1' in contents:
|
||||||
|
fps = 1
|
||||||
|
except:
|
||||||
|
# Unknown, so assume 0
|
||||||
|
fps = 0
|
||||||
|
|
||||||
|
with open('/opt/so/log/sostatus/fps_enabled', 'w') as f:
|
||||||
|
f.write(str(fps))
|
||||||
|
|
||||||
|
def check_for_lks():
|
||||||
|
feat = 'Lks'
|
||||||
|
feat_full = feat.replace('ks', 'uks')
|
||||||
|
lks = 0
|
||||||
|
result = subprocess.run(['lsblk', '-p', '-J'], check=True, stdout=subprocess.PIPE)
|
||||||
|
data = json.loads(result.stdout)
|
||||||
|
for device in data['blockdevices']:
|
||||||
|
if 'children' in device:
|
||||||
|
for gc in device['children']:
|
||||||
|
if 'children' in gc:
|
||||||
|
try:
|
||||||
|
arg = 'is' + feat_full
|
||||||
|
result = subprocess.run(['cryptsetup', arg, gc['name']], stdout=subprocess.PIPE)
|
||||||
|
if result.returncode == 0:
|
||||||
|
lks = 1
|
||||||
|
except FileNotFoundError:
|
||||||
|
for ggc in gc['children']:
|
||||||
|
if 'crypt' in ggc['type']:
|
||||||
|
lks = 1
|
||||||
|
if lks:
|
||||||
|
break
|
||||||
|
with open('/opt/so/log/sostatus/lks_enabled', 'w') as f:
|
||||||
|
f.write(str(lks))
|
||||||
|
|
||||||
|
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")
|
||||||
|
# Ensure that umask is 0022 so that files created by this script have rw-r-r permissions
|
||||||
|
org_umask = os.umask(0o022)
|
||||||
|
check_needs_restarted()
|
||||||
|
check_for_fps()
|
||||||
|
check_for_lks()
|
||||||
|
# Restore umask to whatever value was set before this script was run. SXIG sets to 0077 rw---
|
||||||
|
os.umask(org_umask)
|
||||||
|
|
||||||
|
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"
|
||||||
@@ -54,13 +53,10 @@ container_list() {
|
|||||||
"so-kibana"
|
"so-kibana"
|
||||||
"so-kratos"
|
"so-kratos"
|
||||||
"so-logstash"
|
"so-logstash"
|
||||||
"so-mysql"
|
|
||||||
"so-nginx"
|
"so-nginx"
|
||||||
"so-pcaptools"
|
"so-pcaptools"
|
||||||
"so-playbook"
|
|
||||||
"so-redis"
|
"so-redis"
|
||||||
"so-soc"
|
"so-soc"
|
||||||
"so-soctopus"
|
|
||||||
"so-steno"
|
"so-steno"
|
||||||
"so-strelka-backend"
|
"so-strelka-backend"
|
||||||
"so-strelka-filestream"
|
"so-strelka-filestream"
|
||||||
@@ -137,7 +133,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
|
||||||
|
|||||||
@@ -49,10 +49,6 @@ if [ "$CONTINUE" == "y" ]; then
|
|||||||
sed -i "s|$OLD_IP|$NEW_IP|g" $file
|
sed -i "s|$OLD_IP|$NEW_IP|g" $file
|
||||||
done
|
done
|
||||||
|
|
||||||
echo "Granting MySQL root user permissions on $NEW_IP"
|
|
||||||
docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "GRANT ALL PRIVILEGES ON *.* TO 'root'@'$NEW_IP' IDENTIFIED BY '$(lookup_pillar_secret 'mysql')' WITH GRANT OPTION;" &> /dev/null
|
|
||||||
echo "Removing MySQL root user from $OLD_IP"
|
|
||||||
docker exec -i so-mysql mysql --user=root --password=$(lookup_pillar_secret 'mysql') -e "DROP USER 'root'@'$OLD_IP';" &> /dev/null
|
|
||||||
echo "Updating Kibana dashboards"
|
echo "Updating Kibana dashboards"
|
||||||
salt-call state.apply kibana.so_savedobjects_defaults -l info queue=True
|
salt-call state.apply kibana.so_savedobjects_defaults -l info queue=True
|
||||||
|
|
||||||
|
|||||||
@@ -109,11 +109,20 @@ if [[ $EXCLUDE_STARTUP_ERRORS == 'Y' ]]; then
|
|||||||
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeout exceeded" # server not yet ready (telegraf waiting on elasticsearch)
|
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|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|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|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|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|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|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|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
|
||||||
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|process already finished" # Telegraf script finished just as the auto kill timeout kicked in
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ $EXCLUDE_FALSE_POSITIVE_ERRORS == 'Y' ]]; then
|
if [[ $EXCLUDE_FALSE_POSITIVE_ERRORS == 'Y' ]]; then
|
||||||
@@ -136,6 +145,8 @@ if [[ $EXCLUDE_FALSE_POSITIVE_ERRORS == 'Y' ]]; then
|
|||||||
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|invalid query input" # false positive (Invalid user input in hunt query)
|
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|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|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
|
fi
|
||||||
|
|
||||||
if [[ $EXCLUDE_KNOWN_ERRORS == 'Y' ]]; then
|
if [[ $EXCLUDE_KNOWN_ERRORS == 'Y' ]]; then
|
||||||
@@ -144,19 +155,21 @@ if [[ $EXCLUDE_KNOWN_ERRORS == 'Y' ]]; then
|
|||||||
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|fail\\(error\\)" # 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|urlerror" # idstools connection timeout
|
||||||
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|timeouterror" # 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|_ml" # Elastic ML errors
|
||||||
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|context canceled" # elastic agent during shutdown
|
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|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|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|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|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|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|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|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|iteration"
|
||||||
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|communication packets"
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|communication packets"
|
||||||
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|use of closed"
|
EXCLUDED_ERRORS="$EXCLUDED_ERRORS|use of closed"
|
||||||
@@ -194,7 +207,6 @@ RESULT=0
|
|||||||
CONTAINER_IDS=$(docker ps -q)
|
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-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-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
|
for container_id in $CONTAINER_IDS; do
|
||||||
container_name=$(docker ps --format json | jq ". | select(.ID==\"$container_id\")|.Names")
|
container_name=$(docker ps --format json | jq ". | select(.ID==\"$container_id\")|.Names")
|
||||||
@@ -213,6 +225,9 @@ exclude_log "spool" # disregard zeek analyze logs as this is data specifi
|
|||||||
exclude_log "import" # disregard imported test data the contains error strings
|
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 "update.log" # ignore playbook updates due to several known issues
|
||||||
exclude_log "playbook.log" # ignore due to several playbook 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
|
for log_file in $(cat /tmp/log_check_files); do
|
||||||
status "Checking log file $log_file"
|
status "Checking log file $log_file"
|
||||||
@@ -230,4 +245,4 @@ else
|
|||||||
echo -e "\nResult: One or more errors found"
|
echo -e "\nResult: One or more errors found"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
exit $RESULT
|
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/"
|
||||||
|
|||||||
@@ -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
|
|
||||||
|
|
||||||
@@ -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:
|
|
||||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user