Cómo auditar el rendimiento, la seguridad y la resolució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.

Tenga en cuenta que esta lista no pretende ser exhaustiva, así que no dude en comentar esta publicación utilizando el formulario en la parte inferior si desea agregar otra utilidad útil que podría estar perdiendo.

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

Por ejemplo, debe deshabilitar 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, debe 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.

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.

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 de TCP , mientras que la segunda y la tercera columna muestran la cantidad de datos que están actualmente en cola para recepción y transmisión. Las columnas cuarta y quinta muestran los enchufes de origen y destino de cada conexión.
En una nota al margen, es posible que desee verificar 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.

# 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 prueba de keepalive.

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

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

Suponga que desea filtrar las conexiones TCP por socket. Desde el punto de vista del servidor, debe verificar las conexiones donde el puerto de origen es 80.

# ss -tn sport = :80

Resultando en..

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 los extraños y asegurarse de que no se deje nada al azar auditándolos con frecuencia. Eso se denomina " escaneo de puertos defensivo ".

Puede usar 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 de puerto y traceroute ( -A ). Finalmente, -sS envía un escaneo TCP SYN , lo que evita que nmap complete el protocolo de enlace TCP de 3 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 usar los resultados con fines maliciosos.

Por ejemplo, la salida del comando anterior que se ejecuta contra el servidor principal de una universidad local devuelve lo siguiente (solo se muestra una parte del resultado por brevedad):

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

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

# nmap -p [port] [hostname or address]
# nmap -A [hostname or address]

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

# nmap -p 21,22,80 192.168.0.0/24 

Nota: que 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 debe estar muy familiarizado con ella para defender los sistemas de los que es responsable contra ataques originados después de un escaneo de puertos malicioso por parte de personas externas.