In teoria, ciò che il tuo professore sta proponendo sembra ragionevole. Ma c'è un problema nella pratica. Tu mai ottieni una configurazione stabile. Mai.
Non c'è software non banale là fuori che non abbia bug sconosciuti. Nessuna. E una parte di questi bug sono vulnerabilità della sicurezza.
Che cosa intende fare il professore se qualcuno trova una vulnerabilità legata all'esecuzione di codice in modalità remota nel sistema al termine della certificazione?
Crede davvero che sia più sicuro mantenere un sistema distribuito con una vulnerabilità nota nell'esecuzione di codice in remoto piuttosto che correre il rischio di una patch?
La risposta (sorprendentemente) potrebbe essere "sì". E questo va al cuore della sicurezza del mondo reale. La sicurezza riguarda davvero la gestione del rischio. Ogni pezzo di software distribuito ha una certa quantità di rischio associato a quel software. Il nuovo software implementato potrebbe interrompere un'applicazione line-of-business esistente. Potrebbe introdurre nuove vulnerabilità.
In pratica non c'è modo di sapere cosa potrebbe accadere. Quindi devi decidere qual è la tua tolleranza al rischio.
Per alcuni sistemi (spesso sistemi in cui la vita di qualcuno dipende dal sistema), in realtà è meglio mantenere il sistema invariato (anche se ci sono vulnerabilità note) e mitigare le vulnerabilità al di fuori del sistema (magari con un firewall). Per altri sistemi, tutto ciò che devi fare è assicurarti che le applicazioni line-of-business continuino a funzionare.
Qui non esiste una soluzione valida per tutti. Ogni azienda deve decidere autonomamente in merito ai compromessi rischio / rendimento associati a una patch di sicurezza. Alcuni accetteranno il rischio, altri no.