Sentinel — Nextcloud-Sicherheitsprüfungen installieren und ausführen

erreichen, und arbeite die Funde durch.

Installation

  1. Melde dich in deinem MediaLab-Works-Konto an, öffne Lizenzen und lade das App-Archiv sentinel-x.y.z.tar.gz herunter (verfügbar mit aktivem Abonnement, einer Lifetime-Lizenz innerhalb ihres Update-Zeitraums oder während des kostenlosen 30-tägigen Testzeitraums).
  2. Entpacke es in den Nextcloud-Ordner apps/ (oder custom_apps/), sodass du apps/sentinel/ erhältst, im Besitz des Webserver-Benutzers:
    cd /var/www/nextcloud/apps
    sudo tar -xzf ~/sentinel-x.y.z.tar.gz
    sudo chown -R www-data:www-data sentinel
    
  3. Aktiviere es: sudo -u www-data php occ app:enable sentinel oder über die Seite Apps.
  4. Öffne Verwaltungseinstellungen → Sentinel → License, füge deinen Lizenzschlüssel ein und speichere. Die App kontaktiert den Lizenzserver, bindet den Schlüssel an diese Nextcloud-Instanz und zeigt die Lizenz als Active an.

Lizenz

Die Lizenz wird einmal täglich geprüft. Ohne Internet arbeitet die App 7 Tage nach der letzten erfolgreichen Prüfung weiter; danach wird sie gestoppt, bis sie wieder prüfen kann.

Ohne gültige Lizenz wird die App gestoppt: Die Watcher und Hintergrund-Jobs laufen nicht, es werden keine Warnungen gesendet, ihre Seiten und die API antworten mit dem Grund, und nur der Abschnitt License funktioniert weiter (dort kannst du den Testzeitraum starten, den Schlüssel eingeben oder verlängern). Nichts wird gelöscht: Die Baseline, das Journal und jede Einstellung bleiben erhalten, und die Überwachung nimmt ihre Arbeit wieder auf, sobald die Lizenz gültig ist.

Erste Schritte

  1. Take the baseline, sobald du mit dem Zustand der Installation zufrieden bist, in dem sie sein sollte: sudo -u www-data php occ sentinel:baseline take (oder im Baseline-Abschnitt der Seite). Von da an werden nur Änderungen seit diesem Zeitpunkt gemeldet.
  2. Stell sicher, dass Warnungen ankommen: Wähle unter Being told ab welcher Schwere Glocke und E-Mail verwendet werden, füge eine zusätzliche Adresse hinzu (idealerweise eine, die ein Telefon erreicht), lege die Stunde der täglichen Zusammenfassung fest und drücke Send a test message.
  3. Lies die Overview: in welchem Zustand sich der Server befindet, was überwacht wird und was nicht, und ob Warnungen jemanden erreichen würden.

Konfiguration

Alles liegt auf Verwaltungseinstellungen → Sentinel (dieselbe Konsole befindet sich auch im oberen Menü). Nichts ist fest verdrahtet:

Abschnitt Was du einstellst
Being told Glocke, E-Mail, ab welcher Schwere jeweils, zusätzliche Adressen, tägliche Zusammenfassung und ihre Stunde
Watching Ob überwacht wird, wie oft, wer benachrichtigt wird, ab welcher Schwere, wie lange das Journal aufbewahrt wird
What counts as too old Veraltete App-Passwörter, ungenutzte Sitzungen, ruhende Administratoren, Links ohne Ablaufdatum
The files Welche Teile der Installation die Baseline abdeckt, Dateiarten, Ausnahmen, Größenlimit, Hash
Where people sign in from Netzwerke merken oder nicht, bei neuen warnen, wie genau ein Netzwerk ist, zu ignorierende Konten
Public links Link-Nutzung beobachten, ab wie vielen Besuchern sich ein Link lohnt, wie weit über den eigenen Rekord des Links, fehlgeschlagene Passwortversuche, die als Raten gelten
Files changing very fast Fenster, Anzahl von Überschreibungen, Löschungen oder Umbenennungen auf eine Erweiterung, und ob nur gewarnt oder das Konto deaktiviert wird
Asking the server what it serves Sonde an/aus, zusätzliche Pfade, Tage der Warnung vor Ablauf des Zertifikats
Which program is writing Ob der EDR-Daemon erwartet wird und wo er seine Berichte ablegt
A scanner to ask ClamAV verwenden, dessen Socket, wie viel von einer Datei gesendet wird

Optionaler EDR-Daemon (mitgeliefert in apps/sentinel/edr/, läuft als root außerhalb von Nextcloud):

cd /var/www/nextcloud/apps/sentinel/edr
sudo sh install.sh
sudoedit /etc/sentinel-edr/config.ini    # at minimum data_dir
sudo sh install.sh                       # again, to grant the paths it needs
sudo systemctl enable --now sentinel-edr

Der tägliche Gebrauch

  • Reagiere auf Funde aus der Übersicht: Jeder sagt, was er bedeutet, was passiert, wenn er ignoriert wird, und hat die Lösung (ablaufen lassen, widerrufen, entfernen) gleich daneben.
  • Genehmige nach einem Nextcloud- oder App-Update die geänderten Dateien: occ sentinel:baseline accept --all --note "Nextcloud 34.0.4". Danach bleiben nur unerklärte Änderungen übrig.
  • Aus einem Terminal: occ sentinel:check (der Bericht; --inventory, --json, --quiet-when-clean, --probe). Der Exit-Code ist ungleich null, wenn etwas Aufmerksamkeit braucht — ein wöchentlicher Cron-Eintrag, der nur bei Fehler mailt, ist also eine Zeile.
  • Turning Sentinel off (Ende der Seite): Überwachung pausieren, die App abschalten und dabei alles behalten, oder sie mit allen gespeicherten Einträgen entfernen. occ app:disable sentinel behält alles; occ sentinel:remove löscht sie.

Fehlerbehebung

  • Der Integritätsabschnitt listet direkt nach der Installation viele geänderte Dateien auf: Es wurde noch keine Baseline aufgenommen, oder ein Update wurde nicht genehmigt. Nimm sie auf oder führe nach der Prüfung occ sentinel:baseline accept --all --note "..." aus.
  • Nichts wird überwacht, obwohl die App aktiviert ist: Die Hintergrund-Jobs müssen laufen (Cron). Öffne nach einem Deaktivieren und erneuten Aktivieren einmal die Sentinel-Seite: Die Jobs werden wieder eingetragen, und die Einrichtungsprüfung meldet es.
  • E-Mail-Warnungen kommen nicht an: Prüfe die E-Mail-Server-Einstellungen von Nextcloud und nutze Send a test message. Administratoren ohne E-Mail-Adresse bekommen nur die Glocke.
  • Das Entfernen mit occ app:remove sentinel hat Tabellen in der Datenbank zurückgelassen: Entferne sie stattdessen in der App selbst oder mit occ sentinel:remove. Konten, die Sentinel deaktiviert hat, bleiben deaktiviert, bis sie freigegeben werden (--release-accounts), und der EDR-Daemon läuft weiter, bis du ihn stopst: systemctl disable --now sentinel-edr.

Für den Download brauchst du eine Lizenz oder den kostenlosen 30-tägigen Testzeitraum.