Compare commits

...

19 Commits

Author SHA1 Message Date
Matthew Wright
81afbd32d4 Merge pull request #15742 from Security-Onion-Solutions/mwright/ai-query-length
Assistant: charsPerTokenEstimate
2026-04-09 11:28:37 -04:00
Josh Patterson
e9c4f40735 Merge pull request #15745 from Security-Onion-Solutions/delta
define options in annotation files
2026-04-09 10:39:13 -04:00
Josh Patterson
9ec4a26f97 define options in annotation files 2026-04-09 10:18:36 -04:00
Josh Patterson
ef3cfc8722 Merge pull request #15741 from Security-Onion-Solutions/fix/suricata-pcap-log-max-files
ensure max-files is 1 at minimum
2026-04-08 16:00:26 -04:00
Matthew Wright
28d31f4840 add charsPerTokenEstimate 2026-04-08 15:25:51 -04:00
Josh Patterson
2166bb749a ensure max-files is 1 at minimum 2026-04-08 14:59:05 -04:00
Mike Reeves
88de246ce3 Merge pull request #15725 from Security-Onion-Solutions/3/main
License Link to dev
2026-04-06 10:59:22 -04:00
Mike Reeves
3643b57167 Merge pull request #15724 from Security-Onion-Solutions/TOoSmOotH-patch-2
Fix JA4+ license link in soc_zeek.yaml
2026-04-06 10:24:04 -04:00
Mike Reeves
5b3ca98b80 Fix JA4+ license link in soc_zeek.yaml
Updated the license link in the JA4+ fingerprinting description.
2026-04-06 10:12:37 -04:00
Jason Ertel
76f4ccf8c8 Merge pull request #15705 from Security-Onion-Solutions/3/main
Merge pr/workflow changes back to dev
2026-04-01 10:57:34 -04:00
Jason Ertel
2a37ad82b2 Merge pull request #15704 from Security-Onion-Solutions/jertel/mainpr
pr/workflow changes
2026-04-01 10:55:57 -04:00
Jason Ertel
80540da52f pr/workflow changes 2026-04-01 10:48:47 -04:00
Jason Ertel
e4ba3d6a2a pr/workflow changes 2026-04-01 10:47:59 -04:00
Mike Reeves
3dec6986b6 Merge pull request #15702 from Security-Onion-Solutions/3/main
soup fix
2026-03-31 15:12:01 -04:00
Mike Reeves
bbfb58ea4e Merge pull request #15701 from Security-Onion-Solutions/TOoSmOotH-patch-1
Update SOUP_BRANCH to use 3/main instead of 2.4/main
2026-03-31 15:09:34 -04:00
Mike Reeves
c91deb97b1 Update SOUP_BRANCH to use 3/main instead of 2.4/main 2026-03-31 15:07:23 -04:00
Mike Reeves
ff45e5ebc6 Merge pull request #15699 from Security-Onion-Solutions/TOoSmOotH-patch-4
Version Bump
2026-03-31 13:55:55 -04:00
Mike Reeves
1e2b51eae6 Add version 3.1.0 to discussion template options 2026-03-31 13:53:00 -04:00
Mike Reeves
58d332ea94 Bump version from 3.0.0 to 3.1.0 2026-03-31 13:52:07 -04:00
15 changed files with 74 additions and 50 deletions

View File

@@ -10,6 +10,7 @@ body:
options: options:
- -
- 3.0.0 - 3.0.0
- 3.1.0
- Other (please provide detail below) - Other (please provide detail below)
validations: validations:
required: true required: true

22
.github/pull_request_template.md vendored Normal file
View File

@@ -0,0 +1,22 @@
## Description
<!--
Explain the purpose of the pull request. Be brief or detailed depending on the scope of the changes.
-->
## Related Issues
<!--
Optionally, list any related issues that this pull request addresses.
-->
## Checklist
- [ ] I have read and followed the [CONTRIBUTING.md](https://github.com/Security-Onion-Solutions/securityonion/blob/3/main/CONTRIBUTING.md) file.
- [ ] I have read and agree to the terms of the [Contributor License Agreement](https://securityonionsolutions.com/cla)
## Questions or Comments
<!--
If you have any questions or comments about this pull request, add them here.
-->

View File

@@ -1,24 +0,0 @@
name: contrib
on:
issue_comment:
types: [created]
pull_request_target:
types: [opened,closed,synchronize]
jobs:
CLAssistant:
runs-on: ubuntu-latest
steps:
- 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'
uses: cla-assistant/github-action@v2.3.1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
PERSONAL_ACCESS_TOKEN : ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
path-to-signatures: 'signatures_v1.json'
path-to-document: 'https://securityonionsolutions.com/cla'
allowlist: dependabot[bot],jertel,dougburks,TOoSmOotH,defensivedepth,m0duspwnens
remote-organization-name: Security-Onion-Solutions
remote-repository-name: licensing

View File

@@ -23,7 +23,7 @@
* Link the PR to the related issue, either using [keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) in the PR description, or [manually](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue#manually-linking-a-pull-request-to-an-issue). * Link the PR to the related issue, either using [keywords](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue#linking-a-pull-request-to-an-issue-using-a-keyword) in the PR description, or [manually](https://docs.github.com/en/issues/tracking-your-work-with-issues/creating-issues/linking-a-pull-request-to-an-issue#manually-linking-a-pull-request-to-an-issue).
* **Pull requests should be opened against the `dev` branch of this repo**, and should clearly describe the problem and solution. * **Pull requests should be opened against the current `?/dev` branch of this repo**, and should clearly describe the problem and solution.
* Be sure you have tested your changes and are confident they will not break other parts of the product. * Be sure you have tested your changes and are confident they will not break other parts of the product.

View File

@@ -1 +1 @@
3.0.0 3.1.0

View File

@@ -11,18 +11,14 @@ global:
regexFailureMessage: You must enter a valid IP address or CIDR. regexFailureMessage: You must enter a valid IP address or CIDR.
mdengine: mdengine:
description: Which engine to use for meta data generation. Options are ZEEK and SURICATA. description: Which engine to use for meta data generation. Options are ZEEK and SURICATA.
regex: ^(ZEEK|SURICATA)$
options: options:
- ZEEK - ZEEK
- SURICATA - SURICATA
regexFailureMessage: You must enter either ZEEK or SURICATA.
global: True global: True
pcapengine: pcapengine:
description: Which engine to use for generating pcap. Currently only SURICATA is supported. description: Which engine to use for generating pcap. Currently only SURICATA is supported.
regex: ^(SURICATA)$
options: options:
- SURICATA - SURICATA
regexFailureMessage: You must enter either SURICATA.
global: True global: True
ids: ids:
description: Which IDS engine to use. Currently only Suricata is supported. description: Which IDS engine to use. Currently only Suricata is supported.
@@ -42,11 +38,9 @@ global:
advanced: True advanced: True
pipeline: pipeline:
description: Sets which pipeline technology for events to use. The use of Kafka requires a Security Onion Pro license. description: Sets which pipeline technology for events to use. The use of Kafka requires a Security Onion Pro license.
regex: ^(REDIS|KAFKA)$
options: options:
- REDIS - REDIS
- KAFKA - KAFKA
regexFailureMessage: You must enter either REDIS or KAFKA.
global: True global: True
advanced: True advanced: True
repo_host: repo_host:

View File

@@ -85,7 +85,10 @@ influxdb:
description: The log level to use for outputting log statements. Allowed values are debug, info, or error. description: The log level to use for outputting log statements. Allowed values are debug, info, or error.
global: True global: True
advanced: false advanced: false
regex: ^(info|debug|error)$ options:
- info
- debug
- error
helpLink: influxdb helpLink: influxdb
metrics-disabled: metrics-disabled:
description: If true, the HTTP endpoint that exposes internal InfluxDB metrics will be inaccessible. description: If true, the HTTP endpoint that exposes internal InfluxDB metrics will be inaccessible.
@@ -140,7 +143,9 @@ influxdb:
description: Determines the type of storage used for secrets. Allowed values are bolt or vault. description: Determines the type of storage used for secrets. Allowed values are bolt or vault.
global: True global: True
advanced: True advanced: True
regex: ^(bolt|vault)$ options:
- bolt
- vault
helpLink: influxdb helpLink: influxdb
session-length: session-length:
description: Number of minutes that a user login session can remain authenticated. description: Number of minutes that a user login session can remain authenticated.
@@ -260,7 +265,9 @@ influxdb:
description: The type of data store to use for HTTP resources. Allowed values are disk or memory. Memory should not be used for production Security Onion installations. description: The type of data store to use for HTTP resources. Allowed values are disk or memory. Memory should not be used for production Security Onion installations.
global: True global: True
advanced: True advanced: True
regex: ^(disk|memory)$ options:
- disk
- memory
helpLink: influxdb helpLink: influxdb
tls-cert: tls-cert:
description: The container path to the certificate to use for TLS encryption of the HTTP requests and responses. description: The container path to the certificate to use for TLS encryption of the HTTP requests and responses.

View File

@@ -131,7 +131,10 @@ kafka:
ssl_x_keystore_x_type: ssl_x_keystore_x_type:
description: The key store file format. description: The key store file format.
title: ssl.keystore.type title: ssl.keystore.type
regex: ^(JKS|PKCS12|PEM)$ options:
- JKS
- PKCS12
- PEM
helpLink: kafka helpLink: kafka
ssl_x_truststore_x_location: ssl_x_truststore_x_location:
description: The trust store file location within the Docker container. description: The trust store file location within the Docker container.
@@ -160,7 +163,11 @@ kafka:
security_x_protocol: security_x_protocol:
description: 'Broker communication protocol. Options are: SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT' description: 'Broker communication protocol. Options are: SASL_SSL, PLAINTEXT, SSL, SASL_PLAINTEXT'
title: security.protocol title: security.protocol
regex: ^(SASL_SSL|PLAINTEXT|SSL|SASL_PLAINTEXT) options:
- SASL_SSL
- PLAINTEXT
- SSL
- SASL_PLAINTEXT
helpLink: kafka helpLink: kafka
ssl_x_keystore_x_location: ssl_x_keystore_x_location:
description: The key store file location within the Docker container. description: The key store file location within the Docker container.
@@ -174,7 +181,10 @@ kafka:
ssl_x_keystore_x_type: ssl_x_keystore_x_type:
description: The key store file format. description: The key store file format.
title: ssl.keystore.type title: ssl.keystore.type
regex: ^(JKS|PKCS12|PEM)$ options:
- JKS
- PKCS12
- PEM
helpLink: kafka helpLink: kafka
ssl_x_truststore_x_location: ssl_x_truststore_x_location:
description: The trust store file location within the Docker container. description: The trust store file location within the Docker container.

View File

@@ -21,8 +21,12 @@ kratos:
description: "Specify the provider type. Required. Valid values are: auth0, generic, github, google, microsoft" description: "Specify the provider type. Required. Valid values are: auth0, generic, github, google, microsoft"
global: True global: True
forcedType: string forcedType: string
regex: "auth0|generic|github|google|microsoft" options:
regexFailureMessage: "Valid values are: auth0, generic, github, google, microsoft" - auth0
- generic
- github
- google
- microsoft
helpLink: oidc helpLink: oidc
client_id: client_id:
description: Specify the client ID, also referenced as the application ID. Required. description: Specify the client ID, also referenced as the application ID. Required.
@@ -43,8 +47,9 @@ kratos:
description: The source of the subject identifier. Typically 'userinfo'. Only used when provider is 'microsoft'. description: The source of the subject identifier. Typically 'userinfo'. Only used when provider is 'microsoft'.
global: True global: True
forcedType: string forcedType: string
regex: me|userinfo options:
regexFailureMessage: "Valid values are: me, userinfo" - me
- userinfo
helpLink: oidc helpLink: oidc
auth_url: auth_url:
description: Provider's auth URL. Required when provider is 'generic'. description: Provider's auth URL. Required when provider is 'generic'.

View File

@@ -305,7 +305,7 @@ clone_to_tmp() {
# Make a temp location for the files # Make a temp location for the files
mkdir -p /tmp/sogh mkdir -p /tmp/sogh
cd /tmp/sogh cd /tmp/sogh
SOUP_BRANCH="-b 2.4/main" SOUP_BRANCH="-b 3/main"
if [ -n "$BRANCH" ]; then if [ -n "$BRANCH" ]; then
SOUP_BRANCH="-b $BRANCH" SOUP_BRANCH="-b $BRANCH"
fi fi

View File

@@ -2687,4 +2687,5 @@ soc:
lowBalanceColorAlert: 500000 lowBalanceColorAlert: 500000
enabled: true enabled: true
adapter: SOAI adapter: SOAI
charsPerTokenEstimate: 4

View File

@@ -761,7 +761,7 @@ soc:
required: True required: True
- field: origin - field: origin
label: Country of Origin for the Model Training label: Country of Origin for the Model Training
required: false required: False
- field: contextLimitSmall - field: contextLimitSmall
label: Context Limit (Small) label: Context Limit (Small)
forcedType: int forcedType: int
@@ -779,6 +779,10 @@ soc:
- field: enabled - field: enabled
label: Enabled label: Enabled
forcedType: bool forcedType: bool
- field: charsPerTokenEstimate
label: Characters per Token Estimate
forcedType: float
required: False
apiTimeoutMs: apiTimeoutMs:
description: Duration (in milliseconds) to wait for a response from the SOC server API before giving up and showing an error on the SOC UI. description: Duration (in milliseconds) to wait for a response from the SOC server API before giving up and showing an error on the SOC UI.
global: True global: True

View File

@@ -33,7 +33,7 @@
{% do SURICATAMERGED.config.outputs['pcap-log'].update({'conditional': SURICATAMERGED.pcap.conditional}) %} {% do SURICATAMERGED.config.outputs['pcap-log'].update({'conditional': SURICATAMERGED.pcap.conditional}) %}
{% do SURICATAMERGED.config.outputs['pcap-log'].update({'dir': SURICATAMERGED.pcap.dir}) %} {% do SURICATAMERGED.config.outputs['pcap-log'].update({'dir': SURICATAMERGED.pcap.dir}) %}
{# multiply maxsize by 1000 since it is saved in GB, i.e. 52 = 52000MB. filesize is also saved in MB and we strip the MB and convert to int #} {# multiply maxsize by 1000 since it is saved in GB, i.e. 52 = 52000MB. filesize is also saved in MB and we strip the MB and convert to int #}
{% set maxfiles = (SURICATAMERGED.pcap.maxsize * 1000 / (SURICATAMERGED.pcap.filesize[:-2] | int) / SURICATAMERGED.config['af-packet'].threads | int) | round | int %} {% set maxfiles = ([1, (SURICATAMERGED.pcap.maxsize * 1000 / (SURICATAMERGED.pcap.filesize[:-2] | int) / SURICATAMERGED.config['af-packet'].threads | int) | round(0, 'ceil') | int] | max) %}
{% do SURICATAMERGED.config.outputs['pcap-log'].update({'max-files': maxfiles}) %} {% do SURICATAMERGED.config.outputs['pcap-log'].update({'max-files': maxfiles}) %}
{% endif %} {% endif %}

View File

@@ -64,8 +64,10 @@ suricata:
helpLink: suricata helpLink: suricata
conditional: conditional:
description: Set to "all" to record PCAP for all flows. Set to "alerts" to only record PCAP for Suricata alerts. Set to "tag" to only record PCAP for tagged rules. description: Set to "all" to record PCAP for all flows. Set to "alerts" to only record PCAP for Suricata alerts. Set to "tag" to only record PCAP for tagged rules.
regex: ^(all|alerts|tag)$ options:
regexFailureMessage: You must enter either all, alert or tag. - all
- alerts
- tag
helpLink: suricata helpLink: suricata
dir: dir:
description: Parent directory to store PCAP. description: Parent directory to store PCAP.
@@ -83,7 +85,9 @@ suricata:
advanced: True advanced: True
cluster-type: cluster-type:
advanced: True advanced: True
regex: ^(cluster_flow|cluster_qm)$ options:
- cluster_flow
- cluster_qm
defrag: defrag:
description: Enable defragmentation of IP packets before processing. description: Enable defragmentation of IP packets before processing.
forcedType: bool forcedType: bool

View File

@@ -5,7 +5,7 @@ zeek:
helpLink: zeek helpLink: zeek
ja4plus: ja4plus:
enabled: enabled:
description: "Enables JA4+ fingerprinting (JA4S, JA4D, JA4H, JA4L, JA4SSH, JA4T, JA4TS, JA4X). By enabling this, you agree to the terms of the JA4+ license [https://github.com/FoxIO-LLC/ja4/blob/main/LICENSE-JA4](https://github.com/FoxIO-LLC/ja4/blob/main/LICENSE-JA4)." description: "Enables JA4+ fingerprinting (JA4S, JA4D, JA4H, JA4L, JA4SSH, JA4T, JA4TS, JA4X). By enabling this, you agree to the terms of the JA4+ license [https://github.com/FoxIO-LLC/ja4/blob/main/LICENSE](https://github.com/FoxIO-LLC/ja4/blob/main/LICENSE)."
forcedType: bool forcedType: bool
helpLink: zeek helpLink: zeek
advanced: False advanced: False