Según las mejores prácticas de seguridad, uno no debe permitir el inicio de sesión raíz a través de SSH con contraseña o claves. En cambio, se debe usar sudo.
Sin embargo, si uno quiere usar SSH (SFTP) para la edición remota de archivos de configuración del servidor, como los que viven en / etc (Apache, Cron, lo que sea), ¿cómo se debe hacer esto?
¿Puede la edición remota de archivos accesibles desde la raíz a través de SFTP ser compatible con las mejores prácticas de seguridad?
Cómo se deben establecer permisos de archivos, grupos de usuarios y de tal manera que se sigan las mejores prácticas de seguridad
Actualmente utilizo la autenticación de clave pública protegida con frase de contraseña para iniciar sesión como root, pero no estoy seguro de si hay algo más seguro que pueda hacer, de modo que los inicios de sesión SSH con acceso a la raíz puedan desactivarse por completo.
El servidor es Ubuntu 12.04.
Respuestas:
Si realmente se desea la edición remota, una solución simple podría ser mantener una copia de / etc (o partes de ella) en otro usuario local y configurar el sistema para copiar los cambios desde allí al / etc real. Aún mejor sería usar un git, o svn, o cualquier otro sistema de control de versiones de su elección, y también tendría un registro adicional de cambios.
También es posible configurar chroot en SFTP y deshabilitar el inicio de sesión normal para una cuenta específica, o limitar el inicio de sesión a ese usuario solo desde direcciones IP especificadas, con la misma característica de OpenSSH (Match Group, etc.). Acerca de eso, consulte http://www.thegeekstuff.com/2012/03/chroot-sftp-setup/
Sin embargo, recuerde que la mayoría de los archivos de configuración en / etc hacen posible obtener acceso de root simplemente editándolos. He visto sistemas configurados con svn / git para verificar la validación de los archivos de configuración antes de aceptar los cambios de los archivos, que podrían usarse para aceptar solo formatos de configuración seguros.
De todos modos, hay muchas soluciones diferentes para el problema. Este fue solo un enfoque.
fuente
No veo por qué no estaría bien sudo editar esos archivos a través de SSH. Lo hago todo el tiempo, por ej.
Si desea usar un editor de GUI, puede usar el túnel X. Debe permitirlo en su archivo ssh conf y luego usar la
-X
opción en su línea de comando ssh.Luego, puede editar el archivo con un editor de GUI:
fuente
Vea esta respuesta SO para ver un ejemplo de cómo hacer esto a través de un túnel SSH en Sublime Text.
fuente