Hlavní menu

Nástroje

WebKiv / ZabezpecenePrihlaseni

View (print) - Edit page | Recent changes - Page history

Updated 30 October 2009, 12:28 by PremekBrada

WebKiv.ZabezpecenePrihlaseni History

Hide minor edits - Show changes to markup

30 October 2009, 12:28 by PremekBrada -
Added lines 3-24:

Jednoduché řešení (nasazení 4/2009)

Z důvodu použití Apache + Tomcat na beta.kiv.zcu.cz, kde:

  • probíhá překlad adres - není vidět /opencms/
  • Tomcat nepozná, jestli je připojení HTTPS nebo HTTP - nefunguje request.isSecure()
  • všechny cookie se odesílají jako non-secure
  • zabezpečení stránek se nastavuje v Apache - jestli bude vynuceno HTTPS,

nelze použít řešení s validací.

Nasazeno bylo pouze:

  • Kerberos - celé řešení
  • pomocí Apache byla zabezpečena přihlašovací stránka do workplace
  • upravené příhlašovací JSP z modulu welcome pro frontend - url login_element_secure.jsp bylo zabezpečeno Apachem.

Instalace na ManualModulLogin - Jednoduché řešení.

Kompletní řešení

Deleted lines 148-168:

Jednoduché řešení (nasazení 4/2009)

Z důvodu použití Apache + Tomcat na beta.kiv.zcu.cz, kde:

  • probíhá překlad adres - není vidět /opencms/
  • Tomcat nepozná, jestli je připojení HTTPS nebo HTTP - nefunguje request.isSecure()
  • všechny cookie se odesílají jako non-secure
  • zabezpečení stránek se nastavuje v Apache - jestli bude vynuceno HTTPS,

nelze použít řešení s validací.

Nasazeno bylo pouze:

  • Kerberos - celé řešení
  • pomocí Apache byla zabezpečena přihlašovací stránka do workplace
  • upravené příhlašovací JSP z modulu welcome pro frontend - url login_element_secure.jsp bylo zabezpečeno Apachem.

Instalace na ManualModulLogin - Jednoduché řešení.


30 June 2009, 13:45 by PremekBrada -
Changed lines 12-13 from:

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

30 June 2009, 13:45 by PremekBrada -
Changed lines 3-7 from:

Attach:kiv-secure-auth-proces.jpg obrázek - červeně jsou označeny stránky-cookies které jsou secure čili na HTTPS. Attach:opencms-zabezpeceni-frontend.jpg - jak má fungovat zabezpečení při přístupu k frontend obsahu, včetně periodického ověřování autenticity uživatele


to:

Cíl: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

Changed lines 14-16 from:
to:

Viz též původní náčrty: Attach:kiv-secure-auth-proces.jpg obrázek - červeně jsou označeny stránky-cookies které jsou secure čili na HTTPS. Attach:opencms-zabezpeceni-frontend.jpg - jak má fungovat zabezpečení při přístupu k frontend obsahu, včetně periodického ověřování autenticity uživatele

Changed lines 19-21 from:

Cíl: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

to:
29 June 2009, 18:41 by JaroslavPavuk -
Changed line 113 from:
  1. dojde k přešměrování na HTTPS zabezpečenou stránku (url kde je umístěn login_element_secure.jsp)
to:
  1. dojde k přešměrování na HTTPS zabezpečenou stránku (url kde je umístěn login_element_secure.jsp)
Changed lines 116-119 from:
  • nastane-li chyba při validaci, je uložen příznak do session pro informování skutečného uživatele; útočníkovi je posláno 403 Forbidden a cookie s výsledkem validace
  • validace úspěšná, ale zjištěn útok (příznak v session); poslána cookie s příznakem útoku - zpracuje login_element.jsp; uložení času validace; přechod zpět na HTTP
to:
  • nastane-li chyba při validaci, je uložen příznak do session pro informování skutečného uživatele; útočníkovi je posláno 403 Forbidden a cookie s výsledkem validace - zpracuje login_element.jsp, pokud by se znovu snažil přistoupit s ukradenou session cookie - vyběhne ihned hlášení
  • validace úspěšná, ale zjištěn útok (příznak v session); poslána cookie s příznakem útoku - zpracuje login_element.jsp - hlášení o ukradené session; uložení času validace; přechod zpět na HTTP
29 June 2009, 18:24 by JaroslavPavuk -
Added line 127:
Deleted lines 148-152:
29 June 2009, 18:24 by JaroslavPavuk -
Added line 126:

Instalace na ManualModulLogin - Kompletní řešení.

Changed lines 146-152 from:

Instalace na ManualModulLogin - Dočasné řešení.

to:

Instalace na ManualModulLogin - Jednoduché řešení.

29 June 2009, 18:08 by JaroslavPavuk -
Changed lines 128-129 from:

Nasazení (4/2009)

to:

Jednoduché řešení (nasazení 4/2009)

29 June 2009, 17:10 by JaroslavPavuk -
29 June 2009, 17:09 by JaroslavPavuk -
Changed line 98 from:

Ověření pravosti uživatele se bude dít přes servlet filtr [=ValidateAuthFilter=]. Filtr se nastaví, viz ManualModulLogin tak, aby kontroloval veškerou komunikaci.

to:

Ověření pravosti uživatele se bude dít přes servlet filtr ValidateAuthFilter. Filtr se nastaví, viz ManualModulLogin tak, aby kontroloval veškerou komunikaci.\\

Changed lines 102-104 from:

''' Filtr se chová několika způsoby:'''

to:

Filtr se chová několika způsoby:

29 June 2009, 17:07 by JaroslavPavuk -
Changed lines 79-80 from:

Po přihlášení na zebezpečené stránce by byla session cookie poslána jako secure. Tento stav je nežádoucí kvůlí sdílení session s HTTP. Nutný je tedy zásah do [=CmsJspLoginBean=] OpenCms, která je zodpovědná za přihlašování.

to:

Po přihlášení na zebezpečené stránce by byla session cookie poslána jako secure. Tento stav je nežádoucí kvůlí sdílení session s HTTP. Nutný je tedy zásah do CmsJspLoginBean OpenCms, která je zodpovědná za přihlašování.

29 June 2009, 17:05 by JaroslavPavuk -
Changed lines 10-16 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
2. zabezpečená práce ve workplace
3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
4. login form pro frontend
5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
2. zabezpečená práce ve workplace
3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
4. login form pro frontend
5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

Changed lines 19-21 from:

Cíl: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

to:

Cíl: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

29 June 2009, 17:05 by JaroslavPavuk -
Changed lines 19-21 from:

Cíl: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

to:

Cíl: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

29 June 2009, 17:04 by JaroslavPavuk -
Changed lines 17-18 from:

K celému se přidá Kerberos autentizace.

to:

K celému se přidá Kerberos autentizace.

29 June 2009, 17:04 by JaroslavPavuk -
Changed lines 9-15 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
2. zabezpečená práce ve workplace
3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
4. login form pro frontend
5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
2. zabezpečená práce ve workplace
3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
4. login form pro frontend
5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

Changed lines 66-67 from:

Body 3. a 4. potřebují pro správnou funkčnost sdílení session mezi HTTPS a HTTP.

to:

Body 3. a 4. potřebují pro správnou funkčnost sdílení session mezi HTTPS a HTTP.

Changed lines 137-138 from:

nelze použít řešení s validací.

to:

nelze použít řešení s validací.

29 June 2009, 17:00 by JaroslavPavuk -
Deleted lines 5-14:

Jak to funguje

Když zloděj přijde na stránku, kde je přes šablonu vynuceno logout nebo verify, tak

  • dostane 403 Forbidden a cookie "invalid user"
  • do session se uloží příznak "ukradená session"
  • nastaví se cookie "valid user" s příznakem problému

Když toto nastane, tak se

  • uživateli při nejbližší validaci zobrazí varování "bacha někdo asi ukradl session, ihned se odhlašte" -- jakmile se hodný odhlásí, zruší se session i pro zloděje.
29 June 2009, 17:00 by JaroslavPavuk -
Changed lines 111-114 from:

Filtr se chová několika způsoby:

A.

to:

''' Filtr se chová několika způsoby:'''

A.

Changed line 117 from:

B.

to:

B.

Changed lines 125-131 from:
  • nastane-li chyba při validaci, je uložen příznak do session pro informování skutečného uživatele, útočníkovi je posláno 403 Forbidden a cookie s výsledkem validace
  • validace úspěšná, ale zjištěn útok (příznak v session), poslána cookie s příznakem útoku, uložení času validace, přechod zpět na HTTP
  • validace úspěšná, uložení času validace, přechod zpět na HTTP

C.

to:
  • nastane-li chyba při validaci, je uložen příznak do session pro informování skutečného uživatele; útočníkovi je posláno 403 Forbidden a cookie s výsledkem validace
  • validace úspěšná, ale zjištěn útok (příznak v session); poslána cookie s příznakem útoku - zpracuje login_element.jsp; uložení času validace; přechod zpět na HTTP
  • validace úspěšná; uložení času validace; přechod zpět na HTTP

C.

Changed lines 148-149 from:

Nasazeno bylo pouze:

to:

Nasazeno bylo pouze:

29 June 2009, 16:58 by JaroslavPavuk -
Changed lines 32-35 from:
  • zloděj, útočník = ten který nějak ukradl session ID (ale nemá secure token)
  • validace = ověření, zda má přihlášený uživatel secure token
to:
  • zloděj, útočník = ten který nějak ukradl session ID (ale nemá secure token)
  • validace = ověření, zda má přihlášený uživatel secure token
Changed line 68 from:
  • login_element_secure.jsp - přihlašovací formulář na HTTPS - přesměrování zařídí sám, nebo je možno nastavit ve web.xml stejně jako zabezpečení workplace
to:
  • login_element_secure.jsp - přihlašovací formulář na HTTPS - přesměrování zařídí sám, nebo je možno nastavit ve web.xml stejně jako zabezpečení workplace
Changed lines 88-89 from:

Po přihlášení na zebezpečené stránce by byla session cookie poslána jako secure. Tento stav je nežádoucí kvůlí sdílení session s HTTP. Nutný je tedy zásah do CmsJspLoginBean OpenCms, která je zodpovědná za přihlašování.

to:

Po přihlášení na zebezpečené stránce by byla session cookie poslána jako secure. Tento stav je nežádoucí kvůlí sdílení session s HTTP. Nutný je tedy zásah do [=CmsJspLoginBean=] OpenCms, která je zodpovědná za přihlašování.

Changed lines 107-108 from:

Ověření pravosti uživatele se bude dít přes servlet filtr ValidateAuthFilter. Filtr se nastaví, viz ManualModulLogin tak, aby kontroloval veškerou komunikaci. Parametry filtru jsou:

to:

Ověření pravosti uživatele se bude dít přes servlet filtr [=ValidateAuthFilter=]. Filtr se nastaví, viz ManualModulLogin tak, aby kontroloval veškerou komunikaci. Parametry filtru jsou:

29 June 2009, 16:55 by JaroslavPavuk -
Deleted lines 5-8:

Odhlášení, průběžná validace a řešení zlodějů

Termíny: uživatel = ten který se původně přihlásil, zloděj = ten který nějak ukradl session ID (ale nemá secure token).

Deleted line 13:
  • zloději znemožní odhlášení, viz výše, aby nemohl zrušit session uživatele;
Added line 25:
Added lines 31-35:

Termíny:

  • zloděj, útočník = ten který nějak ukradl session ID (ale nemá secure token)
  • validace = ověření, zda má přihlášený uživatel secure token
Changed lines 77-78 from:

Problém je následující:

to:

Problém je následující:

Changed lines 96-102 from:
  • vyrobíme secure token cookie, která bude obsahovat hashMD5(session id + sůl), a pošleme jako zabezpečenou cookie
    • máme označeného uživatele, který se skutečně přihlásil, nikdo jiný tuto cookie nebude mít
    • uložíme ho také do session
  • do session uložíme čas přihlášení pro další kontrolu uživatele
to:
  • vyrobíme secure token cookie, která bude obsahovat hashMD5(session id + sůl)
    • pošleme jako zabezpečenou cookie - máme označeného uživatele, který se skutečně přihlásil; nikdo jiný tuto cookie nebude mít
    • uložíme ho také do session (pro validaci)
  • do session uložíme čas přihlášení pro časovou kontrolu uživatele
Changed lines 119-123 from:
  • uloží se url požadavku
  • do session se uloží příznak, že validujeme (nutné pro přechod zpět na HTTP)
  • dojde k přešměrování na HTTPS zabezpečenou stránku (url kde je umístěn login_element_secure.jsp)
  • ověří se přitomnost secure token a jeho správnost, několik možností:
to:
  1. uloží se url požadavku
  2. do session se uloží příznak, že validujeme (nutné pro přechod zpět na HTTP)
  3. dojde k přešměrování na HTTPS zabezpečenou stránku (url kde je umístěn login_element_secure.jsp)
  4. ověří se přitomnost secure token a jeho správnost, několik možností:
29 June 2009, 16:48 by JaroslavPavuk -
Changed lines 24-29 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS) 2. zabezpečená práce ve workplace 3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené) 4. login form pro frontend 5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
2. zabezpečená práce ve workplace
3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
4. login form pro frontend
5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

29 June 2009, 16:48 by JaroslavPavuk -
Changed lines 24-35 from:

1.

zabezpečená přihlašovací stránka do worklace (HTTPS)

2.

zabezpečená práce ve workplace

3.

zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)

4.

login form pro frontend

5.

ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS) 2. zabezpečená práce ve workplace 3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené) 4. login form pro frontend 5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

Changed lines 65-66 from:
  • zpracovává cookie s výsledekem validace - zobrazuje zprávy pomocí javascriptu
to:
  • zpracovává cookie s výsledekem validace - zobrazuje zprávy pomocí javascriptu - ukradená session
Changed lines 71-73 from:
to:

Pokud potřebuji zabezpečit nějakou operaci (formulář atd.) musí se přejít na HTTPS.

29 June 2009, 16:41 by JaroslavPavuk -
Changed lines 25-30 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)

2. zabezpečená práce ve workplace

3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)

4. login form pro frontend

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1.

zabezpečená přihlašovací stránka do worklace (HTTPS)

2.

zabezpečená práce ve workplace

3.

zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)

4.

login form pro frontend

5.

ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

29 June 2009, 16:40 by JaroslavPavuk -
Changed line 25 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)

29 June 2009, 16:40 by JaroslavPavuk -
Changed lines 25-30 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
!!!2. zabezpečená práce ve workplace
!!!3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
!!!4. login form pro frontend
!!!5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)

2. zabezpečená práce ve workplace

3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)

4. login form pro frontend

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

29 June 2009, 16:39 by JaroslavPavuk -
Changed lines 25-35 from:

1.

zabezpečená přihlašovací stránka do worklace (HTTPS)
!!!2. zabezpečená práce ve workplace
!!!3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
!!!4. login form pro frontend
!!!5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
!!!2. zabezpečená práce ve workplace
!!!3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
!!!4. login form pro frontend
!!!5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

29 June 2009, 16:37 by JaroslavPavuk -
Changed lines 25-32 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
!!!2. zabezpečená práce ve workplace

3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
!!!4. login form pro frontend

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1.

zabezpečená přihlašovací stránka do worklace (HTTPS)
!!!2. zabezpečená práce ve workplace
!!!3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
!!!4. login form pro frontend
!!!5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

29 June 2009, 16:36 by JaroslavPavuk -
Changed lines 25-32 from:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
2. zabezpečená práce ve workplace (HTTPS)

3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
4. login form pro frontend

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
!!!2. zabezpečená práce ve workplace

3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)
!!!4. login form pro frontend

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

Changed lines 59-60 from:

vad 3. + 4.

to:

ad 3. + 4.

29 June 2009, 16:29 by JaroslavPavuk -
Changed lines 40-41 from:

ad 1. + 2.

to:

ad 1. + 2.

Changed lines 59-60 from:

ad 3. + 4.

to:

vad 3. + 4.

Changed lines 86-87 from:

Sdílení session HTTPS + HTTP

to:

Sdílení session HTTPS + HTTP

Changed lines 105-106 from:

ad 5.

to:

ad 5.

Changed lines 143-148 from:
  • zabezpečení stránek se nastavuje v Apache - jestli bude vynuceno HTTPS

Z tohoto důvodu nelze použít řešení s validací.

Použito bylo pouze:

to:
  • zabezpečení stránek se nastavuje v Apache - jestli bude vynuceno HTTPS,

nelze použít řešení s validací.

Nasazeno bylo pouze:

Changed lines 153-159 from:

Instalace na ManualModulLogin.

to:

Instalace na ManualModulLogin - Dočasné řešení.

29 June 2009, 16:19 by JaroslavPavuk -
Deleted lines 5-13:

Mělo by ve finále dělat

  • zabezp.přihl do workplace (/system/login/) -- bude přes std opencms-system.xml (viz http://opencms-wiki.org/Enforcing_SSL_Encryption_for_the_Opencms_workplace)
  • zabezp.přihl na frontendu tj. možnost dát login form a zpracování do template.jsp (http://localhost:8080/opencms/opencms/release/installation.html na URI, *a /system/modules/org.opencms.welcome/templates/welcome.jsp + /system/modules/org.opencms.welcome/elements/login_element.jsp ve VFS)
  • možnost nejen přihlásit, ale i kdykoli ověřit, např. při přechodu textová stránka -> nějaký formulář
  • vše přes CmsJspLoginBean?
  • pokud možno, možnost naštelovat v config/system.xml která je login page v http-authentication > form-based elementu
Deleted lines 7-8:

Cíl: zabezpečení přihlášení lepší než přes kontrolu IP.

Deleted lines 9-10:

Princip: uživatel dostane jako secure cookie token, který se ověřuje při odhlášení nebo verifikaci session; přihlášení, odhlášení a verifikace se děje na HTTPS přímo nebo přes servlet filter redirect.

Changed lines 22-25 from:

NEW

Požadavky

to:

Požadavky

Changed line 28 from:

3. zabezpečená přihlašovací stránka na frontendu\\

to:

3. zabezpečená přihlašovací stránka na frontendu (odhlášení nebude zabezpečené)\\

Changed lines 38-39 from:

Analýza a řešení

to:

Analýza a řešení

Changed lines 72-74 from:
  • umožňuje také odhlášení
to:
  • umožňuje odhlášení
Changed lines 136-137 from:

Nasazení (4/2009)

to:

Nasazení (4/2009)

Changed line 140 from:
  • probíhá překlad adres - není vidět /opencms/
to:
  • probíhá překlad adres - není vidět /opencms/
Changed lines 151-152 from:
  • upravené příhlašovací JSP z modulu welcome pro frontend - url login_element_secure.jsp bylo zabezpečeno Apachem.
to:
  • upravené příhlašovací JSP z modulu welcome pro frontend - url login_element_secure.jsp bylo zabezpečeno Apachem.
29 June 2009, 16:13 by JaroslavPavuk -
Changed lines 49-51 from:

Cílem je: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

to:

Cíl: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

Changed line 121 from:

Ověření pravosti uživatele se bude dít přes filtr ValidateAuthFilter. Filtr se nastaví, viz ManualModulLogin tak, aby kontroloval veškerou komunikaci. Parametry filtru jsou:

to:

Ověření pravosti uživatele se bude dít přes servlet filtr ValidateAuthFilter. Filtr se nastaví, viz ManualModulLogin tak, aby kontroloval veškerou komunikaci. Parametry filtru jsou:

Changed lines 150-163 from:

Současný stav (4/2009) Apache + Tomcat Nelze zjistit, zda jsme na http nebo https. Stránky se zabezpečí na Apache. Nasazen pouze Kerberos a zabezpečené příhlašovací stránky (workplace + 2 jsp pro frontend).

TODO

to:

Nasazení (4/2009)

Z důvodu použití Apache + Tomcat na beta.kiv.zcu.cz, kde:

  • probíhá překlad adres - není vidět /opencms/
  • Tomcat nepozná, jestli je připojení HTTPS nebo HTTP - nefunguje request.isSecure()
  • všechny cookie se odesílají jako non-secure
  • zabezpečení stránek se nastavuje v Apache - jestli bude vynuceno HTTPS

Z tohoto důvodu nelze použít řešení s validací.

Použito bylo pouze:

  • Kerberos - celé řešení
  • pomocí Apache byla zabezpečena přihlašovací stránka do workplace
  • upravené příhlašovací JSP z modulu welcome pro frontend - url login_element_secure.jsp bylo zabezpečeno Apachem.

Instalace na ManualModulLogin.

29 June 2009, 14:36 by JaroslavPavuk -
Changed lines 6-10 from:
  • vezme se Boháčovo krb auth beze změn
  • před/okolo něj se v CmsJspLoginBean.displayDialog() doplní generování https stránek, přesměrování přes 302, atd dle obrázku

Je třeba ještě dořešit následné zobrazování frontendu a odhlášení - viz jak to funguje v distro instalaci OpenCms.

to:
Changed lines 39-41 from:

1. zabezpečená přihlašovací stránka do worklace (https)
2. zabezpečená práce ve workplace (https)

to:

1. zabezpečená přihlašovací stránka do worklace (HTTPS)
2. zabezpečená práce ve workplace (HTTPS)

Changed lines 45-46 from:

5. ověření pravosti přihlášeného uživatele pracujícího přes http (rozpoznání zloděje session)

to:

5. ověření pravosti přihlášeného uživatele pracujícího přes HTTP (rozpoznání zloděje session)

Changed lines 49-51 from:
to:

Cílem je: Zabezpečení přihlášení a lepší kontrolu uživatele než přes kontrolu IP (OpenCms interně).

Changed lines 71-72 from:

Dojde k vynucení https u stránek ležících v /opencms/system/* a podadresářích. Zabezpečí se tedy přihlašovací formulář do workplace (/opencms/system/login) a samotné stránky workplace (/opencms/system/wrkplace).

to:

Dojde k vynucení HTTPS u stránek ležících v /opencms/system/* a podadresářích. Zabezpečí se tedy přihlašovací formulář do workplace (/opencms/system/login) a samotné stránky workplace (/opencms/system/wrkplace).

Changed line 78 from:
  • login_element.jsp se umístí do template (na http)
to:
  • login_element.jsp se umístí do template (na HTTP)
Changed line 84 from:
  • login_element_secure.jsp - přihlašovací formulář na https - přesměrování zařídí sám, nebo je možno nastavit ve web.xml stejně jako zabezpečení workplace
to:
  • login_element_secure.jsp - přihlašovací formulář na HTTPS - přesměrování zařídí sám, nebo je možno nastavit ve web.xml stejně jako zabezpečení workplace
Changed lines 89-90 from:

Body 3. a 4. potřebují pro správnou funkčnost sdílení session mezi https a http.

to:

Body 3. a 4. potřebují pro správnou funkčnost sdílení session mezi HTTPS a HTTP.

Changed lines 93-96 from:
  • pokud se přihlásíme na stránce s https, je session cookie odeslána jako secure, což působí problémy při přechodu na http (session cookie není poslána a my figurujeme jako nepřihlášeni)
  • pokud bychom se přihlásili na http (což nebudeme dělat, ale uvedu jej pro úplnost), je session cookie vyslána jako nezabezpečená, tím je umožněn bezproblémový přechod na https, aniž bychom ztratili session. Problém je ovšem v tom, že máme vyzrazený identifikátor session.
to:
  • pokud se přihlásíme na stránce s HTTPS, je session cookie odeslána jako secure, což působí problémy při přechodu na HTTP (session cookie není poslána a my figurujeme jako nepřihlášeni)
  • pokud bychom se přihlásili na HTTP (což nebudeme dělat, ale uvedu jej pro úplnost), je session cookie vyslána jako nezabezpečená, tím je umožněn bezproblémový přechod na HTTPS, aniž bychom ztratili session. Problém je ovšem v tom, že máme vyzrazený identifikátor session.
Changed lines 100-103 from:

Sdílení session https + http

Po přihlášení na zebezpečené stránce by byla session cookie poslána jako secure. Tento stav je nežádoucí kvůlí sdílení session s http. Nutný je tedy zásah do CmsJspLoginBean OpenCms, která je zodpovědná za přihlašování.

to:

Sdílení session HTTPS + HTTP

Po přihlášení na zebezpečené stránce by byla session cookie poslána jako secure. Tento stav je nežádoucí kvůlí sdílení session s HTTP. Nutný je tedy zásah do CmsJspLoginBean OpenCms, která je zodpovědná za přihlašování.

Changed lines 106-107 from:
  • znemožníme přihlášení nezabezpečeným způsobem (http)
to:
  • znemožníme přihlášení nezabezpečeným způsobem (HTTP)
Changed lines 117-118 from:

Takto je zaručeno sdílení session po přihlášení na https a případném přechodu na http. Máme taktéž označeného pravého uživatele

to:

Takto je zaručeno sdílení session po přihlášení na HTTPS a případném přechodu na HTTP. Máme taktéž označeného pravého uživatele

Changed lines 131-132 from:

Pokud jsme na nezabezpečeném http, počítá při každém požadavku čas od přihlášení. Uplyne-li doba delší než delta t a je-li náš požadavek GET, začne validační smyčka:

to:

Pokud jsme na nezabezpečeném HTTP, počítá při každém požadavku čas od přihlášení. Uplyne-li doba delší než delta t a je-li náš požadavek GET, začne validační smyčka:

Changed lines 134-135 from:
  • do session se uloží příznak, že validujeme (nutné pro přechod zpět na http)
  • dojde k přešměrování na https zabezpečenou stránku (url kde je umístěn login_element_secure.jsp)
to:
  • do session se uloží příznak, že validujeme (nutné pro přechod zpět na HTTP)
  • dojde k přešměrování na HTTPS zabezpečenou stránku (url kde je umístěn login_element_secure.jsp)
Changed lines 140-143 from:
  • validace úspěšná, ale zjištěn útok (příznak v session), poslána cookie s příznakem útoku, uložení času validace, přechod zpět na http
  • validace úspěšná, uložení času validace, přechod zpět na http
to:
  • validace úspěšná, ale zjištěn útok (příznak v session), poslána cookie s příznakem útoku, uložení času validace, přechod zpět na HTTP
  • validace úspěšná, uložení času validace, přechod zpět na HTTP
Changed lines 145-147 from:

Pokud sami přejdeme na HTTPS, je validován každý náš požadavek (GET, POST). Zůstáváme na HTTPS. Neukládá se čas validace pro případ krádeže session cookie a přístup útočníka na http (bude zachycen filtrem - vyprší čas, na https by byl zachycen okamžitě). Při neúspěšné validaci se posílá 403 Forbidden.

to:

Pokud sami přejdeme na HTTPS, je validován každý náš požadavek (GET, POST). Zůstáváme na HTTPS. Neukládá se čas validace pro případ krádeže session cookie a přístup útočníka na HTTP (bude zachycen filtrem - vyprší čas, na HTTPS by byl zachycen okamžitě). Při neúspěšné validaci se posílá 403 Forbidden.

29 June 2009, 14:24 by JaroslavPavuk -
Changed lines 13-14 from:
  • zabezp.přihl do workplace (/system/login/) -- bude přes std opencms-system.xml (viz http://opencms-wiki.org/Enforcing_SSL_Encryption_for_the_Opencms_workplace)
  • zabezp.přihl na frontendu tj. možnost dát login form a zpracování do template.jsp (http://localhost:8080/opencms/opencms/release/installation.html na URI, a /system/modules/org.opencms.welcome/templates/welcome.jsp + /system/modules/org.opencms.welcome/elements/login_element.jsp ve VFS)
to:
  • zabezp.přihl do workplace (/system/login/) -- bude přes std opencms-system.xml (viz http://opencms-wiki.org/Enforcing_SSL_Encryption_for_the_Opencms_workplace)
  • zabezp.přihl na frontendu tj. možnost dát login form a zpracování do template.jsp (http://localhost:8080/opencms/opencms/release/installation.html na URI, *a /system/modules/org.opencms.welcome/templates/welcome.jsp + /system/modules/org.opencms.welcome/elements/login_element.jsp ve VFS)
Changed lines 51-53 from:
to:

K celému se přidá Kerberos autentizace.

Added lines 73-74:

Dojde k vynucení https u stránek ležících v /opencms/system/* a podadresářích. Zabezpečí se tedy přihlašovací formulář do workplace (/opencms/system/login) a samotné stránky workplace (/opencms/system/wrkplace).

Changed line 82 from:
  • přihlášení (odkaz na zebezpečený formulář)
to:
  • přihlášení (odkaz na zebezpečený formulář, nutno nastavit odkaz manuálně)
Changed lines 84-85 from:
to:
  • zpracovává cookie s výsledekem validace - zobrazuje zprávy pomocí javascriptu
Changed lines 88-89 from:
to:
  • umožňuje také odhlášení
Changed lines 106-107 from:

Úpravy:

to:

Provedeme několik úprav:

Changed lines 109-111 from:
  • cookie se session id pošleme jako nezbezpečenou (přemažeme původní zabezpečenou)
to:
  • po přihlášení cookie pošleme cookie se session id jako nezbezpečenou (přemažeme původní zabezpečenou)
Changed lines 115-120 from:
  • do session uložíme čas přihlášení pro kontrolu uživatele

Takto je zaručena sdílení session po přihlášení na https a případném přechodu na http.

to:
  • do session uložíme čas přihlášení pro další kontrolu uživatele

Takto je zaručeno sdílení session po přihlášení na https a případném přechodu na http. Máme taktéž označeného pravého uživatele

Changed lines 123-124 from:

Ověření pravosti uživatele se bude dít přes filtr ValidateAuthFilter. Filtr se nastaví, viz ManualModulLogin.

to:

Ověření pravosti uživatele se bude dít přes filtr ValidateAuthFilter. Filtr se nastaví, viz ManualModulLogin tak, aby kontroloval veškerou komunikaci. Parametry filtru jsou:

  • url na zabezpečenou validační stránku
  • timeout pro validaci (po uplynutí tohoto času se provede validační smyčka, pouze pro HTTP)
Changed lines 130-131 from:

Jsme-li nepřihlášeni, propouští komunikaci.

to:

Jsme-li nepřihlášeni, propouští komunikaci dále.

Changed lines 136-137 from:
  • do session se uloží příznak, že validujeme (pro přechod zpět na http)
  • dojde k přešměrování na zabezpečenou stránku (login_element_secure.jsp)
to:
  • do session se uloží příznak, že validujeme (nutné pro přechod zpět na http)
  • dojde k přešměrování na https zabezpečenou stránku (url kde je umístěn login_element_secure.jsp)
Changed lines 140-141 from:
  • nastane-li chyba, je uložen příznak do session pro informování skutečného uživatele, útočníkovi je posláno 403 Forbidden
to:
  • nastane-li chyba při validaci, je uložen příznak do session pro informování skutečného uživatele, útočníkovi je posláno 403 Forbidden a cookie s výsledkem validace
  • validace úspěšná, ale zjištěn útok (příznak v session), poslána cookie s příznakem útoku, uložení času validace, přechod zpět na http
Changed lines 145-146 from:
  • validace úspěšná, ale zjištěn útok, poslána cookie s příznakem útoku, uložení času validace, přechod zpět na http
to:
Changed lines 147-149 from:

Pokud sami přejdeme na HTTPS, je validován každý náš požadavek (GET, POST). Zůstáváme na HTTPS. Neukládá se čas validace pro případ krádeže session cookie a přístup útočníka na http (bude zachycen filtrem, na https by byl zachycen okamžitě). Při neúspěšné validace se posílá 403 Forbidden.

to:

Pokud sami přejdeme na HTTPS, je validován každý náš požadavek (GET, POST). Zůstáváme na HTTPS. Neukládá se čas validace pro případ krádeže session cookie a přístup útočníka na http (bude zachycen filtrem - vyprší čas, na https by byl zachycen okamžitě). Při neúspěšné validaci se posílá 403 Forbidden.

29 June 2009, 13:16 by JaroslavPavuk -
Changed line 43 from:

1. zabezpečená přihlašovací stránka do worklace (https)

to:

1. zabezpečená přihlašovací stránka do worklace (https)\\

Changed line 46 from:

3. zabezpečená přihlašovací stránka na frontendu

to:

3. zabezpečená přihlašovací stránka na frontendu\\

27 June 2009, 13:50 by JaroslavPavuk -
Added line 55:
27 June 2009, 13:50 by JaroslavPavuk -
Changed lines 70-71 from:

ad 3. + 4.

to:

ad 3. + 4.

Changed lines 112-113 from:

ad 5.

to:

ad 5.

Changed line 140 from:

Současný stav (4/2009)

to:

Současný stav (4/2009)

27 June 2009, 13:48 by JaroslavPavuk -
Added line 95:
Added line 99:
27 June 2009, 13:48 by JaroslavPavuk -
Added line 124:
Changed lines 126-129 from:
  • validace úspěšná,
  • validace úspěšná, ale zjištěn útok, přechod zpět na http, poslána cookie s příznakem útoku
    • přechod zpět na http
to:
  • validace úspěšná, uložení času validace, přechod zpět na http
  • validace úspěšná, ale zjištěn útok, poslána cookie s příznakem útoku, uložení času validace, přechod zpět na http
Changed lines 131-139 from:

Pokud sami přejdeme

to:

Pokud sami přejdeme na HTTPS, je validován každý náš požadavek (GET, POST). Zůstáváme na HTTPS. Neukládá se čas validace pro případ krádeže session cookie a přístup útočníka na http (bude zachycen filtrem, na https by byl zachycen okamžitě). Při neúspěšné validace se posílá 403 Forbidden.

Added lines 135-150:

Současný stav (4/2009) Apache + Tomcat Nelze zjistit, zda jsme na http nebo https. Stránky se zabezpečí na Apache. Nasazen pouze Kerberos a zabezpečené příhlašovací stránky (workplace + 2 jsp pro frontend).

TODO


27 June 2009, 13:38 by JaroslavPavuk -
Changed lines 102-105 from:
to:
  • uložíme ho také do session
  • do session uložíme čas přihlášení pro kontrolu uživatele
Changed lines 110-116 from:
to:

Ověření pravosti uživatele se bude dít přes filtr ValidateAuthFilter. Filtr se nastaví, viz ManualModulLogin.

Filtr se chová několika způsoby:

A. Jsme-li nepřihlášeni, propouští komunikaci.

B. Pokud jsme na nezabezpečeném http, počítá při každém požadavku čas od přihlášení. Uplyne-li doba delší než delta t a je-li náš požadavek GET, začne validační smyčka:

  • uloží se url požadavku
  • do session se uloží příznak, že validujeme (pro přechod zpět na http)
  • dojde k přešměrování na zabezpečenou stránku (login_element_secure.jsp)
  • ověří se přitomnost secure token a jeho správnost, několik možností:
    • nastane-li chyba, je uložen příznak do session pro informování skutečného uživatele, útočníkovi je posláno 403 Forbidden
    • validace úspěšná,
    • validace úspěšná, ale zjištěn útok, přechod zpět na http, poslána cookie s příznakem útoku
      • přechod zpět na http

C. Pokud sami přejdeme

27 June 2009, 13:09 by JaroslavPavuk -
Changed lines 72-74 from:

Obsahuje v adresáři /elements soubory login_element.jsp a login_element_secure.jsp.

  • login_element.jsp se umístí do template (na https)
to:

Obsahuje v adresáři /elements soubory login_element.jsp a login_element_secure.jsp.

  • login_element.jsp se umístí do template (na http)
Changed lines 79-82 from:
to:
  • login_element_secure.jsp - přihlašovací formulář na https - přesměrování zařídí sám, nebo je možno nastavit ve web.xml stejně jako zabezpečení workplace
    • na něm se bude také provádět ověření přihlášeného uživatele
27 June 2009, 12:47 by JaroslavPavuk -
Changed lines 86-87 from:
  • pokud bychom se přihlásili na http (což nebudeme dělat, ale uvedu jej pro úplnost), je session cookie vyslána jako nezabezpečená, což umožňuje bezproblémový přechod na https, aniž bychom ztratili session. Problém je ovšem v tom, že máme vyzra
to:
  • pokud bychom se přihlásili na http (což nebudeme dělat, ale uvedu jej pro úplnost), je session cookie vyslána jako nezabezpečená, tím je umožněn bezproblémový přechod na https, aniž bychom ztratili session. Problém je ovšem v tom, že máme vyzrazený identifikátor session.

Po analýze problému se nabízí řešení, které pomáhá i k řešení bodu 5.

Sdílení session https + http Po přihlášení na zebezpečené stránce by byla session cookie poslána jako secure. Tento stav je nežádoucí kvůlí sdílení session s http. Nutný je tedy zásah do CmsJspLoginBean OpenCms, která je zodpovědná za přihlašování.

Úpravy:

  • znemožníme přihlášení nezabezpečeným způsobem (http)
  • cookie se session id pošleme jako nezbezpečenou (přemažeme původní zabezpečenou)
  • vyrobíme secure token cookie, která bude obsahovat hashMD5(session id + sůl), a pošleme jako zabezpečenou cookie
    • máme označeného uživatele, který se skutečně přihlásil, nikdo jiný tuto cookie nebude mít

Takto je zaručena sdílení session po přihlášení na https a případném přechodu na http.

27 June 2009, 12:25 by JaroslavPavuk -
Changed lines 80-83 from:
to:

Body 3. a 4. potřebují pro správnou funkčnost sdílení session mezi https a http.

Problém je následující:

  • pokud se přihlásíme na stránce s https, je session cookie odeslána jako secure, což působí problémy při přechodu na http (session cookie není poslána a my figurujeme jako nepřihlášeni)
  • pokud bychom se přihlásili na http (což nebudeme dělat, ale uvedu jej pro úplnost), je session cookie vyslána jako nezabezpečená, což umožňuje bezproblémový přechod na https, aniž bychom ztratili session. Problém je ovšem v tom, že máme vyzra

ad 5.

27 June 2009, 12:12 by JaroslavPavuk -
Changed line 54 from:

ad 1. + ad 2.

to:

ad 1. + 2.

Changed line 70 from:

ad 3.

to:

ad 3. + 4.

Changed line 74 from:
  • login_element.jsp se umístí do template
to:
  • login_element.jsp se umístí do template (na https)
27 June 2009, 12:10 by JaroslavPavuk -
Changed lines 72-76 from:

Obsahuje v adresáři /elements soubory login_element.jsp a login_element_secure.jsp.

to:

Obsahuje v adresáři /elements soubory login_element.jsp a login_element_secure.jsp.

  • login_element.jsp se umístí do template
  • umožňuje:
    • přihlášení (odkaz na zebezpečený formulář)
    • odhlášení
27 June 2009, 11:32 by JaroslavPavuk -
Changed lines 71-75 from:

Pro účely zabezpečeného přihlášení byl upraven modul Welcome z OpenCms 6.2.3

to:

Pro účely zabezpečeného přihlášení byl upraven modul org.opencms.welcome z OpenCms 6.2.3. Obsahuje v adresáři /elements soubory login_element.jsp a login_element_secure.jsp.

27 June 2009, 10:54 by JaroslavPavuk -
Changed lines 41-42 from:

Požadavky

to:

Požadavky

Changed lines 52-54 from:

Analýza a řešení

ad 1. + ad 2.

to:

Analýza a řešení

ad 1. + ad 2.

Changed lines 70-72 from:
to:

ad 3. Pro účely zabezpečeného přihlášení byl upraven modul Welcome z OpenCms 6.2.3

27 June 2009, 10:48 by JaroslavPavuk -
Changed line 28 from:
to:
Changed lines 42-46 from:
  • zabezpečená přihlašovací stránka do worklace + zabezpečená práce
  • zabezpečená přihlašovací stránka na frontendu
  • ověření pravosti přihlášeného uživatele (rozpoznání zloděje session)
to:

1. zabezpečená přihlašovací stránka do worklace (https) 2. zabezpečená práce ve workplace (https)

3. zabezpečená přihlašovací stránka na frontendu 4. login form pro frontend

5. ověření pravosti přihlášeného uživatele pracujícího přes http (rozpoznání zloděje session)

Analýza a řešení

ad 1. + ad 2. Pro zabezpečení práce ve workplace včetně přihlášení je třeba nastavit v %OPENCMS%/WEB-INF/web.xml:

<security-constraint>

   <web-resource-collection>
      <web-resource-name>SecureWorkplace</web-resource-name>
      <url-pattern>/opencms/system/*</url-pattern>
   </web-resource-collection>
   <user-data-constraint>
      <transport-guarantee>CONFIDENTIAL</transport-guarantee>
   </user-data-constraint>

</security-constraint> 
27 June 2009, 09:53 by JaroslavPavuk -
Changed lines 42-44 from:
  • zabezpečená přihlašovací stránka (frontend + backend)
  • zabezpečená práce na backend
  • ověření autenticity přihlášeného uživatele (rozpoznání zloděje session)
to:
  • zabezpečená přihlašovací stránka do worklace + zabezpečená práce
  • zabezpečená přihlašovací stránka na frontendu
  • ověření pravosti přihlášeného uživatele (rozpoznání zloděje session)
25 June 2009, 22:59 by JaroslavPavuk -
Deleted line 37:
Added lines 39-47:

NEW

Požadavky

  • zabezpečená přihlašovací stránka (frontend + backend)
  • zabezpečená práce na backend
  • ověření autenticity přihlášeného uživatele (rozpoznání zloděje session)

22 May 2008, 18:39 by PremekBrada -
Changed line 13 from:
  • zabezp.přihl do workplace (/system/login/)
to:
  • zabezp.přihl do workplace (/system/login/) -- bude přes std opencms-system.xml (viz http://opencms-wiki.org/Enforcing_SSL_Encryption_for_the_Opencms_workplace)
Changed lines 25-26 from:

Princip: uživatel dostane jako secure cookie token, který se ověřuje při odhlášení nebo verifikaci session; přihlášení, odhlášení a verifikace se děje na HTTPS přímo nebo přes javascript redirect.

to:

Princip: uživatel dostane jako secure cookie token, který se ověřuje při odhlášení nebo verifikaci session; přihlášení, odhlášení a verifikace se děje na HTTPS přímo nebo přes servlet filter redirect.

Changed line 30 from:
  • ho server nechá na HTTPS (tj. bude znova ověřovat secure token)
to:
  • dostane 403 Forbidden a cookie "invalid user"
Changed lines 32-37 from:
  • zlodějovi se zobrazí javascriptová výhrůžka a "zruší se" obsah stránky => zloděj se bude točit pořád dokola na stránce s výhrůžkou dokud si nepřepíše URL v Location prohlížeče.

Výhrůžka se zobrazuje přes:

  • frontend - typicky v login elementu šablony, např. /system/modules/org.opencms.welcome/elements/login_element.jsp
  • backend - v /system/workplace/views/explorer/explorer_files.jsp
to:
  • nastaví se cookie "valid user" s příznakem problému
22 May 2008, 18:32 by PremekBrada -
Changed lines 4-5 from:
to:

Attach:opencms-zabezpeceni-frontend.jpg - jak má fungovat zabezpečení při přístupu k frontend obsahu, včetně periodického ověřování autenticity uživatele

20 March 2008, 17:11 by PremekBrada -
Changed lines 26-27 from:

Jak to funguje!!!

to:

Jak to funguje

20 March 2008, 17:11 by PremekBrada -
Added lines 20-21:

Cíl: zabezpečení přihlášení lepší než přes kontrolu IP.

Added lines 24-27:

Princip: uživatel dostane jako secure cookie token, který se ověřuje při odhlášení nebo verifikaci session; přihlášení, odhlášení a verifikace se děje na HTTPS přímo nebo přes javascript redirect.

Jak to funguje!!!

Changed lines 31-34 from:
  • zlodějovi se zobrazí javascriptová výhrůžka => zloděj se bude točit pořád dokola na stránce s výhrůžkou dokud si nepřepíše URL v Location prohlížeče.

Jak a kde se zobrazuje výhrůžka:

  • frontend - v login elementu šablony
to:
  • zlodějovi se zobrazí javascriptová výhrůžka a "zruší se" obsah stránky => zloděj se bude točit pořád dokola na stránce s výhrůžkou dokud si nepřepíše URL v Location prohlížeče.

Výhrůžka se zobrazuje přes:

  • frontend - typicky v login elementu šablony, např. /system/modules/org.opencms.welcome/elements/login_element.jsp
Changed lines 37-39 from:

Když toto nastane, tak tomu "hodnému" se při nejbližší validaci zobrazí varování "bacha někdo asi ukradl session, ihned se odhlašte" -- jakmile se hodný odhlásí, zruší se session i pro zloděje.

to:

Když toto nastane, tak se

  • zloději znemožní odhlášení, viz výše, aby nemohl zrušit session uživatele;
  • uživateli při nejbližší validaci zobrazí varování "bacha někdo asi ukradl session, ihned se odhlašte" -- jakmile se hodný odhlásí, zruší se session i pro zloděje.
20 March 2008, 16:55 by PremekBrada -
Changed lines 18-20 from:

Odhlášení a řešení zlodějů

Když zloděj (= ukradl session ID) přijde na stránku, kde je logout nebo verify, tak

to:

Odhlášení, průběžná validace a řešení zlodějů

Termíny: uživatel = ten který se původně přihlásil, zloděj = ten který nějak ukradl session ID (ale nemá secure token).

Když zloděj přijde na stránku, kde je přes šablonu vynuceno logout nebo verify, tak

20 March 2008, 16:51 by PremekBrada -
Changed lines 20-21 from:

Když zloděj (= ukradl session ID) přijde na stránku, kde je logout nebo verify, tak ho server nechá na HTTPS (tj. bude znova ověřovat secure token) a ještě mu zobrazíme javascriptovou výhrůžku => zloděj se bude točit pořád dokola na stránce s výhrůžkou dokud si nepřepíše URL v Location prohlížeče.

to:

Když zloděj (= ukradl session ID) přijde na stránku, kde je logout nebo verify, tak

  • ho server nechá na HTTPS (tj. bude znova ověřovat secure token)
  • do session se uloží příznak "ukradená session"
  • zlodějovi se zobrazí javascriptová výhrůžka => zloděj se bude točit pořád dokola na stránce s výhrůžkou dokud si nepřepíše URL v Location prohlížeče.
Changed lines 29-31 from:
to:

Když toto nastane, tak tomu "hodnému" se při nejbližší validaci zobrazí varování "bacha někdo asi ukradl session, ihned se odhlašte" -- jakmile se hodný odhlásí, zruší se session i pro zloděje.

20 March 2008, 16:26 by PremekBrada -
Added lines 22-26:

Jak a kde se zobrazuje výhrůžka:

  • frontend - v login elementu šablony
  • backend - v /system/workplace/views/explorer/explorer_files.jsp
28 February 2008, 18:23 by PremekBrada -
28 February 2008, 18:13 by PremekBrada -
Changed lines 14-15 from:
  • možnost nejen přihlásit, ale i kdykoli ověřit, a samosebou taky odhlásit, vše přes CmsJspLoginBean?
to:
  • možnost nejen přihlásit, ale i kdykoli ověřit, např. při přechodu textová stránka -> nějaký formulář
  • vše přes CmsJspLoginBean?
28 February 2008, 18:09 by PremekBrada -
Added lines 10-16:

Mělo by ve finále dělat

  • zabezp.přihl do workplace (/system/login/)
  • zabezp.přihl na frontendu tj. možnost dát login form a zpracování do template.jsp (http://localhost:8080/opencms/opencms/release/installation.html na URI, a /system/modules/org.opencms.welcome/templates/welcome.jsp + /system/modules/org.opencms.welcome/elements/login_element.jsp ve VFS)
  • možnost nejen přihlásit, ale i kdykoli ověřit, a samosebou taky odhlásit, vše přes CmsJspLoginBean?
  • pokud možno, možnost naštelovat v config/system.xml která je login page v http-authentication > form-based elementu
28 February 2008, 17:31 by PremekBrada -
Added lines 10-13:

Odhlášení a řešení zlodějů

Když zloděj (= ukradl session ID) přijde na stránku, kde je logout nebo verify, tak ho server nechá na HTTPS (tj. bude znova ověřovat secure token) a ještě mu zobrazíme javascriptovou výhrůžku => zloděj se bude točit pořád dokola na stránce s výhrůžkou dokud si nepřepíše URL v Location prohlížeče.

21 February 2008, 17:14 by PremekBrada -
Changed lines 3-4 from:
to:

Attach:kiv-secure-auth-proces.jpg obrázek - červeně jsou označeny stránky-cookies které jsou secure čili na HTTPS.

21 February 2008, 17:13 by PremekBrada -
Changed lines 1-6 from:

-vložit obr-

vezme se Boháčovo krb auth beze změn před/okolo něj se v CmsJspLoginBean? displayDialog() se doplní generování https stránek, přesměrování přes 302, atd dle obrázku

dořešit následné zobrazování frontendu a odhlášení - viz distro instralace OpenCms

to:

Design pro zabezpečené přihlášení do OpenCms s ověřením proti Kerberos ZČU:

Attach:kiv-secure-auth-proces.jpg

  • vezme se Boháčovo krb auth beze změn
  • před/okolo něj se v CmsJspLoginBean.displayDialog() doplní generování https stránek, přesměrování přes 302, atd dle obrázku

Je třeba ještě dořešit následné zobrazování frontendu a odhlášení - viz jak to funguje v distro instalaci OpenCms.


Zpět na RedSys

21 February 2008, 17:02 by PremekBrada -
Added lines 1-6:

-vložit obr-

vezme se Boháčovo krb auth beze změn před/okolo něj se v CmsJspLoginBean? displayDialog() se doplní generování https stránek, přesměrování přes 302, atd dle obrázku

dořešit následné zobrazování frontendu a odhlášení - viz distro instralace OpenCms