ecloudocs

Nodes & agent

Un node est une machine qui exécute l'agent ecloud : un petit programme Python (sans dépendance) qui applique le pare-feu nftables, remonte des métriques, et sert de point de présence (CDN / reverse proxy à terme). Les nodes en ligne apparaissent sur cdn.ecloudserv.fr.

Sécurité de l'enrôlement

  • Depuis Panel → Admin → Nodes, tu crées un node et obtiens un token d'enrôlement à usage unique (affiché une seule fois).
  • L'agent échange ce token contre une clé long-terme, stockée en0600 et jamais journalisée. Le token devient alors inutilisable.
  • Les échanges se font en HTTPS ; seuls des hash SHA-256 des secrets sont stockés côté serveur.

Installation

sudo mkdir -p /opt/ecloud-agent /etc/ecloud-agent
sudo cp ecloud-agent.py /opt/ecloud-agent/
sudo cp config.example.env /etc/ecloud-agent/agent.env
sudo apt-get install -y nftables python3

# Renseigne ECLOUD_ENROLL_TOKEN dans agent.env, puis :
sudo env $(grep -v '^#' /etc/ecloud-agent/agent.env | xargs) \
     python3 /opt/ecloud-agent/ecloud-agent.py enroll

sudo cp systemd/ecloud-agent.service /etc/systemd/system/
sudo systemctl enable --now ecloud-agent

Ce que l'agent applique

  • Table inet ecloud isolée, appliquée de façon atomique.
  • IP bloquées → drop (sets IPv4/IPv6, CIDR supportés).
  • Ports ouverts → accept (avec limit rate si un rate-limit est défini).
  • Tout le reste de la plage 25566–25999 est fermé ; le hors-plage n'est pas touché.

Test à blanc

Passe ECLOUD_DRY_RUN=1 pour que l'agent journalise le ruleset sans l'appliquer — pratique pour valider avant la production.