Búsqueda de sitios web

rbash: un shell Bash restringido explicado con ejemplos prácticos


Linux Shell es una de las herramientas impulsadas por GNU/Linux más fascinantes y poderosas. Toda la aplicación, incluida X, está construida sobre shell y el shell de Linux es tan poderoso que todo el sistema Linux se puede controlar con precisión usándolo. El otro aspecto del shell de Linux es que puede ser potencialmente dañino cuando ejecuta un comando del sistema, sin saber sus consecuencias o sin saberlo.

Ser un usuario ignorante. Para ello, introducimos un shell restringido. Discutiremos el shell restringido en detalle, las restricciones implementadas y mucho más.

¿Qué es rbash?

El Shell restringido es un Shell de Linux que restringe algunas de las características del shell bash y queda muy claro en el nombre. La restricción está bien implementada tanto para el comando como para el script que se ejecuta en un shell restringido. Proporciona una capa adicional de seguridad para bash shell en Linux.

Restricciones implementadas en rbash

  1. Comando cd (Cambiar directorio)
  2. RUTA (armado/desarmado)
  3. ENV también conocido como BASH_ENV (Configuración/desarmado del entorno)
  4. Función de importación
  5. Especificación del nombre del archivo que contiene el argumento '/'
  6. Especificar el nombre del archivo que contiene el argumento '-'
  7. Redirigir la salida usando '>', '>>', '>|', '<>', '>&', '&>'
  8. desactivar la restricción usando 'set +r' o 'set +o'

Nota: Las restricciones de rbash se aplican después de leer cualquier archivo de inicio.

Habilitación de Shell restringido

En algunas versiones de GNU/Linux, es decir, Red Hat/CentOS, es posible que rbash no se implemente directamente y necesita que se creen enlaces simbólicos.

cd /bin

ln -s bash rbash

En la mayoría de las distribuciones estándar GNU/Linux actuales, rbash está disponible de forma predeterminada. De lo contrario, puede descargar el tarball fuente e instalarlo desde la fuente en su sistema.

Iniciando rbash

Para iniciar el shell restringido rbash en Linux, ejecute el siguiente comando.

bash -r

OR

rbash

Nota: si rbash se inicia correctamente, devuelve 0.

Probando algunas restricciones

Aquí, ejecutamos algunos comandos en el shell rbash para verificar las restricciones.

cd

rbash: cd: restricted
pwd > a.txt

bash: a.txt: restricted: cannot redirect output
Ventajas de Shell restringido
  1. El shell restringido se utiliza junto con un chroot jail, en un intento adicional de limitar el acceso al sistema en su conjunto.
Contras de Shell restringido
  1. Insuficiente para permitir la ejecución de software que no es de confianza.
  2. Cuando se ejecuta un comando que se considera un script de shell, rbash desactiva cualquier restricción en el shell generado para ejecutar el script.
  3. Cuando los usuarios ejecutan bash o dash desde rbash, obtienen shells sin restricciones.
  4. rbash sólo debe usarse dentro de un chroot a menos que sepas lo que estás haciendo.
  5. Hay muchas formas de romper un shell bash restringido que no son fáciles de predecir de antemano.

Conclusión

rbash es una herramienta fantástica para trabajar en un entorno restringido y funciona de manera brillante. Debes intentarlo y no te decepcionarás.

Eso es todo por ahora. Pronto estaré aquí nuevamente con otro tema interesante y bien informado que a ustedes les encantaría leer. No olvide brindarnos sus valiosos comentarios en nuestra sección de comentarios.