Sinds een aantal jaar ben ik bezig met een klein projectje ( symfony 4, php ) voor mezelf om het een en ander te automatiseren op websites. Stilletjes aan werd het groter, slimmer, en gebruiksvriendelijker.
Een aantal weken terug ben ik op het punt beland dat het project klaar is voor het publiek, maar er zijn wat zaken waar ik me nog over moet buigen, en advies nodig heb.
Voor mijn project is het namelijk noodzakelijk om inloggegevens op te slaan voor een externe website. Deze gegevens heb ik in plaintext nodig... en het is zo simpel dat wanneer het project de gegevens kan decrypten, ik dat ook kan, en dus ook een eventuele hacker met meer security kennis dan ik.
Hoe kan ik dit het beste aanpakken?
Huidige situatie:
- Al het verkeer loopt over https, dus mitm aanvallen zijn uitgesloten.
- Gebruiker voert zijn gegevens in op de daarvoor bestemde pagina.
- De server ontvangt deze gegevens, en stuurt deze door naar een api op een andere server die enkel intern toegankelijk is. Hier staat enkel poort 443 open naar de andere server.
- De api slaat deze gegevens in plaintext op ( voor prive gebruik was dit prima, don't judge me here ) in combinatie met het gebruikers ID.
- Een ander script op de api server maakt verbinding met een database ( alleen intern te bereiken en op een andere machine ) en haalt dan de queue op. De queue bevat enkel data over de opdracht ( niet gevoelig ) en een lokaal gebruikers ID. Het script voert de opdracht uit, en iedereen is gelukkig.
Nu ben ik misschien wat paranoia, maar is dit een degelijk begin? Ik weet dat de wachtwoorden eigenlijk encrypted moeten worden, maar de key om te decrypten zal hoe dan ook ergens beschikbaar moeten zijn...dus hoeveel zin heeft dat feitelijk gezien? En welke encryptie is hiervoor het best geschikt?
Alle servers draaien overigens op debian, met apache2 als webserver.
Leesvoer is uiteraard altijd welkom! Ik verwacht geen voorgekauwde oplossingen, enkel suggesties met argumenten om van te leren. Zelf lijkt het me een vrij solide constructie namelijk, dus ik ben erg benieuwd naar jullie ervaringen en visie hierin
Een aantal weken terug ben ik op het punt beland dat het project klaar is voor het publiek, maar er zijn wat zaken waar ik me nog over moet buigen, en advies nodig heb.
Voor mijn project is het namelijk noodzakelijk om inloggegevens op te slaan voor een externe website. Deze gegevens heb ik in plaintext nodig... en het is zo simpel dat wanneer het project de gegevens kan decrypten, ik dat ook kan, en dus ook een eventuele hacker met meer security kennis dan ik.
Hoe kan ik dit het beste aanpakken?
Huidige situatie:
- Al het verkeer loopt over https, dus mitm aanvallen zijn uitgesloten.
- Gebruiker voert zijn gegevens in op de daarvoor bestemde pagina.
- De server ontvangt deze gegevens, en stuurt deze door naar een api op een andere server die enkel intern toegankelijk is. Hier staat enkel poort 443 open naar de andere server.
- De api slaat deze gegevens in plaintext op ( voor prive gebruik was dit prima, don't judge me here ) in combinatie met het gebruikers ID.
- Een ander script op de api server maakt verbinding met een database ( alleen intern te bereiken en op een andere machine ) en haalt dan de queue op. De queue bevat enkel data over de opdracht ( niet gevoelig ) en een lokaal gebruikers ID. Het script voert de opdracht uit, en iedereen is gelukkig.
Nu ben ik misschien wat paranoia, maar is dit een degelijk begin? Ik weet dat de wachtwoorden eigenlijk encrypted moeten worden, maar de key om te decrypten zal hoe dan ook ergens beschikbaar moeten zijn...dus hoeveel zin heeft dat feitelijk gezien? En welke encryptie is hiervoor het best geschikt?
Alle servers draaien overigens op debian, met apache2 als webserver.
Leesvoer is uiteraard altijd welkom! Ik verwacht geen voorgekauwde oplossingen, enkel suggesties met argumenten om van te leren. Zelf lijkt het me een vrij solide constructie namelijk, dus ik ben erg benieuwd naar jullie ervaringen en visie hierin
