-
Notifications
You must be signed in to change notification settings - Fork 1.2k
feat(network): enable Docker and Podman policy DNS and transparent TCP #2723
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
Open
johntmyers
wants to merge
28
commits into
feat/2712-policy-dns-store/johntmyers
from
feat/2712-docker-transparent-tcp/johntmyers
Open
Changes from all commits
Commits
Show all changes
28 commits
Select commit
Hold shift + click to select a range
d44f06e
feat(network): enable Docker transparent TCP egress
johntmyers 9a3ca08
test(e2e): cover Docker transparent TCP egress
johntmyers 782c835
feat(network): correlate transparent TCP audit events
johntmyers b4c751e
docs(examples): add transparent TCP Redis demo
johntmyers aa6448b
docs(examples): demonstrate blocked TCP connections
johntmyers e5cb505
docs(examples): focus Redis demo audit output
johntmyers 43a40f3
fix(network): close transparent TCP policy bypasses
johntmyers 922bae6
fix(sandbox): reject unsupported TCP policy reloads
johntmyers ea3a2a5
fix(ci): satisfy Linux transparent TCP lints
johntmyers 692dae1
feat(podman): enable transparent TCP egress
johntmyers 3b90bdf
fix(podman): permit policy DNS port binding
johntmyers 70fe19b
test(e2e): use qualified transparent TCP hostname
johntmyers c40c1b7
fix(podman): preserve exact policy DNS names
johntmyers cb358a8
fix(podman): route policy DNS over TCP
johntmyers 82d829e
fix(dns): serve multiple TCP queries per connection
johntmyers 05f2cc5
docs(network): explain native DNS and TCP egress
johntmyers 0f7bc87
fix(sandbox): reconcile runtime reload with upstream
johntmyers 89be7ed
fix(network): harden transparent DNS capture
johntmyers 86ca98b
fix(podman): preserve resolver behavior for native tcp
johntmyers 628ca1f
docs(network): clarify native tcp runtime constraints
johntmyers 3e6670c
fix(network): remove unused transparent tcp pin
johntmyers 56ecdd2
fix(network): admit redirected transparent tcp
johntmyers 56bb2b1
fix(network): restore podman transparent networking
johntmyers af4cf33
test(podman): permit alpine busybox binaries
johntmyers e2195f2
test(podman): use portable alpine keepalive
johntmyers 26cb462
test(podman): build musl networking fixture
johntmyers 55b4f05
test(podman): isolate musl DNS probe
johntmyers d6bbf82
fix(podman): keep privileged port capability dropped
johntmyers File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🤖 Claude agent-assisted review
Docker advertises the capability here, but its
cap_addlist (around L2684) doesn't includeNET_BIND_SERVICE— the Docker lane only works because Docker's default capability set happens to include it, while Podman had to explicitly stop dropping it.That's an invisible dependency on a runtime default. If anyone later adds a
cap_dropto this driver, or Docker tightens its defaults, policy DNS breaks at bind time with no obvious connection to the change. Either add it explicitly with the same justification comment Podman carries, or move to an unprivileged DNS port (see the Podman comment) so neither lane depends on runtime defaults.There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed by moving the policy-DNS listener to unprivileged port 15053. Docker no longer implicitly depends on privileged-port binding for this feature.