Feature #283
closedWebové uživatelské rozhraní
100%
Description
- Shiboletizovaná/LDAP autentizace uživatelů
- Rozhraní pro prohledávání IDMEF zpráv
- ...
Files
Updated by Pavel Kácha about 12 years ago
- Due date set to 09/12/2012
- Assignee changed from Jan Mach to Radomír Orkáč
Recykluju letitý úkol, nelekej se shibbolethu, ten nás teď netrápí.
Představa:
- Google-like dotazovací/výsledkovací obrazovka, tj. řádek na dotazy v našem jazyce, pod ním stránkovaný seznam eventů jako výsledků. Tady budou řádky s eventy hodně zhuštěné, jen základní info (zdroj/e, cíl/e, popis, ?). Uvidíme, co bude potřeba do budoucna.
- Detail vybraného eventu (na kliknutí ze seznamu), tady by mělo být vidět všechno rozumné.
Ze schůzky 5. 9. 2012:
- nejspíše Catalyst a Template Toolkit
- Mek Radkovi připraví prostředí na mentat-dev
- nejprve se Radku rozhlédni, zvaž možnosti, zádrhele, komplikace, probereme na další schůzce (12.)
Updated by Pavel Kácha almost 12 years ago
Ze schůzky 12. 9. 2012:
- Catalyst+TT schůdný
- Google-like dotazovací obrazovka - source, dest, čas, classification, assessment/severity
- vybrat z IDMEFové reprezentace to důležité
- Detail vybraného eventu (na kliknutí ze seznamu) do dalšího okna/tabu
- Případně uložené dotazy
- mělo by chodit bez JS, ale AJAX pro vylepšení komfortu je fajn
- další schůzka 19. 9. 2012 9:00
Updated by Pavel Kácha almost 12 years ago
- Due date changed from 09/12/2012 to 09/19/2012
Updated by Pavel Kácha over 11 years ago
- File 2013-01-09-Note-14-57.pdf 2013-01-09-Note-14-57.pdf added
- Due date changed from 09/19/2012 to 01/24/2013
- Target version changed from Backlog to 0.6
- lidské zobrazení jedné zprávy (základní položky + detailní strom) (v příloze nástřel pro ilustraci/inspiraci)
- více ip ve zprávě
- konverze při vyhledávání
- nástřel uložených dotazů
Updated by Pavel Kácha over 11 years ago
- details
- co umíme, zkonvertujeme do čitelného formátu, ostatní přímo
- seřadit podle abecedy v rámci podstromů
- krabicový design, tj. návrh 5, v příloze (sans barevné schéma, použij třeba stejné, jako je na hlavní stránce)
- nástřel uložených dotazů! (čudl na uložení + roleta nebo vedlejší stránka s výběrem)
Updated by Pavel Kácha over 11 years ago
- Due date changed from 01/24/2013 to 02/04/2013
Updated by Pavel Kácha over 11 years ago
- bug: zřejmě se ajax někde ptá na http místo https
Updated by Radomír Orkáč over 11 years ago
- Status changed from New to In Progress
Bug #8 opraven. Stahl jsem jquery knihovnu. Nyni se nacita z lokalniho uloziste, stejne jako css.
Updated by Pavel Kácha over 11 years ago
- Due date changed from 02/04/2013 to 02/18/2013
- chytřejší stránkovače - first, last, ukazatel pozice
- Severity - zvolit vhodné barvy k pozadí
- zkontrolovat, zda se do vizuální podoby pole konvertují správnými funkcemi
- alt bublina na na všechna zkrácená pole (nebo jednoduše na všechna )
- Zobrazení výsledků
- Detail na kliknutí kdekoliv na řádku (nebo na textu v řádku), zrušit sloupec s lupou
- Zrušit sloupec severity, severity barvou textu
- Ve výsledku širší (flexibilní) sloupec s detailem
- Time => Detected
- Zobrazení alertu
- Schéma zobrazení alertu stejné jako na úvodní straně (nejlépe stejné CSS)
- Detail - seřazení podle abecedy v rámci podstromů
- Uložené dotazy
- celé query v alt bublině nad názvem
- mazání dotazů
- Do textarey pro uložeí něco jako 'Name of query...'
- Pravý sloupec v em, ne v pixelech (pružný layout), ostatně asi pokud možno všechny rozměry čehokoliv, které jsou v pixelech
- prev/next teď hýbe výsledky, ne dotazy
Updated by Pavel Kácha over 11 years ago
- Přesměrování z / na /alerts (prozatím)
- Zavření stromu za naše certifikáty
Updated by Jan Mach over 11 years ago
Podle dohody na poslední schůzce jsem přidal do tříd Mentat::Message::Storage::Mongo a Mentat::Message::Query::Mongo metodu find_with_meta(), resp. query_with_meta(), která vrátí raw data z databáze a v atributu 'msg_obj' je objekt Mentat::Message. Ukázka použití by mohla vypadat například takto:
my ($mentat_messages, $count) = $storage->find_with_meta($filter); foreach my $message (@$mentat_messages) { # Pristup k objektu Mentat::Message print $message->{'msg_obj'}->serialize(); # Pristup k metadatum print $message->{'_ts'}; # Pristup k raw datum z databaze print $message->{'Alert'}->{'@messageid'}; }
Stejnym zpusobem se pracuje s tridou Mentat::Message::Query::Mongo.
Updated by Radomír Orkáč over 11 years ago
Pavel Kácha wrote:
- Přesměrování z / na /alerts (prozatím)
Hotovo.
Updated by Radomír Orkáč over 11 years ago
- Zavření stromu za naše certifikáty
Na VSB hotovo. Zatim pro vsechny s certifikatem od TERENA personal ca.
ENV vypisuji prozatim zde:
https://mentat.vsb.cz/user/env
<VirtualHost *:443>
ServerName mentat.vsb.cz
SSLEngine on
SSLCertificateFile /etc/ssl/mentat.vsb.cz/server.crt
SSLCertificateKeyFile /etc/ssl/mentat.vsb.cz/serverkey_de.pem
SSLCertificateChainFile /etc/ssl/mentat.vsb.cz/tcs-ca-bundle.pem
SSLCipherSuite HIGH
SSLProtocol all -SSLv2
SSLCADNRequestFile /etc/ssl/mentat.vsb.cz/TERENA_Personal_CA_my.pem
SSLCACertificateFile /etc/ssl/mentat.vsb.cz/UTN-USERFirst-Client_Authentication_and_Email.pem
DocumentRoot /usr/local/mentat/www/hawat/root
<Location /static>
SetHandler default-handler
</Location>
<Location />
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +stdEnvVars
#'SSL_CLIENT_S_DN' => '/C=CZ/O=VSB-Technical University of Ostrava/CN=Radomir Orkac/unstructuredName=ork01@vsb.cz',
#SSLRequire %{SSL_CLIENT_S_DN} =~ m/ork01\@vsb.cz/
SetHandler modperl
PerlOptions +SetupEnv
PerlResponseHandler Hawat
</Location>
ErrorLog /var/log/apache2/error_mentat_log
</VirtualHost>
Updated by Radomír Orkáč over 11 years ago
Pavel Kácha wrote:
Obecně
- chytřejší stránkovače - first, last, ukazatel pozice
- Severity - zvolit vhodné barvy k pozadí
- zkontrolovat, zda se do vizuální podoby pole konvertují správnými funkcemi
alt bublina na na všechna zkrácená pole (nebo jednoduše na všechna )
- Zobrazení výsledků
Detail na kliknutí kdekoliv na řádku (nebo na textu v řádku), zrušit sloupec s lupouZrušit sloupec severity, severity barvou textu- Ve výsledku širší (flexibilní) sloupec s detailem
Time => Detected
- Zobrazení alertu
Schéma zobrazení alertu stejné jako na úvodní straně (nejlépe stejné CSS)Detail - seřazení podle abecedy v rámci podstromů
- Uložené dotazy
celé query v alt bublině nad názvem- mazání dotazů
Do textarey pro uložeí něco jako 'Name of query...'Pravý sloupec v em, ne v pixelech (pružný layout), ostatně asi pokud možno všechny rozměry čehokoliv, které jsou v pixelech- prev/next teď hýbe výsledky, ne dotazy
Updated by Pavel Kácha over 11 years ago
- Status changed from In Progress to Feedback
- chytřejší stránkovače - first, last, ukazatel pozice
- zkontrolovat, zda se do vizuální podoby pole konvertují správnými funkcemi
- alt bublina na na zbývající pole
- Zobrazení alertu
- také bubliny na pole, která můžou být zkrácená
- Uložené dotazy
- mazání dotazů
- prev/next teď hýbe výsledky, ne dotazy
Updated by Pavel Kácha over 11 years ago
- chytřejší stránkovače - first, last, ukazatel pozice
- půjde zahrnout do jedné třídy/funkce/šablony pro opakované použití?
- zkontrolovat, zda se do vizuální podoby pole konvertují správnými funkcemi (zejména čas)
- zatím zbytečné mít další databáze, přesunout hawat.query do mentat.queries (což by mělo být koneckonců konfigurovatelné, viz #866)
- alert: zobrazit vedle detect time i cease time, pokud existuje
- alert: doplnit Assessment/Action k Impactu, třeba jako další řádek.
- alert: doplnit info, které máme o analyzéru – name, address, analyzerid, např. jako:
- au2-pickup (LaBrea - honeypot, 195.113.205.179 - au2)
- nebo do dalších polí v řádku tabulky
- kosmetika
- obecně - zkoušet občas s úzkými (~768) i širokými (~1920) okny, na úzkých mám v alert ořízlý sloupec id/detected/analyzer
- naopak severity a completion by mohly být o dost užší
- nezavírej si cesty pro umožnění i čistého html, zatím v rozhraní není jediný důvod pro dynamiku, kromě svižnější reakce
Updated by Radomír Orkáč over 11 years ago
- půjde zahrnout do jedné třídy/funkce/šablony pro opakované použití?
Hledal jsem, ale nenasel jsem, vyuzivam neco v tomto duchu:
http://wiki.catalystframework.org/wiki/wikicookbook/tt_pager.view
* zkontrolovat, zda se do vizuální podoby pole konvertují správnými funkcemi (zejména čas)
* zatím zbytečné mít další databáze, přesunout hawat.query do mentat.queries (což by mělo být koneckonců konfigurovatelné, viz #866)
- kosmetika
- obecně - zkoušet občas s úzkými (~768) i širokými (~1920) okny, na úzkých mám v alert ořízlý sloupec id/detected/analyzer
- naopak severity a completion by mohly být o dost užší
- nezavírej si cesty pro umožnění i čistého html, zatím v rozhraní není jediný důvod pro dynamiku, kromě svižnější reakce
Updated by Pavel Kácha over 11 years ago
- stránkovač:
- pochopil jsem, že jeden kód na případnou obsluhu více stránkovačů už je
- nepůjde i vnořená parametrizovatelná šablona? která by šla použít na víc místech?
- časy jako poslední v tabulce, rozdělený řádek | Detected | Thu Mar 7 23:11:24 2013 | Ceased | Thu Mar 7 23:11:24 2013 |
- severity/completion zmenšit na nutné minimum
Updated by Radomír Orkáč over 11 years ago
- stránkovač:
pochopil jsem, že jeden kód na případnou obsluhu více stránkovačů už je--nepůjde i vnořená parametrizovatelná šablona? která by šla použít na víc místech?
Pager mam v samostatnem souboru a volam ho (pres Controller) takto:
$c->stash->{pager} = $results->{pager}; $c->stash->{paging} = $c->forward($c->view('HTML'), "render", [ 'inc/pager.inc' ]);
Pager template:
[% IF pager %] Page [% pager.current_page %] of [% pager.last_page %] [% IF pager.current_page > 0 %] <span><a href="[% c.req.uri_with( page => pager.first_page, ajax => 0) %]">«</a></span> <span><a href="[% c.req.uri_with( page => pager.previous_page, ajax => 0 ) %]"><</a></span> [% END %] [% start = (pager.current_page - 3) > 0 ? (pager.current_page - 3) : 0; FOREACH page IN [ start .. pager.last_page ] %] [% LAST IF loop.count > 6 %] [% IF pager.current_page == page %] <span class="current"> [% page %] </span> [% ELSE %] <span> <a href="[% c.req.uri_with( page => page, ajax => 0 ) %]">[% page %]</a> </span> [% END %] [% END %] [% IF pager.current_page < pager.last_page %] <span><a href="[% c.req.uri_with( page => pager.next_page, ajax => 0 ) %]">></a></span> <span><a href="[% c.req.uri_with( page => pager.last_page, ajax => 0 ) %]">»</a></span> [% END %] [% END %]
Predpokladam a overim, zda-li se bude dat template pouzit primo v jinem template:
[% INCLUDE inc/pager.inc -%]
Vychazim z nasledujici wiki:
http://wiki.catalystframework.org/wiki/wikicookbook/reuse_html_between_views
časy jako poslední v tabulce, rozdělený řádek
| Detected | Thu Mar 7 23:11:24 2013 | Ceased | Thu Mar 7 23:11:24 2013 |severity/completion zmenšit na nutné minimum
Updated by Pavel Kácha over 11 years ago
- vložené dotazy - stačí maximální výška podle viewportu a scrollbar podle potřeby
Updated by Pavel Kácha over 11 years ago
- konverzní funkce nefungují minimálně pro IPv4 - zřejmě ipv4_to_binstr, viz např. "Alert/Source/Node/Address/ip" eq "5.175.113.41"
Updated by Pavel Kácha about 11 years ago
Zde už další neřešíme, na nové požadavky vytváříme podúkoly.
Updated by Pavel Kácha almost 11 years ago
- Status changed from Feedback to Closed