Autor Zpráva
Smekac
Profil
Zdravím,
byl na mne vznesen zvláštní požadavek, jestli by bylo reálně nějak realizovat takovou věc:
Máme seznam uživatelů, a každý má jiná přístupová práva, ale někteří uživatelé mají přístup k citlivým údajům. Tito užovatelé kteří vidí více než ostatní by podle představy měli v dané struktuře PC dejme tomu C:\klic\ soubor pristup.txt ve kterém by byla určitý "kod" který by si web načetl a na základě shody či případného jiného ošetření, třeba kdy by daný výraz dával smysl (vlastně by se doplnil) by to uživatele pustilo dál.

Je tato myšlenka realizovatelná nebo ji mám rovnou zapomenout :-D
Alphard
Profil
Ten kód je na klientském počítači a aplikovat se má na serveru? Problém je v tom, že (naštěstí) není možné, aby si server bez vědomí uživatele načetl soubor z jeho počítače. Musel by se vytvořit mechanismus, který tohle vyřeší.
Nebylo by rozumnější udělat normální přihlašování a uživatelská práva ukládat na serveru?

Jestli má být klíč na pracovní stanici, kombinoval bych ho s příhlášením. Uživatel by ho poprvé musel uploadovat.
Smekac
Profil
Ano, má to být něco jako licenční klíč, bez kterého se uživatel, který ho nemá v PC nedostane do určité části webu. Asi udělám skrytý formulář kde bude natvrdo zadaná cesta třeba C:\licence\licence.txt, který se při přihlášení nahraje na web a po odhlášení se opět smaže. To bych asi viděl jako nejsnadnější řešení.
Mělo by to sloužit jako taková nadstavba ošetření proti násilnému vniknutí jisté části webu, např v případě prolomení hesla a pod.
_es
Profil
Smekac:
Asi udělám skrytý formulář kde bude natvrdo zadaná cesta třeba C:\licence\licence.txt
Webová stránka si naozaj nemôže len tak, bez dovolenia, čítať súbory z počítača návštevníka. A ak to aj bude cez formulár s výberom súboru, tak nejde ani nastaviť zložka v počítači, z ktorej sa bude vyberať súbor, návštevník musí ten súbor vo svojom počítači sám nájsť.
Smekac
Profil
To jsem teď už taky zjistil, nejde nějak ošetřit aby se cesta sama vyplnila do formuláře ?
Co jsem si všiml tak bankovnictví u KB to má tak udělané, že cesta k souboru je již zadaná.
_es
Profil
Smekac:
Neviem, ako to má KB, možno cez nejaké pluginy prehliadača a pod., ale čo ak návštevník disk c: nemá?

aby se cesta sama vyplnila do formuláře ?
To by predsa bola bezpečnostná diera ak by to šlo. To by sa potom dal odoslať obsah hocijakého súboru z návštevníkovho počítača bez jeho vedomia.
Amunak
Profil
Smekac:
Můžeš použít buď Javu, Flash, nebo využít správy certifikátů a při pronajmutí licence uložit do uživatelova prohlížeče certifikát, kterým se on pak identifikuje. Má to spoustu výhod - snadno se dá nastavit platnost, spolehlivě se ověří identita a je to bezpečné i z pohledu uživatele - může si certifikát zálohovat nebo i zaheslovat. Nevýhoda Javy a Flashe je v tom, že je potřeba externí plugin v prohlížeči, a Java obvykle startuje docela pomalu. Mohl bys taky mít jen nějaký záznam v localStorage, ale ten není tak "permanentní" jako certifikát. Na druhou stranu certifikáty si zase musíš sám generovat, a jejich implementace je celkově složitější.
Smekac
Profil
Asi to vyřeším pomocí localStorage, při prvním přihlášení si uživatel vygeneruje "certifikát" a ten se bude při každém přihlášení připojovat k loginu, a pokud bude souhlasit, tak se uživatel přihlásí. Standartně bude jen 1 certifikát na uživatele, na žádost bude možno vygenerovat další pro použití více PC k jednomu účtu.

To bych viděl jako z mí strany nejméně bolestivé řešení :-D
xROAL
Profil
Smekac:
Co jsem si všiml tak bankovnictví u KB to má tak udělané, že cesta k souboru je již zadaná.

Len taká menšia side-note:
Internet Banking u KB to mal donedávna riešené pomocou Javy (čo bolo príšerne otravné a keby nejde o môj účet a peniažky tak sa im na celý IB vďaka tomu vyprdnem), ktorá z disku ťahala certifikát. Dnes už to majú riešené pomocou nejakého pluginu priamo v browseri (aspoň tak to písali v informáciach, zrejme ide o ten vyššie spomínaný certifikát priamo v prehliadači).
_es
Profil
Smekac:
Dáta v localStorage môžu byť zmazané pri mazaní diskovej cache prehliadača.
Amunak
Profil
Smekac:
Ale má to několik háčků:
- localStorage si může uživatel snadno i omylem smazat, nebo může mít zakázané jeho ukládání
- může si ho libovolně měnit, takže to musíš mít nějak zašifrované
- i zašifrované si to může zkopírovat do jiného libovolného zařízení nebo prohlížeče velmi snadno (ale to není nevýhoda, tohle si nějak musíš řešit ty, to za tebe nevyřeší ani certifikát) - co když uživatel běžně používá dva počítače (třeba i naráz), nebo dva prohlížeče? V jednom mu aplikace půjde, a pro jiný prohlížeč by si musel kupovat novou licenci?

Co ti vlastně brání mít obyčejné přihlášení na heslo? Ono to ve výsledku prakticky nic jiného nebude - jen takové fancy přihlášení.
Smekac
Profil
Jedná se spíš o bezpečnostní funkci, když by někdo prolomil heslo, tak by se stejně dál nedostal.
Šifrování by se dalo vyřešit, ale s tím mazáním localStorage je to tak trochu problém...

O kupování licence nejde, jedná se o firemní portál, kam přistupují jak zaměstnanci, tak vedoucí určitých sekcí, naši dodavatelé a prodejci. Tím certifikátem by se dosáhlo jen vyššího zabezpečení účtů vedoucích pozic, kdyby (ačkoliv to až tak moc nepředpokládám) došlo k útoku na účet s vyššími pravomocemi, nedošlo k nějakému úniku informací, tj certifikáty jsou přidělovány administrátorem.
_es
Profil
Smekac:
Teoreticky by to nejako šlo, keď by sa stránka načítala z disku prehliadača, priamo v tej stránke by boli tie „certifikátne dáta“ a na základe nich by sa presmerovalo na webovú stránku. No je zase problém s tým, ak by sa na tej východzej stránke chcelo niečo zmeniť. Taká stránka by mala mať prístup aj k súborom v tej istej zložke (len na čítanie).
Amunak
Profil
Smekac:
Pokud ti skutečně jde o bezpečnost, bude nejlepší, když implementuješ ty certifikáty v prohlížeči. Asi to nebude úplně snadné, ale je to pro ten účel dělané a je to bezpečné a ozkoušené. Pochopitelně pokud někdo dokáže napadnout přímo počítač vedoucího, nic nepomůže (proto je dobré mít krom certifikátu i heslo); ikdyž se domnnívám, že certifikáty jako takové jdou v některých prohlížečích zamknout. Jistý si ovšem nejsem.
Alphard
Profil
S původním dotazem vám moc neporadím, ale dodám pár souvisejících myšlenek. Vy mluvíte o prolamování hesla, jako by to byla samozřejmost, která nikoho nezastaví. Nasaďte SSL ať to nejde odchytávat na síti, při několika chybných pokusech o přihlášení zablokovat. Případně pracovníky s vyšším oprávněním donutit používat složitější hesla apod. Můžete kontrolovat IP, zobrazovat pracovníkům pro kontrolu časy posledních příhlášení. Jestli jsou to fakt supertajná data, můžete posílat autorizační kódy pomocí SMS, vyžadovat pravidelné změny hesla.
Veškerou aktivitu logovat a pracovníky o tom informovat, ať je jim jasné, že jestli si heslo napíší někam na papírek vedle monitoru a někdo se tam nabourá, bude to jejich problém.
Smekac
Profil
Nakonec po bádání, úspěšně vyřešeno přes local storage. Generuji do databáze řetězce, které se po prvním přihlášení do uživatelova PC zapíší do local storage prohlížeče, a při dalším přihlašování se ověřuje jejich platnost v databázi certifikátů. Takto mohu i daný certifikát zablokovat, a uživatel se nepřihlásí.
Amunak
Profil
Smekac:
Tak hlavně používejte SSL ať se to nedá odchytit a mějte to nějakým způsobem zamčené na konkrétní počítač, aby vám to nemohl jen tak někdo zkopírovat.

Vaše odpověď


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: