Java, sikre sin properties fil

Du kan i dette forum stille og svare på spørgsmål vedrørende Java programmering på alle typer platforme.
Besvar
cristian
Moderator
Moderator
Indlæg:882
Tilmeldt:26. sep 2011, 21:31
Kontakt:
Java, sikre sin properties fil

Indlæg af cristian » 31. dec 2014, 22:14

Som jeg kommer igennem Java, dokumentere jeg hvordan de forskellige aspekter af Java fungere så jeg senere har et detaljeret opslagsværk med
tips, tricks, guldkorn samt general forståelse.

I øjeblikket tester jeg kræfter af med
Hvordan man sikkert opbevar et hard coded kodeord til en database & hvordan leverer man sikkert dette imellem applikation og sequel service
Min nuværende tråd
http://stackoverflow.com/questions/2770 ... 2#27721722

Mit nuværende spørgsmål her er (Jeppe ;)?)
Hvordan sikrer man en fil.properties fra at kunne tilgås af andre end selve programmet der skal bruge filen?
Så programmet har rwx og others har ---

jepperask
Geni
Geni
Indlæg:378
Tilmeldt:4. nov 2012, 17:57

Re: Java, sikre sin properties fil

Indlæg af jepperask » 2. jan 2015, 03:54

Ofte opretter man en 'mellemmand' som sørger for alle indsæt og udtræk fra og til databasen. På den måde vil brugernavn/adgangskode ikke findes i applikationen, men derimod på serveren.
I stedet vil man så oprette noget identifikation (et bruger-ID fx) i eksempelvist SharedPreferences, SQLite eller hvad man ellers benytter, som forklarer mellemmanden hvem der forsøger at indsætte eller udtrække noget fra databasen.

Det eneste du så bør 'sikre', er hvis applikationen skal have en login-form, hvor der skal sendes brugernavn/kodeord i en outputstream (fx ved at kryptere med Salt som SpringLearner skriver)

cristian
Moderator
Moderator
Indlæg:882
Tilmeldt:26. sep 2011, 21:31
Kontakt:

Re: Java, sikre sin properties fil

Indlæg af cristian » 2. jan 2015, 11:59

I stedet vil man så oprette noget identifikation (et bruger-ID fx) i eksempelvist SharedPreferences
Kan du uddybe dette?
som forklarer mellemmanden hvem der forsøger at indsætte eller udtrække noget fra databasen.
Er det ikke lige så godt hvis man hard koder brugernavn og kodeord for databasen, men de eneste rettigheder brugeren har er select.
Eller at man sætter hele databasen til read only, admin brugere kan stadig insert ind i databasen men alle andre brugere kan ikke.
fx ved at kryptere med Salt som SpringLearner skriver
Bruger BCrypt med en autogenereret salt værdi.

jepperask
Geni
Geni
Indlæg:378
Tilmeldt:4. nov 2012, 17:57

Re: Java, sikre sin properties fil

Indlæg af jepperask » 2. jan 2015, 15:14

Det kommer an på mange ting. Hvis du gerne vil øve dig i at gemme nogle data lokalt, så kan du jo gøre det som du vil. Men i praksis ved jeg ikke om det vil give aller mest mening.
Husk at forvente det værste!
cristian skrev:
I stedet vil man så oprette noget identifikation (et bruger-ID fx) i eksempelvist SharedPreferences
Kan du uddybe dette?
Lad os antage at du har 1000 brugere, og at der logges ind. Brugeren har måske nogle data på serveren, som hentes ned. Med de data, kunne man oprette et felt lokalt som kun programmet bruger (dét ID som brugeren har fået af databasen). Her er vi egentlig ligeglade med om man kan tilgå dette ID - du kan ikke bruge det til andet, end at lave en forespørgsel på databasen.
cristian skrev:
som forklarer mellemmanden hvem der forsøger at indsætte eller udtrække noget fra databasen.
Er det ikke lige så godt hvis man hard koder brugernavn og kodeord for databasen, men de eneste rettigheder brugeren har er select.
Eller at man sætter hele databasen til read only, admin brugere kan stadig insert ind i databasen men alle andre brugere kan ikke.
Løsningerne skal sikkert fungere, men løsningen hvor du ikke har brugernavn/kodeord med i selve applikationen (som brugeren kan gøre med, hvad han vil), er i mine øjne den bedste og sikreste.

cristian
Moderator
Moderator
Indlæg:882
Tilmeldt:26. sep 2011, 21:31
Kontakt:

Re: Java, sikre sin properties fil

Indlæg af cristian » 2. jan 2015, 16:20

Løsningerne skal sikkert fungere, men løsningen hvor du ikke har brugernavn/kodeord med i selve applikationen (som brugeren kan gøre med, hvad han vil), er i mine øjne den bedste og sikreste.
Har du et eksempel på sådan en løsning hvor på der opnås adgang til en DB i et Java program uden brug af kodeord og brugernavn direkte i applikationen.

Da om man kontakter en "mellemmand" eller går direkte til DB så skal man jo have et form for brugernavn / kodeord kombo for at logge ind i første omgang, for derefter at kunne hive data ud.
Eller tænker du at bruge en anonymous bruger?

jepperask
Geni
Geni
Indlæg:378
Tilmeldt:4. nov 2012, 17:57

Re: Java, sikre sin properties fil

Indlæg af jepperask » 2. jan 2015, 16:51

cristian skrev:
Løsningerne skal sikkert fungere, men løsningen hvor du ikke har brugernavn/kodeord med i selve applikationen (som brugeren kan gøre med, hvad han vil), er i mine øjne den bedste og sikreste.
Har du et eksempel på sådan en løsning hvor på der opnås adgang til en DB i et Java program uden brug af kodeord og brugernavn direkte i applikationen.

Da om man kontakter en "mellemmand" eller går direkte til DB så skal man jo have et form for brugernavn / kodeord kombo for at logge ind i første omgang, for derefter at kunne hive data ud.
Eller tænker du at bruge en anonymous bruger?
Jeg har lavet det i Android (Java) med PHP.. Når der logges ind, sendes det indtastede brugernavn/kodeord til et .php-script som ligger på serveren. Scriptet tager imod brugernavn og kodeord og slår op i databasen om dette findes. PHP-scriptet sørger for forbindelsen til databasen og returnerer (hvis succes) bruger-ID'et eller hvad man ellers vil returnere.

Java's svar på PHP, vil være JSP - men jeg har desværre ingen erfaringer med det.

cristian
Moderator
Moderator
Indlæg:882
Tilmeldt:26. sep 2011, 21:31
Kontakt:

Re: Java, sikre sin properties fil

Indlæg af cristian » 2. jan 2015, 21:05

Ja okey, så du har ikke et hard kodet login, men du indtaster det så selv i appen og sender det mod serveren.

jepperask
Geni
Geni
Indlæg:378
Tilmeldt:4. nov 2012, 17:57

Re: Java, sikre sin properties fil

Indlæg af jepperask » 2. jan 2015, 21:11

cristian skrev:Ja okey, så du har ikke et hard kodet login, men du indtaster det så selv i appen og sender det mod serveren.
Igen, det kommer an på om du mener brugerens brugernavn/kodeord eller databasens brugernavn/kodeord. Jeg taler om sidstnævnte. :-)

cristian
Moderator
Moderator
Indlæg:882
Tilmeldt:26. sep 2011, 21:31
Kontakt:

Re: Java, sikre sin properties fil

Indlæg af cristian » 2. jan 2015, 21:14

Det gør jeg også :)

Besvar