Cómo proteger enlaces duros y simbólicos en CentOS / RHEL 7


En Linux, se hace referencia a los enlaces físicos y físicos a los archivos, que son muy importantes, si no están bien protegidos, cualquier vulnerabilidad en los mismos puede ser explotada por usuarios malintencionados o atacantes.

Una vulnerabilidad común es la carrera de enlaces simbólicos . Es una vulnerabilidad de seguridad en el software, que se produce cuando un programa crea de forma insegura archivos (especialmente archivos temporales), y un usuario de sistema malicioso puede crear un enlace simbólico (suave) a dicho archivo.

Esto es prácticamente posible; un programa verifica si un archivo temporal existe o no, en caso de que no lo haga, crea el archivo. Pero en ese corto período de tiempo entre la comprobación del archivo y su creación, es posible que un atacante pueda crear un enlace simbólico a un archivo y no se le permita acceder a él o ella.

Entonces, cuando el programa se ejecuta con privilegios válidos crea el archivo con el mismo nombre que el creado por el atacante, literalmente crea el archivo de destino (vinculado a) al cual el atacante intentaba acceder. Esto, por lo tanto, podría darle al atacante una forma de robar información confidencial de la cuenta raíz o ejecutar un programa malicioso en el sistema.

Por lo tanto, en este artículo, le mostraremos cómo asegurar enlaces duros y simbólicos de usuarios malintencionados o piratas informáticos en las distribuciones de CentOS/RHEL 7 .

En CentOS/RHEL 7 existe una función de seguridad vital que solo permite que los programas creen o sigan los enlaces solo si se cumplen algunas condiciones como se describe a continuación.

Para que un usuario del sistema cree un enlace, se debe cumplir una de las siguientes condiciones.

  • the user can only link to files that he or she owns.
  • the user must first have read and write access to a file, that he or she wants to link to.

Los procesos solo pueden seguir los enlaces que están fuera de los directorios de escritura mundial (otros usuarios pueden escribir en) los directorios que tienen bits adhesivos, o uno de los siguientes debe ser cierto.

  • the process following the symbolic link is the owner of the symbolic link.
  • the owner of the directory is also the owner of the symbolic link.

Habilitar o deshabilitar la protección en enlaces duros y simbólicos

Es importante destacar que, de forma predeterminada, esta función está habilitada utilizando los parámetros del kernel en el archivo /usr/lib/sysctl.d/50-default.conf (el valor de 1 significa habilitar ).

fs.protected_hardlinks = 1
fs.protected_symlinks = 1

Sin embargo, por una razón u otra, si desea desactivar esta función de seguridad; cree un archivo llamado /etc/sysctl.d/51-no-protect-links.conf con estas opciones de kernel a continuación (el valor de 0 significa deshabilitar).

Tome nota de que 51 en el nombre de archivo ( 51-no-protect-links.conf ), se debe leer después del archivo predeterminado para anular la configuración predeterminada.

fs.protected_hardlinks = 0
fs.protected_symlinks = 0

Guarde y cierre el archivo. Luego use el siguiente comando para efectuar los cambios anteriores (este comando realmente carga la configuración de todos y cada uno de los archivos de configuración del sistema).

# sysctl --system
OR
# sysctl -p  #on older systems

Es posible que también desee leer estos artículos siguientes.

  1. How to Password Protect a Vim File in Linux
  2. 5 ‘chattr’ Commands to Make Important Files IMMUTABLE (Unchangeable) in Linux

¡Eso es todo! Puede publicar sus consultas o compartir cualquier opinión relacionada con este tema a través del formulario de comentarios a continuación.