For the complete documentation index, see llms.txt. This page is also available as Markdown.

Sikkerhetsveiledning

Denne veiledningen dekker sikkerhetsmessige beste praksiser for å kjøre en Chamilo 3.0-plattform i produksjon. Sikkerhet er et delt ansvar mellom plattformprogramvaren, serverkonfigurasjonen din og løpende driftspraksis.

For de innebygde overvåkings- og revisjonsverktøyene som det vises til gjennom hele denne veiledningen (logger over innloggingsforsøk, inntrengingsdeteksjon, skanning av passordstyrke og kontroll av filintegritet), se kapitlet Sikkerhet.

Hold Chamilo oppdatert

Den viktigste sikkerhetspraksisen er å holde Chamilo-installasjonen oppdatert.

  • Abonner på Chamilo-sikkerhetskontoen på X (@chamilosecurity) eller følg GitHub-repositoriet for kunngjøringer om utgivelser.

  • Bruk sikkerhetsoppdateringer raskt. Mindre oppdateringer innen 3.0-grenen er utformet for å være trygge å bruke.

  • Følg oppgraderingsprosessen for hver oppdatering.

HTTPS

Server alltid Chamilo over HTTPS i produksjon.

  • Skaff et SSL/TLS-sertifikat (Let's Encrypt tilbyr gratis sertifikater via Certbot).

  • Konfigurer webserveren slik at all HTTP-trafikk omdirigeres til HTTPS.

  • Aktiver HSTS-hodet (HTTP Strict Transport Security) for å forhindre nedgraderingsangrep:

    Strict-Transport-Security: max-age=31536000; includeSubDomains

Uten HTTPS overføres innloggingsopplysninger, øktinformasjonskapsler og all brukerdata i klartekst og kan avlyttes på nettverket.

Filrettigheter

Begrens filrettighetene til det som er strengt nødvendig.

Bane
Eier
Rettigheter
Merknader

Applikasjonsfiler (kildekode)

root eller deploy-bruker

755 (mapper), 644 (filer)

Webserveren trenger skrivebeskyttet tilgang.

var/

webserverbruker

775

Må være skrivbar for Symfony-hurtigbuffer, logger og filopplastinger

.env

root eller deploy-bruker

640

Inneholder hemmeligheter. Webserveren trenger kun lesetilgang under normal bruk, men trenger skrivetilgang under installasjon.

config/

root eller deploy-bruker

750

Inneholder hemmeligheter. Webserveren trenger kun lesetilgang under normal bruk, men trenger skrivetilgang under installasjon.

Sett aldri rettighetene til 777. Kjør aldri webserveren som root.

Passordpolicyer

Konfigurer strenge passordkrav i Sikkerhetsinnstillinger:

  • Minimumslengde på 8 tegn (12+ anbefales).

  • Krev en blanding av store bokstaver, små bokstaver, tall og spesialtegn.

  • Vurder å aktivere passordutløp i miljøer drevet av samsvarskrav.

  • Opplær brukerne i å velge sterke, unike passord.

Hastighetsbegrensning og beskyttelse mot brute-force

Applikasjonsnivå

  • Sett Maksimalt antall innloggingsforsøk før kontoen blokkeres (login_max_attempt_before_blocking_account) til en lav verdi (for eksempel 5).

  • Aktiver CAPTCHA på innloggingssiden. CAPTCHA er av/på — den slås ikke automatisk på etter N mislykkede innlogginger. Kombiner den med CAPTCHA-feil før blokkering (captcha_number_mistakes_to_block_account) for å låse en konto som fortsetter å feile CAPTCHA.

  • Gå jevnlig gjennom rapporten Innloggingsforsøk for å oppdage brute-force-mønstre, og rapporten Simple IDS for andre flaggede forespørsler (XSS-forsøk, path traversal og lignende).

Servernivå

Bruk fail2ban til å overvåke innloggingsfeil og blokkere aktuelle IP-adresser:

Opprett et tilsvarende filter i /etc/fail2ban/filter.d/chamilo-auth.conf som matcher loggoppføringer for autentiseringsfeil.

Øktadministrasjon

  • Sett en rimelig øktlevetid (f.eks. 3600 sekunder / 1 time) i sikkerhetsinnstillingene.

  • Konfigurer flagg for øktinformasjonskapsler i Symfony-konfigurasjonen:

  • Vurder å deaktivere «Husk meg» på plattformer med sensitivt innhold.

HTTP-sikkerhetshoder

Konfigurer webserveren til å sende sikkerhetshoder:

Header
Value
Purpose

X-Content-Type-Options

nosniff

Hindrer sniffing av MIME-type.

X-Frame-Options

SAMEORIGIN

Hindrer clickjacking via iframes.

X-XSS-Protection

1; mode=block

Eldre XSS-beskyttelse for eldre nettlesere.

Referrer-Policy

strict-origin-when-cross-origin

Styrer lekkasje av referrer-informasjon.

Content-Security-Policy

Varierer

Styrer hvilke ressurser som kan lastes. Krever nøye tilpasning for Chamilo.

Eksempel for Apache:

Eksempel for Nginx:

Sikkerhet for filopplasting

  • Blokker kjørbare filendelser (exe, bat, sh, php, phtml, cgi) i Sikkerhetsinnstillinger.

  • Konfigurer webserveren til aldri å kjøre opplastede filer. For Apache, legg til for hele var/-katalogen:

  • Skann opplastede filer med et antivirusprogram (ClamAV) dersom miljøet krever det.

Databasesikkerhet

  • Bruk en dedikert databasebruker for Chamilo med kun de privilegiene den trenger (SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX på Chamilo-databasen).

  • Ikke bruk root-databasekontoen.

  • Sørg for at databasen ikke er tilgjengelig fra det offentlige internett. Bind den til localhost eller et privat nettverk.

  • Aktiver revisjonslogging for databasen i miljøer med samsvarskrav.

Sikkerhetskopier

  • Planlegg daglige automatiserte sikkerhetskopier av både databasen og opplastede filer.

  • Lagre sikkerhetskopier på et annet sted enn serveren (eksternt eller skylagring).

  • Test gjenoppretting av sikkerhetskopier jevnlig for å verifisere at de er brukbare.

  • Krypter sikkerhetskopier dersom de inneholder sensitive data.

Se Sikkerhetskopier for detaljerte instruksjoner.

Overvåking

  • Overvåk Chamilo-logger på var/log/prod.log for feil og mistenkelig aktivitet.

  • Sett opp serverovervåking (CPU, minne, disk) for å oppdage ressursutmattelse.

  • Konfigurer varsler for gjentatte autentiseringsfeil.

  • Gå jevnlig gjennom brukerkontoer for uautoriserte eller inaktive kontoer.

  • Planlegg Filintegritet-sjekker (Chamilo 3.0+) i cron for å bli varslet når installerte filer endres uventet, og kjør Passordstyrkesjekker jevnlig, særlig etter masseimport av brukere.

Sjekkliste

Bruk denne sjekklisten ved utrulling eller revisjon av en Chamilo-installasjon:

Sist oppdatert

Var dette nyttig?