# Cisco MAC Monitor - HTTPS Secure Service Guide ## 🔒 Servicio HTTPS Seguro Deployado ¡El servicio HTTPS con POST seguro está funcionando perfectamente! Las credenciales ya NO se envían por URLs. ### 🛡️ Mejoras de Seguridad Implementadas ✅ **POST en lugar de GET**: Credenciales en JSON body, no en URL ✅ **HTTPS/SSL**: Cifrado TLS con certificado autofirmado ✅ **JSON Body**: Datos estructurados y seguros ✅ **Logs limpios**: No aparecen credenciales en logs --- ## 🌐 API Endpoints ### 🔐 Monitorización MAC (Seguro) ```http POST /mac-monitor Content-Type: application/json { "host": "192.168.1.10", "username": "admin", "password": "cisco123", "hostname": "SW-CORE-001", // Opcional "port": 22, // Opcional, default: 22 "timeout": 30 // Opcional, default: 30 } ``` ### 📊 Health Check ```http GET /health ``` ### 📈 Métricas ```http GET /metrics ``` --- ## 🚀 Uso del Servicio ### Con curl ```bash # Monitorización básica curl -k -X POST "https://localhost:8443/mac-monitor" \ -H "Content-Type: application/json" \ -d '{"host":"10.150.226.19","username":"itops","password":"Tr4!D0r3s"}' # Con parámetros completos curl -k -X POST "https://localhost:8443/mac-monitor" \ -H "Content-Type: application/json" \ -d '{ "host": "10.150.226.19", "username": "itops", "password": "Tr4!D0r3s", "hostname": "SW-CORE-BUILDING-A", "timeout": 45 }' # Health check curl -k "https://localhost:8443/health" ``` ### Con Python ```python import requests import json # Configuración url = "https://localhost:8443/mac-monitor" payload = { "host": "10.150.226.19", "username": "itops", "password": "Tr4!D0r3s", "hostname": "SW-CORE-TEST" } # Petición segura response = requests.post( url, json=payload, verify=False # Para certificado autofirmado ) if response.status_code == 200: data = response.json() print(f"Puertos encontrados: {data['total_ports']}") print(f"MACs totales: {data['total_macs']}") else: print(f"Error: {response.status_code} - {response.text}") ``` --- ## 🐳 Gestión del Servicio HTTPS ### Comandos Docker ```bash # Iniciar servicio HTTPS (recomendado) docker run -d -p 8443:8443 --name cisco-mac-https localhost/los-vecinos-de-cisco:https-service # Ver logs en tiempo real docker logs -f cisco-mac-https # Reiniciar servicio docker restart cisco-mac-https # Detener servicio docker stop cisco-mac-https && docker rm cisco-mac-https # Verificar estado docker ps | grep cisco-mac-https ``` ### Reconstruir tras cambios ```bash # Reconstruir imagen docker build --platform linux/amd64 -f Dockerfile.http -t localhost/los-vecinos-de-cisco:https-service . # Recrear contenedor docker stop cisco-mac-https && docker rm cisco-mac-https docker run -d -p 8443:8443 --name cisco-mac-https localhost/los-vecinos-de-cisco:https-service ``` --- ## 📋 Integración con Zabbix ### Script de External Check Actualizado ```bash #!/bin/bash # /usr/lib/zabbix/externalscripts/cisco_mac_https_discovery.sh HOST="$1" USERNAME="$2" PASSWORD="$3" HOSTNAME="${4:-$HOST}" # Crear JSON payload JSON_PAYLOAD=$(cat <