Cómo proteger archivos y directorios en Linux

Un aspecto importante de la seguridad del host es proteger los archivos importantes del sistema y los directorios de su sistema Linux que contienen estos archivos. En Linux, puede proteger los archivos mediante la propiedad del archivo y la configuración de permisos que controlan quién puede leer, escribir o (en el caso de programas ejecutables) ejecutar el archivo.

La seguridad predeterminada de los archivos de Linux se controla mediante la siguiente configuración para cada archivo o directorio:

  • Propiedad del usuario
  • Propiedad del grupo
  • Leer, escribir y ejecutar permisos para el propietario
  • Leer, escribir y ejecutar permisos para el grupo.
  • Leer, escribir, ejecutar permisos para otros (todos los demás)

Cómo ver las propiedades y los permisos en Linux

Puede ver la configuración relacionada con la propiedad y los permisos de un archivo cuando mira una lista detallada con el ls -lcomando. Por ejemplo, en Ubuntu, escriba el siguiente comando para ver la lista detallada del /etc/inittabarchivo:

ls -l / etc / inittab

La lista resultante se parece a esto:

-rw-r - r-- 1 raíz raíz 1666 16 de febrero 07:57 / etc / inittab

El primer conjunto de caracteres describe los permisos de archivo para usuarios, grupos y otros. Los campos tercero y cuarto muestran el usuario y el grupo propietarios de este archivo. En este caso, los nombres de usuario y de grupo son los mismos: root.

Cómo cambiar la propiedad de los archivos en Linux

Puede establecer la propiedad de usuarios y grupos con el chowncomando. Si el archivo /dev/hdadebe ser propiedad del usuario rooty del grupo disk, escriba el siguiente comando rootpara configurar esta propiedad:

chown root.disk / dev / hda

Para cambiar la propiedad del grupo solo, use el chgrpcomando. A continuación, le mostramos cómo puede cambiar la propiedad de grupo de un archivo de lo que era antes al grupo llamado accounting:

chgrp contabilidad ledger.out

Cómo cambiar los permisos de archivos en Linux

Utilice el chmodcomando para establecer los permisos de archivo. Para usarlo de manera chmodefectiva, debe especificar la configuración de permisos. Una forma es concatenar una o más letras de cada columna de la tabla siguiente, en el orden que se muestra en la tabla (Quién / Acción / Permiso).

Códigos de permiso de archivo
Quién Acción Permiso
u (usuario) + (agregar) r (leer)
g (grupo) – (retirar) w (escribir)
o (otros) = (asignar) x (ejecutar)
a (todos) s (establecer ID de usuario)
LEER  Cómo salir de Windows 8

Para que todos tengan acceso de lectura y escritura a todos los archivos de un directorio, escriba chmod a + rw * . Para permitir que todos ejecuten un archivo específico, escriba chmod a + x filename .

Otra forma de especificar una configuración de permiso es utilizar una secuencia de números de tres dígitos. En una lista detallada, la configuración de permisos de lectura, escritura y ejecución para el usuario, grupo y otros aparecen como la secuencia

rwxrwxrwx

con guiones en lugar de letras para operaciones no permitidas. Piense rwxrwxrwxen tres apariciones de la cadena rwx. Ahora asigne los valores r= 4, w= 2 y x= 1. Para obtener el valor de la secuencia rwx, sólo tiene que añadir los valores de r, wy x. Por lo tanto, rwx = 7. Con esta fórmula, puede asignar un valor de tres dígitos a cualquier configuración de permiso. Si el usuario puede leer y escribir el archivo, pero todos los demás solo pueden leer el archivo, por ejemplo, la configuración del permiso es rw-r--r--, y el valor es 644. Por lo tanto, si desea que todos los archivos de un directorio sean legibles para todos, pero solo para escritura por el usuario, use el siguiente comando:

chmod 644 *

Cómo establecer el permiso predeterminado en Linux

¿Qué configuración de permisos obtiene un archivo cuando usted (o un programa) crea un archivo nuevo? La respuesta está en lo que se conoce como máscara de creación de archivos de usuario, que puede ver y configurar mediante el umaskcomando.

Escriba umask y el comando imprime un número que muestra la máscara de creación de archivos actual. Para el rootusuario, la máscara está configurada en 022, mientras que la máscara para otros usuarios es 002. Para ver el efecto de esta máscara de creación de archivos e interpretar el significado de la máscara, siga estos pasos:

  1. Inicie sesión como rooty escriba el siguiente comando: 

    touch junkfile Este comando crea un archivo nombrado junkfilesin nada en él.

  2. Escriba ls -l junkfile para ver los permisos de ese archivo. 

    Verá una línea similar a la siguiente:

    -rw-r - r-- 1 raíz raíz 0 24 de agosto 10:56 archivo basura

    Interprete el valor numérico de la configuración del permiso convirtiendo cada permiso de tres letras en el primer campo (excluyendo la primera letra) en un número entre 0 y 7. Para cada letra que está presente, la primera letra obtiene un valor de 4, la segunda La letra es 2 y la tercera es 1. Se rw-traduce en 4 + 2 + 0 (porque falta la tercera letra), o 6. De manera similar, r--es 4 + 0 + 0 = 4. Por lo tanto, la cadena de permisos se -rw-r--r--convierte en 644.

  3. Reste la configuración de permiso numérico de 666. 

    Lo que obtienes es el umaskescenario. En este caso, 666 – 644 da como resultado un umask022. Por lo tanto, un umask022 da como resultado una configuración de permiso predeterminada de 666 – 022 = 644. Cuando reescribe 644 en términos de una cadena de permisos, se convierte en rw-r--r--.

Para establecer una nueva umask, escriba umask seguido del valor numérico de la máscara. Así es como lo haces:

  1. Averigüe qué configuración de permisos desea para los archivos nuevos. 

    Si desea archivos nuevos que puedan ser leídos y escritos solo por el propietario y nadie más, la configuración de permisos se ve así: rw ——-

  2. Convierta los permisos a un valor numérico utilizando el método de conversión que asigna 4 al primer campo, 2 al segundo y 1 al tercero. 

    Por lo tanto, para los archivos que solo su propietario puede leer y escribir, la configuración de permisos es 600.

  3. Reste la configuración de permisos deseada de 666 para obtener el valor de la máscara. 

    Para una configuración de permiso de 600, la máscara se convierte en 666 – 600 = 066.

  4. Utilice el umaskcomando para establecer la máscara de creación de archivos escribiendo umask 066.
LEER  Cómo encontrar la configuración correcta en Windows 8

Un valor predeterminado umaskde 022 es bueno para la seguridad del sistema porque se traduce en archivos que tienen permisos de lectura y escritura para el propietario y permisos de lectura para todos los demás. La conclusión es que no desea un valor predeterminado umaskque como resultado archivos en los que todo el mundo puede escribir.

Cómo verificar el permiso de ID de usuario establecido en Linux

Otra configuración de permiso puede ser un peligro para la seguridad. Esta configuración de permisos, denominada ID de usuario establecida ( setuido, suidpara abreviar), se aplica a los archivos ejecutables. Cuando el suidpermiso está habilitado, el archivo se ejecuta con el ID de usuario del propietario del archivo.

En otras palabras, si un programa ejecutable es propiedad de rooty el suidpermiso está establecido, el programa se ejecuta como si rootlo estuviera ejecutando, sin importar quién ejecutó el programa. El suidpermiso significa que el programa puede hacer mucho más (como leer todos los archivos, crear nuevos archivos y eliminar archivos) de lo que puede hacer un programa de usuario normal. Otro riesgo es que si un suidarchivo de programa tiene un agujero de seguridad, los piratas informáticos pueden hacer mucho más daño a través de dichos programas que a través de otras vulnerabilidades.

Puede encontrar todos los suidprogramas con un simple findcomando:

buscar / -tipo f -perm +4000

Verá una lista de archivos como la siguiente:

/ bin / su
/ bin / ping
/ bin / eject
/ bin / mount
/ bin / ping6
/ bin / umount
/ opt / kde4 / bin / fileshareset
/ opt / kde4 / bin / artswrapper
/ opt / kde4 / bin / kcheckpass
& # x2026; líneas eliminadas & # x2026;

Muchos de los programas tienen el suidpermiso porque lo necesitan, pero debe verificar la lista completa para asegurarse de que no contenga suidprogramas extraños (como suidprogramas en el directorio de inicio de un usuario).

LEER  Cómo transferir fotos de la cámara digital a su tableta con Windows 8

Si escribe ls -l / bin / su , verá la siguiente configuración de permisos:

-rwsr-xr-x 1 raíz raíz 25756 19 de agosto 17:06 / bin / su

El sen la configuración de permisos del propietario ( -rws) le dice que el suidpermiso está establecido para el /bin/suarchivo, que es el archivo ejecutable para el sucomando que puede usar para convertirse en rootu otro usuario.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *