runv-server

server tooling for runv.club
Log | Files | Refs | README

12-security-and-privacy.md (1260B)


      1 # Segurança e privacidade
      2 
      3 [← Índice](README.md)
      4 
      5 ## Factos do código (produto)
      6 
      7 - Uso de `subprocess` com **listas de argumentos** — sem `shell=True` nos módulos Python principais verificados em auditorias recentes (`scripts`, `terminal`, `site`, `tools`, `email`, `patches`).
      8 - Fila `entre`: ficheiros criados com **`O_CREAT|O_EXCL`** para evitar sobrescrever pedidos (`entre_core.py`).
      9 - **`members.json` público:** apenas campos acordados em `build_directory.py` — ver [07-public-members-directory.md](07-public-members-directory.md).
     10 
     11 ## Fila vs site público
     12 
     13 - JSONs em `entre-queue/` contêm dados para **revisão admin** (incl. email, chave pública, fingerprint no payload).
     14 - Esses campos **não** devem aparecer no `members.json` servido pelo HTTP — o gerador público não os copia.
     15 
     16 ## Segredos
     17 
     18 - `/etc/runv-email.secrets.json`, chaves SSH privadas, tokens: **nunca** em Git; seguir `.gitignore`.
     19 
     20 ## Recomendações gerais (não automatizadas pelo repo)
     21 
     22 - Firewall, `sshd_config` global, desactivar root login, etc. — política do operador.
     23 - Modo `empty-password` do `entre` é **deliberadamente fraco** para onboarding; docstring de `setup_entre.py` descreve riscos.
     24 
     25 Próximo: [13-troubleshooting.md](13-troubleshooting.md).