Redes
Principios generales
Una configuración de red básica en un servidor requiere cuatro elementos:
-
Un nombre de máquina.
-
Una dirección IP y una máscara de red.
-
Una puerta de enlace predeterminada.
-
La dirección de los servidores DNS.
Hay dos formas de obtener estos elementos:
-
Automáticamente: por un servidor DHCP (y, en IPv6, por el router). La máquina solicita un servidor DHCP en la red, que le devuelve estos parámetros en una respuesta exclusiva. La dirección IP puede cambiar regularmente, en el caso de una estación de usuario. El servidor DHCP también puede optar por asignar una dirección IP permanente, en el caso de un servidor: se dice que la dirección IP está reservada.
-
Manualmente: el gestor de la máquina configura estos distintos parámetros. También en este caso, el gestor puede optar (raramente) por cambiar la dirección IP en función de sus necesidades, pero lo más frecuente es que elija una dirección IP estática.
Estos parámetros de red se pueden visualizar y configurar de dos maneras:
-
Con herramientas heredadas (legacy, obsoletas): anteriormente, la configuración de la red se realizaba manualmente, en archivos de configuración comandados por scripts. Los cambios pueden visualizarse mediante comandos como route, ifconfig, etc. Estos comandos siguen existiendo a efectos de análisis, pero la configuración real se lleva a cabo con la nueva herramienta nmcli.
-
Con la nueva herramienta unificada nmcli: dado que los archivos de configuración y los scripts asociados son cada vez más numerosos y heterogéneos en función de la distribución, en las versiones recientes de Linux (incluidas RHEL 7 y superiores), la herramienta nmcli pretende estandarizar la forma de configurar la red.
En la primera parte, examinamos los antiguos comandos aún útiles...
Configurar y diagnosticar redes
1. Nombre del anfitrión
Para comprobar el nombre de anfitrión asignado a la máquina, simplemente escriba el comando hostname en la máquina en cuestión:
[root@cobb ~]# hostname
cobb.acme.com
O conéctese desde otra máquina. Debería ver el nombre del host al menos en la línea de comandos:
[root@eames ~]# ssh jdoe@192.168.0.37
jdoe@192.168.0.37's password:
Last login: Sun Dec 12 21:31:24 2010 from 192.168.0.1
[jdoe@cobb ~]$
[jdoe@cobb ~]$ hostname
cobb.acme.com
2. Estado de las interfaces de red
a. Consultar usando ifconfig
Puede ver las interfaces existentes en su máquina simplemente escribiendo ifconfig:
[root@cobb ~]# ifconfig
ens33 Link encap:Ethernet HWaddr 00:0C:29:29:64:96
inet adr:192.168.0.37 Bcast:192.168.0.255
Netmask:255.255.255.0
adr inet6: fe80::20c:29ff:fe29:6496/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:14280 errors:0 dropped:0 overruns:0 frame:0
TX packets:1676 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 lg file transmission:1000
RX bytes:1826809 (1.7 MiB) TX bytes:234914 (229.4 KiB)
Interruption:19 Base address:0x2000
lo Link encap:Bucle local
inet adr:127.0.0.1 Netmask:255.0.0.0
adr inet6: ::1/128 Scope:Hôte
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:4 errors:0 dropped:0 overruns:0 frame:0
TX...
Seguridad: configurar el cortafuegos para un servidor
1. Introducción
Sobra repetir lo importante que es la seguridad. A lo largo de este libro, se insiste en que la seguridad de su servidor debería ser una cuestión de rutina. Por supuesto, el cortafuegos (firewall) es la primera línea de defensa que debe instalarse en una máquina.
Un cortafuegos es una herramienta de filtrado de paquetes, es decir, criba los paquetes entrantes y salientes de una máquina o red. Existen dos tipos principales de cortafuegos:
-
Cortafuegos de la máquina (o cortafuegos del sistema): se trata de un filtro de paquetes instalado en la máquina. Cierne los paquetes que entran y salen de la máquina.
-
Cortafuegos de red: se trata de una máquina situada a la entrada de la red, que filtra el tráfico de red entrante y saliente.
Aunque las tecnologías son bastante similares entre los dos tipos de cortafuegos, las configuraciones son relativamente diferentes. Conscientes de que existen herramientas especializadas en el filtrado de redes y de que Red Hat Enterprise Linux no es una de ellas, aquí le mostraremos cómo configurar un cortafuegos para un servidor.
La presencia de un cortafuegos en el servidor no impide establecer una sólida seguridad de red si se utiliza lo siguiente:
-
Cortafuegos de red.
-
IDS (Intrusion Detection System, Sistema de Detección de Intrusos): un sistema que detecta comportamientos anómalos en la red y le alerta en caso de sospecha de intrusión.
-
Proxy: utilización de un servidor proxy para las conexiones a Internet. Esto proporciona una mayor seguridad para los flujos salientes.
-
VPN: (Virtual Private Network, red privada virtual) conexión segura entre dos sitios remotos.
Configurar un cortafuegos en un servidor implica principalmente filtrar el tráfico entrante. Decidimos qué puede entrar en la máquina para conectarse a los servicios de la máquina. Todo lo demás está prohibido.
Netfilter es el conjunto de componentes que forman el cortafuegos dentro del núcleo Linux.
El hecho de que el cortafuegos opere dentro del núcleo significa que se puede supervisar constantemente el flujo de datos que entran, salen y transitan por la máquina.
Anteriormente, hasta la versión 6 de RHEL, el usuario controlaba Netfilter con el comando iptables para la versión IPv4 e ip6tables...
Acceso seguro al servidor
1. SSH para la gestión remota
a. Presentación
SSH (Secure Shell, intérprete de comandos seguro) es una línea de comandos remota segura que permite conectarse a otro sistema Linux (entre otros). Esto le permite administrar la máquina a distancia, sin estar físicamente frente a ella y sin necesidad de recursos gráficos importantes.
Una conexión SSH tiene una serie de ventajas:
-
Seguridad:
-
Los datos que pasan a través de la conexión SSH se encriptan, es decir, se hacen ilegibles.
-
La máquina a la que se está conectando está autenticada, es decir, puede estar seguro de que es la máquina correcta (y no la máquina de un pirata informático que se está haciendo pasar por usted).
-
Compresión: los datos pueden comprimirse para mejorar la velocidad de transferencia.
-
Tunelización (tunneling): dentro de la conexión SSH, se pueden pasar datos de otras aplicaciones además de la línea de comandos. Por lo tanto, estos datos están protegidos e incluso comprimidos. El concepto no está tan alejado de la VPN.
b. Uso simple
El uso simple de SSH consiste en conectarse a otra máquina con una simple contraseña o, más exactamente, un par nombre de usuario/contraseña.
Cuando se conecte a otra máquina con un nombre de usuario, la cuenta debe existir en la máquina remota. Esta es la cuenta que utilizará una vez conectado.
En inglés, hablamos de login / password (a menudo abreviado como l/p), lo que es un uso indebido. De hecho, «login» viene de «to log in» (conectarse) y se refiere al aviso de conexión que pide el nombre de usuario.
Para conectarse a una máquina remota, escriba el siguiente comando:
ssh login@machine
o:
ssh machine -l login
-
machine es la dirección IP o el nombre de host de la máquina remota.
-
login es un nombre de usuario existente en la máquina remota (la opción -l significa login).
En el siguiente ejemplo, nos conectamos a la máquina eames con su dirección IP, utilizando la cuenta de guest:
[jdoe@cobb ~]$ ssh guest@192.168.0.1
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be
established.
RSA key fingerprint is
52:b3:c1:72:eb:01:e4:94:57:69:49:25:b2:8b:b4:ec.
Are you sure you want to continue...