Mostrando las entradas con la etiqueta monitorizacion. Mostrar todas las entradas
Mostrando las entradas con la etiqueta monitorizacion. Mostrar todas las entradas

lunes, 14 de abril de 2025

DHCP Windows Server - Dashboard Grafana

 hace unos días, un cliente me pidió tener dashboards en grafana de su servidor DHCP para conocer y medir el servicio, por lo que me puse a investigar como podiamos obtener los datos del servidor DHCP y poder armar los tableros en grafana, por lo que en esta entrada les comento lo que hice:

Para este propósito usamos un script en PowerShell + Telegraf + Influxdb y Grafana.

1.- En el servidor DHCP arme un script en powershell y guardarlo con el nombre GetDHCPStats.ps1 en la siguiente ruta C:\Scripts el cual ejecuta los siguientes comandos:

Get-DhcpServerv4Scope: Devuelve la configuración del ámbito IPv4 de los ámbitos especificados

 Get-DhcpServerv4ScopeStatistics: Obtener las estadísticas de alcance IPv4 correspondientes a los ID de alcance IPv4.

 Get-DhcpServerv4ExclusionRange: Devuelve los rangos de direcciones IPv4 excluidos de los ID de alcance especificados.

 Get-Service -Name DHCPServer: Otener el estado del servicio DHCP.

Aqui coloco el código desarrollado:

 

  
    
 $scopes = Get-DhcpServerv4Scope

foreach ($scope in $scopes) {
    $stats = Get-DhcpServerv4ScopeStatistics -ScopeId $scope.ScopeId
    $exclusionRanges = Get-DhcpServerv4ExclusionRange -ScopeId $scope.ScopeId
    $totalExcluidas = 0

    foreach ($rango in $exclusionRanges) {
        $startBytes = [System.Net.IPAddress]::Parse($rango.StartRange).GetAddressBytes()
        $endBytes = [System.Net.IPAddress]::Parse($rango.EndRange).GetAddressBytes()
        $startInt = ($startBytes[0] -shl 24) -bor ($startBytes[1] -shl 16) -bor ($startBytes[2] -shl 8) -bor $startBytes[3]
        $endInt = ($endBytes[0] -shl 24) -bor ($endBytes[1] -shl 16) -bor ($endBytes[2] -shl 8) -bor $endBytes[3]
        $totalExcluidas += $endInt - $startInt + 1
    }

    # Construcción correcta de campos (sin espacios)
    $fields = @(
        "start_range=`"$($scope.StartRange)`"",
        "end_range=`"$($scope.EndRange)`"",
        "addresses_free=$($stats.AddressesFree)",
        "addresses_used=$($stats.AddressesInUse)",
        "addresses_reserved=$($stats.Reserved)",
        "addresses_excluded=$totalExcluidas",
        "percentage_used=$($stats.PercentageInUse)"
    ) -join ','

    # Línea única con formato válido
    $line = "dhcp_scope,host=$env:COMPUTERNAME,scope_id=$($scope.ScopeId),subnetMask=$($scope.SubnetMask),name=$($scope.Name.Replace(' ','\ ')),state=$($scope.State),lease=$($scope.LeaseDuration) $fields"
    
    Write-Output $line
}

# Estado del servicio
$service = Get-Service -Name DHCPServer
Write-Output "dhcp_service,host=$env:COMPUTERNAME status=`"$($service.Status)`""  
 
2.- Configurar Telegraf para enviar los datos a servidor Influxdb
  
 
[[inputs.exec]]
 commands = ["powershell -ExecutionPolicy Bypass -File C:\\Scripts\\GetDHCPStats.ps1"]
 timeout = "10s"
 data_format = "influx"  
   
 
  
  
[[outputs.influxdb]]
  urls = ["http://IP_InfluxDB:8086"]  # Ej: http://192.168.1.100:8086
  database = "dhcp_metrics"           # Nombre de la base de datos
  username = "usuario"                # Opcional
  password = "contraseña"             # Opcional
     
 

Finalmente obtendremos este dashboard en nuestro grafana: 

Dashboard DHCP

 Nos vemos en la próxima!!!.

lunes, 18 de diciembre de 2023

Telegraf monitorear Vsphere y Dashboard en Grafana

 

Siguiendo con mis pruebas y laboratorios de Telegraf con InfluxDB y Grafana, encontré que tambien puede monitorear tu infraestructura virtual y apoyado de unos excelentes dashboards elaborados por José de la Cruz, manos a la obra:

cree el siguiente archivo en /etc/telegraf/telegraf.d/vsphere-stats.conf con el siguiente contenido dentro:

## Realtime instance

[[inputs.vsphere]]

## List of vCenter URLs to be monitored. These three lines must be uncommented

## and edited for the plugin to work.

interval = "60s"

  vcenters = [ "https://someaddress/sdk" ]

  username = "someuser@vsphere.local"

  password = "secret"

 

vm_metric_include = []

host_metric_include = []

cluster_metric_include = []

datastore_metric_exclude = ["*"]

 

max_query_metrics = 256

timeout = "60s"

insecure_skip_verify = true

 

## Historical instance

[[inputs.vsphere]]

interval = "300s"

  vcenters = [ "https://someaddress/sdk" ]

  username = "someuser@vsphere.local"

  password = "secret"

 

  datastore_metric_include = [ "disk.capacity.latest", "disk.used.latest", "disk.provisioned.latest" ]

  insecure_skip_verify = true

  force_discover_on_init = true

  host_metric_exclude = ["*"] # Exclude realtime metrics

  vm_metric_exclude = ["*"] # Exclude realtime metrics

 

  max_query_metrics = 256

  collect_concurrency = 3

 

 Ahora en grafana solo falta importar estos Dashboards que detallo  a continuación para monitorear tu VSphere de forma integral:

https://grafana.com/dashboards/8159

alt tag

https://grafana.com/dashboards/8162

alt tag

https://grafana.com/dashboards/8165

alt tag

https://grafana.com/dashboards/8168

alt tag

Bueno como verás con estas poderosas herramientas podrás tener todo de manera gráfica el performance de tu infraestructura Virtual, nos vemos en la próxima...

martes, 31 de octubre de 2023

Instalación de Wazuh : Monitorear Agentes

Hace unos días intente probar el SIEM open sources, y me llamo mucho la atención WAZUH, como sabrán me puse manos a la obra y me dedique a instalarlo, pues la instalación no es muy compleja, me decidí integrarlo con Elastic Stack, siguiendo este enlace:


Lo interesante posterior a la instalación, es que Wazuh Agent es un potente EDR (detección y respuesta de endpoints) complementandolo con dos servicios adicionales, de forma predeterminada, el agente Wazuh recopila registros de Windows y del sistema, pero no proporciona información suficiente sobre nuestra actividad en los end points. Una solución EDR debe recopilar conexiones de red, generar procesos, ejecutar comandos, etc, para que podamos detectar con precisión cualquier actividad maliciosa.

Instalación de Sysmon
Instalemos Sysmon en nuestros end points de Windows. Sysmon es nuestro registro de Windows con potenciado y es muy recomendado aplicarlo en Windows, proporciona su propio archivo Sysmon Config, pero en esta demostración usaré olafhartong GitRepo: Sysmon Modular

¡Vea el script de PowerShell a continuación para instalar Sysmon fácilmente en sus propios puntos finales!


Sysmon ahora escribe eventos lo podemos revisar en el visor de eventos, Registro de Aplicaciones y Servicios / Microsoft / Windows / Sysmon/Operational:



Solos nos resta agregar el bloque de configuración <localfile> al grupo de nuestro Agente Wazuh le indicamos al Agente Wazuh que recopile nuestros eventos Sysmon.

<localfile>
<location>Microsoft-Windows-Sysmon/Operational</location>
<log_format>eventchannel</log_format>
</localfile>

Packetbeat Install

Usaremos Packetbeat para analizar el tráfico de la red en tiempo real, la implementación de Packetbeat en nuestros end points Linux (Sysmon para Windows ya recopila el tráfico de red) nos permite analizar el tráfico de red que viaja hacia y desde nuestros terminales.

Este script bash a continuación para instalar Packetbeat rápidamente


Ahora Packetbeat está escribiendo sus registros en

/tmp/packetbeat/packetbeat.

Finalmente Agregamos el bloque de configuración <localfile> al grupo de nuestro Agente Wazuh para que recopile nuestros eventos Packetbeat.

<localfile>
<log_format>json</log_format>
<location>/tmp/packetbeat/packetbeat</location>
</localfile>

Ok con esto ya nuestros end points usando Wazuh Agent con Sysmon y Packetbeat brinda una visión completa de los puntos finales. Espero que les haya gustado esta integración nos vemos en la proxima y espero que los pueda defender de los malos.


Referencias:


jueves, 31 de agosto de 2023

Nagvis integración con LDAP con acceso de invitado

En entradas anteriores detalle los pasos para instalar y configurar NAGIOS con varios componentes entre ellos NAGVIS, hasta ahí todo bien, pero resulta que una vez terminados los mapas y ya en producción, era necesario dar acceso a ciertos mapas y un grupo de usuarios. Como sabrán no es buena práctica asignar credenciales diferentes para cada aplicación, así que intenté integrarlo con LDAP de Directorio activo.

Como habrán visto, NAGVIS, utiliza de forma predeterminada su base de datos sqlite para el proceso de autenticación, por lo que no es práctico crear usuarios para que puedan acceder a la herramienta.

Uno de los temas que complicaba, era que cada usuario que se autentica mediante directorio activo solo tenga permisos de invitado y de ser el caso poder asignarle otro rol en la herramienta.

Así que si tienes una necesidad parecida, pongámonos manos a la obra.

Importante debes tener iniciado sesión con la cuenta admin antes de hacer cualquier cambio.

1.- Editar el archivo nagvis.ini.php, si has usado la entrada anterior debería estar en esta ubicación: /usr/local/nagvis/etc/nagvis.ini.php, en el archivo detallan varios modulos de inicio de sesión LogonMixed, LogonDialog, LogonEnv, LogonMultisite) por lo que en la linea 148 aproximadamente hay que descomentar las siguientes o agregarlas:

                logonmodule="LogonMixed"
                logonenvvar="REMOTE_USER"
                logonenvcreateuser="1"
                logonenvcreaterole="Guests"

Explicaremos un poco estas lineas, opción logonmodule NagVis utilizará- el modulo LogonMixed, esto significa que hará uso de la variable de entorno de Apache "REMOTE_USER" como nombre de usuario. Si la variable REMOTE_USER no contiene datos o esta vacía, seguirá con el mensaje de inicio de sesión de NagVis. La opción logonenvcreateuser al estar establecida en "1" le estamos indicando que cree automáticamente el usuario con el dato de la variable REMOTE_USER enviada por el navegador, en la base de datos del usuario de NagVis si no existe. Finalmente la opción logonenvcreaterole le indicamos que asigne automáticamente el rol de "Guests" a los nuevos usuarios creados.

2.- Modificar la configuración de Apache para NagVis (nagvis.conf) . En mi caso el archivo se encuentra en /etc/httpd/conf.d/nagvis.conf , en la linea modificar o cambiar, AllowOverride  establecerlo en All, esto permitirá que el archivo .htaccess anule la configuración, como el mecanismo de autenticación.

3.- crear o ver si este archivo .htaccess se creó en la carpeta compartida de NagVis (/usr/local/nagvis/share/.htaccess) y agregamos estas lineas, tener en cuenta que para autenticación se establece ldap y file y colocamos la ruta del archivo de nagios:

AuthType Basic
 AuthName "LDAP Authentication"
 AuthBasicProvider ldap file
 AuthUserFile /usr/local/nagios/etc/htpasswd.users
 AuthLDAPURL "ldap://servidorldap.com.ec servidorladap2.com.ec/dc=com,dc=ec?sAMAccountName?sub?(objectClass=*)"
 AuthLDAPBindDN "CN=cuenta nagios,OU=CuentasGenéricas,OU=Usuarios,DC=com,DC=ec"
 AuthLDAPBindPassword contraseñadela cuenta
 Require valid-user

4.- Acceder a la URL de NagVis, aparecerá la típica ventana de autenticación:


El usuario puede iniciar sesión con sus credenciales de Active Directory y luego podrá ver todos los mapas a los que tiene acceso el rol "Invitados". ¿Recuerdas que todavía estás conectado como administrador? Ahora puede ver los usuarios creados automáticamente en "Menú de usuario" -> "Administrar usuarios", por lo que puedes dar acceso de "Administradores" a mi usuario personal de AD. y también puedes empezar a asignar roles a otros usuarios de AD.

Nota: confirmar que tengas instalado el modulo ldap (yum install mod_ldap).

Espero que haya sido útil. si de pronto no encuentras mucha información sobre este tema, seguro te servirá de mucho.

Nos vemos en la próxima!!!.

jueves, 2 de noviembre de 2017

2 Herramientas de monitorización de redes sociales

Es tan triste ver cómo se manipula Twitter y Facebook, incluso recurriendo a técnicas como la generación de miles o incluso millones de bots... O intoxicando las redes con fotografías falsas y/o de tiempos pasados... o incluso de otras geografías... De hecho, en estas últimas semanas han salido algunas noticias que nos recuerdan a los analistas que debemos tener mucho cuidado cuando utilizamos información de las mismas.

Pero no sólo debemos prestar atención a que la información sea veraz, sino que debemos recopilar la información que circula a través de todos los hashtag que se generan para hablar de un tema, todos los hashtag desde los distintos puntos de vista. Sólo así tendremos una visión 360º de la situación que estamos analizando.

  •     Principales hashtag de un vistazo: te ayuda a descubrir los principales hashtag que se utilizan con los que ya has descubierto. Es tan fácil como buscar el hashtag de partida con el buscador. Te dará un árbol con los otros 10 hashtag que más se utilizan en la campaña que estés monitorizando en Twitter. Pruébalo, es muy sencillo. El modo "tabla" me chifla, porque además puedes ver qué hastag están evolucionando hacia arriba y cuáles están perdiendo fuerza. Esto permite reorientar tu estrategia de monitorización.
  •     Mide la popularidad: aunque con su propio algoritmo, eso sí. Pero te vendrá bien para comparar unos hashtag con otros. Así sabrás valorar la importancia de los mensajes que se difundan en cada uno, e incluso asignar un valor de riesgo del impacto que puedan tener.
  •     Mide la intensidad de la correlación entre los hashtag: lo que significa que puedes analizar la fortaleza de los mensajes desde un punto de vista global, así como la fuerza en la sinergia de los mismos. Todo lo que supere el 60% será una correlación altísima, por lo que la fuerza de los mensajes se funde para crear más impacto. Entre 40-60% hay una influencia media o relativa, por lo que se puede observar y vigilar en cuanto a la tendencia. Lo que baje del 40% tiene poca correlación, lo que significa que los mensajes no crean una sinergia lo suficientemente poderosa para construir un relato fuerte.
  •     Influencers: esta herramienta me gusta mucho porque organiza los influencers en dos niveles: los que tienen más alcance y los que están muy especializados en la temática de la que se está hablando. Si bien es cierto que el algoritmo no es perfecto ayuda a distinguir qué perfiles son difusores y quienes movilizadores. Además, así pueden investigarse sus followers con objetivos más claros y ser más eficientes.
  •     Análisis de la tendencia: te permite ver el comportamiento de los hashtag en los últimos dos meses, y te ofrece una pequeña tendencia de lo que se puede esperar en función de lo que está pasando. Permite analizar en qué momento hay picos ascendentes, que luego pueden ser comparados con sucesos. De esta manera se puede conocer si las expresiones sociales son la causa de un suceso o son la consecuencia. Vamos, que son ideales para hacer timelines.
En el mundo del marketing y comunicación en redes sociales es una de las herramientas más conocidas y utilizadas. Además, también es gratuita. Para los analistas es una herramienta que nos permite conocer de un vistazo todos los hashtag que se están hablando sobre un tema.

Es una herramienta tremendamente útil por varias cuestiones que te comento a continuación:
  •     Ordena los hashtag: en función de si están vivos, muertos, si son de larga duración, etc. Evidentemente ésto facilita una barbaridad la decisión de poner más atención en uno u otro, establecer niveles de riesgos, etc.
  •     En la comparativa puedes ver el alcance: a veces los hashtag pueden ser muy ruidosos, pero tener poco alcance; otras pueden pasar desapercibidos pero su alcance es muy elevado. Como analistas debemos ser especialmente cuidadosos y esta herramienta permite eliminar caer en la trampa de las apariencias
  •     Puedes saber cuántos tuit llevan imágenes y enlaces: fantástico para conocer si es un hashtag que centre gran propaganda. Ya sabemos que los memes y cartelería varia son típicos de una expresión social o de una campaña en redes sociales. Nos interesarán especialmente aquellos hashtag que tengan un porcentaje muy elevado de imágenes y enlaces.
  •     Gráficas por tipo de contenido y exposición: incluye una gráfica del último mes muy interesante porque te facilita conocer cuántos mensajes son originales y cuántos RT, lo que ayuda a conocer la influencia real del hashtag sobre la población de perfiles de Twitter.
No te olvides de probarlas y nos vemos en la proxima!!

Fuente: Seguinfo