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

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.

Auditar sistemas Linux  Audit Linux Systems Linux Foundation Certified Engineer-Part 12 Presentamos el programa de certificación Linux Foundation

Tenga en cuenta que esta lista no pretende ser exhaustiva, así que siéntase libre de comentar esta publicación utilizando el formulario en la parte inferior si lo desea agregue otra utilidad útil que podría faltar.

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

Una de las primeras cosas que un administrador de sistemas debe saber sobre 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.

Investigando las conexiones de socket con ss freestar.config.enabled_slots.push

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 es 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 Comando ss de Linux Comando de Linux ss Comprobar todos los puertos TCP abiertos

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 sockets 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.

Ejemplo 2: Visualización de TODAS las conexiones TCP activas con sus temporizadores # ss-t-o Mostrar todas las conexiones activas  Mostrar todas las conexiones activas Marque todos los activos Conexiones

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 descubrirlo. su PID .

 Linux Kill Active Process Linux Kill Active Process Kill Active Process

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

Ejemplo 3: Filtrar conexiones por socket

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

Dando como resultado ..

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

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

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

# nmap-A-sS [dirección IP o hostname]

El comando anterior escaneará el host en busca de detección de SO y versión , información de puerto y traceroute (-A ). Por último, -sS envía un escaneo TCP SYN , lo que evita que nmap complete el protocolo de enlace de 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 un propósito malicioso.

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

 Marque Abrir Puertos en Linux  Comprobar puertos abiertos en Linux Marque Abrir Puertos

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:

Ejemplo 5: Visualización en formación sobre un puerto específico en un sistema local o remoto # nmap-p [puerto] [nombre de host o dirección] Ejemplo 6: Mostrar traceroute y averiguar la versión de los servicios y el tipo de sistema operativo, nombre de host # nmap-A [nombre de host o dirección] Ejemplo 7: Escaneo de 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. que el comando anterior escanea los puertos 21, 22 y 80 en todos los hosts en ese segmento de red.

Puede verificar el man página 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.