Estoy trabajando en una aplicación web que maneja algunos datos confidenciales. Nos estamos volviendo bastante estrictos con la seguridad y estamos estableciendo políticas para bloquear el acceso a las máquinas y registrar todo para fines de auditoría técnica.
La pregunta a la que seguimos volviendo es esta: ¿Quién obtiene la raíz?
Nuestras instancias de servidor tendrán un usuario root. Ese usuario root tendrá una contraseña. ¿Quién debería tener acceso a esto? ¿Es posible / deseable tener una máquina donde nadie pueda tener acceso de root?
Agradecería cualquier idea que tenga sobre el tema.
Respuestas:
Ninguno. Haz que se usen
sudo
para que todos los comandos de nivel raíz se registren y sean atribuibles a una persona específica.fuente
¡Nadie, excepto quizás un administrador de hardware, obtiene la contraseña de root! La contraseña de root solo debe ser utilizable en la consola, no a través de SSH u otros servicios.
Utilice grupos para definir el acceso a diferentes conjuntos de programas con el uso de privilegios privados escalados
sudo
. Por ejemplo, el grupo de rueda es típicamente para personas que obtienen privilegios de root, pero todo se registra como su usuario. Si las personas no necesitan privilegios de root completos pero solo unos pocos comandos como otro usuario, cree otro grupo.fuente
Si usa e implementa selinux, es posible eliminar la típica cuenta divina "que todo lo ve y todo lo que sabe" que es la configuración raíz normal, y convertirla en una cuenta más consciente de la seguridad.
fuente
Mi opinión es que las personas no deberían ejecutar comandos que requieren permisos de root, excepto, por supuesto, cuando realmente inician sesión como root.
Recomendaría usar su (cambia al usuario raíz) en lugar de sudo (aumenta temporalmente los permisos al nivel raíz para un comando) por este motivo. Si necesitan permiso de root, haga que cambien a usuario root.
Mi pregunta es, ¿qué están haciendo sus usuarios que creen que necesitan root?
fuente
sudo
es perfectamente adecuado para el propósito y registra cada comando emitido directamente con elsudo
antepuesto. Donde, cuando se usa su, obtienes un shell y no se registra nada dentro de ese shell./etc/sudoers
Se puede sintonizar mucho. Puede saber qué comando se puede ejecutar como qué usuario por qué usuario y si se requiere contraseña o no, además de una serie de otras opciones útiles. Una razón por la que alguien podría necesitar root es reiniciar un demonio. Esto se logra fácilmentesudo
sin dar acceso completo a la cuenta raíz.su
mássudo
no se defiende y, según la mayoría de las otras voces aquí, en realidad sería parte del problema original de los chicos, no una solución.