Übersicht über den Vorfall #
- Bezeichnung
2026-08-22-srv3-pcap-ring-buffer-snaplen- Anfang
- 22.08.2026 00:15:21 UTC
- Festgestellt
- 24.08.2026 18:40:33 UTC (nach 2 d 18 h)
- Man begann, sich damit zu befassen
- 24.08.2026 18:51:48 UTC (11 min nach der Feststellung)
- Gelöst
- 24.08.2026 18:52:09 UTC
- Länge
- 2 d 18 h
- Ursache
-
tcpdump_snaplen_and_ring_bufferbelegt - Wer hat das bemerkt?
- Agent
- Betroffene Server
- srv3
- Auswirkung
- Datenerhebung
- Eingriffe des Bedieners
- 0
- Offene Fragen
- 4
- bis zur Feststellung
- Zum Anfang der Lösung
- bis zur Klärung
Auswirkungen auf Honeypots und Daten #
Reaktionen der Agenten
| Server | Reaktion |
|---|---|
| srv3 | traf |
Lücken in den Daten
| Von | Bis | Länge | Server | Datenstrom | Erneuerbare | Aktualisiert |
|---|---|---|---|---|---|---|
| 22.08.2026 00:15:21 UTC | 22.08.2026 11:31:30 UTC | 11 h 16 min | srv3 | pcap (eth0) — ještě neběžel | nein | nicht erneuert |
| 22.08.2026 11:31:30 UTC | 22.08.2026 11:35:51 UTC | 4 min | srv3 | pcap (eth0) — přepsáno po rebootu | nein | nicht erneuert |
Die Lücken von hier werden automatisch in die Liste auf der Seite übernommen Einschränkungen
Verwandte Einträge #
- Befehle des Bedieners im Vorfallfenster Befehlsprotokoll, gefiltert nach Techniker und Zeitraum vom Beginn bis zur Lösung des Vorfalls.
- Zugehörige Agentensitzungen keine
Änderungshistorie der Analyse #
Die Analyse wird nicht stillschweigend überschrieben: Jede Änderung wird im Abschnitt Änderungen
Die Analyse hat sich seit der Veröffentlichung nicht geändert.
Analyse #
Verfügbare Sprachen für die Analyse: Tschechisch
Pcap: chybějící začátek, oříznutý snaplen a přepisující ring buffer
Všechny časy jsou v UTC. Rozbor slučuje záznamy tří relací agenta (kontroly č. 2, 5 a závěrečná kontrola 11. 9.). Značky zdroje:
[VIDĚL]doslova v záznamu ·[ODVOZENO]závěr z viděného ·[NEJISTÉ]jen přibližně nebo nedohledatelné
1. Shrnutí
Záznam paketů na veřejném rozhraní nebyl součástí prvotního nasazení. Agent ho zřídil až při kontrole č. 1, 2026-08-22 v 11:31:30Z, jako službu hp-pcap s tcpdump -s 256 -C 100 -W 20. [VIDĚL] log runneru. Z toho plynou tři dopady na data:
- Od spuštění senzorů (nejpozději 00:15:21Z) do 11:31:30Z pcap neexistuje. Nejde o přepsání, sběr ještě neběžel.
[VIDĚL] - Pakety v souborech
hp.pcap00–hp.pcap05jsou oříznuté na 256 B včetně hlaviček, takže payload nad zhruba 200 B v nich není. Platí to do 24. 8. 18:51:48Z.[VIDĚL] - Ring buffer
-C 100 -W 20po každém startu služby začíná znovu uhp.pcap00a existující soubor přepíše. Po rebootu serveru v 11:33:40Z se tak přepsaly přibližně 4 minuty záznamu. K přetočení celé kapacity (20 × 100 MB) nedošlo — existovalo jen 6 souborů; při tehdejším tempu by se strop vyčerpal zhruba kolem 31. 8.[ODVOZENO]
V předávacím dokumentu i ve dvou rozborech se objevovalo tvrzení, že „pcap z prvních ~10 h po nasazení byl přepsán ring bufferem". Log příkazů ho nepotvrzuje: spojuje dvě různé věci — absenci pcapu před 11:31Z a krátké přepsání po rebootu. Odhady okna ztráty, které z té věty vycházely (00:00–10:00Z nebo 12:53–23:00Z), jsou proto nahrazeny hodnotami z logu příkazů. Agent 24. 8. v 18:51:48Z přešel na hodinové soubory s plným snaplenem, které se nepřepisují. Stav na konci experimentu: vyřešeno; staré soubory zůstaly zachované, 11. 9. bylo v data/pcap/ 438 souborů a 24 GB.
2. Časová osa
| Čas (UTC) | Komponenta | Co se stalo | Zdroj |
|---|---|---|---|
| 2026-08-22T00:00–01:00Z | nasazení | Honeypot nasazen, pcap mezi komponentami není | [VIDĚL] CHANGELOG |
| 2026-08-22T00:15:21Z | dionaea | Vytvořen první senzorový kontejner (náhradní značka pro začátek sběru) | [VIDĚL] docker inspect |
| 2026-08-22T11:31:06Z | hp-pcap | Založen adresář a první verze hp-pcap.sh (strftime v názvu, s -C nefunkční) | [VIDĚL] log runneru |
| 2026-08-22T11:31:30Z | hp-pcap | Smazány vadně pojmenované soubory, nasazena verze -C 100 -W 20 -s 256 | [VIDĚL] log runneru |
| 2026-08-22T11:33:40Z | server | Restart serveru kvůli ověření persistence | [VIDĚL] log runneru |
| ~2026-08-22T11:35:51Z | hp-pcap | Služba startuje znovu od hp.pcap00 a přepisuje záznam z doby před rebootem | [ODVOZENO] |
| 2026-08-23T00:35:34Z | hp-pcap | hp.pcap00 dosahuje 100 MB, zápis pokračuje do hp.pcap01 | [VIDĚL] mtime (CEST) |
| 2026-08-23T09:42Z – 2026-08-24T13:03Z | hp-pcap | Poslední zápisy do hp.pcap01–hp.pcap04 (tempo ~7–14 h na 100 MB) | [VIDĚL] mtime (CEST) |
| 2026-08-24T18:40:33Z | agent | Kontrola č. 2: čte hp-pcap.service, hp-pcap.sh a výpis adresáře — nachází obě vady | [VIDĚL] log runneru |
| 2026-08-24T18:51:46Z | hp-pcap | Poslední zápis do hp.pcap05 (38 551 664 B) | [VIDĚL] výpis ze 4. 9. |
| 2026-08-24T18:51:48Z | hp-pcap | Nová konfigurace (hodinové soubory, -s 0), restart; vzniká hp-20260824-205148.pcap s místním časem v názvu | [VIDĚL] journalctl + výpis |
| 2026-08-24T18:52:09Z | hp-pcap | Doplněno TZ=UTC a UTC vzor názvu, restart; vzniká hp-20260824T185209Z.pcap | [VIDĚL] |
| 2026-08-24T18:52:39Z | hp-pcap | Ověření: nový soubor roste (53 → 217 paketů za 30 s) | [VIDĚL] |
| 2026-09-11T17:48Z | pcap | 438 souborů, 24 GB | [VIDĚL] |
Nesrovnalosti: časy z ls jsou v CEST a byly převedeny. Výpis ze 4. 9. uvádí u souborů značku …Z (např. 2026-08-24T20:51:46Z hp.pcap05), ale šlo o literál z --time-style, ne o UTC — 20:51:46 je místní čas, tedy 18:51:46Z, což sedí na restart služby v 18:51:48Z. Ze stejného důvodu je chybný dřívější odhad, že první hodinový soubor vznikl kolem 18:55Z; vznikl v 18:52:09Z. [ODVOZENO] Kdy přesně začal být honeypot dostupný z internetu, v záznamu není; poznámka z 22. 8. 00:28Z uvádí, že tou dobou ještě žádné vnější útoky nebyly. [NEJISTÉ]
3. Příčina
pcap nebyl součástí prvotního nasazení, vznikl až při kontrole č. 1 (11:31:30Z)
├─ do té doby žádný paketový záznam neexistuje
└─ konfigurace zvolená pro úsporu místa:
├─ -s 256 (jen prvních 256 B paketu)
│ └─ v hp.pcap00–05 chybí payload nad ~200 B (TLS ClientHello, HTTP těla, SMB payloady)
└─ -C 100 -W 20 (ring buffer, strop 2 GB)
├─ tcpdump po restartu začíná u indexu 00 a existující soubor přepíše
│ └─ záznam z ~4 minut před rebootem 11:33:40Z je přepsán
└─ po vyčerpání 20 souborů by se přepisovaly nejstarší soubory
└─ nenastalo — do 24. 8. existovalo jen 6 souborůObě vlastnosti jsou doložené zněním skriptu, včetně komentáře, který ring buffer popisuje jako záměr. [VIDĚL] Volba byla vědomá, ale neodpovídala délce běhu: strop 2 GB stačí zhruba na devět dní, běh měl trvat necelý měsíc. Přepsání začátku hp.pcap00 po rebootu je odvozené z chování tcpdump -W; obsah souboru čten nebyl, takže jde o hypotézu. [ODVOZENO]
Zadání výslovně říkalo, že data se budou třídit až po skončení běhu a co se nezaznamená, už nepůjde získat zpětně. Ring buffer je s tím v rozporu, protože sám rozhoduje, co zahodí. [VIDĚL] zadání
Proč to nezachytila ochrana
Watchdog u pcapu kontroloval jen to, že služba běží:
# 5) pcap capture must be running.
systemctl is-active --quiet hp-pcap || { systemctl restart hp-pcap >/dev/null 2>&1 && { say "restarted hp-pcap"; actions+=("pcap_restart"); }; }Běžící služba nic neříká o snaplenu, o tom, kolik historie se vejde na disk, ani o tom, že restart přepíše první soubor. Vada se neprojevovala chybou — zachytávání fungovalo, jen zaznamenávalo méně. Odhalilo ji až čtení konfigurace při kontrole č. 2. [VIDĚL]
4. Dopad a díry v datech
Co vypadlo
- Pcap od začátku sběru do 2026-08-22T11:31:30Z — adresář i skript vznikly až tehdy.
[VIDĚL] - Pcap z ~4 minut mezi nasazením a rebootem (11:31:30Z–~11:35:51Z).
[ODVOZENO] - Payload nad 256 B ve všech paketech zachycených do 24. 8. 18:51:48Z.
[VIDĚL]
Co nevypadlo
- Senzorová data za celé toto období —
cowrie.json,dionaea.json,webtrap.jsonl,sink.jsonlmají záznamy z 22. 8. (hodinové pokrytí 22. 8.: dionaea, cowrie, webtrap 14 h, sink 13 h).[VIDĚL] - Soubory
hp.pcap00–hp.pcap05— při změně konfigurace ponechány, nesmazány.[VIDĚL] - Metadata spojení (IP, porty, časy, průběh TCP) i v období s
-s 256— hlavičky se do 256 B vejdou.[ODVOZENO] - Pcap od 24. 8. 18:52:09Z — hodinové soubory, plná délka paketů, souvisle do konce běhu.
[VIDĚL]
Díry a vady v datech
| Soubor / stream | Pole | Od | Do | Charakter | Nenávratné? | Kde jsou data kompletní |
|---|---|---|---|---|---|---|
| pcap (eth0) | — | začátek sběru (nejpozději 2026-08-22T00:15:21Z) | 2026-08-22T11:31:30Z | chybí (pcap neběžel) | ano | nikde; aplikační události v logech senzorů |
pcap, hp.pcap00 | — | 2026-08-22T11:31:30Z | ~2026-08-22T11:35:51Z | chybí (přepsáno po rebootu) | ano | tamtéž |
hp.pcap00–hp.pcap05 | obsah paketu nad 256 B | ~2026-08-22T11:35:51Z | 2026-08-24T18:51:48Z | poškozený formát — caplen 256 | ano | aplikační obsah v logu příslušného senzoru |
hp-20260824-205148.pcap | název souboru | 2026-08-24T18:51:48Z | 2026-08-24T18:52:09Z | časová značka v názvu je CEST, ne UTC | ne (přejmenovat) | obsah i časy paketů jsou v pořádku |
Jak incident poznat v datech
- Podle názvu souboru:
hp.pcapNN= starý režim (snaplen 256),hp-*Z.pcap= nový režim (plný snaplen). Jediná výjimka v pojmenování jehp-20260824-205148.pcap. - Uvnitř souborů: v
hp.pcap00–hp.pcap05jecaplen256 u všech delších paketů,lenje větší; hlavička uvádí snaplen 256, nové soubory 262144. - Coverage:
pcap= 0pro 22. a 23. 8. neznamená, že pcap chybí — data jsou v jinak pojmenovanýchhp.pcapNN. - Čas prvního paketu v
hp.pcap00je hranice, odkud pcap vůbec existuje.
Jak s tím zacházet při zpracování
- Analýzy obsahu paketů (rekonstrukce relací, extrakce souborů, otisky TLS) dělat jen nad
hp-*Z.pcap. - Analýzy hlaviček (počty spojení, porty, časování, zdroje) jdou nad celým obdobím, ale před ~11:35Z 22. 8. pcap neexistuje — tam použít výhradně senzorové logy.
- Objemy provozu ze starých souborů počítat z pole
len, ne zcaplen. - 22. 8. nepočítat jako úplný den při denních objemech z pcapu.
hp-20260824-205148.pcappřejmenovat nebo řadit podle času prvního paketu.- Odhady okna ztráty „~10 h" z dřívějších dokumentů nepoužívat; platné hranice jsou v tabulce výše.
Záznam do seznamu omezení datasetu
Záznam paketů začíná až 22. 8. 2026 kolem 11:35 UTC, nikoli se startem honeypotu, a do 24. 8. 2026 18:51 UTC byl pořizován s omezením 256 bajtů na paket, takže v souborech
hp.pcap00–hp.pcap05chybí obsah nad rámec hlaviček. Od 24. 8. 2026 18:52 UTC se zaznamenávají celé pakety do hodinových souborůhp-*Z.pcap.
5. Reakce agentů
Ring buffer se snaplenem 256 zavedl agent při kontrole č. 1. Při kontrole č. 2 si při procházení systemd služeb vypsal skript a adresář s pcapy, z výpisu viděl, že existuje teprve šest souborů z dvaceti, a odvodil, že k přetočení dojde v průběhu běhu. Přešel na časově pojmenované soubory, které se nepřepisují, a zvedl snaplen na plný; tlak na disk přenechal watchdogu (mazání pcapů starších 3 dnů až při zaplnění nad 85 %, které se za celý běh nespustilo). Staré soubory ponechal. Při prvním nasazení použil vzor názvu, který tcpdump plní místním časem; všiml si toho a doplnil TZ=UTC, jeden soubor s místním časem v názvu ale zůstal.
V hlášení operátorovi agent ztrátu popsal větou „pcap z prvních ~10 h po nasazení přepsán ring bufferem", která spojuje absenci pcapu před 11:31Z a přepsání po rebootu. Tato formulace se pak přenesla do pozdějších relací. Skutečnou hranici dostupného záznamu (první paket v hp.pcap00) nikdo nedoměřil.
- 2026-08-22T11:31:06Z a 11:31:30Z — vytvoření a oprava
hp-pcap.sh(ring buffer,-s 256) — měnilo, zdroj incidentu[VIDĚL] - 2026-08-24T18:40:33Z —
systemctl cat hp-pcap.service; cat /srv/honeypot/bin/hp-pcap.sh; ls -la /srv/honeypot/data/pcap/— jen čtení[VIDĚL] - 2026-08-24T18:51:48Z —
cp -a hp-pcap.sh hp-pcap.sh.bak-20260824+ nová verze +systemctl restart hp-pcap— měnilo[VIDĚL] - 2026-08-24T18:52:09Z —
sed -i 's|^exec /usr/bin/tcpdump|TZ=UTC exec /usr/bin/tcpdump|', vzorhp-%Y%m%dT%H%M%SZ.pcap, restart — měnilo[VIDĚL] - 2026-08-24T18:52:39Z — kontrola, že soubor roste — jen čtení
[VIDĚL] - 2026-08-24T~18:54Z — do watchdogu kontrola, že nejnovější pcap byl zapsán v posledních 15 min, a mazání starých pcapů při disku ≥ 85 % — měnilo
[VIDĚL] - 2026-09-04 a 2026-09-11 — kontrola čerstvosti pcapu — jen čtení
[VIDĚL]
6. Zásahy operátora
Žádné.
7. Otevřené otázky
| Otázka | Kde to ověřit v archivu |
|---|---|
Kdy je první paket v hp.pcap00, tedy odkud pcap reálně existuje? | tcpdump -nr data/pcap/hp.pcap00 -c 1 nebo capinfos |
Přepsal restart po rebootu skutečně začátek hp.pcap00? | journalctl -u hp-pcap za 22. 8. proti času prvního paketu v hp.pcap00 |
| Kolik paketů ve starých souborech bylo oříznuto a jaký podíl provozu to je? | hp.pcap00–hp.pcap05 — porovnat caplen a len |
Překrývá se hp-20260824-205148.pcap s hp-20260824T185209Z.pcap, nebo navazují? | Čas prvního a posledního paketu obou souborů |
8. Důkazy
Původní konfigurace (pořízeno 2026-08-24T18:40:33Z):
#!/bin/bash
# Rolling packet capture on the public interface (size-based ring buffer).
# -C 100 MB/file, -W 20 files => hard cap ~2 GB; tcpdump overwrites oldest and
# appends a rotating index (hp.pcap00..hp.pcap19). No strftime in -C mode.
# Excludes WireGuard tunnel, runner port, real sshd, and the collector host so
# only internet-facing attack traffic is captured. -s 256 keeps files compact.
exec /usr/bin/tcpdump -i eth0 -n -U -s 256 \
-C 100 -W 20 -Z root \
-w /srv/honeypot/data/pcap/hp.pcap \
'not port 51820 and not port 26412 and not port 62222 and not host 169.58.204.57'Vznik pcapu při kontrole č. 1 (log runneru, UTC):
11:31:06 # pcap ring buffer: eth0, bez tunelu/wg/runner, rotace po 100MB, max 20 souborů = strop 2GB mkdir -p /srv/honeypot/data/pcap cat > /srv/honeypot/bin/hp-pcap.sh <<'EOF' #!
11:31:30 systemctl stop hp-pcap rm -f /srv/honeypot/data/pcap/hp-%*.pcap* # Oprava: size-based ring buffer bez strftime v názvu (tcpdump -C přidává 00..19 sám)11:33:40 echo "Stav před restartem zaznamenán. Restartuji server pro ověření persistence." …Stav adresáře při kontrole č. 2 (časy v CEST):
-rw-r--r-- 1 root root 100000078 Aug 23 02:35 hp.pcap00
-rw-r--r-- 1 root root 100000226 Aug 23 11:42 hp.pcap01
-rw-r--r-- 1 root root 100000023 Aug 23 22:42 hp.pcap02
-rw-r--r-- 1 root root 100000123 Aug 24 07:54 hp.pcap03
-rw-r--r-- 1 root root 100000041 Aug 24 15:03 hp.pcap04
-rw-r--r-- 1 root root 38340357 Aug 24 20:40 hp.pcap05Nová konfigurace, snaplen potvrzený tcpdumpem (časy v CEST):
Aug 24 20:51:48 srv3.cloud.batacek.eu hp-pcap.sh[319475]: tcpdump: listening on eth0, link-type EN10MB (Ethernet), snapshot length 262144 bytes-rw-r--r-- 1 root root 5890 Aug 24 20:52 /srv/honeypot/data/pcap/hp-20260824-205148.pcap
-rw-r--r-- 1 root root 3547 Aug 24 20:52 /srv/honeypot/data/pcap/hp-20260824T185209Z.pcapHANDOVER.md, CHANGELOG kontroly č. 2 — formulace, která se ukázala nepřesnou:
Ztráta dat: dionaea ~2,5 h, HTTPS ~51 h, pcap z prvních ~10 h
po nasazení přepsán ring bufferem.Hodinové pokrytí (coverage.txt, 2026-09-11T17:55Z):
2026-08-22 dionaea=14 cowrie=14 webtrap=14 sink=13 pcap= 0
2026-08-23 dionaea=24 cowrie=24 webtrap=24 sink=24 pcap= 0
2026-08-24 dionaea=23 cowrie=24 webtrap=23 sink=24 pcap= 6
2026-08-25 dionaea=24 cowrie=24 webtrap=24 sink=24 pcap=249. Souvislosti
Související incidenty
2026-08-22-srv3-webtrap-https-tls-accept-hang— pcap je jediná náhrada za chybějící HTTPS data z 22.–24. 8., ale jen s 256 B na paket.2026-08-24-srv3-dionaea-mongod-parser-freeze— pcap je jediná záloha pro okna zamrznutí dionaey; pro první okno (24. 8.) jen s oříznutými pakety.
Co s incidentem nesouvisí
- Mazání starých pcapů watchdogem při disku ≥ 85 % — opatření zavedené po tomto incidentu; nespustilo se (disk skončil na 43 %).
- Filtr pcapu vynechávající porty 51820, 26412, 62222 a kolektor — záměrná konfigurace, aby se do záznamu nedostal řídicí provoz.
- Mazání vadně pojmenovaných
hp-%*.pcap*v 11:31:30Z — odstranění nefunkčního prvního pokusu, bez dat.
10. Poučení
- Konfiguraci „na úsporu" poměřovat délkou běhu. Ring buffer na 2 GB při tempu ~9 MB/h znamená devět dní historie — u měsíčního experimentu návrh, který data ztrácí z definice.
tcpdump -C -Wzačíná po každém restartu znovu u indexu 00. Ring buffer tak není jen strop velikosti, ale i tichý mazací mechanismus při každém restartu a rebootu.tcpdump -Gplní vzor názvu místním časem. Pro UTC názvy je nutné nastavit procesuTZ=UTC.- Odhad zapsaný do dokumentace se usadí a tváří jako měření. Věta „~10 h přepsáno" se přenesla do tří rozborů, přestože skutečnou hranici šlo kdykoli odečíst jedním příkazem z prvního paketu.
Haben Sie einen Fehler, fehlende Daten oder eine Offenlegung sensibler Daten entdeckt? Problem melden