¿Por qué es una idea terrible implementar medidas restrictivas en .bashrc?

3

Preguntando esto porque aparentemente hay multiple personas que realmente no se dan cuenta qué idea tan mala es esta, y quiero que haya un lugar único y fácil de encontrar para que puedan ir y ser enviados.

    
pregunta Parthian Shot 18.07.2015 - 05:41
fuente

1 respuesta

2

Hay varias razones por las que esto es una mala idea.

Lo primero y más importante es que bash, fundamentalmente, está escrito para facilitar a los usuarios hacer lo que quieran hacer. Fue escrito para facilitarte hacer cualquier cosa que quieras hacer de muchas maneras diferentes, y como resultado es posible hacer la mayoría de las cosas de muchas maneras diferentes. No fue escrito teniendo en cuenta los controles de acceso, y como resultado carece de controles de acceso. Como resultado, agregar controles de acceso encima de él, y hacer que ciertas tareas sean imposibles dentro de él, es un poco como tratar de usar un bulldozer para el punto de aguja; Quizás no sea imposible, pero muy, muy difícil.

Entonces, por ejemplo, cualquier comando que se ejecute desde .bashrc se puede interrumpir, poner en segundo plano o eliminar si el usuario (o más probablemente un script que el usuario escribió) es lo suficientemente rápido (al enviar ^C o ^Z ). En la línea de comandos, los usuarios pueden desactivar variables, pueden abrir subshells, pueden especificar rutas directas a los ejecutables (muchos de los cuales se encuentran en ubicaciones predecibles), e incluso pueden enviar cosas a través de la red incluso si no tiene ninguna red. -accesiones accesibles disponibles para ellos, porque pueden abrir transmisiones tcp directamente desde bash .

Ahora, este es un problema conocido, y es por eso que rbash fue desarrollado. Pero incluso rbash no es una solución llave en mano , y al final del día, incluso es bastante relajado:

  

Estas restricciones se aplican después de que se lean los archivos de inicio.

     

Cuando se ejecuta un comando que se considera que es un script de shell (ver Shell Scripts), rbash > desactiva cualquier restricción en el shell generado para ejecutar el script.

Y luego, por supuesto, está el hecho de que debe asegurarse constantemente de que su versión de bash sea al día , y que su kernel es actualizado y que está utilizando un enfoque de listas blancas explícito y verificando cuidadosamente cada aplicación permitir. Es una tarea bastante hercúlea, y la mayoría de las veces hay una forma mejor / más sencilla de lograr lo que quieres lograr.

Si tiene en mente una configuración de seguridad particular y estaba considerando usar .bashrc , entonces:

  1. Investigue un poco más en Internet (Google y DuckDuckGo son muy útiles para esto, aunque el sitio que está leyendo actualmente es uno de los mejores recursos que encontrará), y una vez que tenga en mente algunas alternativas y un poco de investigación para respaldar cada uno,
  2. ¡Consulta sobre tu configuración aquí! Lea las preguntas frecuentes del sitio e intente asegurarse de que su pregunta no sea un duplicado, primero. Pero aparte de eso, aquí es donde te gustaría hacer las preguntas que estás teniendo.
respondido por el Parthian Shot 18.07.2015 - 05:59
fuente

Lea otras preguntas en las etiquetas