ssh-guard-nginx.env 61 lignes · 2107 octets
# =============================================================================
# ssh-guard — profil NGINX (gitrust derrière nginx stream + PROXY protocol v2)
# =============================================================================
# À ajouter à /opt/gitrust/.env. Voir :
#   administration_manual/how-to/configurer-ssh-guard.md
#   administration_manual/reference/variables-environnement.md (section 22)
#
# Topologie attendue : nginx termine TLS sur :443 et fait du SSH stream
# sur :22 → 127.0.0.1:2222 avec proxy_protocol on; côté nginx.
#
# Rappel nginx.conf :
#   stream {
#       upstream gitrust_ssh { server 127.0.0.1:2222; }
#       server {
#           listen 22;
#           proxy_pass     gitrust_ssh;
#           proxy_protocol on;          # IMPORTANT
#           proxy_timeout  30m;         # gros push possible
#       }
#   }

# --- Binding gitrust : ne pas exposer SSH directement ---
SSH_LISTEN_ADDR=127.0.0.1
SSH_PORT=2222

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

# --- Profil nginx : pose v2 + strict + trusted_proxies localhost ---
SSH_GUARD_PROFILE=nginx

# Le profil pose déjà ces valeurs (laissées explicites pour audit) :
SSH_GUARD_PROXY_PROTOCOL=v2
SSH_GUARD_PROXY_PROTOCOL_STRICT=true
SSH_GUARD_PROXY_PROTOCOL_TIMEOUT_MS=3000
SSH_GUARD_TRUSTED_PROXIES=127.0.0.1/32,::1/128

# --- 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 ---
SSH_GUARD_AUTO_BAN_DURATION_SECS=3600

# --- Stockage hybride ---
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