Búsqueda de sitios web

Configuración inicial del servidor con CentOS/RHEL 8


En este artículo, lo guiaremos a través de los primeros pasos básicos que debe seguir después de instalar un servidor CentOS/RHEL 8 mínimo sin entorno gráfico para recuperar la información sobre el sistema instalado, el hardware sobre el cual se ejecuta el servidor y configurar otras tareas específicas del sistema, como actualización del sistema, redes, privilegios de root, configurar ssh, administrar servicios y otras.

Requisitos

  1. Guía de instalación de CentOS 8
  2. Instalación mínima de RHEL 8
  3. Habilite la suscripción a RHEL en RHEL 8

Importante: Debe tener un Servicio de suscripción de Red Hat habilitado en su servidor RHEL 8 para realizar la actualización del sistema y instalación de software.

Paso 1: actualice el software del sistema

Primero, inicie sesión en su servidor como usuario root y ejecute los siguientes comandos para actualizar completamente el sistema con el kernel, los parches de seguridad del sistema, los repositorios de software y los paquetes más recientes.

dnf check-update
dnf update

Una vez que finaliza el proceso de actualización del software, para liberar espacio en el disco, puede eliminar todos los paquetes de software descargados con toda la información de los repositorios almacenados en caché ejecutando el siguiente comando.

dnf clean all

Paso 2: instalar las utilidades del sistema

Las siguientes utilidades del sistema pueden ser muy útiles para las tareas diarias de administración del sistema: nano, vim editor, wget & curl (utilidades utilizadas principalmente para descargar paquetes a través de la red) net-tools (utilidades para administrar redes locales) lsof (útil para búsqueda de lista de archivos abiertos por proceso) y finalización de bash (autocompletar línea de comando).

dnf install nano vim wget curl net-tools lsof bash-completion

Paso 3: configurar el nombre de host y la red

En CentOS/RHEL 8, hay una amplia gama de herramientas incluidas en los repositorios que se utilizan para configurar y administrar las redes, desde alterar manualmente el archivo de configuración de la red hasta usar comandos como ifconfig, ip, nmcli y nmtui.

La utilidad más sencilla que un novato puede utilizar para configurar y administrar configuraciones de red, como establecer el nombre de host de la red y configurar la dirección IP estática, es utilizar la utilidad gráfica de línea de comandos nmtui.

Establecer nombre de host en CentOS 8

Para configurar o cambiar el nombre de host del sistema, ejecute el siguiente comando nmtui-hostname, que le pedirá que ingrese el nombre de host de su máquina y presione Aceptar para finalizar, como se ilustra en la siguiente captura de pantalla.

nmtui-hostname

Establecer una dirección IP estática en CentOS 8

Para configurar una interfaz de red, ejecute el siguiente comando nmtui-edit, que le pedirá que seleccione la interfaz que desea configurar en el menú como se muestra en la siguiente captura de pantalla.

nmtui-edit

Una vez que haga clic en el botón Editar, se le pedirá que configure la configuración IP de la interfaz de red como se ilustra en la siguiente captura de pantalla. Cuando termine, navegue hasta Aceptar usando la tecla [tab] para guardar la configuración y salir.

Una vez que haya terminado con la configuración de la red, debe ejecutar el siguiente comando para aplicar la nueva configuración de red seleccionando la interfaz que desea administrar y presionando la opción Desactivar/Activar para desactivar y abrir la interfaz. con la configuración de IP, como se presenta en la siguiente captura de pantalla.

nmtui-connect

Para verificar los ajustes de configuración de la red, puede verificar el contenido del archivo de interfaz o puede emitir los siguientes comandos.

ifconfig enp0s3
ip a
ping -c2 google.com

También puede utilizar otras utilidades de red útiles como ethtool y mii-tool para comprobar la velocidad de la interfaz de red, el estado del enlace de red y obtener información sobre las interfaces de red de las máquinas.

ethtool enp0s3
mii-tool enp0s3

Un aspecto importante de la red de su máquina, es importante enumerar todos los sockets de red abiertos para verificar qué servicios están escuchando en qué puertos y cuál es el estado de las conexiones de red establecidas y enumerar todos los archivos que abren los procesos.

netstat -tulpn
ss -tulpn
lsof -i4 -6

Paso 4: cree una nueva cuenta de usuario

Siempre es recomendable contar con un usuario normal con permisos root para realizar tareas administrativas cuando sea necesario. Para asignar privilegios de root a un usuario normal, primero cree un usuario con el comando useradd, establezca la contraseña y agregue un usuario al grupo de rueda administrativa.

useradd ravisaive
passwd ravisaive
usermod -aG wheel ravisaive

Para verificar que el nuevo usuario tenga privilegios de root, inicie sesión en el sistema con las credenciales del usuario y ejecute el comando dnf con permisos Sudo como se muestra.

su - ravisaive
sudo dnf update

Paso 5: Configurar el inicio de sesión sin contraseña SSH en CentOS 8

Para aumentar la seguridad de su servidor, configure una autenticación SSH sin contraseña para su nuevo usuario generando un par de claves SSH, que contienen una clave pública y una privada. pero necesitas crear uno. Esto aumentará la seguridad de su servidor al requerir una clave SSH privada para conectarse al sistema.

su - ravisaive
ssh-keygen -t RSA

Una vez generada la clave, le pedirá que ingrese la frase de contraseña para proteger la clave privada. Puede ingresar una frase de contraseña segura o elegir dejarla vacía si desea automatizar las tareas administrativas a través del servidor SSH.

Una vez que se haya generado la clave SSH, debe copiar el par de claves públicas generadas a un servidor remoto ejecutando el comando ssh-copy-id con el nombre de usuario y la dirección IP del servidor remoto como se muestra.

ssh-copy-id [email 

Una vez que se haya copiado la clave SSH, ahora puede intentar iniciar sesión en su servidor Linux remoto utilizando la clave privada como método de autenticación. Debería poder iniciar sesión automáticamente sin que el servidor SSH le solicite una contraseña.

[email 

Paso 6: Proteger los inicios de sesión remotos SSH

Aquí, protegeremos un poco más nuestro servidor deshabilitando el acceso SSH remoto a la cuenta raíz en el archivo de configuración SSH.

vi /etc/ssh/sshd_config

Busque la línea que dice #PermitRootLogin sí, descomente la línea eliminando # del principio de la línea y modifíquela a.

PermitRootLogin no

Luego, reinicie el servidor SSH para aplicar los nuevos cambios recientes.

systemctl restart sshd

Ahora verifique la configuración intentando iniciar sesión como cuenta raíz; obtendrá el error de acceso SSH Permiso denegado como se muestra.

ssh [email 

Hay escenarios en los que es posible que desee desconectar todas las conexiones SSH remotas automáticamente a su servidor después de un cierto período de inactividad.

Paso 7: configurar el firewall en CentOS 8

En CentOS/RHEL 8, el firewall predeterminado es Firewalld, que se utiliza para administrar las reglas iptables en el servidor. Para habilitar e iniciar el servicio firewalld en el servidor, ejecute los siguientes comandos.

systemctl enable firewalld
systemctl start firewalld
systemctl status firewalld

Para abrir una conexión entrante a un servicio específico (SSH), primero debe verificar que el servicio esté presente en las reglas del firewalld y, luego, agregar la regla para el servicio agregando el interruptor --permanent a los comandos como se muestra.

firewall-cmd --add-service=[tab]  #List services
firewall-cmd --add-service=ssh
firewall-cmd --add-service=ssh --permanent

Si desea abrir conexiones entrantes a otros servicios de red como HTTP o SMTP, simplemente agregue las reglas como se muestra especificando el nombre del servicio.

firewall-cmd --permanent --add-service=http
firewall-cmd --permanent --add-service=https
firewall-cmd --permanent --add-service=smtp

Para ver todas las reglas de firewall en el servidor, ejecute el siguiente comando.

firewall-cmd --permanent --list-all

Paso 8: eliminar servicios no deseados en CentOS 8

Se recomienda encarecidamente que después de instalar un servidor CentOS/RHEL 8 nuevo, elimine y deshabilite los servicios no deseados que se ejecutan de forma predeterminada en el servidor para reducir los ataques al servidor.

Para enumerar todos los servicios de red en ejecución, incluidos TCP y UDP en el servidor, ejecute el comando ss o netstat como se ilustra en el siguiente ejemplo.

ss -tulpn
OR
netstat -tulpn

Los comandos anteriores enumerarán algunos servicios interesantes que se ejecutan de forma predeterminada en el servidor, como el servidor de correo Postfix. Si no planea alojar el sistema de correo en el servidor, debe detenerlo y eliminarlo del sistema como se muestra.

systemctl stop postfix
systemctl disable postfix
dnf remove postfix

Además del comando ss y el comando netstat, también puede ejecutar los comandos ps, top o pstree para descubrir e identificar todos los servicios no deseados y eliminarlos del sistema.

dnf install psmisc
pstree -p

Paso 9: Administrar servicios en CentOS 8

En CentOS/RHEL 8, todos los servicios y demonios se administran mediante un comando systemctl, y puede usar este comando para enumerar todos los servicios activos, en ejecución, cerrados o fallidos.

systemctl list-units

Para verificar si un demonio o servicio se habilita automáticamente durante el inicio del sistema, ejecute el siguiente comando.

systemctl list-unit-files -t service

Para obtener más información sobre el comando systemctl, lea nuestro artículo que explica: Cómo administrar servicios usando 'Systemctl' en Linux.

¡Eso es todo! En este artículo, hemos explicado algunas configuraciones y comandos básicos que todo administrador de sistemas Linux debe conocer y aplicar en un sistema CentOS/RHEL 8 recién instalado o para realizar tareas diarias en el sistema. .