Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add initial support of device posture checks #1540

Merged
merged 44 commits into from
Feb 20, 2024
Merged

Commits on Dec 28, 2023

  1. Configuration menu
    Copy the full SHA
    8fa11b1 View commit details
    Browse the repository at this point in the history
  2. add netbird version check

    bcmmbaga committed Dec 28, 2023
    Configuration menu
    Copy the full SHA
    92ffd68 View commit details
    Browse the repository at this point in the history

Commits on Jan 3, 2024

  1. Configuration menu
    Copy the full SHA
    23bcdb7 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    bc2bf4e View commit details
    Browse the repository at this point in the history

Commits on Jan 4, 2024

  1. Configuration menu
    Copy the full SHA
    2a1afbb View commit details
    Browse the repository at this point in the history

Commits on Jan 8, 2024

  1. Configuration menu
    Copy the full SHA
    526bff5 View commit details
    Browse the repository at this point in the history

Commits on Jan 9, 2024

  1. Configuration menu
    Copy the full SHA
    d1421e9 View commit details
    Browse the repository at this point in the history

Commits on Jan 11, 2024

  1. Configuration menu
    Copy the full SHA
    dfa4bc0 View commit details
    Browse the repository at this point in the history

Commits on Jan 12, 2024

  1. Integrate Endpoints for Posture Checks (#1432)

    * wip: add posture checks structs
    
    * add netbird version check
    
    * Refactor posture checks and add version checks
    
    * Implement posture and version checks in API models
    
    * Refactor API models and enhance posture check functionality
    
    * wip: add posture checks endpoints
    
    * go mod tidy
    
    * Reference the posture checks by id's in policy
    
    * Add posture checks management to server
    
    * Add posture checks management mocks
    
    * implement posture checks handlers
    
    * Add posture checks to account copy and fix tests
    
    * Refactor posture checks validation
    
    * wip: Add posture checks handler tests
    
    * Add JSON encoding support to posture checks
    
    * Encode posture checks to correct api response object
    
    * Refactored posture checks implementation to align with the new API schema
    
    * Refactor structure of `Checks` from slice to map
    
    * Cleanup
    
    * Add posture check activities (#1445)
    
    * Revert map to use list of checks
    
    * Add posture check activity events
    
    * Refactor posture check initialization in account test
    
    * Improve the handling of version range in posture check
    
    * Fix tests and linter
    
    * Remove max_version from NBVersionCheck
    
    * Added unit tests for NBVersionCheck
    
    * go mod tidy
    
    * Extend policy endpoint with posture checks (#1450)
    
    * Implement posture and version checks in API models
    
    * go mod tidy
    
    * Allow attaching posture checks to policy
    
    * Update error message for linked posture check on deleting
    
    * Refactor PostureCheck and Checks structures
    
    * go mod tidy
    
    * Add validation for non-existing posture checks
    
    * fix unit tests
    
    * use Wt version
    
    * Remove the enabled field, as posture check will now automatically be activated by default when attaching to a policy
    bcmmbaga authored Jan 12, 2024
    Configuration menu
    Copy the full SHA
    b2f1427 View commit details
    Browse the repository at this point in the history

Commits on Jan 19, 2024

  1. wip: add posture checks structs

    bcmmbaga authored and pascal-fischer committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    f3d58b9 View commit details
    Browse the repository at this point in the history
  2. add netbird version check

    bcmmbaga authored and pascal-fischer committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    a7ee8c2 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    a261cf9 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    62fd5af View commit details
    Browse the repository at this point in the history
  5. Integrate Endpoints for Posture Checks (#1432)

    * wip: add posture checks structs
    
    * add netbird version check
    
    * Refactor posture checks and add version checks
    
    * Implement posture and version checks in API models
    
    * Refactor API models and enhance posture check functionality
    
    * wip: add posture checks endpoints
    
    * go mod tidy
    
    * Reference the posture checks by id's in policy
    
    * Add posture checks management to server
    
    * Add posture checks management mocks
    
    * implement posture checks handlers
    
    * Add posture checks to account copy and fix tests
    
    * Refactor posture checks validation
    
    * wip: Add posture checks handler tests
    
    * Add JSON encoding support to posture checks
    
    * Encode posture checks to correct api response object
    
    * Refactored posture checks implementation to align with the new API schema
    
    * Refactor structure of `Checks` from slice to map
    
    * Cleanup
    
    * Add posture check activities (#1445)
    
    * Revert map to use list of checks
    
    * Add posture check activity events
    
    * Refactor posture check initialization in account test
    
    * Improve the handling of version range in posture check
    
    * Fix tests and linter
    
    * Remove max_version from NBVersionCheck
    
    * Added unit tests for NBVersionCheck
    
    * go mod tidy
    
    * Extend policy endpoint with posture checks (#1450)
    
    * Implement posture and version checks in API models
    
    * go mod tidy
    
    * Allow attaching posture checks to policy
    
    * Update error message for linked posture check on deleting
    
    * Refactor PostureCheck and Checks structures
    
    * go mod tidy
    
    * Add validation for non-existing posture checks
    
    * fix unit tests
    
    * use Wt version
    
    * Remove the enabled field, as posture check will now automatically be activated by default when attaching to a policy
    bcmmbaga authored and pascal-fischer committed Jan 19, 2024
    Configuration menu
    Copy the full SHA
    9b83400 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    146f70f View commit details
    Browse the repository at this point in the history

Commits on Jan 22, 2024

  1. Extend network map generation with posture checks (#1466)

    * Apply posture checks to network map generation
    
    * run policy posture checks on peers to connect
    
    * Refactor and streamline policy posture check process for peers to connect.
    
    * Add posture checks testing in a network map
    
    * Remove redundant nil check in policy.go
    
    * Refactor peer validation check in policy.go
    
    * Update 'Check' function signature and use logger for version check
    
    * Refactor posture checks run on sources and updated the validation func
    
    * Update peer validation
    
    * fix tests
    
    * improved test coverage for policy posture check
    
    * Refactoring
    bcmmbaga authored Jan 22, 2024
    Configuration menu
    Copy the full SHA
    3604a97 View commit details
    Browse the repository at this point in the history

Commits on Jan 26, 2024

  1. Extend NetBird agent to collect kernel version (#1495)

    * Add KernelVersion field to LoginRequest
    
    * Add KernelVersion to system info retrieval
    
    * Fix tests
    
    * Remove Core field from system info
    
    * Replace Core field with new OSVersion field in system info
    
    * Added WMI dependency to info_windows.go
    bcmmbaga authored Jan 26, 2024
    Configuration menu
    Copy the full SHA
    786326a View commit details
    Browse the repository at this point in the history

Commits on Jan 29, 2024

  1. Configuration menu
    Copy the full SHA
    ad42ead View commit details
    Browse the repository at this point in the history

Commits on Jan 31, 2024

  1. Configuration menu
    Copy the full SHA
    c21bb77 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    626b2a8 View commit details
    Browse the repository at this point in the history

Commits on Feb 1, 2024

  1. Add Geo Location posture check (#1500)

    * wip: implement geolocation check
    
    * add geo location posture checks to posture api
    
    * Merge branch 'feature/posture-checks' into geo-posture-check
    
    * Remove CityGeoNameID and update required fields in API
    
    * Add geoLocation checks to posture checks handler tests
    
    * Implement geo location-based checks for peers
    
    * Update test values and embed location struct in peer system
    
    * add support for country wide checks
    
    * initialize country code regex once
    bcmmbaga authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    b1a43d4 View commit details
    Browse the repository at this point in the history
  2. Fix peer meta core compability with older clients (#1515)

    * Refactor extraction of OSVersion in grpcserver
    
    * Ignore lint check
    bcmmbaga authored Feb 1, 2024
    Configuration menu
    Copy the full SHA
    b0462cd View commit details
    Browse the repository at this point in the history

Commits on Feb 6, 2024

  1. Fix peer meta core compability with older management (#1532)

    * Revert core field deprecation
    
    * fix tests
    bcmmbaga authored Feb 6, 2024
    Configuration menu
    Copy the full SHA
    3ccdf71 View commit details
    Browse the repository at this point in the history
  2. Extend peer meta with location information (#1517)

    This PR uses the geolocation service to resolve IP to location. 
    The lookup happens once on the first connection - when a client calls the Sync func.
    The location is stored as part of the peer:
    surik authored Feb 6, 2024
    Configuration menu
    Copy the full SHA
    4bcee77 View commit details
    Browse the repository at this point in the history

Commits on Feb 7, 2024

  1. Add Locations endpoints (#1516)

    * add locations endpoints
    
    * Add sqlite3 check and database generation in geolite script
    
    * Add SQLite storage for geolocation data
    
    * Refactor file existence check into a separate function
    
    * Integrate geolocation services into management application
    
    * Refactoring
    
    * Refactor city retrieval to include Geonames ID
    
    * Add signature verification for GeoLite2 database download
    
    * Change to in-memory database for geolocation store
    
    * Merge manager to geolocation
    
    * Update GetAllCountries to return Country name and iso code
    
    * fix tests
    
    * Add reload to SqliteStore
    
    * Add geoname indexes
    
    * move db file check to connectDB
    
    * Add concurrency safety to SQL queries and database reloading
    
    The commit adds mutex locks to the GetAllCountries and GetCitiesByCountry functions to ensure thread-safety during database queries. Additionally, it introduces a mechanism to safely close the old database connection before a new connection is established upon reloading, which improves the reliability of database operations. Lastly, it moves the checking of database file existence to the connectDB function.
    
    * Add sha256 sum check to geolocation store before reload
    
    * Use read lock
    
    * Check SHA256 twice when reload geonames db
    
    ---------
    
    Co-authored-by: Yury Gargay <[email protected]>
    bcmmbaga and surik authored Feb 7, 2024
    Configuration menu
    Copy the full SHA
    6b11bf0 View commit details
    Browse the repository at this point in the history

Commits on Feb 8, 2024

  1. Configuration menu
    Copy the full SHA
    d564cd9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    74d6918 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    b284c4d View commit details
    Browse the repository at this point in the history

Commits on Feb 9, 2024

  1. Configuration menu
    Copy the full SHA
    c49bf62 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    7072c02 View commit details
    Browse the repository at this point in the history
  3. Configuration menu
    Copy the full SHA
    ddf01ac View commit details
    Browse the repository at this point in the history

Commits on Feb 12, 2024

  1. Add Geolocation handler tests (#1556)

    * Implement user admin checks in posture checks
    
    * Add geolocation handler tests
    
    * Mark initGeolocationTestData as helper func
    
    * Add error handling to geolocation database closure
    
    * Add cleanup function to close geolocation resources
    bcmmbaga authored Feb 12, 2024
    Configuration menu
    Copy the full SHA
    59480b9 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    daacd5f View commit details
    Browse the repository at this point in the history
  3. Regenerate network map on posture check update (#1563)

    * change network state and generate map on posture check update
    
    * Refactoring
    bcmmbaga authored Feb 12, 2024
    Configuration menu
    Copy the full SHA
    6cfb214 View commit details
    Browse the repository at this point in the history

Commits on Feb 13, 2024

  1. Configuration menu
    Copy the full SHA
    6792b50 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    0bdf533 View commit details
    Browse the repository at this point in the history
  3. Do not return empty city name

    surik committed Feb 13, 2024
    Configuration menu
    Copy the full SHA
    4982cca View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    bca6dbe View commit details
    Browse the repository at this point in the history
  5. Validate action param of geo location checks (#1577)

    We only support allow and deny
    surik authored Feb 13, 2024
    Configuration menu
    Copy the full SHA
    5d40396 View commit details
    Browse the repository at this point in the history
  6. Configuration menu
    Copy the full SHA
    d3904c7 View commit details
    Browse the repository at this point in the history
  7. Configuration menu
    Copy the full SHA
    91ebbc0 View commit details
    Browse the repository at this point in the history
  8. Configuration menu
    Copy the full SHA
    7c26cdb View commit details
    Browse the repository at this point in the history

Commits on Feb 19, 2024

  1. Configuration menu
    Copy the full SHA
    08e5907 View commit details
    Browse the repository at this point in the history
  2. Enhance the management of posture checks (#1595)

    * add a correct min version and kernel for os posture check example
    
    * handle error when geo or location db is nil
    
    * expose all peer location details in api response
    
    * Check for nil geolocation manager only
    
    * Validate posture check before save
    
    * bump open api version
    
    * add peer location fields to toPeerListItemResponse
    bcmmbaga authored Feb 19, 2024
    Configuration menu
    Copy the full SHA
    6f28418 View commit details
    Browse the repository at this point in the history