From bb6e8b500648f69762ac8c8baf4a9430042ed1a4 Mon Sep 17 00:00:00 2001 From: Andrew Baker <89049099+DrewBakerfdm@users.noreply.github.com> Date: Tue, 17 Jan 2023 12:25:01 -0500 Subject: [PATCH] Add 4.26.0 release post (#9366) # Checklist for submitter If some of the following don't apply, delete the relevant line. - [ ] Changes file added for user-visible changes in `changes/` or `orbit/changes/`. See [Changes files](https://fleetdm.com/docs/contributing/committing-changes#changes-files) for more information. - [ ] Documented any API changes (docs/Using-Fleet/REST-API.md or docs/Contributing/API-for-contributors.md) - [ ] Documented any permissions changes - [ ] Input data is properly validated, `SELECT *` is avoided, SQL injection is prevented (using placeholders for values in statements) - [ ] Added support on fleet's osquery simulator `cmd/osquery-perf` for new osquery data ingestion features. - [ ] Added/updated tests - [ ] Manual QA for all new/changed functionality - For Orbit and Fleet Desktop changes: - [ ] Manual QA must be performed in the three main OSs, macOS, Windows and Linux. - [ ] Auto-update manual QA, from released version of component to new version (see [tools/tuf/test](../tools/tuf/test/README.md)). Co-authored-by: Eric Co-authored-by: Noah Talerman <47070608+noahtalerman@users.noreply.github.com> --- articles/fleet-4.26.0.md | 87 ++++++++++++++++++ .../articles/fleet-4.26.0-1600x900@2x.png | Bin 0 -> 53704 bytes 2 files changed, 87 insertions(+) create mode 100644 articles/fleet-4.26.0.md create mode 100644 website/assets/images/articles/fleet-4.26.0-1600x900@2x.png diff --git a/articles/fleet-4.26.0.md b/articles/fleet-4.26.0.md new file mode 100644 index 000000000..20d7522c4 --- /dev/null +++ b/articles/fleet-4.26.0.md @@ -0,0 +1,87 @@ +# Fleet 4.26.0 | Easier osquery extensions, external audit log destinations, and cleaner data lakes + +![Fleet 4.26.0](../website/assets/images/articles/fleet-4.26.0-1600x900@2x.png) + +Fleet 4.26.0 is up and running. Check out the full [changelog](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.26.0) or continue reading to get the highlights. + +For upgrade instructions, see our [upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs. + +## Highlights +- Manage osquery extensions with fleetd. +- Log user activity for audits. +- Ingest the latest software data. + +## Manage osquery extensions with fleetd +**Available in Fleet Premium** + +Fleetd used to only deploy and upgrade osquery and Fleet Desktop on employees’ machines. But many Fleet users require osquery extensions to suit their situations. That meant managing extensions separately with a tool like Munki or a mobile device management (MDM) system. + +Fleet 4.26.0 brings the deployment and management of extensions into fleetd — saving you the time and energy it would take to maintain extensions with a separate interface. + +Fleetd checks the extension set at a configurable interval (once an hour by default). The osquery versions and extensions specified by your system define the extension set. If the extension differs from the current set (e.g., additions, upgrades, or removals), fleetd will install, upgrade, or delete the appropriate extensions. + +Fleetd also checks which team a machine belongs to and applies that team’s extension set. If no team configuration exists, fleetd applies the global extension set. Team extension sets override global sets. Fleetd doesn’t merge global and team options, which was the case before Fleet 4.26.0. + +Here’s how to manage extensions with fleetd: + +1. Upload new extensions and extension versions to your own TUF server. The TUF server is updated outside of the fleetctl or the Fleet UI. +2. Update the list of extensions by applying a new YAML configuration to your Fleet instance. This can be done by applying a new configuration file from fleetctl or using the agent options pages in the Fleet UI. +3. Make sure each `extensions` object has a `name` and a `channel` attribute in the YAML file. +4. You can specify a specific version number for the extension that matches an identifier in your TUF server. If no version is specified, then fleetd will upgrade to the latest version of that extension available in your TUF server. +5. Fleetd supports all extension types, including Python. But Python extensions must be fully compiled into a binary. Fleetd doesn’t manage Python dependencies. + +If an extension fails to apply, fleetd will apply the other extensions and then start osquery with the reduced extension set. + +## Log user activity for audits +**Available in Fleet Premium** + +Security and IT administrators have long to-do lists and short deadlines. Increasing access to Fleet across the company would help lighten the workload, but more users could mean more chances for things to fall through the cracks. Fleet 4.26.0 gives you extra confidence to extend your user base. + +Now you can stream Fleet user activities to external destinations, aggregating granular data for greater insights in the event issues occur. + +To make sure administrative operations run smoothly, Fleet streams activity to log destinations asynchronously. Activity will still appear in the Fleet UI in real time, but streaming this data may take up to 5 minutes. + +## Ingest the latest software data +**Available in Fleet Free and Fleet Premium** + +You already have a lot of raw data to sift through in your data lake, especially if your organization has hundreds of thousands of devices. What if you could refine your software data before it reaches the lake? + +Fleet 4.26.0 reduces the number of calls you have to make to pull software data with the REST API. Each time a host has software added, updated, or deleted, a `host_software_updated_at` timestamp gets updated for that host. The `host_software_updated_at` timestamp is exposed through the API. This lets you send the latest software data to your data lake, so you can avoid drowning in outdated information. + +## Fleet MDM +**MDM features are not ready for production and are currently in development. These features are disabled by default.** + +Fleet is building a cross-platform MDM to give IT and security teams the visibility and openness they need. Here are the latest developments: + +- Added functionality to ingest device information from Apple MDM endpoints so that a device ordered in Apple Business Manager can be surfaced in Fleet. +- Added new activities to the activities API when a device has MDM is turned on or off.. +- Added option to filter hosts by MDM status "pending" to surface devices ordered through Apple Business Manager that are still pending enrollment to Fleet. +- Added a flag to indicate if the Apple Business Manager terms and conditions have changed and must be accepted to have automatic enrollment of hosts work again. A banner is added to the output of `fleetctl` commands when this is the case. +- Added side navigation layout to the integration page and conditionally show MDM section. +- Added a modal to allow users to download an enrollment profile required for turning on MDM. +- Added a new configuration option to set the default team for Apple Business Manager. + +Are you interested in the Fleet MDM beta? [Schedule a call](https://calendly.com/fleetdm/demo) to save your spot. + +## More new features, improvements, and bug fixes +- Added locally-formatted datetime tooltips. +- Added the ability to bookmark a url when it includes the query parameter on the Hosts page. +- Added a way to override a detail query or disable it through app config. +- Added a software_updated_at column denoting when software was updated for a host. +- Updated software empty states. +- Updated all forms to automatically focus on the first entry for better UX. +- Updated the Fleet UI to show pack target details on the right side of the dropdown. +- Updated Fleet UI buttons to follow the new style guide. +- Fixed ingestion of MDM data with empty server URLs (meaning the host is not enrolled to an MDM server). +- Fixed a bug in which Fleet would error when the host doesn’t have MDM data. +- Fixed an issue in which invalid query strings stopped the spinner from timing out. + +## Ready to upgrade? +Visit our [upgrade guide](https://fleetdm.com/docs/deploying/upgrading-fleet) in the Fleet docs for instructions on updating to Fleet 4.26.0. + + + + + + + diff --git a/website/assets/images/articles/fleet-4.26.0-1600x900@2x.png b/website/assets/images/articles/fleet-4.26.0-1600x900@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..5227be9317e868e95cfd065b84e3c8b527dcbf21 GIT binary patch literal 53704 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 literal 0 HcmV?d00001