87 lines
2.1 KiB
Bash
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
|