Pfad
Start / Leistungen / E-Learning
Systeme
Moodle 4.1 LTS bis 5.x, ILIAS 8 bis 10
Anbindungen
LTI, SSO, Campus-Management
Gemeldete Sicherheitslücken
45+

Moodle und ILIAS kennen wir von innen.

Plugins, Anbindungen und Upgrades für Hochschulen und Unternehmen. Wir haben über 45 Sicherheitslücken in beiden Systemen gemeldet und wissen, wo Erweiterungen typischerweise brechen.

1Typische Projekte

Plugins & Erweiterungen
Neue Funktionen, die sich wie ein Teil der Plattform anfühlen.
LTI-Anbindungen
Externe Werkzeuge einbinden oder Ihre Anwendung als LTI-Tool bereitstellen.
Single Sign-on
Shibboleth, SAML, OAuth2 oder LDAP, passend zu Ihrem Identitätsdienst.
Campus-Management
Kurse, Einschreibungen und Noten automatisch abgleichen.
Upgrades & Migration
Auf neue Versionen, inklusive Bestandsaufnahme aller Fremd-Plugins.
Prüfung bestehender Plugins
Codequalität und Sicherheit, bevor ein Plugin produktiv geht.

2Worauf wir achten

Vier Zeilen, an denen die meisten Sicherheitslücken in Moodle-Plugins entstehen. Wir haben sie in fremdem Code oft genug gefunden.

mod/example/view.php
require_login($course, false, $cm);
$context = context_module::instance($cm->id);
require_capability('mod/example:view', $context);       ①

$id = required_param('id', PARAM_INT);                  ②
$entry = $DB->get_record('example_entries',
    ['id' => $id, 'exampleid' => $cm->instance],        ③
    '*', MUST_EXIST);

echo $OUTPUT->render_from_template('mod_example/entry', [
    'title' => format_string($entry->name),             ④
]);
  1. ①Rechte zuerst. Login und Capability im richtigen Kontext, bevor irgendetwas passiert.
  2. ②Eingaben typisieren. Kein $_GET, kein PARAM_RAW ohne Grund.
  3. ③Datensatz an die Instanz binden. Sonst liest jeder mit Login fremde Einträge (IDOR).
  4. ④Ausgabe filtern. Über format_string und Mustache-Templates, nicht als HTML-String.

Dazu kommen Moodle-Coding-Guidelines, PHPUnit und Behat in der CI über moodle-plugin-ci und ein Security-Review vor jeder Auslieferung. Mehr dazu unter Sicherheit.

3Beispiel

AusgangslageEin Plugin aus Moodle-3.x-Zeiten, der Entwickler ist nicht mehr erreichbar, das nächste Upgrade steht an.

Abb. 3.1: Lebenslauf eines Plugins
MOODLE 3.13.93.11 4.1 LTS4.5 LTS5.05.1 VORHER local_report 1.x NICHT MEHR GEPFLEGT NACH DER ÜBERNAHME local_report 2.x 1 2UPGRADE 3PFLEGE JE RELEASE GETESTET IN DER CI
  1. ①Bestandsaufnahme. Was das Plugin tut, wo Rechteprüfungen fehlen, welche APIs entfernt wurden.
  2. ②Upgrade auf 4.1 LTS mit automatisierten Tests für jede unterstützte Version.
  3. ③Danach Pflege zu jedem Moodle-Release, auf Wunsch per Wartungsvertrag.

4Häufige Fragen

Moodle oder ILIAS?

Wir arbeiten mit beiden und beraten neutral. Oft ist die Frage ohnehin schon entschieden, dann geht es darum, das Beste aus dem vorhandenen System zu holen.

Wir haben viele Fremd-Plugins. Ist ein Upgrade trotzdem möglich?

Ja. Wir prüfen jedes Plugin einzeln: aktualisieren, ersetzen oder entfernen, und sagen Ihnen vorher, was das jeweils bedeutet.

Betreiben Sie auch die Plattform?

Auf Wunsch ja, mit Updates, Backups und Monitoring. Mehr unter Wartung & Betrieb.

5 / Kontakt

Was soll Ihre Lernplattform können?

Beschreiben Sie Ihr Vorhaben in drei kurzen Schritten. Wir melden uns in der Regel innerhalb eines Werktags.