Búsqueda de sitios web

Cómo auditar el rendimiento, la seguridad y la solución de problemas de la red en Linux - Parte 12


Un análisis sólido de una red informática comienza por comprender cuáles son las herramientas disponibles para realizar la tarea, cómo elegir las adecuadas para cada paso del camino y, por último, pero no menos importante, por dónde empezar.

Esta es la última parte de la serie LFCE (Linux Foundation Certified Engineer), aquí revisaremos algunas herramientas conocidas para examinar el rendimiento y aumentar la seguridad de una red. y qué hacer cuando las cosas no van como se esperaba.

Presentamos el programa de certificación de la Fundación Linux

Tenga en cuenta que esta lista no pretende ser completa, así que no dude en comentar esta publicación utilizando el formulario en la parte inferior si desea agregar otra utilidad útil que nos pueda faltar.

¿Qué servicios se están ejecutando y por qué?

Una de las primeras cosas que un administrador de sistemas necesita saber sobre cada sistema es qué servicios se están ejecutando y por qué. Con esa información en la mano, es una decisión acertada desactivar todos aquellos que no sean estrictamente necesarios y evitar alojar demasiados servidores en la misma máquina física.

Por ejemplo, debe desactivar su servidor FTP si su red no lo requiere (por cierto, existen métodos más seguros para compartir archivos a través de una red). Además, debes evitar tener un servidor web y un servidor de base de datos en el mismo sistema. Si un componente se ve comprometido, el resto corre el riesgo de verse comprometido también.

Investigando conexiones de socket con ss

ss se utiliza para volcar estadísticas de sockets y muestra información similar a netstat, aunque puede mostrar más información de estado y TCP que otras herramientas. Además, aparece en man netstat como reemplazo de netstat, que está obsoleto.

Sin embargo, en este artículo nos centraremos únicamente en la información relacionada con la seguridad de la red.

Ejemplo 1: Mostrando TODOS los puertos TCP (sockets) que están abiertos en nuestro servidor

Todos los servicios que se ejecutan en sus puertos predeterminados (es decir, http en 80, mysql en 3306) se indican con sus respectivos nombres. Otros (ocultos aquí por razones de privacidad) se muestran en su forma numérica.

ss -t -a

La primera columna muestra el estado TCP, mientras que la segunda y tercera columnas muestran la cantidad de datos que están actualmente en cola para recepción y transmisión. Las columnas cuarta y quinta muestran los sockets de origen y destino de cada conexión.
Como nota al margen, es posible que desee consultar RFC 793 para actualizar su memoria sobre posibles estados de TCP porque también necesita verificar el número y el estado de las conexiones TCP abiertas para estar al tanto de los ataques (D)DoS.

Ejemplo 2: Mostrar TODAS las conexiones TCP activas con sus temporizadores
ss -t -o

En el resultado anterior, puede ver que hay 2 conexiones SSH establecidas. Si observa el valor del segundo campo de temporizador:, notará un valor de 36 minutos en la primera conexión. Esa es la cantidad de tiempo hasta que se envíe la siguiente sonda de mantenimiento de actividad.

Dado que es una conexión que se mantiene viva, puedes asumir con seguridad que es una conexión inactiva y, por lo tanto, puedes finalizar el proceso después de descubrir su PID.

En cuanto a la segunda conexión, puede ver que se está utilizando actualmente (como lo indica on).

Ejemplo 3: filtrado de conexiones por socket

Supongamos que desea filtrar las conexiones TCP por socket. Desde el punto de vista del servidor, debe verificar si hay conexiones donde el puerto de origen sea 80.

ss -tn sport = :80

Resultando en..

Protección contra el escaneo de puertos con NMAP

El escaneo de puertos es una técnica común utilizada por los crackers para identificar hosts activos y puertos abiertos en una red. Una vez que se descubre una vulnerabilidad, se explota para obtener acceso al sistema.

Un administrador de sistemas inteligente debe comprobar cómo ven sus sistemas las personas externas y asegurarse de que nada quede al azar auditándolos con frecuencia. Esto se llama “escaneo de puertos defensivo”.

Ejemplo 4: visualización de información sobre puertos abiertos

Puede utilizar el siguiente comando para escanear qué puertos están abiertos en su sistema o en un host remoto:

nmap -A -sS [IP address or hostname]

El comando anterior escaneará el host en busca de detección de SO y versión, información del puerto y ruta de seguimiento (-A). Finalmente, -sS envía un escaneo TCP SYN, lo que impide que nmap complete el protocolo de enlace TCP de tres vías y, por lo tanto, normalmente no deja registros en la máquina de destino.

Antes de continuar con el siguiente ejemplo, tenga en cuenta que el escaneo de puertos no es una actividad ilegal. Lo que ES ilegal es utilizar los resultados con fines maliciosos.

Por ejemplo, el resultado del comando anterior ejecutado en el servidor principal de una universidad local devuelve lo siguiente (solo se muestra parte del resultado por razones de brevedad):

Como puede ver, descubrimos varias anomalías que deberíamos informar a los administradores del sistema de esta universidad local.

Esta operación de escaneo de puertos específica proporciona toda la información que también se puede obtener mediante otros comandos, como:

Ejemplo 5: mostrar información sobre un puerto específico en un sistema local o remoto
nmap -p [port] [hostname or address]
Ejemplo 6: mostrar traceroute y descubrir la versión de los servicios y el tipo de sistema operativo, nombre de host
nmap -A [hostname or address]
Ejemplo 7: escanear varios puertos o hosts simultáneamente

También puede escanear varios puertos (rango) o subredes, de la siguiente manera:

nmap -p 21,22,80 192.168.0.0/24 

Nota: el comando anterior escanea los puertos 21, 22 y 80 en todos los hosts en ese segmento de red.

Puede consultar la página de manual para obtener más detalles sobre cómo realizar otros tipos de escaneo de puertos. Nmap es de hecho una utilidad de mapeo de red muy poderosa y versátil, y usted debe estar muy familiarizado con ella para poder defender los sistemas de los que es responsable contra ataques originados después de un escaneo de puerto malicioso por parte de personas externas.