#!/bin/sh # Script d'installation de Suricata avec règles sous Alpine Linux # Auteur: Claude # Date: 14 Avril 2025 set -e echo "============================================" echo "Installation de Suricata sous Alpine Linux" echo "============================================" # Vérification si l'utilisateur est root if [ "$(id -u)" -ne 0 ]; then echo "Ce script doit être exécuté en tant que root" exit 1 fi # Mise à jour des dépôts echo "[+] Mise à jour des dépôts..." apk update # Installation des dépendances echo "[+] Installation des dépendances..." apk add --no-cache \ suricata \ python3 \ py3-pip \ curl \ wget \ ca-certificates \ jq \ tar \ libnfnetlink \ libnetfilter_queue \ libpcap \ libelf \ yaml \ pcre \ file-dev \ hiredis \ jansson \ git # Installation de suricata-update via pip echo "[+] Installation de suricata-update..." pip3 install --no-cache-dir suricata-update # Création des répertoires nécessaires echo "[+] Création des répertoires nécessaires..." mkdir -p /etc/suricata/rules mkdir -p /var/lib/suricata/rules mkdir -p /var/log/suricata # Sauvegarde de la configuration originale si elle existe if [ -f /etc/suricata/suricata.yaml ]; then echo "[+] Sauvegarde de la configuration existante..." cp /etc/suricata/suricata.yaml /etc/suricata/suricata.yaml.bak fi # Configuration de base de Suricata echo "[+] Configuration de Suricata..." cat > /etc/suricata/suricata.yaml << 'EOF' %YAML 1.1 --- # Voici la configuration de base pour Suricata vars: # Plus de definición de variables específicas address-groups: HOME_NET: "[192.168.0.0/16,10.0.0.0/8,172.16.0.0/12]" EXTERNAL_NET: "!$HOME_NET" HTTP_SERVERS: "$HOME_NET" SMTP_SERVERS: "$HOME_NET" SQL_SERVERS: "$HOME_NET" DNS_SERVERS: "$HOME_NET" TELNET_SERVERS: "$HOME_NET" AIM_SERVERS: "$EXTERNAL_NET" port-groups: HTTP_PORTS: "80" SHELLCODE_PORTS: "!80" ORACLE_PORTS: 1521 SSH_PORTS: 22 # Configuration des répertoires par défaut default-rule-path: /var/lib/suricata/rules rule-files: - suricata.rules