Schéma serverové databáze ve verzi 1.0.0
Project documentation
10/08/2013
Schéma serverové databáze ve verzi 1.0.0¶
- Table of contents
- Schéma serverové databáze ve verzi 1.0.0
Datove typy SQLite3¶
- http://www.sqlite.org/datatype3.html
- http://stackoverflow.com/questions/2761563/sqlite-data-types
- http://freshmeat.net/articles/sqlite-tutorial
- http://www.sqlite.org/limits.html*max*length - max lenght of string or blob
- http://www.root.cz/clanky/sqlite-ultra-lehke-sql/ - ceske howto
- http://libdbi-drivers.sourceforge.net/docs/dbd*sqlite3/x123.html - typy podporovane SQLite driverem
Vytvořené schéma¶
id¶
- INTEGER PRIMARY KEY
- ciselny identifikator udalosti
- autoinkrement
hostname¶
- VARCHAR (256)
- identifikator stroje zasilajici událost
- domenove jmeno z X509
service¶
- VARCHAR (64)
- název služby produkující událost
- napr. honeyscan, nfscan, bfdetector ...
detected¶
- TIMESTAMP
- časová známka vzniku (= detekce) udalosti v lokálním čase
received¶
- TIMESTAMP
- casova znamka prijeti udalosti na warden serveru v lokálním čase
type¶
- VARCHAR (64)
- typ nahlasene udalosti
- seznam typu udalosti
source type¶
- VARCHAR (64)
- napr. IP, URL, Reply-To:
source¶
- VARCHAR (256)
- identifikace zdroje útoku/hrozby
- napr. IP adresa (v4 i v6), URL - a.b.c.d, http://www.phishing.cz, ...
target proto¶
- VARCHAR (16)
- typ cíle útoku
- protokoly L3 a L4 - TCP, UDP
target port¶
- INT (2)
- typ cíle útoku
- číslo portu - 3389, 22, 80, 443, ...
attack scale¶
- INT (4)
- mohutnost útoku
note¶
- TEXT
- poznámka/nestrukturovaný text
- null, <celý mail s hlavičkami>, ...
priority¶
- INT (1)
- vysoká, nízká, ...
- volitelna polozka
timeout¶
- INT (2)
- cas v minutach
- navrhovaná délka blokování
- volitelna polozka
valid¶
- INT (1)
- cas v minutach
- ukazatel, zdali je udalost platna
- udalost je platna, pokud je klient zaregistrovany; neplatna, pokud dojde ke zruseni registrace klienta
- t/f
Návrhy schémat¶
PH: Nástřel¶
- poskytovatel události (detektor), varchar(256): autentizační info z X509?;
- zdroj události, varchar(64): název systému/služby produkující události: scan, bruteforce, honeyscan
- časová známka začátku útoku/hrozby v GMT, datetime
- typ útoku/hrozby, int(32b): skenování portu, útok hrubou silou na autentizaci, phishing, přístup na honeypoty, ...
- typ cíle útoku, varchar(64): protokol(/číslo portu), int(16b): TCP/3389, SSH, HTTP, TCP/22, ...
- identifikace zdroje útoku/hrozby, int(128b): IP adresa (v4 i v6)/URL, varchar(256): a.b.c.d, i.j.k.l, http://www.phishing.cz, u.v.w.x, ...
- (priorita, int(8b)?: vysoká, nízká [jakou to bude mít sémantiku?]: nízká, vysoká, vysoká, nízká, ...)
- (mohutnost útoku, int(32b)?: nebo to sem nepatří, protože událost se týká vždy jednoho zdroje a cíle?)
- (poznámka/nestrukturovaný text, blob (multi?): null, null, <celý mail s hlavičkami>, null, ...)
- (cíl útoku: anonymizovaná IP adresa cíle?), int(128b) + varchar(256) doménové jméno? + boolean anonymizováno?
- (timeout: navrhovaná délka blokování, subjektivní položka), datetime
CSIRT-MU: Nástřel¶
- id udalosti, 64bitovy unsigned integer
- stroj zasilajici událost: domenove jmeno z X509?, varchar(256)
- zdroj události: název služby produkující událost: napr. scan, bruteforce, honeyscan, varchar(64)
- časová známka vzniku (= detekce) udalosti včetně časové zóny/lokální čas, datetime vs. timestamp
- casova znamka prijeti udalosti na warden serveru včetně časové zóny/lokální čas (z duvodu vyhnuti se zamykani tabulky), datetime vs. timestamp
- typ udalosti: skenování portu, útok hrubou silou na autentizaci, phishing, přístup na honeypoty, ... , int(4) vs. string vs. enum
- typ cíle útoku: protokol(/číslo portu): TCP/3389, SSH, HTTP, TCP/22, ..., varchar(16) + int(2) vs. int(1) + int(2)
- identifikace zdroje útoku/hrozby: napr. IP adresa (v4 i v6), URL: a.b.c.d, http://www.phishing.cz, ..., varchar(256)
- (priorita: vysoká, nízká [jakou to bude mít sémantiku?]: nízká, vysoká, vysoká, nízká, ...), int(1)
- (mohutnost útoku: nebo to sem nepatří, protože událost se týká vždy jednoho zdroje a cíle?), int(4)? jaka je semantika?
- (poznámka/nestrukturovaný text: null, null, <celý mail s hlavičkami>, null, ...), text
- (timeout: navrhovaná délka blokování, subjektivní položka), int(2) v minutach
RO: taky nástřel:)¶
- id udalosti
- SERIAL*
- id poskytovatele
- CK poskytovatel (id poskytovatele SERIAL)*
- VARCHAR*
- id zdroje udalosti
- CK zdroj udalosti (id zdroj udalosti SERIAL)*
- VARCHAR*
- id typu udalosti
- CK typ udalosti (id typ udalosti SERIAL)*
- VARCHAR*
- id typ cíle útoku: protokol(/číslo portu): TCP/3389, SSH, HTTP, TCP/22,...
- CK typ cile utoku (id typ cile utoku SERIAL)*
- VARCHAR+INT*
- časová známka vzniku (= detekce)
- TIMESTAMP*
- casova znamka prijeti udalosti na warden serveru ..
- TIMESTAMP*
- id typ zdroje utoku
- CK typ zdroje utoku (id typ zdroje utoku SERIAL)*, VARCHAR
- identifikace zdroje útoku/hrozby: IP adresa (v4 i v6)/URL: a.b.c.d, i.j.k.l, http://www.phishing.cz, u.v.w.x, ..., VARCHAR
- (priorita: vysoká, nízká [jakou to bude mít sémantiku?]: nízká, vysoká, vysoká, nízká, ...), INT
- (mohutnost útoku: nebo to sem nepatří, protože událost se týká vždy jednoho zdroje a cíle?), INT
- (poznámka/nestrukturovaný text: null, null, <celý mail s hlavičkami>, null, ...), BLOB
- id typ cile utoku
- CK typ cile utoku (id typu cile utoku SERIAL)*, VARCHAR
- (cíl útoku: anonymizovaná IP adresa cíle?), VARCHAR
- (timeout: navrhovaná délka blokování, subjektivní položka), TIMESTAMP