forti-code
Plugin per Claude Code che gestisce firewall FortiGate via SSH, con protezioni contro gli errori.
Contesto
I firewall FortiGate si configurano da riga di comando via SSH. È potente ma scivoloso: un comando sbagliato può chiuderti fuori dal dispositivo o aprire un buco. forti-code è un plugin che rende quella gestione più sicura, offrendo le operazioni come strumenti controllati invece che come comandi grezzi.
Il problema
Gestire un firewall a mano ha due rischi. Il primo è tecnico: certi comandi possono bloccarti fuori, come disabilitare l’accesso SSH dell’amministratore, un reset di fabbrica o la cancellazione delle regole. Il secondo è di contesto: fra una sessione e l’altra perdi il filo di cosa hai già fatto. Volevo uno strato che gestisse entrambe le cose.
Cosa ho costruito
Le operazioni sono divise in due gruppi. Quelle di sola lettura — stato, interfacce, regole, log, diagnostica, cattura pacchetti — si lanciano senza paura, anche su più dispositivi. Quelle di modifica — regole, oggetti indirizzo e servizio, aggiornamenti del firmware — passano tutte da protezioni.
Le protezioni sono il cuore del progetto: prova a vuoto di default su ogni modifica, così vedi cosa succederebbe prima che succeda; copia della configurazione prima di ogni cambiamento, per poter tornare indietro; e un filtro sui comandi pericolosi che blocca a monte le azioni che ti chiuderebbero fuori.
Scelte tecniche
È scritto in TypeScript su Node.js e parla con i FortiGate via SSH con la
libreria ssh2. Un registro tiene traccia di cosa sa fare ogni modello —
hardware, limiti del firmware, funzioni supportate — così i comandi si adattano
al dispositivo invece di dare per scontato che siano tutti uguali. Lo stato
della sessione viene salvato, per non perdere il contesto fra un uso e l’altro.
Stato
Fermo per ora, il codice è su GitHub. Le operazioni di sola lettura e la gestione di regole e oggetti funzionano da capo a fondo.
Ambito d’uso
Pensato per amministrare dispositivi propri o di cui si ha la gestione autorizzata.