Herramientas de filtrado y procesamiento de texto

En el bastionado, la auditoría y el análisis forense de sistemas Linux, casi toda la información relevante está en texto plano: ficheros de configuración, bases de datos locales de identidades como /etc/passwd y /etc/shadow, registros de eventos y la salida de las propias herramientas de diagnóstico. Saber filtrar, transformar y resumir ese texto desde la línea de órdenes es una competencia básica para:

  • Verificar controles de seguridad del CIS Benchmark sin depender de herramientas externas.

  • Aplicar remediaciones de forma automatizada, repetible y verificable.

  • Investigar incidentes sobre un sistema comprometido en el que no conviene instalar software adicional.

  • Comprender y adaptar los filtros de Fail2ban, las reglas de OpenSCAP o las consultas de un SIEM, que se basan en las mismas expresiones regulares.


1. Expresiones regulares y búsqueda de patrones con grep

  • Dialectos BRE, ERE y PCRE, metacaracteres, clases POSIX y límites de palabra.

  • Opciones de grep para auditoría y uso de los códigos de salida en scripts.

  • Configuración escrita frente a configuración efectiva: el caso de sshd -T.

  • Detección de claves privadas expuestas.

  • Fuentes de registro: auth.log, secure y journalctl.

  • Extracción de indicadores y detección de ataques en registros de autenticación y web.


2. Edición de texto con sed

  • Ciclo de ejecución: espacio de patrones y espacio de retención.

  • Sustitución, retrorreferencias, delimitadores alternativos y direccionamiento.

  • Funcionamiento real de sed -i, copias de seguridad y errores frecuentes.

  • Ficheros que no deben editarse con sed y validación previa de cambios.

  • Remediación idempotente y precedencia de la configuración de OpenSSH.


3. Procesamiento de datos con awk

  • Implementaciones mawk, gawk y busybox awk.

  • Modelo de ejecución: reglas patrón-acción y bloques BEGIN y END.

  • Separadores y variables predefinidas: FS, OFS, NF, NR, FNR y RS.

  • Filtrado con condiciones numéricas, lógicas y expresiones regulares.

  • Arrays asociativos, cruce de ficheros e informes con printf.

  • Auditoría de cuentas y de algoritmos de hash en /etc/shadow.


4. Análisis de registros del sistema con tuberías

  • Flujos estándar, redirecciones, sudo con tee y set -o pipefail.

  • Utilidades cut, sort, uniq, tr, wc, head, tail, tee, xargs y comm.

  • Detección de ataques de fuerza bruta contra SSH y de cuentas atacadas.

  • Identificadores de usuario duplicados.

  • Detección de persistencia mediante una línea base de ficheros SetUID.

Licencia

Licencia CC BY-NC-ND 4.0

Esta página forma parte del curso Bastionado de Redes y Sistemas © 2026 de José Juan Sánchez Hernández y su contenido se distribuye bajo una licencia Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International.

Esta licencia exige que quienes reutilicen el material otorguen el debido crédito al autor. Permite copiar y redistribuir el material en cualquier medio o formato, únicamente en su forma original, y solo para fines no comerciales.