Seguridad y Monitorización de Redes: SSH, WireGuard, Prometheus y Grafana

Utilidades de SSH

  • Abrir una shell remota
  • Ejecución remota de comandos
  • Copia de archivos por SCP
  • Servidor sFTP
  • RSYNC: copia sincronizada de archivos
  • SSHFS
  • Escritorio remoto
  • Tunneling y pivoting
  • VPN PROXY SOCKS 5 (Poor man’s VPN)

Proceso de Autenticación SSH

  1. El cliente se conecta por TCP al puerto 22 (por defecto) al servidor SSH.
  2. Entre el cliente y el servidor negocian qué versión de SSH utilizar.
  3. El cliente y el servidor poseen una clave pública y privada; el servidor envía la clave pública al cliente.
  4. El cliente recibe la clave y la comprueba con la que tiene registrada para saber si es auténtica.
    • La primera vez se pide confirmación al usuario para darla como válida.
  5. El cliente genera una clave de sesión aleatoria.
  6. El cliente envía esa clave aleatoria junto con el algoritmo de cifrado que ha elegido entre los dos, y se lo envía en un paquete cifrado con la clave pública del servidor.
  7. A partir de esto, se comunican con el algoritmo de cifrado y la comunicación ya es indescifrable.

Métodos de Cifrado en SSH

SSH utiliza tres métodos de cifrado: cifrado simétrico, cifrado asimétrico y hash.

La directiva PermitRootLogin prohibit-password prohíbe todos los métodos de autenticación para el usuario root, permitiendo solo publickey, autenticación basada en certificados y autenticación GSSAPI.

Diffie-Hellman

Es una técnica que se utiliza para comunicarse en una red insegura; aunque los mensajes sean interceptados, no se pueden descifrar (analogía de los colores). Los participantes comparten un secreto y una clave simétrica.

VPN y Protocolo WireGuard

Tipos de reenvío y túneles:

  • -L: Local forwarding
  • -R: Remote forwarding
  • -D: Proxy SOCKS5 (Poor Man’s VPN)
  • -J: Proxy Jump

WireGuard® es un nuevo protocolo VPN de código abierto que utiliza criptografía de última generación y tiene como objetivo superar a los protocolos VPN existentes como IPsec y OpenVPN®.

Características de VPN WireGuard

  1. Simplicidad y Elegancia.
  2. Rendimiento: diseñado para ser rápido y eficiente.
  3. Seguridad: utiliza criptografía moderna, algoritmos Curve25519 para el intercambio de claves y ChaCha20 para el cifrado.
  4. Implementación del Kernel.
  5. Conexiones Persistentes: la conexión permanece activa.
  6. Reconexión Automática.
  7. Configuración Dinámica.
  8. Compatibilidad: es compatible con una variedad de plataformas.

Pros y Contras de WireGuard

Pros:

  • Código fuente abierto.
  • Cuenta con una base de código muy liviana.
  • Mucho más fácil de auditar.
  • Utiliza criptografía de última generación.
  • Extremadamente seguro.
  • Ofrece altas velocidades.

Contras:

  • Puede ser potencialmente bloqueado por los administradores de la red.

Instalación de WireGuard

  • Instalación: descargar desde sus paquetes correspondientes del sitio web oficial.
  • Claves criptográficas: se deben generar las claves privada y pública en los dispositivos donde vamos a querer conectarnos.
  • Configuración de archivo: definir la IP, las claves públicas de los dispositivos, y la dirección IP y puertos del servidor.
  • Configurar reglas.
  • Iniciar el servicio.
  • Verificación de la conexión.

Sistemas de Monitorización

Tipos de Monitorización

  • Pasiva: El servidor tiene un agente instalado y se encarga de mandar la información periódica al servidor central.
  • Activa: Es más habitual cuando se tiene un servidor central. El servidor pregunta al agente y el agente devuelve la información.

Monitorización Centralizada

  • Monitorización centralizada: Aunque parezca obvio, el tener un único sistema en el que concentrar toda la información es muy útil y eficaz. La alternativa sería tener una monitorización distinta en cada servidor.
  • Interfaz web: Servicio web en el que visualizar todos los datos obtenidos.
  • Sistema de plantillas.
  • Gestión de usuarios: Podremos tener usuarios que puedan ver unos servidores u otros, permitiendo tener equipos especializados en distintos grupos de monitorización. Esto también es útil para dar acceso a los clientes a la monitorización de sus propios servidores.

Datos de Monitorización

  • Cantidad de RAM utilizada.
  • Cantidad de memoria virtual utilizada.
  • Carga de la CPU.
  • Espacio libre en las unidades de disco duro.
  • Estado del sistema RAID.
  • Cantidad de usuarios conectados a la máquina.
  • Estado de puertos de conexión.
  • Latencia hasta llegar al servidor.

NMS (Network Management System)

Es un servidor que ejecuta una aplicación de gestión de red. Los elementos de la red se comunican con la NMS para transmitir la información de gestión y control. La NMS también permite analizar los datos de la red y crear informes.

Protocolos de Correo Electrónico

  • SMTP: Es el protocolo estándar para transferir correo.
  • POP3: Utiliza el protocolo de la capa TCP y opera en los puertos TCP 110 (sin cifrado) y TCP 995 (cifrado). Su función principal es facilitar la descarga de correos electrónicos desde el servidor al destino local, permitiendo borrarlos inmediatamente después de la descarga.
  • IMAP: Diseñado como un reemplazo del protocolo POP. Este protocolo de acceso a mensajes de Internet permite visualizar y acceder a los mensajes almacenados en un servidor sin la necesidad de descargarlos. Una ventaja destacada es que permite la visualización del contenido directamente en el servidor.

Implementación de Prometheus y Grafana

Pasos para Prometheus

  1. Preparar el servidor.
  2. Crear usuario Prometheus.
  3. Descargar e instalar Prometheus.
  4. Mover los binarios de Prometheus a /usr/local/bin y eliminar archivos descargados.
  5. Crear un servicio Systemd de Prometheus.
  6. Cambiar permisos de directorio.
  7. Reiniciar systemd, habilitar e iniciar el nuevo servicio.
  8. Acceder a la interfaz web de Prometheus mediante la URL correspondiente.
  9. Instalar node_exporter en la máquina Linux.
  10. Crear el servicio node-exporter.
  11. Reiniciar systemd, habilitar e iniciar el servicio node exporter.
  12. Añadir node_exporter al archivo de configuración de Prometheus.
  13. Reiniciar Prometheus.
  14. Comprobar el estado en Prometheus.

Pasos para Grafana

  1. Instalar dependencias de Grafana.
  2. Instalar el repositorio de Grafana.
  3. Instalar Grafana.
  4. Habilitar y comprobar el servicio.
  5. Acceder por HTTP en el puerto 3000.
  6. Seleccionar como fuente de datos (Data Source) Prometheus CSL.
  7. Importar el ID del dashboard node exporter full (ID 1860).
  8. Acceso al servidor Prometheus de CSL e importar otros dashboards.

Deja una respuesta

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

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.