Updated policies and scripts (#31030)
- Updated policies and scripts related to installing custom tables
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
- name: macOS - Compatibility extension installed
|
||||
query: SELECT 1 WHERE EXISTS (SELECT * FROM file_lines WHERE path = "/var/osquery/extensions.load" AND line = "/var/fleet/extensions/macos_compatibility_universal.ext");
|
||||
query: SELECT 1 WHERE EXISTS (SELECT * FROM file_lines WHERE path = "/var/osquery/extensions.load" AND line = "/var/fleet/extensions/macos_compatibility.ext");
|
||||
critical: false
|
||||
description: This policy ensures the custom extension for macos_compatibility is installed.
|
||||
resolution: "If you are failing this policy, click Refetch. If you are still failing after Refetch completes, drop a note in #help-dogfooding."
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
- name: macOS - Santa extension installed
|
||||
query: SELECT 1 WHERE EXISTS (SELECT * FROM file_lines WHERE path = "/var/osquery/extensions.load" AND line = "/var/fleet/extensions/santa_universal.ext");
|
||||
query: SELECT 1 WHERE EXISTS (SELECT * FROM file_lines WHERE path = "/var/osquery/extensions.load" AND line = "/var/fleet/extensions/santa.ext");
|
||||
critical: false
|
||||
description: This policy ensures the custom extension for santa is installed.
|
||||
resolution: "If you are failing this policy, click Refetch. If you are still failing after Refetch completes, drop a note in #help-dogfooding."
|
||||
@@ -7,4 +7,4 @@
|
||||
path: ../scripts/install-santa-extension.sh
|
||||
platform: darwin
|
||||
labels_include_any:
|
||||
- Santa test devices
|
||||
- "Santa test devices"
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
set -e # Exit on any error
|
||||
|
||||
# Variables
|
||||
GITHUB_REPO="harrisonravazzolo/macos-compatibility-ext"
|
||||
GITHUB_REPO="allenhouchins/fleet-extensions"
|
||||
EXTENSION_DIR="/var/fleet/extensions"
|
||||
OSQUERY_DIR="/var/osquery"
|
||||
EXTENSIONS_LOAD_FILE="$OSQUERY_DIR/extensions.load"
|
||||
EXTENSION_NAME="macos_compatibility_universal.ext"
|
||||
EXTENSION_NAME="macos_compatibility.ext"
|
||||
EXTENSION_PATH="$EXTENSION_DIR/$EXTENSION_NAME"
|
||||
BACKUP_PATH="$EXTENSION_PATH.backup.$(date +%Y%m%d_%H%M%S)"
|
||||
|
||||
@@ -245,6 +245,27 @@ setup_extensions_load() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to remove old extension and its reference from extensions.load
|
||||
remove_old_extension() {
|
||||
local old_extension_name="macos_compatibility_universal.ext"
|
||||
local old_extension_path="$EXTENSION_DIR/$old_extension_name"
|
||||
|
||||
# Remove old extension file if it exists
|
||||
if [[ -f "$old_extension_path" ]]; then
|
||||
log "Removing old extension file: $old_extension_path"
|
||||
rm -f "$old_extension_path"
|
||||
fi
|
||||
|
||||
# Remove old extension reference from extensions.load if it exists
|
||||
if [[ -f "$EXTENSIONS_LOAD_FILE" ]]; then
|
||||
if grep -q "$old_extension_path" "$EXTENSIONS_LOAD_FILE"; then
|
||||
log "Removing old extension reference from extensions.load"
|
||||
grep -v "$old_extension_path" "$EXTENSIONS_LOAD_FILE" > "$EXTENSIONS_LOAD_FILE.tmp" || true
|
||||
mv "$EXTENSIONS_LOAD_FILE.tmp" "$EXTENSIONS_LOAD_FILE"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to schedule orbit restart using detached child process or restart immediately
|
||||
handle_orbit_restart() {
|
||||
if [[ "$IMMEDIATE_RESTART" == "immediate" ]]; then
|
||||
@@ -331,6 +352,9 @@ main() {
|
||||
# Create the extensions directory
|
||||
create_directory "$EXTENSION_DIR"
|
||||
|
||||
# Remove old extension and its reference before proceeding
|
||||
remove_old_extension
|
||||
|
||||
# Backup existing extension
|
||||
backup_existing
|
||||
|
||||
|
||||
@@ -11,11 +11,11 @@
|
||||
set -e # Exit on any error
|
||||
|
||||
# Variables
|
||||
GITHUB_REPO="harrisonravazzolo/osquery-santa-extension"
|
||||
GITHUB_REPO="allenhouchins/fleet-extensions"
|
||||
EXTENSION_DIR="/var/fleet/extensions"
|
||||
OSQUERY_DIR="/var/osquery"
|
||||
EXTENSIONS_LOAD_FILE="$OSQUERY_DIR/extensions.load"
|
||||
EXTENSION_NAME="santa_universal.ext"
|
||||
EXTENSION_NAME="santa.ext"
|
||||
EXTENSION_PATH="$EXTENSION_DIR/$EXTENSION_NAME"
|
||||
BACKUP_PATH="$EXTENSION_PATH.backup.$(date +%Y%m%d_%H%M%S)"
|
||||
|
||||
@@ -245,6 +245,27 @@ setup_extensions_load() {
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to remove old extension and its reference from extensions.load
|
||||
remove_old_extension() {
|
||||
local old_extension_name="santa_universal.ext"
|
||||
local old_extension_path="$EXTENSION_DIR/$old_extension_name"
|
||||
|
||||
# Remove old extension file if it exists
|
||||
if [[ -f "$old_extension_path" ]]; then
|
||||
log "Removing old extension file: $old_extension_path"
|
||||
rm -f "$old_extension_path"
|
||||
fi
|
||||
|
||||
# Remove old extension reference from extensions.load if it exists
|
||||
if [[ -f "$EXTENSIONS_LOAD_FILE" ]]; then
|
||||
if grep -q "$old_extension_path" "$EXTENSIONS_LOAD_FILE"; then
|
||||
log "Removing old extension reference from extensions.load"
|
||||
grep -v "$old_extension_path" "$EXTENSIONS_LOAD_FILE" > "$EXTENSIONS_LOAD_FILE.tmp" || true
|
||||
mv "$EXTENSIONS_LOAD_FILE.tmp" "$EXTENSIONS_LOAD_FILE"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Function to schedule orbit restart using detached child process or restart immediately
|
||||
handle_orbit_restart() {
|
||||
if [[ "$IMMEDIATE_RESTART" == "immediate" ]]; then
|
||||
@@ -331,6 +352,9 @@ main() {
|
||||
# Create the extensions directory
|
||||
create_directory "$EXTENSION_DIR"
|
||||
|
||||
# Remove old extension and its reference before proceeding
|
||||
remove_old_extension
|
||||
|
||||
# Backup existing extension
|
||||
backup_existing
|
||||
|
||||
|
||||
Reference in New Issue
Block a user