Skip to content

Commit

Permalink
Merge branch 'main' into docs-v4.61.0
Browse files Browse the repository at this point in the history
  • Loading branch information
rachaelshaw committed Nov 18, 2024
2 parents b4fb04f + 22ff501 commit 6c5400f
Show file tree
Hide file tree
Showing 129 changed files with 2,361 additions and 585 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/story.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,9 +19,9 @@ It is [planned and ready](https://fleetdm.com/handbook/company/development-group
| I want to _________________________________________
| so that I can _________________________________________.

## Objective
## Key result

<!-- What quarterly objective does this story contribute to, if any? If it doesn't contribute to an objective, explain why it's being prioritized. -->
<!-- What quarterly key result (KR) does this story contribute to, if any? If it doesn't contribute to a KR, explain why it's being prioritized. -->

## Original requests

Expand Down
40 changes: 40 additions & 0 deletions .github/workflows/build-fleetd_tables.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
name: Build fleetd_tables osquery extension

on:
workflow_dispatch:

defaults:
run:
# fail-fast using bash -eo pipefail. See https://docs.github.com/en/actions/using-workflows/workflow-syntax-for-github-actions#exit-codes-and-error-action-preference
shell: bash

permissions:
contents: read

jobs:
build-binaries:
runs-on: macos-latest
steps:
- name: Harden Runner
uses: step-security/harden-runner@63c24ba6bd7ba022e95695ff85de572c04a18142 # v2.7.0
with:
egress-policy: audit

- name: Checkout Code
uses: actions/checkout@c85c95e3d7251135ab7dc9ce3241c5835cc595a9 # v3.5.3

- name: Install Go
uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # v4.1.0
with:
go-version-file: "go.mod"

- name: Install Go Dependencies
run: make deps-go

- name: Build binaries
run: make fleetd-tables-all

- uses: actions/upload-artifact@0b7f8abb1508181956e8e162db84b466c27e18ce # v2
with:
name: fleetd_tables
path: fleetd_tables_*
6 changes: 6 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,3 +1,9 @@
## Fleet 4.59.1 (Nov 18, 2024)

### Bug fixes

* Added `team_identifier` signature information to Apple macOS applications to the `/api/latest/fleet/hosts/:id/software` API endpoint.

## Fleet 4.59.0 (Nov 12, 2024)

### Endpoint operations
Expand Down
10 changes: 5 additions & 5 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -266,13 +266,13 @@ fleetd-tables-linux-arm64:
GOOS=linux GOARCH=arm64 go build -o fleetd_tables_linux_arm64.ext ./orbit/cmd/fleetd_tables
fleetd-tables-darwin:
GOOS=darwin GOARCH=amd64 go build -o fleetd_tables_darwin.ext ./orbit/cmd/fleetd_tables
fleetd-tables-darwin_arm:
GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build -o fleetd_tables_darwin_arm.ext ./orbit/cmd/fleetd_tables
fleetd-tables-darwin-universal: fleetd-tables-darwin fleetd-tables-darwin_arm
lipo -create fleetd_tables_darwin.ext fleetd_tables_darwin_arm.ext -output fleetd_tables_darwin_universal.ext
fleetd-tables-darwin_arm64:
GOOS=darwin GOARCH=arm64 CGO_ENABLED=1 go build -o fleetd_tables_darwin_arm64.ext ./orbit/cmd/fleetd_tables
fleetd-tables-darwin-universal: fleetd-tables-darwin fleetd-tables-darwin_arm64
lipo -create fleetd_tables_darwin.ext fleetd_tables_darwin_arm64.ext -output fleetd_tables_darwin_universal.ext
fleetd-tables-all: fleetd-tables-windows fleetd-tables-linux fleetd-tables-darwin-universal fleetd-tables-linux-arm64
fleetd-tables-clean:
rm -f fleetd_tables_windows.exe fleetd_tables_linux.ext fleetd_tables_darwin.ext fleetd_tables_darwin_arm.ext fleetd_tables_darwin_universal.ext
rm -f fleetd_tables_windows.exe fleetd_tables_linux.ext fleetd_tables_linux_arm64.ext fleetd_tables_darwin.ext fleetd_tables_darwin_arm64.ext fleetd_tables_darwin_universal.ext

.pre-binary-arch:
ifndef GOOS
Expand Down
2 changes: 1 addition & 1 deletion articles/automatic-software-install-in-fleet.md
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@ Upon failure of the selected policy, the selected software installation will be

* After configuring Fleet to auto-install a specific software the rest will be done automatically.
* The policy check mechanism runs on a typical 1 hour cadence on all online hosts.
* Fleet will send install requests to the hosts on the first policy failure (first "No" result for the host) or if a policy goes from "Yes" to "No". On this iteration it will not send a install request if a policy is already failing and continues to fail ("No" -> "No"). See the following flowchart for details.
* Fleet will send install requests to the hosts on the first policy failure (first "No" result for the host) or if a policy goes from "Yes" to "No". On this iteration it will not send an install request if a policy is already failing and continues to fail ("No" -> "No"). See the following flowchart for details.

![Flowchart](../website/assets/images/articles/automatic-software-install-workflow.png)
*Detailed flowchart*
Expand Down
2 changes: 1 addition & 1 deletion articles/fleet-4.32.0.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ Learn more about customizing the [macOS Setup Assistant](https://fleetdm.com/doc

## More new features, improvements, and bug fixes

* Added support to add a EULA as part of the AEP/DEP unboxing flow.
* Added support to add an EULA as part of the AEP/DEP unboxing flow.
* DEP enrollments configured with SSO now pre-populate the username/fullname fields during account creation.
* Integrated the macOS setup assistant feature with Apple DEP so that the setup assistants are assigned to the enrolled devices.
* Re-assign and update the macOS setup assistants (and the default one) whenever required, such as when it is modified, when a host is transferred, a team is deleted, etc.
Expand Down
40 changes: 40 additions & 0 deletions articles/fleet-reimagines-observability-with-devops-teams.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
# Fleet reimagines observability with DevOps teams at Roblox, Atlassian, Dropbox

_Open-source project delivers new Arm64+ support for high-performance servers and Kubernetes clusters, speeding up compliance audits and enabling next-gen intrusion detection in the production infrastructures of industry giants including Atlassian, Dropbox, Roblox, Nubank, Fastly, and some of the world's most powerful HPC clusters (high-performance supercomputers)._

![Fleet logo cover](../website/assets/images/articles/[email protected])

**AUSTIN — November 14, 2024 —** [Fleet](https://fleetdm.com?utm_content=eo-security), the leading open-source platform for Linux and Apple device management, today announced a new suite of expanded, multi-cloud features for DevOps and cloud security teams. Fleet now includes a number of observability capabilities for servers and Kubernetes containers which make it easy to get data that was previously out of reach (or impractical to gather) from sensitive production environments like gaming servers and edge caching nodes.

Industry pioneer [Mark Burgess](https://en.wikipedia.org/wiki/Mark_Burgess_(computer_scientist)), author of [CFEngine](https://en.m.wikipedia.org/wiki/CFEngine) and initiator of Promise Theory put it like this: "Configuring stuff is easy, but understanding the monster you've created is hard. This is why the challenges of infrastructure are all about knowledge management. Getting data is half the battle, and that's a big scaling challenge."

But the need for good data from production systems has never been greater. Servers and containers have many of the same basic security visibility needs as laptops, like intrusion detection (HIDS), vulnerability reporting, and live investigation during incidents (DFIR). They just require more painstaking steps to ensure the mere act of gathering the data doesn't cause negative performance impact or expensive downtime. As companies increasingly rely on vast networks of servers to run their businesses, many opt not to take the risk of installing commercial endpoint detection and response (EDR) software on their production environments, worried about the performance "tax" and stability issues like the recent [worldwide "blue screen of death"](https://en.wikipedia.org/wiki/2024_CrowdStrike-related_IT_outages) that shut down some airports in the United States.

By contrast, Fleet is designed to scale seamlessly from tens of servers, to thousands of servers, to hundreds of thousands of servers, with minimal performance impact. This dramatically simplifies gathering data for compliance audits, and it makes it possible to build more advanced security paradigms. Now, Fleet is drawing increasing attention from companies that need to maximize both security and performance from their production infrastructures.

"We're able to address reliability and compliance concerns without sacrificing a single point-of-a-percent of performance for our servers. All of this done consistently and continuously,” said [Charles Zaffery](https://www.linkedin.com/in/charleszaffery/), principal infrastructure engineer at [Roblox](https://en.wikipedia.org/wiki/Roblox). "Fleet is getting shown to our company board."

Fleet's history and open-source nature give it a unique advantage. Built atop [osquery](https://osquery.io), a popular open-source agent developed by Fleet co-founder [Zach Wasserman](https://github.com/zwass) during his time on Facebook's cybersecurity team, it has since been deployed across millions of devices and adopted widely in large enterprises and hobbyist setups worldwide. This existing install base, coupled with the thousands of people reading its source code, make Fleet and osquery highly customizable and provide a firm, scalable foundation for shipping new, enterprise-ready features quickly. For example, in just the last couple of months Fleet quietly trickled out multiple new features for infrastructure teams, including Arm64 support, [BPF events](https://en.wikipedia.org/wiki/Berkeley_Packet_Filter) on Arch Linux, remote installation of RPM packages, OVAL vulnerability scanning, auto-patching, zsh shell scripting, and AI-powered explanations of security policies for developers who build on company infrastructure.

"Fleet's extremely wide and diverse set of data allows us [Roblox] to answer questions that we didn't even know we had," said Charles. "On top of that, the experience is near instantaneous: Literally, seconds to sort through billions of data points and return the exact handful that we need, with complete auditing and transparency."

This data is one of Fleet's superpowers. One example: Dre, a security engineer at a top electric vehicle manufacturer, used Fleet to identify which of their computers had a vulnerable [TPM chip](https://www.tomsguide.com/news/billions-of-pcs-and-other-devices-vulnerable-to-newly-discovered-tpm-20-flaws), an obscure hardware component. Even when the computer manufacturer couldn’t give him a straight answer over the phone, Fleet identified the vulnerable chip in seconds, across thousands of machines – from employee laptops to vehicle production lines.

"We picked Fleet for the simplicity of rolling it out and the ability to integrate into our environment," said another engineer at a different Fortune 100 computer and networking company. "Now, it is running on around 80,000 hosts internally at my company for threat detection, security reporting, and vulnerability management.”

Atlassian, Dropbox, Roblox, [Nubank](https://en.wikipedia.org/wiki/Nubank), Fastly, and other customers increase their adoption over time, standardizing on Fleet to easily get data and maintain surgical control across their entire infrastructure. For example, at Fastly, the cybersecurity department first purchased Fleet to replace a legacy, proprietary product installed on their servers, including high performance caching nodes, where even a small performance hit is critical. Then one year later, new features in Fleet allowed it to spread to the IT department and replace a legacy device management vendor, eliminating more tool overlap while unifying security data across servers and laptops.

The growth and IPOs of open core companies like [GitLab](https://www.heavybit.com/library/video/commercial-open-source-business-strategies) and [Hashicorp](https://www.sec.gov/Archives/edgar/data/1720671/000119312521319849/d205906ds1.htm) have paved the way for open core companies like Fleet. Unlike with proprietary, "black box" security software, which can be difficult to troubleshoot and can raise suspicions from engineers, Fleet customers retain access to 100% of the source code that runs on their servers and containers. This makes Fleet easier to procure and easier for anyone to adopt and use, inside and outside of the enterprise.

"Five years ago, I worked as a backend developer on an in-store payments product for a Fortune 1 company, and back then, there were a lot of late nights. We had nothing but buggy, in-house tools for doing deployments and checking up on servers, plus a few commercial products that someone had bought, but that no one actually used," said [Mike McNeil](https://github.com/mikermcneil), CEO and co-founder of Fleet. "The first time I met Zach and saw osquery, I realized this was going to change everything."

## About Fleet

[Fleet](https://fleetdm.com?utm_content=eo-security) is the leading [open-source](http://fleetdm.com/handbook/company/why-this-way?utm_content=eo-security#why-open-source) system for Linux observability and [Apple device management](https://fleetdm.com/better?utm_content=eo-security). Built on the power of osquery, Fleet enables organizations to inspect, collect, fix, install, patch, and program just about anything, every minute of the day, on any computer in their infrastructure with unprecedented flexibility and scale. Trusted by industry leaders like Roblox, Atlassian, Fastly, Nubank, and Dropbox, Fleet is transforming the way companies approach observability for large-scale, high-performance server deployments.

<meta name="category" value="announcements">
<meta name="authorFullName" value="Mike McNeil">
<meta name="authorGitHubUsername" value="mikermcneil">
<meta name="publishedOn" value="2024-11-14">
<meta name="articleTitle" value="Fleet reimagines observability with DevOps teams at Roblox, Atlassian, Dropbox">
<meta name="description" value="Fleet speeds up compliance audits and enables next-gen intrusion detection in large production infrastructures">
67 changes: 67 additions & 0 deletions articles/lock-wipe-hosts.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Lock and wipe hosts

![Lock and wipe hosts](../website/assets/images/articles/[email protected])

_Available in Fleet Premium_

In Fleet, you can lock and wipe macOS, Windows, and Linux hosts remotely. This allows you to easily deal with situations
where a host might have been lost or stolen, or to remotely prepare a device to be re-deployed to another end user.

**Note**: lock/unlock and wipe commands are queued and will run when the device next comes online.

## Lock a host

1. Navigate to the **Hosts** page by clicking the "Hosts" tab in the main navigation header. Find the device you want to lock. You can search by name, hostname, UUID, serial number, or private IP address in the search box in the upper right corner.
2. Click the host to open the **Host Overview** page.
3. Click the **Actions** dropdown, then click **Lock**.
4. A confirmation dialog will appear. Confirm that you want to lock the device. The host will now be marked with a "Lock pending" badge. Once the lock command is acknowledged by the host, the badge will update to "Locked".

## Wipe a host

1. Navigate to the **Hosts** page by clicking the "Hosts" tab in the main navigation header. Find the device you want to lock. You can search by name, hostname, UUID, serial number, or private IP address in the search box in the upper right corner.
2. Click the host to open the **Host Overview** page.
3. Click the **Actions** dropdown, then click **Wipe**.
4. Confirm that you want to wipe the device in the dialog. The host will now be marked with a "Wipe pending" badge. Once the wipe command is acknowledged by the host, the badge will update to "Wiped".

## Unlocking a host

**Note**: When a macOS host is locked, Fleet generates a 6 digit security PIN. This PIN must be physically input into the host in order to unlock it.

To unlock a locked host:

1. Navigate to the **Hosts** page by clicking the "Hosts" tab in the main navigation header. Find the device you want to lock. You can search by name, hostname, UUID, serial number, or private IP address in the search box in the upper right corner.
2. Click the host to open the **Host Overview** page.
3. Click the **Actions** menu, then click **Unlock**.
- **macOS**: A dialog with the PIN will appear. Type the PIN into the device to unlock it.
- **Windows and Linux**: The command to unlock the host will be queued and the host will unlock once it receives the command (no PIN needed).
5. When you click **Unlock**, the host will be marked with an "Unlock pending" badge. Once the host is unlocked and checks back in with Fleet, the "Unlock pending" badge will be removed.


## Lock and wipe using `fleetctl`

You can lock, unlock, and wipe hosts using Fleet's command-line tool `fleetctl`:

```shell
fleetctl mdm lock --host $HOST_IDENTIFIER
```

```shell
fleetctl mdm unlock --host $HOST_IDENTIFIER
```

```shell
fleetctl mdm wipe --host $HOST_IDENTIFIER
```

`$HOST_IDENTIFIER` can be any of the host identifiers: hostname, UUID, or serial number.

Add the `--help` flag to any command to learn more about how to use it.

**Note**: for macOS hosts, the `mdm unlock` command will return the security PIN, which must be typed into the device in order to finish unlocking it.

<meta name="articleTitle" value="Lock and wipe hosts">
<meta name="authorFullName" value="JD Strong">
<meta name="authorGitHubUsername" value="spokanemac">
<meta name="category" value="guides">
<meta name="publishedOn" value="2024-07-09">
<meta name="articleImageUrl" value="../website/assets/images/articles/[email protected]">
1 change: 1 addition & 0 deletions articles/role-based-access.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,7 @@ GitOps is an API-only and write-only role that can be used on CI/CD pipelines.
| View all [MDM settings](https://fleetdm.com/docs/using-fleet/mdm-macos-settings) | | | |||
| Edit [macOS setup experience]([https://fleetdm.com/docs/](https://fleetdm.com/guides/macos-setup-experience#basic-article))\* | | ||||
| Edit end user license agreement (EULA)\* | | | || |
| Add and edit Simple Certificate Enrollment Protocol (SCEP) server\* | | | |||
| Run scripts on hosts | | ||| |
| View saved scripts\* ||||| |
| Edit/upload saved scripts\* | | ||||
Expand Down
Loading

0 comments on commit 6c5400f

Please sign in to comment.