Documentazione di Wardterm

Avvisi prima dei comandi rischiosi

Quali comandi rischiosi Wardterm ferma prima che partano su un server di produzione: cancellazioni, dischi, accesso perso, database, container e cloud.

Come funziona

Imposta Ambiente su Produzione per un server o un gruppo. Prima che lì parta una riga, Wardterm la legge. Se trova un comando rischioso, dice cosa fa e qual è la mossa sicura, e chiede Eseguire in produzione?. Lo stesso controllo vale per un incolla, un comando salvato, un comando dalla Cronologia e un comando mandato a più server.

Un avviso rosso è per quello che non si può annullare: un disco cancellato, un database eliminato, un server distrutto, un server che non raggiungi più. Gli altri chiedono un secondo sguardo.

Cosa intercetta

  • File: cancellazioni ricorsive di cartelle di sistema, home e dati dei database, rm -rf "$DIR/"* con una variabile che può essere vuota, cartelle di sistema spostate o aperte a tutti, sovrascrittura di /etc/passwd o /etc/fstab.
  • Dischi: dd, mkfs, wipefs, tabelle delle partizioni, LVM e ZFS, diskutil eraseDisk su macOS, Format-Volume e clean in diskpart sui server Windows.
  • Restare chiusi fuori: regole del firewall che bloccano SSH o scartano tutto, server SSH fermato o riavviato senza una prova, sshd_config, sudoers o PAM modificati a mano, rete disattivata, authorized_keys rimosso, blocco dell'account che usi.
  • Alimentazione: spegnimento, riavvio, modalità di ripristino, Restart-Computer.
  • Database: DROP, TRUNCATE, DELETE e UPDATE senza WHERE, scritti in un prompt SQL o mandati con psql e mysql; eliminazioni in MongoDB, FLUSHALL di Redis, richieste HTTP DELETE.
  • Container e cloud: volumi e pulizie di Docker, kubectl delete, helm uninstall, terraform destroy, eliminazione di server, bucket e progetti con gli strumenti di AWS, Google Cloud, Azure e altri cloud.
  • Git: push forzati, eliminazione di branch remoti, reset --hard, clean -fdx.
  • Codice da fuori: un download passato a una shell, come curl | sh o iwr | iex, e testo codificato eseguito da una shell.
  • Sui server Windows: Remove-Item -Recurse -Force su percorsi di sistema, copie shadow e ripristino, chiavi di registro della macchina, servizi e firewall.

Legge attraverso sudo, ssh host '...', bash -c, xargs, find -exec, docker exec, powershell -Command e più comandi su una riga, con le opzioni scritte unite o separate.

La mossa sicura

Ogni avviso dice cosa può andare storto e cosa fare prima. Prima di ufw enable senza una regola per SSH, permettilo:

ufw allow OpenSSH

Prima di riavviare il server SSH dopo una modifica alla sua configurazione, provala, e tieni aperta questa sessione mentre ne provi una nuova:

sshd -t && systemctl restart sshd

I comandi di tutti i giorni restano in silenzio: rm file.txt, git push, DELETE ... WHERE id = 1 o systemctl restart nginx partono senza domande.

Cosa non può vedere

Wardterm legge la riga che mandi, non quello che il server ne fa. Questi partono senza avviso:

  • alias, funzioni e script, come ./cleanup.sh;
  • scorciatoie della cronologia che la shell espande, come !!;
  • nomi e percorsi costruiti quando il comando gira, come $(echo rm) o una variabile che contiene un percorso;
  • testo codificato o compresso che non è nella riga stessa;
  • tasti scritti dentro programmi a schermo intero, come un editor.

L'avviso ti dà un secondo sguardo. Backup e permessi limitati sul server fanno il resto. Approfondisci nella pagina sulla sicurezza in produzione.