rbash - Explicación de un shell de Bash restringido con ejemplos prácticos


Linux Shell es una de las herramientas 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 este propósito, estamos introduciendo 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 es muy claro por el nombre. La restricción está bien implementada para el comando, así 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 (Armado/desarmado del entorno)
  4. Función de importación
  5. Especificar el nombre del archivo que contiene el argumento "/"
  6. Especificar el nombre del archivo que contiene el argumento "-"
  7. Redirigir la salida mediante ">", ">>", "> |", "<>", "> &", "&>"
  8. desactivar la restricción con "set + r" o "set + o"

Nota: Las restricciones de rbash se aplican después de leer los archivos de inicio.

Habilitación de Shell restringido

En alguna versión de GNU/Linux a saber, Red Hat/CentOS, rbash puede no implementarse 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. Si no es así, puede descargar el archivo tarball fuente e instalarlo desde la fuente en su sistema.

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

# bash -r

OR

# rbash

Nota: Si rbash se inicia correctamente, devuelve 0.

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

  1. El shell restringido se usa junto con una cárcel chroot, en un intento adicional de limitar el acceso al sistema en su totalidad.

  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 solo debe usarse dentro de un chroot a menos que sepa lo que está 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, dentro de un entorno restringido y funciona de manera brillante. Debes probarlo y no te decepcionará.

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