Ultralight, security-first service mesh for Kubernetes. Main repo for Linkerd 2.x.
Go to file
Alejandro Pedraza bd8d47226d
DNS rebinding protection for the dashboard (#3644)
* DNS rebinding protection for the dashboard

Fixes #3083 and replacement for #3629

This adds a new parameter to the `linkerd-web` container `enforcedHost`
that establishes the regexp that the Host header must enforce, otherwise
it returns an error.

This parameter will be hard-coded for now, in `linkerd-web`'s deployment
yaml.

Note this also protects the dashboard because that's proxied from
`linkerd-web`.

Also note this means the usage of `linkerd dashboard --address` will
require the user to change that parameter in the deployment yaml (or
have Kustomize do it).

How to test:
- Run `linkerd dashboard`
- Go to http://rebind.it:8080/manager.html and change the target port to
50750
- Click on “Start Attack” and wait for a minute.
- The response from the dashboard will be returned, showing an 'Invalid
Host header' message returned by the dashboard. If the attack would have
succeeded then the dashboard's html would be shown instead.

Signed-off-by: Alejandro Pedraza <alejandro@buoyant.io>
2019-10-31 11:51:25 -05:00
.github Replace actions/checkout with actions/upload/download (#3602) 2019-10-23 17:22:59 -05:00
bin Fix whitespace path handling in docker (build) scripts (#3634) 2019-10-30 15:55:38 -07:00
charts DNS rebinding protection for the dashboard (#3644) 2019-10-31 11:51:25 -05:00
cli DNS rebinding protection for the dashboard (#3644) 2019-10-31 11:51:25 -05:00
cni-plugin Cert manager support (#3600) 2019-10-24 13:15:14 -07:00
controller Add proxy-injector-injections count to heartbeat (#3655) 2019-10-31 11:09:00 -05:00
grafana Increase the Grafana dashboards refresh interval (#3464) 2019-09-23 14:47:59 -07:00
pkg Add preinstall checks for deletion and creation of secrets (#3639) 2019-10-31 18:01:03 +02:00
proto Cert manager support (#3600) 2019-10-24 13:15:14 -07:00
proxy-identity Health check: check if proxies trust anchors match configuration (#3524) 2019-10-15 11:33:09 -07:00
test Add preinstall checks for deletion and creation of secrets (#3639) 2019-10-31 18:01:03 +02:00
testutil Add '--address' flag to 'linkerd dashboard'. (#3274) 2019-09-05 10:56:10 -07:00
web DNS rebinding protection for the dashboard (#3644) 2019-10-31 11:51:25 -05:00
.dockerignore Replace Travis with GitHub Actions for master/tags (#3398) 2019-09-06 15:58:46 -07:00
.editorconfig Add protobuf files to .editorconfig (#1042) 2018-05-30 15:09:38 -07:00
.gcp.json.enc Add docker builds and integration tests to CI (#1303) 2018-07-11 14:01:42 -07:00
.gitattributes remove the duplicate word (#3385) 2019-09-04 20:13:55 -07:00
.gitignore Introduce bin/kind, move executables to target/bin (#3289) 2019-08-21 19:49:21 -07:00
.golangci.yml Switch from using golangci fmt to using goimports (#3555) 2019-10-16 13:56:11 -07:00
.proxy-version Revert "proxy: v2.76.0 (#3593)" (#3636) 2019-10-24 18:46:26 +03:00
ADOPTERS.md sort ADOPTERS.md and add orgs that are speaking at Kubecon NA 2019 (#3654) 2019-10-30 12:55:27 -07:00
BUILD.md Control Plane Trace configuration (#3539) 2019-10-25 11:42:30 -07:00
CHANGES.md Release notes for edge-19.10.4 (#3628) 2019-10-23 16:37:33 -07:00
CODE_OF_CONDUCT.md Move Code of Conduct from wiki to repo (#3320) 2019-08-26 14:15:58 -07:00
CONTRIBUTING.md Add more detail to CONTRIBUTING.md about pull request descriptions (#3591) 2019-10-16 18:38:16 -07:00
DCO Add contributing doc and DCO file (#88) 2017-12-22 14:54:27 -08:00
Dockerfile-base Revert upgrade to buster based on CNI test failure after merge (#3486) 2019-09-26 13:40:43 -07:00
Dockerfile-debug Revert upgrade to buster based on CNI test failure after merge (#3486) 2019-09-26 13:40:43 -07:00
Dockerfile-go-deps Update to client-go v12.0.0, forked stern (#3387) 2019-09-10 11:04:29 -07:00
Dockerfile-proxy Cert manager support (#3600) 2019-10-24 13:15:14 -07:00
GOVERNANCE.md fix-up spelling mistake (#3328) 2019-08-27 10:24:53 -07:00
LICENSE Introducing Conduit, the ultralight service mesh 2017-12-05 00:24:55 +00:00
MAINTAINERS.md Update maintainers.md (#3509) 2019-10-01 15:57:26 -07:00
README.md add community meeting info to README (#3466) 2019-09-23 17:26:42 -07:00
SECURITY_AUDIT.pdf Add security audit (#3008) 2019-06-28 16:04:41 -07:00
TEST.md Introduce Go modules support (#2481) 2019-07-25 14:41:38 -07:00
go.mod Cert manager support (#3600) 2019-10-24 13:15:14 -07:00
go.sum Cert manager support (#3600) 2019-10-24 13:15:14 -07:00
tools.go Switch from using golangci fmt to using goimports (#3555) 2019-10-16 13:56:11 -07:00

README.md

Linkerd

GitHub Actions Status GitHub license Go Report Card Slack Status

🎈 Welcome to Linkerd! 👋

Linkerd is a service mesh, designed to give platform-wide observability, reliability, and security without requiring configuration or code changes.

Linkerd is a Cloud Native Computing Foundation (CNCF) project.

Repo layout

This is the primary repo for the Linkerd 2.x line of development.

The complete list of Linkerd repos is:

Quickstart and documentation

You can run Linkerd on any Kubernetes 1.12+ cluster in a matter of seconds. See the Linkerd Getting Started Guide for how.

For more comprehensive documentation, start with the Linkerd docs. (The doc source code is available in the website repo.)

Working in this repo

BUILD.md includes general information on how to work in this repo.

We ❤️ pull requests! See CONTRIBUTING.md for info on contributing changes.

Get involved

Community meetings

We host regular online meetings for contributors, adopters, maintainers, and anyone else interested to connect in a synchronous fashion. These meetings take place the last Wednesday of the month at 9am Pacific / 4pm UTC.

We're a friendly group, so please feel free to join us!

Code of conduct

This project is for everyone. We ask that our users and contributors take a few minutes to review our code of conduct.

Security

Security Audit

A third party security audit was performed by Cure53. You can see the full report here.

License

Copyright 2019, Linkerd Authors. All rights reserved.

Licensed under the Apache License, Version 2.0 (the "License"); you may not use these files except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.