Commit graph

105 commits

Author SHA1 Message Date
Russell Jones 084c8274b4 Allow configuration of the ciphers, KEX algorithm, and MAC algorithms
for node and proxy.
2017-06-11 12:16:10 -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 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
Sasha Klizhentas 91b4a663b9 instrument with monitoring tools, fixes #935
* Add prometheus endpoint to expose system stats
* Add heealthz endpoint
* Add gops endpoint for real time troubleshooting
* Deprecate httprof endpoint
2017-05-13 18:32:10 -07:00
Sasha Klizhentas f8641681f6 SAML 2.0 initial implementation 2017-05-12 14:10:18 -07:00
Russell Jones a425423103 Renamed IdentityProvider to Provider. 2017-04-12 22:24:18 -07:00
Russell Jones 7275c767fc Added support for ACR values for OIDC connectors. 2017-04-12 17:24:26 -07:00
Russell Jones 64d5b1d93c Don't set logins directly from allowed logins for CertAuthority V2. 2017-04-11 16:55:26 -07:00
Russell Jones 10177ade5d Fixed typo when checking for clustername. 2017-04-07 18:01:05 -07:00
Sasha Klizhentas 3c2570fa35 Sasha High Availability. 2017-04-07 16:54:15 -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
Russell Jones 81ba372833 Added support for dynamic roles in claim mappings for OIDC. 2017-04-04 15:09:21 -07:00
Sasha Klizhentas 9ef7e64eca bring seed_config, make it deprecated fixes #890 2017-03-31 18:10:55 -07:00
Ev Kontsevoy 35f80ca798 Added 'data_dir' value to backend params
Fixes #867
2017-03-29 17:12:50 -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
Russell Jones 00567f6d0c Added public_address to proxy server configuration and heartbeat. 2017-03-17 11:38:40 -07:00
Russell Jones 2f70866e5a Added TrustedCluster resource. 2017-03-09 13:49:44 -08:00
Russell Jones 54c7f1cd32 Added dynamic_config and removed seed_config. 2017-03-01 16:44:34 -08:00
Russell Jones 2033d8093c Fix configuration file regressions. 2017-02-24 14:48:52 -08:00
Russell Jones 7afe60f72e Code review comments. 2017-02-23 15:07:55 -08:00
Russell Jones cfe92d7ad2 Fixed bugs created in #783. Updated response returned from /webapi/ping and
/web/config.js. Added support for authentication selection based off ping
response in tsh.
2017-02-23 13:45:19 -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
Ev Kontsevoy ac205ad530 Finished cleaning up storage back-ends
I hope this closes #688
2017-01-15 23:23:37 -08:00
Ev Kontsevoy 7040331660 Fixed all tests
Also replaced mailgun.FrozenTime with `clockwork` in a few places
(mailgun's frozen time still remains elsewhere)
2017-01-15 16:28:18 -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 eee8bac224 Added filesystem backend configuration parsing
+initialization
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
Sasha Klizhentas 6dc157985e Merge branch 'master' into sasha/oidc 2016-12-30 16:51:13 -08:00
Sasha Klizhentas 2cc1a548c5 finished changes 2016-12-30 15:13:45 -08:00
Ev Kontsevoy bd96ce9d52 Removed a bunch of dead/unused code
Originally Teleport had facilities to configure events/recordings via two
separate backends.

In reality those two objects (session events and session recordings)
need each other and currently there is only one implementaiton of it.

The old structures were unused. This commit is 100% dead code removeal.
2016-12-27 21:07:16 -08:00
Ev Kontsevoy 4ed536a2f0 First pass at cleaning up DynamoDB and locks
- Added ability to read AWS config from `~/.aws` directory for testing
- Fixed TTL bug in DynamoDB back-end
- Made FS back-end return similar error types as Boltdb does
- Cleaned up buggy tests for DynamoDB
- Removed unnecessary locks everywhere in code
2016-12-27 00:12:59 -08:00
Sasha Klizhentas 8ab3add372 map OIDC scopes to roles, implements #620 2016-12-24 14:42:33 -08:00
Sasha Klizhentas 0bf50323a9 Merge branch 'master' into sasha/rbac 2016-12-21 15:44:25 -08:00
Ev Kontsevoy 91f0492b00 U2F is turned off by default (when teleport.yaml is missing) 2016-12-20 16:39:11 -08:00
Sasha Klizhentas 41a4d2872c Merge branch 'sasha/corruption' into sasha/rbac 2016-12-20 11:06:16 -08:00
Sasha Klizhentas a187b37503 Add namespace configuration parameter 2016-12-16 11:48:16 -08:00
Sasha Klizhentas 35ee1f78b7 fix dynamodb backend, updates #645 2016-12-15 10:08:10 -08:00
jcj83429 3f8c7af7ea deduce U2F AppID from hostname if AppID not specified 2016-12-10 19:34:00 -08:00
jcj83429 2f1b925e26 change fileconf key appid to app_id 2016-12-10 18:46:43 -08:00
jcj83429 9853330067 fix test failure caused by updating trace 2016-12-10 18:23:44 -08:00
jcj83429 0274afba8d group the u2f configs in auth_service
OLD:
auth_service:
  u2fappid: https://mycorp.com/appid.js
  u2ftrustedfacets:
  - https://proxy1.mycorp.com:3080
  - https://proxy2.mycorp.com:3080

NEW:
auth_service:
  u2f:
    enabled: yes
    appid: https://mycorp.com/appid.js
    facets:
    - https://proxy1.mycorp.com:3080
    - https://proxy2.mycorp.com:3080
2016-12-07 19:37:22 -08:00
Jay ade8b1dc7b Fixed merge conflicts with original repository 2016-11-30 17:08:20 -08:00
Pablo Terradillos 638de1e251 Support for multiple oidc providers 2016-11-30 14:03:50 -03:00
Ev Kontsevoy d29a88f524 Web assets are packed into teleport binary
Functionality:

`teleport` binary now serves web assets from its own binary file.
Unless `DEBUG` environment variable is set to "1" or "true", in
this case it will look for ../web/dist (as located in github repo)
which can be used for development.

Design:

To avoid accumulating 3rd party dependencies with a ton of extra
features and licenses, this implementation uses minimalistic
implementation of http.FileSystem interface on top of the embedded ZIP
archive.

1. The assets are zipped into assets.zip during build process
2. assets.zip gets appended to the end of `teleport` binary
3. The resulting file is converted into a self-extracting ZIP
4. Teleport opens itself using the built-in zip unarchiver, and loads
   the assets on demand.

Notes:

1. LOC is tiny (dozens)
2. RAM consumption is CONSTANT regardless of the ZIP size, about 500Kb
   increase vs load-from-file, and most of it is linking zip archive
   code from the standard library. Tested with a 20MB ZIP archive.
2016-10-30 20:40:46 -07:00
Ev Kontsevoy c1b14333c8 Intermediate implementation
1. Everything works.
2. No tests.
2016-10-30 19:35:57 -07:00
jcj83429 a122452345 Merge branch 'master' into u2f
Conflicts:
	lib/config/fileconf.go
	web/src/app/services/auth.js
2016-10-30 17:39:50 -07:00
Ev Kontsevoy 7debfc790f Merge branch 'master' into ev/dynamo 2016-10-27 15:01:28 -07:00
nmaki 59388ae5c9 Update configuration.go to use all auth_servers
Only the last provided auth_server was being used.
2016-10-26 16:14:59 -05:00
Adrien Pestel 436ee596b6 DynamoDB backend
This backend can be enabled by optionally adding a new build flag.
See lib/backend/dynamo/README.md for details.

It should not affect default Teleport builds.
2016-10-25 23:26:35 -07:00