Project

General

Profile

Actions

Feature #283

closed

Webové uživatelské rozhraní

Added by Jan Mach about 13 years ago. Updated over 11 years ago.

Status:
Closed
Priority:
Normal
Category:
Development - GUI
Target version:
Start date:
03/22/2013
Due date:
% Done:

100%

Estimated time:
(Total: 0.00 h)
To be discussed:

Description

Navrhnout a implementovat webové GUI s následujícími vlastnostmi:
  • Shiboletizovaná/LDAP autentizace uživatelů
  • Rozhraní pro prohledávání IDMEF zpráv
  • ...

Files

2013-01-09-Note-14-57.pdf (63.7 KB) 2013-01-09-Note-14-57.pdf Pavel Kácha, 01/10/2013 10:14 AM

Subtasks 1 (0 open1 closed)

Task #960: Overview stránkaClosedRadomír Orkáč03/22/2013

Actions
Actions #1

Updated by Jan Mach about 13 years ago

  • Assignee set to Jan Mach
Actions #2

Updated by Pavel Kácha over 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.)
Actions #3

Updated by Pavel Kácha over 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
Actions #4

Updated by Pavel Kácha over 12 years ago

  • Due date changed from 09/12/2012 to 09/19/2012
Actions #5

Updated by Pavel Kácha almost 12 years ago

  • 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ů
Actions #6

Updated by Pavel Kácha almost 12 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)
Actions #7

Updated by Pavel Kácha almost 12 years ago

  • Due date changed from 01/24/2013 to 02/04/2013
Actions #8

Updated by Pavel Kácha almost 12 years ago

  • bug: zřejmě se ajax někde ptá na http místo https
Actions #9

Updated by Radomír Orkáč almost 12 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.

Actions #10

Updated by Pavel Kácha almost 12 years ago

  • Due date changed from 02/04/2013 to 02/18/2013
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 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
Actions #11

Updated by Pavel Kácha almost 12 years ago

  • Přesměrování z / na /alerts (prozatím)
  • Zavření stromu za naše certifikáty
Actions #12

Updated by Jan Mach almost 12 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.

Actions #13

Updated by Radomír Orkáč almost 12 years ago

Pavel Kácha wrote:

  • Přesměrování z / na /alerts (prozatím)

Hotovo.

Actions #14

Updated by Radomír Orkáč almost 12 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
&lt;Location /static&gt;
SetHandler default-handler
&lt;/Location&gt;
&lt;Location /&gt;
SSLRequireSSL
SSLVerifyClient require
SSLVerifyDepth 2
SSLOptions +stdEnvVars
#'SSL_CLIENT_S_DN' => '/C=CZ/O=VSB-Technical University of Ostrava/CN=Radomir Orkac/unstructuredName=',
#SSLRequire %{SSL_CLIENT_S_DN} =~ m/ork01\@vsb.cz/
SetHandler              modperl
PerlOptions +SetupEnv
PerlResponseHandler Hawat
&lt;/Location&gt;
ErrorLog /var/log/apache2/error_mentat_log

</VirtualHost>

Actions #15

Updated by Radomír Orkáč almost 12 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 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
Actions #16

Updated by Pavel Kácha almost 12 years ago

  • Status changed from In Progress to Feedback
Obecně
  • 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
Actions #17

Updated by Pavel Kácha almost 12 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
Actions #18

Updated by Radomír Orkáč almost 12 years ago

* chytřejší stránkovače - first, last, ukazatel pozice

* 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
Actions #19

Updated by Pavel Kácha almost 12 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
Actions #20

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) %]">&laquo;</a></span>
           <span><a href="[% c.req.uri_with( page => pager.previous_page, ajax => 0 ) %]">&lt;</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 ) %]">&gt;</a></span>
           <span><a href="[% c.req.uri_with( page => pager.last_page, ajax => 0 ) %]">&raquo;</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
Actions #21

Updated by Pavel Kácha over 11 years ago

  • vložené dotazy - stačí maximální výška podle viewportu a scrollbar podle potřeby
Actions #22

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"
Actions #23

Updated by Pavel Kácha over 11 years ago

Zde už další neřešíme, na nové požadavky vytváříme podúkoly.

Actions #24

Updated by Pavel Kácha over 11 years ago

  • Status changed from Feedback to Closed

#957 a #958 odsunuty mimo úkol, tento zavíráme - je z větší části implementován, specifika děláme ve vlastních úkolech.

Actions

Also available in: Atom PDF