Tillid

Sikkerhed

Sådan beskytter hjemmesiden administration, sessioner og lokale data.

Sikkerhed

Sikkerhedsmodel

  • Adgang kræver login
  • Adgangskoder hashes med PHP PASSWORD_DEFAULT
  • Login begrænses efter gentagne fejl
  • Sessioncookies er HttpOnly, SameSite=Lax og Secure under HTTPS
  • Alle ændringer kræver CSRF-token
  • Brugerdata isoleres med ejerskabskontrol i SQL
  • Kalenderhemmeligheder krypteres med Sodium
  • Content Security Policy begrænser scripts, billeder og forbindelser
  • Eksterne serverkald begrænses til validerede offentlige HTTPS-adresser
  • SQLite, konfiguration og cache placeres uden for den offentlige webrod

Personlige søgemaskiner

Brugeren kan gemme op til to HTTPS-søgeskabeloner. Hver skabelon skal indeholde {query} præcis én gang og må ikke indeholde brugernavn eller adgangskode. Søgeord URL-kodes i browseren, og resultatet åbnes med noopener og noreferrer. Funktionen sender søgeordet til den tjeneste, brugeren selv har valgt; startsiden kan ikke styre den eksterne tjenestes behandling af data.

Drift

  • Brug altid HTTPS
  • Lad domænet pege på mappen public
  • Hold PHP og webserver opdateret
  • Tag regelmæssig backup af config.php og storage
  • Begræns adgangen til webhotellets kontrolpanel
  • Brug tofaktorgodkendelse hos webhotellet
  • Del aldrig kalenderens hemmelige iCal-adresse

Google OAuth

Google OAuth Client Secret samt brugernes adgangs- og fornyelsestokens gemmes krypteret i SQLite med installationens app_key. De medtages ikke i personlig eksport. En fuld serverbackup indeholder dog de krypterede værdier og skal beskyttes sammen med config.php, som indeholder dekrypteringsnøglen.

Google Kalender-forbindelsen modtager aldrig brugerens Google-adgangskode. OAuth-callbacken valideres med en tilfældig state-værdi. Redirect-adressen skal bruge HTTPS og svare nøjagtigt til app_url i config.php.

Rapportering

Før en offentlig udgivelse skal rettighedshaveren angive en sikker, ikke-offentlig kontaktvej til rapportering af sårbarheder.

Offentliggør ikke aktive sårbarheder, kalenderadresser, databasefiler, konfigurationsfiler eller personoplysninger i en offentlig fejlrapport.

Afgrænsning

Projektet udfører ikke en antivirus- eller indholdskontrol af eksterne RSS-links. Links åbnes i et nyt vindue med noopener og noreferrer, men brugeren skal fortsat vurdere det eksterne websteds troværdighed.