Some checks are pending
Go Benchmark / Performance Regression Check (push) Waiting to run
Cerberus Integration / Cerberus Security Stack Integration (push) Waiting to run
Upload Coverage to Codecov / Backend Codecov Upload (push) Waiting to run
Upload Coverage to Codecov / Frontend Codecov Upload (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (go) (push) Waiting to run
CodeQL - Analyze / CodeQL analysis (javascript-typescript) (push) Waiting to run
CrowdSec Integration / CrowdSec Bouncer Integration (push) Waiting to run
Docker Build, Publish & Test / build-and-push (push) Waiting to run
Docker Build, Publish & Test / Security Scan PR Image (push) Blocked by required conditions
Quality Checks / Auth Route Protection Contract (push) Waiting to run
Quality Checks / Codecov Trigger/Comment Parity Guard (push) Waiting to run
Quality Checks / Backend (Go) (push) Waiting to run
Quality Checks / Frontend (React) (push) Waiting to run
Rate Limit integration / Rate Limiting Integration (push) Waiting to run
Security Scan (PR) / Trivy Binary Scan (push) Waiting to run
Supply Chain Verification (PR) / Verify Supply Chain (push) Waiting to run
WAF integration / Coraza WAF Integration (push) Waiting to run
67 lines
3.4 KiB
Bash
Executable File
67 lines
3.4 KiB
Bash
Executable File
#!/bin/sh
|
|
# Install required CrowdSec hub items (parsers, scenarios, collections)
|
|
# This script runs during container startup
|
|
# POSIX-compatible - do not use bash-specific syntax
|
|
|
|
set -e
|
|
|
|
echo "Installing CrowdSec hub items for Charon..."
|
|
|
|
# Hub index update is handled by the entrypoint before this script is called.
|
|
# Do not duplicate it here — a redundant update adds ~3s to startup for no benefit.
|
|
|
|
# Install Caddy log parser (if available)
|
|
# Note: crowdsecurity/caddy-logs may not exist yet - check hub
|
|
if cscli parsers inspect crowdsecurity/caddy-logs >/dev/null 2>&1; then
|
|
echo "Installing Caddy log parser..."
|
|
cscli parsers install crowdsecurity/caddy-logs --force || echo "⚠️ Failed to install crowdsecurity/caddy-logs"
|
|
else
|
|
echo "Caddy-specific parser not available, using HTTP parser..."
|
|
fi
|
|
|
|
# Install base HTTP parsers (always needed)
|
|
echo "Installing base parsers..."
|
|
cscli parsers install crowdsecurity/http-logs --force || echo "⚠️ Failed to install crowdsecurity/http-logs"
|
|
cscli parsers install crowdsecurity/syslog-logs --force || echo "⚠️ Failed to install crowdsecurity/syslog-logs"
|
|
cscli parsers install crowdsecurity/geoip-enrich --force || echo "⚠️ Failed to install crowdsecurity/geoip-enrich"
|
|
cscli parsers install crowdsecurity/whitelists --force || echo "⚠️ Failed to install crowdsecurity/whitelists"
|
|
|
|
# Install HTTP scenarios for attack detection
|
|
echo "Installing HTTP scenarios..."
|
|
cscli scenarios install crowdsecurity/http-probing --force || echo "⚠️ Failed to install crowdsecurity/http-probing"
|
|
cscli scenarios install crowdsecurity/http-sensitive-files --force || echo "⚠️ Failed to install crowdsecurity/http-sensitive-files"
|
|
cscli scenarios install crowdsecurity/http-backdoors-attempts --force || echo "⚠️ Failed to install crowdsecurity/http-backdoors-attempts"
|
|
cscli scenarios install crowdsecurity/http-path-traversal-probing --force || echo "⚠️ Failed to install crowdsecurity/http-path-traversal-probing"
|
|
cscli scenarios install crowdsecurity/http-xss-probing --force || echo "⚠️ Failed to install crowdsecurity/http-xss-probing"
|
|
cscli scenarios install crowdsecurity/http-sqli-probing --force || echo "⚠️ Failed to install crowdsecurity/http-sqli-probing"
|
|
cscli scenarios install crowdsecurity/http-generic-bf --force || echo "⚠️ Failed to install crowdsecurity/http-generic-bf"
|
|
|
|
# Install CVE collection for known vulnerabilities
|
|
echo "Installing CVE collection..."
|
|
cscli collections install crowdsecurity/http-cve --force || echo "⚠️ Failed to install crowdsecurity/http-cve"
|
|
|
|
# Install base HTTP collection (bundles common scenarios)
|
|
echo "Installing base HTTP collection..."
|
|
cscli collections install crowdsecurity/base-http-scenarios --force || echo "⚠️ Failed to install crowdsecurity/base-http-scenarios"
|
|
|
|
# Install Caddy collection (parser + scenarios for Caddy access logs)
|
|
echo "Installing Caddy collection..."
|
|
cscli collections install crowdsecurity/caddy --force || echo "⚠️ Failed to install crowdsecurity/caddy"
|
|
|
|
# Verify installation
|
|
echo ""
|
|
echo "=== Installed Components ==="
|
|
echo "Parsers:"
|
|
cscli parsers list 2>/dev/null | head -15 || echo " (unable to list)"
|
|
|
|
echo ""
|
|
echo "Scenarios:"
|
|
cscli scenarios list 2>/dev/null | head -15 || echo " (unable to list)"
|
|
|
|
echo ""
|
|
echo "Collections:"
|
|
cscli collections list 2>/dev/null | head -10 || echo " (unable to list)"
|
|
|
|
echo ""
|
|
echo "Hub installation complete!"
|