Commit Graph
594 Commits
Author SHA1 Message Date
Sasha Klizhentas 6e4d6b0cb2 more work, discovery works 2017-10-07 18:11:03 -07:00
Sasha Klizhentas 53f4a0128e introduce curiosity protocol and fix logs 2017-10-06 15:38:15 -07:00
Sasha Klizhentas e12ec7422c refactoring 2017-10-05 17:29:31 -07:00
dmitri 1f63b8d596 Address review comments 2017-10-04 18:56:57 -07:00
dmitri ffcba2f078 ValidateCertificateChain: account for possible invalid PEM data block. 2017-10-04 18:56:57 -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 c543067001 Removed namespaces and expires from user interface. 2017-08-30 18:11:13 +00:00
Sasha Klizhentas 0c77c5c0e9 refactor internal rule representation 2017-08-23 19:08:56 -07:00
Sasha Klizhentas 8b81a0c384 Migrate to golang/dep for dependency management
Update following packages:

* Replace Sirupsen/log with sirupsen/log everywhere
* Update etcd client to 3.2.4
* Update docker/term to moby/term
* Update kr/pty to v1.0.0 release
* Update K8s client to 2.0
2017-08-22 15:30:30 -07:00
Russell Jones 6e785c7260 Validate certificate chain upon startup and provide more details in
certificate error messages.
2017-08-09 17:42:25 -07:00
Russell Jones b324616208 Added support for role variables. 2017-07-24 22:06:07 +00:00
Sasha Klizhentas d15d16da7b Set up deadline for SSH dial
DialWithDeadline works around the case when net.DialWithTimeout
succeeds, but key exchange hangs. Setting deadline on connection
prevents this case from happening
2017-07-18 21:37:02 -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
Ev Kontsevoy c69e9ce0ad Better error logging for users with misconfigured shell 2017-06-13 17:29:28 -07:00
Ev Kontsevoy e0360ac97a Fixed #1048 (scp error with OpenSSH client)
When this command is executed:

```
$ scp host:path/with/wildcards/* .
```

Teleport would launch "SSH exec" request on the sever side, which in
turn would execute the following:

```
/bin/bash -c /usr/bin/teleport scp --remote-addr=127.0.0.1:44226 --local-addr=127.0.0.1:3022 -r -f path/with/wildcards/*
```

The problem is that bash will attempt to "expand" the wildcard, sending
a bunch of files as an input into -f, but `teleport scp` needs to see
the _exact_ string as passed via scp client.

The proposed solution is to detect shell wildcard characters and wrap
them in single quotes preventing them from being expanded.

Another potential solution is to NOT use shell to execute SCP commands.
2017-06-08 18:24:27 -07:00
Russell Jones 26a565e9e0 Ignore ~/.tsh/environment file if it does not exist. 2017-06-05 10:22:12 -07:00
Sasha Klizhentas 4279a6c9d7 Merge branch 'master' into ev/e 2017-06-02 13:36:12 -07:00
Russell Jones 5f670ef7d9 Moved tests from lib/srv and lib/utils into integrations. 2017-06-01 17:35:09 -07:00
Ev Kontsevoy 14cf48d707 Switching to 1.8.3
- Updated Dockerfile to use 1.8.3
- Updated Makefile to stop generating garbage
- Improved one test which failed under Docker
2017-06-01 14:08:31 -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
Russell Jones 2bf011cb3d Fix ^C ignored issue on CentOS 6.8. 2017-05-24 10:31:05 -07:00
Sasha Klizhentas f8641681f6 SAML 2.0 initial implementation 2017-05-12 14:10:18 -07:00
Sasha Klizhentas 2950677d8a Patch for TLP-01-005: Check user principal when joining session. 2017-05-03 12:18:45 -07:00
Alexey Kontsevoy ea9c12f494 remove screen size from each websocket response 2017-05-01 15:23:23 -04:00
Sasha Klizhentas 4cf8c7dc56 agent regression fix 2017-04-17 12:12:04 -07:00
Ev Kontsevoy 1755870f27 Logging fixes and more
- Fixed logging. Closes #875
- Removed dead code
- Fixed 'exec' tests on OSX
2017-03-29 17:12:50 -07:00
Sasha Klizhentas 9141f94b8d fix flaky test 2017-03-12 12:28:31 -07:00
Sasha Klizhentas bde7b5b345 agent forwarding 2017-03-09 13:02:57 -08:00
Sasha Klizhentas d6ff6f6204 Configure web session duration, fixes #691
* Fix bug with OIDC powered sessions logged out after 10 minutes
* Adjust web sessions durations by taking roles into account
* Provide explicit TTL enforced on the server side for bearer tokens

Before this PR the web session TTL was measured using defaults,
10 minutes for local sessions and 1 hour for OIDC sessions and
the system relied on client to renew the bearer token.

With this change bearer token TTL is set to 10 minutes
and the entire web session will expire if not renewed before

The maximum session duration is set to 12 hours, if not
limited to a smaller value by roles in RBAC modules.
2017-02-17 16:16:44 -08:00
Ev Kontsevoy 7d534a7c50 Fixed window resize problems 2017-02-04 01:02:23 -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
Ev Kontsevoy 7b967d0c66 Nicer HTTPS error message on mismatched proxy hostname
It tells the user now exactly why they're getting x509 error and how to
fix it.
2017-01-28 18:48:51 -08:00
Ev Kontsevoy 123dbe8b56 This commit improves error reporting in tsh
It does two things:

1. Forwards the original HTTP error to the user without replacing it
   with generic "object not found". Related PR for trace package:
   https://github.com/gravitational/trace/pull/27

2. Adds proper handling for `-d` (debug) CLI flag. When passed, `tsh`
   will print the call stack along with the error message.
2017-01-22 18:31:52 -08:00
Russell Jones 05efdb2a17 Moved Check* methods into auth package. 2017-01-17 14:17:03 -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
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
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 367ba8b91f Improved tests 2016-12-27 11:38:53 -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 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 d214f5d5e2 address code review comments 2016-12-22 19:06:07 -08:00