Noticias, Gadgets, Android, Móviles, Descargas de Aplicaciones

10 consejos útiles para proteger el servidor Linux (mejorar la seguridad del servidor Linux)

Servidor Linux seguro es fundamental para proteger nuestros datos de los piratas informáticos. Pero asegurar un servidor no requiere ser complicado. Aquí hemos recopilado 7 consejos útiles para mejorar la seguridad del servidor Linux

Consejos para proteger el servidor Linux

La primera regla es mantener su servidor delgado y mezquino. Instale solo los paquetes que realmente necesita. Si hay paquetes no deseados; purga. Cuanto menor sea el número de paquetes, menor será la posibilidad de código sin parche.

Encienda SELinux

Security-Enhanced Linux (SELinux) es un mecanismo de seguridad de control de acceso proporcionado en el kernel. Puede hacer cumplir fácilmente una política de seguridad de su elección, que es imprescindible para un servidor Linux sólido como una roca.

SELinux proporciona 3 modos básicos de operación:

    Hacer cumplir: Este es el modo predeterminado que habilita y aplica la política de seguridad de SELinux en la máquina.Permisivo: En este modo, SELinux no impondrá la política de seguridad en el sistema, solo advertirá y registrará acciones.Discapacitado: SELinux está apagado.

Se puede gestionar desde ‘/ etc / selinux / config‘archivo, donde puede habilitarlo o deshabilitarlo.

CentOS y RedHat Enterprise Linux se envían con el sistema de seguridad SELinux. Está preconfigurado para una buena seguridad, por lo que no se necesitan más instrucciones.

Para configurarlo en el servidor de Ubuntu, use: sudo apt install selinux

Debian: sudo apt-get install selinux-basics selinux-policy-default auditd

Acceso seguro a la consola

Debe proteger el acceso a la consola de los servidores Linux desactivando el arranque desde dispositivos externos como DVD / CD / lápiz USB después de la configuración del BIOS. Además, establezca la contraseña del cargador de arranque de grub y BIOS para proteger estas configuraciones.

Restringir el uso de contraseñas antiguas

Podemos restringir a los usuarios para que utilicen las mismas contraseñas antiguas. El archivo de contraseña anterior se encuentra en / etc / security / opasswd. Esto se puede hacer usando el módulo PAM.

Abierto ‘/etc/pam.d/system-auth‘archivo bajo RHEL / CentOS / Fedora.

# vi /etc/pam.d/system-auth

Abierto ‘/etc/pam.d/common-password‘archivo bajo Ubuntu / Debian / Linux.

# vi /etc/pam.d/common-password

Agregue la siguiente línea a ‘auth ‘ sección.

auth sufficient pam_unix.so likeauth nullok

Agregue la siguiente línea a ‘contraseña‘para no permitir que un usuario reutilice las últimas 3 contraseñas.

password sufficient pam_unix.so nullok use_authtok md5 shadow remember=3

El servidor recuerda las últimas 3 contraseñas. Si intentó utilizar cualquiera de las últimas 3 contraseñas antiguas, obtendrá un error como.

Ya se ha utilizado la contraseña. Seleccione otro

Compruebe los puertos de escucha

Utilizar ‘netstat‘comando para ver los puertos abiertos y los servicios correspondientes.

netstat -tunlp

Deshabilite los servicios no deseados del sistema usando ‘chkconfig ‘ comando y cierre los puertos que no sean necesarios.

chkconfig serviceName off

Deshabilitar el inicio de sesión de root

Al cerrar el acceso a la cuenta Root, podrá asegurarse de que los delincuentes no puedan obtener acceso completo a los archivos del sistema, instalar software problemático (como malware), etc. No es aconsejable utilizar SSH en su servidor como superusuario (root) . Debemos deshabilitar ssh como usuario root en el servidor, pero antes de hacerlo, creemos un usuario con poderes sudo para que pueda ingresar al servidor y realizar tareas administrativas. Una vez que haya iniciado sesión en el servidor, siempre puede cambiar de usuario a root, si es necesario.

Crea un nuevo usuario:

useradd user1

Crear contraseña para el usuario agregado:

passwd user1

Proporcione permisos de sudo al usuario recién agregado:

echo 'user1 ALL=(ALL) ALL' >> /etc/sudoers

SSH al servidor con el nuevo usuario y asegúrese de que el inicio de sesión funcione.

Ahora vamos a deshabilitar el inicio de sesión de root, lo que significa que nadie puede ssh o iniciar sesión en el servidor como usuario root. Para hacerlo, abra el archivo de configuración sshd:

nano /etc/ssh/sshd_conf

A continuación, descomente la línea que dice

PermitRootLogin no

Luego guarde y cierre este archivo y reinicie el servicio

service sshd restart

Importante: no cierre sesión en el servidor todavía. Primero pruebe si puede ssh exitosamente en el servidor usando el usuario creado previamente. Abra otra instancia de la terminal y ssh en el servidor con el usuario que creó anteriormente. Si todo funciona bien, puede cerrar la sesión del servidor como root de forma segura.

Cambiar el puerto

Podemos cambiar el puerto SSH predeterminado para agregar una capa de opacidad para mantener su servidor seguro.

Abra el archivo / etc / ssh / sshd_config

reemplace el puerto predeterminado 22 con un número de puerto diferente, digamos 1110

guardar y salir del archivo

service sshd restart

Ahora, para iniciar sesión, defina el número de puerto.

ssh username@IP -p 1110

Deshabilitar Ctrl + Alt + Delete en Inittab

Golpeando Ctrl + Alt + Suprimir llevará su servidor al proceso de reinicio. Por lo tanto, siempre es recomendable desactivarlo, ya que alguien puede reiniciar el sistema por error.

La acción ctrl + Alt + Supr se define en /etc/init/control-alt-delete.conf. Comente la siguiente línea

#start on control-alt-delete

Inicio de sesión sin contraseña

Podemos iniciar sesión fácilmente en nuestro servidor a través de SSH sin ninguna contraseña generando las claves ssh. Solo tenga cuidado de poder iniciar sesión en su servidor solo desde esa máquina en la que generó las claves ssh

Generando claves SSH:

ssh-keygen – t rsa

Copie su clave SSH pública, luego agregue la misma en el servidor

cat ~/.ssh/id_rsa.pub

Para agregar claves ssh en el servidor

Supongamos que tenemos user-user1 para proporcionar acceso con clave ssh al servidor

cd /home/user1
ls -ll

Cree un directorio .ssh y dentro de él cree un archivo llamadoautorized_keys y agregue la clave pública ssh del usuario en el mismo

mkdir .ssh
cd /home/admin/.ssh
vim authorized_keys

Agregue la clave SSH pública y luego cambie el propietario del archivo

chown user1 authorized_keys

Deshabilitar el inicio de sesión ssh

Edite / etc / ssh / sshd_config

Passwordauthentication no
PermitRootLogin no

Ahora, solo el usuario autorizado puede iniciar sesión en el servidor con el comando

ssh user-name@serverIP -p(port Number)

Apague IPv6 para aumentar la seguridad del servidor Linux

IPv6 es mejor que IPv4, pero probablemente no esté obteniendo mucho de él porque tampoco nadie más. Los piratas informáticos obtienen algo de él, porque lo usan para enviar tráfico malicioso, por lo que cerrar IPv6 les cerrará la puerta en la cara. Vaya a editar / etc / sysconfig / network y cambie la configuración para leer NETWORKING_ IPV6 = no e IPV6INIT = no. Simple como eso.

Utilice SFTP, no FTP

El protocolo de transferencia de archivos (FTP) ya no es seguro, incluso si encripta su conexión. FTP y FTPS no lo mantendrán a salvo de la detección de paquetes, que es donde otra persona registra el tráfico de su red. Solo las credenciales están encriptadas, lo que no es de mucha utilidad para nadie.

SFTP es “FTP sobre SSH” (también llamado “FTP seguro”), y cifra todos los datos, credenciales y archivos incluidos.

Instale siempre actualizaciones

Esto parece un punto obvio, pero le sorprendería saber cuántos operadores de servidores Linux renuncian a las actualizaciones de su sistema. La elección es comprensible, ya que cada actualización tiene el potencial de arruinar las aplicaciones en ejecución, pero al optar por evitar las actualizaciones del sistema, se pierde los parches de seguridad que corrigen vulnerabilidades y errores que los piratas informáticos usan para violar los sistemas Linux.

Es cierto que la actualización en un servidor Linux de producción es mucho más molesta que nunca en el escritorio. El simple hecho es que no se puede detener todo para instalar parches. Para evitar esto, considere la posibilidad de configurar un programa de actualización planificado.

Para ser claros, no hay una ciencia establecida sobre los horarios de actualización. Pueden variar según su caso de uso, pero es mejor instalar parches semanalmente o quincenalmente para una máxima seguridad.

Fail2Ban para inicio de sesión SSH

Fail2ban funciona alterando dinámicamente las reglas del cortafuegos para prohibir las direcciones que han intentado iniciar sesión sin éxito un cierto número de veces.

Instale Fail2ban:

sudo apt-get update
apt-get install fail2ban

Cree un nuevo archivo jail.local y copie el contenido de jail.config al mismo y realice los cambios solo en el archivo jail.local

cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local

Edite el archivo /etc/fail2ban/jail.local

Realice los cambios deseados:

[sshd]
enabled = true
port = ssh ( provide the port number if the default port is changed )
protocol = tcp
filter = sshd
logpath = /var/log/secure
maxretry = 3 ( max no. of tries after which the host should be banned)
findtime = 600 (This parameter sets the window that fail2ban will
 pay attention to when looking for repeated failed authentication attempts
in seconds)
bantime = 600 (time duration for which the host is banned -in seconds)

Luego reinicia los servicios fail2ban

service fail2ban restart

La IP se puede bloquear permanentemente configurando bantime = -1.

Nota: FAIL2BAN bloqueará la IP global.

La seguridad solía ser un inconveniente a veces, pero ahora es una necesidad todo el tiempo – Martina Navratilova