DevProTalk

DevProTalk (http://www.devprotalk.com/index.php)
-   SQL baze podataka - Sponzor: Baze-Podataka.net (http://www.devprotalk.com/forumdisplay.php?f=10)
-   -   Da li moze neko da mi objasni zastitu (http://www.devprotalk.com/showthread.php?t=7202)

Markok 27. 02. 2009. 15:09

Da li moze neko da mi objasni zastitu
 
Nadam se da sam postavio pitanje u pravu rubriku.
Probacu da budem kratak

Da li je moguce napraviti zastitu nekih podataka u bazi koji se ne bi mogli procitati u slucaju da neki haker ili bilo ko dodje u posed baze.

Kao na primer zastita passworda, cuo sam za pojam hashovanje ali ne znam nista o tome.

Koliko je to sigurno i kako funkcionise? Da li postoje neki algoritmi i koliko su sigurni?



Hvala. :)

McKracken 27. 02. 2009. 15:14

Ok, probao si da budes kratak, sad pokusaj da budes jasan :)

Postoje algoritmi, sigurni su od nikako do vrlo. Neke stvari je moguce zastititi a neke nije i sve vrlo zavisi od toga sta zelis da postignes.

cvele 27. 02. 2009. 15:26

mozda ti na prvi pogled to izgleda komplikovano ali je u sustini uzasno prosto... procitaj recimo
http://en.wikipedia.org/wiki/Cryptog..._hash_function kao uvod
i Search Google: one way hashSearch Google: blowfishSearch Google: md5Search Google: sha-1

LiquidBrain 27. 02. 2009. 16:33

@cvele,
verujem da mu one way enkripcija ne znaci puno...

Zasti tu baziraj tako da ne mogu da ti ukradu bazu, a ne da kriptujesh podatke... Pogresan ti je pristup...

salebab 27. 02. 2009. 20:46

http://phpsec.org/articles/2005/password-hashing.html

ivanhoe 27. 02. 2009. 21:00

one-way hashevi su jedina dobra zastita, ali onda ne mozes te podatke da dekriptujes nazad... svaki vid 2-way enkripcije je los, jer kljuc za dekripciju moras da drzis negde na serveru, pa samim tim onaj ko ti uhakuje server, uzece ti i kljuc vrlo lako..

degojs 28. 02. 2009. 00:16

Citat:

Originalno napisao ivanhoe (Napišite 66807)
..svaki vid 2-way enkripcije je los, jer kljuc za dekripciju moras da drzis negde na serveru, pa samim tim onaj ko ti uhakuje server, uzece ti i kljuc vrlo lako..

Zato kod iole ozbiljnijeg sistema nema uopšte govora o tome da baza ili kod (poslovna logika) stoje na front-end serveru. E kad se sistem tako izdeli da je na internetu samo front-end, a sve ostalo (app server, baza) na intranetu, hakovanje je mnogo malo teže.

U većini slučajeva gde je iole važnija sigurnost uopšte ne možeš ni da dobiješ zeleno svetlo da praviš sistem gde će sve biti natrpano na jedan server, nema govora ni pod razno.

ivanhoe 28. 02. 2009. 01:44

znam, ali vecina nas nema klijente tog kalibra.. bar za sada, to jest.. :)

cvele 28. 02. 2009. 10:16

Citat:

Originalno napisao LiquidBrain (Napišite 66798)
@cvele,
verujem da mu one way enkripcija ne znaci puno...

Zasti tu baziraj tako da ne mogu da ti ukradu bazu, a ne da kriptujesh podatke... Pogresan ti je pristup...

kolko sam ja video u njegovom postu on je zeleo da samo neke podatke kriptuje, kako je naveo "na primer zastita passworda".

artur_dent 28. 02. 2009. 12:02

Hash zastita funkcionise lepo, tako sto postoji jednosmerna funkcija koja pravi od tvoje lozinke kriptovanu lozinku. Tako da se u bazi cuvaju samo kriptovani parnjaci. Sa akcentom na ono jednosmerna, dakle nije moguce izvuci lozinku nazad iz hash-a.
Tako da sledeci put kad se logujes ti opet trazis hash od onoga sto korisnik upise kao lozinku i uporedjujes ga sa hashom koji se cuva u bazi.
Stoga, da ako neko i dodje do tih podataka, nije u mogucnosti da vidi samu lozinku vec samo njenu hash vrednost.
Doduse, postoje razne varijante jednosmernih funkcija - za neke postoje i nacini za razbijanje - ali nisu ni brzi ni jednostavni.

Dragi Tata 28. 02. 2009. 16:03

Citat:

Originalno napisao artur_dent (Napišite 66815)
Hash zastita funkcionise lepo, tako sto postoji jednosmerna funkcija koja pravi od tvoje lozinke kriptovanu lozinku. Tako da se u bazi cuvaju samo kriptovani parnjaci. Sa akcentom na ono jednosmerna, dakle nije moguce izvuci lozinku nazad iz hash-a.

U stvari mene iznenađuje (blago rečeno) broj sajtova koji ne rade to što si opisao, tj. čuvaju lozinku u bazi. Još lepše, ako im pošalješ zahtev za reset lozinke, oni ti lepo pošalju lozinku u e-mailu :D

salebab 28. 02. 2009. 18:42

^ Još lepše je kada admin jednog dobro posećenog phpBB foruma ubaci još jednu kolonu u tabelu za plaintext passworde. Verovatno mu trebaju da bi špijunirao korisnike, jer se zna da mnogo njih koristi isti password za mail, forume, facebook, itd...

kodi 01. 03. 2009. 12:18

kreditne kartice...

Dragi Tata 01. 03. 2009. 16:48

Slučajno naleteh na ovaj taze blog administratora sajta CodeProject.com:

http://www.codeproject.com/script/Me...06#xx2939706xx

There's always debate[^], complaints[^] and personal preferences as to whether passwords should be encrypted in a database and sent back to a user when it's requested, or whether it should be one-way hashed and 'reset link' (or similar) provided to those users who forget their password.

Over the years we've asked members what they wanted and the preference has changed from "Please send me my original password" to "Please don't send me my password". I, personally, prefer that I get my original password when I ask for it because

a) I hate having to write down or remember Yet Another Password.
b) I don't use the same password for CodeProject as I do for, say, my bank
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle.

This reasoning doesn't apply for all, and above and beyond these personal reasons of mine there is the simple fact that if you are going to look after personal information of your members you should do it properly.

So, as of today we no longer encrypt passwords, but instead we store them as a one-way hash. This means we can no longer send you your password when you ask for it.

However, I figured we needed to

a) Allow people to maintain their current password if at all possible, and
b) Protect the system from abuse

So when you request a new password, we send you a temporary password and still allow you to sign in with your old password. If you sign in with the temp password then your password becomes the temporary password, permanently. If you suddenly remember your old password and sign in with it, then the temporary password is removed.

Hopefully the best of both worlds with the added security that no one, not us, not you, not your nosy coworkers, will ever know your password.

ivanhoe 01. 03. 2009. 22:18

Mislim da je ovo prekomplikovano za usera. Zadnjih par projekata sam koristio foru za koju ja licno mislim da je the best practice:

Passwordi se cuvaju kao hash. Kad se klikne na Forgoten password, moras da uneses mail kojim si se registrovao i onda se na tu adresu salje mail sa 'reset password' linkom. Tako nema mogucnosti da ti neko drugi resetuje password. Kad kliknes na link dobijes formu da uneses novi password, tako da mozes da stavis nesto sto ti se svidja, autogenerisani passwordi su smaranje.

Dragi Tata 02. 03. 2009. 01:56

U principu se slažem. Jedino što ne volim da klikćem na link koji mi stigne mejlom, mada ako mejl stigne kao odgovor na moju akciju to svakako pomaže :)

LiquidBrain 02. 03. 2009. 10:15

Citat:

Originalno napisao Dragi Tata (Napišite 66838)
Slučajno naleteh na ovaj taze blog administratora sajta CodeProject.com:

http://www.codeproject.com/script/Me...06#xx2939706xx

There's always debate[^], complaints[^] and personal preferences as to whether passwords should be encrypted in a database and sent back to a user when it's requested, or whether it should be one-way hashed and 'reset link' (or similar) provided to those users who forget their password.

Over the years we've asked members what they wanted and the preference has changed from "Please send me my original password" to "Please don't send me my password". I, personally, prefer that I get my original password when I ask for it because

a) I hate having to write down or remember Yet Another Password.
b) I don't use the same password for CodeProject as I do for, say, my bank
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle.

This reasoning doesn't apply for all, and above and beyond these personal reasons of mine there is the simple fact that if you are going to look after personal information of your members you should do it properly.

So, as of today we no longer encrypt passwords, but instead we store them as a one-way hash. This means we can no longer send you your password when you ask for it.

However, I figured we needed to

a) Allow people to maintain their current password if at all possible, and
b) Protect the system from abuse

So when you request a new password, we send you a temporary password and still allow you to sign in with your old password. If you sign in with the temp password then your password becomes the temporary password, permanently. If you suddenly remember your old password and sign in with it, then the temporary password is removed.

Hopefully the best of both worlds with the added security that no one, not us, not you, not your nosy coworkers, will ever know your password.

Administrator sa ovakvim stavom i ovakvim principima treba odmah da dobije otkaz...

misk0 02. 03. 2009. 10:42

Citat:

Originalno napisao Dragi Tata (Napišite 66848)
U principu se slažem. Jedino što ne volim da klikćem na link koji mi stigne mejlom, mada ako mejl stigne kao odgovor na moju akciju to svakako pomaže :)

Iz kog razloga? sta je problematicno u tom linku i 1nom kliku?

cvele 02. 03. 2009. 11:12

Citat:

Originalno napisao LiquidBrain (Napišite 66853)
Administrator sa ovakvim stavom i ovakvim principima treba odmah da dobije otkaz...

molim te elaboriraj

Markok 02. 03. 2009. 11:21

Hvala na odgovorima. Mislima da je one-way enkripcija ono sto mi odgovara, moracu jos malo da razmislim.

bluesman 02. 03. 2009. 11:40

Citat:

Originalno napisao cvele (Napišite 66858)
molim te elaboriraj

Ni ja baš nisam shvatio šta je toliko problematično sa tim stavom da bi dobio otkaz.

LiquidBrain 02. 03. 2009. 14:02

Citat:

Originalno napisao cvele (Napišite 66858)
molim te elaboriraj

a) I hate having to write down or remember Yet Another Password.
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle.


Ono boldovano je interesantno, zapisati pasword? Kakav je to admin koji zapisuje passworde?

Ne moze da bude 100% siguran da on controlise svoj email... Sta je sa snifovanjem saobracaja? Pa onda posalji password u mail-u. Ako se posalje link to nije toliki problem jer onda napadac moze samo da peuzme taj nalog, ne josh neki drugi koji ima isti password.

A sto se tice poslednjeg dela problem je sa samim sajtovima a ponajvise sa tim sto on takve sajtove posecuje!!! Ako neki sajt nije siguran sam po sebi ne treba ga ni koristiti!!!

Mozda neki od razloga zvuce glupo i preterano, ali u zavisnosti od odgovornosti koje posao nosi , takva predostroznost je neophodna.

Milos Vukotic 02. 03. 2009. 14:19

Citat:

Originalno napisao LiquidBrain (Napišite 66873)
Kakav je to admin koji zapisuje passworde?

Iskusan, prekaljen, naučen poslu... :1059:

nixa 02. 03. 2009. 14:23

I iste passworde u sef :)

Vrla prosta stvar, zamisli tebi kao admin-u nekog sistema se nesto desi, ili odlucis da nestanes ili sta god. Sta se desava sa root siframa i slicno.

Svako kome je stalo do kontrole svog biznisa nece da dozvoli da administrator bude osoba sa neogranicenom kontrolom ( sto administratori generalno vole ) .

cvele 02. 03. 2009. 14:24

a) I hate having to write down or remember Yet Another Password.
c) I control my email box
d) Often sites that allow you to reset your password allow anyone to reset your password (meaning you get lots of links that don't work if someone hates you and abuses the system), or they ask you a 'security' question before sending the link. Frankly, everyone knows my Mother's Maiden name ("Mum" AND the name of my first pet ("Cuddles the Rabbit") so these questions, to me, are not very secure. And to be honest I just couldn't be bothered with the extra hassle. ukazivanje na probleme kod drugih... i lose prakse...

boldovane stvari su interesantne, italic su komentari

Dragi Tata 02. 03. 2009. 15:52

Citat:

Originalno napisao misk0 (Napišite 66855)
Iz kog razloga? sta je problematicno u tom linku i 1nom kliku?

Ako dobiješ e-mail od banke sa sadržajem tipa "stigao je novi mesečni izveštaj, kliknite na link da se ulogujete na svoj nalog", ti klikneš? Ja odem direktno na web sajt i onde se ulogujem.

Mali milion puta sam dobio poruku od "PayPal-a" da treba da se ulogujem da mi ne bi suspendovali nalog - uvek sa linkom. A ja i nemam Paypal nalog :D

bluesman 02. 03. 2009. 15:59

Citat:

Originalno napisao LiquidBrain (Napišite 66873)
Ono boldovano je interesantno, zapisati pasword? Kakav je to admin koji zapisuje passworde?

Kakav god da je ... mnogo je bolji od onoga koji koristi isti password za sve :)

Kakav ti moraš da budeš genije da zapamtiš stotinjak passworda na 200 servera (tu uključujem sve one lične naloge tipa gmail, fb, flickr... kao i one poslovne + ftp + shell + mail + ko zna šta...).

Dragi Tata 02. 03. 2009. 16:34

Zapisivanje lozinki je u stvari dobra stvar: http://news.cnet.com/Microsoft-secur...0.html?tag=txt

Ako pamtiš lozinke, mnogo je veća verovatnoća da su jednostavne i da ih retko menjaš.

misk0 02. 03. 2009. 19:40

Citat:

Originalno napisao Dragi Tata (Napišite 66886)
Ako dobiješ e-mail od banke sa sadržajem tipa "stigao je novi mesečni izveštaj, kliknite na link da se ulogujete na svoj nalog", ti klikneš? Ja odem direktno na web sajt i onde se ulogujem.

Imam nekoliko e-banking naloga i sve vazne obavjesti dobijam postom (papirnom). Manji je rizik da ce obavjest zavrisiti u spam filteru (ili ja seljak nisam podesio na accountu da mi salju e-mailom).

Citat:

Mali milion puta sam dobio poruku od "PayPal-a" da treba da se ulogujem da mi ne bi suspendovali nalog - uvek sa linkom. A ja i nemam Paypal nalog :D
I ja sam dobijao, ali taj link obicno trazi da se ulogujes i slicno. A valjda prije nego kliknes ili se ulogujes bilo gdje pogledas URL.
Htio sam skrenuti paznju da su podaci za logovanje na e-banking ili paypal (tamo gdje su pare) poprilicno drugaciji od kakvih member entrance na forume i slicne sajtove.

misk0 02. 03. 2009. 19:44

Citat:

Originalno napisao bluesman (Napišite 66887)
Kakav ti moraš da budeš genije da zapamtiš stotinjak passworda na 200 servera (tu uključujem sve one lične naloge tipa gmail, fb, flickr... kao i one poslovne + ftp + shell + mail + ko zna šta...).

Ja nemam 200 servera, ali sigurno imam 100-150 passworda od razlicitih accounta, bilo od clanarina, software-a za backup, switche-va, UPS-va i slicno. Jos jedan glas za 'zapisivanje'.

btw. neko je nekad spominjao da postoji 'mobilni sef' tj programcic u koji trpas sve svoje sifre, zastitis ga drugom sifrom i pokreces sa USB sticka bez instalacije i slicno... Sjeca se neko imena toga?

MorenoArdohain 02. 03. 2009. 19:56

@misk0: KeePass http://keepass.info/

ivanhoe 02. 03. 2009. 20:23

Citat:

Originalno napisao Dragi Tata (Napišite 66886)
Ako dobiješ e-mail od banke sa sadržajem tipa "stigao je novi mesečni izveštaj, kliknite na link da se ulogujete na svoj nalog", ti klikneš? Ja odem direktno na web sajt i onde se ulogujem.

pa sem sto se ovde radi o tome da ti ne mozes da se ulogujes na sajt jer si zaboravio pass, i da si ti licno trazio da ti se posalje link. Ako nisi trazio, samo ne kliknes na link i nista se ne desi, znaci no harm done. Cak i ako kliknes nista se ne resetuje automatski, nego dobijes stranu gde se trazi da stavis novi password, znaci i dalje ne moras nista da uradis. Mislim nije idealno, ali koja je moguca alternativa bolja?

Dragi Tata 02. 03. 2009. 20:34

Citat:

Originalno napisao ivanhoe (Napišite 66912)
pa sem sto se ovde radi o tome da ti ne mozes da se ulogujes na sajt jer si zaboravio pass, i da si ti licno trazio da ti se posalje link.

Upravo to sam i rekao - u ovom slučaju ti iniciraš taj e-mail i onda to rešenje pije vodu. Samo sam hteo da kažem da je generalno loša navika kliktati na linkove koje ti stignu e-mailom.

Milos Vukotic 02. 03. 2009. 21:02

@Misko: Mozes probati i PasswordSafe :)
Nisam siguran radi li sa USB-a, nisam nikad probao, ali ovako je sasvim ok...


Vreme je GMT +2. Trenutno vreme je 08:09.

Powered by vBulletin® Verzija 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright © DevProTalk. All Rights Reserved.

Mišljenja, saveti, izjave, ponude ili druge informacije ili sadržaji nastali na Sajtu su vlasništvo onoga ko ih je kreirao, a ne DevProTalk.com, tako da ne morate da se oslanjate na njih.
Autori poruka su jedini odgovorni za ovakve sadržaje. DevProTalk.com ne garantuje tačnost, kompletnost ili upotrebnu vrednost informacija, stavova, saveta ili datih izjava. Ne postoje uslovi pod kojima bi mi bili odgovorni za štetu ili gubitak koji je posledica bilo čijeg oslanjanja na nepouzdane informacije, ili bilo kakve informacije nastale kroz komunikaciju između registrovanih članova.
Web sajt može sadržavati linkove na druge web sajtove na Internetu ili neke druge sadržaje. Ne kontrolišemo niti podržavamo te druge web sajtove, niti smo pregledali bilo kakve sadržaje na takvim sajtovima. Mi nećemo biti odgovorni za legalnost, tačnost ili prikladnost bilo kog sadržaja, oglasa, proizvoda, usluga ili informacije lociranim na ili distribuiranih kroz druge web sajtove, niti za bilo kakvu štetu nastalu kao posledica takvih informacija. DevProTalk.com drži i čuva druga prava vlasništva na web sajtu. Web sajt sadrže materijale zaštićene copyright-om, zaštitne znakove i druge informacije o pravu vlasništva ili softver. Članovi mogu poslatu informacije zaštićene pravima vlasništva njihovih nosilaca i ona ostaju zaštićena bez obzira da li su oni koji prenose te informacije to naveli ili ne. Osim informacija koje su u javnom vlasništvu ili za koje dobijete dozvolu, nemate pravo da kopirate, modifikujete ili na bilo koji način menjate, objavljujete, prenosite, distribuirate, izvršavate, prikazujete ili prodajte bilo koju informaciju zaštićenu pravima vlasništva. Slanjem informacija ili sadržaja na bilo koji deo DevProTalk.com, Vi automatski dozvoljavate i predstavljate garanciju da imate pravo da dozvolite DevProTalk.com ili članovima DevProTalk.com bespovratnu, kontinualnu, neograničenu, globalnu dozvolu da koriste, kopiraju, izvršavaju, prikazuju i distribuiraju takve informacije i sadržaje i da iz takvih sadžaja koriste bilo koji deo u bilo koje svrhe, kao i pravo i dozvolu da koriste gore navedene sadržaje. Svi zaštitni znakovi (trademarks), logotipi, oznake usluga, firme ili imena proizvoda koji se pominju na ovom web sajtu su vlasništvo kojim raspolažu njihovi vlasnici.