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. cd command (Change Directory)
  2. PATH (setting/ unsetting)
  3. ENV aka BASH_ENV (Environment Setting/ unsetting)
  4. Importing Function
  5. Specifying file name containing argument ‘/’
  6. Specifying file name containing argument ‘-‘
  7. Redirecting output using ‘>‘, ‘>>‘, ‘>|‘, ‘<>‘, ‘>&‘, ‘&>
  8. turning off restriction using ‘set +r‘ or ‘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. De lo contrario, 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. Restricted shell is used in conjunction with a chroot jail, in a further attempt to limit access to the system as a whole.
  1. Insufficient to allow execution of entirely untrusted software.
  2. When a command that is found to be a shell script is executed, rbash turns off any restrictions in the shell spawned to execute the script.
  3. When users run bash or dash from rbash then they got unrestricted shells.
  4. rbash should only be used within a chroot unless you know what you are doing.
  5. There are many ways to break out a restricted bash shell that are not easy to predict in advance.

Conclusión

rbash es una herramienta fantástica para trabajar en 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.