Al instalar software en un servidor remoto: ¿es posible permitir que el administrador (es decir, el usuario que instala el software) defina el nombre de usuario y la contraseña del administrador a través de una página HTML, de manera segura?
Aclaración: cuando uno instala, por ejemplo, WordPress, partes de los scripts de instalación aceptan entradas a través de una página web vea este ejemplo y observe la entrada de contraseña campos (la imagen es de esta página de WordPress ) .
Sin embargo, si la instalación se realiza de forma remota (por ejemplo, si instala WordPress en un host virtual de AWS EC2), creo que, de forma predeterminada, cualquier persona podría acceder a la página web del script de instalación. Un usuario malvado podría acceder a él antes que el administrador real, y definir un nombre de usuario + contraseña y, por lo tanto, secuestrar el servidor remoto por un corto tiempo. (El malvado usuario podría ser un robot que escanea Internet en busca de instalaciones de WordPress a medio terminar).
Aceptar información a través de una página HTML, cuando el software de instalación remota, parece inherentemente inseguro. Pero es bastante fácil de usar. ¿No hay manera de hacerlo de manera segura?
Algunos pensamientos no concluyentes sobre la pregunta:
Una solución alternativa sería bloquear el puerto HTTP (S) en el servidor de seguridad (en el servidor remoto) y acceder a la página web de instalación a través de un túnel SSH. Sin embargo, esto parece ser un requisito de instalación casi hostil para el usuario.
Otra solución alternativa sería que cualquier parte del script de instalación del shell script imprima una contraseña generada aleatoriamente que la persona que accede a la página web de instalación debería especificar. Esto parece algo más fácil de usar.
¿Quizás la mejor solución es que el administrador defina su nombre de usuario y contraseña a través del shell Bash? (Es decir, a través de SSH, no a través de una página web). Sin embargo , entonces, ¿qué pasa si el administrador quiere iniciar sesión como administrador a través de OpenID, por ejemplo? Gmail? (Gmail es muy seguro si habilitas la verificación en dos pasos). Eso no se puede manejar fácilmente a través de un script Bash ...
Quizás el mejor método sería dejar que cualquier parte de shell de la instalación imprima una URL que incluya la dirección del servidor, además de una contraseña mágica de un solo uso, entonces la persona que haga la instalación solo necesitaría para copiar la URL y pegarla en un navegador. Y luego la instalación podría proceder desde el navegador.