Es muy importante la seguridad en nuestros servidores, y con toda esta revolución tecnologica asociada a los MALWARE y ataques a nivel mundial, es bueno que tengas en cuenta ciertos aspectos de seguridad que pueden ayudarte ante cualquier situación que se te pueda presentar y por esta razón te muestro unos 25 consejos para aumentar la seguridad en Linux, no solo en Debian sino tambien en otros sabores.
1 Seguridad física del sistema
Configurar el BIOS para deshabilitar el arranque por CD/DVD, dispositivos externos y diskettes. Después, habilitar la contraseña del BIOS y proteger el archivo GRUB con contraseña para restringir el acceso físico al sistema.
2 Disco particionado
Es importante contar con diferentes particiones para conseguir mayor seguridad de los datos en caso de que algún desastre ocurra. Al crear diferentes particiones, los datos pueden ser separados o agrupados según su tipo. Cuando un accidente ocurre, solo los datos de la partición afectada deberán ser remplazados, mientras que los datos en otras particiones no se verán afectados.
Asegúrate de tener las siguientes particiones e instalar todas las aplicaciones de terceros en la partición /opt
/ /boot /usr /var /home /tmp /opt
3 Minimizar paquetes para minimizar vulnerabilidades
¿Realmente necesitas todos los servicios instalados- se recomienda evitar instalar paquetes que no se utilizan para evitar las vulnerabilidades de esos paquetes. Esto minimiza el riesgo de que comprometan un servidor.
Identifica y elimina los servicios y programas innecesarios en el servidor para minimizar vulnerabilidades. Utiliza el comando “chkconfig” para identificar los servicios que están corriendo en runlevel3
# /sbin/chkconfig –list |grep ‘3:on’
Una vez identificado el servicio incensario, es posible deshabilitarlo con el siguiente comando
# chkconfig serviceName off
Utiliza el adiestrador de paquetes RPM, yum o apt-get, para listar todos los paquetes instalados en el sistema y remover aquellos que no son necesarios con el siguiente comando:
# yum -y remove package-name
# sudo apt-get remove package-name
4 verifica los puertos de red que escuchan conexiones
Con la ayuda del comando “netstat” es posible listar todos los puertos abiertos y los programas que los utilizan. Es posible utilizar el comando “chkconfig” para deshabilitar todos los servicios de red no deseados en el sistema.
# netstat -tulpn
5 Utiliza Secure Shell (SSH)
Los protocolos Telnet y rlogin utilizan texto plano para el envío de la información, en cambio, Secure Shell es un protocolo seguro ya que utiliza cifrado en todas las comunicaciones entre equipos.
Nunca inicies sesión directamente como root, a menos que sea sumamente necesario. Utiliza el comando “sudo” para ejecutar comandos que requieran permisos administrativos. Sudo está especificado en el archivo /etc/sudoers/ y puede ser editado con el comando “visudo” a través de la interfaz del editor Vi.
También se recomienda cambiar el puerto predeterminado para el protocolo SSH, puerto 22, a un puerto no convencional.
Se recomienda modificar el archivo de configuración “/etc/ssh/sshd_config” con los siguientes parámetros para restringir el acceso a usuarios.
Deshabilitar inicio de sesión de root
PermitRootLogin no
Permitir solo usuarios específicos
AllowUsers username
Utilizar versión 2 del protocolo SSH
Protocol 2
Cambiar puerto para escuchar conexiones entrantes
Port 50221
6 Mantener actualizado el sistema
Siempre se debe mantener actualizado el sistema y aplicar los parches, soluciones de seguridad y actualizaciones de kernel más recientes y tan pronto se encuentre encuentren disponibles.
# yum updates
# yum check-update
# sudo apt-get update
7 Controlar las tareas programadas
El demonio cron tiene una característica incluída en la cual se puede especificar los usuarios que pueden y no pueden ejecutar tareas programadas. Esto se controla con el uso de los archivos llamados /etc/cron.allow y /etc/cron.deny. Para bloquear a un usuario, basta con añadir su nombre de usuario en el archivo cron.deny y para permitir un usuario que ejecute tareas, se añade su nombre en el archivo cron.allow. Si se desea deshabilitar a todos los usuarios del uso de tareas, se añade la palabra ALL a una línea del archivo cron.deny.
# echo ALL >> /etc/cron.deny
8 Deshabilitar puertos USB
Muchas veces pasa que se desea restringir a los usuarios para que no puedan conectar memorias USB en lo equipos, con la finalidad de proteger contra robo la información que almacenan. Para lograr esto, se debe crear el archivo /etc/modprobe.d/no-usb y agregarle la siguiente línea, con la cual no se detectarán dispositivos de almacenamiento por USB.
install usb-storage /bin/true