Beveiliging

Uit MoodleDocs
Ga naar:navigatie, zoeken

Webapplicaties zijn complex en er steken van tijd tot tijd wel eens beveiligingskwesties de kop op. Vaak gaat het dan om combinaties van input die de programmeurs niet hadden voorzien. Binnen het Moodle project wordt veiligheid serieus genomen en worden dergelijke issues direct verholpen zodra ze worden gevonden.

Woord vooraf

  • In dit artikel vindt u belangrijke maatregelen voor de beveiliging van uw Moodle installatie.
  • Vriendelijk verzoek om veiligheidsproblemen direct te melden op http://security.moodle.org. Ontwikkelaars kunnen deze namelijk altijd over het hoofd zien en om aanvallen te voorkomen dienen deze problemen te zijn opgelost voordat ze naar het brede publiek worden gepuliceerd.
  • Plaats aub om dezelfde reden geen exploits op forums of in de bugtracker.

Eenvoudige veiligheidsmaatregelen

  • De beste beveiligingsstrategie is een goede backup! Maar u heeft geen goede backup als u deze niet daadwerkelijk kunt herstellen. Test daarom uw herstel procedures!
  • Start alleen software en services op die u daadwerkelijk gebruikt
  • Voer regelmatig updates uit
  • Bouw de beveiliging van uw Moodle site op in lagen, zoals de kleding die u draagt op een koude winterdag.

Basale maatregelen

  • Update Moodle regelmatig na elke release
Gepuliceerde zwakke plekken trekken de aandacht van hackers na een release. Hoe ouder de versie, des te meer zwakke plekken deze waarschijnlijk zal bevatten.
  • zet register globals uit
hiermee voorkomt u mogelijke XSS problemen in scripts van derden.
  • Gebruik "sterke" wachtwoorden voor administrators en docenten
Met moeilijke wachtwoorden voorkomt u "brute kracht" pogingen om accounts te kraken.
  • Verleen alleen docentenaccounts aan gebruikers die u vertrouwt en vermijd pulieke sandboxes met docentenaccounts op productie servers.
Met docentenpermissies kunnnen makkelijker situaties ontstaan waarin gegevens worden misbruikt of gestolen.
  • Breng zo veel mogelijk scheiding aan in uw systemen.
Een andere basismaatregel is het gebruiken van verschillende wahtwoorden op verschillende systemen, verschillende machines voor verschillende services enz. Zo voorkomt u wijdverspreide schade als de beveiliging van een enkele account of server is doorbroken.

Verricht regelmatig updates

  • Gebruik automatische update systemen
Windows Update
Linux: up2date, yum, apt-get
Mac OSX update systeem
  • Automatiseer updates met behulp van het cron script
  • Blijf bij met php, apache en moodle versies

Gebruik mailings lijsten om bij te blijven

Firewalls

  • Beveiligingsexperts raden dubbele firewalls aan
Verschillende hard- en software combinaties
  • Uitzetten van ongebruikte services is vaak net zo effectief als een firewall
  • Gebruik netstat -a om open network poorten te bekijken
Biedt geen garantie voor bescherming
  • Zet de volgende poorten open:
80, 443(ssl), en 9111 (chat),
Remote admin: ssh 22, of rpd 3389

Bereid u voor op het ergste

Moodle veiligheidsmeldingen

  • Registreer uw Moodle site op Moodle.org
Geregistreerde gebruikers ontvangen email waarschuwingen
  • Veiligheidsmeldingen worden ook online gepubliceerd
Web - http://security.moodle.org/
RSS feed - http://security.moodle.org/rss/file.php/1/1/forum/1/rss.xml

Overig

Onderstaand nog een aantal zaken die de algemene veiligheid van uw Moodle installatie beinvloeden:

  • Zet uit: opentogoogle
  • Gebruik SSL, httpslogins=yes
  • Zet uit: guest access
  • Gebruik sleutels voor alle cursussen
  • Gebruik goede wachtwoorden
  • Gebruik de secure forms setting
  • Set het mysql root user wachtwoord
  • Zet mysql netwerk toegang uit

Bestandenpermissies voor optimale veiligheid

Aangenomen dat uw Moodle installatie op een sealed server draait, (dwz geen gebruiker logins toegestaan op de machine) en dat de root user verantwoordelijk is voor aanpassingen aan de moodle code en configuratie (config.php), dan zijn dit de veiligste instellingen:

1. moodledata map en alle inhoud (submappen, inclusief sessies):

owner: apache user (apache, httpd, www-data, whatever)
group: apache group (apache, httpd, www-data, whatever)
perms: 700 on directories, 600 on files

2. moodle map, alle inhoud en submappen (inclusief config.php):

owner: root
group: root
perms: 755 on directories, 644 on files.

Als u lokale logins toestaat, moet 2 zijn:

owner: root
group: apache group
perms: 750 on directories, 640 on files

NB. Deze instellingen zijn het meest vergaand wat betreft beveiliging. U kunt met minder strikte permissies redelijk beveiligd zijn voor de mappen moodledata en moodle (inclusief submappen).

Zie ook