Configuración y configuración inicial del servidor en CentOS 7


Este tutorial explicará los primeros pasos básicos que debe seguir después de instalar un sistema CentOS 7 mínimo sin entorno gráfico para obtener información sobre el sistema instalado, el hardware sobre el cual ejecuta el sistema y configurar otras tareas específicas del sistema. como redes, privilegios de root, software, servicios y otros.

  1. Instalación mínima de CentOS 7

Importante: los usuarios de RHEL 7 pueden seguir este artículo para realizar una configuración inicial del servidor en RHEL 7.

Actualizar el sistema CentOS 7

El primer paso que debe realizar en un sistema CentOS recién instalado es asegurarse de que el sistema esté actualizado con los últimos parches de seguridad del kernel y del sistema, repositorios de software y paquetes.

Para actualizar completamente un sistema CentOS 7, emita los siguientes comandos con privilegios de root.

# yum check-update
# yum upgrade

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

# yum clean all

Instalar las utilidades del sistema en CentOS 7

Los siguientes paquetes de utilidades pueden resultar útiles para la administración diaria del sistema: nano (editor de texto que reemplaza a lsof (utilidades para administrar redes locales) y bash-complete (autocompletar línea de comandos).

Instálelos todos de una sola vez ejecutando el siguiente comando.

# yum install nano wget curl net-tools lsof bash-completion

Configurar redes en CentOS 7

CentOS 7 tiene una amplia gama de herramientas que se pueden usar para configurar y administrar redes, desde editar manualmente el archivo de configuración de red hasta usar comandos como nmcli o route.

La utilidad más sencilla que un principiante puede utilizar para administrar y cambiar las configuraciones de red es la línea de comandos gráfica nmtui.

Para cambiar el nombre de host del sistema a través de la utilidad nmtui, ejecute el comando nmtui-hostname, configure el nombre de host de su máquina y presione OK para finalizar, como se ilustra en la siguiente captura de pantalla.

# nmtui-hostname

Para manipular una interfaz de red, ejecute el comando nmtui-edit, elija la interfaz que desea editar y seleccione editar en el menú de la derecha, como se muestra en la siguiente captura de pantalla.

# nmtui-edit

Una vez que esté en la interfaz gráfica proporcionada por la utilidad nmtui, puede configurar la configuración de IP de la interfaz de red como se ilustra en la siguiente captura de pantalla. Cuando termine, navegue hasta Aceptar usando la tecla [tabulación] para guardar la configuración y salir.

Para aplicar la nueva configuración de la interfaz de red, ejecute el comando nmtui-connect, seleccione la interfaz que desea administrar y presione la opción Desactivar/Activar para retirar y subir la interfaz con la configuración de IP, como se presenta en las capturas de pantalla a continuación.

# nmtui-connect

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

# ifconfig enp0s3
# ip a
# ping -c2 google.com

Otras utilidades útiles que se pueden utilizar para administrar la velocidad, el estado del enlace u obtener información sobre las interfaces de red de la máquina son ethtool y mii-tool.

# ethtool enp0s3
# mii-tool enp0s3

Un aspecto importante de la red de su máquina es enumerar todos los enchufes de red abiertos para ver qué programas están escuchando en qué puertos y cuál es el estado de las conexiones de red establecidas.

Para enumerar todos los servidores que han abierto sockets TCP o UDP en estado de escucha, emita los siguientes comandos. Sin embargo, el servidor UDP no mostrará ningún estado de socket debido al hecho de que UDP es un protocolo sin conexión que solo envía paquetes a través de la red y no establece conexiones.

# netstat -tulpn
# ss -tulpn
# lsof -i4 -6

Administrar servicios en CentOS 7

CentOS 7 administra demonios o servicios a través de la utilidad systemctl. Para enumerar el estado de todos los servicios, ejecute el siguiente comando.

# systemctl list-units

Para comprobar si un demonio o servicio está habilitado para iniciarse automáticamente cuando se inicia el sistema, ejecute el siguiente comando.

# systemctl list-unit-files -t service

Para enumerar los antiguos servicios SysV presentes en su sistema y deshabilitarlos, emita los siguientes comandos chkconfig.

# chkconfig --list
# chkconfig service_name off

5. Deshabilite los servicios no deseados en CentOS 7

Se recomienda después de instalar CentOS 7, enumerar qué servicios se están ejecutando en el sistema ejecutando los comandos anteriores y deshabilitarlos y eliminarlos para reducir los vectores de ataque contra su sistema.

Por ejemplo, el demonio Postfix está instalado y habilitado de forma predeterminada en CentOS 7. Si su sistema no requiere ejecutar un servidor de correo, es mejor detener, deshabilitar y eliminar el servicio postfix emitiendo los siguientes comandos.

# systemctl stop postfix
# systemctl disable postfix
# yum remove postfix

Además de los comandos top o pstree para descubrir e identificar qué servicios no deseados se están ejecutando en su sistema y deshabilitarlos o eliminarlos.

De forma predeterminada, la utilidad pstree no está instalada en CentOS 7. Para instalarla, ejecute el siguiente comando.

# yum install psmisc
# pstree -p

Habilitar Firewall en CentOs 7

Firewalld es la principal utilidad de firewall que usa interactúa para administrar las reglas de iptables.
Para habilitar, iniciar y verificar el firewall en CentOS 7, ejecute los siguientes comandos.

# systemctl enable firewalld
# systemctl start firewalld
# systemctl status firewalld

Para abrir un servicio específico a las conexiones entrantes, primero verifique si la aplicación ya está presente en las reglas de firewalld y, luego, agregue la regla para el servicio, como se muestra en el siguiente ejemplo que permite conexiones entrantes SSH. Use el interruptor --permanent para agregar la regla de forma permanente.

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

En caso de que el servicio ya esté definido en las reglas de firewalld, puede agregar manualmente el puerto de servicio, como se muestra en el siguiente ejemplo.

# firewall-cmd --add-port=22/tcp --permanent
# firewall-cmd --reload     #Apply the rule on-fly

Habilitar permisos de Sudo en cuentas de usuario

Para otorgar permisos de root para un usuario normal, primero cree el usuario emitiendo el comando adduser, establezca la contraseña para el usuario y otorgue permisos de root al usuario ejecutando el siguiente comando que agrega el nuevo usuario al grupo de rueda administrativa.

# adduser tecmint
# passwd tecmint
# usermod -aG wheel tecmint

Para probar si el nuevo usuario tiene privilegios de root, inicie sesión en el sistema con las credenciales del usuario y ejecute el comando yum con permisos sudo, como se muestra en el siguiente extracto.

# su - tecmint
# sudo yum update

Configurar la autenticación de clave pública SSH en CentOS 7

Para proteger SSH su servidor y configurar la autenticación de clave pública para aumentar la seguridad de su servidor con una clave SSH privada para iniciar sesión, primero genere un par de claves SSH con el siguiente comando.

No ingrese una frase de contraseña en caso de que desee automatizar la administración del servidor a través de SSH.

# ssh-keygen -t RSA

Una vez que se hayan generado los pares de claves SSH, copie la clave en el servidor al que desea conectarse emitiendo el siguiente comando. Inicialmente, ingrese su contraseña de usuario SSH remoto para copiar la clave pública.

# ssh-copy-id [email protected]_SERVER_IP

Una vez que se haya copiado la clave pública SSH en el servidor remoto, inicie sesión en el servidor SSH remoto con el siguiente comando.

# ssh [email protected]_SERVER_IP

Finalmente, para asegurar el servidor SSH, asegúrese de no permitir el acceso SSH remoto a la cuenta raíz abriendo el archivo SSH de configuración/etc/ssh/sshd_config con su editor de texto como root y cámbielo de a No .

PermitRootLogin no

Para aplicar la configuración, debe reiniciar el servicio SSH para que utilice la nueva configuración.

# systemctl restart sshd

¡Eso es todo! Estas son solo algunas configuraciones y comandos básicos que todo administrador del sistema debe conocer y aplicar en un sistema CentOS recién instalado o para realizar las tareas diarias en el sistema.

Para proteger y fortalecer el servidor CentOS 7, consulte los siguientes artículos.

  1. La mega guía para reforzar y proteger CentOS 7 - Parte 1
  2. La mega guía para fortalecer y proteger CentOS 7 - Parte 2

Si planea implementar sitios web en este sistema CentOS 7, aprenda a instalar y configurar la pila LEMP.