GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo inicializar la configuración del servidor CentOS 7

Introducción

El sistema CentOS 7 es muy diferente a sus predecesores más antiguos. Con cualquier servidor, el objetivo principal siempre debe ser la seguridad. Muchos usuarios son víctimas de infiltraciones maliciosas en sus servidores debido a la falta de límites de seguridad establecidos desde un principio. Empecemos por el buen camino poniendo nuestros cimientos con seguridad. Este instructivo lo ayudará con su configuración inicial en CentOS 7 para que pueda asegurar su servidor con éxito mientras le da la tranquilidad de saber que su servidor está protegido.

¿Qué necesitas?

Necesita un servidor CentOS 7 configurado con una dirección IP estática. Si aún no tiene un servidor, considere un servidor de alta calidad de Atlantic.net y esté listo en menos de 30 segundos.

Preparación del servidor

Para comenzar, inicie sesión en su servidor CentOS 7 a través de SSH o la consola VNC que se encuentra aquí. Los servidores de Atlantic.Net Cloud están configurados como instalaciones mínimas para evitar que se instalen paquetes innecesarios y nunca se utilicen. Si algunos paquetes de software que está acostumbrado a usar no están instalados de forma predeterminada, siéntase libre de instalarlos según sea necesario.

Asegurémonos de que su servidor esté completamente actualizado.

yum update

Podemos continuar con el proceso y asegurar su servidor con el servidor actualizado.

Actualice la contraseña raíz de CentOS 7

Escriba el siguiente comando para activar su solicitud y siga las instrucciones en pantalla para actualizar/confirmar su contraseña raíz:

passwd

Cree un nuevo usuario con privilegios sudo

Después de actualizar con éxito su contraseña, se recomienda que cree un nuevo usuario con permisos sudo/root. Dado que el usuario administrador típico para muchos sistemas operativos Linux como CentOS 7 es "root", crearemos un nuevo usuario administrador que se usará para las tareas administrativas diarias. La creación de un nuevo usuario con permisos de root aumentará la seguridad de acceso a su servidor. Los usuarios no deseados apuntan al usuario raíz porque saben que es el usuario administrador predeterminado. Aún así, cuando crea un nuevo usuario con permisos sudo/root y luego deshabilita el usuario root predeterminado, nunca sabrá con qué usuario iniciar sesión.

Escriba el siguiente comando para crear su nuevo usuario reemplazando "usuario1" con su nombre de usuario y confirme.

adduser user1

Cree una contraseña para ese usuario escribiendo el siguiente comando para activar su solicitud y siguiendo las instrucciones en pantalla para actualizar/confirmar su contraseña de "usuario1":

passwd user1

Una vez que haya creado un nuevo usuario y la contraseña, es hora de agregar el usuario al grupo de la rueda Sudo. En CentOS 7, una vez que los agrega al grupo de ruedas sudo, se les asignan automáticamente permisos sudo/root. Ejecute el siguiente comando para agregar al usuario al grupo de ruedas Sudo.

 gpasswd -a user1 wheel

Finalmente, cuando haya creado el usuario con permisos sudo/root, puede salir de su sesión y volver a iniciar sesión con su "usuario1" para verificar los cambios realizados. Alternativamente, puede ejecutar el siguiente comando y cambiar de usuario de raíz a "usuario1", que le pedirá la palabra de usuario de ese usuario.

su - user1

Configurar acceso SSH

El puerto 22 es el puerto predeterminado para conexiones remotas a través de SSH en sistemas Linux. Al cambiar el puerto ssh, aumentará la seguridad de su servidor al evitar que los ataques de fuerza bruta y los usuarios no deseados lleguen a su servidor utilizando el puerto predeterminado. Para este tutorial, usaré el puerto 5022 como ejemplo.

Abra su archivo de configuración SSH, busque la línea Puerto, elimine el # y cambie el número 22 a su puerto personalizado. Guardar y salir.

sudo vi /etc/ssh/sshd_config
#Port 22
Port 5022

Para que su sistema actualice la configuración del archivo de configuración de SSH, debemos reiniciar sshd.

sudo systemctl restart sshd.service

SSH ahora se configuró para usar el puerto 5022, y si intenta iniciar sesión usando el puerto 22, su inicio de sesión fallará. Sin embargo, no salga de su sesión, ya que primero debemos configurar el puerto personalizado en la parte de configuración de los cortafuegos, que configuraremos en los próximos pasos.

Limitar acceso raíz

Dado que examinamos a un nuevo usuario con permisos raíz y creamos un puerto ssh personalizado, mantenga al usuario raíz real disponible y vulnerable a través de SSH en su servidor. Restrinjamos el acceso del usuario raíz al servidor local y otorguemos permiso al nuevo usuario solo a través de SSH.

Abra el archivo de configuración de SSH, busque la línea PermitRootLogin, elimine el # y cámbielo de sí a no.

sudo vi /etc/ssh/sshd_config
#PermitRootLogin yes
PermitRootLogin no

Para que su sistema actualice la nueva configuración en el archivo de configuración SSH, debemos reiniciar el servicio sshd.

sudo systemctl restart sshd.service

Nota:ahora tendrá el usuario raíz deshabilitado para realizar esos cambios, por lo que debe iniciar sesión en su servidor con el "usuario" que creó. Sin embargo, no salga de su sesión; debemos configurar el puerto personalizado en el cortafuegos en los próximos pasos.

Crear una clave SSH privada

Claves SSH públicas/privadas son excelentes características adicionales que aumentan la seguridad en el método de un servidor. Sin embargo, se necesita un poco más de esfuerzo para configurarlo. La pregunta es:¿Vale la pena la seguridad adicional de su servidor? Si desea implementar las siguientes características de seguridad, puede continuar con los siguientes pasos. Procedamos y generemos la clave SSH.

ssh-keygen

Si desea cambiar la ubicación donde se guardará la clave SSH, puede especificarla aquí. Sin embargo, la ubicación predeterminada donde se almacena debería estar bien. Presione Intro cuando se le solicite con la siguiente pregunta, luego ingrese una frase de contraseña, a menos que no quiera una.

Enter file in which to save the key (/home/user1/.ssh/id_rsa):

Esta es la página predeterminada al instalar SSH Keys en un servidor CentOS 7

La configuración de la clave SSH es crucial. Debemos copiar la cadena de clave completa en un documento de Word/Bloc de notas. La clave se puede ver en la siguiente ubicación con el comando cat.

cat ~/.ssh/id_rsa.pub

Copie la clave SSH, comenzando con ssh-rsa y terminando con [email protected], en un documento de Word/Bloc de notas para agregarlo al archivo de configuración más adelante.

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDNcnc3pMOytM7xgwZHUX0Wi/O78hDvLUmQVtKn8Qk1ijBY82jVftKXKRhf8toNkgm9jaZmfapLa7ynzUG4jbFjyy8H+iEs1R8P7eu+e8/fmGwjorbMFuWdoi7h2CldoqKTdMEb/dMNxjNMzBbovl3XtZviQGm4/TMVO1hHxy85JR8zAtNFu7liaP7IonexNrOGhY8CjqRcBsceQLkl1MlX7cWaWAMqd6jQnAvggTLerI9P286AP8Sk4uColj7GKOljj8X6J/2pcjp9v2IvJOqwC/zLwUKZ6qTEV6SrfdbjopoCVvpXkVhmcbHX5Xv1gwynO+vTkpPFwVTjSnAai71L [email protected]

Una vez que la clave SSH se almacena de forma segura, el directorio de las claves SSH necesita permisos limitados, que solo el propietario puede leer, escribir y ejecutar el archivo.

chmod 700 .ssh

Dentro del directorio SSH, se debe agregar un archivo que contenga la Clave SSH, simplemente usando su editor (en este caso VI) la siguiente ubicación:

vi .ssh/authorized_keys

Pegue la clave SSH, luego guarde y salga usando el formato VI.

Finalmente, tenemos que limitar los permisos del archivo authorized_keys que acabamos de crear para que solo el propietario pueda leer y escribir.

chmod 600 .ssh/authorized_keys

Ahora podríamos verificar que la clave funciona cerrando la sesión y escribiendo [email protected] o sus servidores alojados en su consola SSH. Además, puede hacer clic "aquí" para ver nuestro artículo Cómo generar y usar claves SSH para obtener más información.

Reglas básicas de cortafuegos

sudo systemctl start firewalld

A continuación, agregaremos una regla para permitir que el puerto SSH 5022 personalizado que se creó anteriormente acceda al servidor públicamente. Al mismo tiempo, eliminaremos la regla predeterminada anterior que permitía el acceso SSH en TCP/22.

sudo firewall-cmd --permanent --add-port=5022/tcp
sudo firewall-cmd --permanent --remove-service=ssh

Si tiene un servidor web, es posible que desee permitir que las siguientes reglas accedan a sus sitios a través de Internet.

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

Puede usar esto para reglas similares relacionadas con cualquier sistema que desee que sea de acceso público. Este servidor de prueba está configurado para alojar un sitio web y servicios de correo electrónico, por lo que, además de las reglas SSH y HTTP(S) actualizadas, se han agregado reglas adicionales para POP3, IMAP y SMTP seguros.

sudo firewall-cmd --permanent --add-service=pop3s
sudo firewall-cmd --permanent --add-service=imaps
sudo firewall-cmd --permanent --add-service=smtp

Para que Firewalld acepte esa configuración, debe reiniciar el firewall.

sudo firewall-cmd --reload

Su configuración se habrá guardado y estará listo para continuar.
Para verificar todos los servicios/puertos que están disponibles, ejecute lo siguiente:

sudo firewall-cmd --permanent --list-all

Esta es la página predeterminada después de configurar las reglas de Firewalld en un servidor CentOS 7

Sincronización de hora NTP

El NTP (Network Time Protocol) se usa para sincronizar la hora y la fecha de las computadoras a través de la red para mantener la precisión y la actualización. Comencemos instalando el NTP (si no se ha instalado) y configurando el servicio para sincronizar con sus servidores.

sudo yum install ntp

Una vez que se instala el servicio NTP, debemos asegurarnos de que el servicio esté ENCENDIDO.

sudo systemctl start ntpd

Ahora que el servicio ha comenzado, habilitemos el servidor NTP para actualizar los servidores desde el servidor NTP constantemente.

sudo systemctl enable ntpd

Agregar archivo de intercambio

Un archivo de intercambio es simplemente una pequeña cantidad de espacio creado en el disco duro de un servidor para simular RAM. Si el servidor se está quedando sin memoria, mirará el disco duro y aliviará la carga engañando al sistema para que piense que tiene más memoria. Configuraremos el archivo de intercambio en el disco duro para aumentar un poco más el rendimiento del servidor.

Comience por verificar sus recursos para asegurarse de que podamos agregar el archivo. Cuando ejecute el siguiente comando, verá el porcentaje de espacio en su disco duro que se está utilizando actualmente.

df -h

Al crear un archivo de intercambio, generalmente desea agregar la mitad de su RAM existente hasta 4 GB (si tiene 1 GB de RAM real, agrega un archivo de 512 MB). En esta parte, agregaré un archivo de intercambio de 512 MB a la unidad. La forma en que esto se calcula es por 1024 x 512 MB =524288 tamaño de bloque.

sudo dd if=/dev/zero of=/swapfile bs=1024 count=524288

Ahora que hemos agregado un archivo de intercambio, se debe crear un área para continuar.

sudo mkswap /swapfile

Con el archivo de intercambio creado y el área de archivo de intercambio agregada, podemos agregar permisos al archivo para que solo el propietario pueda leer y escribir.

sudo chown root:root /swapfile
sudo chmod 0600 /swapfile

Ahora que el archivo de intercambio tiene los permisos adecuados, podemos continuar y activarlo.

sudo swapon /swapfile

Puede verificar su archivo de intercambio recién agregado con lo siguiente.

sudo swapon -s

Para que el archivo de intercambio esté siempre activo, incluso después de reiniciar, debemos configurarlo en consecuencia.

sudo vi /etc/fstab

Pegue el siguiente comando en la parte inferior del archivo, guarde su trabajo y salga.

/swapfile              swap   swap     defaults     0 0

Finalmente, verifique si su archivo de intercambio está activado escribiendo el siguiente comando:

free -m

Esta es la página predeterminada después de crear un archivo de intercambio en un servidor CentOS 7

¿Qué sigue?

Con eso, ahora tiene un servidor con una sólida base de seguridad, lo que le da la tranquilidad de saber que su servidor está protegido. Ahora puede continuar con la construcción de su plataforma de acuerdo con sus necesidades. Gracias por seguirnos y no dude en consultarnos para obtener más actualizaciones.

Obtenga más información sobre nuestros servicios de hospedaje de VPS y el precio del hospedaje de VPS.


Linux
  1. Cómo configurar un servidor SFTP en CentOS

  2. Cómo configurar el servidor SysLog en CentOS 7 / RHEL 7

  3. Cómo instalar VSFTPD en un servidor en la nube de CentOS

  4. ¿Cómo configurar el servidor NTP en CentOS?

  5. ¿Cómo configurar VSFTPD en CentOS 7.x?

CentOS 8:configuración inicial del servidor

Cómo:Configuración inicial del servidor Ubuntu 15.04

Cómo:Configuración inicial del servidor Fedora 21

Cómo:Configuración inicial del servidor Debian 8.2

Configuración inicial del servidor con Ubuntu 18.04

Cómo configurar HAProxy en CentOS 8