¿Existen implicaciones de seguridad en la creación de una clave SSH para el usuario root?

2

He escrito un script de instalación en un servidor para configurar rápidamente nuevos sitios en el directorio / srv. Necesita hacer un git clone , y debe ejecutarse a través de sudo para tener los permisos para hacer todo lo que necesita hacer (crear directorios en / srv, crear un nuevo VirtualHost, reiniciar Apache, etc.) .

La pregunta que tengo es simplemente esta: en este momento el usuario root no tiene una clave SSH, pero la necesitaré para git clone de BitBucket. ¿Hay algún problema de seguridad con la generación de uno? Es decir, si ejecuto ssh-keygen como root para tener claves públicas y privadas para el usuario root, ¿haré que el servidor sea menos seguro de alguna manera?

Por cierto, este es un script que ya está en uso y ha funcionado bien, pero hasta ahora el repositorio desde el que estoy clonando ha sido uno local, alojado en el mismo servidor. Recientemente he cambiado a alojarlo de forma remota (en BitBucket), por lo que necesito una "clave de implementación" para poder clonarla.

    
pregunta Nick F 18.05.2015 - 19:25
fuente

1 respuesta

7

No, tener claves para su usuario raíz no afecta su perfil de seguridad. Es aconsejable, sin embargo, deshabilitar el inicio de sesión de root en ssh y NO tener una clave autorizada en su carpeta /root/.ssh/.

Sin embargo. Tengo la sensación de que estás haciendo esto de manera equivocada. Personalmente, no usaría al usuario raíz de esta manera (sino a un usuario del sistema como www-data ) y realizaría varios comandos de comando y control que recargan la configuración de Apache, por ejemplo, que se especifican en la lista sudoers (con especificación completa), por lo que que mi usuario puede simplemente llamar a un script que tenga los derechos para realizar las acciones "especiales" necesarias.

De esta manera tendrá un registro de auditoría de lo que ha sucedido. Esto limita lo que el usuario puede hacer mal en caso de un compromiso y no expone su sistema completo.

El archivo sudoers (y el comando sudo ) tienen una opción para hacer que funcionen sin entrada de contraseña ( :nopasswd: ). También puede limitar los comandos y llamar a los usuarios en el archivo. Como beneficio adicional, puede tener un usuario separado con derechos limitados para tener acceso a la implementación, lo que limita aún más los posibles daños.

    
respondido por el LvB 18.05.2015 - 20:26
fuente

Lea otras preguntas en las etiquetas