en/decrypt database password

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Wouter Van Marrum

Wouter Van Marrum

08/11/2013 18:03:51
Quote Anchor link
Hallo iedereen,

Lange tijd beetje gekeken maar niet veel gereageerd.
Maar had gisteren een idee en weet niet zeker of het acceptabel is om in een framework te gebruiken.

Mijn idee is om het database password ge-encrypt op te slaan in de database-config.php.
En in mijn database controller de ge-encrypte string te decrypten doormiddel van een crypt class.

Graag zou ik willen weten wat jullie hier van vinden.

M.V.G,
Wouter.
 
PHP hulp

PHP hulp

22/12/2024 10:04:32
 
Ward van der Put
Moderator

Ward van der Put

08/11/2013 18:42:00
Quote Anchor link
Hoe ziet je serverconfiguratie eruit?

Het levert namelijk pas structureel iets op als de encryptie en decryptie strikt gescheiden zijn.
 
Wouter Van Marrum

Wouter Van Marrum

09/11/2013 19:04:33
Quote Anchor link
Ward van der Put op 08/11/2013 18:42:00:
Hoe ziet je serverconfiguratie eruit?

Het levert namelijk pas structureel iets op als de encryptie en decryptie strikt gescheiden zijn.


Hoe bedoel je dit precies ?
Mijn idee is om bijv het password van de db al geëncrypt in de database-config file te zetten.

En voordat mijn database class hem kan gebruiken dat hier een decrypt functie overheen gaat.

Misschien eventueel het password dat al geëncrypt is om hier een salt overheen te gooien dmv van een unieke sessie variable.

Hopelijk snap je wat ik bedoel.

gr,
Wouter.
 
NOLot -

NOLot -

09/11/2013 19:10:02
Quote Anchor link
Klinkt een beetje erg veel van het goede. In principe kan niemand toch achter jou database wachtwoord komen?
 
Wouter Van Marrum

Wouter Van Marrum

09/11/2013 19:17:16
Quote Anchor link
In Principe niet,
Maar ik ben bezig met een systeem voor bij mij op het werk.
Ik wil dus maximaal beveiligen, gewoon omdat het misschien wel mogelijk is.

Plus als het wel kan dan vraag ik me af waarom niet, vind het fijn om te weten dat er veel moeite wordt gedaan om belangrijke gegevens extra te beveiligen ook al zou het over de top zijn.
 
Bart V B

Bart V B

09/11/2013 20:22:08
Quote Anchor link
Even de logica zoeken.
Je wil je password encrypten en kunnen decrypten.

Als argument geef je aan dat het veiliger moet zijn.
Als je je password encrypt, dan is het voor de gewone sterveling inderdaad niet meer te lezen.
Maar als iets omkeerbaar is het voor de die hard hacker een kwestie van wat vingeroefening doen om tot een resultaat te komen.

Dan vraag ik me af loont dit wel de moeite om daar tijd in te steken.

Beter is om de query's dicht te timmeren.
Je database verbinding via een beveiligd lijntje te laten lopen. Daar heb je meer aan denk ik, dan iets doen wat schijnheiligheid heet.
Gewijzigd op 09/11/2013 20:23:27 door Bart V B
 
Wouter Van Marrum

Wouter Van Marrum

09/11/2013 20:42:26
Quote Anchor link
@bart ten eerste mag je ook even je gemak houden met iets/iemand schijnheilig noemen.

En de reden waarom ik me password wil encrypten en decrypten is niet voor een eventuele hacker,
Maar eerder voor de mensen bij ons op het werk. ( gezien het feit dat er niemand in de db verder mag komen zonder explicite toestemming. )

En of het loont om hier moeite in te steken ?
Waarom niet het weer een extra beveiliging die je aanmaakt toch voor het geval dat..
Ook als er een hacker zou zijn heb ik liever dat het wat extra tijd kost om in de db te komen zodat je in ieder geval nog de tijd hebt om te reageren.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

09/11/2013 20:58:03
Quote Anchor link
Wouter, Ik denk dat Bart schijnVeiligheid bedoelde en daar zit dus geen kwaad in. Daarnaast zoals bart probeert aan te geven is het niet de bedoeling dat je de sleutel van de kluis op kantoor laat slingeren met aan de sleutel een briefje met een label.

Anders gezegd, of het nu mensen van je werk zijn of niet: don't give them the key! Zorg dat ze niet bij het database wachtwoord kunnen komen.
Gewijzigd op 09/11/2013 20:58:53 door Frank Nietbelangrijk
 
Wouter Van Marrum

Wouter Van Marrum

09/11/2013 21:04:42
Quote Anchor link
@frank oke misschien heb ik het verkeerd opgepakt, of misschien niet.

Ik snap dat ze de code niet mogen hebben en/of krijgen maar juist om die reden wil ik het encrypten.
En omdat het me gewoon net iets beter lijkt dan gewoon blank in config file zetten.
 
Bart V B

Bart V B

09/11/2013 21:06:38
Quote Anchor link
Wouter,

Schijnheiligheid moet natuurlijk schijnVeiligheid zijn. :)
Ik kan niet zo wennen aan die automatische aanvulling op mijn gsm.
Dus mijn excuses mocht ik je daarmee gekwetst hebben dat was zeer zeker niet de bedoeling.

Hoe bedoel je niet verder in de database komen? Als het te lezen is kan je via de cli er toch gewoon bij??
Of ik nou password1 moet tikken of iets van eHvwe&@qorimf8woo1439 het is effe wat meer tikwerk maar uiteindelijk ben je binnen. Dus dat gaat niet werken.
Zeker als men gewoon vrij op de server kan spelen.
 
NOLot -

NOLot -

09/11/2013 21:12:21
Quote Anchor link
Bart V B op 09/11/2013 21:06:38:
Hoe bedoel je niet verder in de database komen? Als het te lezen is kan je via de cli er toch gewoon bij??
Of ik nou password1 moet tikken of iets van eHvwe&@qorimf8woo1439 het is effe wat meer tikwerk maar uiteindelijk ben je binnen. Dus dat gaat niet werken.
Zeker als men gewoon vrij op de server kan spelen.


Nee het hele punt van het wachtwoord encrypten is juist dat ze er niet bij kunnen, zelfs als ze het encrypted wachtwoord hebben.

Verder lijkt het mij nog steeds een beetje overdreven, ik neem aan dat je je collega's op je werk wel kunt vertrouwen? Maak je dagelijks backups van je database?

Het kan natuurlijk wel, is je eigen persoonlijke voorkeur
 
Wouter Van Marrum

Wouter Van Marrum

09/11/2013 21:20:41
Quote Anchor link
Bart V B op 09/11/2013 21:06:38:
Wouter,

Schijnheiligheid moet natuurlijk schijnVeiligheid zijn. :)
Ik kan niet zo wennen aan die automatische aanvulling op mijn gsm.
Dus mijn excuses mocht ik je daarmee gekwetst hebben dat was zeer zeker niet de bedoeling.

Hoe bedoel je niet verder in de database komen? Als het te lezen is kan je via de cli er toch gewoon bij??
Of ik nou password1 moet tikken of iets van eHvwe&@qorimf8woo1439 het is effe wat meer tikwerk maar uiteindelijk ben je binnen. Dus dat gaat niet werken.
Zeker als men gewoon vrij op de server kan spelen.


@bart, Oke dan sorry dat ik verkeerd heb opgepakt.

Njah ik wil gewoon zeker weten voor zover ik het voor elkaar kan krijgen ( op een lokale bedrijf's server ) dat niemand het password kan lezen.
Misschien overbodig of het heeft geen nut.
maar bij ons op het werk wordt altijd gezegd alle kleine extra beetje helpen toch weer een beetje.

Maar dan weet ik voorlopig genoeg, ik ga eerst zelf wat proberen.
Misschien dat ik een opzet vind die wel werkt al is het maar een beetje.



Toevoeging op 09/11/2013 21:23:22:

NOLot - op 09/11/2013 21:12:21:
--> Nee het hele punt van het wachtwoord encrypten is juist dat ze er niet bij kunnen, zelfs als ze het encrypted wachtwoord hebben.

Verder lijkt het mij nog steeds een beetje overdreven, ik neem aan dat je je collega's op je werk wel kunt vertrouwen? Maak je dagelijks backups van je database?

Het kan natuurlijk wel, is je eigen persoonlijke voorkeur


Daarom wil ik via een sessie variable het password encrypten ( dus met tijd of browser agent ) door een hash gooien.

Verder heeft niemand op het werk verstand van php maar er zijn er wel een paar die graag rondneuzen door alle bestanden heen.
 
Bart V B

Bart V B

09/11/2013 21:33:24
Quote Anchor link
Misschien dan een tip dat alleen die mensen met verstand van zaken op de lokale server kunnen komen.
Ik neem aan dat een willekeurige niet zomaar toegang heeft op de server zelf.
Want dan zou je dat eerst moeten dichten.

Ik weet natuurlijk niet hoe jullie structuur in elkaar zit maar misschien is het een idee om het te te scheiden over 2 servers?
Bijvoorbeeld een dev server en de uiteindelijke server waar niemand bij kan behalve degene die daar de rechten voor hebben?
 
Wouter Van Marrum

Wouter Van Marrum

09/11/2013 21:51:23
Quote Anchor link
Voor zover ik weet hebben we 1 bedrijf's server lopen.
Hier hebben ze al wel programma's op lopen maar weet niet zeker wat voor structuur dat ze hier hebben toegepast.

Ik weet dus ook niet of op die server de lokale webserver geïnstalleerd moet worden.
Maar als dat wel het geval is zal iedereen van het kantoor personeel bij die bestanden kunnen tenzij je deze inderdaad afschermt met rechten.

Toch bedankt voor de informatie @frank, @nolot en @bart.
Zal eens kijken wat ze op het werk willen doen met de opzet en kan daarna bekijken of encrypten en extra mogelijkheid zou zijn ( die wel op een zinvolle manier wordt toegepast. )
 
Pieter Jansen

Pieter Jansen

09/11/2013 23:03:56
Quote Anchor link
Volgens mij haal je twee verschillende dingen door elkaar, enerzijds wil je de database dichttimmeren en anderzijds het pad er naartoe ook dichttimmeren; op zich geen slecht idee echter los je met je cryptografie niets op.

Om de simpele reden dat wanneer iemand toegang heeft tot jou database configuratie bestanden, het een kleine stap is om te kijken welke encryptie is gebruikt om zo jou encryptie op je wachtwoord te decrypten. Men zegt wel eens, security trough obscurity, maar zoals eerder al vermeld is dat schijnveiligheid.

Als je de database wil afschermen moet je het in andere hoeken zoeken. Wachtwoorden altijd hashen, belangrijke data encryptioneren en natuurlijk alles afvangen met een sterk certificaat. En dan niet een simpel SHA-1 gebruiken, kijk eens naar SHA-3, deze zou binnen niet al te lange tijd effectief te gebruiken moeten zijn. Voor encryptie zou ik eens kijken naar aes/rijndael en dan de 256 bits sleutels gebruiken. Wanneer je informatie veilig opgeslagen is, hoef je je minder zorgen te maken om collega`s die voor de grap iets in de database willen doen. Maar, zoals met alles geldt ook hier; je veiligheid is zo sterk als de zwakste schakel.

Wat je overigens ook moet voorkomen is dat straks niemand meer bij de data kan komen mocht jij onder een bus belanden. Als jij de enige persoon bent die de inns en outs weet van de complete IT veiligheid ben je eerder een risico dan een versterkende factor, immers, wie wil z`n complete hebben en houden nu in de handen hebben van 1 persoon? Zorg er dus voor dat alles veilig maar wel netjes en gedocumenteerd opgeslagen wordt!
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.