Búsqueda de sitios web

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 se ejecuta el sistema. y configurar otras tareas específicas del sistema, como redes, privilegios de root, software, servicios y otros.

Requisitos

  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, repositorios de software y paquetes del kernel y del sistema.

Para actualizar completamente un sistema CentOS 7, ejecute 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 utilizaron 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 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 para reemplazar el editor vi), wget, curl (utilidades utilizadas para descargar paquetes a través de la red principalmente) net-tools, lsof (utilidades para administrar redes locales) y bash-completion (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 utilizar para configurar y administrar redes, desde editar manualmente el archivo de configuración de red hasta usar comandos como ip, ifconfig, nmtui, nmcli o ruta.

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

Para cambiar el nombre de host del sistema mediante 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 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.

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 desmantelar y activar. la interfaz con la configuración de IP, como se presenta en las capturas de pantalla siguientes.


nmtui-connect

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


ifconfig enp0s3
ip a
ping -c2 google.com

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


ethtool enp0s3
mii-tool enp0s3

Un aspecto importante de la red de su máquina es enumerar todos los sockets 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, ejecute los siguientes comandos. Sin embargo, el servidor UDP no mostrará ningún estado de socket debido a 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, emita el siguiente comando.


systemctl list-units

Para verificar 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, ejecute 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 netstat, ss, lsof o systemctl, también puedes ejecutar los comandos ps, top o pstree para descubrir e identificar qué servicios no deseados se están ejecutando en tu sistema. y desactivarlos 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 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 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 SSH conexiones entrantes. Utilice el modificador --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 del 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 Sudo en cuentas de usuario

Para otorgar permisos de root a 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 ruedas administrativas.


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 generados los pares de claves SSH, copie la clave al 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 remote_user@SSH_SERVER_IP

Después de copiar la clave pública SSH en el servidor remoto, inicie sesión en el servidor SSH remoto con el siguiente comando.


ssh remote_user@SSH_SERVER_IP

Finalmente, para proteger 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 raíz 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 sólo algunas configuraciones y comandos básicos que todo administrador del sistema necesita conocer y aplicar en un sistema CentOS recién instalado o para realizar tareas diarias en el sistema.

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

  1. La mega guía para fortalecer 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 cómo instalar y configurar la pila LAMP o la pila LEMP.