problemas de seguridad al instalar desde el código fuente como root

problemas de seguridad al instalar desde el código fuente como root

Me surgió una pregunta sobre cómo instalar desde el código fuente en la cuenta raíz no es una buena idea por razones de seguridad.

Mi postura al respecto es que realmente no importa si alguien está en la cuenta raíz, comenzando por descomprimir el código y luego siguiendo los pasos para instalarlo.

#./configure 
#make 
#make install

Opuesto a:

$./configure
$make
$sudo make install

Mi lógica es: realmente no importa porque si va a causar un riesgo de seguridad es por el código en sí, y no por cómo se instala, porque el comando final usa root para instalar el binario final y cualquier archivo que instale. con eso.

Independientemente de si uno está en una sesión de usuario no root o no, si el código fuente tiene malware codificado en su fuente, ahora está en el sistema sin importar qué. Por tanto, siempre es un riesgo pase lo que pase.

Esto no tiene nada que ver con el propio código, tiene más que ver con el repositorio de uno, no tiene una aplicación incluida, por lo tanto, vaya a git hub o al sitio web de la persona que lo escribió y use el código fuente para instalarlo. . Algo tan sencillo como instalar árbol incluso.

Entonces, el usuario estará más preocupado por cómo obtuvo el código fuente que si ha iniciado sesión en una cuenta raíz o en una cuenta de usuario "normal".

Ya he escuchado todos los argumentos sobre por qué no se debe usar root, porque no prestar atención a lo que se escribe en la terminal puede causar daños irreversibles al sistema; uno puede hacer el mismo daño usando sudo, por lo tanto, eso en sí mismo es un argumento y un sistema de creencias redundantes. Por lo tanto, ni siquiera debe ser parte del punto que se incluye en este argumento.

Esta es una pregunta más o menos de sí o no. Sí, tengo razón, a largo plazo no importa si uno usa su cuenta raíz para compilar e instalar aplicaciones de código fuente en el sistema, o no.

o

No, estoy equivocado, es importante porque debes usar privilegios de root para poder hacer lo mismo.

Respuesta1

Si utiliza en exceso los programas en ejecución como root, le dará a un atacante potencial más lugares para atacarlo que sólo los "necesarios". Los intentos de comprometer su sistema en su mayoría no funcionarán (o serán más difíciles) sin privilegios de root. Su enfoque con todos los comandos como root también puede llevar a simplemente hacer todo como root (listar un directorio, abrir una imagen, reproducir música...) y eso significa muchos puntos potencialmente problemáticos.

Incluso sin querer, un error en un programa que ejecuta puede causar mucho más daño cuando se ejecuta como root (y es prácticamente imposible eliminar todos los errores del software). O cuando el usuario ingresa opciones incorrectas (posibilidad mucho más probable).

Además, cuando usted ./configurey make, es posible que no desee instalar el programa para todos (podría ser una biblioteca que solo usted necesite, por ejemplo).

Respuesta2

Si sospecha que el programa que está instalando puede estarmalicioso, no lo ejecutes como root o como tu usuario habitual. Esto incluye tanto la ejecución del programa compilado como la ejecución de los scripts de compilación proporcionados. Una vez que un atacante ha ejecutado código como usted, es dueño de su cuenta (y será dueño de su máquina tan pronto como obtenga root de esa cuenta, a más tardar). No importa si el código del atacante se ejecutó porque usted ejecutó makeo porque ejecutó make install.

El objetivo de compilar como usuario habitual e instalar como root es reducir los riesgos deaccidentalproblemas. Aun así, normalmente no deberías instalar programas creados por ti mismo como root a menos que sea necesario (por ejemplo, para instalar un controlador o un servicio del sistema). Instálelo como su propio usuario, en un directorio separado y luego use un programa comoestibarpara que el programa esté disponible en directorios estándar ( /usr/local/bin, etc.). Esto reduce el riesgo de que el paso de instalación sobrescriba el software existente (podría haber una colisión de nombres) o escriba en directorios no deseados, y facilita la desinstalación del programa ya que todos los archivos están en un solo lugar.

Respuesta3

Como usuario joe,

./configure
make
sudo make install

normalmente no lo hacesnecesidadser root para configurar o compilar el código, solo para instalarlo. Si no lo hacesnecesidadser root, entonces no seas root.

Ambos configurey makeestán ejecutando código. Ejecutarlos como root cuando no es necesario simplemente introduce otro vector de ataque (alguien podría comprometer el archivo MAKE, pero no el código fuente, por ejemplo).

Respuesta4

Es de suponer que el programa final (y su instalación) se realizan con más cuidado que el edificio.CualquierUn error en el proceso de construcción o en la finalización de las comprobaciones de estado, cuando se ejecuta como root, puede arruinar su sistema. Es mejor reducir el riesgo tanto como sea posible.

información relacionada