Merge branch 'docs/secure-maintenance' into 'master'
Document the security tools maintenance and vulnerabilities DB update Closes gitlab-ee#9986 See merge request gitlab-org/gitlab-ce!29840
This commit is contained in:
commit
ecb05e5901
5 changed files with 48 additions and 5 deletions
|
@ -206,6 +206,11 @@ vulnerabilities in your groups and projects. Read more about the
|
|||
Once a vulnerability is found, you can interact with it. Read more on how to
|
||||
[interact with the vulnerabilities](../index.md#interacting-with-the-vulnerabilities).
|
||||
|
||||
## Vulnerabilities database update
|
||||
|
||||
For more information about the vulnerabilities database update, check the
|
||||
[maintenance table](../index.md#maintenance-and-update-of-the-vulnerabilities-database).
|
||||
|
||||
## Troubleshooting
|
||||
|
||||
### docker: Error response from daemon: failed to copy xattrs
|
||||
|
|
|
@ -259,3 +259,8 @@ vulnerabilities in your groups and projects. Read more about the
|
|||
|
||||
Once a vulnerability is found, you can interact with it. Read more on how to
|
||||
[interact with the vulnerabilities](../index.md#interacting-with-the-vulnerabilities).
|
||||
|
||||
## Vulnerabilities database update
|
||||
|
||||
For more information about the vulnerabilities database update, check the
|
||||
[maintenance table](../index.md#maintenance-and-update-of-the-vulnerabilities-database).
|
||||
|
|
|
@ -404,6 +404,11 @@ vulnerabilities in your groups and projects. Read more about the
|
|||
Once a vulnerability is found, you can interact with it. Read more on how to
|
||||
[interact with the vulnerabilities](../index.md#interacting-with-the-vulnerabilities).
|
||||
|
||||
## Vulnerabilities database update
|
||||
|
||||
For more information about the vulnerabilities database update, check the
|
||||
[maintenance table](../index.md#maintenance-and-update-of-the-vulnerabilities-database).
|
||||
|
||||
## Dependency List
|
||||
|
||||
> [Introduced](https://gitlab.com/gitlab-org/gitlab-ee/issues/10075) in [GitLab Ultimate](https://about.gitlab.com/pricing/) 12.0.
|
||||
|
|
|
@ -10,7 +10,7 @@ high-level view on projects and groups, and start remediation processes when nee
|
|||
|
||||
GitLab can scan and report any vulnerabilities found in your project.
|
||||
|
||||
| Secure scanning tools | Description |
|
||||
| Secure scanning tool | Description |
|
||||
|:-----------------------------------------------------------------------------|:-----------------------------------------------------------------------|
|
||||
| [Container Scanning](container_scanning/index.md) **[ULTIMATE]** | Scan Docker containers for known vulnerabilities. |
|
||||
| [Dependency Scanning](dependency_scanning/index.md) **[ULTIMATE]** | Analyze your dependencies for known vulnerabilities. |
|
||||
|
@ -19,6 +19,29 @@ GitLab can scan and report any vulnerabilities found in your project.
|
|||
| [Security Dashboard](security_dashboard/index.md) **[ULTIMATE]** | View vulnerabilities in all your projects and groups. |
|
||||
| [Static Application Security Testing (SAST)](sast/index.md) **[ULTIMATE]** | Analyze source code for known vulnerabilities. |
|
||||
|
||||
## Maintenance and update of the vulnerabilities database
|
||||
|
||||
The various scanning tools and the vulnerabilities database are updated regularly.
|
||||
|
||||
| Secure scanning tool | Vulnerabilities database updates |
|
||||
|:-------------------------------------------------------------|-------------------------------------------|
|
||||
| [Container Scanning](container_scanning/index.md) | Uses `clair` underneath and the latest `clair-db` version is used for each job run by running the [`latest` docker image tag](https://gitlab.com/gitlab-org/gitlab-ee/blob/438a0a56dc0882f22bdd82e700554525f552d91b/lib/gitlab/ci/templates/Security/Container-Scanning.gitlab-ci.yml#L37). The `clair-db` database [is updated daily according to the author](https://github.com/arminc/clair-local-scan#clair-server-or-local). |
|
||||
| [Dependency Scanning](dependency_scanning/index.md) | Relies on `bundler-audit` (for Rubygems), `retire.js` (for NPM packages) and `gemnasium` (GitLab's own tool for all libraries). `bundler-audit` and `retire.js` both fetch their vulnerabilities data from GitHub repositories, so vulnerabilities added to `ruby-advisory-db` and `retire.js` are immediately available. The tools themselves are updated once per month if there's a new version. The [Gemnasium DB](https://gitlab.com/gitlab-org/security-products/gemnasium-db) is updated at least once a week. |
|
||||
| [Dynamic Application Security Testing (DAST)](dast/index.md) | Updated weekly on Sundays. The underlying tool, `zaproxy`, downloads fresh rules at startup. |
|
||||
| [Static Application Security Testing (SAST)](sast/index.md) | Relies exclusively on [the tools GitLab is wrapping](sast/index.md#supported-languages-and-frameworks). The underlying analyzers are updated at least once per month if a relevant update is available. The vulnerabilities database is updated by the upstream tools. |
|
||||
|
||||
You don't have to update GitLab to benefit from the latest vulnerabilities definitions,
|
||||
but you may have to in the future.
|
||||
|
||||
The security tools are released as Docker images, and the vendored job definitions
|
||||
to enable them are using the `x-y-stable` image tags that get overridden each time a new
|
||||
release of the tools is pushed. The Docker images are updated to match the
|
||||
previous GitLab releases, so they automatically get the latest versions of the
|
||||
scanning tools without the user having to do anything.
|
||||
|
||||
This workflow comes with some drawbacks and there's a
|
||||
[plan to change this](https://gitlab.com/gitlab-org/gitlab-ee/issues/9725).
|
||||
|
||||
## Interacting with the vulnerabilities
|
||||
|
||||
> Introduced in [GitLab Ultimate](https://about.gitlab.com/pricing) 10.8.
|
||||
|
|
|
@ -269,7 +269,7 @@ it highlighted:
|
|||
"url": "https://cwe.mitre.org/data/definitions/330.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
},
|
||||
{
|
||||
"category": "sast",
|
||||
"message": "Probable insecure usage of temp file/directory.",
|
||||
|
@ -296,7 +296,7 @@ it highlighted:
|
|||
"url": "https://docs.openstack.org/bandit/latest/plugins/b108_hardcoded_tmp_directory.html"
|
||||
}
|
||||
]
|
||||
},
|
||||
},
|
||||
],
|
||||
"remediations": []
|
||||
}
|
||||
|
@ -320,7 +320,7 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
|
|||
| `vulnerabilities[].scanner` | A node that describes the analyzer used to find this vulnerability. |
|
||||
| `vulnerabilities[].scanner.id` | Id of the scanner as a snake_case string. |
|
||||
| `vulnerabilities[].scanner.name` | Name of the scanner, for display purposes. |
|
||||
| `vulnerabilities[].location` | A node that tells where the vulnerability is located. |
|
||||
| `vulnerabilities[].location` | A node that tells where the vulnerability is located. |
|
||||
| `vulnerabilities[].location.file` | Path to the file where the vulnerability is located. Optional. |
|
||||
| `vulnerabilities[].location.start_line` | The first line of the code affected by the vulnerability. Optional. |
|
||||
| `vulnerabilities[].location.end_line` | The last line of the code affected by the vulnerability. Optional. |
|
||||
|
@ -330,7 +330,7 @@ the report JSON unless stated otherwise. Presence of optional fields depends on
|
|||
| `vulnerabilities[].identifiers[].type` | Type of the identifier. Possible values: common identifier types (among `cve`, `cwe`, `osvdb`, and `usn`) or analyzer-dependent ones (e.g., `bandit_test_id` for [Bandit analyzer](https://wiki.openstack.org/wiki/Security/Projects/Bandit)). |
|
||||
| `vulnerabilities[].identifiers[].name` | Name of the identifier for display purposes. |
|
||||
| `vulnerabilities[].identifiers[].value` | Value of the identifier for matching purposes. |
|
||||
| `vulnerabilities[].identifiers[].url` | URL to identifier's documentation. Optional. |
|
||||
| `vulnerabilities[].identifiers[].url` | URL to identifier's documentation. Optional. |
|
||||
|
||||
## Secret detection
|
||||
|
||||
|
@ -363,3 +363,8 @@ vulnerabilities in your groups and projects. Read more about the
|
|||
|
||||
Once a vulnerability is found, you can interact with it. Read more on how to
|
||||
[interact with the vulnerabilities](../index.md#interacting-with-the-vulnerabilities).
|
||||
|
||||
## Vulnerabilities database update
|
||||
|
||||
For more information about the vulnerabilities database update, check the
|
||||
[maintenance table](../index.md#maintenance-and-update-of-the-vulnerabilities-database).
|
||||
|
|
Loading…
Reference in a new issue