Sikkerhed
Sikkerhedsmodel
- Adgang kræver login
- Adgangskoder hashes med PHP
PASSWORD_DEFAULT - Login begrænses efter gentagne fejl
- Sessioncookies er
HttpOnly,SameSite=LaxogSecureunder 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.phpogstorage - 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.