Edición remota segura de archivos accesibles desde la raíz a través de SSH

8

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.

Mikko Ohtamaa
fuente
Entonces, ¿cuál es su sistema operativo cliente? ¡Por favor sea más específico en su pregunta!
SPRBRN
No veo por qué el inicio de sesión raíz basado en clave directa debería ser menos seguro que sudo.
jpc

Respuestas:

2

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.

thejhh
fuente
1

No veo por qué no estaría bien sudo editar esos archivos a través de SSH. Lo hago todo el tiempo, por ej.

sudo nano /etc/apache2/sites-available/default

Si desea usar un editor de GUI, puede usar el túnel X. Debe permitirlo en su archivo ssh conf y luego usar la -Xopción en su línea de comando ssh.

ssh -X server.example.com

Luego, puede editar el archivo con un editor de GUI:

sudo gedit /etc/apache2/sites-available/default
Mikkel
fuente
Esta es la edición remota como sentido me refería; Está ejecutando gedit en el servidor, no en un editor de texto local que edita archivos a través de SSH / SFTP
Mikko Ohtamaa
0

Vea esta respuesta SO para ver un ejemplo de cómo hacer esto a través de un túnel SSH en Sublime Text.

usuario72923
fuente