Linux / Unix impulsa casi todo en Internet. Casi todos los sitios web que visita en Internet están alojados en un servidor que ejecuta Linux. Estos servidores albergan datos críticos y confidenciales. Esto podría incluir aplicaciones y sitios web que son muy populares. En esta guía de refuerzo del servidor Linux, aprenderá las 8 mejores formas de asegurar su servidor Linux y protegerlo de los piratas informáticos. El proceso de seguridad debe ser siempre sencillo y directo. Los piratas informáticos siempre buscan vulnerabilidades que explotan para obtener acceso a su servidor.
Seguridad del servidor físico: protección de la consola
Hay 101 formas en las que un pirata informático puede piratear su sistema Linux. Pero hay 1001 formas en las que puede protegerse contra sus ataques. Para asegurar su consola Linux, deberá asegurarse de deshabilitarla para arrancar desde dispositivos externos específicos que son:
- Unidades flash o USB.
- DVD y CD.
Solo debe deshabilitar el proceso de arranque en las unidades anteriores una vez que haya configurado su BIOS.
Como medida de seguridad adicional, debe bloquear el gestor de arranque grub y el BIOS. Esto garantizará que nadie con acceso físico a sus sistemas críticos pueda cambiar la configuración anterior.
Habilitar SELinux (Linux con seguridad mejorada)
Este es un método de seguridad de control de acceso en Linux a nivel de kernel. Proporciona una variedad de modos de lo que puede hacer.
- Permisivo: este es un modo en el que su servidor no aplicará ninguna de las políticas de seguridad. Sin embargo, registrará cualquier cambio y le advertirá de lo sucedido.
- Aplicación: esto habilitará SELinux y hará cumplir todas las políticas de seguridad que ha creado.
- Deshabilitado: esto apagará SELinux, por favor no lo hagas.
A continuación se muestra el comando para cambiar la configuración de SELinux.
Cmd: /etc/selinux/config
Cerrar puertos no utilizados – Netstat
El comando Netstat le permite ver todas las conexiones activas a su servidor. Esto le mostrará todos los puertos abiertos y los servicios que están usando.
Le mostrará una lista de servicios y es una buena práctica apagar los puertos a los servicios que su servidor no usa.
CMD para verificar puertos abiertos: netstat -tunlp
Ahora, para deshabilitar los puertos no deseados, necesitará usar otro comando.
CMD para desactivar los servicios en Linux: chkconfig Nameofservice off
Conexión SSH segura
SSH (Secure Shell) es la forma más segura de conectarse a su servidor. Sin embargo, los piratas informáticos saben en qué puerto opera y ese es el «Puerto 22».
Cambiar el número de puerto SSH le brinda una ventaja de seguridad.
Siga los pasos a continuación para cambiar el número de puerto SSH predeterminado en Linux:
- Vaya a /etc/ssh/sshd_config
- Ahora cambie el número de puerto predeterminado con cualquier número de puerto que desee. Por ejemplo, 2211.
- Una vez que haya cambiado el número de puerto, guarde y salga de la configuración.
- Ahora, para habilitar los cambios que ha realizado, ejecute el comando «service sshd restart» en la CLI.
Recordatorio: cuando vuelva a iniciar sesión con SSH, utilice el nuevo número de puerto. Digamos que fue el número de puerto que le dimos en el ejemplo anterior, por lo que será, example @ IP -p 2211.
Inicio de sesión de root: desactívelo
Muchos profesionales lo recomiendan y también es una buena práctica comprobada que nunca debe usar SSH con una cuenta de superusuario/root. Debe deshabilitar el acceso de root a través de SSH en el servidor.
Para deshabilitar el inicio de sesión de root en su servidor Linux para mayor seguridad, siga los pasos a continuación:
- Abra el archivo de configuración SSH: nano /etc/ssh/sshd_conf
- Descomente la siguiente línea: PermitRootLogin no.
- Guarde el archivo y reinicie su servicio.
Te aconsejo que pruebes si esto funciona. No cierre sesión en la terminal existente. Abra una nueva terminal, intente conectarse nuevamente y luego salga.
Sin contraseñas antiguas, no las reutilice
Como regla general, nunca debe reutilizar contraseñas antiguas. Puede restringir fácilmente a los usuarios el uso de sus antiguas contraseñas en la misma máquina.
La ubicación del archivo de contraseña anterior es: /etc/security/opasswd. Esto solo se puede cambiar usando el módulo PAM en Linux.
Siga los pasos a continuación para restringir el uso de contraseñas antiguas:
Para RHEL (Red Hat Enterprise Linux), CentOS y Fedora:
- Vaya a «/etc/pam.d/system-auth«
Para Debian y Ubuntu:
- Vaya a «/etc/pam.d/common-password«.
Una vez que haya abierto la ubicación de las contraseñas antiguas, siga los siguientes pasos:
- En la sección «auth», deberá ingresar la siguiente línea: «auth enough pam_unix.so likeauth nullok«
- Si desea permitir que un usuario reutilice su contraseña de varias contraseñas que se usaron por última vez, agregue la siguiente línea en la sección «password»: «password sufficient pam_unix.so nullok use_authtok md5 shadow remember = 3«
- Ahora, después de haber activado esta función de seguridad, le dará un error al usuario que está intentando usar una contraseña anterior, de sus últimas tres contraseñas en el servidor.
Menos paquetes = Menos posibilidades de ser pirateado
Solo debe instalar los paquetes que necesite. NO instale ningún paquete que no necesite o no use en su caja Linux. Los paquetes pueden tener vulnerabilidades que pueden comprometer su sistema. No necesita muchos servicios a la vez instalados en su sistema.
Deberá encontrar los paquetes no utilizados / no deseados en su servidor Linux. Esto también reducirá la superficie de ataque de un hacker. Cuantos menos servicios haya instalado, menores serán las posibilidades de que sea vulnerable a un ataque.
Siga los pasos a continuación para inhabilitar los paquetes que no necesita:
- Utilice el comando «chkconfig» (cmd). Esto le mostrará los servicios que se ejecutan en el «nivel de ejecución 3».
- Ahora ejecute el siguiente comando para obtener una lista de todos los servicios: «# /sbin/chkconfig –list | grep «3: on».
- El comando para deshabilitar los servicios es: «chkconfig Nameofservice off».
También puede usar el administrador de paquetes RPM para YUM o APT-GET. Esto también le mostrará una lista de todos los paquetes disponibles instalados.
Para eliminar paquetes con YUM:
- yum -y eliminar el nombre-del-paquete
Para eliminar paquetes usando apt-get:
- sudo apt-get eliminar nombre-del-paquete
Mantenga siempre actualizado su servidor
Hacer que siempre instale la última versión de cualquier software que esté ejecutando. Esto también incluye cualquier actualización importante de Linux. Todos los días surgen vulnerabilidades del kernel que necesitan parches.
Las correcciones de seguridad son fundamentales para su infraestructura. Son un salvavidas y tienen muchos beneficios para la salud de su sistema.
Para actualizar su servidor Linux, ejecute los siguientes comandos en la línea de comandos:
- yum check-update
- yum updates
Consejos de seguridad adicionales para Linux:
- Supervise siempre su servidor para detectar cualquier actividad no deseada.
- Verifique sus archivos de registro para ver si hay cambios sospechosos en los archivos o cambios en los permisos.
- Verifique su firewall para ver si hay advertencias o notificaciones.
- Mantenga todos sus paquetes actualizados.
- Bloqueo de Cronjobs solo para usuarios autorizados.
- Desactive los protocolos que no esté utilizando, como IPv6.
- Habilite el firewall de Linux y encienda iptables.
- Realice copias de seguridad con regularidad en caso de cualquier desastre.
Tenga en cuenta: hay muchas distribuciones / sabores diferentes de Linux. Esto incluye Ubuntu, CentOS, RHEL, Mint, Arch, OpenSUSE y Debian. El tutorial anterior debería funcionar en todos ellos y solo habrá pequeños cambios en la CLI.