Files
cloud-init-configs/alpine/scripts/installation-suricata.sh
2025-12-27 19:23:08 +00:00

87 lines
2.1 KiB
Bash

#!/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