Skip to content
This repository has been archived by the owner on Oct 31, 2021. It is now read-only.

Zvýšit zabezpečení hesla a dalších údajů #102

Closed
triceo opened this issue Mar 8, 2017 · 5 comments
Closed

Zvýšit zabezpečení hesla a dalších údajů #102

triceo opened this issue Mar 8, 2017 · 5 comments
Assignees
Milestone

Comments

@triceo
Copy link
Member

triceo commented Mar 8, 2017

  • Heslo ke keystore na příkazové řádce osolit nebo alespoň base64 encode.
  • Zvážit možnost zadání hesla z stdin při spuštění.
  • Systémové properties jsou vidět v ps ax.
  • Zabezpečení JMX?
@triceo triceo added this to the 3.2.0 milestone Mar 8, 2017
@triceo triceo self-assigned this Mar 8, 2017
@theerror
Copy link

theerror commented Mar 8, 2017

Libilo by se mi:

  1. pri spusteni by si checknul svuj conf, jestli existuje a pokud ano, tak by se normalne spustil
  2. pokud ne, zeptal by se na stdin na potrebne udaje (heslo do Z + username, eventualne dalsi privatni jako treba ID zonkoidu). Samozrejme, comd-line options bych zachoval, muzou se hodit.
  3. Vygeneruje/pozada o klic, kterym zasifruje keystore
  4. klic si zasifrovane (nebo alespon kodovane) ulozi to conf souboru pro pristi pouziti.

@triceo
Copy link
Member Author

triceo commented Mar 9, 2017

Ad heslo z příkazové řádky: právě mi zamergovali cbeust/jcommander#334, takže až to vydají v nějaké veřejné verzi, bude po drobných úpravách robota možné heslo zadat ze standardního vstupu.

Co se týká JMX a nastavení přes properties, s tím bohužel nic udělat nepůjde. Properties tam musí být při spuštění JVM, a JVM je neumí načíst ze souboru. Ale existuje property, která alespoň heslo umí načíst ze souboru - je otázka, jestli to řešit. Kdo si chce nastavit JMX přes heslo, může si tu property nastavit sám. Nechci komplikovat nastavení 99 % uživatelům kvůli něčemu, co zbývající 1 % hravě zvládne samo.

Ad kódování hesla - nad tím budu ještě přemýšlet. Podpora pro keystore existuje právě proto, aby bylo heslo do Zonky "skryté". Skrývat heslo ke skrytému heslu nevyřeší problém, že jde stejně jen o "security by obscurity".

@theerror
Copy link

JMX: jde spis o to, jestli je JMX a RMI (nebo na co to pouzivas) potreba? Pokud ne, pak bude lepsi to proste nezapinat, ne?

Kodovani hesla: v tomhle mas pravdu, ten keystore s vlastnim heslem je asi vcelku dostacujici, jen bych tohle udelal "by deafault" automaticky - proste zadas heslo do zonky pri prvnim spusteni/instalaci, vytvori se keystore a ten se zasifruje nejakym vygenerovanym heslem, ktere se ulozi do konfiguraku. Davalo by mi to asi nejvic logiku... Jestli pak uz resit heslo v konfiguraku v plaintextu nebo zasifrovane - to uz je spis filozoficka debata... faktem je, ze heslo v konfiguraku jeste nekoho oproti keystoru pouzit napadne, ale jestli se mu bude chtit hledat v kodu, jak se kryptovane?

@triceo
Copy link
Member Author

triceo commented Mar 10, 2017

V instalátoru už to tak funguje - ten automaticky generuje keystore s vlastním heslem. Do budoucna předpokládám, že noví uživatelé půjdou primárně přes instalátor.

Co se JMX týká, asi by byl dobrý nápad, aby to bylo ve výchozím nastavení vypnuté, a tedy bez těch properties. Není to zrovna funkcionalita, která by se nějak týkala obyčejných uživatelů - a pro pokročilé se to dá zdokumentovat.

triceo added a commit that referenced this issue Mar 10, 2017
Standard robozonky.sh (robozonky.bat) no longer carries JMX properties. Instead, installer-generated run.sh will supply them through JAVA_OPTS. If users want to supply password-based authentication, it is their responsibility to supply credentials from within their system.
@triceo
Copy link
Member Author

triceo commented Apr 14, 2017

Po výše uvedených změnách:

  • Už není na příkazové řádce vyžadováno heslo.
  • Vzdálená správa je ve výchozím nastavení vypnutá.
  • Drtivou většinu properties lze načítat ze souboru namísto z příkazové řádky.

Za mne hotovo.

@triceo triceo closed this as completed Apr 14, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

2 participants