pomerium

Pomerium is an identity and context-aware access proxy.

APACHE-2.0 License

Stars
3.9K
Committers
93

Bot releases are hidden (Show)

pomerium - v0.8.4

Published by desimone over 4 years ago

Security

  • Addresses vulnerabilities fixed in go version 1.14.5. This update includes security fixes for a data race in ReverseProxy (CVE-2020-15586) and a situation where X.509 verification ignores provided EKUs on Windows (CVE-2020-15586).
pomerium - v0.9.2

Published by travisgroth over 4 years ago

Fixed

  • internal/envoy: fix handleLogs causes envoy hang forever @cuonglm GH-927
pomerium - v0.9.1

Published by travisgroth over 4 years ago

Changes

  • Remove unnecessary viper.New() @yegle GH-849
  • authorize: reduce duplicate evaluations in opa policy @travisgroth GH-882
  • envoy: bump envoy to 1.14.2 @desimone GH-894
  • policy: Add consistent route identifier @travisgroth GH-905

Fixed

  • xds: use ipv4 address when ipv6 is disabled @calebdoxsey GH-823
  • proxy: only set validation context if trusted_ca is used @calebdoxsey GH-863
  • config: ensure viper ignores certificates config field @travisgroth GH-876
  • controlplane: use previous preferred cipher suite @desimone GH-889
  • controlplane: fix missing full cert chain @desimone GH-888
  • internal/controlplane: make sure options.Headers are set for response @cuonglm GH-907

Security

  • envoy: fixes CVE-2020-11080 by rejecting HTTP/2 SETTINGS frames with too many parameters
pomerium - v0.9.0

Published by travisgroth over 4 years ago

v0.9.0

New

  • proxy: envoy is now used to handle proxying
  • authenticate: add jwks and .well-known endpoint @desimone [GH-745]
  • authorize: add client mTLS support @calebdoxsey [GH-751]
  • envoy: Switch to distroless/base for releases @travisgroth GH-810

Fixed

  • cache: fix closing too early @calebdoxsey [GH-791]
  • authenticate: fix insecure gRPC connection string default port @calebdoxsey [GH-795]
  • authenticate: fix user-info call for AWS cognito @calebdoxsey [GH-792]
  • authenticate: clear session if ctx fails @desimone [GH-806]
  • telemetry: fix autocache labels @travisgroth [GH-805]
  • telemetry: fix missing/incorrect grpc labels @travisgroth [GH-804]
  • authorize: fix authorization panic caused by logging a nil reference @desimone [[GH-704]]

Changes

  • authenticate: remove authorize url validate check @calebdoxsey [GH-790]
  • authorize: reduce log noise for empty jwt @calebdoxsey [GH-793]
  • authorize: refactor and add additional unit tests @calebdoxsey [GH-757]
  • envoy: add GRPC stats handler to control plane service @travisgroth [GH-744]
  • envoy: enable zipkin tracing @travisgroth [GH-737]
  • envoy: improvements to logging @calebdoxsey [GH-742]
  • envoy: remove 'accept-encoding' header from proxied metric requests @travisgroth [GH-750]
  • envoy: support ports in hosts for routing @calebdoxsey [GH-748]
  • forward-auth: support x-forwarded-uri @calebdoxsey [GH-780]
  • proxy/forward-auth: block expired request prior to 302 @desimone [GH-773]
  • sessions/state: add nickname claim @BenoitKnecht [GH-755]
  • state: infer user (user) from subject (sub) @desimone [GH-772]
  • telemetry: refactor GRPC Server Handler @travisgroth [GH-756]
  • telemetry: service label updates @travisgroth [GH-802]
  • xds: add catch-all for pomerium routes @calebdoxsey [GH-789]
  • xds: disable cluster validation to handle out-of-order updates @calebdoxsey [GH-783]

Documentation

  • docs: add mTLS recipe @calebdoxsey [GH-807]
  • docs: add argo recipe @calebdoxsey [GH-803]
  • docs: update dockerfiles for v0.9.0 @calebdoxsey [GH-801]
  • docs: typo on configuration doc @kintoandar [GH-800]
  • docs: docs regarding claim headers @strideynet [GH-782]
  • docs: update traefik example and add note about forwarded headers @calebdoxsey [GH-784]
  • docs: add note about unsupported platforms @calebdoxsey [GH-799]
  • docs: expose config parameters in sidebar @travisgroth [GH-797]
  • docs: update examples @travisgroth [GH-796]

Note: an earlier release of v0.9.0 was made from 44cf1fba1f6116c9812f088e5b1cc924a3affaeb and unpublished due to packaging issues.

pomerium - v0.8.3

Published by desimone over 4 years ago

Changes

  • state: infer user (user) from subject (sub) @desimone GH-772
  • proxy/forward-auth: block expired request prior to 302 @desimone GH-773
pomerium - v0.8.2

Published by desimone over 4 years ago

Changelog

v0.8.2

Security

This release includes a fix for a bug that, under certain circumstances, could allow a user with a valid but expired session to resend a request to an upstream application. The repeated request would not return a response, but could reach the upstream application. Thank you to @selaux for reporting this issue! [GH-762]

pomerium - v0.8.1

Published by desimone over 4 years ago

v0.8.1

Fixed

  • authorize: fix authorization panic caused by logging a nil reference @desimone [GH-704]
pomerium - v0.8.0

Published by desimone over 4 years ago

v0.8.0

Please see the upgrade guide for any breaking changes in this release!

To see a complete list of changes see the diff.

New

  • cryptutil: add automatic certificate management @desimone [GH-644]
  • implement path-based route matching @calebdoxsey [GH-615]
  • internal/identity: implement github provider support @Lumexralph [GH-582]
  • proxy: add configurable JWT claim headers @travisgroth (#596)
  • proxy: remove extra session unmarshalling @desimone (#592)

Changes

  • ci: Switch integration tests from minikube to kind @travisgroth [GH-656]
  • integration-tests: add CORS test @calebdoxsey [GH-662]
  • integration-tests: add websocket enabled/disabled test @calebdoxsey [GH-661]
  • integration-tests: set_request_headers and preserve_host_header options @calebdoxsey [GH-668]
  • pre-commit: add pre-commit configuration @calebdoxsey [GH-666]
  • proxy: improve JWT header behavior @travisgroth [GH-642]

Fixed

  • authorize: fix authorization check for allowed_domains to only match current route @calebdoxsey [GH-624]
  • authorize: fix unexpected panic on reload @travisgroth [GH-652]
  • site: fix site on mobile @desimone [GH-597]
pomerium - v0.7.6

Published by travisgroth over 4 years ago

v0.7.6

Fixed

authorize: fix unexpected panic on reload @travisgroth [GH-652]

pomerium - v0.7.5

Published by desimone over 4 years ago

v0.7.5

Fixed

  • authorize: fix authorization check for allowed_domains to only match current route @calebdoxsey [GH-624]
pomerium - v0.7.4

Published by desimone over 4 years ago

v0.7.4

Fixed

  • pomerium-cli: fix service account cli @desimone (#613)
pomerium - v0.7.3

Published by travisgroth over 4 years ago

Fixed

  • Bump grpc up to 1.27.1 @travisgroth (#609)
pomerium - v0.7.2

Published by desimone over 4 years ago

Changes

  • proxy: remove extra session unmarshalling @desimone (#592)

New

  • proxy: add configurable JWT claim headers @travisgroth (#596)
  • grpcutil: remove unused pkg @desimone (#593)

Fixed

  • site: fix site on mobile @desimone (#597)

Documentation

  • site: fix site on mobile @desimone (#597)

Dependency

  • chore(deps): update vuepress monorepo to v1.4.0 @renovate (#559)
pomerium - https://github.com/pomerium/pomerium/releases/tag/v0.6.4

Published by desimone over 4 years ago

pomerium - v0.7.1

Published by travisgroth over 4 years ago

v0.7.1

New

  • *: remove import path comments @desimone (#545)
  • authenticate: make callback path configurable @desimone (#493)
  • authenticate: return 401 for some specific error codes @cuonglm (#561)
  • authorization: log audience claim failure @desimone (#553)
  • authorize: use jwt instead of state struct @desimone (#514)
  • authorize: use opa for policy engine @desimone (#474)
  • cmd: add cli to generate service accounts @desimone (#552)
  • config: Expose and set default GRPC Server Keepalive Parameters @travisgroth (#509)
  • config: Make IDP_PROVIDER env var mandatory @mihaitodor (#536)
  • config: Remove superfluous Options.Checksum type conversions @travisgroth (#522)
  • gitlab/identity: change group unique identifier to ID @Lumexralph (#571)
  • identity: support oidc UserInfo Response @desimone (#529)
  • internal/cryptutil: standardize leeway to 5 mins @desimone (#476)
  • metrics: Add storage metrics @travisgroth (#554)

Fixed

  • cache: add option validations @desimone (#468)
  • config: Add proper yaml tag to Options.Policies @travisgroth (#475)
  • ensure correct service name on GRPC related metrics @travisgroth (#510)
  • fix group impersonation @desimone (#569)
  • fix sign-out bug , fixes #530 @desimone (#544)
  • proxy: move set request headers before handle allow public access @ohdarling (#479)
  • use service port for session audiences @travisgroth (#562)

Documentation

  • fix the typo @ilgooz (#566)
  • fix kubernetes dashboard recipe docs @desimone (#504)
  • make from source quickstart @desimone (#519)
  • update background @desimone (#505)
  • update helm for v3 @desimone (#469)
  • various fixes @desimone (#478)
  • fix cookie_domain @nitper (#472)

Dependency

  • chore(deps): update github.com/pomerium/autocache commit hash to 6c66ed5 @renovate (#480)
  • chore(deps): update github.com/pomerium/autocache commit hash to 227c993 @renovate (#537)
  • chore(deps): update golang.org/x/crypto commit hash to 0ec3e99 @renovate (#574)
  • chore(deps): update golang.org/x/crypto commit hash to 1b76d66 @renovate (#538)
  • chore(deps): update golang.org/x/crypto commit hash to 78000ba @renovate (#481)
  • chore(deps): update golang.org/x/crypto commit hash to 891825f @renovate (#556)
  • chore(deps): update module fatih/color to v1.9.0 @renovate (#575)
  • chore(deps): update module fsnotify/fsnotify to v1.4.9 @renovate (#539)
  • chore(deps): update module go.etcd.io/bbolt to v1.3.4 @renovate (#557)
  • chore(deps): update module go.opencensus.io to v0.22.3 @renovate (#483)
  • chore(deps): update module golang/mock to v1.4.0 @renovate (#470)
  • chore(deps): update module golang/mock to v1.4.3 @renovate (#540)
  • chore(deps): update module golang/protobuf to v1.3.4 @renovate (#485)
  • chore(deps): update module golang/protobuf to v1.3.5 @renovate (#541)
  • chore(deps): update module google.golang.org/api to v0.20.0 @renovate (#495)
  • chore(deps): update module google.golang.org/grpc to v1.27.1 @renovate (#496)
  • chore(deps): update module gorilla/mux to v1.7.4 @renovate (#506)
  • chore(deps): update module open-policy-agent/opa to v0.17.1 @renovate (#497)
  • chore(deps): update module open-policy-agent/opa to v0.17.3 @renovate (#513)
  • chore(deps): update module open-policy-agent/opa to v0.18.0 @renovate (#558)
  • chore(deps): update module prometheus/client_golang to v1.4.1 @renovate (#498)
  • chore(deps): update module prometheus/client_golang to v1.5.0 @renovate (#531)
  • chore(deps): update module prometheus/client_golang to v1.5.1 @renovate (#543)
  • chore(deps): update module rakyll/statik to v0.1.7 @renovate (#517)
  • chore(deps): update module rs/zerolog to v1.18.0 @renovate (#507)
  • chore(deps): update module yaml to v2.2.8 @renovate (#471)
  • ci: Consolidate matrix build parameters @travisgroth (#521)
  • dependency: use go mod redis @desimone (#528)
  • deployment: throw away golanglint-ci defaults @desimone (#439)
  • deployment: throw away golanglint-ci defaults @desimone (#439)
  • deps: enable automerge and set labels on renovate PRs @travisgroth (#527)
  • Roll back grpc to v1.25.1 @travisgroth (#484)
pomerium - v0.7.0

Published by desimone over 4 years ago

v0.7.0

New

  • *: remove import path comments @desimone (#545)
  • authenticate: make callback path configurable @desimone (#493)
  • authenticate: return 401 for some specific error codes @cuonglm (#561)
  • authorization: log audience claim failure @desimone (#553)
  • authorize: use jwt instead of state struct @desimone (#514)
  • authorize: use opa for policy engine @desimone (#474)
  • cmd: add cli to generate service accounts @desimone (#552)
  • config: Expose and set default GRPC Server Keepalive Parameters @travisgroth (#509)
  • config: Make IDP_PROVIDER env var mandatory @mihaitodor (#536)
  • config: Remove superfluous Options.Checksum type conversions @travisgroth (#522)
  • gitlab/identity: change group unique identifier to ID @Lumexralph (#571)
  • identity: support oidc UserInfo Response @desimone (#529)
  • internal/cryptutil: standardize leeway to 5 mins @desimone (#476)
  • metrics: Add storage metrics @travisgroth (#554)

Fixed

  • cache: add option validations @desimone (#468)
  • config: Add proper yaml tag to Options.Policies @travisgroth (#475)
  • ensure correct service name on GRPC related metrics @travisgroth (#510)
  • fix group impersonation @desimone (#569)
  • fix sign-out bug , fixes #530 @desimone (#544)
  • proxy: move set request headers before handle allow public access @ohdarling (#479)
  • use service port for session audiences @travisgroth (#562)

Documentation

  • fix the typo @ilgooz (#566)
  • fix kubernetes dashboard recipe docs @desimone (#504)
  • make from source quickstart @desimone (#519)
  • update background @desimone (#505)
  • update helm for v3 @desimone (#469)
  • various fixes @desimone (#478)
  • fix cookie_domain @nitper (#472)

Dependency

  • chore(deps): update github.com/pomerium/autocache commit hash to 6c66ed5 @renovate (#480)
  • chore(deps): update github.com/pomerium/autocache commit hash to 227c993 @renovate (#537)
  • chore(deps): update golang.org/x/crypto commit hash to 0ec3e99 @renovate (#574)
  • chore(deps): update golang.org/x/crypto commit hash to 1b76d66 @renovate (#538)
  • chore(deps): update golang.org/x/crypto commit hash to 78000ba @renovate (#481)
  • chore(deps): update golang.org/x/crypto commit hash to 891825f @renovate (#556)
  • chore(deps): update module fatih/color to v1.9.0 @renovate (#575)
  • chore(deps): update module fsnotify/fsnotify to v1.4.9 @renovate (#539)
  • chore(deps): update module go.etcd.io/bbolt to v1.3.4 @renovate (#557)
  • chore(deps): update module go.opencensus.io to v0.22.3 @renovate (#483)
  • chore(deps): update module golang/mock to v1.4.0 @renovate (#470)
  • chore(deps): update module golang/mock to v1.4.3 @renovate (#540)
  • chore(deps): update module golang/protobuf to v1.3.4 @renovate (#485)
  • chore(deps): update module golang/protobuf to v1.3.5 @renovate (#541)
  • chore(deps): update module google.golang.org/api to v0.20.0 @renovate (#495)
  • chore(deps): update module google.golang.org/grpc to v1.27.1 @renovate (#496)
  • chore(deps): update module gorilla/mux to v1.7.4 @renovate (#506)
  • chore(deps): update module open-policy-agent/opa to v0.17.1 @renovate (#497)
  • chore(deps): update module open-policy-agent/opa to v0.17.3 @renovate (#513)
  • chore(deps): update module open-policy-agent/opa to v0.18.0 @renovate (#558)
  • chore(deps): update module prometheus/client_golang to v1.4.1 @renovate (#498)
  • chore(deps): update module prometheus/client_golang to v1.5.0 @renovate (#531)
  • chore(deps): update module prometheus/client_golang to v1.5.1 @renovate (#543)
  • chore(deps): update module rakyll/statik to v0.1.7 @renovate (#517)
  • chore(deps): update module rs/zerolog to v1.18.0 @renovate (#507)
  • chore(deps): update module yaml to v2.2.8 @renovate (#471)
  • ci: Consolidate matrix build parameters @travisgroth (#521)
  • dependency: use go mod redis @desimone (#528)
  • deployment: throw away golanglint-ci defaults @desimone (#439)
  • deployment: throw away golanglint-ci defaults @desimone (#439)
  • deps: enable automerge and set labels on renovate PRs @travisgroth (#527)
  • Roll back grpc to v1.25.1 @travisgroth (#484)
pomerium - v0.6.3

Published by desimone over 4 years ago

v0.6.3

Fixed

  • sessions: signout bug , fixes #530 @desimone (#544)
pomerium - v0.6.2

Published by desimone over 4 years ago

This release was cut at nearly the same time as v0.6.1 please see that release for additional changes.

Changes

  • internal/cryptutil: standardize leeway to 5 mins @desimone (#476)

Fixed

  • proxy: move set request headers before handle allow public access @ohdarling (#479)
pomerium - v0.6.1

Published by desimone over 4 years ago

v0.6.1

Fixed

  • cache: add option validations @desimone (#468)
  • grpc: roll back grpc to v1.25.1 @travisgroth (#484)
pomerium - v0.6.0

Published by desimone over 4 years ago

v0.6.0

New

  • authenticate: support backend refresh @desimone [GH-438]
  • cache: add cache service @desimone [GH-457]

Changed

  • authorize: consolidate gRPC packages @desimone [GH-443]
  • config: added yaml tags to all options struct fields @travisgroth [GH-394],[gh-397]
  • config: improved config validation for shared_secret @travisgroth [GH-427]
  • config: Remove CookieRefresh [GH-428] @u5surf [GH-436]
  • config: validate that shared_key does not contain whitespace @travisgroth [GH-427]
  • httputil : wrap handlers for additional context @desimone [GH-413]

Fixed

  • proxy: fix unauthorized redirect loop for forward auth @desimone [GH-448]
  • proxy: fixed regression preventing policy reload GH-396

Documentation

  • add cookie settings @danderson [GH-429]
  • fix typo in forward auth nginx example @travisgroth [GH-445]
  • improved sentence flow and other stuff @Rio [GH-422]
  • rename fwdauth to be forwardauth @desimone [GH-447]

Dependency

  • chore(deps): update golang.org/x/crypto commit hash to 61a8779 @renovate [GH-452]
  • chore(deps): update golang.org/x/crypto commit hash to 530e935 @renovate [GH-458]
  • chore(deps): update golang.org/x/crypto commit hash to 53104e6 @renovate [GH-431]
  • chore(deps): update golang.org/x/crypto commit hash to e9b2fee @renovate [GH-414]
  • chore(deps): update golang.org/x/oauth2 commit hash to 858c2ad @renovate [GH-415]
  • chore(deps): update golang.org/x/oauth2 commit hash to bf48bf1 @renovate [GH-453]
  • chore(deps): update module google.golang.org/grpc to v1.26.0 @renovate [GH-433]
  • chore(deps): update module google/go-cmp to v0.4.0 @renovate [GH-454]
  • chore(deps): update module spf13/viper to v1.6.1 @renovate [GH-423]
  • chore(deps): update module spf13/viper to v1.6.2 @renovate [GH-459]
  • chore(deps): update module square/go-jose to v2.4.1 @renovate [GH-435]

Upgrade Guide

Since 0.5.0

Breaking

New cache service

A back-end cache service was added to support session refreshing from single-page-apps.

  • For all-in-one deployments, no changes are required. The cache will be embedded in the binary. By default, autocache an in-memory LRU cache will be used to temporarily store user session data. If you wish to persist session data, it's also possible to use bolt or redis.
  • For split-service deployments, you will need to deploy an additional service called cache. By default, pomerium will use autocache as a distributed, automatically managed cache. It is also possible to use redis as backend in this mode.

For a concrete example of the required changes, consider the following changes for those running split service mode,:

...
  pomerium-authenticate:
    environment:
      - SERVICES=authenticate
+      - CACHE_SERVICE_URL=http://pomerium-cache:443
...
+  pomerium-cache:
+    image: pomerium/pomerium
+    environment:
+      - SERVICES=cache
+    volumes:
+      - ../config/config.example.yaml:/pomerium/config.yaml:ro
+    expose:
+      - 443

Please see the updated examples, and [cache service docs] as a reference and for the available cache stores. For more details as to why this was necessary, please see PR438 and PR457.

Package Rankings
Top 1.76% on Proxy.golang.org
Badges
Extracted from project README
Go Report Card GoDoc LICENSE