Comencemos con los ejercicios matutinos para quienes nos miran por la noche, o los conceptos básicos para recopilar registros en el sistema operativo Astra Linux Special Edition.

¡Hola a todos! Mi nombre es Mikhail, soy desarrollador en el equipo que está creando el sistema operativo Astra Linux.

El tema del inicio de sesión en distribuciones de Linux es siempre un debate animado tanto entre nuestros clientes y socios como dentro de la empresa.

La práctica demuestra que los desarrolladores e ingenieros novatos a menudo no ven la imagen completa de qué rutas toman los registros en nuestro sistema operativo. No siempre está claro qué componente genera tal o cual registro, o qué configuraciones se aplican a qué componente. Por ejemplo, el término “auditoría” puede referirse tanto al subsistema de auditoría de Linux como a otros componentes del sistema operativo involucrados en la generación y procesamiento de registros.

Las lagunas en el conocimiento de la comunidad descritas anteriormente me llevaron a pensar en cómo ayudar a mis colegas a navegar por la compleja red de rutas que toma una entrada de registro desde el programa fuente hasta el archivo final. Entonces se me ocurrió la idea de escribir una serie de artículos dedicados al inicio de sesión en el sistema operativo Astra Linux Special Edition.

Este artículo abre la serie. En él me gustaría destacar brevemente los conceptos básicos de la organización del proceso de recopilación de registros. El próximo material estará dedicado a la revisión. syslog-de en el contexto de aplicación en nuestro sistema operativo. Concluiré con un artículo dedicado a nuestro propio desarrollo: subsistema de registro de eventos. Combinar la trilogía planeada en una lectura larga e ilegible parece ilógico, ya que ahora ya existe confusión.

¡Vamos a empezar!

Descargo de responsabilidad

Me gustaría enfatizar de inmediato que el objetivo del artículo es darle al lector una idea general de la cadena involucrada en la formación de registros estándar. Y por mi parte, intento marcar una dirección para la investigación independiente con esta historia 🙂 No tengo el objetivo de volver a contar en detalle las numerosas fuentes que cubren los subsistemas en los que se basa la recopilación de registros en Astra Linux. Ya se ha dicho bastante sobre esto aquí.

¿De dónde vienen los troncos?

Bueno, espera, aún no es de noche.
Nada está claro todavía.
Y creo que el encuentro llegará.
Bajo el techo de tu casa.

Astra Linux Special Edition tiene dos fuentes principales de registros:

  1. registro del sistema. Este término se refiere tanto al estándar para recopilar registros en sistemas POSIX como al subsistema que implementa el estándar especificado. Discutiremos lo que se incluye en este subsistema a continuación.

  2. Subsistema de auditoría. Se basa en el seguimiento de las llamadas al sistema del kernel.

Pasos del proceso: ¿Cómo funciona Syslog?

Déjame hacer una reserva ahora mismo: Todo lo que se escribirá a continuación es relevante para Astra Linux Special Edition, a partir de la versión 1.7.1.

Entonces, el estándar Syslog define:

  1. Protocolo de envío de logs.

  2. Formato de registro definido por RFC5424.

  3. Un juego de enchufes estándar.

  4. Registro de demonios.

Paso 1.

La mayoría de los mensajes Syslog se envían al socket /desarrollo/registro. También se proporciona un pseudoarchivo para los mensajes del sistema del kernel. /proc/kmsg y enchufe /dev/kmsg.

Paso 2.

Los mensajes de los sockets descritos anteriormente van al servicio del sistema para su procesamiento. diario-systemd. Agrega registros en formato binario en un directorio. /ejecutar/log/diario o en /var/log/diario, dependiendo de la configuración. Luego podrá verlos, por ejemplo, utilizando la utilidad diarioctl.

Paso 3.

Después del procesamiento en systemd-journald, los mensajes se envían al servicio de registro syslog-de. Esta es una herramienta potente y flexible para procesar registros estándar y todo tipo de registros no estándar. Al menos una descripción algo detallada de sus capacidades en el contexto de uso en Astra Linux Special Edition merece un artículo aparte; planeo publicarlo después de este, sobre el que escribí en la introducción. Aquí sólo explicaré los puntos generales.

registro del sistema de es un servicio de registro cuyas tareas principales son la agregación y el enrutamiento de registros. En particular, syslog-ng puede enviar y recibir mensajes a través de la red y es adecuado para crear almacenes de registros centralizados. Syslog-ng funciona con y sin systemd-journald. Si systemd-journald no está instalado, la información se tomará directamente de /dev/log y /proc/kmsg.

Un millón, un millón, un millón de rosas rojas
Desde la ventana, desde la ventana, desde la ventana ves.

Etapa 4.

Uno de los principales resultados de syslog-ng es la formación de archivos de registro finales en el directorio. /var/registro: /var/log/syslog, /var/log/auth.log, /var/log/kern.log, etc. La lista completa de registros predeterminados se puede ver en el archivo de configuración. /etc/syslog-ng/syslog-ng.conf.

Además, syslog-ng actúa como núcleo para subsistemas de registro de eventos en Astra Linux Special Edition, a partir de la versión 1.7.1. El subsistema de registro de eventos es de desarrollo propio y, como ya dije, le dedicaremos un artículo aparte.

Subsistema de auditoría de Linux: gestión mediante utilidades y reglas

¡Liebre-lobo! ¡Liebre-lobo! Liebre…

¿Cuándo se habló brevemente sobre la auditoría? Como ha demostrado la práctica, existe cierta confusión asociada con el término “auditoría”. Por eso, enfatizaré una vez más: Este artículo revisará brevemente el subsistema de auditoría de Linux.

Este subsistema monitorea eventos del sistema de interés desde el punto de vista de la seguridad. Se basa en el seguimiento de las llamadas al sistema del kernel de acuerdo con filtros y reglas específicos. Para empezar a trabajar con el subsistema de auditoría, basta con instalar el paquete auditado.

Durante el proceso de seguimiento, todos los registros del subsistema de auditoría se almacenan en un archivo /var/log/audit/audit.log. Syslog también puede duplicar entradas de dos maneras, según la configuración:

  1. A través de los sockets Syslog estándar descritos anteriormente. En este caso, las entradas se duplican en el archivo /var/log/auth.log. En las versiones actuales de Astra Linux, la configuración predeterminada de syslog-ng no pasa registros de auditoría al archivo especificado; esto se hace para reducir la carga.

  2. Syslog-ng también se puede configurar para recibir y procesar registros de auditoría directamente.

Gestión del subsistema de auditoría con un conjunto básico de utilidades.

El paquete auditd incluye las siguientes utilidades básicas que le permiten administrar el subsistema:

  • auditctl es una utilidad para gestionar el demonio auditd. Le informa sobre el estado del subsistema de auditoría y también le permite agregar y eliminar reglas.

  • autrace: ayuda a rastrear eventos generados por procesos.

  • ausearch es una utilidad para buscar eventos en registros de auditoría.

  • aureport es una utilidad para mostrar informes sobre el funcionamiento del subsistema de auditoría.

Astra Linux Special Edition también incluye utilidades gráficas para configurar y leer registros de auditoría: system-config-audit y ksystemlog.

Reglas de observación en el subsistema de auditoría.

Las reglas son la herramienta principal para configurar el subsistema de auditoría. Pueden configurarse mediante la utilidad auditctl o describirse en archivos especiales en el directorio /etc/audit/rules.d. Las reglas de auditoría describen qué llamadas al sistema deben monitorearse y cómo.

Vale la pena tener presente aquí que Para diferentes arquitecturas de procesador, el conjunto de llamadas al sistema desde el kernel puede diferir. Por lo tanto, las reglas que son relevantes, por ejemplo, para la arquitectura x86-64, no necesariamente serán correctas para arm64. También puede verificar la exactitud de una regla particular utilizando la utilidad auditctl.

Puede ver la lista de llamadas al sistema disponibles utilizando la utilidad ausyscall. Para hacer esto, simplemente llame: “ausyscall –dump”. La siguiente captura de pantalla muestra un ejemplo de cómo se vería la salida de la utilidad.

El subsistema de auditoría es una herramienta bastante poderosa para rastrear eventos de seguridad del sistema, pero no está exenta de inconvenientes.

Errores del subsistema de auditoría de Linux

Soy como un iceberg en el océano.
Todo flota en completa niebla.
No veo nada alrededor:
Luz blanca, como nieve blanca…

Una de las desventajas es algo “pesadez” del subsistema debido a los costos adicionales de rastrear las llamadas al sistema del kernel. Por lo general, esto es prácticamente imperceptible, pero el seguimiento de estos casos puede provocar un aumento similar a una avalancha de la carga y un consumo excesivo de espacio en el disco.

La siguiente desventaja es Los registros del subsistema de auditoría no son convenientes para que los humanos los lean.. Para comprender qué está sucediendo exactamente en el registro en un momento u otro, se necesita cierto nivel de habilidad. Como mínimo, vale la pena comprender las llamadas al sistema del kernel y cómo funcionan. Varias utilidades de lectura facilitan un poco la tarea.

Dificultad para configurar el subsistema de auditoría. También puede considerarse una desventaja.

Y un escollo más. Si hay dos o más reglas válidas que se aplican a la misma llamada al sistema, el subsistema generará un registro para la primera regla que encuentre. Se ignorarán la segunda regla y las siguientes. Esto se hace para optimizar, pero con una cantidad suficientemente grande de reglas configuradas puede causar confusión.

Si es necesario ampliar el tema de la priorización de reglas, escriba en los comentarios. Este análisis tiene un alcance más cercano al de un artículo independiente.

El mencionado subsistema de registro de eventos de Astra Linux Se pretende, entre otras cosas, compensar algunas de las deficiencias del subsistema de auditoría, que describí anteriormente.

Conclusión

En este artículo, describí una imagen general de cómo se procesan los registros en Astra Linux Special Edition. Entiendo perfectamente la profundidad y amplitud del tema, pero al mismo tiempo espero haber logrado el objetivo descrito en la introducción.

También quiero mencionar que lo anterior se refiere principalmente a la recopilación de registros en el host local. Al mismo tiempo, como se mencionó anteriormente, para todas las herramientas descritas en el artículo es posible enviar y recibir registros a través de la red. Esto permite, por ejemplo, integrar la recopilación y el procesamiento de registros en varios sistemas de seguimiento. En particular, para monitorear todas las capas de infraestructura, el equipo del Grupo Astra ha desarrollado un nuevo producto: Astra Monitoring.


Para aquellos que quieran profundizar en la dirección de Syslog y la auditoría, les recomiendo que lean varios artículos temáticos tanto sobre Habré como sobre otros recursos.

Y finalmente, permítanme recordarles una vez más que una descripción del uso de syslog-ng merece al menos un artículo aparte. Lo mismo se aplica al subsistema de registro de eventos. Así que continuará…

Publicaciones Similares

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *