Revisión de la seguridad de la red para Linux – dummies

  1. Ordenadores
  2. Sistemas Operativos
  3. Linux
  4. Revisión de la seguridad de la red para Linux

Libro Relacionado

Linux todo en uno para tontos, 5ª edición

Por Emmett Dulaney

Trabajando en Linux, usted debe estar familiarizado con algunos mecanismos de seguridad. El examen de la seguridad de las redes se centra en la evaluación de los mecanismos de seguridad en cada una de las siguientes esferas:

  • Prevención: Configure un cortafuegos, active el filtrado de paquetes, desactive los servicios inetd o xinetd innecesarios, desactive los servicios de Internet innecesarios, utilice las envolturas TCP para el control de acceso y utilice SSH para los inicios de sesión remotos seguros.
  • Detección: Utilice los registros del sistema de detección y captura de intrusos en la red.
  • Respuesta: Desarrollar procedimientos de respuesta a incidentes.

A continuación se describen algunos pasos clave para evaluar la seguridad de la red.

Servicios iniciados por inetd o xinetd

Dependiendo de su distribución, el servidor inetd o xinetd puede estar configurado para iniciar algunos servicios de Internet como TELNET y FTP. La decisión de activar algunos de estos servicios depende de factores tales como la forma en que el sistema se conecta a Internet y cómo se está utilizando.

Por lo general, puede desactivar la mayoría de los servicios inetd y xinetd comentando la línea – sólo tiene que colocar un signo de libra (#) al principio de la línea.

Si está usando xinetd, es posible ver qué servicios están desactivados al revisar los archivos de configuración en el directorio /etc/xinetd.d para todos los archivos de configuración que tienen una línea disable = yes. (La línea no cuenta si es comentada, lo que se indica con un carácter # al principio de la línea).

Puede añadir una línea disable = yes al archivo de configuración de cualquier servicio que desee desactivar.

Compruebe también los siguientes archivos para cualquier control de acceso utilizado con los servicios inetd o xinetd:

  • /etc/hosts.allow lista los hosts a los que se les permite acceder a servicios específicos.
  • /etc/hosts.deny lista los hosts a los que se les niega el acceso a los servicios.

Servicios independientes

Muchos servicios, como apache o httpd (servidor web) y sendmail (servidor de correo), se inician automáticamente en el momento del arranque, asumiendo que están configurados para iniciarse de esa manera.

En algunas distribuciones, puede usar el comando chkconfig para comprobar cuáles de estos servidores independientes están configurados para comenzar en varios niveles de ejecución. Normalmente, la mayoría de los sistemas se inician en el nivel de ejecución 3 (para el inicio de sesión de texto) o 5 (para el inicio de sesión gráfico).

Por lo tanto, lo que importa es la configuración de los servidores en los niveles 3 y 5. Para ver la lista de servidores, escriba chkconfig -list | más. Cuando realice una autoevaluación de la seguridad de su red y descubra que algunos servidores no deberían estar ejecutándose, puede desactivarlos para los niveles de ejecución 3 y 5 escribiendo chkconfig -nivel 35 servicename off, donde servicename es el nombre del servicio que desea desactivar.

En algunas distribuciones, puede utilizar una herramienta GUI para ver qué servicios están habilitados y ejecutándose en cualquier nivel de ejecución. Con YaST, por ejemplo, haga clic en Sistema en el lado izquierdo de la ventana y, a continuación, en Editor de nivel de ejecución en el lado derecho de la ventana.

Cuando audite la seguridad de la red, anote todos los servidores que están activados y, a continuación, intente determinar si realmente deberían estar activados, de acuerdo con lo que sabe sobre el sistema.

La decisión de activar un servicio en particular depende de cómo se utilice su sistema (por ejemplo, como servidor web o como sistema de escritorio) y de cómo esté conectado a Internet (por ejemplo, a través de un cortafuegos o directamente).

Ensayo de penetración

Una prueba de penetración es la mejor manera de saber qué servicios se están ejecutando realmente en un sistema Linux. Las pruebas de penetración implican tratar de obtener acceso a su sistema desde la perspectiva de un atacante. Típicamente, usted realiza esta prueba desde un sistema en Internet e intenta entrar o, como mínimo, obtener acceso a servicios que se ejecutan en su sistema Linux.

Un aspecto de las pruebas de penetración es ver qué puertos están abiertos en su sistema Linux. El número de puerto es simplemente un número que identifica las conexiones de red TCP/IP al sistema. El intento de conexión a un puerto sólo tiene éxito si un servidor está ejecutándose, o “escuchando”, en ese puerto. Un puerto se considera abierto si un servidor responde cuando llega una solicitud de conexión para ese puerto.

El primer paso en las pruebas de penetración es realizar un análisis de puertos. El término exploración de puertos describe el proceso automatizado de intentar conectarse a cada número de puerto para ver si vuelve una respuesta válida. Muchas herramientas automatizadas disponibles pueden realizar el análisis de puertos: puede instalar y utilizar una herramienta popular de análisis de puertos llamada nmap.

Después de realizar un análisis de puertos, sabrá qué puertos están abiertos y podrían ser explotados. No todos los servidores tienen problemas de seguridad, pero muchos servidores tienen vulnerabilidades bien conocidas. Un puerto abierto proporciona a un cracker una forma de atacar su sistema a través de uno de los servidores.

De hecho, puede utilizar herramientas automatizadas llamadas escáneres de vulnerabilidades para identificar las vulnerabilidades que existen en su sistema.

Tanto si su sistema Linux está conectado a Internet directamente (a través de DSL o módem de cable) o a través de un cortafuegos, utilice las herramientas de análisis de puertos y de vulnerabilidades para averiguar si tiene algún agujero en sus defensas.