Scripting y hardening de sistemas: guía completa para reforzar servidores

Última actualización: 25 de marzo de 2026
  • El hardening reduce la superficie de ataque aplicando principios como mínima exposición, mínima privilegio y defensa en profundidad.
  • En Linux, el bastionado se apoya en scripts bash para automatizar firewall, usuarios, servicios, permisos, actualizaciones y auditoría.
  • PowerShell y herramientas de automatización, configuración y cumplimiento permiten controlar y verificar el hardening en entornos Windows.
  • Un programa de hardening eficaz define baselines, automatiza su despliegue y monitoriza de forma continua las desviaciones.

scripting y hardening de sistemas

Fortalecer un sistema ya no es opcional: cualquier servidor expuesto a Internet, ya sea en un CPD tradicional o en la nube, se convierte en un objetivo en cuestión de minutos. El hardening y el scripting van de la mano: sin automatización es casi imposible mantener los mismos niveles de seguridad en todos los equipos con el paso del tiempo.

Cuando hablamos de “scripting hardening de sistemas” nos referimos a combinar guiones (bash, PowerShell, herramientas de automatización, etc.) con buenas prácticas de bastionado para reducir al máximo la superficie de ataque. No se trata de poner parches sin criterio, sino de seguir una metodología clara, apoyarse en estándares (CIS, DISA STIG, ISO 27002…) y convertir esas decisiones en scripts repetibles que podamos aplicar, probar y monitorizar.

Qué es el hardening de sistemas y por qué importa tanto

En el mundo de la ciberseguridad se habla de hardening, bastionado, endurecimiento o robustecimiento para referirse a todas las acciones destinadas a minimizar los vectores de ataque en sistemas operativos, aplicaciones, redes, bases de datos o dispositivos. Los fabricantes suelen entregar sus productos “abiertos” para que todo funcione a la primera, pero eso implica servicios innecesarios activos, configuraciones débiles y opciones que priorizan la comodidad frente a la seguridad.

El objetivo del bastionado es llevar cada sistema a un estado donde solo estén habilitadas las funciones estrictamente necesarias, con controles de acceso adecuados, servicios limitados, cifrado donde aplique y una monitorización que permita detectar cambios indebidos. Cada componente (servidor, base de datos, dispositivo IoT, móvil…) necesita su propio enfoque y políticas específicas según su rol, entorno (producción, preproducción, laboratorio), versión y criticidad.

En los últimos años, el hardening se ha vuelto un requisito formal en regulaciones y marcos de cumplimiento de todo tipo. Normas y guías como CIS Benchmarks o DISA STIG ofrecen recomendaciones detalladas para sistemas concretos. Las organizaciones que quieren cumplir con ISO 27001, ENS, PCI-DSS u otros esquemas similares necesitan documentar y aplicar políticas de bastionado coherentes, revisarlas y demostrar que se mantienen en el tiempo.

Más allá del papel, un buen hardening tiene impacto directo en incidentes reales: reduce el número de puertas abiertas, complica el movimiento lateral de atacantes, limita la escalada de privilegios y, sobre todo, hace mucho más difícil que un fallo puntual se convierta en una brecha grave.

Principios clave detrás del bastionado de sistemas

Todo proyecto serio de endurecimiento se apoya en unos pocos principios bien conocidos, que luego se traducen en políticas, scripts y controles técnicos. Los cuatro pilares más habituales son la mínima exposición, la defensa en profundidad, el mínimo privilegio y el enfoque de confianza cero.

El principio de mínima exposición consiste en dejar visibles solo los componentes, servicios y puertos indispensables. Cualquier funcionalidad que no se utilice o no sea esencial debería deshabilitarse o, al menos, limitarse a redes internas bien controladas. Cada servicio activo representa un posible vector de intrusión, así que el primer paso del hardening suele ser hacer inventario y apagar lo “sobrante”.

La defensa en profundidad plantea la seguridad por capas: firewall en red, controles de acceso en el sistema operativo, cifrado en tránsito y en reposo, monitorización de integridad, auditoría de cambios, etc. La idea es que, aunque una capa falle o se vea comprometida, existan otras capas que frenen o dificulten el avance de un atacante y reduzcan el impacto.

El principio de mínimo privilegio implica que usuarios, procesos y servicios solo dispongan de los permisos estrictamente necesarios para desempeñar su función. Esto afecta tanto a cuentas humanas como a cuentas de servicio, demonios del sistema, aplicaciones web o scripts automatizados. Reducir privilegios inutiliza muchas técnicas de escalada que dependen de permisos excesivos o configuraciones laxas.

Finalmente, el enfoque de confianza cero (zero trust) abandona la idea de que algo es confiable por estar “dentro de la red” o “detrás del firewall”. Cada usuario, dispositivo y servicio debe autenticarse, autorizarse y registrar su actividad, restringiendo accesos por contexto (origen, momento, tipo de operación) y trazando quién hace qué en cada momento.

Bastionado práctico en sistemas Linux con scripts de bash

Linux es omnipresente en servidores, contenedores y muchas plataformas IoT (ver las mejores distribuciones de Linux para servidores), así que es lógico que una gran parte de los proyectos de hardening se centre en este entorno. Automatizar el bastionado con scripts de bash es una práctica habitual cuando no se permite usar herramientas como Ansible, Puppet o similares, o cuando se busca un primer nivel de endurecimiento rápido.

En un escenario típico, se parte de un servidor recién instalado (ya sea en la nube o en una infraestructura propia) y se diseña un conjunto de scripts que configuran desde el firewall hasta las políticas de contraseñas, pasando por la desactivación de servicios y la instalación de paquetes de seguridad. Una lista de verificación frecuente incluye tareas como usar SSH seguro, crear un usuario con sudo, habilitar un firewall básico, desplegar fail2ban, activar SELinux o AppArmor, endurecer el kernel y mantener todo actualizado.

Entre las acciones clásicas de hardening en Linux, una de las primeras es asegurar el arranque del sistema. Desde la BIOS o UEFI suele recomendarse deshabilitar el arranque desde dispositivos externos (USB, discos externos, etc.) y bloquear el cambio de dispositivo de arranque sin credenciales. Del lado del sistema operativo, proteger el gestor de arranque (como GRUB) con contraseña, habilitar Secure Boot y evitar iniciar sesión directamente como root son medidas casi obligatorias.

Otro elemento central es la gestión de usuarios y grupos. Es crucial definir permisos coherentes sobre archivos y directorios, especialmente en ficheros de sistema, configuraciones del kernel o binarios sensibles. Lo habitual es que estos tengan permisos muy restringidos para otros usuarios, permitiendo solo lo estrictamente necesario para que el sistema funcione. Los archivos personales de usuario también deberían limitar el acceso a terceros, ajustando la máscara por defecto (umask) en ficheros como “/etc/bash.bashrc” o “/etc/profile” para evitar que nuevos archivos se creen con permisos excesivamente abiertos.

  Análisis de ciberseguridad: riesgos, datos, técnicas y herramientas

En este contexto, se recomiendan herramientas como SELinux o AppArmor para establecer políticas de control de acceso obligatorio que vayan más allá de los permisos tradicionales Unix. Estas tecnologías permiten definir qué acciones puede realizar cada proceso, incluso si ha sido comprometido, reduciendo mucho la capacidad de daño de un exploit o malware.

La configuración del acceso es otro pilar. En Linux es habitual forzar el cambio periódico de contraseña, tanto para usuarios concretos como para el conjunto del sistema, mediante comandos como “passwd” o “chage”. Se pueden definir requisitos de contraseñas seguras, caducidad y reutilización de contraseñas anteriores, así como forzar a los usuarios a cambiarlas en su siguiente inicio de sesión. Para acciones globales, se combinan utilidades como “awk” y “xargs” para recorrer el fichero “/etc/shadow” y aplicar políticas de expiración a todas las cuentas.

En cuanto a servicios, la regla básica es desactivar todo lo que no tenga un propósito claro en producción. Cada organización debe analizar qué demonios y servicios son imprescindibles para el rol del servidor. Protocolos antiguos e inseguros como telnet, rsh, rlogin o ciertos servidores FTP deberían eliminarse o sustituirse por alternativas cifradas como SSH o SFTP. Si un servicio arrastra vulnerabilidades conocidas sin parche disponible, muchas veces lo más prudente es deshabilitarlo hasta poder actualizarlo.

Los sistemas de archivos también juegan un papel en el bastionado. En Linux se suelen usar variantes Ext (Ext2, Ext3, Ext4), siendo Ext4 la opción preferida por las mejoras en rendimiento y seguridad. Entre otras ventajas, incorpora verificaciones de integridad, mejor gestión de errores y capacidades que ayudan a minimizar daños por corrupción o manipulaciones indebidas. En entornos exigentes se combinan estas características con particiones separadas para /home, /var, /tmp, etc., aplicando opciones de montaje restrictivas.

Seguridad de red, firewall y actualizaciones en Linux

Una parte crítica del hardening en cualquier sistema es todo lo relacionado con la red. En un entorno Linux bien endurecido se cuida especialmente la configuración de SSH, el uso de VPN, la implantación de sistemas de detección de intrusiones y la protección mediante firewall a nivel de host y de red.

En el caso de SSH, se recomienda priorizar el uso de claves públicas frente a contraseñas, deshabilitar el inicio de sesión directo de root, limitar los usuarios autorizados y, cuando sea posible, cambiar el puerto por defecto para reducir el ruido de escaneos automatizados. Además, se pueden utilizar listas de control de acceso, mecanismos de doble factor y herramientas como fail2ban para bloquear IPs que muestren patrones de fuerza bruta.

Las VPN permiten encapsular el tráfico sensible en túneles cifrados. Tecnologías como OpenVPN o L2TP/IPSec son habituales en entornos Linux, mientras que PPTP, aunque compatible, suele considerarse menos segura. La gestión de estas conexiones puede simplificarse con herramientas gráficas como Network Manager, pero el principio subyacente es que los servicios de administración remota o aplicaciones críticas no deberían exponerse directamente a Internet si pueden protegerse tras una VPN.

Los IDS/IPS (sistemas de detección y prevención de intrusiones) complementan al firewall. Opciones como OSSEC, Tripwire o AIDE permiten monitorizar la integridad de ficheros, detectar cambios sospechosos y alertar de patrones de ataque, y para análisis de tráfico se usan herramientas como Wireshark. Estos sistemas se combinan con políticas de logging para tener una visión coherente de lo que ocurre en el servidor.

En cuanto al firewall, en Linux las herramientas clásicas han sido iptables y, más recientemente, nftables o frontends como UFW. La filosofía es siempre la misma: modelo de denegación por defecto (“todo cerrado”) y solo se abren explícitamente los puertos requeridos (por ejemplo, 80/443 para HTTP/HTTPS y el puerto de administración bajo condiciones estrictas). Cada regla debe tener un motivo claro y, en entornos más avanzados, se combinan firewalls a nivel de host con controles en dispositivos perimetrales o en la propia nube.

Otro bloque esencial es el de las actualizaciones de software. Mantener el kernel y los paquetes al día, usando gestores como apt, yum o dnf, reduce considerablemente la exposición a vulnerabilidades conocidas y explotaciones masivas. Esto no se limita al sistema operativo: componentes como controladores, módulos externos y middleware también necesitan parches periódicos. En algunos casos es recomendable requerir controladores firmados y validar siempre la procedencia de los paquetes para evitar la introducción de rootkits o binarios maliciosos.

La configuración de logs y auditoría cierra el ciclo de seguridad. Ajustar syslog o journald para retener eventos relevantes, enviar logs a un servidor central y definir qué acciones se auditan (cambios de permisos, accesos fallidos, modificaciones en ficheros críticos, etc.) es clave para detectar incidentes y reconstruir qué ha pasado. Servicios como “auditd” o paquetes de auditoría específicos en diferentes distribuciones ayudan a registrar operaciones sensibles del sistema.

Etapas de un proyecto de hardening profesional

El endurecimiento de sistemas no consiste en lanzar un script y olvidarse. Los proyectos serios siguen varias fases bien diferenciadas: planificación, pruebas, aplicación, verificación y monitorización continua. Saltarse alguna suele acabar en interrupciones de servicio o en configuraciones que nadie se atreve a tocar después.

La primera fase es planificar la intervención. Aquí se delimita el alcance (qué sistemas, qué entornos), se identifican propietarios y partes interesadas, se estiman ventanas de mantenimiento y se diseña una línea base de configuración para cada tipo de componente (servidores web, aplicaciones, bases de datos, sistemas embebidos, etc.). También se determina qué estándares o benchmarks se van a seguir.

Después toca identificar componentes y servicios críticos. Es necesario entender qué funcionalidades del sistema son imprescindibles para el negocio y cuáles pueden deshabilitarse o limitarse. Sin esa claridad es fácil romper servicios en producción al aplicar blindajes demasiado agresivos que, aunque “seguros”, impiden la operativa diaria.

Un paso obligatorio antes de cambios importantes es realizar copias de seguridad completas y, si es posible, capturas de configuración. Esto permite volver atrás si alguna modificación provoca fallos serios o incompatibilidades. Muchas organizaciones se saltan este punto por prisas y luego descubren que revertir manualmente un bastionado mal planteado es casi imposible.

  Inyección SQL: Qué es, cómo funciona, ejemplos y claves para proteger tus datos

La fase de pruebas en entornos controlados suele ser la más compleja y costosa en tiempo. Se intenta reproducir la red de producción en un laboratorio o entorno de preproducción, se aplican las políticas de hardening y se evalúa el impacto: qué se rompe, qué reglas generan incompatibilidades, qué servicios dejan de responder. Esta iteración ayuda a refinar las directivas antes de llevarlas a sistemas reales.

Una vez pulidas las políticas, llega la fase de aplicación y cumplimiento. Aquí entran en juego scripts, herramientas de configuración y soluciones de automatización para desplegar cambios de forma controlada y homogénea. Es un momento propenso a errores humanos si se hace manualmente, de ahí la importancia del scripting y de las plataformas de gestión de configuración.

Tras el despliegue, es obligado evaluar el resultado del bastionado mediante pruebas funcionales (para verificar que el sistema sigue haciendo lo que debe) y tests de seguridad (escaneos de vulnerabilidades, revisiones de puertos, comprobación de políticas, etc.). Cualquier desviación relevante se documenta y se ajustan las directivas según lo que se haya observado en producción.

La última pieza es la monitorización continua. Las redes cambian, se añaden y retiran servidores, se instalan nuevas aplicaciones y las personas modifican configuraciones. Sin un sistema que supervise la deriva respecto a la línea base (qué se ha tocado, quién lo ha tocado, cuándo se ha tocado), la postura de seguridad vuelve poco a poco al estado inicial. La monitorización también debe incluir alertas ante cambios sospechosos o no autorizados.

Tipos de hardening: sistema, aplicaciones, red y más

Cuando se habla de endurecer un entorno, es útil distinguir varias capas o ámbitos diferentes, porque cada uno requiere controles específicos. Entre los más habituales están el hardening del sistema operativo, de aplicaciones, de red, de bases de datos, de servidores web, de dispositivos de red e IoT, de sistemas embebidos y de dispositivos móviles.

El hardening del sistema operativo se ocupa de la base sobre la que corren el resto de servicios. Incluye la desactivación de funcionalidades innecesarias, reglas de firewall, gestión de cuentas y grupos, permisos sobre archivos y directorios, aplicación de parches, políticas de contraseñas y auditoría. Es el primer nivel que hay que abordar en servidores Linux, Windows u otros sistemas.

El bastionado de aplicaciones se centra en cómo están configurados y actualizados los programas concretos que se ejecutan en esos sistemas: servidores de bases de datos, ERPs, CRMs, aplicaciones web, herramientas de ofimática, etc. Supone revisar parámetros de seguridad internos, controles de acceso, cifrado, exposición de interfaces y pruebas de seguridad específicas (por ejemplo, análisis estático de código o pentesting de aplicaciones).

El hardening de red engloba todo lo relacionado con la infraestructura de comunicaciones: cortafuegos, segmentación de redes, controles de acceso a nivel de VLAN o SDN, sistemas de detección y prevención de intrusiones, políticas de enrutamiento y protección de perímetros. Aquí se definen, por ejemplo, qué subredes pueden hablar entre sí, cómo se accede a sistemas sensibles o cómo se gestionan las conexiones externas.

El hardening de bases de datos apunta a preservar la confidencialidad e integridad de los datos. Entre las prácticas más comunes están la reducción de privilegios en cuentas de base de datos, el cifrado en reposo y en tránsito, la separación de entornos, la revisión de parámetros de seguridad por defecto, la protección frente a inyecciones SQL y la activación de logs de auditoría para consultas y cambios críticos.

El bastionado de servidores web se especializa en proteger HTTP/HTTPS y las aplicaciones web asociadas. Implica ajustar la configuración del servidor (Apache, Nginx, IIS…), manejar adecuadamente cabeceras de seguridad, proteger frente a ataques como XSS o CSRF, gestionar cookies y sesiones de forma segura, limitar información en mensajes de error y desactivar módulos o extensiones innecesarias.

Los dispositivos de red y IoT requieren su propio tratamiento, empezando por cambiar credenciales por defecto, deshabilitar servicios y puertos que no se usen, restringir el acceso de administración, mantener el firmware actualizado y, en el caso de IoT, controlar estrictamente qué puede hacer cada dispositivo en la red. Muchos incidentes recientes se han originado en equipos aparentemente “menores” pero expuestos con configuraciones débiles.

En cuanto a sistemas embebidos, el enfoque es parecido pero más amplio, ya que abarca dispositivos integrados en vehículos, electrodomésticos o máquinas industriales que no siempre están conectados a Internet. Aquí el bastionado se centra en controlar el firmware, proteger interfaces físicas y lógicas y gestionar las actualizaciones con cuidado para no introducir vulnerabilidades nuevas.

Por último, el hardening de sistemas móviles (smartphones, tablets) implica definir políticas de seguridad, habilitar cifrado del almacenamiento, gestionar aplicaciones y permisos, activar mecanismos de borrado remoto y proteger el acceso físico mediante PIN, biometría u otros métodos. A menudo se combinan con plataformas MDM/EMM que permiten aplicar configuraciones de forma centralizada.

PowerShell, pentesting y hardening en entornos Windows

En el ecosistema Windows, PowerShell se ha convertido en una herramienta clave tanto para administradores como para atacantes. Este lenguaje, integrado desde versiones tan antiguas como Windows XP, permite automatizar tareas de administración con enorme flexibilidad: asignar permisos, gestionar servicios, abrir puertos, escalar privilegios, programar tareas, extraer hashes de contraseñas y mucho más.

Los ciberdelincuentes han aprovechado esta potencia y el hecho de que PowerShell sea una herramienta nativa para desarrollar malware basado en scripts que se ejecuta en memoria y apenas deja rastro en disco, complicando la detección por antivirus tradicionales. En los últimos años se ha observado un crecimiento exponencial de amenazas que utilizan PowerShell, con incrementos de varios cientos por ciento en periodos cortos, según estudios de laboratorios de seguridad.

Para entender las técnicas de ataque que se apoyan en PowerShell, los equipos defensivos recurren a herramientas y frameworks de pentesting como PowerShell Empire, PowerSploit o Nishang. Estos módulos facilitan tareas como evadir antivirus, escalar privilegios, pivotar hacia otras máquinas, buscar credenciales, establecer conexiones persistentes, inyectar scripts en documentos ofimáticos, cargar código en memoria o sortear políticas de ejecución.

Conocer estas técnicas de ofensiva es clave para definir medidas de mitigación efectivas. Entre las contramedidas de hardening específicas para PowerShell destacan el uso de modos de lenguaje restringido (Constrained Language Mode), la configuración de AppLocker o Software Restriction Policies para limitar qué scripts pueden ejecutarse, la firma de scripts, el uso de JEA/JIT (Just Enough Administration / Just In Time) para restringir tareas administrativas, el cifrado de comunicaciones, el modo estricto y la implantación de controles que validen el código antes de su ejecución.

  El Corte Inglés sufre un hackeo que expone datos de clientes

Algunas de estas técnicas requieren conocimientos avanzados, lo que ha motivado la creación de aplicaciones con interfaces más amigables que integran tanto módulos de ataque como de defensa. Estos proyectos, a menudo nacidos en contextos académicos como trabajos de fin de grado, buscan acercar conceptos de pentesting y hardening a usuarios menos especializados, ofreciendo menús intuitivos que guían a través de pruebas y contramedidas en entornos Windows.

Herramientas para automatizar hardening, configuración y cumplimiento

El volumen y complejidad de los sistemas modernos hace prácticamente imposible gestionar el bastionado a mano. Por eso han surgido múltiples categorías de herramientas orientadas a automatizar pruebas, despliegues y verificación de políticas de seguridad: soluciones de automatización de hardening, programas de seguridad informática, plataformas de gestión de configuración, escáneres de cumplimiento y proyectos open source especializados.

Las herramientas de automatización de hardening cubren el ciclo completo: pruebas, aplicación y monitorización. Analizan el impacto de cambios de configuración sobre los servicios en producción, ayudan a ajustar políticas para evitar interrupciones, despliegan reglas de forma centralizada y vigilan la red para detectar desviaciones respecto a la línea base. Ejemplos de soluciones comerciales en este ámbito son CalCom Server Hardening Solution (CHS) o CalCom Security Solution para IIS, que se orientan tanto a servidores como a middleware específico.

Las herramientas de gestión de configuración de seguridad (SCM), según define NIST, permiten controlar el estado deseado de sistemas de información, aplicar cambios de manera repetible, versionar configuraciones, revisar quién ha modificado qué, y generar informes sobre la situación actual. Plataformas como Ansible, Chef, Puppet o Microsoft System Center Configuration Manager no se limitan al hardening, pero son perfectas para implementarlo como código, integrándolo en flujos DevOps o DevSecOps.

Los escáneres de cumplimiento se centran en evaluar si un sistema cumple con un determinado marco de referencia (CIS, DISA STIG, guías internas…). Generan informes que indican qué controles están correctamente aplicados y dónde hay brechas. Herramientas como Tripwire Configuration Manager, Qualys, NNT SecureOps o CIS-CAT Pro permiten visualizar la postura de seguridad de múltiples activos y priorizar remedios según el impacto.

Por último, existe un ecosistema muy rico de proyectos de código abierto orientados al hardening, entre los que se pueden encontrar plataformas de automatización como Salt, kits de cumplimiento para entornos Windows (Microsoft Security Compliance Toolkit), scripts de auditoría específicos (Hardening Auditor) o utilidades como Windows Exploit Suggester NG para identificar vulnerabilidades en sistemas Windows a partir de la información de sistema.

Hardening como sistema: baselines, automatización y auditoría

Más allá de herramientas concretas, las organizaciones que se toman en serio el hardening lo tratan como un sistema vivo, no como un checklist puntual. Esto implica definir baselines por rol de servidor, automatizar su aplicación, verificar el cumplimiento y gestionar de forma consciente cualquier desviación necesaria por motivos operativos.

En la práctica, se suele empezar por crear líneas base específicas para cada tipo de activo: servidores web Linux, nodos de aplicaciones, bases de datos, controladores de dominio Windows, equipos de usuario, dispositivos de red, etc. Cada baseline incluye parámetros de sistema, reglas de firewall, configuraciones de servicios, políticas de cuentas, ajustes de logging y otras medidas adaptadas a ese rol.

A partir de ahí, se emplean herramientas de infraestructura como código (IaC) y gestión de configuración (por ejemplo, Ansible o PowerShell DSC) para traducir esos baselines a código versionable en repositorios Git. Los cambios se revisan mediante procesos de control de versiones, se someten a “linting” y pruebas automatizadas, y se despliegan con pipelines que dejan evidencia de qué versión de la configuración se ha aplicado en cada entorno.

Tras cada despliegue, se ejecutan herramientas de auditoría como Lynis u OpenSCAP en Linux o escáneres de cumplimiento específicos para Windows, subiendo los informes a la propia plataforma de CI/CD como artefactos. De este modo se documenta la adherencia a las políticas definidas y se facilita la labor de auditorías externas o revisiones de seguridad internas.

Para cerrar el círculo, muchas empresas incorporan plataformas de monitorización y detección como Wazuh, que combinan análisis de logs, integridad de ficheros, correlación de eventos y alertas en tiempo real. Esto permite saber cuándo aparecen nuevos servicios escuchando en puertos imprevistos, cambian permisos de archivos sensibles o se producen patrones de acceso anómalos.

A lo largo de todo este proceso, el hardening se alinea con controles de normas como ISO/IEC 27002, que incluyen la gestión de configuración, la eliminación de funcionalidades innecesarias, la gestión de vulnerabilidades técnicas o la autenticación de usuarios. La idea no es solo estar “más seguros”, sino poder demostrar de manera objetiva que la organización administra sus sistemas de acuerdo con buenas prácticas reconocidas.

El endurecimiento de sistemas, apoyado en scripting y automatización, es una disciplina continua que combina principios de seguridad, conocimiento de las amenazas reales, herramientas adecuadas y mucho sentido común. Reducir la superficie de ataque, controlar cuidadosamente qué se ejecuta y cómo se accede, probar el impacto de cada cambio y monitorizar la configuración con el tiempo es la forma más efectiva de evitar que una configuración cómoda pero laxa se convierta en la puerta de entrada de un incidente serio.

tutoriales para configurar servidores
Artículo relacionado:
Tutoriales para configurar servidores: guía completa y práctica