Naar de inhoud

Blog

Zo beveiligen we je site: sloten in lagen

Door Mart Broer, oprichter

Een veilige website heeft niet één groot slot, maar een rij kleinere sloten achter elkaar. Lukt het een inbreker om langs het ene slot te komen, dan staat hij voor het volgende. In dit stuk lees je welke sloten wij gebruiken, en welke vragen je aan je eigen bouwer of hoster kunt stellen.

Dit is deel 3 van de reeks zo werken onze systemen. In deel 2 lees je hoe je site op een server draait. Hier gaat het om de vraag hoe we die server en je site veilig houden.

Eerst even: waarom in lagen?

Denk aan een huis. Je hebt een slot op de voordeur. Maar je laat ook de ramen niet openstaan, je bewaart je paspoort in een la en niet op de vensterbank, en de buren zien het als er 's nachts iemand rondloopt. Geen van die dingen is op zich genoeg. Samen maken ze het een inbreker een stuk lastiger.

Een website werkt net zo. Elke programmeertaal, elk programma en elke bouwsteen heeft weleens een lek. Daarom bouwen we meerdere lagen. Gaat er in één laag iets mis, dan houdt de volgende de schade zo klein mogelijk. We lopen ze langs, van buiten naar binnen.

De voordeur: inloggen met een digitale sleutel

De server is de computer waar je site op draait. Wie er iets aan wil veranderen, moet erop inloggen. Dat is de voordeur.

Bij onze server kan dat alleen met een digitale sleutel, niet met een wachtwoord. Zo'n sleutel is een heel lang, geheim bestand op de computer van degene die mag inloggen. Een wachtwoord kan iemand raden of stelen. Een digitale sleutel is te lang om te raden, en hij gaat zelf niet over de lijn.

De poortwachter: een firewall

Een firewall is een poortwachter bij het hek. Hij kijkt bij alles wat binnenkomt of het naar binnen mag.

Bij ons laat de firewall alleen het webverkeer voor iedereen door. Dat is het verkeer van bezoekers die je site bekijken. De andere deuren van de server zijn dicht voor vreemden.

Een extra slot op het beheer

Het beheer is het deel van je site waar je teksten, foto's of producten aanpast. Voor een inbreker is dat de interessantste deur. Daarom zit er bij ons een extra slot vóór de inlog van het beheer.

Dat werkt zo. Elke vraag aan je site komt eerst langs onze webserver. Dat is het programma dat de pagina's aan bezoekers doorgeeft. Vraagt iemand om het beheer, dan vraagt de webserver eerst om een gebruikersnaam en wachtwoord. Pas daarna komt de vraag bij de site zelf.

Ook de site zelf heeft een inlog, die na te veel foute pogingen even dichtgaat. Zo heeft raden weinig zin.

Sterke wachtwoorden die je zelf instelt

Een slot is zo sterk als de sleutel. Daarom stellen we wachtwoorden en andere geheimen niet zelf voor je in. Dat doet je broer, of jij als klant. De bouwer schrijft alleen de opdracht op, de eigenaar typt het wachtwoord zelf.

Wachtwoorden en sleutels staan ook niet in de code. Een sleutel voor een betaaldienst of een webshop staat in een apart bestand op de server, los van het programma. Het wachtwoord voor het beheer bewaren we niet zoals het is, maar als een soort vingerafdruk. Daaruit kun je het wachtwoord niet terugrekenen. Wat een sleutel is en hoe we ermee omgaan, lees je bij API's.

Updates: de reparaties ook echt plaatsen

Software krijgt regelmatig reparaties, vooral voor lekken. Een update helpt pas als iemand hem ook echt op de server zet. Updates houden we bij.

Waarom dat telt, zag je in oktober 2026 bij een ernstig lek in PHP: lees Het PHP-lek: wat nu met je website?. Op onze server draait geen PHP, maar ook Python heeft weleens een lek. Bijwerken blijft dus nodig.

Zo weinig mogelijk onderdelen van anderen

Elk onderdeel van een ander is een extra deur die op slot moet. Hoe minder deuren, hoe minder er open kan staan.

  • Geen npm. npm is een grote verzamelplaats van bouwstenen voor JavaScript. In onze sites gebruiken we die niet.
  • Weinig bouwstenen, met een vaste versie. We nemen alleen wat echt nodig is. Een nieuwe versie komt pas op een site als wij hem bewust bijwerken en testen.
  • Geen plugins. We bouwen wat je nodig hebt, zonder stapels uitbreidingen van verschillende makers.
  • Scripts en lettertypes van de eigen server. Lettertypes komen van onze eigen server. Scripts van andere bedrijven gebruiken we alleen als het echt moet, en met je akkoord.

Waarom bouwstenen van anderen een risico kunnen zijn, en wat er in oktober 2026 bij npm gebeurde, lees je in Bouwstenen van anderen.

Elke site in een eigen kamer

Op onze server staan meerdere sites. Elke site draait in een eigen, afgeschermde omgeving. Denk aan een gebouw met aparte kamers, elk met een eigen deur. Komt er iemand binnen in de ene kamer, dan komt hij niet zomaar in de andere.

Zo'n kamer heeft een paar regels:

  • Niet als beheerder. Het programma van de site draait als een gewone gebruiker, zonder de rechten van een beheerder. Het kan dus niet zomaar aan de rest van de server komen.
  • Alleen-lezen waar het kan. De site kan zijn eigen code niet aanpassen terwijl hij draait. Alleen op een paar vaste plekken, zoals de eigen map met gegevens, kan hij iets wegschrijven.
  • Geen extra rechten. We halen alle bijzondere rechten weg die een programma op een server kan krijgen. De site kan ze ook later niet alsnog krijgen.
  • Niet rechtstreeks bereikbaar. Een site is van buiten alleen te bereiken via onze webserver. Die is de enige ingang.

https: niemand leest onderweg mee

https is het slotje in de adresbalk. De verbinding tussen de bezoeker en je site is dan versleuteld. Vult iemand een formulier in of logt hij in, dan kan niemand onderweg meelezen.

Voor https is een certificaat nodig: een soort digitaal paspoort van je site. Onze webserver regelt dat zelf en vernieuwt het certificaat vanzelf.

Betalingen: niet blind vertrouwen

Bij PandInfo en Lichthoek betaal je via Mollie, een betaaldienst. Heeft een klant betaald, dan geeft Mollie de site een seintje.

Dat seintje vertrouwt de site niet blind. Er staat alleen een nummer in. De stand van de betaling vraagt de site daarna zelf op bij Mollie. Zo kan niemand met een nepbericht laten denken dat er betaald is. Hoe dat soort gesprekken tussen systemen werkt, lees je bij API's.

We houden het in de gaten

Een goed slot helpt weinig als niemand merkt dat er iets mis is. Daarom houden we in de gaten of alles draait, en grijpen we in als het nodig is.

Bouwen met AI, maar niet blind

We bouwen met hulp van AI. Dat gaat snel, maar het mag geen gat in de beveiliging geven. Daarom testen we elke wijziging eerst. Daarna leest een aparte AI-hulp alles nog eens na. Live gaat het pas na het akkoord van je broer.

We testen met verzonnen gegevens in dezelfde vorm als de echte. Moet er toch naar echte gegevens gekeken worden, dan doet je broer dat zelf. Gegevens die een klant in zijn site of systeem bij ons zet, delen we niet met de AI-hulp waarmee we bouwen.

En de back-ups

Een back-up is een reservekopie van je gegevens. Het is geen slot, maar het is wel wat je nodig hebt als het toch misgaat. Wij maken elke dag een back-up van de gegevens.

Wat moet jij als ondernemer weten?

Je hoeft zelf geen beveiliging te bouwen. Maar je mag je bouwer of hoster wel vragen hoe het geregeld is. Een goede bouwer geeft op deze vragen gewoon antwoord:

  • Hoe log je in op de server? Met een digitale sleutel, of met een wachtwoord?
  • Wat laat de firewall door? Alleen het webverkeer, of meer?
  • Zit er een extra slot op het beheer? En hoe lang moet het wachtwoord zijn?
  • Wie stelt de wachtwoorden in? En staan er sleutels of wachtwoorden in de code?
  • Wie doet de updates, en hoe vaak? Van de server, maar ook van de site zelf.
  • Hoeveel plugins en bouwstenen van anderen gebruikt mijn site? En laadt hij scripts van andere bedrijven?
  • Staat mijn site afgeschermd van andere sites? Of kan een lek bij de buren ook bij mij komen?
  • Wie merkt het als er iets mis is? En hoe snel?
  • Hoe vaak is er een back-up?

Krijg je geen helder antwoord? Dan is dat geen ramp. Maar het is wel een goed moment om er samen eens rustig naar te kijken. Wil je alle vragen voor een nieuwe site op een rij, kijk dan in onze checklist voor een nieuwe website.

Wat het bij ons kost

Beveiliging is bij ons geen los pakket. Alles in dit stuk zit in de hosting, en hosting zit in elke broer. Kleine broer is vanaf € 19 per maand, plus eenmalig bouwen vanaf € 495. Grote broer is vanaf € 68 per maand, zonder opstartkosten. De hele familie is vanaf € 117 per maand, plus maatwerk vanaf € 2.500.

Alleen een website bij ons? Dan kost het bouwen eenmalig vanaf € 1.250, plus € 15 per maand voor hosting en beheer. Staat je server bij een ander bedrijf en wil je dat wij hem bijhouden? Kijk dan bij serverbeheer. Alle bedragen zijn exclusief btw. Je krijgt eerst een offerte. Alles op een rij zie je bij prijzen.

Twijfel je of jouw site goed beveiligd is? Bel je broer. We kijken eerlijk met je mee, ook als het antwoord is dat het prima in orde is. Meer lees je bij hosting en beheer.

Vaak gevraagd

Is mijn site bij jullie dan onkraakbaar?

Nee. Geen enkele site is dat. Met sloten in lagen maken we het een inbreker wel een stuk lastiger. En gaat er toch iets mis, dan houden de andere lagen de schade zo klein mogelijk, en grijpen wij in.

Moet ik zelf iets doen?

Kies een sterk wachtwoord voor je beheer en gebruik het nergens anders. Laat het ons weten als iemand bij jou weggaat die toegang had. De rest regelen wij.

Waarom een extra slot op het beheer? Is dat niet omslachtig?

Je logt er even een keer extra in. Daar staat tegenover dat een inbreker eerst langs de webserver moet, voordat hij het beheer van de site zelfs maar ziet. Dat is het waard.

Kennen jullie mijn wachtwoord?

Dat is niet de bedoeling. Het wachtwoord van je beheer stel je zelf in. Op de server staat alleen een vingerafdruk ervan, waaruit je het wachtwoord niet kunt terugrekenen. Ben je het kwijt, dan stel je samen met ons een nieuw in.

De reeks zo werken onze systemen

Werk

Gemaakt door je broer

pandinfo.nl
De voorpagina van pandinfo.nl: een adres invoeren, zoeken op de kaart, en hoe het werkt.
De voorpagina van pandinfo.nl op een telefoon.

003 · webapp

PandInfo

Typ een adres en PandInfo zet binnen een paar seconden op een rij wat de overheid over dat pand weet: bouwjaar, oppervlakte, energielabel, bestemmingsplan, monument, bodem, funderingsrisico, verkoopprijzen en de buurt. In gewone taal, met de bron bij elk cijfer, en ook als pdf. Achter de schermen vraagt het tegelijk meer dan dertig openbare bronnen op, van het Kadaster tot de Omgevingswet.

  • Open overheidsdata
  • Koppelingen
  • Webapp
  • PDF-rapport
  • Omgevingswet
pandinfo.nl ↗ Lees het verhaal
nummerbordcheck.nl
De voorpagina van nummerbordcheck.nl: een gele kentekenplaat als invoerveld, een voorbeeldkaart met stoplichten, en wat je ziet.
De voorpagina van nummerbordcheck.nl op een telefoon.

004 · webapp

Nummerbord­check.nl

Kentekencheck: vul een Nederlands kenteken in en zie in gewone taal wat de RDW openbaar weet, met stoplichten per punt, de hele keuringsgeschiedenis, terugroepacties en leuke feitjes. Van idee tot live in twee dagen.

  • Open data RDW
  • Webapp
  • Eigen huisstijl
  • Twee dagen
nummerbordcheck.nl ↗ Lees het verhaal
lichthoek.nl
De voorpagina van lichthoek.nl: foto- en videoapparatuur, populaire producten, categorieën, direct leverbaar en merken.
De voorpagina van lichthoek.nl op een telefoon.

005 · webshop

Lichthoek

Een webshop voor foto- en videoapparatuur, fotolijsten en fotopapier, met ruim 3.800 producten. Producten, prijzen en voorraad komen vanzelf uit het voorraadsysteem, en een bestelling gaat vanzelf terug, met de track-and-trace naar de klant. Gebouwd en live op één dag.

  • Webshop
  • 3.800 producten
  • Gekoppeld aan voorraad
  • Eigen server
lichthoek.nl ↗ Lees het verhaal

Contact

Bel je broer.

Liever eerst mailen? Ook prima. Je broer leest alles, en belt terug als het ingewikkeld wordt.

Eerst weten wat het kost?Alle prijzen staan op de site, vanaf € 19 per maand.