Task #3426
closedTask #2805: Porovnani a otestovani databazovych systemu vhodnych pro systemy Mentat a NERD
Popis IP rozsahov v IDEA správach
100%
Description
Pri testovaní TS2.5 pre PostgreSQL som našiel zvláštne popísané správy v prípade reportu pre rozsah IP adries, ako vidno z ukážky nižšie, konkrétne Target.IP4.{ip,max,min}
{ "ID":"0a7063ac-8f20-468f-ba7a-afcef12deeeb", "ts":1465599913, "Node":[ { "Name":"cz.cesnet.mentat.warden_filer", "Type":[ "Relay" ] }, { "SW":[ "HPScan" ], "Name":"cz.vutbr.hpscan", "Tags":[ "Connection", "Honeypot", "Recon" ], "AggrWin":"00:05:00" } ], "ts_u":1465599913.874076, "Format":"IDEA0", "Source":[ { "IP4":[ { "ip":708719015, "max":708719015, "min":708719015 } ], "Port":[ 6000 ] } ], "Target":[ { "IP4":[ { "ip":2481285120, "max":2481286143, "min":2481285120 } ], "Port":[ 5900 ], "Proto":[ "tcp" ], "Anonymised":true } ], "class2":"idea", "_CESNET":{ "StorageTime":1465599913 }, "Category":[ "Recon.Scanning" ], "ConnCount":3, "DetectTime":1465599626, "WinEndTime":1465599902, "WinStartTime":1465599602 }
Minimum a maximum špecifikujú /24 rozsah, v tomto prípade 147.229.104.0 - 147.229.104.255, je ale nastavená aj položka ip, na hodnotu minima. Normálne by som to akceptoval, že sa jedná o z pohľadu udalosti nejako významnú adresu z daného rozsahu, ale podľa whois databázy je to adresa siete.
Celkovo sa jedná o niekoľko rozsahov (vždy /24) ale tiež niekoľko detektorov:
node_name | count -------------------------------------------------+------- {cz.cesnet.mentat.warden_filer,cz.vutbr.hpscan} | 32007 {cz.cesnet.mentat.warden_filer,cz.nic.dionaea2} | 5631 {cz.cesnet.mentat.warden_filer,cz.nic.dionaea1} | 4932 {cz.cesnet.mentat.warden_filer,cz.nic.kippo} | 893
Moja otázka: Je IP = IP_min if IP_min != IP_max; očakávané chovanie?
Updated by Radko Krkoš over 7 years ago
- Je možné nájsť aj rozsahy /25, /16 a pod. Spoločné majú len to, že posledný oktet maxima je 255.
- Úplne všetky udalosti majú zhodné ip a min. Líši sa od nich max ak sa jedná o rozsah. Je to takto zamýšľané?
Updated by Jan Mach over 7 years ago
Původní kód Mentatu v Perlu pracuje takto:
- Pokud se jedná o jednu IP adresu, tak ip min max
- Pokud se jedná o síť, tak ip == min a obsahuje adresu sítě
Dalo by se tedy vystačit jen s min a max, ale úpravy ve schématu databáze jsme plánovali udělat najednou s přechodem na Python.
Updated by Pavel Kácha over 7 years ago
- Assignee changed from Pavel Kácha to Jan Mach
Jan Mach wrote:
- Pokud se jedná o síť, tak ip == min a obsahuje adresu sítě
Tohle je pro mě taky novinka, měl jsem za to, že pokud se jedná o síť, tak tam ip vůbec není (protože nedává smysl). Když hledám explicitně jednu konkrétní IP adresu, neměl bych najít síť, (nehledě na to, že tu síť najdu jen v případě, že hledaná IP je spodní hranicí sítě, jinak ne).
Myslím, že jsme se někdy shodli, že ip rušit nebudeme, protože na jednoadresové dotazy do Monga z pohledu výkonu dává smysl, přestože by stačil min/max, ale tohle by s novým kódem chtělo sjednotit.
Updated by Radko Krkoš over 7 years ago
Jan Mach wrote:
úpravy ve schématu databáze jsme plánovali udělat najednou s přechodem na Python
Rozumiem, pri testovaní PostgreSQL ale musím podobné veci tiež riešiť. Nie je to tak že len buzerujem z dlhej chvíle.
Pavel Kácha wrote:
pokud se jedná o síť, tak tam ip vůbec není (protože nedává smysl). Když hledám explicitně jednu konkrétní IP adresu, neměl bych najít síť, (nehledě na to, že tu síť najdu jen v případě, že hledaná IP je spodní hranicí sítě, jinak ne).
Presne pre toto som sa pýtal.
V poriadku, teraz viem čo zhruba s tým. Ale mohli by sme sa o tom porozprávať keď sa niekedy stretneme.
Updated by Pavel Kácha over 7 years ago
Radko Krkoš wrote:
V poriadku, teraz viem čo zhruba s tým. Ale mohli by sme sa o tom porozprávať keď sa niekedy stretneme.
Jestli jsi na to narazil kvůli importu do pq, tak holt pokud jsou min a max různé, ignoruj ip. Pokud to všechno reprezentuješ jako rozsahy (tj. i jedna ip adresa je rozsah), tak to asi ani nemusíš řešit a ber v ůvahu jenom miny a maxy.
Updated by Radko Krkoš over 7 years ago
Pavel Kácha wrote:
Jestli jsi na to narazil kvůli importu do pq, tak holt pokud jsou min a max různé, ignoruj ip. Pokud to všechno reprezentuješ jako rozsahy (tj. i jedna ip adresa je rozsah), tak to asi ani nemusíš řešit a ber v ůvahu jenom miny a maxy.
B je správne. Už to tak mám nejaký čas aj implementované, ale chcel som si radšej overiť ako ste to mysleli. Od rána je to v repozitári a ja môžem znovu na chvíľu prestať používať "git add -p". Inak prvé výsledky vyzerajú dosť dobre. Napriek tomu že nie sú hotové indexy a celé som to spúšťal len s indexom na DetectTime, Postgres je väčšinou rýchlejší, niekedy výrazne, občas je vyrovnaný a v prípade opačného radenia príšerne pomalý. To ale zrejme pôjde vyriešiť nejakým vhodným indexom. A všetko to bolo len na jednom jadre, takže v 10.0 je potenciál na ďalšie zrýchlenie. Nemám to zatiaľ spracované, tak som to neposielal, ale ak ste zvedaví, dajte vedieť, dám niečo narýchlo dokopy. Teraz sa chcem pohrať s indexami a potom budeme pripravení na meranie.
Updated by Radko Krkoš over 7 years ago
- Status changed from Feedback to Resolved
Updated by Pavel Kácha over 7 years ago
- Status changed from Resolved to Feedback
Meku, zkontroluj prosím příležitostně, že to v novém pythonovém storage démonovi je správně - pro sítě jen min a max (bez ip), pro jednotlivé adresy min max ip.
Updated by Pavel Kácha over 7 years ago
- Status changed from Feedback to Closed
Přesunuto do #3364 a českou verzi zavírám.
Updated by Jan Mach over 6 years ago
- Target version changed from Backlog to 2.0
- % Done changed from 0 to 100