Commit Graph
211 Commits
Author SHA1 Message Date
rosstimothy ec016c7fc8 Add audit event section to RFD template (#23142)
Attempts to prevent the audit log from being an after thought by
incorporating them into the RFD template.
2023-03-15 20:10:53 +00:00
Grzegorz Zdunek e479fe605a Update RFD 0097 (#23052) 2023-03-14 17:12:11 +00:00
Noah Stride 9449f4122b Update RFD0106 status (#23050) 2023-03-14 16:32:24 +00:00
rosstimothy 84562ffc49 Adds the following sections to the RFD template: (#22993)
#### Proto Specification
 - This ensures that all api changes are reviewed during the
   design and not in a subsequent PR. This is also more closely
   aligns with the design process we force on interview candidates.
#### Backward Compatibility
 - Forces RFD authors to consider how there changes will interact
   with older clusters and clients. Any migration steps should be
   called out directly in the RFD so that when the feature is rolled
   out there are no surprises.
#### Test Plan
 - Causes the authors to think about what quality assurance measures
   need to be in place to catch regressions before they happen. The
   same testing should also occur prior to the initial release that
   the feature will land in if said release isn't a major release.
2023-03-13 19:03:23 +00:00
Vitor EnesandEdoardo Spadolini b6de0c2f4b RFD 108 - Agent Census (update) (#22872)
* RFD 108 - Agent Census (update)

* Mention macOS agent

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* Add release versions

---------

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>
2023-03-13 10:37:27 +00:00
Brian Joerger 424606ef35 Headless Login: proxy server changes (#22734)
* * Add proper context handling to auth.AuthenticateUser.

 * Move PublicKey field to AuthenticateUserRequest where it can be used
   for actual authentication.

 * Use a simple switch statement in /webapi/ssh/certs logic to switch
   between password, otp, and eventually headless login.

* Add Headless flow to /webapi/ssh/certs login enpdoint.

* Add 3 minute callback timeout.
2023-03-10 19:25:08 +00:00
Gavin Frazar e37e7266b4 update rfd/0090-db-mfa-sessions (#21689)
* change state to implemented
* update details to reflect changes during implementation
2023-03-07 22:04:35 +00:00
Lisa Kim 5aa3a41f01 RFD 01111 - Support connection testers when per-session MFA is enabled (#22458)
* Rfd

* Address review
2023-03-03 02:56:31 +00:00
Anton Miniailo bce19568b3 Move IP pinning RFD from private repo. (#22481) 2023-03-02 22:46:24 +00:00
Andrew LeFevreandJakub Nyckowski a471c35594 added RFD for registered OpenSSH nodes (#19261)
expanded 'registering nodes' section to provide solution to stated problem

addressed feedback

Clarified RBAC section, added security and UX notes. Removed the
option of adding info to host certs, that actually won't work with how
SSH public key auth is currently implemented.

added details on new CA, fleshed out details on getting RBAC to work

addressed some feedback, renamed OpenSSH CA -> Agentless CA

added other RBAC implementation

minor changes addressing feedback

fix incorrect usage of 'preform'

added example of registered OpenSSH node resource

remove accidental reference to unregistered nodes

renamed sub-kind and CA; removed option 1 as it was unanimously rejected

added 'teleport' node sub-kind

add manual ca rotation details

address feedback

add section about SSH agent forwarding

clairified what SSH agents can be forwarded

addressed feedback

add future work

removed 'future work' section

clarified that proxy recording and direct dialing will be removed at the same time

address feedback

Update rfd/0098-registered-openssh-nodes.md

Co-authored-by: Jakub Nyckowski <jakub.nyckowski@goteleport.com>
2023-03-02 16:42:42 +00:00
Brian Joerger 30d9429fb3 RFD 105 - Headless Authentication (#21005)
* Draft UX section.

* Complete draft.

* Minor edits.

* Address comments, polish.

* Condense headless login request into a single HTTP endpoint.

* Update security section for limited certificate permissions.

* Address doyensec comments.

* Update RFD.

* Remove certificate limitation from RFD scope; Add RFD number; smaller
edits.

* Small fixes.

* * Update auth flow to use auth.AuthenticateSSHUser endpoint instead of CreateHeadlessAuthRequest and GenerateUserCerts endpoints

 * Remove CreateHeadlessAuthRequest rpc

 * Remove token and other unneeded fields from headless authentication

* * Add resource watcher section

* Don't insert backend data without authenticaion

* Remove view headless requests page

* Update diagram

* Use the client's public key to derive a request ID.
2023-02-28 18:08:05 +00:00
Forrest 323b1cb9ea cloud agent upgrades rfd (#20622) 2023-02-27 17:18:37 +00:00
3f63a59bbd RFD 108 - Agent Census (#21337)
* RFD: Agent Census

* Add install methods

* Add tarball

* Fill in TODOs

* Track multiple installation methods

* Detect EKS & GKE

* Add container runtime back

* Improve wording

* Use `/etc/os-release` for OS version

* Use `/.dockerenv` for Docker

* Improve wording

* Remove ps scripts

* Be less vague in goal

* Link to agent census section

Co-authored-by: Michelle Bergquist <11967646+michellescripts@users.noreply.github.com>

* Track `systemctl`

* Add new `UpstreamInventoryAgentMetadata` message

* ICS

* Improve wording

* Improve wording

* Improve wording

* Be more explict about the possible values in `UpstreamInventoryAgentMetadata` fields

* Improve wording

* Simplify agent metadata fetching flow

* Add note about command output parsing

* Add note about ICS flow

* Improve glibc description

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>

* Fix typo

Co-authored-by: Walt <walt@goteleport.com>

* Add Teleport AMIs to list of install methods we want to track

* Add note about data sanitization

* RFD number

* Update required approvals

* Improve code sketch with suggestion

* Include git version in `UpstreamInventoryAgentMetadata.ContainerOrchestrator`

* Merge dev plan steps 2 and 3

* Remove `TeleportAccessProtocol` enum and detail how info will be stored in PostHog

* Update `UpstreamInventoryAgentMetadata` comments

* RFD number

* Fix PostHog data

* server_id -> host_id

* RFD number

* RFD number

---------

Co-authored-by: Michelle Bergquist <11967646+michellescripts@users.noreply.github.com>
Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>
Co-authored-by: Walt <walt@goteleport.com>
2023-02-22 11:20:36 +00:00
82098f7c2b RFD0106: Machine ID Anonymous Agent metrics (#21920)
* Start machine id client analytics rfd

* Add notes on warnings to logs

* Add details on event collection

* Make it clear no additional anonymization is required

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>

* Use environment variable for telemetry opt in

* Add proto for event submission

* Set RFD number

* Correct name for consistency.

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* Name fields for consistency

Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>

* rename continous -> daemon

* Reflow text after PR fixes

* Add distinct_id field to event request

* Describe the UUID field

* Shorten and clarify attributes related to destinations

* Change env var for enabling telemetry

---------

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>
Co-authored-by: Edoardo Spadolini <edoardo.spadolini@goteleport.com>
2023-02-21 15:02:02 +00:00
Alex McGrath a15e987476 RFD 57: Add agentless mode section and AWS tags forwarding section (#18676)
* Add agentless mode section to ec2 discovery rfd

* Update the labels section

* use `teleport join` command instead of secret-manager

* update to include a full teleport join command example

* Add cert rotation section

* remove AWS Tags section
2023-02-20 11:23:33 +00:00
Jeff Pihach 3d3d1fffd1 Update the webapps into teleport merge rfd and set to implemented. (#21838) 2023-02-14 20:19:43 +00:00
Andrew Burke 2455153347 RFD - Automatic Azure discovery (#16957)
RFD for the automatic discovery and joining of Azure servers.
2023-02-13 19:04:49 +00:00
Andrew Burke 732594f191 Add Azure join method (#20019) 2023-02-08 17:21:11 +00:00
Tiago SilvaandZac Bergquist 7dd430b95e update Pod RBAC RFD state to implemented (#21389)
* update Pod RBAC RFD state to implemented

* Update rfd/0101-pod-rbac.md

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>

---------

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>
2023-02-07 16:36:21 +00:00
Gavin Frazar 99e9db8810 Add draft for RFD/0090 - DB MFA Sessions (#16739)
* Add draft for RFD/0090 - DB MFA Sessions

* Fix title

* Update 0090-db-mfa-sessions.md

* Update 0090-db-mfa-sessions.md

Remove extra line breaks

* Update 0090-db-mfa-sessions.md

* Update 0090-db-mfa-sessions.md

* Update rfd/0090-db-mfa-sessions.md

* Update api section to explain why 'always' is ok

* Update details section

* mention that we will disable commands that save certs to disk when per-session-mfa is required

* Fixup formatting

* Add section about Teleport Connect

* Add section about PIV yubikey
2023-02-03 01:15:42 +00:00
Marco André Dinis 792722b2ef Fix heartbeat typos (#20982) 2023-01-31 20:15:06 +00:00
Nic Klaassen 676b8d671b update login rules RFD state to implemented (#20749) 2023-01-26 19:49:17 +00:00
Roman TkachenkoandMarco Dinis 39e52d8c8f Add Teleport Discover metrics RFD (#18546)
* Add Teleport Discover metrics RFD

* Fix

* Update Events

This commit includes some nit changes:
- adding the unspecified as the first enum
- renaming some messages to add the Discover namespace

Some other changes:
- added the Skipped status to accomodate for when we don't have to
  install the DatabaseService
- merged deploy of services into a single event (deploy of an ssh agent,
  kube agent and database agent)
- added the started event to capture when the wizard is launched

* Remove prefix on enums

Co-authored-by: Marco Dinis <marco.dinis@goteleport.com>
2023-01-17 17:54:22 +00:00
Hugo ShakaandRoman Tkachenko 3bf6e2d3ec RFD 0087: Access request notification routing (#16288)
Co-authored-by: Roman Tkachenko <roman@goteleport.com>
2023-01-16 15:09:35 +00:00
12cdaed68d RFD 103: Application Access Web UI Auth Flow (#20138)
* RFD 103: Application Access Auth Flow

* Update rfd/0103-application-access-auth-flow.md

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>

* Code review comments

* Update rfd/0103-application-access-auth-flow.md

Co-authored-by: Gavin Frazar <gavin.frazar@goteleport.com>

* Rename the RFD to include Web UI

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>
Co-authored-by: Gavin Frazar <gavin.frazar@goteleport.com>
2023-01-12 22:05:28 +00:00
Andrew Burke b6123d21a0 RFD - Azure join method (#19172)
This RFD describes a new join method for Teleport nodes running on Azure virtual machines. It is essentially an Azure version of EC2/IAM join.
2023-01-12 00:24:26 +00:00
Hugo Shaka c5dfffcdc2 RFD 0096: Helm chart revamp (#18274) 2023-01-11 16:09:26 +00:00
Rafał Cieślak 7cc2dc4286 RFD 99: Making bundled tsh available outside of Connect (#19284) 2023-01-04 16:42:20 +00:00
rosstimothy 08349a3a74 RFD 100: Proxy gRPC transport (#19439) 2023-01-03 19:08:39 +00:00
Tiago Silva 2d89c20867 RFD 101: Kubernetes Per-pod RBAC (#18434)
RFD 101: Kubernetes Per-pod RBAC
2022-12-22 17:57:58 +00:00
Isaiah Becker-Mayer 7583247046 Adds a maximum message size for RDP messages and adds the tdp Notification message (#18131) 2022-12-14 19:25:55 +00:00
Tiago Silva 4ae97a825b RFD 98: Kubernetes clusters Auto-Discovery (#13376)
Kubernetes Auto-Discovery RFD

Related to #12048
2022-12-06 20:40:38 +00:00
Nic Klaassen a68a805e78 feat: add login rule protobuf type (#18879) 2022-11-29 22:55:03 +00:00
Hugo Shaka 2bb4e59957 RFD 0094: Kubernetes node joining (#17905) 2022-11-29 14:08:39 +00:00
Grzegorz Zdunek 88699f27af RFD 97: Teleport Connect usage metrics (#18356) 2022-11-25 16:44:22 +01:00
Nic Klaassen bd171ed01c RFD 78: Login Rules (#14977) 2022-11-24 21:59:52 +00:00
Isaiah Becker-Mayer 7c83501612 Shared Directory Audit events (#17410) 2022-11-10 19:11:44 +00:00
rosstimothy 1aee0c8fe0 RFD 93: Robust Access to Nodes (#17676)
Ensure that users can access nodes via `tsh ssh` when there is intermittent or no connectivity to Auth.

Connectivity to the Auth server is a single point of failure which can result in not being able to access
a resource. If a user already has already obtained a valid certificate (via `tsh login`) there are certain
scenarios when a connection to Auth should not required to gain access to a node. This would reduce the burden
on cluster admins when performing an Auth upgrade. On top of the potential downtime during the upgrade, any issues found as a result of the upgrade require a rollback, which can further extend downtime and lack of connectivity.
2022-11-08 13:11:08 +00:00
Zac Bergquist 698e377fb4 RFD 91: streaming session playback (#17949)
* Remove reference to GetSessionPlayer, which no longer exists
* Fix up incorrect godoc
* Add RFD 91: streaming session playback
2022-11-02 16:35:16 +00:00
Jeff Pihach a130efb6d9 RFD 89: Merge Webapps into Teleport (#16413) 2022-11-01 19:31:27 +00:00
Noah StrideandZac Bergquist 291d6d53a6 CircleCI Secure Joining (#17626)
* Add API types for CircleCI joining

* Add validation for CircleCI configuration

* Add JoinMethodCircleCI across codebase

* Add token validator and token source for circleci

* Update join methods RFD

* Add CircleCI token source to register.go

* Add serverside support for circleci joining

* Add test for TokenSource

* Add success case for token validation test

* Add expired test case

* Add test case for token from another org

* Test RegisterWithToken for CircleCI

* Refactor GitHub RegisterUsingToken tests

* Refactor CircleCI RegisterUsingToken tests

* Add tests for ProvisionTokenSpecV2

* Appease linters

* Go Imports files

* Fix failing test for msising IDtoken

* Update lib/auth/join_circleci.go

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>

* Move test server cleanup closer to initialisation

* Fix weird import reordering

* Include unexpected type in error message

* Simplify boolean algebra :)

Co-authored-by: Zac Bergquist <zac.bergquist@goteleport.com>
2022-11-01 12:15:10 +00:00
Tobiasz Heller 208939379c Change windows-passwordless RFD to implemented (#17715) 2022-10-25 07:11:47 +00:00
Edward Dowling c7518983f3 RFD 84: Add license warning RFD (#15766) 2022-10-24 14:57:49 +00:00
Isaiah Becker-Mayer 8ad720379c Updates the directory sharing rfd to include a proposal for audit events (#16382) 2022-10-14 20:24:03 +00:00
Brian Joerger 60b3442f1d RFD 80: Hardware Key Support (#14774) 2022-10-13 18:21:07 +00:00
Noah Stride 5fa3960c13 RFD 79: OIDC Joining (#14414)
* Start work on OIDC joining RFD

* Better explain why GCE as first platform

* Explain registration flow

* Correct behaviour for bot certificates

* Change structure of configuration to use array

* Add notes on JWT exfilitration security issues

* Adjust RFD for GCP specific configuration

* Add zone to extracted claims from GCP token

* Introduce new ProvisionTokenSpec

* Add migration strategy todo

* Simply GCP OIDC joining config schema

* Remove irrelevant line

* Update GCP example to reference TokenV3

* Notes on certificate pinning mitigation for mitm

* add notes on clock skew

* JWT cache configuration

* fix rfd line wrapping

* Update RFD79 for implementation
2022-10-07 08:58:13 +00:00
Tobiasz Heller 3791bc3174 RFD 0088: Passwordless for windows CLI (#16360)
RFD 0088: Passwordless for windows CLI
2022-10-07 08:36:31 +02:00
Krzysztof Skrzętnicki 6070938332 Update RFD number RFD text body (#17110) 2022-10-06 16:46:49 +00:00
Noah Stride b043886887 Update RFD83 status (#17114) 2022-10-06 15:01:23 +00:00
Zac BergquistandIsaiah Becker-Mayer 3e3fd53a24 Desktop Access optimizations (#16864)
This includes 3 optimizations to improve performance of desktop sessions:

1. Reuse the same image object when encoding PNGs. This prevents us from making
    a 16KB allocation for every single bitmap that comes through.
2. Introduce a new PNG frame message that has a length as part of the header.
    The original message had no length, which required a costly decode operation
    just to find the message boundary. This fixes a performance regression in the
    proxy for v10.2.x.
3. Eliminate the use of binary.Write when encoding the most common message types.
    While convenient, binary.Write uses reflection to detect the type of the input, which slows encoding down.

Co-authored-by: Isaiah Becker-Mayer <isaiah@goteleport.com>
2022-10-05 01:44:01 +00:00