[PR #1540] Add initial support of device posture checks #15530

Closed
opened 2026-08-05 03:07:52 -04:00 by saavagebueno · 0 comments
Owner

Original Pull Request: https://github.com/netbirdio/netbird/pull/1540

State: closed
Merged: Yes


Describe your changes

This PR implements the following posture checks:

  • Agent minimum version allowed
  • OS minimum version allowed
  • Geo-location based on connection IP

For the geo-based location, we rely on GeoLite2 databases which are free IP geolocation databases. MaxMind was tested and we provide a script that easily allows to download of all necessary files, see infrastructure_files/download-geolite2.sh.

The OpenAPI spec should extensively cover the life cycle of current version posture checks.

Additionally, this PR may use proper configuration to support X-Forwarded-IP, the basic one with one proxy could look like this:

"ReverseProxy": {
    "TrustedHTTPProxies": [],
    "TrustedHTTPProxiesCount": 1,
    "TrustedPeers": [
        "0.0.0.0/0",
        "::/0"
    ]
},

Ideally TrustedPeers should be set to a possible network range of LB/reverse-proxy.

Checklist

  • Is it a bug fix
  • Is a typo/documentation fix
  • Is a feature enhancement
  • It is a refactor
  • Created tests that fail without the change (if possible)
  • Extended the README / documentation, if necessary
**Original Pull Request:** https://github.com/netbirdio/netbird/pull/1540 **State:** closed **Merged:** Yes --- ## Describe your changes This PR implements the following posture checks: - Agent minimum version allowed - OS minimum version allowed - Geo-location based on connection IP For the geo-based location, we rely on GeoLite2 databases which are free IP geolocation databases. MaxMind was tested and we provide a script that easily allows to download of all necessary files, see `infrastructure_files/download-geolite2.sh`. The OpenAPI spec should extensively cover the life cycle of current version posture checks. Additionally, this PR may use proper configuration to support `X-Forwarded-IP`, the basic one with one proxy could look like this: ``` "ReverseProxy": { "TrustedHTTPProxies": [], "TrustedHTTPProxiesCount": 1, "TrustedPeers": [ "0.0.0.0/0", "::/0" ] }, ``` Ideally `TrustedPeers` should be set to a possible network range of LB/reverse-proxy. ## Issue ticket number and link ### Checklist - [ ] Is it a bug fix - [ ] Is a typo/documentation fix - [x] Is a feature enhancement - [ ] It is a refactor - [x] Created tests that fail without the change (if possible) - [ ] Extended the README / documentation, if necessary
saavagebueno added the pull-request label 2026-08-05 03:07:52 -04:00
Sign in to join this conversation.
No Label pull-request
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#15530