Commit Graph
98 Commits
Author SHA1 Message Date
Russell Jones b3d4d36fde Added cert_format to role as well as tsh to control how a certificate is
generated.
2018-01-09 14:57:35 -08:00
Sasha Klizhentas c1153734b0 Add support for extra principals, fixes #1174
Add support for extra principals for proxy.
Proxy section already supports public_addr
property that is used during tctl users add
output.

Use the value from this property to update
host SSH certificate for proxy service.

proxy_service:
  public_addr: example.com:3024

With the configuration above, proxy host
certificate will contain example.com principal
in the SSH principals list.
2018-01-08 20:36:34 -08:00
Sasha Klizhentas 0130c6aa41 Mutual TLS Auth server and clients.
This commit introduced mutual TLS authentication
for auth server API server.

Auth server multiplexes HTTP over SSH - existing
protocol and HTTP over TLS - new protocol
on the same listening socket.

Nodes and users authenticate with 2.5.0 Teleport
using TLS mutual TLS except backwards-compatibility
cases.
2017-12-27 11:37:19 -08:00
Russell Jones 3bfe61dc0b Added integration tests and minor fixes. 2017-12-19 17:40:05 -08:00
Sasha Klizhentas f8c715ef41 make audit accessible by admin group members
If user running teleport is a member of adm group
create the directory and all subdirectories
accessible to admins.

Remove obsolete migrations required for pre 2.3 releases.
2017-11-17 17:58:34 -08:00
Russell Jones d346c10c37 Consolidate and refactor authorization and authentication handlers. 2017-11-14 16:43:33 -08:00
Roman Tkachenko 96a249de14 Rename plugins to modules 2017-10-16 16:55:39 -07:00
Roman Tkachenko 668243d144 Plugins interface 2017-10-16 11:42:01 -07:00
Roman Tkachenko 5dbda4f41b Use plugins mechanism instead of oss/e flag 2017-10-13 17:32:45 -07:00
Sasha Klizhentas 36ebf17d5f checks in in proxy subsystem, fixes #1336 2017-09-29 18:38:29 -07:00
Ev Kontsevoy d965e9e0a3 Added cleaner way to specify which distribution of Teleport is running 2017-09-06 14:19:54 -07:00
Russell Jones 9348490be2 Code review comments on RoleV3. 2017-07-18 11:20:49 -07:00
Ev Kontsevoy 94c35298b8 Preparation for 2.3
- Switched to new way of building Enterprise
- Removed `tctl tunnels` command (preparation for new resources)
- Removed `tctl auth ls` command (preparation for new resources)
2017-06-21 20:14:40 -07:00
Russell Jones 7e17b6f9a7 Added --compat=oldssh flag to generate user certificates without roles. 2017-06-20 16:57:56 -07:00
Sasha Klizhentas bde7b5b345 agent forwarding 2017-03-09 13:02:57 -08:00
Sasha Klizhentas 818498d9cf Merge branch 'master' into sasha/remoteca 2017-01-30 21:43:26 -08:00
Sasha Klizhentas cc3d20a0f2 some work 2017-01-30 18:57:58 -08:00
Ev Kontsevoy a8889271c6 Finished polish of tsh login
This commit:

* Improves on the previous commit on better name resolution by the proxy
  (and fixes a bug introduced by the previous commit)

* Removes 'host_login' from tsh client profile. Closes #729
2017-01-29 17:52:42 -08:00
Sasha Klizhentas aad5bba5a1 fix migrations from V1
Trusted clusters and cert authorities static configuration
sections were not properly processed and we've been creating
incomplete V2 objects in the database. This commit fixes the problem
2017-01-02 12:49:05 -08:00
Sasha Klizhentas 03cc9c66e1 Merge branch 'master' into sasha/dynamic 2016-12-24 14:49:33 -08:00
Sasha Klizhentas 8ab3add372 map OIDC scopes to roles, implements #620 2016-12-24 14:42:33 -08:00
dmitri 53e059a11a Add context support to ProxyClient.ConnectToNode to be able to timeout the connection.
The method is otherwise blocking and might hang upon establishing a connection if the other side closes the connection.
2016-12-23 20:50:32 +01:00
Sasha Klizhentas 13d61781b7 recover auth server tests 2016-12-18 12:00:17 -08:00
Ev Kontsevoy d3671fd922 Release of version 1.0.0 of Teleport
Woo!
2016-06-15 10:50:45 -07:00
Ev Kontsevoy 828e6a77aa Simpler version implementation 2016-06-14 18:03:06 -07:00
klizhentas d68e693cad migrate to trace errors 2016-04-12 11:07:14 -07:00
klizhentas ca7e3820d7 This commit adds ability to preconfigure the cluster without running
auth server. This is needed when you configure cluster from scratch and
all nodes including auth server spin up simultaneously.

* Add tctl tools to generate keys and certificates

  + Command "tctl authorities gen" generates public and private keypair.
  + Command "tctl authorities gencert" generates public and private keypair signed
    by existng private key
  + Command "tctl authorities export" was modified to be able to export exisitng private
    CA keys to local storage

   All of these commands are hidden by default.

section "static configuration"

* Add ability to configure teleport from environment variable

Environment variable TELEPORT_CONFIG can contain base64 encoded
YAML file config file of the standard file format, so teleport will use it on start

* Add special secrets section to the config file

Section "secrets" was updated to support pre-configured trusted CA keys and pre-generated keys

* Add special rts hidden section to add support for provisioning
2016-03-28 12:58:34 -07:00
klizhentas 19788c25ce introduce teleport version, fixes #241
Here's how it works:

* It takes the closest tag that is present in the build
* Automatically applies this tag
* Adds git commit as well
* Is 100% go gettable
* No external deps, all vendored
2016-03-14 11:22:49 -07:00
klizhentas c1e0604dd0 Introduce auth server and proxy heartbeats
This commit introduces heartbeats of AuthServers and Proxies and fixes several issues:

1. Server init problem

There was an issue in server init, when certificates of multiple roles were overwriting each otther.
Now Teleport stores each keypair and certificate in a separate file <hostid>.role.key and <hostid>.role.cert
This also means that it's backwards incompatible with previous on disk format.

2. Proxy and Auth heartbeats

Auth servers and proxies now heartbeat into cluster as well

3. Bugfixes:

* Proxy role was missing, it is now treated as a separate role with permissions
* AdvertiseIP is now a global setting that can be used by all roles
* --advertise-ip flag was ignored and was never applied
* teleport service initialization has been simplified, now each role get it's own client
* minor cleanups
2016-03-13 18:15:09 -07:00
klizhentas 0e503ca376 Add proper integration with OpenSSH on both sides 2016-03-09 19:39:15 -08:00
klizhentas d4e741ffc7 report errors in case of SSH access denied, fixes #179 2016-03-08 16:29:08 -08:00
klizhentas 1eb952b89f properly propagate HTTP errors, fixes #172 2016-03-07 17:05:57 -08:00
Ev Kontsevoy 42f55959ed Intermediate commit 2016-03-04 16:27:52 -08:00
klizhentas 07fd46bb1d fix orphane processes, fixes #191 2016-03-03 12:28:10 -08:00
Ev Kontsevoy 7ca1ae16ef Comments and fixed tests 2016-03-02 11:10:07 -08:00
Ev Kontsevoy cb3eddd36b Servers now use read-only UUIDs for their IDs 2016-03-01 23:34:49 -08:00
Alex Lyulkov 07c0ca47f9 Fixed tsh tests, changed tests ports 2016-02-25 20:30:44 +03:00
Alex Lyulkov eec2217e56 Fixed client test, fixed srv test, minor changes 2016-02-22 22:38:37 +03:00
klizhentas 278420174f refactor roles and certificates handling 2016-02-18 18:07:43 -08:00
Alex Lyulkov 042212ad65 Joined regular and hangouts reverse tunnels, changed authentication, minor fixes 2016-02-19 00:23:22 +03:00
Alex Lyulkov d0fd7b26d3 Hangouts: everything works 2016-02-16 20:06:25 +03:00
Alex Lyulkov 66dd4436e9 working hangouts 2016-02-16 15:51:33 +03:00
Alex Lyulkov f35f74cb46 working on tsh share 2016-02-12 18:25:54 +03:00
Alex Lyulkov 566933b541 Fixed code style 2016-02-05 02:03:05 +03:00
Alex Lyulkov a56b5236ac Moved to go1.5 vendoring 2016-01-20 18:52:25 +03:00
Alex Lyulkov 37b6a2050a Added ssh client library 2015-12-16 21:06:21 +03:00
klizhentas 00ef621e6b Apply apache license to teleport 2015-10-31 11:56:49 -07:00
Alex Lyulkov a3db86b236 More folders arrangments 2015-10-05 20:36:55 +03:00