¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
¡Acceso ilimitado 24/7 a todos nuestros libros y vídeos! Descubra la Biblioteca Online ENI. Pulse aquí
  1. Libros
  2. LINUX
  3. La red
Extrait - LINUX Dominar la administración del sistema [6ª edición]
Extractos del libro
LINUX Dominar la administración del sistema [6ª edición]
1 opinión
Volver a la página de compra del libro

La red

TCP/IP

El origen de la arquitectura de red TCP/IP (Transmission Control Protocol / Internet Protocol) proviene de la investigación de la DARPA (Defense Advanced Research Project Agency) que comenzó en 1970. En ese momento, la universidad de California Berkeley, integró los protocolos básicos de TCP/IP en su sistema UNIX.

TCP/IP se ha popularizado gracias a su interfaz genérica para programar intercambios de datos entre máquinas conectadas a la red, los primitivos sockets y la integración de protocolos de aplicación. Los protocolos TCP/IP los supervisa el IAB (Internet Architecture Board) que, a su vez, supervisa otras dos organizaciones:

  • IRTF (Internet Research Task Force), que es responsable del desarrollo de los protocolos.

  • IETF (Internet Engineering Task Force), que es responsable de la red de Internet.

Las direcciones de red las distribuye el NIC (Network Information Center) y en España, la RIPE NCC (iniciales de Redes IP Europeas Network Coordination Centre). Todos los protocolos de TCP/IP se describen en documentos RFC (Request For Comments) (ver RFC 793) que incluye, entre otros:

  • La capa de red está gestionada por el IP (Internet Protocol). Puede utilizar una variedad de protocolos a nivel físico y a nivel de enlace.

  • La capa de transporte se gestiona mediante los protocolos TCP (Transmission Control Protocol) o UDP (User Datagram Protocol).

  • Las capas superiores son las correspondientes a los protocolos de aplicación, por ejemplo:

    • HTTP (HyperText Transfer Protocol): protocolo para la Web.

    • NFS (Network File System): uso compartido remoto de archivos.

    • DNS (Domain Name System): asociación de nombres de host o de servicios ó direcciones IP.

    • FTP (File Transfer Protocol): transferencia de archivos.

La versión más utilizada del protocolo IP es la versión 4, y se espera que el protocolo IP versión 6 la sustituya en el futuro. IPv6 es compatible con IPv4 y ofrece direccionamiento con 128 bits para ampliar las capacidades de la red, especialmente en términos de tamaño y de direccionamiento.

1. Direccionamiento IPv4

Antes de proceder a la instalación, es importante saber en qué tipo de red TCP/IP debe integrar el nuevo servidor. Al menos, se le debe asignar una dirección IP y una máscara de subred (netmask), un nombre de máquina de red (hostname), eventualmente su nombre de dominio...

Servicios de red xinetd

El demonio xinetd es un "superservicio" que permite controlar el acceso a un conjunto de servicios, telnet, por ejemplo. Muchos servicios de red se pueden configurar para funcionar con xinetd, como los servicios ftp, ssh, samba, rcp, HTTP, etc. Se pueden aplicar opciones de configuración específicas para cada servicio administrado.

systemd, que permite controlar tanto un socket como un servicio, hace que el uso de xineTd quede obsoleto en las distribuciones recientes. Sin embargo, xinetd todavía está presente en algunos sistemas en producción.

Cuando un host cliente solicita conectarse a un puerto controlado por xinetd, xinetd recibe la solicitud y comprueba primero los permisos de acceso TCP (ver tcp_wrappers en el siguiente capítulo) y luego las reglas definidas para dicho servicio (permisos específicos, recursos asignados, etc.). A continuación, se inicia una instancia del servicio asociado con el puerto, y xinetd le reenvía la solicitud de conexión. A partir de este momento, xinetd no interfiere más en la conexión entre el cliente y el servidor.

1. Configuración

Los archivos de configuración son:

  • /etc/xinetd.conf: configuración global.

  • /etc/xinetd.d/*: directorio que contiene archivos específicos del servicio. Hay un archivo por servicio, con el mismo nombre que el especificado en /etc/services.

Ejemplo

$ ls -l /etc/xinetd.d  
total 92  
-rw-r--r-- 1 root root  313 sep 22  2007 chargen  
-rw-r--r-- 1 root root  333 sep 22  2007 chargen-udp  
-rw-r--r-- 1 root root  256 mar 20 22:11 cups-lpd  
-rw-r--r-- 1 root root  409 nov  4  2005 cvs  
-rw-r--r-- 1 root root  313 sep 22  2007 daytime  
-rw-r--r-- 1 root root  333 sep 22  2007 daytime-udp  
-rw-r--r-- 1 root root  313...

OpenSSH

OpenSSH es un protocolo de shell seguro, un mecanismo que permite la autenticación segura, la ejecución remota y la conexión remota. También permite el transporte seguro del protocolo X Window. Por último, es capaz de encapsular protocolos no seguros redirigiendo puertos.

Los paquetes de software que se utilizarán para un servidor son openssh, openssl y openssh-clients. La lista de paquetes que se deben instalar depende de cada distribución.

El uso más común es el acceso remoto seguro al servidor, en modo terminal a través del cliente ssh.

1. Configuración del servidor ssh

El archivo de configuración es /etc/ssh/sshd_config, complementado por los archivos *.conf del repertorio /etc/ssh/sshd_config.d/. Hay algunas opciones que puede que sea necesario modificar:

  • Port: número de puerto; por defecto, 22.

  • Protocol: establecido en 2 por defecto. Si se configura con el valor 1, permite SSH1 y SSH2. Es preferible SSH2, por lo que dejaremos el valor 2 solo.

  • ListenAddress: por defecto, ssh escucha en todas las direcciones IP del servidor. Solo se puede permitir la escucha en una interfaz determinada.

  • PermitRootLogin: ssh puede permitir o impedir inicios de sesión con la cuenta de administrador root. Podemos establecer el valor en "no". En este caso, debe iniciar sesión como un simple usuario y usar su o sudo para usar la cuenta de administrador root.

  • Banner: ruta de acceso de un archivo, cuyo contenido se mostrará a los usuarios al iniciar sesión.

ssh puede ser un servicio de System V que se inicia con el comando service o mediante /etc/init.d/sshd, o puede ser administrado por una unidad systemd.

Ejemplo

# service sshd start 

A través de systemd:

# systemctl status sshd  
● sshd.service - OpenSSH server daemon  
     Loaded: loaded (/usr/lib/systemd/system/sshd.service; enabled; preset: 
enabled) 
     Active: active (running) since Mon 2023-07-24 14:58:27 CEST; 1 day 3h ago 
       Docs: man:sshd(8)  
             man:sshd_config(5)  
   Main PID: 882 (sshd)  
      Tasks: 1 (limit: 22459)  
     Memory: 6.3M  
        CPU:...

Correo electrónico

El correo electrónico implica diferentes servicios entre el emisor y el receptor, operando en modo cliente-servidor:

  • Cuando un cliente (un usuario) envía un mensaje, utiliza un MUA (Mail User Agent), por ejemplo, Thunderbird, Evolution, Kmail, Mutt, Outlook Express, etc.

  • El MUA dirige el mensaje al MTA (Mail Transport Agent). El MTA examina la dirección electrónica para determinar el usuario y el dominio de destino y, a continuación, busca la información de DNS de tipo MX (Mail Xchanger) para el dominio elegido, para saber a qué servidor reenviar el correo. Si no hay ningún MTA remoto disponible, el mensaje se pone en cola y el MTA vuelve a intentar la entrega más tarde (el retraso depende de la configuración del MTA).

  • El MX puede ser otro MTA, que actuará como enrutador (en el caso de una redirección a un subdominio, por ejemplo), o un MDA (Mail Delivery Agent). El MDA coloca el mensaje en un archivo temporal, puede filtrarlo, etc.

  • El destinatario recibe el mensaje: bien lo recupera leyendo directamente el archivo temporal (en el caso del comando mail, por ejemplo), bien pasa por un protocolo de tipo POP o IMAP.

  • El protocolo de transporte de mensajes es el SMTP (Simple Mail Transfer Protocol) en el puerto 25.

  • Los protocolos para recibir mensajes son POP (Post Office Protocol) en el puerto 110 (POP3 o POP4) o IMAP (Internet Message Access...