Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: deprecate TCP connection without TLS #4928

Merged
merged 1 commit into from
Mar 14, 2024

Conversation

dvdksn
Copy link
Contributor

@dvdksn dvdksn commented Mar 8, 2024

- What I did

Added a deprecation notice for remote daemon connections over TCP without TLS

- How I did it

- How to verify it

- Description for the changelog

- Deprecated the ability to accept remote TCP connections without TLS. [Deprecation notice](../deprecation.md#unauthenticated-tcp-connections)

- A picture of a cute animal (not mandatory but encouraged)

Signed-off-by: David Karlsson <35727626+dvdksn@users.noreply.github.com>
@@ -110,6 +111,33 @@ The table below provides an overview of the current status of deprecated feature
| Removed | [`--run` flag on `docker commit`](#--run-flag-on-docker-commit) | v0.10 | v1.13 |
| Removed | [Three arguments form in `docker import`](#three-arguments-form-in-docker-import) | v0.6.7 | v1.12 |

### Unauthenticated TCP connections

**Deprecated in Release: v26.0**
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

To some extent, the upstream project deprecated it in 20.10. Not sure how correct it would be to put that here though 🤔 (the engine did log the deprecation message since that time; moby/moby#41285)

WARN[2024-03-08T09:54:46.486330417Z] Support for listening on TCP without authentication or explicit intent to run without authentication will be removed in the next release  host="tcp://0.0.0.0:2375"

But it looks like the warning returned in docker info only mentions the warning, not deprecation 🙃 🤷‍♂️

WARNING: API is accessible on http://0.0.0.0:2375/ without encryption.
         Access to the remote API is equivalent to root access on the host. Refer
         to the 'Docker daemon attack surface' section in the documentation for
         more information: https://docs.docker.com/go/attack-surface/

☝️ we should definitely consider updating that message as well (cc @vvoland so that we don't forget)

For visibility, I think it would also be good to add a warning on the https://docs.docker.com/go/attack-surface/ page (linking to the deprecation page).

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Comment on lines +128 to +130
To facilitate remote access to the Docker daemon over TCP, you'll need to
implement TLS verification. This secures the connection by encrypting data in
transit and providing a mechanism for mutual authentication.
Copy link
Member

@thaJeztah thaJeztah Mar 8, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you think we should mention ssh:// as recommended alternative here as well, or too much out of context (and better left for the linked docs)?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, never mind, you mention it below 😂

Copy link
Member

@thaJeztah thaJeztah left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@thaJeztah thaJeztah merged commit 8adf1dd into docker:master Mar 14, 2024
88 checks passed
@dvdksn dvdksn deleted the deprecate-nontls-tcp branch March 14, 2024 12:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants