The percentage of small buckets… – Splunk

Bonjour à tous, aujourd’hui je vous partage un bug que j’ai rencontré avec un instance Splunk il y a quelques temps de ça. L’erreur en question était celle-ci : « The percentage of small buckets (40%) created over the last hour is high and exceeded the yellow thresholds (30%) for index« . J’ai mis un moment à la détricoter.

The percentage of small buckets (40%) created over the last hour is high and exceeded the yellow thresholds (30%) for index

Après quelques recherches (ici, là), j’ai fini par identifier la root-cause : des logs sui arriveraient avec « trop de retard » par rapport à leur date réelle d’émission. Ce délai forcait Splunk, qui range les données dans les Bucket de manière temporellement ordonnée, à recréer des bucket pour ces évènements car ceux correspondant à cette plage temporelle avaient été fermés.

A la recherche des logs pétés

A partir de mon erreur, je me lance donc dans le SPL ci-dessous et effectivement j’ai bien une des sources de logs qui arrivent avec des latences pas normales.

index=<monindex>
| eval latency=_indextime-_time
| stats min(latency),
max(latency),
avg(latency),
median(latency)
by index sourcetype host
| sort - "avg(latency)"
The percentage of small buckets (40%) created over the last hour is high and exceeded the yellow thresholds (30%) for index

Du coup j’ai gratté un peu sur l’hôte en question et il s’avère qu’on a régulièrement des grosses latence à l’indexation, à … Lire la suite

No Limit Secu – Les dix commandements du SIEM

No Limit Sécu

Bonjour à tous, alors pour commencer, je suis désolé je n’en ai toujours pas terminé avec mon gros projet. Ça pique, c’est long et ça me consomme un temps de dingue. En conséquence, le rythme normal des publications sur le site ne reprendra surement pas avant 2022. Pour autant, je ne chôme pas et pour vous faire patienter on vous a concocté avec l’équipe de NoLimitSécu un petit épisode sur les dix commandements du SIEM cet été.

Comme la dernière fois, c’est une super expérience avec Johanne, Hervé, Nicolas et Marc Frédéric et vous pouvez nous écouter ici :

https://www.nolimitsecu.fr/les-dix-commandements-du-siem/
(ou sur toutes les bonnes plateforme de musique comme Spotify, deezer, etc.)

Voilà donc, écoutez-nous ? j’espère que cet épisode sur les dix commandements du SIEM vous intéressera, il y en a certains d’entre vous que je n’ai pas revu depuis un certain temps, ça vous rappellera ma douce voix suave dans vos cages à miel :-p ? A minima j’espère que ça remettra quelques idées en place à certains, parce que la plupart des exemples dans ce n°334 du podcast ressemblent fortement à des personnages réels et ce n’est pas une coïncidence ! ^^

Et … Lire la suite

Transformer un tableau avec plusieurs colonnes dates en évènements

Salut à tous, aujourd’hui je voulais m’arrêter sur un cas d’utilisation « à la con 🙂 » de Splunk et plus exactement comment transformer un tableau avec plusieurs colonnes dates en évènements. Niveau contexte, on m’a demandé de suivre les status d’offenses (incident) d’un QRadar dans un Splunk (oui, je sais, ça à l’air con dit comme ça, juste… enfin bref cherchez pas…). Mais comme ce serait trop simple d’avoir des évènements « carrés » qui vous indique ouverture, fermeture, activité, etc. je n’avais à ma disposition que l’option des calls API Rest. Et comme on a beaucoup d’offenses, je ne peux pas non plus faire un fulldump et construire un lookup avec toutes mes offenses. Du coup dernière option jouable faire des exports réguliers des offenses ouvertes ou fermées. En gros, j’exporte mes données avec ces quelques lignes de PowerShell qui interrogent l’API QRadar au début de chaque heure :

function ConvertTo-UnixDateMs ($PSDate) {
        $epoch = [timezone]::CurrentTimeZone.ToLocalTime([datetime]'1/1/1970')
        return (New-TimeSpan -Start $epoch -End $PSDate).TotalSeconds * 1000
}

$start = ConvertTo-UnixDateMs -PSDate ([DateTime]::Today.AddHours($now.Hour - 1))
$end = $start + (2 * 3600 * 1000)

((Invoke-RestMethod ("$urlQradarapi"+"/siem/offenses%3Ffilter%3Dclose_time%20%3E%20"+"$start"+"%20and%20close_time%20%3C%20"+"$end"+"%20or%20start_time%20%3E%20"+"$start"+"%20and%20start_time%20%3C%20"+"$end") -Method GET -Headers @{Version=$apiversion;Accept='application/json';SEC=$apikey}) ConvertTo-Json -Depth 100  | Out-File ("$outoffensesfile") -Encoding utf8)

Et le … Lire la suite

Docker et Portainer part 8 – Déployer un jitsi meet avec docker

jitsi meet avec docker

Salut à tous, aujourd’hui on continue sur la série des trucs utile à déployer avec docker et portainer (et qui se font bien). Aujourd’hui on va faire un truc qui je pense va voir servir fort beaucoup en 2021 (même si je préférerai le contraire) et on va voir comment déployer un serveur jitsi meet avec docker.

Rappel des articles de la série « Docker et Portainer » :

JITSI ?

Jitsi est une vieille application « SIP … Lire la suite