Commit graph

51 commits

Author SHA1 Message Date
Sasha Klizhentas b72b734979 add grpc 2017-05-26 18:19:22 -07:00
Sasha Klizhentas e766a3c902 work 2017-05-25 18:56:32 -07:00
Ev Kontsevoy 7d534a7c50 Fixed window resize problems 2017-02-04 01:02:23 -08:00
Ev Kontsevoy 3b9b78ff19 Polish CLI client integration into web terminal 2017-02-03 17:35:52 -08:00
Sasha Klizhentas d214f5d5e2 address code review comments 2016-12-22 19:06:07 -08:00
Sasha Klizhentas c96c412542 add namespaces for sessions and events 2016-12-12 11:09:09 -08:00
Ev Kontsevoy d0e6e42015 Bufix: certificate expiration issue
This commit closes #529

Teleport was using nanoseconds to set the certificate expiration,
instead of milliseconds.

Changes:

- Switched from nanoseconds to seconds
- Switched from UTC to native time (because that's what golang/x/ssh
  uses internally)
2016-09-12 17:55:31 -07:00
Ev Kontsevoy c7b4934553 Implemented a new Teleport option: "no recording"
Teleport configuration now has a new field: NoAudit (false by default,
which means audit is always on).

When this option is set, Teleport will not record events and will not
record sessions.

It's implemented by adding "DiscardLogger" which implements the same
interface as teh real logger, and it's plugged into the system instead.

NOTE: this option is not exposed in teleport in any way: no config file,
no switch, etc. I quickly needed it for Telecast.
2016-09-05 22:12:57 -07:00
Ev Kontsevoy 6b9374d2ea Reduced the verbosity of debug logging a bit. 2016-05-09 10:36:40 -07:00
Ev Kontsevoy 883f2628bb Fixed data race 2016-05-07 22:00:25 -07:00
Ev Kontsevoy b175d92052 PR comments - implemented! 2016-05-07 21:51:35 -07:00
Ev Kontsevoy e10612028e Preparations for a PR
Fixes #394
2016-05-06 20:48:02 -07:00
Ev Kontsevoy a1dbe76e72 Fixed connection issue during recording 2016-05-06 11:47:05 -07:00
Ev Kontsevoy f27e207afc Replaced weg sockets with HTTP POST/GET chunks 2016-05-05 23:51:56 -07:00
Ev Kontsevoy a08ea32b5e Replaced a websocket in the auth API
For writing to the session stream. It's a simple HTTP POST without any
kind of enncoding.
2016-05-05 15:43:29 -07:00
Ev Kontsevoy 1795c5e088 Minor CLI player improvements 2016-05-04 22:47:51 -07:00
Ev Kontsevoy ce1c4d4a38 A great number of bugfixes:
- replay now works in both web and CLI
- fixed two nasty connection bugs in web sessions
- removed verbose logging/diagnostics
- refactoring of web code by Alexey
2016-05-03 21:30:17 -07:00
Ev Kontsevoy d36fced780 Added multi-party real-time window size support 2016-05-02 23:21:13 -07:00
Ev Kontsevoy 801a409738 Converted web sockets for session replay from...
... from raw Writes to Message.Send()
2016-05-02 11:03:12 -07:00
Ev Kontsevoy e221665906 Chunks are synchronized 2016-05-02 00:11:08 -07:00
Ev Kontsevoy 70faadea12 More consistent logging 2016-05-01 21:55:05 -07:00
Ev Kontsevoy 14ebdff0b4 Less logging and fixed terminal size vents from web sessions 2016-05-01 21:42:08 -07:00
Ev Kontsevoy 7492ad3a96 Minor changes to assist UI 2016-05-01 17:57:57 -07:00
Ev Kontsevoy f4dfbf2e50 Easier bookkeeping of sessin parties 2016-05-01 17:31:28 -07:00
Ev Kontsevoy 68e8e8f001 Intermediate commit 2016-05-01 15:48:07 -07:00
Ev Kontsevoy c3451d5587 Added "lingering sessions" concept 2016-05-01 15:31:32 -07:00
Alexey Kontsevoy 112178681e (web) refactoring 2016-05-01 17:02:23 -04:00
Ev Kontsevoy 15bebedb2b Changed the structure of events for web UI 2016-05-01 12:18:16 -07:00
Ev Kontsevoy dc162fd250 First draft of "play" command for tsh 2016-04-30 17:32:54 -07:00
Ev Kontsevoy f26762d744 Fixed the live event stream for web sessions 2016-04-29 23:35:42 -07:00
Ev Kontsevoy f14cdf5d58 Intermediate commit:
1. "new session" event now includes terminal size
2. started cleaning up web session event stream
2016-04-29 19:43:39 -07:00
Ev Kontsevoy 6c9ac16be6 Renamed some JSON fields for the audit log 2016-04-29 18:06:28 -07:00
Ev Kontsevoy c0080634b0 Changed parameters for "print" event 2016-04-29 17:33:11 -07:00
Ev Kontsevoy cc07d80069 Rough implementation of event search 2016-04-29 02:42:08 -07:00
Ev Kontsevoy 3f068a7894 Fixed tests 2016-04-28 23:49:36 -07:00
Ev Kontsevoy 755e361d70 New implementation of session.GetSessions() 2016-04-28 14:13:53 -07:00
Ev Kontsevoy f573a92b9f Minor improvements 2016-04-27 17:11:17 -07:00
Ev Kontsevoy 4bed72d50b Intermediate commit:
- Finished (roughly) audit logs + events
- Started covering this with tests
2016-04-26 23:28:58 -07:00
Ev Kontsevoy de656bc5f4 Session event log is now in sync with the session stream 2016-04-26 18:43:59 -07:00
Ev Kontsevoy 051c8240d1 Completed session recording + streaming
TODO:
- Implement streaming timing
2016-04-26 17:41:04 -07:00
Ev Kontsevoy 29d5ef454d Audit log improvements
Added clear separation between 'user' (Teleport user) and 'login' (OS
host login)
2016-04-26 17:41:04 -07:00
Ev Kontsevoy 2e099cdd0b Added full audit event support for:
- Port forwarding
- SCP up/down
- Auth attempts
2016-04-26 17:41:04 -07:00
Ev Kontsevoy b2789739c6 Bugfixes and minor optimizations 2016-04-26 17:41:04 -07:00
Ev Kontsevoy 71afa2fdd0 AuditLog full implementation
- Log rotation
- Log line formatting
- Full test coverage
- Design simplification
2016-04-26 17:41:04 -07:00
Ev Kontsevoy 8775f44935 Hooked up new AuditLog in few places:
- Fixed all tests
- Wrote a simple test for AuditLog.Emit
2016-04-26 17:41:04 -07:00
Ev Kontsevoy 347d2fb3e3 Implemented AuditLogI interface for:
- auth.Client   : HTTP client
- APIServer     : HTTP server for Auth API
- AuthWithRoles : HTTP server for Auth API (which calls HasPermission)
- AuditLog      : actual server-side filesystem-based implementation
2016-04-26 17:40:49 -07:00
Ev Kontsevoy 35b6a5f687 Simplified SSH context handling
- ctx object is created earlier
- session connection is not passed around anymore (it's part of ctx
  anyway)
- clearly identified places in code where audit events must be logged
2016-04-26 17:40:49 -07:00
Ev Kontsevoy 6f111e39e2 Removed lunk + old events + old recorder 2016-04-26 17:39:46 -07:00
Ev Kontsevoy 5c87a5707d Rough implementation of audit log: completed 2016-04-26 17:39:46 -07:00
Ev Kontsevoy 43b224183d Intermediate commit: basic session bookkeeping in SessionLogger 2016-04-26 17:39:46 -07:00