Commit Graph

396 Commits

Author SHA1 Message Date
dovholuknf caee6124e2 add support for and identity-driven bindPoints in controller (#3315)
* add support for and identity-driven bindPoints in controller

* cannot use ListenOptions as it pulls the go sdk into xweb :(

* more generic log message

* add ziti cli login tests in prep for continuing adding identity support in controller

* updates to tests

* updates to tests

* rebase with main

* allow login testing to external overlay

* more changes to allow a zitified ziti cli. add a test for testing login and ensure it works over a zitified connection

* refactor bindPoints to a module

* rebase with main

* no functional changes, just major refactoring based on PR requests. encapsulated all tests state into loginTestState, moved overlay to testutil

* rework a couple of util funcs to be cleaner per PR feedback

* make the new func more useful

* run tests via github action

* update changelog and remove unnecssary serveTls for now

* update from xweb v2 to v3

* change where factory is added and fix compilation issue of a test

* linting changes, move ascode test to cli_tests and activate via cli_tests

* use proper go build

* forgot to set the bin location

* fix timeout on test

* different errors on linux, windows and on gh runners

* cleanup after self-pr review

* use longer name to prevent codespell issues...

* additional changelog and add addressable terminator support

* fix out of control concatenation in cache file. fix ipv6 checking

* updates based on newer sdk and edge api client

* ensure oidc sessions auth for both older and newer commands

* add better error when url is empty and update changelog

* codespell fixes

* remove extraneous file

* update to 1.3.0 to kick off CI

* PR related changes. add interface enforcer and refactor networkIdentity

* go tidied

* fix golangci-lint and ha quickstart test

* keep fixing golanglint-ci... lol

* golanglint i was sure i'd fixed

* fix login test

* should fix ziti ops verify traffic as well

* fix verify traffic when all login information is supplied as well

* make all the timeouts longer? seems to run fine locally but fail in actions
2025-11-14 11:07:52 -05:00
Andrew Martinez ce83c0fb7c fixes openziti/ziti#2324 add token based enrollment (#3342)
* fixes openziti/ziti#2324 add token based enrollment

- allows enrollment to certificate auth
- allows enrollment to ext jwt token auth
- alters ext jwt claimsProperty (maps identity id) to support JSON
  pointers, defaults to `/sub`
- adds ext jwt enrollToCert, enrollToToken to controller  valid
  enrollment end-authenticator state
- adds ext jwt enrollAuthPolicyId to map end identity auth policy to,
  defaults to `default`
- adds ext jwt enrollAttributeSelector, supports single field name or
  JSON pointer to point to a single string or array of string attributes
  to give the identity, defaults to no selector
- adds ext jwt enrollNameSelector, supports single field name or JSON
  pointer to a string field to use as the name, defaults to `/sub`
- add enrollment errors to determine if enrollment has occurred
- adds CLI support for ext jwt signer enroll flags
2025-11-05 15:43:49 -05:00
Paul Lorenz af09450961 Fix golangci-lint errors 2025-10-17 12:54:25 -04:00
Andrew Martinez bb5cc51a97 adds posture cache, instance, instance data, and event hooks (#3267)
* adds posture cache, instance, instance data, and event hooks

- reworks router security
- abstracts api session and service sessions
- use connection tracker instead of various maps
- doc
- adds service sessions as always JWTs
- addes token logging fields
- removes multiple connection tracking fields
- adds support for router specific posture data/respones
- adds support for router posture check evaluation
- defer dial/bind posture checking for legacy to controller
- fix double session event emitting
- fix session event missing id
2025-10-15 14:01:56 -04:00
Andrew Martinez 51b3c8cda7 Fix.3321.health.check.api.path (#3322)
* fixes #3321  health check api path

- adds health check w/ proper API
- prunes APIs that are not hosted from discovery
2025-10-15 13:04:56 -04:00
Andrew Martinez 396ff7a725 fixes #3286 version API discovery for edge-oidc (#3287)
- fixes edge-oidc discovery API path
- adds test for all api bindings
2025-09-30 09:20:20 -04:00
Andrew Martinez f116212ed4 fix #3231 use root controller server certs for OIDC signing (#3236)
* fix #3231 use root controller server certs for OIDC signing

- addresses HA vs non-HA signing
- fixes issue where APIs server w/ difference certs than the root
  identity
- adds documentation for env/appenv
- adds a new composite type for TLSCert JWT signers

* address possible nil reference

* remove ineff assignment on jwt signing method
2025-08-26 09:29:50 -04:00
Andrew Martinez 423dff3d92 fix #3236 SDK/ENV info is not saved on OIDC auth (#3137) 2025-08-05 09:51:00 -04:00
Paul Lorenz cc7eefaf24 Add support for tracking network interfaces on routers and identities. Fixes #3082. Add network discover to router. Fixes #3083 2025-06-17 09:32:51 -04:00
Paul Lorenz a70218a11c Allow disabling posture checks. Fixes #3063 2025-05-29 12:40:00 -04:00
Andrew Martinez cdea92b8a4 fix.3048.add.flag.to.api.session.cli.command (#3053)
* fix #3048 adds CLI commands for re-enroll, changelog

- adds flags on authenticators instead of log
- adds CLI command for authenticator re-enrollment
- updates the change log
2025-05-27 08:47:42 -04:00
Andrew Martinez 0506ef251b fix.3048.auth.events.impropert.chain.flag (#3050)
fixes #3084 adds events and improper chain flag

- splits cert resolution into root, legacy root + intermediate,
  and third-party pool. Allowing the detection of client authentication
  with incomplete chains if root + intermediate succeeds after root only fails
- adds `improperClientCertChain` to API Sessions and Current API Session.
  Added for OIDC and legacy auth. Set to true when a client certificate is used
  that was issued by the network and did not pass the root-only pool.
2025-05-21 11:49:39 -04:00
Andrew Martinez 0ca892060f fix #2996 add ability to flag cert authenticators for extension/key roll (#3025)
* fix #2996 add ability to flag cert authenticators for extension/key roll
2025-05-01 17:41:00 -04:00
Andrew Martinez 7cbd3fe21a Fix.2999.404.during.OIDC.backed.cert.extend (#3000)
* fixes #2999 oidc backed sessions do not 404 anymore during verification

- add double extend test, use JWT authenticator id
2025-04-15 10:42:20 -04:00
Andrew Martinez 0e61edb2f9 fix #2984 identity/router enrollment do not return full chains (#2990)
* fix #2984 identity/router enrollment do not return full chains

- router extend via REST/ctrl now return full chains
- identity extend via REST now return full chains
- updates tests to allow for chain lengths
- modifies verification to look at the first cert in the chain (leaf)
- modifies edge routers to not start extension if new certs can't be
  saved
- adds network-jwt tests
2025-04-11 11:27:57 -04:00
Andrew Martinez 03089801c0 adds text/plain to enroll intercept for legacy clients (#2909)
* adds text/plain to enroll intercept for legacy clients
* adds text/plain test
2025-03-21 14:12:05 -04:00
Andrew Martinez 56daae2025 fixes #2796 generated clients for enrollment do not work (#2883)
* fixes #2796 generated clients for enrollment do not work

- default behavior complies with OpenAPI spec, but allows for legacy PEM
  handling through middleware intervention
- adds test for generic enrollment endpoint and for specific enrollment
  endpoints
2025-03-17 10:05:15 -04:00
Andrew Martinez 7c3399287d fixes #2712 edge-oidc missing from /version (#2793) 2025-02-12 22:02:58 -05:00
Andrew Martinez fccc0751ac fixes #2681 adds targetToken support for ext jwt signers (#2686)
* fixes #2681 adds targetToken support for ext jwt signers

- adds targetToken of values ACCESS, ID for management API CRUD
- adds targetToken to client API reads
- adds --target-token to external jwt signers CLI
- updates/adds tests
- update client test
2025-02-07 14:21:49 -05:00
dovholuknf 1b96b02030 adds the audience mapping to the router (#2661)
* adds the audience mapping to the router

* whitespace consistency

* update test to verify audience

* update go.mod/sum
2025-01-17 14:39:55 -05:00
Paul Lorenz 5621d5ce55 Make sure controller data is correctly updated after peer connect. Fixes #2586 2025-01-10 16:33:19 -05:00
Paul Lorenz c404a3a5bd Add config/config type tests for router data model 2025-01-07 19:22:47 -05:00
Paul Lorenz 32eddd61ca HA SDK terminators test. Fixes #2217. Fixes #2533 2024-11-12 18:45:08 -05:00
Paul Lorenz 16f0a858e6 Add controller connect events. Fixes #1835. Fixes #2234 2024-11-01 15:21:01 -04:00
Andrew Martinez 5133cd75d1 fixes #2478 legacy auth queries missing values
- adds OIDC property checks on auth queries
- adds legacy property checks on auth queries
2024-10-15 09:36:37 -04:00
Andrew Martinez a3ef5be25a fixes #2474 adds generic network JWT for trust boot strapping 2024-10-09 13:06:36 -04:00
Andrew Martinez 0ef6f03570 updates authenticator/api session logic for isCertExtendable
- updates legacy and oidc authentication for isCertExtendable
- updates authenticators REST responses to include isIsssuedByNetwork
2024-08-29 10:13:47 -04:00
Andrew Martinez d01cef1aad Merge branch 'main' into fix.2091.add.scope.clientid.ext.jwt 2024-08-21 16:07:56 -04:00
Andrew Martinez 66e7284c84 fixes #2091 adds scope and client id configuration to ext jwt signers 2024-08-21 09:31:52 -04:00
Paul Lorenz 7e7e2aa269 Fix patch appData on edge routers. Fixes #2318 2024-08-12 14:43:10 -04:00
Paul Lorenz b8f944326f Ensure controller is initialized before raft. Fixes #2279 2024-08-01 14:14:55 -04:00
Andrew Martinez 353cf93905 fixes #2154 500 error on mfa enrollment in HA, fixes #2159 HA certs
- fixes 500 internal error on MFA enrllment in HA deployments
- fixes HA API Session Certs not working in HA
- adds spiffehlp module to common
- adds tests api session certs w/ spiffe id
- adds tests for SPIFFE IDs in API Session Certs
- adds tests for ext jwt + cert auth
2024-07-30 08:53:54 -04:00
Paul Lorenz 07f9ab18e7 Add support for listing services referencing a given config. Fixes #2245 2024-07-26 14:14:48 -04:00
Paul Lorenz ffa304ebbf Add posture check role attributes list API. Fixes #2089 2024-07-26 14:14:48 -04:00
Andrew Martinez 2d2eb41f27 fixes #2209 anon access to list ext jwt signers on client API 2024-07-22 10:00:14 -04:00
Paul Lorenz 77d27ca781 Enhance the router data model with config information, fixes #2010 Add subscription model to router data model, fixes #1990 2024-07-17 14:31:39 -04:00
Paul Lorenz 1388ec2d01 Sort connected routers first for session ers. Increase er limit to 25. Fixes #2046 2024-07-12 15:33:17 -04:00
Paul Lorenz c3b43133d1 Merge fabric and controller model code. Fixes #2205 2024-07-09 16:11:01 -04:00
Andrew 68f0167126 Merge pull request #1927 from openziti/fix.1926.enroll.certs.with.chains
fixes #1926 adds chains to enrollment responses
2024-04-23 09:33:22 -04:00
Paul Lorenz 3e9567b412 Use config types from edge-apis instead of manually parsing 2024-04-17 14:25:32 -04:00
Paul Lorenz ac7c4848c5 Don't use EdgeSessionRemoved tracking for HA sessions. Fixes #1936 2024-04-12 13:48:34 -04:00
Andrew Martinez 0e21934b75 fixes #1926 adds chains to enrollment responses
- all server and client certs issued attempt to build a chain less root
  from the CA bundle during enrollment
- this change still requires all intermediates to be in the ca bundle,
  untill they are moved somewhere else or provided in some other fashion
- updated tests to expect chains in enrollment responses
2024-04-10 10:57:57 -04:00
Paul Lorenz 8f4f9944f5 Add TLS handshake rate limiter. Fixes #1904 2024-04-09 17:25:35 -04:00
Andrew Martinez 8c7b3b2e84 reduces prerms from admin to authenticated on list controllers
- updated public key sync to use controller list data instead of mesh peer
- fixes perms on controller list to not be admin only
2024-03-26 10:55:50 -04:00
Paul Lorenz b5e96dbeea Merge pull request #1851 from openziti/posture-check-optimization
Return dummy values in service list for posture checks if no posture checks are defined. Fixes #1576
2024-03-25 10:37:30 -04:00
Paul Lorenz 881ec14b63 Fix validation perf. Fixes #1428. Remove duplicate LoadOneById method. 2024-03-21 10:10:07 -04:00
Paul Lorenz a089ca7c36 Return dummy values in service list for posture checks if no posture checks are defined. Fixes #1576 2024-03-20 14:23:15 -04:00
Andrew Martinez 36ced919ae Merge branch 'main' into ha-staging 2024-03-14 08:38:57 -04:00
Paul Lorenz fab81e4cd4 Add terminator chaos testing and fix issues found. Fixes #1794 Fixes #1369 2024-03-12 10:31:36 -04:00
Andrew Martinez 09542c7728 consolidated ha changes 2024-02-29 09:27:56 -05:00