Set a 5-minutes ReadHeaderTimeout for client http.Server - #22128
Conversation
Signed-off-by: Benjamin Wang <benjamin.ahrtr@gmail.com>
|
/test pull-etcd-robustness-amd64 |
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files
... and 23 files with indirect coverage changes @@ Coverage Diff @@
## main #22128 +/- ##
==========================================
- Coverage 69.66% 69.65% -0.02%
==========================================
Files 449 449
Lines 38177 38179 +2
==========================================
- Hits 26597 26593 -4
- Misses 10148 10152 +4
- Partials 1432 1434 +2 Continue to review full report in Codecov by Harness.
🚀 New features to boost your workflow:
|
|
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: ahrtr, fuweid The full list of commands accepted by this bot can be found here. The pull request process is described here DetailsNeeds approval from an approver in each of these files:
Approvers can indicate their approval by writing |
|
/cherry-pick release-3.7 |
|
/cherry-pick release-3.6 |
|
@ahrtr: new pull request created: #22143 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
@ahrtr: new pull request created: #22144 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
/cherry-pick release-3.5 |
|
@ahrtr: new pull request created: #22163 DetailsIn response to this:
Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes-sigs/prow repository. |
|
Same question as #22130 (comment), for servers where TLS is not enabled. |
Resolve a security noise(see below) with low cost. Normally client-server communication is protected by mTLS, this shouldn't be a problem.
An unauthenticated network attacker can hold open many partial-header HTTP/1.1 connections to the etcd client listener until the LimitListener fd cap (fdLimit-150) is exhausted, denying service to legitimate etcd clients. The etcd server process is affected; availability of the client API is the impacted resource.
Note, we use the same value as peer http.Server,
etcd/server/embed/etcd.go
Line 602 in 81e09b0
cc @fuweid @ivanvc @serathius