Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

authentication free access to notebooks #20

Open
riblidezso opened this issue Jul 6, 2017 · 13 comments
Open

authentication free access to notebooks #20

riblidezso opened this issue Jul 6, 2017 · 13 comments

Comments

@riblidezso
Copy link

Az nem baj, hogy jelszo nelkul be lehet lepni a notebookhoz ha valaki ismeri az url-t?

pl: https://kooplex.vo.elte.hu/notebook/dribli/[valami uid]/notebooks/git/Untitled.ipynb

Ha peldaul Laci demozza epp a feluletet a compare eves meetingen, akkor valaki lemasolhatja az url-t es akkor jelszo nelkul belephet es elkezdhet bitcoint vagy ethereumot banyaszni ha unalmas az eloadas. (Skype megosztasnal ugyanigy bajos lehet.)

Valoszinuleg jo lenne mindent auth moge tenni, nem?

@dobos
Copy link
Member

dobos commented Jul 6, 2017 via email

@icsabai
Copy link

icsabai commented Jul 6, 2017

Azért ezzel majd valamit csinálni kell, mert tényleg veszélyes lehet, a COMPARE egyes tagjainak örökre elveheti a kedvét. Most próbáltam simán csak a novo2 jupyter-nél (nem kooplex) megnézni, hogy ott el lehet-e így érni, de nem megy (500 Internal Server Error, onco2 detto). A SciServer-en nem engedi elérni url alapján, ha ki vagyunk lépve. Ott biztos teljesen más a rendszer, de azért Laci alkalomadtán rákérdezhetnél.

@dobos
Copy link
Member

dobos commented Jul 6, 2017 via email

@stegerjozsef
Copy link
Contributor

Sajna nem a jupyterhub verziója a gond. Arhitekturális tervezési hiba van.

Gondolom, történetileg és kényelmileg egy nginx a hub elé van téve. Ez a komponens többet tesz, mint valójában tehetne.

Minden, amit a hub szolgáltat az rendben authentikálva, authorizálva van [notebook/report készítés/menedzselés], DE a notebookok kiszolgálási útvonala nem folyik a hubon keresztül: az nginx még hamarabb áttolja a configurable-http-proxy-nak.

Ez így nem jó, mert nem tudja a hub kierőszakolni a jogosultságot! A szolgáltatásokat a hub ALÁ kell szervezni, nem MELLÉ.

A sandboxon a notebook/ redirektet kivettem az nginxből, és a hubba tettem át:

  • így ha elhappolják az urlt, a hub elirányít a login oldalra.
  • de a gyors fércelés mellett nem teljesen kerek a dolog ha azonosítva vagy sem,
    1. egy csomó statikus kontent nem megy át (css, javaszkriptek), így praktikusan használhatatlan amit a böngészőben látsz.
    2. a konténerek ki/bekapcsolása most megsínyli, hogy az nginxből ki lett véve az átirányítás.

Összefoglalva. Ez egy fontos, súlyos hiba, ami felett eddig elsiklottunk, és orvosolni szeretnénk. De hosszabb időt vesz igénybe. A jövő héten én nem leszek, de utána jó lenne összedugni a fejünket, és megvitatni, hogy oldjuk meg ezt a problémát.

@dobos
Copy link
Member

dobos commented Jul 7, 2017 via email

@dobos
Copy link
Member

dobos commented Jul 7, 2017 via email

@riblidezso
Copy link
Author

riblidezso commented Jul 7, 2017 via email

@dobos
Copy link
Member

dobos commented Jul 7, 2017 via email

@riblidezso
Copy link
Author

riblidezso commented Jul 7, 2017 via email

@icsabai
Copy link

icsabai commented Jul 7, 2017

Lásd pédául a demo videonk: https://drive.google.com/file/d/0BzZHL1nAOkoQMkhuRWNTVDdOYWM/view?ts=58b58e1a
pl. 2:56 körül

@dobos
Copy link
Member

dobos commented Jul 7, 2017

Itt írnak arról, hogy hogyan megy ez Django-ban, de valahogy úgy kellene összedrótozni, hogy ugyanazt a tokent a jupyet-singleuser is elfogadja. Ha az nem megy, akkor muszáj, hogy a hub proxy-zza a kéréseket, de az meg a websocket miatt nem less egyszerű.

https://docs.djangoproject.com/en/1.11/ref/csrf/

@stegerjozsef
Copy link
Contributor

Dáviddal simogattuk a dolgot, most elvileg nem happolható el az URL, ha mégis, akkor kér egy token-t.

A mostani megoldás egy tokent használ, így, ha egyszer egy böngészőben megnyitottál egy notebookot, akkor ugyanezzel a böngészővel a többi felhasználó notebookja elérhető, ha kitalálod az azonosítójukat. (ha a sütiket törlöd, visszaáll az eredeti állapot, nem érsz el semmit alapból)

Ezen még finomítunk, de első körben biztonságosabb lett a rendszer.

Kérlek, teszteljétek ennek fényében.

@stegerjozsef
Copy link
Contributor

Zárható ez az issue?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants