|
| 1 | +<!-- |
| 2 | +SPDX-FileCopyrightText: the secureCodeBox authors |
| 3 | +
|
| 4 | +SPDX-License-Identifier: Apache-2.0 |
| 5 | +--> |
| 6 | +<!-- |
| 7 | +.: IMPORTANT! :. |
| 8 | +-------------------------- |
| 9 | +This file is generated automatically with `helm-docs` based on the following template files: |
| 10 | +- ./.helm-docs/templates.gotmpl (general template data for all charts) |
| 11 | +- ./chart-folder/.helm-docs.gotmpl (chart specific template data) |
| 12 | +
|
| 13 | +Please be aware of that and apply your changes only within those template files instead of this file. |
| 14 | +Otherwise your changes will be reverted/overwritten automatically due to the build process `./.github/workflows/helm-docs.yaml` |
| 15 | +-------------------------- |
| 16 | +--> |
| 17 | + |
| 18 | +<p align="center"> |
| 19 | + <a href="https://opensource.org/licenses/Apache-2.0"><img alt="License Apache-2.0" src="https://img.shields.io/badge/License-Apache%202.0-blue.svg"/></a> |
| 20 | + <a href="https://github.com/secureCodeBox/secureCodeBox/releases/latest"><img alt="GitHub release (latest SemVer)" src="https://img.shields.io/github/v/release/secureCodeBox/secureCodeBox?sort=semver"/></a> |
| 21 | + <a href="https://owasp.org/www-project-securecodebox/"><img alt="OWASP Incubator Project" src="https://img.shields.io/badge/OWASP-Incubator%20Project-365EAA"/></a> |
| 22 | + <a href="https://artifacthub.io/packages/search?repo=securecodebox"><img alt="Artifact HUB" src="https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/securecodebox"/></a> |
| 23 | + <a href="https://github.com/secureCodeBox/secureCodeBox/"><img alt="GitHub Repo stars" src="https://img.shields.io/github/stars/secureCodeBox/secureCodeBox?logo=GitHub"/></a> |
| 24 | + <a href="https://twitter.com/securecodebox"><img alt="Twitter Follower" src="https://img.shields.io/twitter/follow/securecodebox?style=flat&color=blue&logo=twitter"/></a> |
| 25 | +</p> |
| 26 | + |
| 27 | +## What is OWASP secureCodeBox? |
| 28 | + |
| 29 | +<p align="center"> |
| 30 | + <img alt="secureCodeBox Logo" src="https://docs.securecodebox.io/img/Logo_Color.svg" width="250px"/> |
| 31 | +</p> |
| 32 | + |
| 33 | +_[OWASP secureCodeBox][scb-github]_ is an automated and scalable open source solution that can be used to integrate various *security vulnerability scanners* with a simple and lightweight interface. The _secureCodeBox_ mission is to support *DevSecOps* Teams to make it easy to automate security vulnerability testing in different scenarios. |
| 34 | + |
| 35 | +With the _secureCodeBox_ we provide a toolchain for continuous scanning of applications to find the low-hanging fruit issues early in the development process and free the resources of the penetration tester to concentrate on the major security issues. |
| 36 | + |
| 37 | +The secureCodeBox project is running on [Kubernetes](https://kubernetes.io/). To install it you need [Helm](https://helm.sh), a package manager for Kubernetes. It is also possible to start the different integrated security vulnerability scanners based on a docker infrastructure. |
| 38 | + |
| 39 | +### Quickstart with secureCodeBox on kubernetes |
| 40 | + |
| 41 | +You can find resources to help you get started on our [documentation website](https://docs.securecodebox.io) including instruction on how to [install the secureCodeBox project](https://docs.securecodebox.io/docs/getting-started/installation) and guides to help you [run your first scans](https://docs.securecodebox.io/docs/getting-started/first-scans) with it. |
| 42 | + |
| 43 | +## What is "Persistence Azure Monitor" Hook about? |
| 44 | +The Azure Monitor persistenceProvider hook saves all findings and reports into the configured Azure Monitor workspace using the [Data Collector API](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/data-collector-api). |
| 45 | +This allows working with the data in [Azure Monitor](https://azure.microsoft.com/en-us/services/monitor/) or [Microsoft Sentinel](https://docs.microsoft.com/en-us/azure/sentinel/overview) to configure alerting based on new findings. |
| 46 | +It will create a custom log type for every scantype titled SCB_[scantype_name]. |
| 47 | + |
| 48 | +Installing the Azure Monitor persistenceProvider hook will add a _ReadOnly Hook_ to your namespace. |
| 49 | + |
| 50 | +## Deployment |
| 51 | +The persistence-azure-monitor chart can be deployed via helm: |
| 52 | + |
| 53 | +```bash |
| 54 | +# Install HelmChart (use -n to configure another namespace) |
| 55 | +helm upgrade --install persistence-azure-monitor secureCodeBox/persistence-azure-monitor |
| 56 | +``` |
| 57 | + |
| 58 | +## Requirements |
| 59 | + |
| 60 | +Kubernetes: `>=v1.11.0-0` |
| 61 | + |
| 62 | +## Additional Chart Configurations |
| 63 | +The hook requires the Azure Monitor Workspace ID and its Primary Key for authentication. For details on how to find them, see [this page](https://docs.microsoft.com/en-us/azure/azure-monitor/logs/data-collector-api#sample-requests). |
| 64 | +Create a Kubernetes secret with these values using |
| 65 | + |
| 66 | +```bash |
| 67 | +# Create the secret (use a leading space to avoid having secrets in your shell history) |
| 68 | +# Replace "workspace=your-workspace-id" with your Workspace ID |
| 69 | +# Replace "sharedkey=your-shared-key" with your Primary Key |
| 70 | + kubectl create secret generic azure-monitor --from-literal=workspace=your-workspace-id --from-literal=sharedkey=your-shared-key |
| 71 | +``` |
| 72 | + |
| 73 | +Then, configure the hook to use this secret when installing it: |
| 74 | +```bash |
| 75 | +helm upgrade --install persistence-azure-monitor . --wait \ |
| 76 | + --set="monitor.authentication.apiKeySecret="azure-monitor"" |
| 77 | +``` |
| 78 | + |
| 79 | +## Values |
| 80 | + |
| 81 | +| Key | Type | Default | Description | |
| 82 | +|-----|------|---------|-------------| |
| 83 | +| hook.affinity | object | `{}` | Optional affinity settings that control how the hook job is scheduled (see: https://kubernetes.io/docs/tasks/configure-pod-container/assign-pods-nodes-using-node-affinity/) | |
| 84 | +| hook.image.pullPolicy | string | `"IfNotPresent"` | Image pull policy. One of Always, Never, IfNotPresent. Defaults to Always if :latest tag is specified, or IfNotPresent otherwise. More info: https://kubernetes.io/docs/concepts/containers/images#updating-images | |
| 85 | +| hook.image.repository | string | `"docker.io/securecodebox/hook-persistence-azure-monitor"` | Hook image repository | |
| 86 | +| hook.image.tag | string | defaults to the charts version | Container image tag | |
| 87 | +| hook.labels | object | `{}` | Add Kubernetes Labels to the hook definition | |
| 88 | +| hook.priority | int | `0` | Hook priority. Higher priority Hooks are guaranteed to execute before low priority Hooks. | |
| 89 | +| hook.tolerations | list | `[]` | Optional tolerations settings that control how the hook job is scheduled (see: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/) | |
| 90 | +| hook.ttlSecondsAfterFinished | string | `nil` | Seconds after which the kubernetes job for the hook will be deleted. Requires the Kubernetes TTLAfterFinished controller: https://kubernetes.io/docs/concepts/workloads/controllers/ttlafterfinished/ | |
| 91 | +| monitor.authentication | object | `{"apiKeySecret":null}` | Configure authentication schema and credentials the persistence provider should use to connect to Azure Monitor | |
| 92 | +| monitor.authentication.apiKeySecret | string | `nil` | Link a pre-existing generic secret with `workspace` and `sharedkey` key / value pairs | |
| 93 | +| monitor.logtypePrefix | string | `"SCB"` | | |
| 94 | + |
| 95 | +## Contributing |
| 96 | + |
| 97 | +Contributions are welcome and extremely helpful 🙌 |
| 98 | +Please have a look at [Contributing](./CONTRIBUTING.md) |
| 99 | + |
| 100 | +## Community |
| 101 | + |
| 102 | +You are welcome, please join us on... 👋 |
| 103 | + |
| 104 | +- [GitHub][scb-github] |
| 105 | +- [Slack][scb-slack] |
| 106 | +- [Twitter][scb-twitter] |
| 107 | + |
| 108 | +secureCodeBox is an official [OWASP][scb-owasp] project. |
| 109 | + |
| 110 | +## License |
| 111 | +[](https://opensource.org/licenses/Apache-2.0) |
| 112 | + |
| 113 | +Code of secureCodeBox is licensed under the [Apache License 2.0][scb-license]. |
| 114 | + |
| 115 | +[scb-owasp]: https://www.owasp.org/index.php/OWASP_secureCodeBox |
| 116 | +[scb-docs]: https://docs.securecodebox.io/ |
| 117 | +[scb-site]: https://www.securecodebox.io/ |
| 118 | +[scb-github]: https://github.com/secureCodeBox/ |
| 119 | +[scb-twitter]: https://twitter.com/secureCodeBox |
| 120 | +[scb-slack]: https://join.slack.com/t/securecodebox/shared_invite/enQtNDU3MTUyOTM0NTMwLTBjOWRjNjVkNGEyMjQ0ZGMyNDdlYTQxYWQ4MzNiNGY3MDMxNThkZjJmMzY2NDRhMTk3ZWM3OWFkYmY1YzUxNTU |
| 121 | +[scb-license]: https://github.com/secureCodeBox/secureCodeBox/blob/master/LICENSE |
| 122 | + |
0 commit comments