GNU/Linux >> Tutoriales Linux >  >> Linux

Cómo asegurar Rocky Linux 8

La seguridad es una consideración esencial para cualquier servidor que inicie en un entorno de producción. La última versión de Rocky Linux 8 viene con sólidas funciones de seguridad. Sin embargo, no todos están activos o configurados correctamente de forma predeterminada, por lo que una instalación nueva siempre es vulnerable a ataques de piratería e intrusión.

En esta guía, veremos algunas tareas importantes que se deben realizar en el servidor para la configuración inicial y el fortalecimiento básico del servidor.

Requisitos

  • Un nuevo servidor Rocky Linux 8 en Atlantic.Net Cloud Platform
  • Una contraseña de root configurada en su servidor

Paso 1:actualice su servidor

Antes de comenzar, inicie sesión en su servidor Rocky Linux 8 a través de SSH o la consola VNC que se encuentra aquí:https://cloud.atlantic.net/

Después de iniciar sesión, deberá instalar los últimos parches de seguridad y actualizaciones en su servidor. Ejecute el siguiente comando para actualizarlos.

dnf update -y

Los servidores de Atlantic.Net están configurados como instalaciones mínimas para evitar que se instalen paquetes innecesarios que no se utilicen. Puede instalar algunos paquetes de software básicos ejecutando el siguiente comando:

dnf install wget git curl bind-utils tree net-tools -y

Paso 2:cambie la contraseña raíz predeterminada

Cuando lanza un nuevo servidor, sus servidores se configuran automáticamente con contraseñas seguras. Sin embargo, se recomienda cambiar su contraseña raíz cada 60 a 90 días a partir de entonces para garantizar que permanezca segura. Debe crear una contraseña raíz con un mínimo de 8 caracteres, incluidos caracteres en minúsculas, caracteres en mayúsculas y números.

Puede cambiar la contraseña de root usando el siguiente comando:

passwd root

Paso 3:cree un nuevo usuario con privilegios sudo

Primero, cree un nuevo usuario con el siguiente comando:

adduser user1

A continuación, establezca la contraseña usuario1 con el siguiente comando:

passwd user1

Después de crear un nuevo usuario, deberá agregar este usuario al grupo de ruedas Sudo. En Rocky Linux 8, 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.

usermod -aG wheel user1

Una vez que haya creado el usuario con permisos sudo/root, inicie sesión en usuario1 con el siguiente comando:

su - user1

Una vez que haya iniciado sesión, ejecute el siguiente comando usando sudo:

sudo dnf update -y

Se le pedirá que proporcione la contraseña de usuario1 para actualizar su sistema.

Esto confirmará que su usuario sudo está funcionando como se esperaba.

Paso 4:deshabilite el inicio de sesión raíz a través de SSH

Ya creamos un usuario administrador con permisos sudo/root para realizar todas las tareas. No necesita mantener al usuario raíz disponible y vulnerable a través de SSH en su servidor, por lo que deberá desactivar el inicio de sesión raíz a través de SSH.

Edite el archivo de configuración principal de SSH con el siguiente comando:

sudo nano /etc/ssh/sshd_config

Busque la siguiente línea:

PermitRootLogin yes

Cámbielo a la siguiente línea:

PermitRootLogin no

Guarde y cierre el archivo, luego reinicie el servicio SSH para aplicar los cambios:

systemctl restart sshd

Paso 5:cambiar el puerto predeterminado de SSH

Para cambiar el puerto SSH, edite el archivo de configuración principal de SSH:

sudo nano /etc/ssh/sshd_config

Busque la siguiente línea:

#Port 22

Cámbielo a las siguientes líneas:

Port 2020

Guarde y cierre el archivo, luego reinicie el servicio SSH para aplicar los cambios:

systemctl restart sshd

Ahora puede iniciar sesión en su servidor de Atlantic de forma remota a través de SSH usando el siguiente comando:

ssh [email protected] -p 2020

Paso 6:configurar un cortafuegos

firewall-cmd --state

Debería ver que el cortafuegos no se está ejecutando:

not running

Se recomienda habilitar el firewall y habilitar los puertos necesarios para el acceso externo.

Primero, habilite el servicio firewalld con el siguiente comando:

systemctl start firewalld
systemctl enable firewalld

Luego, permita el puerto SSH 2020 a través del firewall con el siguiente comando:

sudo firewall-cmd --permanent --add-port=2020/tcp

A continuación, vuelva a cargar el servicio firewalld para aplicar los cambios:

sudo firewall-cmd --reload

Ahora puede verificar los puertos agregados con el siguiente comando:

sudo firewall-cmd --list-ports

Debería ver el siguiente resultado:

2020/tcp

Si tiene algún servidor web instalado y ejecutándose en su servidor, es posible que deba permitir el servicio HTTP y HTTPS a través del firewall para acceder a él a través de Internet.

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

Para permitir el acceso externo a los servicios POP3, IMAP y SMTP, ejecute el siguiente comando:

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

Paso 7:instale NTP para sincronización de tiempo

También se recomienda instalar un servidor NTP para sincronizar la hora y la fecha de las computadoras a través de la red para mantenerlas precisas y actualizadas.

Primero, instale el servidor NTP usando el siguiente comando:

sudo dnf install chrony -y

Una vez que el servicio NTP esté instalado, inícielo y habilítelo para que se inicie al reiniciar el sistema:

sudo systemctl start chronyd
sudo systemctl enable chronyd

Ahora, su servidor NTP está instalado y actualizará constantemente la hora del servidor desde el servidor NTP.

Paso 8:deshabilite IPv6

Si no está utilizando IPv6, se recomienda desactivarlo por razones de seguridad.

Primero, verifique si IPv6 está habilitado en su instalación de Rocky Linux 8 usando el siguiente comando:

ip a | grep inet6

Debería ver las siguientes líneas si IPv6 está habilitado:

    inet6 ::1/128 scope host 
    inet6 fe80::200:d8ff:fe62:817/64 scope link 
    inet6 fe80::200:aff:fe62:817/64 scope link

Deberá crear un nuevo archivo de configuración para deshabilitar IPv6:

sudo nano /etc/sysctl.d/70-ipv6.conf

Agregue las siguientes líneas:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Guarde y cierre el archivo, luego vuelva a cargar el archivo de configuración con el siguiente comando:

sudo sysctl --load /etc/sysctl.d/70-ipv6.conf

Debería ver el siguiente resultado:

net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1

Para verificar que IPv6 esté deshabilitado, ejecute el siguiente comando:

ip a | grep inet6

Si el comando no devuelve nada, ha confirmado que IPv6 se ha deshabilitado en todas sus interfaces de red.

Paso 9:crea un espacio de intercambio

Un intercambio es un espacio en un disco que se usa cuando la cantidad de memoria RAM física está llena. Cuando su servidor se queda sin RAM, todas las páginas inactivas se mueven de la RAM al espacio de intercambio.

Cuando lanza una nueva instancia en Atlantic.Net, no crea una partición de intercambio. Deberá crear un espacio de intercambio manualmente después de iniciar la nueva instancia.

En general, el espacio de intercambio debe ser la mitad de su RAM existente. Si tiene 1 GB de RAM real, deberá crear un archivo de 512 MB.

Primero, crea un espacio de intercambio (de 512 MB) con el siguiente comando:

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

Salida:

524288+0 records in
524288+0 records out
536870912 bytes (537 MB, 512 MiB) copied, 10.3523 s, 51.9 MB/s

Puede calcular el tamaño del bloque con la fórmula 1024 x 512 MB =524288.

Después de crear el espacio de intercambio, formatéelo con el siguiente comando:

sudo mkswap /swapfile

Salida:

mkswap: /swapfile: insecure permissions 0644, 0600 suggested.
Setting up swapspace version 1, size = 512 MiB (536866816 bytes)
no label, UUID=8981408a-549d-47aa-a99a-72870b65212d

A continuación, establezca los permisos adecuados en el /swapfile con el siguiente comando:

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

A continuación, active el espacio de intercambio con el siguiente comando:

sudo swapon /swapfile

A continuación, verifique el espacio de intercambio con el siguiente comando:

swapon -s

Salida:

Filename				Type		Size	Used	Priority
/swapfile                              	file    	524284	0	-2

A continuación, deberá agregar la entrada del archivo de intercambio a /etc/fstab para que esté activo incluso después de reiniciar.

nano /etc/fstab

Agregue la siguiente línea:

/swapfile              swap   swap     defaults     0 0

Guarde y cierre el archivo, luego verifique el espacio de intercambio usando el siguiente comando:

free -m

Debería ver el siguiente resultado:

              total        used        free      shared  buff/cache   available
Mem:           1817         263         100          68        1452        1329
Swap:           511           0         511

Conclusión

En la guía anterior, explicamos algunos pasos básicos para asegurar su servidor Rocky Linux 8. Ahora puede proceder a alojar cualquier aplicación en el entorno seguro:¡pruébelo en su cuenta de alojamiento VPS de Atlantic.Net!


Linux
  1. Cómo instalar MariaDB 10.6 en Rocky Linux 8

  2. Cómo instalar Docker en Rocky Linux 8

  3. Cómo instalar Gulp.js en Rocky Linux 8

  4. Cómo crear un usuario Sudo en Rocky Linux 8

  5. Cómo instalar MariaDB en Rocky Linux 8

Cómo instalar MongoDB en Rocky Linux 8

Cómo instalar PostgreSQL en Rocky Linux 8

Cómo instalar cactus en Rocky Linux 8

Cómo instalar Joomla en Rocky Linux 8

Cómo instalar Fail2ban en Rocky Linux 8

Cómo instalar ImageMagick en Rocky Linux 8