Commit graph

34 commits

Author SHA1 Message Date
Russell Jones 64d743fc5d Added support for default roles. 2017-08-01 00:54:05 +00:00
Russell Jones 7e17b6f9a7 Added --compat=oldssh flag to generate user certificates without roles. 2017-06-20 16:57:56 -07:00
Russell Jones 78ee5d09ee Added support for allowing the reading of a users environment when
creating a new child session from ~/.tsh/environment.
2017-05-26 17:06:49 -07:00
Russell Jones 2117306774 Added HTTP CONNECT tunneling support for Trusted Clusters. 2017-05-25 10:28:05 -07:00
Sasha Klizhentas 4a3f3b69e1 work on trust 2017-05-17 10:36:25 -07:00
Russell Jones b3af2d3010 SAML 2.0 and AD FS integration. 2017-05-12 14:10:19 -07:00
Sasha Klizhentas f8641681f6 SAML 2.0 initial implementation 2017-05-12 14:10:18 -07:00
Russell Jones 568e9f9139 Patch for TLP-01-006 and TLP-01-007: Validate Session ID. 2017-05-03 12:19:01 -07:00
Russell Jones 7275c767fc Added support for ACR values for OIDC connectors. 2017-04-12 17:24:26 -07:00
Russell Jones 4b95db44cb Corrected the Session URL returned when calling "teleport status". 2017-04-07 10:12:36 -07:00
Russell Jones fb4c280c0c Fixed User CA export and parsing and added --compat=1.0 flag to tctl. 2017-04-06 12:05:00 -07:00
Sasha Klizhentas f02d391172 add optional agent forward cert extension 2017-03-21 13:56:05 -07:00
Sasha Klizhentas b8be3c5101 Merge branch 'master' into sasha/agents 2017-03-09 16:23:17 -08:00
Russell Jones 2f70866e5a Added TrustedCluster resource. 2017-03-09 13:49:44 -08:00
Sasha Klizhentas 80852f0bf6 working proto 2017-03-07 21:42:17 -08:00
Russell Jones 1dcd3e11e5 Refactored authentication configuration, created resources for dynamic configuration of authentication configuration, and updated documentation. 2017-02-22 11:48:06 -08:00
Russell Jones 2de94536d8 Added debug ssh agent to be used in tests so they can run consistently across platforms. 2017-02-14 06:43:32 +00:00
Russell Jones 8029318647 Use a fake clock in OTP tests. 2017-02-10 22:46:26 +00:00
Ev Kontsevoy 9a16ac4dff SSH keepalive implementation + refactoring
The base SSH server implementation now sends SSH keepalive at ta rate of
1/4 of "idle timeout" constant. The client properly responds to keepalive
pings.

The SSH client, instead of creating 2 goroutines for handling SSH
requests and SSH channels now uses the same (existing) goroutine with
for-loop + select statement.
2017-01-30 16:53:10 -08:00
Ev Kontsevoy 7da705e47b Two fixes in one commit
Fix one:

Fixed typo in defining `teleport.HOTP` constant.
This fixes bug #721

Fix two:

Removes 'drop tunnel connection' logic on any tunnel-related error. This
fixes 2nd problem "Handling Unreachable nodes" for issue #717 (see
klizhentas comment there)
2017-01-22 19:55:54 -08:00
Russell Jones 9e0c439927 Added TOTP support and deprecated HOTP support. New users are created with TOTP as the second factor, but HOTP backward compatibility is maintained by allowing users created before this commit to continue to log in with HOTP tokens. 2017-01-17 11:24:52 -08:00
Ev Kontsevoy 312af8f02d Converted DynamoDB and etcd to common backend API
TODO:
- fix etcd tests
- do some manual testing of all backends
2017-01-15 16:28:18 -08:00
Ev Kontsevoy 40caec6048 Converted boltbk to the new format
BoltDB backend is now compatible with how all backends should
initialize.

Also all BoltDB-specific code/constants have been consolidated inside of
`backend.boltbk` package.
2017-01-15 16:28:18 -08:00
Ev Kontsevoy ed8604f757 Semi-serious connection overhaul of Teleport SSH
- Added idle timeout handling to every SSH connection.
- A bit of code refactoring (removing unused code paths)

Most importantly:

Added a custom SSH handshake between SSH Teleport proxies
and SSH Teleport servers. This handshake sends a custom JSON payload
from a proxy to a server, allowing to exchange additional information,
like the true IP of a client.
2016-12-30 01:21:28 -08:00
Ev Kontsevoy 21bd8caa4f Addressed PR comments
- Comments
- Error creation
- Moved from Mailgun's frozen time to clockwork
- Made tests more reliable
2016-12-25 23:26:16 -08:00
Sasha Klizhentas 8ab3add372 map OIDC scopes to roles, implements #620 2016-12-24 14:42:33 -08:00
Ev Kontsevoy a6127227f3 Proper handling of attached/detached terminals
Also Teleport now will try to get the type of terminal you're already
on, looking at $TERM
2016-09-10 21:59:16 -07:00
Ev Kontsevoy b4a6a4f972 Cleaned up Teleport logging
* Downgraded many messages from `Debug` to `Info`
* Edited messages so they're not verbose and not too short
* Added "context" to some
* Added logical teleport component as [COMPONENT] at the beginning of
  many, making logs **vastly** easier to read.
* Added one more logging level option when creating Teleport (only
  Teleconsole uses it for now)

The output with 'info' severity now look extremely clean.
This is startup, for example:

```
INFO[0000] [AUTH]  Auth service is starting on turing:32829  file=utils/cli.go:107
INFO[0000] [SSH:auth] listening socket: 127.0.0.1:32829  file=sshutils/server.go:119
INFO[0000] [SSH:auth] is listening on 127.0.0.1:32829    file=sshutils/server.go:144
INFO[0000] [Proxy] Successfully registered with the cluster  file=utils/cli.go:107
INFO[0000] [Node] Successfully registered with the cluster  file=utils/cli.go:107
INFO[0000] [AUTH] keyAuth: 127.0.0.1:56886->127.0.0.1:32829, user=turing  file=auth/tun.go:370
WARN[0000] unable to load the auth server cache: open /tmp/cluster-teleconsole-client781495771/authservers.json: no such file or directory  file=auth/tun.go:594
INFO[0000] [SSH:auth] new connection 127.0.0.1:56886 -> 127.0.0.1:32829 vesion: SSH-2.0-Go  file=sshutils/server.go:205
INFO[0000] [AUTH] keyAuth: 127.0.0.1:56888->127.0.0.1:32829, user=turing.teleconsole-client  file=auth/tun.go:370
INFO[0000] [AUTH] keyAuth: 127.0.0.1:56890->127.0.0.1:32829, user=turing.teleconsole-client  file=auth/tun.go:370
INFO[0000] [Node] turing connected to the cluster 'teleconsole-client'  file=service/service.go:158
INFO[0000] [AUTH] keyAuth: 127.0.0.1:56892->127.0.0.1:32829, user=turing  file=auth/tun.go:370
INFO[0000] [SSH:auth] new connection 127.0.0.1:56890 -> 127.0.0.1:32829 vesion: SSH-2.0-Go  file=sshutils/server.go:205
INFO[0000] [SSH:auth] new connection 127.0.0.1:56888 -> 127.0.0.1:32829 vesion: SSH-2.0-Go  file=sshutils/server.go:205
INFO[0000] [Node] turing.teleconsole-client connected to the cluster 'teleconsole-client'  file=service/service.go:158
INFO[0000] [Node] turing.teleconsole-client connected to the cluster 'teleconsole-client'  file=service/service.go:158
INFO[0000] [SSH] received event(SSHIdentity)             file=service/service.go:436
INFO[0000] [SSH] received event(ProxyIdentity)           file=service/service.go:563
```
You can easily tell that auth, ssh node and proxy have successfully started.
2016-09-02 17:28:18 -07:00
Ev Kontsevoy 23b3565f3a Started work on self-reconnecting reverse tunnels 2016-05-11 13:17:13 -07:00
Ev Kontsevoy 773bc718c4 Minor code cleanup
- Replaced hard-coded timeouts with pre-existing teleport.DefaultTimeout
  constant.

- Fixed tests
2016-03-15 19:57:02 -07:00
klizhentas 7a2a9e334f add support for TELEPORT_DEBUG_TESTS environment variable turning on verbose testing 2016-03-14 14:07:45 -07:00
Ev Kontsevoy 04db6cc769 Webassets aren't in "Data Dir" anymore
When teleport starts, it looks for web assets in the following
directories:

- Dir where executable is
- /usr/local/share/teleport
- /usr/share/teleport
- /opt/teleport
2016-03-12 23:24:57 -08:00
klizhentas 09725aab60 recover etcd backend support 2016-03-10 17:03:01 -08:00
klizhentas 6cdaba2ef6 user mappings should be deleted if user is deleted, fixes #116
This commit includes refactoring and cleanup of cert authority sybsystem:

* User keys methods are deleted
* Authorities CRUD is simplified
* Lots of code removed
2016-02-17 15:29:01 -08:00