netgescon-day0/docs/ai/restart/HANDOFF_AGENT_OPERATIVO_20260311.md

4.0 KiB

Handoff Operativo Agent - NetGescon (11-03-2026)

1. Stato Attuale (confermato)

  • Host principale: 192.168.0.53
  • Gitea attivo: http://192.168.0.53:3000
  • SSH Git attivo: git.netgescon.it:2222
  • DNS interno (Technitium) attivo: http://192.168.0.53:5380
  • Edge (Caddy) attivo in lab: 8080/8443
  • Condivisione HTTP cartella workspace attiva: http://192.168.0.53:8000/

2. Repository richiesto e gia creato

Repository creato (vuoto, senza README):

  • michele/netgescon-day0

URL clone:

  • SSH: ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
  • HTTPS: https://git.netgescon.it/michele/netgescon-day0.git

3. Accessi e credenziali

File credenziali aggiornato da usare:

  • CREDENZIALI_UI_LOCALI_20260311_121500.md

Contenuti principali:

  • DNS Technitium
  • Gitea utente principale michele
  • Gitea utente recovery admin-recovery (lasciare attivo)

Nota operativa:

  • conservare le password nel password manager
  • ruotare password dopo i test iniziali

4. Procedura Git minima per macchina sviluppo

4.1 Setup chiave SSH

mkdir -p ~/.ssh && chmod 700 ~/.ssh
ssh-keygen -t ed25519 -C "dev-staging-netgescon" -f ~/.ssh/id_ed25519_netgescon -N ""
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_ed25519_netgescon
cat ~/.ssh/id_ed25519_netgescon.pub

Aggiungere la chiave pubblica in Gitea (utente sviluppo), poi:

cat >> ~/.ssh/config <<'EOF'

Host git-netgescon
  HostName git.netgescon.it
  User git
  Port 2222
  IdentityFile ~/.ssh/id_ed25519_netgescon
  IdentitiesOnly yes
  StrictHostKeyChecking accept-new
EOF
chmod 600 ~/.ssh/config

Test:

ssh -T git-netgescon

4.2 Collegamento repository

cd /percorso/progetto
git remote remove origin 2>/dev/null || true
git remote add origin ssh://git@git.netgescon.it:2222/michele/netgescon-day0.git
git push -u origin main

5. Aggiornamento staging dopo sviluppo

Variabili .env minime su staging:

NETGESCON_UPDATE_URL=https://updates.netgescon.it
NETGESCON_UPDATE_CHANNEL=free

Per licensed:

NETGESCON_LICENSED_CODE=CLIENTA
NETGESCON_LICENSED_AUTH=tokenA

Comandi:

cd /var/www/netgescon
php artisan optimize:clear
php artisan config:clear
php artisan route:clear
php artisan netgescon:update --channel=free
php artisan netgescon:update --channel=free --apply

6. DNS interno per siti da gestire

In Technitium aggiungere record A verso backend corretti (inizialmente anche verso .53 se serve):

  • git.netgescon.it
  • updates.netgescon.it
  • staging.netgescon.it
  • www.netgescon.it
  • demo.netgescon.it
  • test.netgescon.it

Poi impostare i client LAN (o DHCP) a usare il DNS interno.

7. Domanda sicurezza: bastano solo update APT?

No. apt update && apt upgrade e necessario ma non sufficiente.

Serve anche:

  1. aggiornare immagini/container Docker
  2. aggiornare Gitea e DB in modo controllato
  3. aggiornare configurazioni TLS/certificati
  4. abilitare aggiornamenti automatici di sicurezza (unattended-upgrades)
  5. riavviare quando richiesto da kernel/libc
  6. backup + test restore periodico
  7. hardening SSH e monitoraggio log

8. Filtro extra anti brute-force (consigliato)

Sì, fortemente consigliato visto che questa macchina diventa punto di accesso centrale.

Implementazione suggerita (ordine):

  1. fail2ban per SSH e web auth
  2. rate limit su reverse proxy
  3. accesso admin solo via VPN
  4. SSH solo con chiavi (no password)
  5. 2FA su Gitea
  6. opzionale: crowdsec per protezione avanzata collaborativa

Regole minime immediate:

  • jail sshd
  • jail per login Gitea/Nginx (in base ai log)
  • ban progressivo su tentativi ripetuti

9. File utili da consultare

  • AGENT_NETGESCON_GIT_STAGING_192.168.0.53.md
  • BRIEF_AGENT_PROD_SVILUPPO_192.168.0.53.md
  • NAS_BACKUP_SOLO_192.168.0.53.md
  • AGENT_MULTI_PROJECT_EDGE_DNS_TEMPLATE.md
  • CONDIVISIONE_WORKSPACE_LAN.md

10. Accesso rapido ai file senza copia/incolla RDP

Aprire dal browser della macchina remota:

  • http://192.168.0.53:8000/

Da li e possibile scaricare tutti i file .md necessari.