El libro "Kali Linux de los desarrolladores"

imagen Hola habrozhiteli! Los autores le presentarán paso a paso los conceptos básicos y las capacidades de Kali Linux. El libro ofrece un curso corto sobre cómo trabajar con la línea de comandos de Linux y sus conceptos, describe escenarios de instalación típicos para Kali Linux. Después de leer este libro, aprenderá a configurar, depurar y proteger Kali Linux, así como a trabajar con el poderoso administrador de paquetes del paquete de distribución de Debian. Aprenda a instalar Kali Linux correctamente en cualquier entorno, incluidas las grandes redes corporativas. Finalmente, debe familiarizarse con temas complejos: compilar el núcleo, crear sus propias imágenes ISO, cifrado industrial y protección profesional de la información confidencial.


Capítulo 7. Protección y control de Kali Linux


Una vez que comience a usar Kali Linux para tareas más confidenciales y de alto perfil, lo más probable es que tenga que tomarse más en serio la seguridad de su instalación. En este capítulo, primero discutiremos la política de seguridad, destacando los puntos más importantes para determinarla, y prestaremos atención a algunas amenazas para su sistema y para usted como profesional de seguridad. También discutiremos las medidas de seguridad para computadoras portátiles y de escritorio y consideraremos los firewalls y el filtrado de paquetes por separado. En conclusión, abordaremos las herramientas y estrategias de monitoreo y mostraremos las formas más efectivas de usarlas para detectar posibles amenazas a su sistema.

7.1. Definición de política de seguridad


Es inapropiado discutir la seguridad en términos generales, ya que este concepto representa una amplia gama de conceptos, herramientas y procedimientos que no son universales. Elegir entre ellos requiere una representación precisa de sus objetivos. La protección del sistema comienza con respuestas a varias preguntas. La implementación apresurada e imprudente de un conjunto arbitrario de utilidades conlleva el riesgo de definir por error aspectos de seguridad.

Es mejor identificar inicialmente un objetivo específico. El enfoque correcto para resolver este problema serán las respuestas a las siguientes preguntas.

1. ¿Qué estás tratando de proteger? La política de seguridad diferirá según lo que desee proteger: computadoras o datos. En este último caso, también necesita saber qué información necesita protección.

2. ¿De qué estás tratando de protegerte? De la fuga de datos confidenciales? ¿Por pérdida accidental de información? ¿De una pérdida causada por una falla en la provisión de servicios?

3. ¿De quién estás tratando de protegerte? Las medidas de seguridad serán completamente diferentes para proteger contra errores tipográficos de un usuario simple del sistema y proteger contra un grupo específico de intrusos.

El término "riesgo" se usa generalmente para definir genéricamente estos factores: qué debe protegerse, qué debe prevenirse y por culpa de quién puede ocurrir. El modelado de riesgos requiere respuestas a las tres preguntas. Según el modelo resultante, puede desarrollar una política de seguridad e implementarla mediante acciones específicas.

Bruce Schneier, un experto en seguridad global (no solo una computadora), está tratando de contrarrestar uno de los principales mitos de seguridad actuando bajo el lema: "La seguridad es un proceso, no un producto". Los activos que deben protegerse cambian con el tiempo, al igual que las amenazas y los medios disponibles para los posibles atacantes. Incluso si la política de seguridad se diseñó e implementó originalmente de manera ideal, nunca debe detenerse allí. Los componentes de riesgo están evolucionando, y los métodos para prevenirlo deben desarrollarse en consecuencia.

Además, se deben considerar restricciones adicionales que pueden limitar el rango de políticas disponibles. ¿Qué estás listo para hacer para proteger el sistema? Este tema es de gran importancia para la elección de la política. Muy a menudo, la respuesta se determina solo desde el punto de vista de los costos en efectivo, pero se deben tener en cuenta otros elementos, como los posibles inconvenientes que sufrirán los usuarios del sistema o el deterioro de su rendimiento.

Una vez que se modela el riesgo, puede pensar en desarrollar una política de seguridad adecuada.

Hay extremos que deben considerarse al decidir sobre el nivel de seguridad necesario. Por un lado, es extremadamente simple proporcionar seguridad básica del sistema.

Por ejemplo, si un sistema definido para protección incluye solo una computadora usada, que se usa solo para agregar un par de números al final del día, entonces sería una decisión razonable no hacer nada especial para protegerla. El verdadero valor de dicho sistema es bajo, y el valor de los datos es completamente cero, ya que no están almacenados en la computadora. Un atacante potencial que penetre en este sistema recibirá solo una calculadora. Es probable que el costo de proteger dicho sistema sea mayor que el costo de la piratería.

La situación opuesta será el caso de proteger la confidencialidad de los datos confidenciales de la manera más completa y superar cualquier restricción. En este caso, la destrucción completa de información (borrado seguro de archivos, trituración de discos duros en trozos pequeños, luego disolución de estos trozos en ácido, etc.) es una solución adecuada. Si existe un requisito adicional de que los datos se almacenen para uso futuro (no necesariamente en disponibilidad constante) y el costo aún no sea un elemento disuasorio, entonces la mejor idea sería almacenar los datos en placas de aleación de platino e iridio en refugios antiaéreos debajo de las montañas alrededor el mundo, cada uno de los cuales (por supuesto) está clasificado y protegido por un ejército.

Aunque estos métodos pueden parecer exagerados, pueden ser soluciones adecuadas para ciertos riesgos, ya que le permiten alcanzar sus objetivos con ciertas restricciones. Sobre la base de una decisión informada, ninguna política de seguridad es más o menos suficiente que cualquier otra.

Volviendo a un caso más típico, un sistema de información puede segmentarse en subsistemas compatibles y predominantemente independientes. Todos ellos tienen sus propios requisitos y limitaciones, por lo tanto, la evaluación de riesgos y el desarrollo de una política de seguridad deben realizarse por separado para cada uno de estos subsistemas. Siempre debe recordar que una superficie de ataque pequeña es más fácil de proteger que una grande. Las organizaciones de red deben diseñarse de esta manera: los servicios vulnerables deben concentrarse en un pequeño número de computadoras, y estos últimos deben ser accesibles a través de un número mínimo de rutas o puntos de control. La lógica es simple: es más fácil proteger los puntos de interrupción que todas las computadoras vulnerables del mundo exterior. Es en este punto que los beneficios del filtrado de red (incluidos los firewalls) se hacen evidentes. Este filtrado se puede implementar utilizando equipos especiales, pero una solución más simple y flexible es utilizar un firewall de software similar al integrado en el kernel de Linux.

7.2. Posibles medidas de seguridad


Como se mencionó anteriormente, no hay una respuesta única a la pregunta de cómo proteger Kali Linux. Todo depende de cómo lo use y qué es exactamente lo que está tratando de proteger.

En el servidor

Si utiliza Kali Linux en un servidor público, debe proteger los servicios de red cambiando todas las contraseñas predeterminadas que se pueden configurar y probablemente restringiendo el acceso a ellas mediante un firewall (secciones 7.3 “Protección de los servicios de red” y 7.4 “Firewall o filtrado de paquetes ", respectivamente, ver más abajo).

Si transfiere los datos de la cuenta de usuario directamente en el servidor o en uno de los servicios de red, asegúrese de establecer contraseñas seguras (deben resistir ataques de fuerza bruta). Al mismo tiempo, puede configurar el programa fail2ban, lo que complica enormemente el descifrado de contraseñas mediante una búsqueda exhaustiva en la red (al filtrar las direcciones IP que exceden el límite de intentos fallidos de inicio de sesión). Puede instalar fail2ban usando el comando apt update y luego apt install fail2ban.

Si utiliza servicios web, configúrelos para que funcionen a través del protocolo HTTPS de modo que los intermediarios de la red no supervisen su tráfico (que puede incluir autenticación de cookies).

En una laptop

La computadora portátil de un especialista en pruebas de penetración no sufre los mismos riesgos que un servidor abierto: por ejemplo, es menos susceptible a ataques accidentales por parte de un cracker aficionado, y si esto sucede, probablemente no tendrá servicios de red activos en este momento.

El riesgo real a menudo surge cuando viaja de un cliente a otro. Por ejemplo, su computadora portátil puede ser robada durante un viaje o incautada por la aduana. Es por eso que vale la pena usar el cifrado de disco completo (consulte la sección "Instalación en un sistema de archivos completamente cifrado" en la Sección 4.2) y posiblemente también configurar la función nuclear (consulte la barra lateral "Configuración de una contraseña de autodestrucción para mayor seguridad" en el Capítulo 9): datos que Los datos recopilados durante su trabajo son confidenciales y requieren la máxima protección.

También es posible que necesite reglas de firewall (consulte la sección 7.4 a continuación), pero no para el mismo propósito que en el servidor. Probablemente desee bloquear todo el tráfico saliente, excepto el tráfico generado por su acceso VPN. Esta configuración es similar a la configuración de seguridad de la red, por lo que cuando la VPN deja de funcionar, lo notará de inmediato (en lugar de volver al acceso a la red local). Por lo tanto, no proporciona las direcciones IP de sus clientes cuando navega por la web u otras actividades de la red. Además, si realiza una interacción interna local, es mejor monitorear constantemente sus actividades para reducir el ruido creado en la red, lo que puede atraer la atención de los clientes y sus sistemas de protección.

7.3. Protección de servicios de red


Se recomienda que deshabilite los servicios que no está utilizando. Kali simplifica esta tarea, ya que la mayoría de los servicios de red ya están deshabilitados de forma predeterminada.
Mientras los servicios permanezcan deshabilitados, no representan un riesgo de seguridad. Sin embargo, debe tener cuidado al encenderlos debido a los siguientes factores.

1. Por defecto, no tienen un firewall, por lo que si escuchan en todas las interfaces de red, son en gran medida accesibles al público.

2. Algunos servicios no tienen credenciales y le permiten configurarlos al primer uso; otros tienen credenciales estándar (y por lo tanto ampliamente conocidas). Asegúrese de (re) establecer una contraseña que solo usted conoce.

3. Muchos servicios se emiten con privilegios de root (con plenos derechos de administrador), por lo que las consecuencias del acceso no autorizado o las infracciones de seguridad suelen ser graves.

No enumeraremos aquí todas las herramientas que vienen con las credenciales predeterminadas. En su lugar, debe consultar el archivo README.Debian para los paquetes respectivos, así como las páginas docs.kali.org y tools.kali.org para averiguar si el servicio necesita un mantenimiento especial para garantizar la seguridad necesaria.

Si comienza en tiempo real, entonces la contraseña de root es toor. Por lo tanto, no debe habilitar SSH antes de cambiar la contraseña de la cuenta raíz o antes de configurar la restricción de inicio de sesión basada en contraseña en la configuración de la cuenta.

Tenga en cuenta también el hecho bien conocido de que el proyecto BeEF (del paquete beef-xss ya instalado) tiene las credenciales predeterminadas: el nombre de usuario y la contraseña de carne de res, que se establecen "a la fuerza" en el archivo de configuración.

7.4. Cortafuegos o filtrado de paquetes


Un firewall es un equipo informático con hardware, software o ambos que analiza los paquetes de red entrantes o salientes (entrantes o salientes de la red local) y pasa solo aquellos que cumplen ciertas condiciones predefinidas.

Una puerta de enlace de red de filtrado es un tipo de firewall que protege toda la red. Por lo general, se instala en una computadora dedicada configurada como puerta de enlace a la red de tal manera que puede analizar todos los paquetes que entran y salen de la red. Alternativamente, hay un firewall local, que es un servicio de software que se ejecuta en una computadora específica, para filtrar o restringir el acceso a una serie de servicios en esa computadora o, posiblemente, para evitar conexiones salientes de spyware que el usuario podría instalar por accidente o intencionalmente.

El kernel de Linux tiene un firewall de filtro de red incorporado. No existe una solución única para configurar ningún firewall, ya que los requisitos de la red y el usuario son diferentes. Sin embargo, puede controlar netfilter desde el espacio del usuario utilizando los comandos iptables e ip6tables. La diferencia entre este último es que el primero funciona para redes IPv4, mientras que el segundo funciona en IPv6. Dado que es probable que ambas pilas de protocolos de red funcionen durante muchos años, ambas herramientas deben usarse en paralelo. También puede usar la excelente utilidad fwbuilder basada en GUI, que proporciona una representación gráfica de las reglas de filtrado.

Sin embargo, si decide configurar netfilter (la implementación del firewall de Linux), veremos más de cerca cómo funciona.

Comportamiento del protector contra sobretensiones de Netfilter

El filtro Netfilter usa cuatro tablas diferentes que almacenan las reglas que rigen los tres tipos de operaciones en los paquetes:

1. filtro se refiere a las reglas de filtrado (aceptar, rechazar o ignorar un paquete);

2. nat (traducción de direcciones de red) se refiere a la traducción de direcciones de origen o destino y puertos de paquetes;

3. mangle se refiere a otros cambios en los paquetes IP (incluido el campo ToS (Tipo de servicio) y las opciones);

4. raw permite otros cambios manuales en los paquetes antes de que (los paquetes) lleguen al sistema de seguimiento de la conexión.

Cada tabla contiene listas de reglas llamadas cadenas. El firewall utiliza cadenas estándar para procesar paquetes basados ​​en condiciones predefinidas. El administrador puede crear otras cadenas que se usarán solo al transferir una de las cadenas estándar (directa o indirectamente).

La tabla de filtros contiene tres cadenas estándar:

1. ENTRADA: se refiere a los paquetes cuyo propósito es el firewall en sí;

2. SALIDA - se refiere a los paquetes que provienen del firewall;

3. ADELANTE: se refiere a los paquetes que pasan a través del firewall (que no es su origen ni su destino).

La tabla nat también tiene tres cadenas estándar:

1. PREROUTING - para cambiar paquetes inmediatamente después de su llegada;

2. POSTROUTING - para cambiar los paquetes cuando estén listos para ser enviados;

3. SALIDA - para modificar los paquetes generados por el firewall en sí.

Estas cadenas se muestran en la fig. 7.1.

imagen

Cada cadena es una lista de reglas; cada regla es un conjunto de condiciones y una acción realizada cuando se cumplen las condiciones. Al procesar un paquete, el firewall escanea la cadena correspondiente, una regla tras otra, y cuando se cumplen las condiciones para una regla, salta (de ahí el parámetro -j en los comandos) a la acción especificada para continuar el procesamiento. Los tipos de comportamiento más comunes están estandarizados y hay acciones especiales para ellos. La ejecución de una de estas acciones estándar interrumpe el procesamiento de la cadena, ya que el destino adicional de los paquetes ya está predeterminado (sin tener en cuenta la excepción mencionada a continuación). Las siguientes son acciones de Netfilter.

1. ACEPTAR (ACEPTAR): permite que el paquete se mueva más a lo largo de su ruta.

2. RECHAZAR: rechazar el paquete utilizando el paquete de error ICMP (protocolo de mensaje de control de Internet) (el tipo --reject-with para iptables determina el tipo de error para el rechazo).

3. DROP: elimina (ignora) el paquete.

4. LOG (REGISTER): registra (a través del demonio syslogd) un mensaje que describe el paquete. Tenga en cuenta que esta acción no interrumpe el procesamiento, y la ejecución de la cadena continúa desde la siguiente regla, por lo tanto, el registro de paquetes rechazados requiere las reglas LOG y REJECT / DROP. Los parámetros generales relacionados con el registro incluyen:

  • - nivel de registro, con una advertencia predeterminada, indica la gravedad del registro del sistema;
  • --log-prefix le permite especificar un prefijo de texto para distinguir entre mensajes registrados;
  • --log-tcp-secuencia, --log-tcp-options y --log-ip-options indican datos adicionales que deben colocarse en el mensaje: número de serie TCP, parámetros TCP y parámetros IP, respectivamente.

5. ULOG: registre un mensaje a través de ulogd, que puede adaptarse mejor y ser más eficiente que syslogd para procesar una gran cantidad de mensajes; tenga en cuenta que esta acción, como LOG, también devuelve el procesamiento a la siguiente regla en la cadena de llamada.

6. nombre_cadena: vaya a la cadena especificada y evalúe sus reglas.

7. RETURN - aborta el procesamiento de la cadena actual y regresa a la cadena de llamada; si la cadena actual es estándar, entonces no hay una cadena de llamada, por lo que la acción predeterminada se realiza en su lugar (definida usando el parámetro -P para iptables).

8. SNAT (solo en la tabla nat): aplique la traducción de la dirección de red de origen (SNAT). Los parámetros adicionales describen los cambios exactos que se aplicarán, incluido el parámetro --to-source address: port, que define la nueva fuente de la dirección IP y / o el puerto.

9. DNAT (solo en la tabla nat): aplique la traducción de direcciones de red de destino (DNAT). Los parámetros adicionales describen los cambios exactos que se utilizarán, incluido el parámetro de dirección de destino: el puerto que define la nueva fuente de la dirección IP y / o el puerto.

10. MASQUERADE (solo en la tabla nat): aplique el enmascaramiento (caso especial de Source NAT).

11. REDIRECCIONAR (solo en la tabla nat): reenvíe abiertamente el paquete a este puerto del firewall. Puede usar un proxy web para configurar un servidor abierto, que funciona sin configuración en el lado del cliente, y aunque el cliente cree que se está conectando al destinatario, los mensajes realmente pasan por el servidor proxy. El / los puerto (s) del parámetro --to-ports especifica el puerto o rango de puertos donde se deben reenviar los paquetes.

Otras acciones, especialmente las relacionadas con la tabla de cambios, no se incluyeron en esta subsección. Para obtener una lista completa, consulte las páginas de manual de iptables (8) e ip6tables (8).

Sintaxis para los comandos iptables y ip6tables


Los comandos iptables e ip6tables se usan para administrar tablas, cadenas y reglas. Su parámetro -t table indica con qué tabla trabajar (por defecto, la tabla de filtro).

Equipos

Los principales parámetros para interactuar con los circuitos se enumeran a continuación.

1. -L cadena enumera las reglas contenidas en la cadena. Se usa con la opción -n para deshabilitar la resolución de nombres (por ejemplo, iptables -n -L INPUT muestra las reglas para los paquetes entrantes).

2. -N cadena crea una nueva cadena. Puede crear nuevas cadenas para una variedad de propósitos, que incluyen probar un nuevo servicio de red o repeler un ataque de red.

3. -X chain elimina la cadena vacía y sin usar (por ejemplo, iptables -X ddos-attack).

4.-Una regla de cadena agrega una regla al final de una cadena dada. Recuerde, las reglas se procesan de arriba a abajo, no olvide considerar este momento al agregar reglas.

5. - Encadena la regla número_regla inserta la regla antes de la regla con el número especificado. Al igual que con la opción -A, considere el orden de procesamiento al ingresar nuevas reglas en la cadena.

6. -D cadena número_regla (o -D regla de cadena) elimina la regla en la cadena; la primera sintaxis indica que la regla con un cierto número debe eliminarse (el comando iptables -L --line-numbers muestra los números de la regla), y la segunda identifica la regla que se eliminará por su esencia.

7. -F chain restablece la cadena (elimina todas sus reglas). Por ejemplo, para eliminar todas las reglas asociadas con los paquetes salientes, debe ingresar el comando iptables -F OUTPUT. Si no se especifica ninguna cadena, se eliminan todas las reglas de la tabla.

8. -P la acción de la cadena define la acción o "política" predeterminada para una cadena determinada. Tenga en cuenta: esta política solo es aplicable a los circuitos estándar. Para eliminar todo el tráfico entrante de forma predeterminada, debe emitir el comando iptables -P INPUT DROP.

Las reglas

: -j _. , ( ) , , , .

-p IP-. tcp, udp, icmp icmpv6. TCP- --source-port --destination-port .



. , -p « , , ». .

-s -s / (source) . , -d -d / (destination).
-i , ; -o — , .

--state ( ipt_ conntrack ). NEW , , ESTABLISHED , , RELATED , , ( ftp- FTP).

iptables ip6tables, . , , — , .
, IP- 10.0.1.5 31.13.74.0/24 C , :

# iptables -A INPUT -s 10.0.1.5 -j DROP # iptables -A INPUT -s 31.13.74.0/24 -j DROP # iptables -n -L INPUT Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 10.0.1.5 0.0.0.0/0 DROP all -- 31.13.74.0/24 0.0.0.0/0 

A menudo se usa otro comando iptables para permitir el tráfico de red para un servicio o puerto específico. Para permitir que los usuarios se conecten a SSH, HTTP e IMAP, debe ejecutar los siguientes comandos:

 # iptables -A INPUT -m state --state NEW -p tcp --dport 22 -j ACCEPT # iptables -A INPUT -m state --state NEW -p tcp --dport 80 -j ACCEPT # iptables -A INPUT -m state --state NEW -p tcp --dport 143 -j ACCEPT # iptables -n -L INPUT Chain INPUT (policy ACCEPT) target prot opt source destination DROP all -- 10.0.1.5 0.0.0.0/0 DROP all -- 31.13.74.0/24 0.0.0.0/0 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:143 

La regla de una buena higiene de la computadora es limpiar las reglas viejas e innecesarias. La forma más fácil de eliminar la regla de iptables es consultar las reglas por número de línea, que puede obtener usando el parámetro --line-numbers. Tenga cuidado: cuando restablezca una regla, se volverán a numerar todas las reglas posteriores de la cadena.

 # iptables -n -L INPUT --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 DROP all -- 10.0.1.5 0.0.0.0/0 2 DROP all -- 31.13.74.0/24 0.0.0.0/0 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 4 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 5 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:143 # iptables -D INPUT 2 # iptables -D INPUT 1 # iptables -n -L INPUT --line-numbers Chain INPUT (policy ACCEPT) num target prot opt source destination 1 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22 2 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:80 3 ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:143 

Existen condiciones más específicas, dependiendo de las condiciones generales descritas anteriormente. Consulte los manuales de iptables (8) e ip6tables (8) para obtener más información.

Crear reglas


Cada nueva regla requiere una llamada a iptables o ip6tables. Ingresar estos comandos manualmente puede ser tedioso, por lo que las llamadas generalmente se almacenan en un script y, como resultado, el sistema se configura automáticamente de la misma manera cada vez que se inicia la computadora. Este script se puede escribir a mano, pero también puede interesarle prepararlo con una herramienta de alto nivel como fwbuilder.

 # apt install fwbuilder 

El principio es simple. En la primera etapa, describa todos los elementos que estarán involucrados en las nuevas reglas:

1. El firewall en sí con sus interfaces de red;

2. redes con rangos apropiados de direcciones IP;

3. servidores;

4. puertos que pertenecen a servicios alojados en servidores.

Luego cree las reglas usando acciones simples de arrastrar y soltar, como se muestra en la fig. 7.2. Varios menús contextuales pueden cambiar una condición (por ejemplo, negarla). Luego debe seleccionar y configurar la acción.

imagen

En cuanto a IPv6, puede crear dos conjuntos diferentes de reglas para IPv4 e IPv6, o simplemente crear uno y dejar que fwbuilder traduzca las reglas de acuerdo con las direcciones asignadas a los objetos.

La herramienta fwbuilder creará un script que configura el firewall de acuerdo con las reglas que defina. Su arquitectura modular le permite generar scripts para diferentes sistemas, incluidos iptables para Linux, ipf para FreeBSD y pf para OpenBSD.

Establecer reglas para cada arranque


Para implementar reglas de firewall cada vez que la máquina se inicia, debe registrar el script de configuración en la directiva up del archivo / etc / network / interfaces. En el siguiente ejemplo, el script se almacena en /usr/local/etc/arrakis.fw.

 auto eth0 iface eth0 inet static address 192.168.0.1 network 192.168.0.0 netmask 255.255.255.0 broadcast 192.168.0.255 up /usr/local/etc/arrakis.fw 

Este ejemplo supone que está utilizando el paquete ifupdown para configurar las interfaces de red. Si está utilizando otra cosa (por ejemplo, NetworkManager o systemd-networkd), consulte la documentación correspondiente para averiguar cómo ejecutar el script después de iniciar la interfaz.

7.5. Monitoreo y registro


La confidencialidad y la protección de datos son aspectos importantes de la seguridad, pero es igualmente importante garantizar la disponibilidad de los servicios. Como administrador y especialista en seguridad, debe asegurarse de que todo funcione correctamente y su responsabilidad es identificar oportunamente el comportamiento anormal y el deterioro de los servicios. El software de monitoreo y registro juega un papel clave en este aspecto de la seguridad, proporcionando una comprensión de lo que está sucediendo en el sistema y la red.

En esta sección, veremos una serie de herramientas que se pueden utilizar para monitorear varios aspectos del sistema Kali.

Monitoreo de registros con logcheck


Logcheck supervisa los archivos de registro cada hora de forma predeterminada y envía mensajes de registro no estándar a mensajes de correo electrónico al administrador para un análisis más detallado.

La lista de archivos monitoreados se almacena en /etc/logcheck/logcheck.logfiles. Los valores predeterminados funcionarán correctamente si el archivo /etc/rsyslog.conf no se ha reconstruido por completo.

El programa logcheck puede informar utilizando diferentes niveles de detalle: paranoico (paranoico), servidor (servidor) y estación de trabajo (para estaciones de trabajo). El modo paranoico es muy detallado y probablemente debería limitarse a servidores específicos como firewalls. El modo de servidor se usa de manera predeterminada y se recomienda para la mayoría de los servidores. El modo de estación de trabajo obviamente está diseñado para estaciones de trabajo y está extremadamente comprimido, filtrando más mensajes que otros "hermanos".

En los tres casos, logcheck probablemente debería configurarse para excluir mensajes adicionales (dependiendo de los servicios instalados) si no desea recibir lotes por hora de correos electrónicos largos no registrados. Dado que el mecanismo de selección de mensajes es bastante complicado, el archivo /usr/share/doc/logcheck-database/README.logcheck-database.gz debe leerse en caso de dificultades.

Las reglas aplicables se pueden dividir en varios tipos:

1. aquellos que califican el mensaje como un intento de piratería (almacenado en un archivo en el directorio /etc/logcheck/cracking.d/);

2. intentos de pirateo ignorados (/etc/logcheck/cracking.ignore.d/);

3. aquellos que clasifican el mensaje como una advertencia de seguridad (/etc/logcheck/violations.d/);

4. advertencias de seguridad ignoradas (/etc/logcheck/violations.ignore.d/);

5. Finalmente, los que se aplican a otros mensajes (tratados como eventos del sistema).

Los archivos ignore.d se usan (obviamente) para ignorar los mensajes. Por ejemplo, un mensaje marcado como un intento de piratería o una advertencia de seguridad (como regla, almacenada en /etc/logcheck/violations.d/myfile) solo puede ser ignorada por una regla en /etc/logcheck/violations.ignore.d/myfile o en el archivo /etc/logcheck/changes.ignore.d/myfile- extension.

Siempre se informa un evento del sistema, a menos que la regla en uno de los directorios /etc/logcheck/ignore.d.{paranoid, server, workstation} / no indique que este evento debe ignorarse. Por supuesto, solo se consideran aquellos catálogos cuyos niveles de detalle igualan o exceden el modo operativo seleccionado.

Monitoreo de actividad en tiempo real.


La herramienta interactiva superior muestra una lista de procesos que se están ejecutando actualmente. La clasificación predeterminada se basa en la carga actual del procesador y se puede obtener utilizando la tecla P. Otras clasificaciones de instrucciones contienen la clasificación por memoria ocupada (clave M), tiempo total del procesador (clave T) e identificador de proceso (clave N). La clave k finaliza el proceso con el identificador ingresado. La clave r cambia la prioridad del proceso.

Cuando un sistema parece sobrecargado, top es una gran herramienta para ver qué procesos compiten por el tiempo de CPU o consumen demasiada memoria. Por lo tanto, a menudo es interesante verificar si los procesos que consumen recursos corresponden a servicios reales que deberían alojarse en una computadora. Un proceso desconocido que funciona como www-data realmente debería destacarse de la lista y debería estudiarse, ya que es muy probable que sea un ejemplo de software instalado y ejecutándose en un sistema que utiliza una vulnerabilidad en una aplicación web.

La herramienta superior es muy flexible y su manual contiene información detallada sobre cómo personalizar su interfaz y adaptarla a sus necesidades y hábitos personales.

La herramienta gráfica gnome-system-monitor es similar a top y proporciona aproximadamente las mismas funciones.

»Se puede encontrar más información sobre el libro en el sitio web del editor
» Contenidos
» Extracto

20% de descuento en cupones para Linux - Linux

Source: https://habr.com/ru/post/es422939/


All Articles