Configuración Avanzada de Redes y Gestión de Permisos en Sistemas Operativos Linux

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 8,82 KB

Configuración de Interfaces de Red en Linux

A continuación, se muestra un ejemplo de configuración de interfaces de red, típicamente ubicado en /etc/network/interfaces:

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address [DIRECCIÓN_IP]
netmask [MÁSCARA_DE_RED]
gateway [PUERTA_DE_ENLACE]

Con el comando “dmesg” podemos leer los sucesos y eventos que ocurren al iniciar el sistema.

Para configurar una interfaz de red temporalmente (sin guardar la configuración de forma persistente):

ifconfig nombreInter IP netmask máscara

Esta configuración no se guarda si se reinicia el servicio de red con /etc/init.d/networking restart.

Reenvío de Paquetes (IP Forwarding)

Activamos ip_forward (estableciéndolo a 1), lo cual nos permitirá enviar paquetes entre los equipos (función de router).

Esto se realiza en el fichero /etc/sysctl.conf. Descomentamos la línea para ip_forward quitando el carácter “#”.

Permisos Especiales de Ficheros

Existen tres bits especiales que modifican el comportamiento de los permisos tradicionales:

  • BIT SETUID (S)

    Activado, indica que quien ejecute el fichero tendrá los mismos privilegios que el creador (propietario) del archivo.

  • BIT SETGID (S)

    Igual que el anterior, pero para el grupo.

  • BIT STICKY (T)

    Si se aplica a un programa, indica que este cargará en la memoria RAM y permanecerá allí para evitar obtenerlo desde el disco duro (HDD). Si se aplica a un directorio, impide que los usuarios borren archivos, excepto los suyos propios (útil en directorios compartidos).

Listas de Control de Acceso (ACL)

Las ACL (Access Control Lists) intervienen en situaciones donde los permisos tradicionales son insuficientes. Permiten asignar permisos específicos a usuarios y grupos especiales que no son los principales propietarios o miembros del grupo principal.

Pasos para la Configuración de ACL

  1. Compatibilidad del Kernel: Verificar si el Kernel es compatible. Buscar el archivo /boot/config-nucleo-. Las directivas deben estar configuradas en y (yes), por ejemplo: CONFIG_EXT..._ACL=y.

  2. Instalación: Instalar el paquete necesario: apt-get install acl.

  3. Montaje del Sistema de Ficheros: Modificar /etc/fstab y añadir el atributo acl. Ejemplo: acl,errors=remount-ro 0.

  4. Remontar el Sistema de Ficheros: Volver a montar el sistema de ficheros para aplicar los cambios:

    #mount -o remount,acl /

Comandos de Gestión de ACL

  • #getfacl f1: Devuelve los permisos ACL de un fichero o directorio.

  • #Setfacl -m u:us01:rw- f1: Modifica los permisos ACL (en este caso, otorga lectura y escritura al usuario us01 en el fichero f1).

  • #Setfacl -b f1: Borra todas las ACL del fichero f1.

Gestión de Permisos y Cuentas de Usuario

Configuración de Sudo

Para permitir que un usuario (usr1) ejecute solo un comando específico (/sbin/ifconfig) utilizando sudo, se debe añadir una entrada en el fichero de configuración de sudo:

usr1 ALL=(ALL) NOPASSWD: /sbin/ifconfig

El comando para editar esta configuración de forma segura es sudo visudo. Los permisos se guardan en /etc/sudoers (aunque visudo edita el archivo de forma temporal y segura).

Cálculo de Permisos Base

Los permisos base son 777 para directorios y 666 para ficheros. A esta cifra se le resta la umask (máscara de creación de ficheros), que suele ser 022.

Ficheros de Configuración de Cuentas

  • Ficheros de configuración por defecto para nuevos usuarios: /etc/skel

  • Datos relativos a la cuenta (sin contraseña): /etc/passwd

    Contiene 7 campos: Nombre de usuario | Contraseña (marcador 'x') | UID | GID | Nombre completo | Directorio personal | Programa intérprete de comandos (shell)

  • Contraseña encriptada y datos de caducidad: /etc/shadow

  • Datos de grupos: /etc/group

    Contiene 4 campos: Nombre del Grupo | Clave (marcador 'x') | GID | Usuarios miembros

Protocolos Fundamentales de Red TCP/IP

TCP (Transmission Control Protocol)

Protocolo que garantiza que los datos serán entregados en su destino sin errores y en el mismo orden en que se transmitieron. Proporciona un mecanismo para distinguir distintas aplicaciones dentro de una misma máquina mediante el concepto de puerto.

UDP (User Datagram Protocol)

Protocolo que permite el envío de datagramas sin conexión. No garantiza el orden de llegada ni la llegada misma. Ofrece un tiempo de respuesta menor que TCP. Usado en servicios como DHCP y en la transmisión de video y audio en tiempo real.

ICMP (Internet Control Message Protocol)

Avisa de errores en el procesamiento de los paquetes IP y controla los ordenadores que participan en el intercambio de datos. Es un protocolo complementario a IP. Usado en herramientas como Ping.

IP (Internet Protocol)

Protocolo de Internet, mecanismo de interconexión de redes de comunicación de ordenadores basado en la conmutación de paquetes.

El tamaño máximo de cada paquete TCP/IP (MTU) es de aproximadamente 1500 bytes.

MAC (Media Access Control)

Número único de 48 bits asignado a la tarjeta de red (Ethernet).

IPv4 (Internet Protocol version 4)

Protocolo de comunicación de Internet que utiliza direcciones de 32 bits. El total de direcciones posibles es 232, lo cual resulta insuficiente para las necesidades actuales.

IPv6 (Internet Protocol version 6)

Utiliza direcciones de 128 bits (Total 2128). Ofrece ventajas como: más direcciones, configuración automática, compatibilidad con IPv4 y soporte nativo para Multicasting.

Mientras que IPv4 utiliza broadcast (a todos) y unicast (a un ordenador), IPv6 utiliza unicast, broadcast y multicast (a un grupo).

Niveles de Ejecución y Arranque del Sistema

Daemons y Runlevels

Un Demonio (del acrónimo Disk And Execution MONitor) es un proceso que se ejecuta en segundo plano para proporcionar un tipo de servicio. Suelen arrancar al inicio del sistema.

Un Runlevel (Nivel de Ejecución) consiste en ejecutar un conjunto determinado de demonios. Generalmente hay 7 niveles en Linux (del 0 al 6). Podemos cambiar a otro nivel escribiendo init N, donde N es el número del nivel.

Los niveles de ejecución utilizan enlaces simbólicos a scripts de inicio. Los enlaces que empiezan por K (Kill) detienen los demonios, y los que empiezan por S (Start) lanzan los demonios.

Mecanismos de Arranque de Procesos

Hay dos mecanismos principales para arrancar los procesos del sistema:

  • System V init

    Arranca servicios mediante scripts que se encuentran en /etc/init.d. Las tareas se ejecutan de forma síncrona (una tras otra).

  • Upstart

    Gestiona los servicios mediante eventos. Según ocurran los eventos, arranca o para los servicios. Es compatible con los scripts de System V init. Ejecuta tareas de forma asíncrona y en paralelo, y es capaz de supervisar los servicios en funcionamiento.

Entradas relacionadas: