Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

366
Vistas
¿Se obtiene algún beneficio de seguridad al bifurcar () después de eliminar los privilegios (root)?

Especialmente en el mundo de Linux/POSIX, los demonios que necesitan algunas capacidades de root solo para fines de inicialización temporal (por ejemplo, para leer un archivo de clave privada propiedad de root, o para abrir un puerto <1024, o para aumentar los límites de recursos), a menudo parecen siguen un patrón de diseño en el que cambian sus credenciales con llamadas a funciones como setuid() / setresuid() y setgid() / setresgid() , y luego llaman a fork() para ejecutar el programa real como su hijo. Supuestamente, el fork() -ing se realiza "por si acaso" , pero ¿cuál es o fue la consideración de seguridad real para hacerlo?

Y para seguir con eso, ¿sigue siendo relevante esa razón cuando (además de setgroups(0, NULL) , setresgid(GID_NOBODY, GID_NOBODY, GID_NOBODY) y setresuid(UID_NOBODY, UID_NOBODY, UID_NOBODY) ), el programa también está limitando Linux de manera proactiva capacidades , eliminando todas las capacidades tan pronto como ya no se necesiten, llamando a cap_set_proc() ?

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

¿Tienes algún ejemplo en particular?

Normalmente, el daemon se bifurca y conserva los privilegios de root en el proceso "maestro". Esto es útil porque significa que puede, por ejemplo, volver a cargar la configuración y posiblemente vincularse a otros puertos. Los niños bifurcados no tienen privilegios y manejan el tráfico real.

Mi conjetura es que vio un programa que eliminó los privilegios, se bifurcó y salió en el padre. Si es así, esto se hizo como parte de convertirse en un demonio.

over 4 years ago · Santiago Trujillo Denunciar

0

Bueno, las mejores prácticas en seguridad recomiendan tener muchas líneas de defensa.

Si estuviera seguro de que su daemon no tiene fallas, ni tiene ninguna de las funciones de biblioteca que usa, podría dejar que se ejecute con todos los privilegios sin más riesgos.

Pero si ha sido escrito por un simple ser humano, es probable que oculte algunos posibles exploits que podrían permitir que un atacante ejecute código arbitrario. Uno fue descubierto en la biblioteca SSL no muy lejos de hoy, sin hablar de Windows...

Esa es la razón por la que debe revocar todos los privilegios que no se requieren para procesar la entrada externa , porque los riesgos son mayores en esa parte.

Eso es todo por la caída de privilegios. La parte de bifurcación normalmente se usa para dividir el daemon en un proceso altamente privilegiado que nunca procesa la salida externa (seguridad...) y que monitorea otros procesos con privilegios bajos que hacen el trabajo real. Por ejemplo, permite reiniciar un niño que murió o se atascó, pero los datos de entrada externos nunca son procesados por código privilegiado.

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda