Sign inSign up

lumutools/google-secops-siem

By lumutools

•Updated 1 day ago

Image
0

134

lumutools/google-secops-siem repository overview

⁠Lumu - Google Security Operations (SecOps) Integration

Lumu Defender offers a framework to help you leverage Lumu's integrations with your existing cybersecurity stack, including Security Information and Event Management (SIEM), Security Orchestration, Automation, and Response (SOAR), Endpoint Detection and Response (EDR), incident response systems, and more.

The Lumu Defender Google Security Operations (SecOps) integration allows you to integrate Google Security Operations with Lumu to ingest adversaries detected by Lumu and improve the detection and response capabilities of your organization.

⁠Getting Started

To ensure a successful deployment and avoid configuration conflicts, please follow these guidelines:

  • Primary Documentation: The documentation offers detailed instructions for configuring and gathering the necessary data for the integration. We strongly recommend following the official documentation to successfully deploy the Google Security Operations integration.
  • Management Snippet: Lumu provides a dedicated management script (manage.sh), which is the only recommended method to configure, start, and monitor this integration.
⁠Requirements

Before proceeding, ensure you have:

  • Docker-enabled host: Required for deploying the integration components.
  • Lumu Credentials: Your Lumu Company UUID and Defender API Key.
  • Chronicle Customer ID: Required to identify your Chronicle tenant.
  • Chronicle Project ID: Required for Google SecOps ingestion setup.
  • Chronicle Region: You must provide the Chronicle API region configured for your tenant.
  • Google Service Account JSON: Path to a valid service account credentials file with permissions to ingest data into Chronicle.
  • Optional Impersonation Account: Service account email to impersonate, if your Chronicle setup requires it.
  • Network Connectivity: The host must communicate with defender.lumu.io and Google Security Operations endpoints.

⁠Deployment Steps

The following steps only describe the deployment process; refer to the official documentation⁠ to ensure all system prerequisites and configuration requirements are met.

⁠1. Set up the Management Script

Create a file named manage.sh on your integration host and paste the following snippet:

#!/usr/bin/env bash

RED='\033[0;31m'
GREEN='\033[0;32m'
CYAN='\033[0;36m'
YELLOW='\033[1;33m'
BOLD='\033[1m'
RESET='\033[0m'

info()    { echo -e "${CYAN}[INFO]${RESET}  $*"; }
success() { echo -e "${GREEN}[OK]${RESET}    $*"; }
warn()    { echo -e "${YELLOW}[WARN]${RESET}  $*"; }
error()   { echo -e "${RED}[ERROR]${RESET} $*" >&2; }
prompt()  { echo -e "${BOLD}${YELLOW}$*${RESET}"; }

IMG=lumutools/google-secops-siem:latest
INTEGRATION_NAME=lumu-google-secops-siem
INTEGRATION_DIR=${HOME}/GoogleSecOps
VOLUME_DATA=${INTEGRATION_DIR}/data:/app/data
VOLUME_CONFIG=${INTEGRATION_DIR}/data/.config.toml:/app/.config.toml:ro

mkdir -p "${INTEGRATION_DIR}/data"
chmod -R o+w "${INTEGRATION_DIR}/data" > /dev/null 2>&1

run_config() {
    warn "${BOLD}Please ensure that the service account credentials file is present in '${YELLOW}${INTEGRATION_DIR}/data${RESET}${BOLD}' if required for the integration.${RESET}"
    info "Running configuration script ..."
    if docker run --rm -it -v "${INTEGRATION_DIR}/data:/app/data" "${IMG}" bash run_config; then
        success "Configuration completed."
    else
        error "Configuration script failed."; return 1
    fi
}

start_integration() {
    if [[ ! -f "${INTEGRATION_DIR}/data/.config.toml" ]]; then
        error "Please configure the integration first."; return 1
    fi

    info "Setting up integration '${INTEGRATION_NAME}' ..."
    if ! docker container inspect "${INTEGRATION_NAME}" &>/dev/null; then
        info "Integration '${INTEGRATION_NAME}' does not exist. Creating ..."
        if ! docker create \
            -v "${VOLUME_DATA}" \
            -v "${VOLUME_CONFIG}" \
            --restart unless-stopped \
            --log-driver json-file \
            --log-opt max-size=30m \
            --log-opt max-file=3 \
            --name "${INTEGRATION_NAME}" \
            "${IMG}" bash run_component; then
            error "Failed to create integration."; return 1
        fi
    else
        warn "Integration '${INTEGRATION_NAME}' already exists. Skipping create."
    fi
    if docker start "${INTEGRATION_NAME}"; then
        success "Integration started."
    else
        error "Failed to start integration."; return 1
    fi
}

check_status() {
    info "Checking status of integrations ..."
    if [[ ! -f "${INTEGRATION_DIR}/data/.status.ndjson" ]]; then
        error "Status check failed. Verify if your integration has been deployed."; return 1
    fi
    if docker run --rm -it -v "${VOLUME_DATA}":ro "${IMG}" bash run_status; then
        success "Status check completed."
    else
        error "Status check failed."; return 1
    fi
}

show_logs() {
    info "Showing logs for '${INTEGRATION_NAME}' ..."
    docker logs --tail 100 -f "${INTEGRATION_NAME}"
}

usage() {
    echo ""
    prompt "  GOOGLE SECURITY OPERATIONS (SECOPS) INTEGRATION MANAGEMENT"
    echo -e "  ${BOLD}Usage:${RESET} $0 <command>"
    echo ""
    echo -e "  ${CYAN}config${RESET}   Run configuration"
    echo -e "  ${CYAN}start${RESET}    Start integration"
    echo -e "  ${CYAN}status${RESET}   Check integration status"
    echo -e "  ${CYAN}logs${RESET}     Show integration logs"
    echo ""
}

case "${1}" in
    config) run_config ;;
    start)  start_integration ;;
    status) check_status ;;
    logs)   show_logs ;;
    *)      usage
            [[ -n "${1}" ]] && error "Unknown command '${1}'."
            exit 1 ;;
esac
⁠2. Configure and Run

Execute the following commands in order using the script created above:

  1. Run Configuration: Follow the wizard prompts to input your Lumu and Google Security Operations credentials.
    Bash
bash manage.sh config
  1. Start Integration: This deploys the integration.
bash manage.sh start
  1. Verify Status: Ensure everything is running correctly.
bash manage.sh status
  1. Check logs: Collect the integration logs.
bash manage.sh logs

⁠General Recommendations

Follow these recommendations to ensure the integration works correctly:

  • The integration between Lumu and Google Security Operations is carried out by importing UDM-formatted Lumu events using the Google Cloud Security Operations API (Chronicle API).
  • Integration records are actively generated and updated by this integration; avoid manual changes to integration-controlled files and runtime state.
  • Do not stop the integration. Stopping it will stop the synchronization process.
  • The integration operates with Docker. Ensure your Docker daemon works properly.

⁠Find out more about us

Tag summary

Content type

Image

Digest

sha256:e3442b09e…

Size

114.8 MB

Last updated

1 day ago

docker pull lumutools/google-secops-siem