Quando si installa il software su un server remoto: è possibile consentire all'amministratore (cioè all'utente che installa il software) di definire nome utente e password dell'amministratore tramite una pagina HTML, in modo sicuro?
Chiarimento: quando si installa ad es. WordPress, parti degli script di installazione accettano input tramite una pagina Web vedere questo esempio - e si noti l'immissione della password campi (l'immagine proviene da questa pagina di WordPress ) .
Tuttavia, se l'installazione viene eseguita in remoto (ad esempio, se si installa WordPress su un host virtuale AWS EC2), penso che per impostazione predefinita chiunque sarebbe in grado di accedere alla pagina Web dello script di installazione. Un malvagio utente potrebbe accedervi prima dell'effettivo admin e definire username + password e quindi dirottare il server remoto per un breve periodo. (L'utente malvagio potrebbe essere un bot che esegue la scansione di Internet per le installazioni di WordPress semilavorate.)
Accettare input tramite una pagina HTML, quando si installa da remoto il software, sembra intrinsecamente pericoloso. Ma è abbastanza facile da usare. Non c'è modo di farlo in modo sicuro?
Alcuni pensieri inconcludenti sulla domanda:
Una soluzione alternativa sarebbe bloccare la porta HTTP (S) nel firewall (sul server remoto) e accedere alla pagina Web di installazione tramite un tunnel SSH. Tuttavia questo sembra un requisito di installazione quasi ostile all'utente.
Un'altra soluzione alternativa consiste nel disporre di parti dello script di shell dello script di installazione che stampino una password generata a caso che la persona che accede alla pagina Web di installazione dovrebbe specificare. Questo sembra un po 'più user friendly.
Forse la soluzione migliore è che l'amministratore definisca il suo nome utente e la password tramite la shell Bash? (Ad esempio su SSH, non tramite una pagina Web). Tuttavia che succede se l'amministratore vuole accedere come amministratore tramite OpenID, ad es. Gmail? (Gmail è molto sicuro se abiliti la verifica in due passaggi.) Questo non può essere facilmente gestito tramite uno script Bash ...
Forse il metodo migliore sarebbe lasciare che qualsiasi parte dello script di shell dell'installazione stampi un URL che includa l'indirizzo del server, oltre a una magica password monouso - quindi la persona-che-fa-l'-installazione avrebbe solo bisogno per copiare l'URL e incollarlo in un browser. E quindi l'installazione potrebbe procedere dal browser.