Una de las tareas comunes que deben aplicarse a un servidor que va a pasar a producción es fortalecer la seguridad que lleva por defecto el sistema. A esto se le llama bastionar o securizar.
Los siguientes puntos se van a centrar únicamente en la seguridad de la máquina, sin extenderse en los elementos externos que se pueden utilizar para securizar el equipo, como NIDS, IPS, firewalls, auditorías periódicas o cañones de fotones.
- Software siempre actualizado.
- Configuración deficiente de las aplicaciones.
- Ocultar en la medida de lo posible información “jugosa”.
- Cifrados débiles.
- Permisos de usuario y administrador.
- Política de contraseñas.
- Aplicar una política restrictiva cuando se vaya a almacenar una contraseña, como el tamaño mínimo, el uso de mayúsculas, números, caracteres especiales.
- Controlar el acceso a la aplicación, con un máximo de intentos, o un delay entre intentos.
- Evitar que se pueda utilizar una palabra de diccionario. Se puede usar un agente que lo detecte: http://www.debian-administration.org/articles/59
- Y sobre todo, nunca nunca usar la misma contraseña para cada cuenta o servicio o máquina. Vulneran una contraseña, y pueden tomar el control del resto de servicios o máquinas. Como acordarse de todas ellas es imposible para un mortal medio, es recomendable usar herramientas como KeePass o Password Gorilla.
- Usar herramientas específicas de hardening, como WAFs o PHPIDS
- Permisos de ficheros.
- Monitorizar o restringir el acceso a cuentas privilegiadas.
- Eliminar servicios innecesarios.
- Aislar la máquina del resto de equipos.
- Usar un HIDS.
- Uso de syslog remoto.
- Usar parches del kernel como SELinux, AppArmor, o PaX.
- Particionar para aplicar distintas directivas de seguridad.
- Uso de sudo.
- Otros:
- Monitorización de recursos, como RAM, CPU, espacio en disco, o servicios levantados. Imprescindible para un sysadmin conocer en todo momento el estado de un servidor.La herramienta más popular para esta tarea es Nagios.
- Backups y plan de contingencias: de nada habría servido todo este bastionado si un fallo de disco duro hace que se pierda toda la información y el servicio quede inaccesible. Para eso es imprescindible un sistema de copias de respaldo y si el servicio que ofrece es crítico, pensar en implantar un sistema de alta disponibilidad que redunde el servicio inmediatamente en caso de que éste caiga.
Artículo completo en: securityartwork