Sicherheit

Wechseln zu: Navigation, Suche

Hinweis: Sie sind auf den Seiten der Moodle 1.9 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Sicherheit.

Jede Webapplikationssoftware ist hochkomplex, und jede Software kann Sicherheitslücken aufweisen. Das Entwickler-Team von Moodle nimmt Sicherheitsfragen sehr ernst und bemüht sich, Sicherheitslücken schnellstmöglich zu schließen.

Einleitung

  • Dieser Artikel enthält wichtige Sicherheitshinweise für Ihre Moodle-Installation.
  • Sicherheitsprobleme sollten Sie im Moodle tracker melden und als "Security issue" kennzeichnen, damit die Entwickler es schnell beheben können und registrierte Moodle-Administratoren entsprechend informieren können.
  • Sie sollten keine Exploits in Foren auf moodle.org oder sonstwo im Web posten, um Moodle-Administratoren bzw. deren Installationen zu schützen, die nicht rechtzeitig aktualisiert haben bzw. wurden.

Einfache Sicherheitsmaßnahmen

  • Die beste Sicherheitsstrategie ist ein gutes Backup.
Wichtig: Ein Backup ist erst dann "gut", wenn Sie es wiederherstellen können. Testen Sie also, ob Sie die Sicherung Ihrer Moodle-Installation auch wiederherstellen können!
  • Installieren Sie nur Software, die Sie auch wirklich benötigen und nutzen.
  • Führen Sie regelmäßig Updates durch.
  • Kümmern Sie sich um die Sicherheit auf verschiedenen Ebenen (Betriebssystem/Server, Webserver, Datenbankserver, Moodle).

Grundlegende Empfehlungen

  • Aktualisieren Sie Ihre Moodle-Installation regelmäßig und verwenden Sie möglichst immer die aktuellste Version.
Veröffentlichte Sicherheitslücken ziehen die Aufmerksamkeit von Hackern auf sich! Je älter Ihre Moodle-Version ist, um so mehr Schwachstellen kann sie enthalten.
Das hilft, XSS-Probleme durch Skripte von Dritten zu vermeiden.
  • Verwenden Sie sog. starke Passwörter!
Die Verwendung von "schwierigen" Passwörtern ist die beste Maßnahme gegen das Knacken von Nutzerkonten ("brute force" Attacken).
  • Vergeben Sie die Trainer-Rolle nur an vertrauenswürdige Nutzer. Vermeiden Sie freie Trainer-Nutzerkonten auf produktiven Moodle-Servern.
Nutzer in der Trainer-Rolle haben weitreichende Rechte, so dass hier viel schneller Situationen entstehen können, die zum Missbrauch von Daten führen.
  • Separieren Sie Ihr System so weit wie möglich von anderen Systemen und Anwendungen.
Eine grundlegende Sicherheitsvorkehrung ist die Verwendung von verschiedenen Passwörtern auf verschiedenen Systemen und die Nutzung von verschiedenen Rechnern für verschiedene Anwendungen und Dienste. Dadurch verhindern Sie die Ausbreitung des Schadens im Fall, dass ein System oder Nutzerkonto kompromittiert wurde.

Regelmäßige Aktualisierungen durchführen

  • Verwenden Sie automatische Update-Systeme.
  • Windows Update
  • Linux: up2date, yum, apt-get
Eine Möglichkeit ist die Durchführung automatischer Aktualisierungen per Skript und Cron-Job.
  • Mac OS X Update-System
  • Verwenden Sie aktuelle Versionen von PHP, Apache, MySQL und Moodle.

Mailinglisten verwenden

Nutzen Sie Mailinglisten, um auf aktuellem Stand zu bleiben:

Firewall

  • Sicherheitsexperten empfehlen eine duale Firewall.
Unterschiedliche Hardware- und Software-Kombinationen
  • Das Deaktivieren von Diensten, die nicht benötigt werden, ist häufig genau so effektiv wie eine Firewall.
Verwenden Sie den Befehl
netstat -a
, um offene Ports zu prüfen.
  • Eine Firewall allein bietet keine Garantie auf Schutz!
  • Erlaubte Ports:
80 (http), 443(ssl) und 9111 (für Chat),
Remote Admin: 22 (ssh) oder 3389 (rdp)

Kennwortregeln

Moodle1.9 Ab Moodle 1.9 können Sie unter Website-Administration > Sicherheit > Website-Rechte Kennwortregeln festlegen. Wenn Sie auf dieser Seite die Checkbox Kennwortregeln aktivieren, dann prüft Moodle die Kennwörter der Nutzer hinsichtlich der nachsteheneden Kennwortregeln:

  • Kennwortlänge legt die minimale Anzahl von Zeichen im Kennwort fest.
  • Ziffern legt die minimale Anzahl von Ziffern fest, die ein Kennwort enthalten muss.
  • Kleinbuchstaben legt die minimale Anzahl von Kleinbuchstaben fest, die ein Kennwort enthalten muss.
  • Großbuchstaben legt die minimale Anzahl von Großbuchstaben fest, die ein Kennwort enthalten muss.
  • Sonderzeichen legt die minimale Anzahl von Sonderzeichen fest, die ein Kennwort enthalten muss.

Wenn ein Nutzer ein Kennwort angibt, dass diesen Regeln nicht genügt, erscheint eine entsprechende Fehlermeldung.

Wenn Sie diese Kennwortregeln aktivieren und Ihre Nutzer anhalten, Ihr Anfangskennwort beim erstmaligen Login zu ändern, dann sind Sie auf einem guten Weg hin zur Nutzung von "starken" Passwörtern.

Seien Sie auf das Schlimmste vorbereitet!

Moodle Sicherheitwarnungen

  • Registrieren Sie Ihre Moodle-Installation auf moodle.org.
Die Administratoren registrierter Moodle-Installationen erhalten E-Mail-Benachrichtigungen, wenn Sicherheitslücken in Moodle entdeckt wurden.

Weitere Maßnahmen

Um die Gesamtsicherheit Ihres Systems zu verbessern, beachten Sie bitte folgende Hinweise:

  • Setzen Sie das MySQL Root Passwort.
  • Deaktivieren Sie den MySQL Netzwerkzugriff.
  • Verwenden Sie SSL, d.h. aktivieren Sie zumindest die Einstellung loginhttps.
  • Verwenden Sie starke Passwörter und aktivieren Sie die Kennwortregeln (ab Moodle 1.9, siehe oben).
  • Öffnen Sie Ihre Moodle-Installation nicht für Google, siehe Einstellung opentogoogle.
  • Schalten Sie das Gast-Login ab, siehe Website-Administration > Nutzer/innen > Authentifizierung > Übersicht.
  • Verwenden Sie in allen Kursen Zugangsschlüssel.
  • Deaktivieren Sie den Hinweis zum Zugangsschlüssel bei der internen Einschreibung in Kurse:
    • unter Website-Administration > Kurse > Einschreibung > Interne Einschreibung (ab Moodle 1.9.3)
    • durch Änderung des Strings enrolmentkeyhint in der Sprachdatei moodle.php (Zugriff über Website-Administration > Sprache > Texte bearbeiten): Ändern Sie den Originaltext Der Zugangsschlüssel war falsch, bitte versuchen Sie es erneut.
      (Hinweis: Der Schlüssel beginnt mit \'$a\') in Der Zugangsschlüssel war falsch, bitte versuchen Sie es erneut oder kontaktieren Sie Ihren Kursverantwortlichen.

Die sichersten/paranoidesten Dateirechte

Hinweis: Die folgenden Empfehlungen gelten nur für Linux-basierte Systeme. Dateirechte unter MS Windows funktionieren ganz anders!

Es gibt zwei verschiedene Szenarien für Ihre Serverkonstellation:

  1. Ihr Moodle läuft auf einem eigenen Server.
  2. Ihr Moodle läuft in einer Shared Hosting Umgebung.

In der nachfolgenden Beschreibung ist immer wieder vom Webserver-Nutzer und von der Webserver-Gruppe die Rede, für den Dateirechte gesetzt werden. Wie dieser Nutzer bzw. diese Gruppe heißt kann von System zu System variieren (z.B. apache oder www-data). Um das herauszufinden, melden Sie sich in Ihrem Moodle-System als Administrator an und schauen dann unter Website-Administration > Server > PHP-Informationen im Abschnitt apache2handler, Einstellung User/Group nach.

Moodle auf einem eigenen Server

In diesem Fall gehen wir davon aus, dass

  • Ihr Moodle auf einem eigenen Server läuft,
  • auf diesem Server sind keine Anmeldungen von Nutzern erlaubt sind
  • und Sie als Server-Administrator verantwortlich für Änderungen im Moodle-Code in in der Konfigurationsdatei config.php von Moodle sind.

Dann sind die striktesten Dateirechte folgende:

 Besitzer (owner): apache user (apache, httpd, www-data, o.ä. - siehe oben)
 Gruppe (group): apache group (apache, httpd, www-data, o.ä. - siehe oben)
 Dateirechte (permissions): 700 für Verzeichnisse, 600 für Dateien
  • Moodle-Verzeichnis und alle darin enthaltenen Unterverzeichnisse und Dateien (inclusive config.php):
 Besitzer (owner): root
 Gruppe (group): root
 Dateirechte (permissions): 755 für Verzeichnisse, 644 für Dateien

Wenn Sie lokale Anmeldungen für "echte" Nutzer auf Ihrem Server zulassen, dann sollten Sie für das Moodle-Verzeichnis folgende Einstellungen wählen:

 Besitzer (owner): root
 Gruppe (group): apache group (apache, httpd, www-data, o.ä. - siehe oben)
 Dateirechte (permissions): 750 für Verzeichnisse, 640 für Dateien

Betrachten Sie diese Rechte als die "paranoidesten". Sie können Ihren Server auch mit weniger strengen Dateirechten für das Moodle-Verezichnis und das Moodle-Datenverzeichnis sicher betreiben.

Moodle in einer Shared Hosting Umgebung

Wenn Ihr Moodle-System in einer Shared Hosting Umgebung läuft, dann sind die obigen Einstellungen wahrscheinlich nicht geeignet bzw. falsch. Wenn Sie nämlich die Dateirechte auf 700 für Verzeichnisse und 600 für Dateien setzen, dann hat der Webserver-Nutzer wahrscheinlich keinen Zugriff auf Ihre Verzeichnisse und Dateien.

Wenn Sie Ihre Dateirechte dennoch so strikt wie möglich setzen möchten, benötigen Sie folgende Informationen:

  • den Nutzer und die Gruppe des Webserver-Nutzers (siehe oben),
  • den Besitzer der Verzeichnisse und Dateien im Moodle-Verzeichnis und im Moodle-Datenverzeichnis (normalerweise ist das der Nutzer, als der Sie bei Ihrem Provider registriert sind und als der Sie sich auf den Server des Providers anmelden) sowie die Gruppe dieser Verzeichnisse und Dateien. An diese Informationen gelangen Sie über den Dateimanager Ihres Hosting Control Panels: Wechseln Sie ins Moodle-Verzeichnis und versuchen Sie, dessen Besitzer/Gruppe/Dateirechte zu ändern. Dann erhalten Sie normalerweise die aktuellen Daten (Besitzer/Gruppe/Dateirechte) angezeigt. Tun Sie dasselbe mit dem Moodle-Datenverzeichnis.

In Abhängigkeit davon, wie Ihre Situation ist, setzen Sie für das Moodle-Datenverzeichnis folgende Dateirechte (die Auflistung erfolgt mit abnehmender Sicherheit, d.h. die strikteste Einstellung steht an erster Stelle in der Liste):

  1. Wenn der Webserver-Nutzer und der Besitzer der Dateien und Unterverzeichnisse im Moodle-Datenverzeichnis übereinstimmen, wählen Sie 700 für Verzeichnisse und 600 für Dateien.
  2. Wenn die Webserver-Gruppe und die Gruppe der Dateien und Unterverzeichnisse im Moodle-Datenverzeichnis übereinstimmen, wählen Sie 770 für Verzeichnisse und 660 für Dateien.
  3. Wenn keine der beiden obigen Situationen vorliegt, können Sie nur die (unsichere) Einstellung 777 für Verzeichnisse und 666 für Dateien wählen. Die Einstellungen 707 für Verzeichnisse und 606 für Dateien wäre sicherer und kann funktionieren, muss aber nicht.

Tatsächlich müssen Sie die obigen Einstellungen nur für das Moodle-Datenverzeichnis vornehmen, da alle Dateien und Unterverzeichnisse innerhalb des Moodle-Datenverzeichnisses vom Webserver-Nutzer erzeugt werden und daher automatisch die richtigen Dateirechte haben.

Für das Moodle-Verzeichnis gilt folgendes: Solange der Webserver-Nutzer Dateien innerhalb des Verzeichnisses lesen und Unterverzeichnisse lesen und ausführen kann, genügt das. Einziger Nachteil ist, dass Sie die Moodle-Konfigurationsdatei config.php während der Installation manuell erstellen müssen, da Moodle (bzw. der Webserver-Nutzer) diese nicht erstellen kann (weil er keine Schreibrechte auf dem Moodle-Verzeichnis hat).

Siehe auch

Diskussionsbeiträge im Kurs Using Moodle auf moodle.org: