09 April 2024

Max Acke

(cyber)security en rampenplan van een web applicatie

Veiligheid is en blijft een gevoelig en abstract onderwerp. Je moet er inspanningen en investeringen voor doen die geen directe, positieve bijdrage leveren aan de uitstraling of functionaliteit van de applicatie of website.

Veiligheid is en blijft een gevoelig en abstract onderwerp

Je moet er inspanningen en investeringen voor doen die geen directe, positieve bijdrage leveren aan de uitstraling of functionaliteit van de applicatie of website.

Uiteraard is het de correcte keuze om hier wel voldoende aandacht/budget voor te voorzien en een digitale partner te hebben die hier voldoende kennis en ervaring voor in huis heeft.

Elk bedrijf wil een goede bescherming van zijn data en ten allen tijde trachten een een hacking of downtime van zijn website of applicatie te voorkomen. Oplopen van imagoschade of lekken van persoonsgegevens (of andere gevoelige informatie) is in realiteit altijd een veel grotere impact dan gedacht.

Vragen die door klanten regelmatig gesteld worden, zijn:

  • Wordt er gebruik gemaakt van een Web Application Firewall (WAF)?

  • Omvat uw voorgestelde oplossing het gebruik van Cloudflare of een vergelijkbare oplossing tegen Distributed denial-of-service (DDoS) aanvallen? En Fail2Ban implementatie tegen hackpogingen?

  • Bent u van plan een statische versie van de applicatie te onderhouden met de mogelijkheid van DNS-geo routering?

  • Welke tools bent u van plan te gebruiken als het gaat om inlogpagina's? Bijvoorbeeld Virtual Private Network (VPN), IP-restriction, Multi-Factor Authentication (MFA)?

Met ons ervaren Sevendays team, nemen we onze verantwoordelijkheid voor uw veiligheid meer dan serieus op.

Framework native beveiligingsfuncties

We maken gebruik van een wereldwijd gebruikt framework, dat een verzameling is van gestandardiseerde en veelgebruikte functies en bibliotheken die als bouwstenen dienen voor het ontwikkelen van webapplicaties. Het geeft ons als developers een gestructureerde omgeving waarin we webapplicaties kunnen schrijven, testen, debuggen, beheren en onderhouden.

Dit framework voorziet standaard deze beveiliging:

  • SQL-toegang via beveiligde ORM, geen ‘RAW’ SQL in code

  • Bescherming voor Mass assignment

  • Secrets en sessies worden gecodeerd met een unieke applicatiesleutel

  • Authenticatie wordt beheerd door het framework

  • Robuuste front-/backend-validatietools

  • Cross-Site Request Forgery (CSRF) bescherming

  • Gevoelige configuratiegegevens worden buiten de codebase/VCS van de applicatie beheerd

Web Application Firewall (WAF)

Een Cloudflare bescherming is altijd mogelijk maar out-of-the-box hebben we alvast de volgende WAF-functionaliteit geïntegreerd in ons PHP framework:

  • Cross-Site Scripting (XSS) Attacks voorkomen

  • SQL-injectie preventie

  • Remote file inclusion (RFI) bescherming

  • Voorkomen van Local File Inclusion (LFI) Attacks

  • Bescherming tegen User-Agent based attacks

  • IP-whitelisting: laat enkel specifieke IP adressen toe

  • We loggen mislukte aanmeldingen en blokkeren het IP-adres na een aantal pogingen

  • We blokkeren herhaalde aanvallen

  • We sturen een melding wanneer een aanval wordt gedetecteerd

Authenticatie

Je wil toegang tot de applicatie enkel toelaten voor wie er echt toelating voor heeft en je wil je gebruikers “verplichten” om dit op een zo veilig mogelijke manier te doen.

Dit kan bijvoorbeeld met:

  • Two-Factor Authentication (2FA) voor backend-toegang: met behulp van een ‘Time-based One-time Password’. (TOTP), b.v. Google Authenticator

  • IP-whitelisting voor toegang tot het beheergedeelte

Distributed denial-of-service (DDoS) preventie

Een Denial-of-Service-aanval (DDoS-aanval) vergelijk je best met een autosnelweg tijdens de ochtendspits. Er wordt teveel verkeer naar je website of applicatie gestuurd om het allemaal vlot te laten passeren. De weg slibt dicht en het verkeer vertraagt en komt zelfs tot stilstand. Resultaat, je website of applicatie gaat offline.

Om zo’n DDOS-aanval te weerstaan heb je een heel brede weg nodig. Daarom heeft het netwerk van onze hosting provider een capaciteit van 100 gigabit/s. Vergelijk het met een autosnelweg die opeens 100 rijstroken heeft ipv 3.

Laat die hackers maar komen.

Static site backup

Als je je beheeromgeving maximaal wil afschermen, dus niet wil blootstellen aan de gevaren van het internet, dan is een statisch gegenereerde website ook een optie (voor een dynamische web applicatie is dit scenario minder handig).

Voordelen van een statisch gegenereerde website zijn onder andere:

  • Een statische website heeft geen server-side logica nodig

  • Je hebt een beveiligde, offline beheeromgeving die niet kan gehackt worden

  • Een statische website kan gebruik maken van geolocatieroutering op verschillende zones van een Amazon of Azure omgeving

Best practices van ons Sevendays team

Bovenop alles wat voorzien is door het gebruikte framework, de extra WAF bescherming, correcte authenticatie voor login en superieure hosting provider beveiliging, voegen wij als Sevendays team nog het volgende toe:

  • We voeren interne audits uit en volgen een beveiligingschecklist vóór liveplaatsing van een applicatie

  • We respecteren de best practices van het gebruikte framework

  • We gaan zorgvuldig om met gevoelige informatie in overeenstemming met uw bedrijfsbeleid

  • We voeren als goede huisvader de beveiligingspatches en updates regelmatig uit

Rampenplan

Als het ondanks alle maatregelen toch nog fout zou gaan: dan hebben we nog altijd een “rampenplan”

  • De broncode van de applicatie wordt beheerd in een versiebeheersysteem waarvan we met minimale inspanningen een nieuwe “deploy” kunnen doen op andere, niet geinfecteerde hosting infrastructuur

  • Gegevens worden op 2 locaties beheerd: in een database en in bestanden

  • Er wordt met vaste intervallen een database backup gemaakt en de bestanden (afbeeldingen, documenten, ...) worden apart op Amazon S3 opslag met redundantie bewaard

  • Oude data recupereren kan op elk gewenst moment

 

Wil u ook “Safety first” voor uw applicatie of website? Contacteer ons!