Home
» Hoe
»
Wat er nodig is om een A+ beveiligingsrating voor Nextcloud te behalen
Wat er nodig is om een A+ beveiligingsrating voor Nextcloud te behalen
Je Nextcloud-site kan normaal functioneren en toch een onvoldoende score krijgen bij een externe beveiligingsscan. Veelvoorkomende oorzaken zijn een verouderde of niet langer ondersteunde serverversie, het ontbreken van een HSTS-header of een reverse proxy die HTTPS voor Nextcloud verbergt. Begin met het bijwerken van Nextcloud, dwing HTTPS af aan de rand van de openbare webserver, configureer de proxyvertrouwensinstellingen nauwkeurig en verwijder de waarschuwingen die worden weergegeven op de beheerderspagina van Nextcloud zelf.
Er bestaat geen universele "A+"-standaard. De officiële beveiligingsscan van Nextcloud beoordeelt een publiekelijk toegankelijke Nextcloud-server aan de hand van bekende beveiligingsadviezen en controles die van buitenaf kunnen worden uitgevoerd; SSL Labs beoordeelt de TLS-configuratie. Beschouw elke beoordeling als een momentopname, niet als bewijs dat de server veilig is of als een garantie tegen onbekende kwetsbaarheden.
1. Identificeer de scanner en update de server.
Noteer welke scanner de beoordeling heeft gegenereerd voordat u de instellingen wijzigt. De officiële scan van Nextcloud rapporteert bekende kwetsbaarheden, verouderde versies en zichtbare beveiligingsproblemen. Een beoordeling die alleen betrekking heeft op TLS kan afkomstig zijn van SSL Labs. Los de waarschuwingen van de scanner die u gebruikt op en voer dezelfde scan opnieuw uit; verschillende services gebruiken namelijk verschillende criteria.
Controleer in de Nextcloud-beheerinstellingen de serverversie en eventuele beveiligings- of installatiewaarschuwingen. Upgrade naar een ondersteunde Nextcloud-versie en installeer de meest recente beveiligingsupdates voordat u de headers aanpast. Een oude versie kan kwetsbaar blijven, zelfs als een headerscanner een A+-status aangeeft. Als er geen upgrade beschikbaar is voor uw installatiepakket, volg dan het ondersteunde upgradepad van dat pakket in plaats van bestanden handmatig te vervangen.
2. Vereis HTTPS en voeg HSTS toe
Zorg ervoor dat de openbare Nextcloud-URL via HTTPS beschikbaar is met een geldig certificaat en leid onversleuteld HTTP-verkeer om naar HTTPS. De beveiligingsrichtlijnen van Nextcloud bevelen HTTPS aan op productieservers. Voeg vervolgens HTTP Strict Transport Security (HSTS) toe aan de server of proxy die het openbare HTTPS-antwoord verzendt. De beheerderswaarschuwing van Nextcloud adviseert een Strict-Transport-Securitymax-age van minimaal 15.552.000 seconden.
Voeg voor Nginx een instructie zoals deze toe aan het actieve TLS-serverblok, waarbij u de hostnaam vervangt en de rest van uw bekende, correcte Nextcloud-configuratie behoudt:
Stel HSTS in op het HTTPS-serverblok dat reacties naar openbare bezoekers verzendt.
Gebruik dit includeSubDomainsalleen als elk subdomein ook via HTTPS beschikbaar is. Voeg de optionele preloadvlag niet zomaar toe: het kan maanden duren voordat een domein uit de preload-lijsten van browsers wordt verwijderd na indiening. Als een reverse proxy TLS afhandelt, configureer dan HSTS op die publiekelijk toegankelijke proxy; het instellen ervan alleen op een interne Nextcloud-host verandert mogelijk niet de header die de scanner ziet.
Nextcloud verstuurt standaard al basisheaders zoals X-Content-Type-Options, X-Frame-Options, Referrer-Policyen X-Robots-Tagin een standaardomgeving. Voeg geen dubbele of conflicterende versies toe voordat u het antwoord controleert. De voorbeeldconfiguratie van Nextcloud voor Nginx laat zien hoe u deze headers via Nginx kunt versturen.
3. Configureer een reverse proxy zonder elke client te vertrouwen.
Als er een reverse proxy voor Nextcloud staat, vermeld dan alleen het daadwerkelijke IP-adres of het privénetwerkbereik van die proxy onder trusted_proxies. Nextcloud gebruikt doorgestuurde client-IP-headers alleen voor vertrouwde proxies; het vertrouwen op onjuiste adressen kan ertoe leiden dat clients hun schijnbare IP-adres vervalsen en toegangscontroles of logboeken omzeilen.
Als de TLS-terminerende proxy zich bijvoorbeeld op bevindt 10.0.0.10, voeg dan de relevante vermeldingen samen in de bestaande $CONFIGarray in config/config.php:
Dit zijn slechts voorbeeldvermeldingen. Gebruik het echte proxy-IP-adres en voeg deze samen met de bestaande Nextcloud-configuratie.
Stel overwriteprotocoldit in op httpshet moment dat TLS eindigt bij de proxy en Nextcloud de interne HTTP-verbinding anders detecteert als openbare HTTP. Als uw proxy een niet-standaard forwarded-IP-header gebruikt, configureer deze dan forwarded_for_headerszodat deze exact overeenkomt. Stel geen breed vertrouwd bereik in, zoals 0.0.0.0/0. Controleer na het bewerken van het bestand de samengevoegde configuratie en test het aanmelden, delen en de gegenereerde links.
4. Wis de resterende Nextcloud-waarschuwingen.
Open de beheerdersinstellingen en bekijk het overzicht of de beveiligings- en installatiewaarschuwingen. Los de weergegeven waarschuwing op in plaats van irrelevante beveiligingsmaatregelen toe te passen om een hogere score te behalen.
HSTS ontbreekt: controleer het antwoord van het openbare HTTPS-eindpunt, vooral wanneer een proxy of load balancer de TLS-verbinding verbreekt.
De server lijkt HTTP te gebruiken: controleer of HTTPS aan de rand van het netwerk is geconfigureerd en, indien nodig, is ingesteld overwriteprotocolvoor de vertrouwde proxy-configuratie.
Debugmodus ingeschakeld: laat debugdeze in productie uitgeschakeld; schakel deze alleen in voor gerichte probleemoplossing en schakel hem daarna weer uit.
Proxy- of client-IP-waarschuwing: controleer het werkelijke bronadres van de proxy en de doorgestuurde header voordat u de instellingen voor vertrouwde proxy's wijzigt.
Bekende kwetsbare of niet langer ondersteunde versie: update Nextcloud en de betreffende serverpakketten via de ondersteunde upgradeprocedure.
Beperk beheerdersacties alleen allowed_admin_rangesals beheerders beschikken over stabiele, bekende IP-adressen voor beheer. Een onjuist IP-adresbereik kan beheerdersfuncties ontoegankelijk maken voor legitieme beheerders. De beveiligingshandleiding van Nextcloud raadt ook aan om HTTP-compressie uit te schakelen om BREACH te voorkomen; controleer de configuratie van uw webserver of proxy als compressie is ingeschakeld voor geauthenticeerde pagina's.
5. Controleer de reactie van het publiek en voer de scans opnieuw uit.
Controleer wat een externe client daadwerkelijk ontvangt, niet alleen wat het configuratiebestand bevat:
curl -I https://cloud.example.com
Controleer of het antwoord een HSTS-header bevat met de beoogde max-age en of de standaard Nextcloud-beveiligingsheaders aanwezig zijn. De ontwikkelaarstools van een browser kunnen dezelfde antwoordheaders weergeven. Als de waarden afwijken van uw configuratie, controleer dan de TLS-terminator, proxy en eventuele gecachede of geneste Nginx-locaties.
Controleer de headers die door de openbare HTTPS-URL worden teruggestuurd; een configuratieregel alleen geeft geen uitsluitsel over wat bezoekers ontvangen.
Voer vervolgens de officiële Nextcloud-beveiligingsscan uit op de openbare hostnaam en controleer daarna de beheerdersinstellingen opnieuw. Gebruik Qualys SSL Labs als u een aparte TLS-score en details nodig hebt. De officiële scan vereist een bereikbare Nextcloud-hostnaam; deze kan een privé-instantie die via het openbare internet bereikbaar is, niet beoordelen.
Voer na uw wijzigingen de officiële scan uit op de openbare hostnaam; de score is een momentopname, geen veiligheidsgarantie.
Als de score onder A+ blijft, gebruik dan de specifieke bevinding om de verantwoordelijke laag te identificeren. Los één probleem tegelijk op, controleer of Nextcloud nog steeds werkt via de openbare URL en voer opnieuw een scan uit. A+ is een nuttig signaal voor de configuratie, maar patches, back-ups, toegangsbeheer en continue monitoring blijven noodzakelijk, ook nadat de scan is geslaagd.