Cómo configurar los registros del servidor web para sistemas centralizados

Cómo configurar los registros del servidor web para sistemas centralizadosCómo configurar los registros del servidor web para sistemas centralizados

Gestionar eficientemente los registros del servidor web es crucial para supervisar el rendimiento, solucionar problemas y garantizar la seguridad. El registro centralizado facilita la consolidación de registros de varios servidores en un solo sistema, lo que facilita el análisis y la gestión de los datos.

Beneficios clave del registro centralizado:

  • Monitoreo en tiempo real:Realice un seguimiento del rendimiento del servidor y detecte problemas al instante.
  • Solución de problemas simplificada:Identifique y resuelva rápidamente problemas en todos los servidores.
  • Seguridad mejorada:Detecta amenazas de seguridad y mantiene el cumplimiento de regulaciones como PCI DSS o HIPAA.
  • Pistas de auditoría:Cumpla con los requisitos legales con retención de registros e informes detallados.

Lo que necesitarás:

  1. Recolectores de troncos: Herramientas como rsyslog or Syslog-ng para recolectar troncos.
  2. Sistemas de almacenamiento:Servidores centralizados con redundancia segura.
  3. Derechos de acceso:Permisos de administrador para configurar servidores y redes.
  4. Herramientas de monitoreo:Software para analizar registros y configurar alertas.

Pasos rápidos para la configuración:

  1. Configurar servidores web:
    • Para Linux: Actualización APACHE or Nginx configuraciones de registro.
    • Para Windows: utilizar IIS Administrador para configurar el registro estructurado.
  2. Configurar el reenvío de registros:
    • Linux: utilice Rsyslog o herramientas similares para la transmisión segura de registros.
    • Windows: habilitar el reenvío de eventos de Windows con cifrado TLS.
  3. Centralizar registros:
    • Instalar software como Elasticsearch or Logstash en un servidor central.
    • Organice los registros utilizando reglas personalizadas para analizar, filtrar y retener.
  4. Proteger y monitorear:
    • Cifrar registros en tránsito y en reposo.
    • Configure alertas para límites de almacenamiento y errores de entrega de registros.
    • Automatice las copias de seguridad y las políticas de retención.

Al consolidar los registros, obtiene mayor visibilidad, una resolución de problemas más rápida y una mayor seguridad. Las pruebas y el mantenimiento periódicos garantizan la fiabilidad y escalabilidad de su sistema a medida que crece su infraestructura.

Configurar el registro centralizado con rsyslog

rsyslog

Primeros pasos

La preparación es clave para una configuración fluida. Esta sección describe los pasos para establecer un registro centralizado de forma eficaz.

Herramientas y permisos que necesitará

Configurar el registro centralizado requiere herramientas y permisos específicos. A continuación, se detalla lo que necesitará:

Categoría de herramienta Componentes requeridos Propósito
Recolectores de troncos Rsyslog, Syslog-ng o reenvío de eventos de Windows Recopilar y reenviar registros de los servidores
Sistema de almacenamiento Servidor de almacenamiento dedicado con redundancia Proteger y almacenar los datos de registro
Derechos de acceso Acceso de root/administrador y permisos de red Configurar servidores y administrar rutas de red
Herramientas de monitoreo Software de análisis de registros y alertas Analizar y procesar los registros recopilados

Una vez que estas herramientas estén listas, el siguiente paso es configurar medidas de seguridad.

Directrices de seguridad y cumplimiento

Para garantizar que su configuración de registro cumpla con los estándares de seguridad y cumplimiento, siga estas prácticas clave:

  • Retención de datos:Los diferentes marcos de cumplimiento tienen requisitos específicos de retención de registros:
    • PCI DSS:Conserve los registros durante 12 meses.
    • HIPAA:Conservar los registros de auditoría durante 6 años.
    • SOX:Archivar registros del sistema financiero durante 7 años.
  • Controles de acceso:Proteja los datos de registro confidenciales limitando el acceso:
    • Otorgar acceso al registro sólo al personal autorizado.
    • Utilice credenciales independientes para administrar el sistema de registro.
    • Habilite los registros de auditoría para supervisar el acceso a los registros.
  • Estándares de cifrado:
    • Utilice TLS 1.3 para la transmisión segura de registros.
    • Cifre los registros almacenados para proteger los datos en reposo.
    • Aplicar medidas de seguridad equivalentes a los sistemas de respaldo.

Una vez implementada la seguridad, el siguiente objetivo es identificar las fuentes de registro.

Creación de un inventario de origen de registro

Para adaptar su configuración de registro centralizado, comience documentando sus fuentes de registro. Incluya detalles como:

Información del servidor Detalles de registro Requisitos de almacenamiento
Nombre del servidor/IP Tipos de registros generados Volumen de registro diario (GB)
Sistema operativo Programa de rotación de registros Periodo de retención
Pila de aplicaciones Ubicaciones de registros personalizados Frecuencia de respaldo

Utilice este inventario para planificar las necesidades de almacenamiento en función del volumen de registro diario, los requisitos de retención, las proyecciones de crecimiento y los cronogramas de respaldo.

Configuración del registro del servidor web

Configure sus servidores web para enviar registros a un sistema centralizado para facilitar la supervisión y el análisis.

Configuración del registro del servidor Linux

Tipo de registro Archivo de configuración Campos requeridos
Acceso Apache /etc/apache2/apache2.conf marca de tiempo, IP del cliente, método de solicitud, URI, código de estado
Error de Apache /etc/apache2/apache2.conf nivel de gravedad, ID del proceso, IP del cliente, mensaje de error
Acceso a Nginx /etc/nginx/nginx.conf marca de tiempo, nombre del servidor, detalles de la solicitud, tiempo de respuesta
Error de Nginx /etc/nginx/nginx.conf nivel de error, ID de conexión, IP del cliente, descripción del error

Actualizar Apache LogFormat directiva:

LogFormat "%{%Y-%m-%d %H:%M:%S}t %v %h %u %r %>s %b %D" combined
CustomLog ${APACHE_LOG_DIR}/access.log combined
ErrorLog ${APACHE_LOG_DIR}/error.log

Modificar el Nginx log_format directiva:

log_format detailed '$time_local $server_name $remote_addr $request '
                    '$status $body_bytes_sent $request_time';
access_log /var/log/nginx/access.log detailed;
error_log /var/log/nginx/error.log warn;

Configuración del registro del servidor de Windows

Para configurar el registro en servidores Windows mediante IIS:

  1. Abra el Administrador de IIS y seleccione el nodo del servidor.
  2. Haga doble clic en Inicio de sesión.
  3. Elija Formato de archivo de registro extendido del W3C.
  4. Haga clic en Seleccionar campos y habilitar:
    • Fecha y Hora
    • Nombre del servidor
    • Cliente IP
    • Método
    • Raíz URI
    • Consulta URI
    • Estado del protocolo
    • Tiempo tomado

Establezca la ruta del directorio de registro utilizando PowerShell:

Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST' -filter "system.applicationHost/sites/siteDefaults/logFile" -name "directory" -value "C:\CentralLogs"

Configuración de herramientas de reenvío de registros

Instalar y configurar herramientas para reenviar registros de forma segura al sistema central.

Para sistemas Linux que utilizan rsyslog:

# Install rsyslog
apt-get install rsyslog

Edite el archivo de configuración rsyslog para habilitar el reenvío seguro:

# /etc/rsyslog.conf
module(load="imfile")
input(type="imfile"
      File="/var/log/apache2/access.log"
      Tag="apache-access"
      Severity="info"
      Facility="local7")

*.* @@central-log-server:6514

Para servidores Windows, configure el reenvío de eventos de Windows:

# Enable WinRM
winrm quickconfig
# Configure event forwarding
wecutil qc /q

Habilite TLS para proteger la transmisión de registros. Genere certificados y actualice las configuraciones:

# Generate SSL certificate
openssl req -newkey rsa:2048 -nodes -keyout /etc/ssl/private/rsyslog.key -x509 -days 365 -out /etc/ssl/certs/rsyslog.crt

# Update rsyslog configuration
module(load="imtcp" StreamDriver.AuthMode="x509/name" StreamDriver.Mode="1")
input(type="imtcp" port="6514")

Reinicie los servicios necesarios para aplicar los cambios:

# Linux
systemctl restart rsyslog

# Windows
Restart-Service W3SVC

Una vez completada la configuración, pruebe la entrega de registros y monitoree su sistema para asegurarse de que todo funcione como se espera.

sbb-itb-608da6a

Configuración del servidor de registro central

Una vez configurado el reenvío de registros en sus servidores, el siguiente paso es configurar un servidor de registros central para recopilar y almacenar registros. Empiece por instalar los paquetes necesarios y habilitar la recepción de registros:

apt-get install rsyslog elasticsearch logstash

vim /etc/rsyslog.conf

module(load="imtcp")
input(type="imtcp" port="514")
module(load="imudp")
input(type="imudp" port="514")

Cree directorios para el almacenamiento de registros y configure los permisos correctos:

mkdir -p /var/log/central
chown syslog:adm /var/log/central
chmod 750 /var/log/central

Reglas de procesamiento de registros

Una vez recibidos los registros, puede aplicar reglas para organizar y filtrar las entradas. Estas reglas ayudan a analizar, filtrar, agregar y gestionar la retención de registros:

Tipo de regla Propósito Patrón de ejemplo
Parsing Extraer campos clave marca de tiempo, IP de origen, código de estado
Filtrado: Eliminar registros innecesarios excluir comprobaciones de estado y archivos estáticos
Agregación Combinar eventos similares agrupar por tipo de error, origen
Retención Administrar el almacenamiento de registros 30 días completos, 90 días comprimidos

Definir reglas personalizadas en /etc/rsyslog.d/ Para procesar registros:

template(name="WebServerLogs" type="string" string="/var/log/central/%HOSTNAME%/%PROGRAMNAME%.log")

if $programname contains 'apache' then {
    action(type="omfile" dynaFile="WebServerLogs")
    stop
}

Planificación de la seguridad y el crecimiento

Para proteger las transferencias de registros, habilite el cifrado TLS en el servidor central:

mkdir /etc/rsyslog.d/keys
openssl req -newkey rsa:2048 -x509 -nodes \
    -keyout /etc/rsyslog.d/keys/private.key \
    -out /etc/rsyslog.d/keys/public.crt

Configurar la rotación de registros para controlar el crecimiento del almacenamiento:

/var/log/central/*/*.log {
    rotate 30
    compress
    delaycompress
    missingok
    notifempty
    create 0640 syslog adm
    sharedscripts
    postrotate
        /usr/lib/rsyslog/rsyslog-rotate
    endscript
}

Para controlar el uso del almacenamiento, cree un script de monitoreo:

cat > /usr/local/bin/check_log_space.sh << 'EOF'
#!/bin/bash
THRESHOLD=85
USAGE=$(df /var/log/central | tail -1 | awk '{print $5}' | sed 's/%//')
if [ $USAGE -gt $THRESHOLD ]; then
    echo "Log storage at ${USAGE}% exceeds threshold"
    exit 1
fi
EOF
chmod +x /usr/local/bin/check_log_space.sh

Programe el script para que se ejecute cada 6 horas usando crontab:

0 */6 * * * /usr/local/bin/check_log_space.sh

Por último, configure copias de seguridad de los registros críticos para garantizar la seguridad de los datos:

rsync -av --delete /var/log/central/ /backup/logs/

Pruebas y mantenimiento

Una vez que haya configurado su servidor de registro central, es fundamental verificar su funcionalidad y estar atento a las métricas de rendimiento.

Prueba de entrega de registros

Utilice registros de pruebas para garantizar que su sistema funcione como se espera:

cat > /usr/local/bin/test_log_delivery.sh << 'EOF'
#!/bin/bash
TEST_MSG="Log test $(date +%s)"
logger -t test "$TEST_MSG"
sleep 10
if ! grep "$TEST_MSG" /var/log/central/$(hostname)/syslog.log; then
   echo "Log delivery failure detected"
   exit 1
fi
EOF
chmod +x /usr/local/bin/test_log_delivery.sh

Para medir la latencia de entrega de registros, instale y utilice logcheck:

apt-get install logcheck
logcheck -o -t 300

Comprobaciones de rendimiento del sistema

Realice un seguimiento de estas métricas del sistema para garantizar un funcionamiento fluido:

Métrico Advertencia Critical Frecuencia
Uso de CPU 70% 90% 5 min
Uso de la memoria 80% 95% 5 min
E / S de disco 80% 95% 15 min
Ancho de banda de la red 75% 90% 5 min

Configurar la monitorización del rendimiento con collectd:

apt-get install collectd
cat >> /etc/collectd/collectd.conf << 'EOF'
LoadPlugin cpu
LoadPlugin memory
LoadPlugin disk
LoadPlugin interface

<Plugin disk>
   Disk "/^sd/"
   IgnoreSelected false
</Plugin>
EOF

El monitoreo continuo ayuda a identificar problemas potenciales de manera temprana y mantiene su sistema de registro funcionando de manera eficiente.

Pautas de mantenimiento

Automatice las tareas de mantenimiento regulares con trabajos programados:

0 0 * * * /usr/local/bin/check_log_integrity.sh
0 0 * * 0 /usr/local/bin/compress_old_logs.sh
0 0 1 * * /usr/local/bin/archive_logs.sh

Cree un script para comprobar la integridad del registro y evitar problemas:

cat > /usr/local/bin/check_log_integrity.sh << 'EOF'
#!/bin/bash
find /var/log/central -type f -name "*.log" -mtime -1 -exec md5sum {} ; > /tmp/log_checksums
if ! diff /tmp/log_checksums /var/log/checksums.old; then
   echo "Log integrity check failed"
   exit 1
fi
mv /tmp/log_checksums /var/log/checksums.old
EOF

Configurar alertas para el crecimiento excesivo de registros:

cat > /usr/local/bin/monitor_log_growth.sh << 'EOF'
#!/bin/bash
MAX_GROWTH=1073741824 # 1GB per day
CURRENT_SIZE=$(du -sb /var/log/central | cut -f1)
PREVIOUS_SIZE=$(cat /tmp/previous_size 2>/dev/null || echo 0)
GROWTH=$((CURRENT_SIZE - PREVIOUS_SIZE))

if [ $GROWTH -gt $MAX_GROWTH ]; then
   echo "Warning: Log growth exceeds threshold"
   exit 1
fi
echo $CURRENT_SIZE > /tmp/previous_size
EOF

Por último, confirme que la configuración de su sistema sea correcta:

rsyslogd -N1
logstash --config.test_and_exit

Conclusión

El registro centralizado proporciona una sólida supervisión de la seguridad y simplifica la resolución de problemas. Al consolidar los registros de varios servidores web en una base de datos con función de búsqueda, puede detectar rápidamente actividades inusuales y responder a los incidentes. Este enfoque se basa en los pasos detallados de configuración y mantenimiento descritos anteriormente.

Un sistema de registro centralizado correctamente configurado ofrece:

  • Escalabilidad organizacional:Maneja el crecimiento de cientos a millones de entradas de registro diarias
  • Confiabilidad :Mantiene la precisión e integridad de los datos de registro
  • Cumplimiento:Cumple con los estándares regulatorios de retención y seguridad de registros.
  • Eficiencia:Optimiza el uso de recursos para administrar grandes volúmenes de registros

Las pruebas y el mantenimiento rutinarios son clave para evitar problemas de entrega de registros y limitaciones de almacenamiento. Las comprobaciones de estado automatizadas y el mantenimiento constante garantizan el correcto funcionamiento de su sistema de registro y proporcionan información sobre las operaciones de su servidor web.

A medida que su infraestructura evolucione, actualice su configuración de registro para reflejar los nuevos requisitos. Ajuste las reglas de procesamiento de registros, los programas de retención y la configuración de rendimiento para que se ajusten a las necesidades de su organización.

Artículos relacionados con

Diseño. Desarrollo. Gestión.


Cuando quieres lo mejor, necesitas especialistas.

Hablemos
Hasta arriba