System-wide key

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

HANA Developer

Our client leads the worldwide development, production and sales of high-end lithography systems for the semiconductor industry. In short, we make the machines that make computer chips, or integrated circuits. We build some of the most amazing, complex machines that you will ever see – and the software to run them – to develop smaller, faster and still more affordable chips. It is because of our machines that the world’s technology has steadily evolved. This role is situated in the Big Data Analytics (BDA) Domain, specifically in Corporate Analytics. Our teams have mixture of young talent and senior specialists and

Bekijk vacature »

Front-end Developer

De vacature Klaar om je eerste stappen te zetten binnen je carrière als Front-end Developer? Bij Label A ga je werken aan maatwerk (web) applicaties voor klanten zoals Rocycle, Van Oord en FIGO. Dit doe je natuurlijk niet alleen! Je bent onderdeel van het hechte Front-end team en werkt in multidisciplinaire teams. Functie eisen Kennis van React, React Native, NextJS, Gatsby, Typescript en styled-components. Communicatief sterk, aangezien je direct contact hebt met de klant. Passie voor Front-end en op de hoogte van de laatste ontwikkelingen. Jouw belangrijkste taken 1. Werken aan maatwerk (web) applicaties voor onze klanten; 3. Nauw contact

Bekijk vacature »

Front End developer

De vacature Als developer werk je samen met andere slimme vakspecialisten aan geïntegreerde maatwerkoplossingen voor onze klanten. Je helpt het werk inhoudelijk te structureren en adviseert de klant bij de realisatie van de beste user experience. Je deelt je ideeën met collega developers, strategen, interactie ontwerpers en designers. Je realiseert oplossingen die ook echt aanslaan, doordat ze goed doordacht en vormgegeven zijn. Je hebt oog voor kwaliteit, maar je verliest jezelf niet in details. Functie eisen Een hedendaagse visie op het vakgebied webdevelopment, en goede ideeën over hoe die visie in de praktijk gebracht moet worden. Goede communicatieve vaardigheden Je

Bekijk vacature »

Product Owner IT

Sta jij stevig in jouw schoenen en krijg jij energie van het vertalen van businessdoelen naar features voor ontwikkelteams? Wat ga je doen? Als Product Owner ben jij het centrale aanspreekpunt voor en in het team. Je verzamelt ideeën, zet de koers uit, bewaakt de voortgang, stemt af met applicatie-verantwoordelijken, andere Product Owners en Projectleiders en stuurt waar nodig bij. Jij achterhaalt moeiteloos de vraag achter de vraag en omdat jij zowel de techniek als de business snapt, ben jij een onmisbare schakel. Je takenpakket is divers en ziet er als volgt uit: Je vertegenwoordigt het belang van de interne

Bekijk vacature »

.NET Developer

De vacature Als Software Developer bij PitCrew werk je in een informele omgeving met enthousiaste en ambitieuze collega’s. Dit agile team heeft zeer veel ervaring in ontwikkeling van software, is analytische, praktisch van aard en oplossingsgericht. Er is high-volume (13.000+ gebruikers, 680k requests/dag) met een LOB applicatie. Ze werken met de nieuwste technologieën, denk aan o.a. de migratie naar .NET 6 en het redesign van de applicatie. Verder zijn er korte lijnen en heb je veel zalfstandigheid en verantwoordelijkheid. Functie eisen Goede beheersing van Nederlandse taal in woord en geschrift Passie voor programmeren Communicatief Teamplayer Op de hoogte van de

Bekijk vacature »

Startersfunctie JAVA developer @ Regio Eindhoven

2021-09-23 iSense Startersfunctie JAVA developer Heb je onlangs een hbo-, wo-opleiding of een minor richting de IT afgerond en wil je graag aan de slag als Fullstack JAVA Developer? Lees dan snel verder! Want in februari 2022 start de Experis Academy weer met een leerprogramma waarin IT-experts je opleiden tot developer met als specialisatie JAVA. Dit allemaal met een salaris en een vooruitzicht op een baan bij een topwerkgever. ISLE49796 Meerdere functies beschikbaar Wat ga je doen tijdens het Fullstack JAVA ontwikkeltraject? Vanaf februari 2022 krijg jij via de Experis Academy een unieke kans om jouw IT-carrière een kickstart te

Bekijk vacature »

Lead Java Developer

De vacature Binnen deze rol kun je al jouw creativiteit en eerdere ervaringen kwijt die jij in Java-land hebt opgedaan. Wij zijn namelijk op zoek naar een ervaren kracht die mee wilt denken hoe wij als Immune-IT deze tak van de organisatie kunnen optuigen. Los van het brainstormen met het management verlies je niet de touch met de techniek aangezien je nog steeds leuke opdrachten kan doen bij de klanten die je zelf selecteert! Ben jij iemand die het leuk vindt om te sparren over een organisaties en jouw visie tot werkelijkheid te brengen? Dan is dit de rol voor

Bekijk vacature »

Frontend Developer

De vacature Bij Bluefront werken we samen onze opdrachtgevers aan complexe web applicaties, mobile apps en websites. Hierin staat de eindgebruiker centraal en realiseren wij een voor de eindgebruiker een intuïtieve, interactieve en gebruikersvriendelijke omgeving. Bij ons werken enthousiaste en gedreven experts die een kick krijgen van het werken met de nieuwste technologie. Opdrachtgevers komen bij Bluefront voor een stevige slap in the face. Met senior skills en klare taal geven we onze klanten precies wat ze nodig hebben. Overal waar we gaan, laten we puik werk achter! Onze Frontend developer brengen bits tot leven en hebben een grote voorliefde

Bekijk vacature »

Medior Front-End Developer

De vacature Jij ontwikkelt samen met CarCollect! Van het ontwikkelen van nieuwe applicaties tot het verbeteren van ons platform. Jij maakt als Front-End Developer onze software en applicaties nóg beter en maakt de doorvertaling van wensen uit de business naar ons software. Uiteraard volgens hoge kwaliteitsstandaarden dankzij de nieuwste technologieën. We hebben alle lusten van de snelle autowereld, zonder de lasten van oude systemen. Niks hybride. Gewoon volledig digitaal. Met React, RESTAPI/GraphQL, Node.js en MongoDB als supersnelle brandstof. Daarin schuilt ons succes. Hoe kom ik bij CarCollect als “Front-End Talent”? Lees verder om meer te weten te komen of dit

Bekijk vacature »

Lead Front-End Developer

De vacature Zie jij meteen het verschil tussen een saaie interface en een hypermoderne state-of-the-art gebruikerservaring? En, belangrijker nog, heb jij de skills om interfaces van die laatste categorie tevoorschijn te toveren? Dan ben jij de front-end ontwikkelaar die wij zoeken. Als front-end ontwikkelaar creëer je apps en interfaces van toepassingen die onze klanten naar het volgende niveau brengen. Onze projecten leunen op de verbeeldingskracht van het team en jouw inlevingsvermogen in de eindgebruiker. Je vindt het tof om in verschillende projecten te duiken en gaat los op spannende uitdagingen en splinternieuwe technologieën. De ultieme beleving creëren voor de gebruiker;

Bekijk vacature »

Python Developer

De vacature Binnen Team Enterprise Cloud Solutions ben jij mede-verantwoordelijk voor het ontwikkelen van een high-end en hypermoderne cloud omgevingen voor onze klanten. Je werkt het liefst met de diensten van Amazon Web Services, maar weet ook goed in welke gevallen je juist wel kiest voor Microsoft Azure. Je bent in staat een architectuur uit te denken, die te presenteren aan je Team en de klant, maar wordt pas echt warm wanneer je je labdag gebruikt om een Proof of Concept te ontwikkelen voor die nieuwe dienst of speciale klantwens. Als echte ‘T’-shaped developer, kun je naast (serverless) programmeren in

Bekijk vacature »

Advanced Mendix Developer Logistic Solutions (NL)

Advanced Mendix Developer Logistic Solutions (NL) Den Haag HBO/WO IT Professional "Als Advanced Mendix Developer impact maken op de groeiende E-commerce markt met onze logistieke software en onze kritieke logistieke keten. Je doet dit door ontwikkeling en uitbreiding van onze Mendix Cloud omgeving, waarbij je complexe business processen vertaalt naar kritieke Mendix applicaties." Wat ga je doen? PostNL is becoming a postal tech company. Je komt te werken binnen PostNL Logistic Solutions. Daar gaan we net wat verder dan een standaardpakket of brief. Het gaat bijvoorbeeld om gekoeld vervoer van medicijnen (Health), Warehousing (Fulfilment), het leveren binnen hele strakke tijdvakken

Bekijk vacature »

Developer

De vacature Als Developer ben je verantwoordelijk voor het ontwikkelen van state-of-the-art software. Jij werkt samen met developers, designers en testers in multidisciplinaire Agile Scrum teams aan innovatieve nieuwe producten. Je hebt ruime ervaring binnen jouw kennisgebieden en hebt de juiste ontwikkeltools altijd paraat. Jij bent iemand die het werk ziet liggen en het graag oppakt. Schroom je daarbij niet om af en toe kritisch naar werkzaamheden te kijken en verbeteringen voor te stellen. Je houdt je bezig met het beoordelen van specificaties, softwareontwikkeling en (unit) testen. Natuurlijk draag je ook bij aan verdere professionalisering van onze werkwijze en tools.

Bekijk vacature »

Team Lead PHP

As Team Lead PHP, you make our customers smile by providing great software and building an effective team. How do I become a Team Lead PHP at Coolblue? As a Team Lead Web Development you build and lead a team that excels in providing high-quality and cost-efficient software. You support team members in defining their personal growth goals and with the approach to achieve them. Would you like to become a Team Lead PHP at Coolblue? Read below if the job suits you. You enjoy doing this Building and leading a team that excels in providing high quality and cost

Bekijk vacature »

App ontwikkelaar / IoT / iOS en Android @ Arnhem

2021-09-16 iSense App ontwikkelaar IoT iOS en Android Wil jij als App ontwikkelaar aan de slag bij een organisatie die werkt met toonaangevende klanten? Wil jij helpen met het smart maken van hardware producten? Lees dan snel verder! ISVI50120 Organisatie De organisatie in de regio Arnhem is een specialist als het gaat om het ontwikkelen van intelligente apparaten of machines. Binnen de organisatie zijn zo'n 50 medewerkers werkzaam waarvan 97% een technische functie bekleedt. Voor verschillende klanten door heel Nederland ontwikkelen zij innovatieve producten. Hierin verzorgen zij zowel de elektronica als de embedded software en zijn ze ook in opbouw

Bekijk vacature »

Pagina: 1 2 volgende »

Ward van der Put
Moderator

Ward van der Put

30/11/2014 09:55:37
Quote Anchor link
In een database sla ik de hash van wachtwoorden op. Daarbij gebruik ik naast een salt per wachtwoord nog een system-wide key. In pseudocode:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$hash
= pbkdf2($system_wide_key . $salt . $password);
?>


De system-wide key mag, anders dan de salts en de hashes, natuurlijk nooit in de database worden opgeslagen. Maar waar zal ik deze key dan opslaan? Wat kunnen jullie me aanbevelen?
 
PHP hulp

PHP hulp

06/12/2021 21:46:27
 
- Ariën -
Beheerder

- Ariën -

30/11/2014 10:45:12
Quote Anchor link
Persoonlijk zou ik hem buiten de webroot opslaan.
 
Frank Nietbelangrijk

Frank Nietbelangrijk

30/11/2014 12:27:10
Quote Anchor link
Ik zou hem ook buiten het publieke gedeelte van de website in een config file opslaan. Dat ding verander je toch nooit meer
 
Dos Moonen

Dos Moonen

30/11/2014 13:31:57
Quote Anchor link
Het liefst zou je het opslaan in een Hardware Security Module (HSM) die je dan de opdracht geeft een Message Authentication Code (MAC) te genereren voor het wachtwoord. De MAC is dan wat je samen met een uniek salt aan PBKDF2 voert.

Maar dat kost weer geld. Buiten de webroot kost niets extra.
 
Ward van der Put
Moderator

Ward van der Put

30/11/2014 14:50:10
Quote Anchor link
Okay, dank allen.

Het punt is dat ik eigenlijk een derde niveau nodig heb. Buiten de root zijn namelijk gebruikersnaam en wachtwoord van de database opgeslagen, dus de system-wide key sla ik dan liever niet op hetzelfde niveau op. Niet dat de key dan nutteloos is, verre van, maar het kan nog veiliger, zoals Dos aangeeft, door de sleutel elders weg te parkeren.
 
Eddy E

Eddy E

30/11/2014 15:27:52
Quote Anchor link
Liefst nog op een andere website, waar je altijd bij kan komen, ook als je eigen website gehackt is.
Dus op een andere CDN oid.
 
Ozzie PHP

Ozzie PHP

30/11/2014 21:15:27
Quote Anchor link
Ward, waar ben je precies "bang" voor? Welk risico probeer je in te perken?
 
Bart V B

Bart V B

30/11/2014 21:45:43
Quote Anchor link
Ik kan natuurlijk niet voor Ward spreken, maar ik zou me kunnen voorstellen dat hij een licentie achtige applicatie aan het maken is, en dat ene stukje code uber geheim wenst te houden.
 
Ozzie PHP

Ozzie PHP

30/11/2014 21:56:22
Quote Anchor link
Het zou kunnen, maar ik ben benieuwd waarom hij juist de code ergens anders wil zetten. Ik zou denken dat als iemand al buiten de root kan komen, niks meer veilig is.
 
Bart V B

Bart V B

30/11/2014 22:02:19
Quote Anchor link
Nee daarom. Als zijn systeem ergens plat gaat of als het buiten de root staat, dan is die ene extra code nou juist net het missende stukje waardoor het wel gehackt is, maar de schade beperkt. Men kan daar verder niets meer mee. Vandaar snap ik Eddy's reply wel door te zeggen: zet het totaal ergens anders neer.
Gewijzigd op 30/11/2014 22:04:08 door Bart V B
 
Ward van der Put
Moderator

Ward van der Put

01/12/2014 07:12:02
Quote Anchor link
Correct, je kunt in één keer de boel op slot gooien door de sleutel in te trekken. Dat geldt ook voor de accounts van admins: gebruikers die doorgaans wél toegang hebben tot bestanden buiten de root.

Verder gaat het ook om het principe natuurlijk. Je hebt namelijk:

1. Salt en wachtwoordhash in de database.
2. Databasegebruikersnaam en databasewachtwoord buiten de root.
3. System-wide key.

De system-wide key kan dus beter niet worden opgeslagen in (1) de database of (2) de configuratie buiten de root.
 
Ozzie PHP

Ozzie PHP

01/12/2014 11:57:22
Quote Anchor link
>> De system-wide key kan dus beter niet worden opgeslagen in (1) de database of (2) de configuratie buiten de root.

Ik snap wat je bedoelt te zeggen, maar is het echt noodzakelijk. Dat is wat ik me afvraag. Op het moment dat iemand je database leegtrekt, dan zijn de wachtwoorden via de hashes beschermd. Als iemand je server kraakt en dus overal bij kan, dan is in principe niks meer veilig. Als een hacker die expertise heeft, dan zal hij ook de expertise hebben om te kunnen zien waar die system-wide key vandaan komt ... en ... hij zal die key dan ook kunnen downloaden. Hij heeft immers toegang tot jouw server. De vraag is dus of dit niet een vorm van schijnveiligheid is.

Als iemand de database leegtrket, zou je dat kunnen zien alsof je ergens een raampje hebt open laten staan. Als iemand echter je voordeur forceert, dan vrees ik dat je platgezegd de l@l bent. Dan kun je de system-wide key wel ergens in een kluisje hebben gestopt, het probleem is echter dat de sleutel van die kluis zich ook ergens in huis bevindt.
 
Ward van der Put
Moderator

Ward van der Put

01/12/2014 12:31:56
Quote Anchor link
>> Dan kun je de system-wide key wel ergens in een kluisje hebben gestopt, het probleem is echter dat de sleutel van die kluis zich ook ergens in huis bevindt.

Precies, daarom moet die sleutel dus niet in huis bewaard worden.

Sla je sleutel op buiten de root, dan is dat niet zozeer schijnveiligheid, maar is de toegevoegde waarde inderdaad veel beperkter. Je hebt dan meer een soort noodrem: je kunt bij wijze van spreken even // voor de define('SYSTEM_WIDE_KEY', '...') zetten en de heleboel gaat vanzelf op slot. Dat kan bijvoorbeeld nuttig zijn als je eerst wilt onderzoeken wat er loos is.

Bart noemde een toepassing die ik niet voor ogen had maar die ook nuttig kan zijn: het intrekken van een externe licentiesleutel heeft een vergelijkbaar effect.
 
Bart V B

Bart V B

01/12/2014 12:47:13
Quote Anchor link
Het leek me het beste voorbeeld om het duidelijker te maken waarvoor je het kunt toepassen.
Wat me wel interresant lijkt om te weten hoe je dat stukje externe code het beste zou kunnen mengen in je code.
Want dat lijkt me niet makkelijk.
Ik zou me kunnen voorstellen dat je daar een externe database voor in zet.
Dan zou je de sleutels op kunnen slaan per user/licentie of wat dan ook.
Daar zou je ook extern nog een beveiliging in kunnen brengen met meer dan 3 pogingen mislukt, de boel daar op slot te zetten.
Het is maar even een hersenspinsel.
 
Ozzie PHP

Ozzie PHP

01/12/2014 14:49:55
Quote Anchor link
>> Precies, daarom moet die sleutel dus niet in huis bewaard worden.

Maar wat ik bedoel is dat je de sleutel (zijnde de key zelf óf de code om de key op te halen) altijd binnenshuis moet opslaan, anders kun je zelf ook de kluis niet meer openen ;)

Je hebt in feite 2 "secties" op server-niveau. Je hebt een publiek gedeelte (document root / web root) waarvan een bezoeker rechtstreeks bestanden kan aanroepen, en je hebt een niveau hoger ... een privé gedeelte waar een bezoeker niet bij kan.

Zorg ervoor dat al je code buiten de web root staat, ofwel in het privé gedeelte. Dus ook je system-wide key.

Als iemand via sql injectie databasegegevens steelt, dan heeft hij de system-wide key niet. Goedzo!

Echter, als iemand in staat is om binnen te dringen in het privé gedeelte, dan maakt het niet meer uit of jij die system-wide key op de server of ergens extern hebt opgeslagen. Namelijk:

Om een site te laten werken, moet de system-wide key beschikbaar zijn in het privé gedeelte. Ergens in de code staat dus óf de key zelf, óf een script dat de system-wide key ophaalt. Een hacker kan dat stukje code uitvoeren, en heeft vervolgens alsnog de key te pakken. Dus wat is dan nog de meerwaarde? Het enige wat je feitelijk doet is de key "verstoppen".

Oké, als je helderziend bent, dan zou het meerwaarde kunnen hebben. Dan kun je 5 minuten voordat de hacker jouw server binnendringt alle keys op de externe server deactiveren, maar ja ... ik ben niet helderziend helaas.

Wat ik hiermee wil zeggen is dat je dus eigenlijk maar 1 optie hebt, en dat is alles buiten de web root opslaan. Je kunt wel alles extern opslaan op een andere server, maar volgens mij heeft dat geen meerwaarde om hack-pogingen tegen te gaan. Wel heeft het als negatief effect dat de website trager wordt en dat op het moment dat de externe database eruit ligt, de complete website plat gaat.
 
Ward van der Put
Moderator

Ward van der Put

01/12/2014 15:10:26
Quote Anchor link
Ozzie, zó ver reikt mijn begrip van servers al wel hoor ;-)

>> Echter, als iemand in staat is om binnen te dringen in het privé gedeelte, dan maakt het niet meer uit of jij die system-wide key op de server of ergens extern hebt opgeslagen.

Je gaat er dan van uit dat webserver en databaseserver op dezelfde VPS-server draaien, maar dát is niet per se het geval. En ook niet heel verstandig, juist om de redenen die je zelf noemt. De aanname dat een gecompromitteerde webserver of FTP-server meteen de databaseserver raakt (en vice versa), gaat daarom lang niet altijd op.

Je kunt webservers (meervoud) en een cluster met databaseservers (meervoud) hebben; die delen dan een netwerk, maar meer ook niet. De idee om daaraan een extra laag toe te voegen voor die sleutel in hardware, op een extra server óf in een extra database is dus niet onlogisch.

Je kunt het enigszins met andere vormen van encryptie vergelijken. Dat kan peer-to-peer met twee partijen die elkaar vertrouwen. Maar het kan ook via een trusted third partij: een derde die door beide partijen wordt vertrouwd. Het enige verschil is dat je asymmetrische encryptie gebruikt, zonder decryptie.
 
Ozzie PHP

Ozzie PHP

01/12/2014 15:17:22
Quote Anchor link
>> Ozzie, zó ver reikt mijn begrip van servers al wel hoor ;-)

Hehe, daar twijfelde ik niet aan, maar het was even om mijn verhaal duidelijk te maken.

Ik snap wel wat je bedoelt, maar omdat de servers onderling met elkaar kunnen praten vraag ik me af of je op deze manier extra veiligheid inbouwt.

Even ervan uitgaande dat iemand op je webserver inbreekt, dan staat ergens op die server een stukje code om de system-wide key op te halen. Weliswaar staat de key zelf er dan misschien niet op, maar wel de code om 'm op te halen. Dus mijn vraag is wat je daar dan mee opschiet, hooguit dat je het de hacker wat lastiger maakt omdat die nu moet zoeken naar een stukje code in plaats van een key.
 
Ward van der Put
Moderator

Ward van der Put

01/12/2014 15:55:11
Quote Anchor link
We zijn het er allemaal wel over eens hoor: buiten de root opslaan is altijd veiliger.

Ik heb het topic geopend omdat ik me afvroeg hoe je het nog veiliger kunt maken: zelfs niet eens op dezelfde webserver opslaan.

In mijn eerste opzet staat de sleutel gewoon bij de databaseconfiguratie, zoals databasewachtwoord, maar dáár wil ik de sleutel liever weg hebben.
 
Ozzie PHP

Ozzie PHP

01/12/2014 15:58:34
Quote Anchor link
Ik snap wel wat je bedoelt, maar de vraag is of het zinvol is. Hoe je het ook wendt of keert, je server heeft de key nodig, dus zal deze of aanwezig moeten zijn op de server, of er zal code aanwezig zijn om de key op te halen. En dat is eigenlijk wat ik bedoelde te zeggen. Op het moment dat een hacker op je server kan komen ben je het haasje. Ik zou niet weten hoe je dat zou moeten oplossen.
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

01/12/2014 19:41:06
Quote Anchor link
Een andere optie is om een eigen PHP extensie te schrijven, deze compileren et voila ;-)
 
Ozzie PHP

Ozzie PHP

01/12/2014 21:18:39
Quote Anchor link
Ger, hoe bedoel je dat? Ik lees wat je schrijft, maar ik begrijp er niks van :)
 

Pagina: 1 2 volgende »



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.