Pasos adicionales recomendados para los nuevos servidores CentOS 7

Introducción

Después de configurar la configuración mínima necesaria para un nuevo servidor, hay algunos pasos adicionales que se recomienda altamente en la mayoría de los casos. En esta guía, continuaremos la configuración de nuestros servidores abordando algunos procedimientos recomendados, pero opcionales.

Requisitos previos y objetivos

Antes de comenzar esta guía, deberías seguir la guía de Configuración inicial del servidor CentOS 7. Esto es necesario para configurar tus cuentas de usuario, configurar la elevación de privilegios con sudo y bloquear SSH por seguridad.

Una vez que hayas completado la guía anterior, puedes continuar con este artículo. En esta guía, nos centraremos en configurar algunos componentes opcionales pero recomendados. Esto implicará configurar nuestro sistema con un cortafuegos y un archivo de intercambio, y configurar la sincronización del Protocolo de Tiempo de Red.

Configuración de un cortafuegos básico

Los fuegos abiertos proporcionan un nivel básico de seguridad para tu servidor. Estas aplicaciones son responsables de rechazar el tráfico a cada puerto en tu servidor con excepciones para los puertos/servicios que hayas aprobado. CentOS incluye una firewall llamada firewalld. Se utiliza una herramienta llamada firewall-cmd para configurar políticas de la policía de fuego. Nuestra estrategia básica será bloquear todo lo que no tengamos una buena razón para mantener abierto. Primero instale firewalld:

  1. sudo yum install firewalld

La aplicación firewalld tiene la capacidad de hacer modificaciones sin perder las conexiones actuales, por lo que podemos activarla antes de crear nuestras excepciones.

  1. sudo systemctl start firewalld

Ahora que el servicio está up y corriendo, podemos usar la utilidad firewall-cmd para obtener y establecer información sobre la política del fuego. La aplicación firewalld se basa en el concepto de “zonas” para etiquetar la confiabilidad de otros host en una red. Este método nos permite asignar diferentes reglas dependiendo de cuánto confiamos en una red.

En este guía, solo ajustaremos las políticas de la firewall para la zona predeterminada. Cuando recargue nuestro firewall, esta será la zona aplicada a nuestras interfaces. Deberíamos comenzar agregando excepciones a nuestra firewall para servicios aprobados. El más esencial de ellos es SSH, ya que necesitamos mantener acceso administrativo remoto al servidor.

Si no ha modificado el puerto en el que el daemon SSH está ejecutándose, puede habilitar el servicio por nombre escribiendo:

  1. sudo firewall-cmd --permanent --add-service=ssh

Si has cambiado el puerto SSH para tu servidor, tendrás que especificar el nuevo puerto explícitamente. También necesitarás incluir el protocolo que utiliza el servicio. Solo escribe lo siguiente si tu servidor SSH ya ha sido reiniciado para utilizar el nuevo puerto:

  1. sudo firewall-cmd --permanent --remove-service=ssh
  2. sudo firewall-cmd --permanent --add-port=4444/tcp

Esto es lo mínimo necesario para mantener el acceso administrativo al servidor. Si planeas ejecutar servicios adicionales, también necesitas abrir el firewall para esos servicios.

Si planeas ejecutar un servidor web HTTP convencional, necesitarás habilitar el servicio http:

  1. sudo firewall-cmd --permanent --add-service=http

Si planeas ejecutar un servidor web con SSL/TLS habilitado, también deberías permitir el tráfico para https:

  1. sudo firewall-cmd --permanent --add-service=https

Si necesitas habilitar correo electrónico SMTP, puedes escribir:

  1. sudo firewall-cmd --permanent --add-service=smtp

Para ver servicios adicionales que puedes habilitar por nombre, escribe:

  1. sudo firewall-cmd --get-services

Cuando hayas terminado, puedes ver la lista de excepciones que se implementarán escribiendo:

  1. sudo firewall-cmd --permanent --list-all

Cuando estés listo para implementar los cambios, recarga el firewall:

  1. sudo firewall-cmd --reload

Si, después de las pruebas, todo funciona como se esperaba, deberías asegurarte de que el firewall se inicie en el arranque:

  1. sudo systemctl enable firewalld

Recuerda que tendrás que abrir el firewall explícitamente (con servicios o puertos) para cualquier servicio adicional que configure más tarde.

Configurar Zonas Horarias y Sincronización del Protocolo de Tiempo de Red

El siguiente paso es ajustar las configuraciones de localización para tu servidor y configurar la sincronización del Protocolo de Tiempo de Red (NTP).

El primer paso consistirá en asegurarte que el servidor funcione bajo el horario correcto. El segundo paso consistirá en configurar tu sistema para sincronizar su reloj de sistema con la hora estándar mantenida por una red global de servidores NTP. Esto ayudará a prevenir algunos comportamientos inconsistentes que puedan surgir de relojes desafinados.

Configurar zonas horarias

Primero debes establecer la zona horaria de tu servidor. Este proceso es muy simple y se puede realizar utilizando la comanda timedatectl.

Primero, mira la lista de zonas horarias disponibles escribiendo:

  1. sudo timedatectl list-timezones

Esto te mostrará una lista de las zonas horarias disponibles para tu servidor. Cuando encuentres la configuración de región/hora correcta para tu servidor, la establece escribiendo:

  1. sudo timedatectl set-timezone region/timezone

Por ejemplo, para establecerla en el tiempo oriental de los Estados Unidos, puedes escribir:

  1. sudo timedatectl set-timezone America/New_York

Tu sistema será actualizado para usar la zona horaria seleccionada. Puedes confirmar esto escribiendo:

  1. sudo timedatectl

Configura la sincronización de NTP

Ahora que tengas tu zona horaria configurada, deberías configurar NTP. Esto permitirá que tu computadora se mantenga sincronizada con otros servidores, lo que llevará a una mayor predicabilidad en operaciones que dependan de tener la hora correcta.

Para sincronización NTP usaremos un servicio llamado ntp, el cual podemos instalar desde los repositorios predeterminados de CentOS:

  1. sudo yum install ntp

A continuación, necesitarás iniciar el servicio para esta sesión. También debes habilitar el servicio para que se inicie automáticamente cada vez que el servidor se encuentre arranqueado:

  1. sudo systemctl start ntpd
  2. sudo systemctl enable ntpd

Tu servidor ahora corregirá automaticamente su reloj de sistema para alinearse con las servidores globales.

Cree un Archivo de Swap

Agregando “swap” a un servidor Linux permite al sistema mover la información menos frecuentemente accesible de un programa en ejecución desde la RAM hacia un lugar en disco duro. Acceder a datos almacenados en el disco duro es mucho más lento que acceder a la RAM, pero tener disponible swap a menudo puede ser la diferencia entre que tu aplicación siga vivo y caiga. Eso es especialmente útil si planeas hospedar cualquier base de datos en tu sistema.

La asuncion sobre el mejor tamaño para un espacio de intercambio varía significativamente según la fuente consultada. Generalmente, un tamaño igual o doble del que tiene RAM en tu sistema es un buen punto de partida.

Asignar la cantidad de espacio que deseas utilizar para tu archivo de swap usando la utilidad fallocate. Por ejemplo, si necesitas un archivo de swap de 4 Gigabytes ubicado en /swapfile, podrías crearlo escribiendo:

  1. sudo fallocate -l 4G /swapfile

Después de crear el archivo, necesitaré restringir el acceso al archivo para que otros usuarios o procesos no puedan ver lo que se escribe allí:

  1. sudo chmod 600 /swapfile

Ya tenemos un archivo con permisos correctos. Para indicarle a nuestro sistema que formatee el archivo para intercambio, podrías teclear:

  1. sudo mkswap /swapfile

Ahora, dirige a tu sistema que pueda usar la imagen de intercambio pulsando:

  1. sudo swapon /swapfile

Nuestro sistema está usando la imagen de intercambio para esta sesión, pero necesitas modificar un archivo del sistema para que nuestro servidor haga esto automáticamente al arrancar. Puedes hacerlo teclando:

  1. sudo sh -c 'echo "/swapfile none swap sw 0 0" >> /etc/fstab'

Con esta adición, tu sistema debería usar tu archivo de intercambio automaticamente en cada arranque.

¿Dónde Ir desde aquí?

Ahora tienes una configuración muy decente para tu servidor Linux. Desde aquí, hay muchos lugares donde ir. Primero, podrías desear hacer una instantánea de tu configuración actual.

Tomar una Instantánea de tu Configuración Actual

Si estás contento con tu configuración y deseas usar esta como base para futuras instalaciones, puedes tomar una instantánea de tu servidor a través del panel de control de DigitalOcean. A partir de octubre de 2016, las instantáneas cuestan $0.05 por gigabyte al mes basado en el espacio utilizado dentro del sistema de archivos.

Para hacer eso, debe apagar su servidor desde la línea de comandos. Aunque es posible hacer una imagen en ejecución, apagarlo garantiza que todos los archivos en el disco estén en un estado consistente:

  1. sudo poweroff

Ahora, en el panel de control de DigitalOcean, puedes tomar una instantánea visitando la pestaña “Snapshots” de tu servidor:

Después de tomar tu instantánea, podrás usar esa imagen como base para instalaciones futuras seleccionando la instantánea de la pestaña “My Snapshots” durante el proceso de creación:

Después de tomar una instantánea, tendrás la libertad de elegir una imagen de la lista “My Snapshots” para usarla como base durante la creación de imágenes futuras:

Desde aquí, tu camino depende completamente de lo que desees hacer con tu servidor. La lista de guías siguientes es en ningún caso exhaustiva, pero representa algunas configuraciones más comunes que los usuarios adoptan posteriormente:

Conclusión

Ahora, deberías tener una buena base para configurar los servidores nuevos. Espero que también tengas una buena idea sobre qué pasos siguientes deberás tomar. No dude en explorar el sitio para más ideas que puedas implementar en tu servidor. ¡Libre de explorar!

Source:
https://www.digitalocean.com/community/tutorials/additional-recommended-steps-for-new-centos-7-servers