Búsqueda de sitios web

Serie RHCSA: Protección de SSH, configuración del nombre de host y habilitación de servicios de red - Parte 8


Como administrador del sistema, a menudo tendrá que iniciar sesión en sistemas remotos para realizar una variedad de tareas administrativas utilizando un emulador de terminal. Rara vez se sentará frente a una terminal real (física), por lo que deberá configurar una forma de iniciar sesión de forma remota en las máquinas que se le pedirá que administre.

De hecho, eso puede ser lo último que tendrás que hacer delante de un terminal físico. Por razones de seguridad, utilizar Telnet para este propósito no es una buena idea, ya que todo el tráfico pasa por la red en texto plano y sin cifrar.

Además, en este artículo también revisaremos cómo configurar los servicios de red para que se inicien automáticamente en el arranque y aprenderemos cómo configurar la red y la resolución del nombre de host de forma estática o dinámica.

Instalación y protección de la comunicación SSH

Para poder iniciar sesión de forma remota en un cuadro RHEL 7 usando SSH, deberá instalar openssh, openssh -paquetes client y openssh-servers. El siguiente comando no sólo instalará el programa de inicio de sesión remoto, sino también la herramienta de transferencia segura de archivos, así como la utilidad de copia remota de archivos:


yum update && yum install openssh openssh-clients openssh-servers

Tenga en cuenta que es una buena idea instalar las contrapartes del servidor, ya que es posible que desee utilizar la misma máquina como cliente y servidor en algún momento.

Después de la instalación, hay un par de cosas básicas que debes tener en cuenta si deseas asegurar el acceso remoto a tu servidor SSH. Las siguientes configuraciones deben estar presentes en el archivo /etc/ssh/sshd_config.

1. Cambie el puerto donde escuchará el demonio sshd de 22 (el valor predeterminado) a un puerto alto (2000 o superior). pero primero asegúrese de que el puerto elegido no esté en uso.

Por ejemplo, supongamos que elige el puerto 2500. Utilice netstat para comprobar si el puerto elegido se está utilizando o no:


netstat -npltu | grep 2500

Si netstat no devuelve nada, puede utilizar de forma segura el puerto 2500 para sshd y debe cambiar la configuración del puerto en el archivo de configuración de la siguiente manera:


Port 2500

2. Permitir únicamente el protocolo 2:


Protocol 2

3. Configure el tiempo de espera de autenticación en 2 minutos, no permita inicios de sesión de root y restrinja al mínimo la lista de usuarios que pueden iniciar sesión a través de ssh:


LoginGraceTime 2m
PermitRootLogin no
AllowUsers gacanepa

4. Si es posible, utilice autenticación basada en claves en lugar de contraseña:


PasswordAuthentication no
RSAAuthentication yes
PubkeyAuthentication yes

Esto supone que ya creó un par de claves con su nombre de usuario en su máquina cliente y lo copió en su servidor como se explica aquí.

  1. Habilitar inicio de sesión SSH sin contraseña

Configuración de redes y resolución de nombres

1. Todo administrador del sistema debe estar familiarizado con los siguientes archivos de configuración de todo el sistema:

  1. /etc/hosts se utiliza para resolver nombres <---> IP en redes pequeñas.

Cada línea en el archivo /etc/hosts tiene la siguiente estructura:


IP address - Hostname - FQDN

Por ejemplo,


192.168.0.10	laptop	laptop.gabrielcanepa.com.ar

2. /etc/resolv.conf especifica las direcciones IP de los servidores DNS y el dominio de búsqueda, que se utiliza para completar un nombre de consulta determinado a un nombre de dominio completo cuando no se proporciona ningún sufijo de dominio.

En circunstancias normales, no es necesario editar este archivo ya que lo administra el sistema. Sin embargo, si desea cambiar los servidores DNS, tenga en cuenta que debe ceñirse a la siguiente estructura en cada línea:


nameserver - IP address

Por ejemplo,


nameserver 8.8.8.8

3. 3. /etc/host.conf especifica los métodos y el orden en que se resuelven los nombres de host dentro de una red. En otras palabras, le dice al solucionador de nombres qué servicios usar y en qué orden.

Aunque este archivo tiene varias opciones, la configuración más común y básica incluye una línea como la siguiente:


order bind,hosts

Lo que indica que el solucionador debe buscar primero en los servidores de nombres especificados en resolv.conf y luego en el archivo /etc/hosts para la resolución de nombres.

4. /etc/sysconfig/network contiene información de enrutamiento y de host global para todas las interfaces de red. Se pueden utilizar los siguientes valores:


NETWORKING=yes|no
HOSTNAME=value

Donde el valor debe ser el nombre de dominio completo (FQDN).


GATEWAY=XXX.XXX.XXX.XXX

Donde XXX.XXX.XXX.XXX es la dirección IP de la puerta de enlace de la red.


GATEWAYDEV=value

En una máquina con varias NIC, valor es el dispositivo de puerta de enlace, como enp0s3.

5. Archivos dentro de /etc/sysconfig/network-scripts (archivos de configuración de adaptadores de red).

Dentro del directorio mencionado anteriormente, encontrará varios archivos de texto sin formato llamados.


ifcfg-name

Donde nombre es el nombre de la NIC devuelto por ip link show:

Por ejemplo:

Aparte de la interfaz bucle invertido, puede esperar una configuración similar para sus NIC. Tenga en cuenta que algunas variables, si se configuran, anularán las presentes en /etc/sysconfig/network para esta interfaz en particular. Cada línea está comentada para aclarar en este artículo, pero en el archivo real debes evitar comentarios:


HWADDR=08:00:27:4E:59:37 # The MAC address of the NIC
TYPE=Ethernet # Type of connection
BOOTPROTO=static # This indicates that this NIC has been assigned a static IP. If this variable was set to dhcp, the NIC will be assigned an IP address by a DHCP server and thus the next two lines should not be present in that case.
IPADDR=192.168.0.18
NETMASK=255.255.255.0
GATEWAY=192.168.0.1
NM_CONTROLLED=no # Should be added to the Ethernet interface to prevent NetworkManager from changing the file.
NAME=enp0s3
UUID=14033805-98ef-4049-bc7b-d4bea76ed2eb
ONBOOT=yes # The operating system should bring up this NIC during boot

Configuración de nombres de host

En Red Hat Enterprise Linux 7, el comando hostnamectl se utiliza para consultar y configurar el nombre de host del sistema.

Para mostrar el nombre de host actual, escriba:


hostnamectl status

Para cambiar el nombre de host, utilice


hostnamectl set-hostname [new hostname]

Por ejemplo,


hostnamectl set-hostname cinderella

Para que los cambios surtan efecto, deberá reiniciar el demonio hostnamed (de esa manera no tendrá que cerrar sesión y volver a iniciarla para aplicar el cambio):


systemctl restart systemd-hostnamed

Además, RHEL 7 también incluye la utilidad nmcli que se puede utilizar para el mismo propósito. Para mostrar el nombre de host, ejecute:


nmcli general hostname

y para cambiarlo:


nmcli general hostname [new hostname]

Por ejemplo,


nmcli general hostname rhel7

Iniciar servicios de red al arrancar

Para concluir, veamos cómo podemos asegurarnos de que los servicios de red se inicien automáticamente al arrancar. En términos simples, esto se hace creando enlaces simbólicos a ciertos archivos especificados en la sección [Instalar] de los archivos de configuración del servicio.

En el caso de firewalld (/usr/lib/systemd/system/firewalld.service):


[Install]
WantedBy=basic.target
Alias=dbus-org.fedoraproject.FirewallD1.service

Para habilitar el servicio:


systemctl enable firewalld

Por otro lado, deshabilitar firewalld permite eliminar los enlaces simbólicos:


systemctl disable firewalld

Conclusión

En este artículo hemos resumido cómo instalar y proteger conexiones a través de SSH a un servidor RHEL, cómo cambiar su nombre y, finalmente, cómo garantizar que los servicios de red se inicien en bota. Si nota que un determinado servicio no se inició correctamente, puede utilizar systemctl status -l [servicio] y journalctl -xn para solucionarlo.

No dude en hacernos saber lo que piensa sobre este artículo utilizando el formulario de comentarios a continuación. Las preguntas también son bienvenidas. ¡Esperamos con interés escuchar de usted!