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

Update MDM migration flow with offline dialog #21209

Closed
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
96 commits
Select commit Hold shift + click to select a range
ef07a40
Bugfix: list host software "Available for install" filter must show i…
mna Aug 6, 2024
d8af8c6
Fleet UI: Updates to installed software tooltips (#21084)
RachelElysia Aug 6, 2024
357dc91
Fleet docs: Add API validations to doc for patching app config (#20758)
RachelElysia Aug 6, 2024
97883a9
Fleet UI: Fleet Free shows premium message when clicking to add softw…
RachelElysia Aug 6, 2024
2559b93
Ensure empty gitops AdamIDs return an error to the user (#21087)
dantecatalfamo Aug 6, 2024
e65d6cf
Bugfix: don't show as available for install a software with an instal…
mna Aug 6, 2024
60a0609
add index to jobs table (#21090)
edwardsb Aug 6, 2024
285822e
Remove duplicate high priority issues section (#21101)
lukeheath Aug 6, 2024
fb4292c
Fix many issues with VPP apps select queries and host counts (#21039)
lucasmrod Aug 6, 2024
12132b3
Make contributor API warning clearer (#20814)
lukeheath Aug 6, 2024
232947b
UI – Restore search/filter to empty SW versions table; empty state up…
jacobshandling Aug 6, 2024
e488a26
Update tutorials-and-guides.md (#21078)
mike-j-thomas Aug 6, 2024
dc24c43
API docs cleanup (#21072)
noahtalerman Aug 6, 2024
6fd1e33
Update digital-experience.rituals.yml (#21112)
Sampfluger88 Aug 7, 2024
30b65ca
Fix stray "is" on out-of-policy device glossary entry (#21037)
iansltx Aug 7, 2024
04b3d04
Follow time zone abbreviation convention in Communications article (#…
iansltx Aug 7, 2024
b3355ec
Fix line break Markdown in hyphenated time list heading (#21034)
iansltx Aug 7, 2024
af1b1e2
Fix line break Markdown in commas-and-numbers list heading (#21033)
iansltx Aug 7, 2024
817bf20
Update handbook/digital-experience/schedule-ceo-interview (#21020)
SFriendLee Aug 7, 2024
1013229
Fix grammar on engineering rituals (#21113)
iansltx Aug 7, 2024
d15c7c3
Fix tpyo in Digital Experience host count update instructions (#21114)
iansltx Aug 7, 2024
5c0508e
Fix "who's" to "whose" in Business Operations "change a Fleetie's man…
iansltx Aug 7, 2024
f643645
Fix misspelling on contributor swag offer in Demand handbook entry (#…
iansltx Aug 7, 2024
9a6288a
Fix stray words in press release scheduling instructions (#21121)
iansltx Aug 7, 2024
e0d3636
Moving Go integration tests to integration test job (#21126)
getvictor Aug 7, 2024
737ab17
My Device status is now refreshed when user clicks on My Device or Se…
getvictor Aug 7, 2024
75ab4b5
Fleet server now accepts arguments via stdin (#21124)
getvictor Aug 7, 2024
5cd819c
fix: add open paren (#21128)
jahzielv Aug 7, 2024
90f0414
Add self_service column to vpp_apps_teams (#21106)
dantecatalfamo Aug 7, 2024
c221fa3
Fix helm chart service name when using custom release name (#20832)
pboushy Aug 7, 2024
50ba783
UI – Update empty Software versions table when installable software p…
jacobshandling Aug 7, 2024
3b34bbf
UI – Read "unavailable" when iPad/iPhone refetch is unsuccessful (#21…
jacobshandling Aug 7, 2024
ae211a3
Add --check flag to mdmproxy (#21094)
zwass Aug 7, 2024
647ffc6
Exclude ios_apps and ipados_apps from normal vuln processing. (#21143)
getvictor Aug 7, 2024
269cccc
Add documentation for experimental feature process (#21102)
lukeheath Aug 7, 2024
08bc4fe
Fleet UI: Update software/titles/:id on a team view with no software …
RachelElysia Aug 7, 2024
a8785f4
Website: Update lastModifiedAt timestamps when running build-static-c…
eashaw Aug 7, 2024
baa7994
UI: Fix missing SW on DUP (#21146)
jacobshandling Aug 7, 2024
e4070e8
Add small improvements to mdm assets tool (#21161)
lucasmrod Aug 7, 2024
b3c610f
Article: Guide software self-service (#20958)
spokanemac Aug 7, 2024
fe4cb26
Product groups handbook: Air guitar (#21111)
noahtalerman Aug 7, 2024
68ea52a
Update docs: minimum Aurora version supported (#21130)
lucasmrod Aug 7, 2024
3f9b9fd
Comment out generate a new landing page (#21166)
Sampfluger88 Aug 7, 2024
3ae4b3d
Documentation: Add clarity on MSI package creation command (#20724)
JoGSal Aug 7, 2024
d5c9caa
API reference docs: clarify profiles and labels (#21162)
noahtalerman Aug 7, 2024
82532ec
API reference docs: Parts of Get software are experimental (#21164)
noahtalerman Aug 7, 2024
5c2fcee
Update Activation Lock information (#21138)
zwass Aug 7, 2024
f77cb7f
Handbook: Better links to OKRs in product groups (#21168)
noahtalerman Aug 8, 2024
9e61cf8
Update ABM hosts tooltip to clarify when host vitals will be availabl…
ghernandez345 Aug 8, 2024
dfafc11
Update receive-from-github.js (#21182)
JoStableford Aug 8, 2024
e982ca9
UI – For iPad/iPhones: update refetch behavior, add `Not supported` t…
jacobshandling Aug 8, 2024
5a8a201
Link-ify estimated story points in product group table footnote (#21170)
iansltx Aug 8, 2024
eca1515
Remove outdated content from security.md (#21197)
roperzh Aug 8, 2024
1b4e4f4
Documentation: Add introduction for new users regarding querying (#20…
JoGSal Aug 8, 2024
b670173
Added `known_vulnerability` to vulnerabilities endpoint. (#21136)
getvictor Aug 8, 2024
c2e90e5
Process for creating a 30-60-90 day plan (#20906)
ireedy Aug 8, 2024
75ab22a
remove SC open position (#21205)
dherder Aug 8, 2024
f4d6391
Add documentation guide for seamless MDM migration (#21203)
zwass Aug 8, 2024
0f0b478
Update CODEOWNERS (#21183)
hollidayn Aug 8, 2024
b6a8d96
Initial implementation
gillespi314 Aug 8, 2024
0cfb7cf
Refactor offline dialog; experiment with message contents
gillespi314 Aug 8, 2024
6ab7acf
Minor cleanup
gillespi314 Aug 8, 2024
ed602de
Remove early return in swift dialog runner
gillespi314 Aug 8, 2024
886a726
Remove unused struct property
gillespi314 Aug 8, 2024
e6ae37f
Website: Update mermaid graphs in "Seamless MDM migrations to Fleet" …
eashaw Aug 9, 2024
f2f0b82
Update versions of fleetd components in Fleet's TUF [automated] (#21213)
github-actions[bot] Aug 9, 2024
e6bbb76
Improved fleetctl gitops error message when trying to change team nam…
getvictor Aug 9, 2024
973715b
Fixing macos-install-wine.sh (#21218)
getvictor Aug 9, 2024
73d0f46
fix formatting of unrecognized BitLocker erorr (#21220)
roperzh Aug 9, 2024
a794bd2
Fixed a bug when a cached prepared statement gets deleted in the MySQ…
roperzh Aug 9, 2024
bb02686
Article: Guide deploy security agents (#21204)
spokanemac Aug 9, 2024
e69e052
App Store apps ID string instead of integer (#20875)
marko-lisica Aug 9, 2024
f035f0e
Integrate with migration file reader
gillespi314 Aug 9, 2024
e4f78c8
Refactor dialog props to disable default screen takeover
gillespi314 Aug 9, 2024
accfd7d
API design: OS updates for iOS/iPadOS (#20460)
noahtalerman Aug 9, 2024
0a2a48b
API design: Install Apple App Store apps on macOS (#19291)
marko-lisica Aug 9, 2024
cfd3a81
Update story points language (#21199)
lukeheath Aug 9, 2024
34901a9
Update goreleaser runner (#21226)
lukeheath Aug 9, 2024
754ea8b
Merge branch 'main' into feat-mdm-migration-updates
jahzielv Aug 9, 2024
90c42f0
Fix crash from nil error
gillespi314 Aug 9, 2024
01254ab
Update offline dialog UI
gillespi314 Aug 12, 2024
0e9acf6
Update logs; todos
gillespi314 Aug 12, 2024
6664822
Feat: updated ADE migration flow (#21229)
jahzielv Aug 12, 2024
0c33839
Address comments
gillespi314 Aug 13, 2024
a365adf
Initial implementation
gillespi314 Aug 8, 2024
6342e64
Refactor offline dialog; experiment with message contents
gillespi314 Aug 8, 2024
91d29f8
Minor cleanup
gillespi314 Aug 8, 2024
30e01ee
Remove early return in swift dialog runner
gillespi314 Aug 8, 2024
4006a6e
Remove unused struct property
gillespi314 Aug 8, 2024
1587738
Integrate with migration file reader
gillespi314 Aug 9, 2024
282ca2b
Refactor dialog props to disable default screen takeover
gillespi314 Aug 9, 2024
c257a51
Fix crash from nil error
gillespi314 Aug 9, 2024
9e3bed7
Update offline dialog UI
gillespi314 Aug 12, 2024
77931a7
Update logs; todos
gillespi314 Aug 12, 2024
2987e4b
Address comments
gillespi314 Aug 13, 2024
186f850
Merge branch 'mdm-migration-offline-watcher' of https://github.com/fl…
gillespi314 Aug 13, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/goreleaser-fleet.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ permissions:

jobs:
goreleaser:
runs-on: ubuntu-20.04
runs-on: ubuntu-20.04-4-cores
environment: Docker Hub
permissions:
contents: write
Expand Down
6 changes: 3 additions & 3 deletions CODEOWNERS
Validating CODEOWNERS rules …
Original file line number Diff line number Diff line change
Expand Up @@ -66,9 +66,9 @@ go.mod @fleetdm/go
# FUTURE: Look for a way to not have this notify every single person in this "github team".
##############################################################################################

/infrastructure/ @rfairburn @ksatter @lukeheath @edwardsb @pacamaster @georgekarrv
/charts/ @rfairburn @ksatter @lukeheath @edwardsb @pacamaster @georgekarrv
/terraform/ @rfairburn @ksatter @lukeheath @edwardsb @pacamaster @georgekarrv
/infrastructure/ @rfairburn @ksatter @lukeheath @edwardsb @georgekarrv
/charts/ @rfairburn @ksatter @lukeheath @edwardsb @georgekarrv
/terraform/ @rfairburn @ksatter @lukeheath @edwardsb @georgekarrv
/it-and-security/ @noahtalerman @lukeheath @spokanemac @getvictor

##############################################################################################
Expand Down
97 changes: 97 additions & 0 deletions articles/deploy-security-agents.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
# Deploy security agents

![Deploy security agents](../website/assets/images/articles/deploy-security-agents-1600x900@2x.png)

Fleet [v4.50.0](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.50.0) introduced the ability to upload and deploy security agents to your hosts. Beyond a [bootstrap package](https://fleetdm.com/docs/using-fleet/mdm-macos-setup-experience#bootstrap-package) at enrollment, deploying security agents allows you to specify and verify device configuration using a pre-enrollment osquery query and customization of the install and post-install scripts, allowing for key and license deployment and configuration. This guide will walk you through the steps to upload, configure, and install a security agent to hosts in your fleet.

## Prerequisites

* Fleet [v4.50.0](https://github.com/fleetdm/fleet/releases/tag/fleet-v4.50.0).
* `fleetd` 1.25.0 deployed via MDM or built with the `--scripts-enabled` flag.
* An S3 bucket [configured](https://fleetdm.com/docs/configuration/fleet-server-configuration#s-3-software-installers-bucket) to store the installers.
* Increase any load balancer timeouts to at least 5 minutes for the following endpoints:
* [Add software](https://fleetdm.com/docs/rest-api/rest-api#add-software).
* [Batch-apply software](https://fleetdm.com/docs/rest-api/rest-api#add-software).

## Step-by-step instructions

### Access security agent installers

To access and manage security agents in Fleet:

* **Navigate to the Software page**: Click on the "Software" tab in the main navigation menu.
* **Select a team**: Click on the dropdown at the top left of the page.
* **Find your software**: using the filters on the top of the table, you can choose between:
* “Available for install” filters software that can be installed on your hosts.
* “Self-service” filters software that end users can install from Fleet Desktop.
* **Select security agent installer**: Click on a software package to view details and access additional actions for the agent installer.

### Add a security agent to a team

* **Navigate to the Software page**: Click on the "Software" tab in the main navigation menu.
* **Select a team**: Select a team or the "No team" team to add a security agent.

> Security agents cannot be added to "All teams"

* Click the “Add Software” button in the top right corner, and a modal will appear.
* Choose a file to upload. `.pkg`, `.msi`, `.exe`, or `.deb` files are supported.
* After selecting a file, a default install script will be pre-filled. If the security agent requires a custom installation process, this script can be edited.
* To allow users to install the software from Fleet Desktop, check the “Self-service” checkbox.
* To customize the conditions, click on “Advanced options”:
* **Pre-install condition**: A pre-install condition is a valid osquery SQL statement that will be evaluated on the host before installing the software. If provided, the installation will proceed only if the query returns any value.
* **Post-install script** A post-install script will run after the installation is complete, allowing you to configure the security agent right after installation. If this script returns a non-zero exit code, the installation will fail, and `fleetd` will attempt to uninstall the software.

### Install a security agent on a host

After an installer is added to a team, it can be installed on hosts via the UI.

* **Navigate to the Hosts page**: Click on the "Hosts" tab in the main navigation menu.
* **Navigate to the Host details page**: Click the host you want to install the security agent.
* **Navigate to the Host software tab**: In the host details, search for the tab named “Software”
* **Find your security agent**: Use the search bar and filters to search for your security agent.
* **Install the security agent on the host**: In the leftmost row of the table, click on “Actions” > “Install.”
* **Track installation status**: by either
* Checking the “Install status” in the host software table.
* Navigate to the “Details” tab on the host details page and check the activity log.

### Edit a security agent

Security agent installers can’t be edited via the UI. To modify an installer, remove it from the UI and add a new one.

### Remove a security agent from a team

* **Navigate to the Software page**: Click on the "Software" tab in the main navigation menu.
* **Select a team**: Select a team or the "No team" team to add a security agent.
* **Find your software**: using the filters on the top of the table, you can choose between:
* “Available for install” filters software can be installed on your hosts.
* “Self-service” filters software that users can install from Fleet Desktop.
* **Select security agent installer**: Click on a software package to view details.
* **Remove security agent installer**: From the Actions menu, select "Delete." Click the "Delete" button on the modal.

> Removing a security agent from a team will not uninstall the agent from the existing host(s).

### Manage security agents with the REST API

Fleet also provides a REST API for managing software programmatically. The API allows you to add, update, retrieve, list, and delete software. Detailed documentation on Fleet's [REST API is available](https://fleetdm.com/docs/rest-api/rest-api#software).

### Manage security agents with GitOps

Installers for security agents can be managed via `fleetctl` using [GitOps](https://fleetdm.com/docs/using-fleet/gitops).

Please refer to the documentation specific to [managing software with GitOps](https://fleetdm.com/docs/using-fleet/gitops#software). For a real-world example, [see how we manage software at Fleet](https://github.com/fleetdm/fleet/tree/main/it-and-security/teams).


## Conclusion

Deploying security agents with Fleet is straightforward and ensures your hosts are protected with the latest security measures. This guide has shown you how to access, add, and install security agents, as well as manage them using the REST API and `fleetctl`. Following these steps can effectively equip your fleet with the necessary security tools.

See Fleet's [documentation](https://fleetdm.com/docs/using-fleet) and additional [guides](https://fleetdm.com/guides) for more details on advanced setups, software features, and vulnerability detection.


<meta name="articleTitle" value="Deploy security agents">
<meta name="authorFullName" value="Roberto Dip">
<meta name="authorGitHubUsername" value="roperzh">
<meta name="category" value="guides">
<meta name="publishedOn" value="2024-08-05">
<meta name="articleImageUrl" value="../website/assets/images/articles/deploy-security-agents-1600x900@2x.png">
<meta name="description" value="This guide will walk you through adding software to Fleet.">
Loading
Loading