Commit Graph

119 Commits

Author SHA1 Message Date
Andrew Martinez 90ca54adb8 adds thread safe router state
Router state used to be stored and accessed in a thread unsafe way.
State is now locks on a mutex for setting values and values are copied
out for referencing.
2021-03-08 14:55:36 -05:00
Andrew Martinez 3edbc4a16e reduce from 80 bytes to 80 bits
Our secrets were huuuuuge.
2021-03-05 10:03:50 -05:00
Paul Lorenz 735eb1d80f Move ApiError and FieldError to foundation 2021-03-03 14:44:26 -05:00
Paul Lorenz 155bbd8217 Validate sessions on controller instead of edge router 2021-02-17 20:38:13 -05:00
Andrew Martinez 707a5a7362 Merge branch 'main' into additional.posture.os.unit.tests 2021-02-17 13:11:04 -05:00
Andrew Martinez 919d7a3d6b add hearbeat invalid api token delete 2021-02-17 12:19:06 -05:00
Andrew Martinez 7eb3699f9b additional os posture checks 2021-02-16 13:24:21 -05:00
Andrew Martinez d07618c9d5 modular edge router sync
- edge router sync is now modular and can have different strategies
- plans to make this configurabe in the future with multiple strat
- legacy strategy is called "instant" and is the only option
- instant strat now supports control signaling and resync requests
- edge routers now do not remove connections till after a full sync
- added the ability for the controller to report the er sync status
- added er syn status to GET /edge-routers list and detail
- improved log output in sync logic
2021-02-15 13:22:07 -05:00
Andrew Martinez 2360d44b05 moves posture data to not time out 2021-02-10 16:51:40 -05:00
Andrew Martinez 5c47c31016 moves hasApiSession lookup to api model and limit 1
This move isolates the cost of hasApiSession to the identity endpoint
lookups in the REST API. Being in the model caused this cost to be
shared on all identity lookups for internal logic.

Limit 1 is an attempt to reduce the cost of searching over a large set.
API Sessions do not have an index on identity id so there is still some
cost.
2021-02-03 14:01:53 -05:00
Andrew Martinez ab9e19f485 fix unit tests 2021-01-26 14:33:34 -05:00
Andrew Martinez a4a872c377 remove test sleeps, use const for window size 2021-01-26 14:08:16 -05:00
Andrew Martinez 5207dbb931 use UTC time 2021-01-19 08:53:21 -05:00
Andrew Martinez 2d61799c24 add posture check MFA tests 2021-01-19 08:37:29 -05:00
Andrew Martinez 308d7f3a10 mfa initial
- add mfa read endpoints
- add mfa enroll enpoints
- fix mfa library timing issues
- adds mfa at tests
- adds admin mfa management endpoints
- adds admin mfa at tests
- improve at tests
- fix auth check vs auth query
- fix swagger for auth queryies
- fix swagger doc
- adds more api tests for validation
- redo auth query structure
- redo mfa endpoints
- move mfa verify to authenticate router:wq
- add recovery code support and tests
- add partial session authentication status
2021-01-19 08:36:27 -05:00
Andrew 49804bd30b Merge pull request #470 from openziti/add.appid.appversion
Add appId and appVersion to sdkInfo
2021-01-18 15:03:29 -05:00
Paul Lorenz c5d3a4b69b Improve posture check perf using indexes 2021-01-18 14:15:30 -05:00
Andrew Martinez 65be49c609 Add appId and appVersion to sdkInfo 2021-01-18 10:38:43 -05:00
Andrew Martinez 807a061a93 adds expiration-seconds and expires-at headers
- also adds expiresSeconds to current api session and login
2021-01-14 11:30:44 -05:00
Paul Lorenz 5efbbf0942 Add health check implementation for tunnelers and add default hosting precedence and cost to identity 2021-01-12 11:00:43 -05:00
Andrew Martinez a3789c063a adds support of API Session Certificates
- adds ability for any authenticated API Session to create ephemeral
 certificates
- allows UPDB session connection
- adds create/delete/read of current api session certificates
- add session cert pem result on create and detail
- fixes ER not updating sessions with new certs from API session
- fixes naming of session vs apiSession on members, functions, etc
- organizes ER state manager functions into apiSession vs session
- adds api session ids to api sessions and sessions sent from the
  controller to ERs
- ensure api and ns fingerprints are the same
- filter api session certs by valid periods
- clarify fingerprint func naming
2021-01-06 09:42:57 -05:00
Andrew Martinez 6ad6b3264c fixes #403
Process posture responses now allow an array of digital signer
fingerprints to be submitted and checked.
2020-11-11 21:31:17 -05:00
Andrew Martinez 108b657044 fix missing dangling period in os posture test 2020-11-11 20:51:54 -05:00
Andrew Martinez 48a3f5dc0b remove unused function 2020-11-11 20:39:35 -05:00
Andrew Martinez 4631fe1452 fixes #401
Valid x.y.z versions of OS posture checks can now be specified by
posture check ranges.
2020-11-11 20:32:48 -05:00
Andrew Martinez a80b27afe6 fix test based on pr 2020-11-11 19:11:05 -05:00
Andrew Martinez e0cf6a7ea5 fixes #397 and fixes #398
- isSigner is removed as it is not used
- process binary and signer hashes are case insensitive
2020-11-11 14:09:09 -05:00
Andrew Martinez 2ecdb921a9 fix process checks 2020-11-10 16:03:56 -05:00
Andrew Martinez 84225d2796 fixes #394
In scenarios where a service has no policies with any checks after
initialization, the posture checks would fail incorrectly.
2020-11-10 14:50:23 -05:00
Andrew Martinez 428135c4ad fix empty session type 2020-11-05 21:23:49 -05:00
Andrew Martinez e859ce6a67 filter posture check sets by bind type 2020-11-05 19:40:27 -05:00
Andrew 53f702c212 Merge pull request #369 from openziti/add.online.status
Add.online.status
2020-10-31 08:35:39 -04:00
Andrew Martinez 394a844878 fixes for mop/sdks
- case insensitive checks for domain/os
- no minimum mac addresses on posture responses
2020-10-30 14:13:43 -04:00
Andrew Martinez ac187ffa99 posture check implementation
- fix testing bugs
- remove testing timout function setters
- fixes deadlock due to posture data timeouts
- fix replace statements
- use map for posture data change tracking
2020-10-29 09:10:15 -04:00
Andrew Martinez c726f158d6 fixes #365 adds hasApiSession and hasEdgeRouterConnection 2020-10-20 15:00:22 -04:00
Andrew Martinez 568eb129c7 address PR comments
- remove unused property: type
- add service policy plumbing for postureCheck roles
- add denomralization for posture check roles
- make encryptionRequired flag reqquired
2020-10-13 17:03:26 -04:00
Andrew Martinez 01f4d4adfe spelling fixes 2020-10-13 15:20:55 -04:00
Andrew Martinez 5e834504ec adds Edge API routing
- adds mocked posture data for identities
- refines OS
- adds migrations for posture check types
2020-10-13 08:20:57 -04:00
Andrew Martinez 4fc4aee36c swagger def for posture checks and types
- polymorphic posture checks with copied base entity properties
- go-swagger 0.25 generated api
2020-10-12 07:37:19 -04:00
Andrew Martinez 3bbff3a01a support version info from fabric 2020-10-07 07:25:14 -04:00
Paul Lorenz 50bc204dd5 Add edge terminator validator 2020-09-29 09:27:05 -04:00
Andrew Martinez 6d1f11955b use streaming CAs 2020-09-22 07:52:00 -04:00
Andrew Martinez 0263259403 remove println 2020-09-22 07:40:10 -04:00
Andrew Martinez d4a5592edf fix whitespace 2020-09-22 07:12:52 -04:00
Andrew Martinez a3ee258df2 fixes #305 reimplements chain validation
- cert auth module caches static and dynamic (3rd party) CA chains
- all cert auths validated against active chains
- deleted/disabled 3rd party CAs no longer validate
2020-09-22 07:11:55 -04:00
Andrew Martinez 6814db98c1 adds public ip address for #226 2020-09-09 10:42:20 -04:00
Andrew Martinez 47c6c9ce6e remove dupe log message 2020-08-26 15:16:32 -04:00
Andrew Martinez 950bd7d971 uncomment logging messages for batch updates 2020-08-26 13:45:08 -04:00
Andrew Martinez 03277fa1f6 add heartbeat interval configuration 2020-08-25 17:35:51 -04:00
Andrew Martinez f92b88e395 Merge branch 'master' into stream.sessions.276 2020-08-24 08:40:29 -04:00