ssh-guard-direct.env 41 lignes · 1513 octets
# =============================================================================
# ssh-guard — profil DIRECT (gitrust exposé Internet sans reverse-proxy SSH)
# =============================================================================
# À ajouter à /opt/gitrust/.env. Voir :
#   administration_manual/how-to/configurer-ssh-guard.md
#   administration_manual/reference/variables-environnement.md (section 22)

# --- Kill switch ---
SSH_GUARD_ENABLED=true
SSH_GUARD_DRY_RUN=false

# --- Profil de déploiement ---
# direct : pas de proxy devant gitrust, peer_addr est l'IP réelle du client
SSH_GUARD_PROFILE=direct

# --- PROXY protocol (désactivé en profil direct) ---
SSH_GUARD_PROXY_PROTOCOL=disabled

# --- Détecteurs (seuils par défaut, ajustables) ---
SSH_GUARD_BRUTE_FORCE_THRESHOLD=5
SSH_GUARD_BRUTE_FORCE_WINDOW_SECS=300
SSH_GUARD_USER_ENUM_THRESHOLD=10
SSH_GUARD_USER_ENUM_WINDOW_SECS=300
SSH_GUARD_KEY_SCAN_THRESHOLD=10
SSH_GUARD_KEY_SCAN_WINDOW_SECS=300
SSH_GUARD_CONN_FLOOD_PER_SEC=10
SSH_GUARD_CONN_FLOOD_BURST=20

# --- Ban : TTL 1h par défaut, 0 = permanent ---
SSH_GUARD_AUTO_BAN_DURATION_SECS=3600

# --- Stockage hybride (RAM chaude + write-through PostgreSQL) ---
SSH_GUARD_STORE_BACKEND=hybrid
SSH_GUARD_STORE_FLUSH_INTERVAL_MS=1000
SSH_GUARD_EVENTS_RETENTION_DAYS=90

# --- Observabilité : JSON dans journald + fichier dédié pour fail2ban ---
SSH_GUARD_LOG_FORMAT=json
SSH_GUARD_LOG_TARGET=both
SSH_GUARD_LOG_FILE=/var/log/gitrust-ssh-guard.json
SSH_GUARD_METRICS_ENABLED=true