Backup auf eine lokale Instanz auf sichere/anonymisierte Weise wiederherstellen

Ich möchte lokal ein wenig mit Plugins, Themes usw. experimentieren, um das Risiko zu vermeiden, das echte Forum zu beschädigen. Allerdings ist es schwierig, alles in einem ähnlichen Zustand wie das echte Forum einzurichten. Es wäre daher großartig, das Backup einfach auf die lokale Instanz wiederherzustellen.

Wie sollte ich das jedoch tun, um Risiken wie das Versenden von E-Mails an echte Benutzer von der lokalen Instanz aus zu vermeiden? Gibt es vielleicht noch andere Fallstricke, die mir nicht bewusst sind?

Gibt es eine Möglichkeit, alle Benutzerdaten im Backup zu anonymisieren (zumindest E-Mail-Adressen entfernen)? Oder kann man alles außer den Benutzerdaten wiederherstellen?

Führe dies in einer Rails-Konsole aus, um alle Benutzer außer Mitarbeiter zu anonymisieren:

acting_user = User.find(-1)
User.all.each do |u|
  next if u.staff?
  user = UserAnonymizer.new(u, acting_user).make_anonymous
end

Wäre es nicht einfacher, alle ausgehenden E-Mails zu deaktivieren? Das ist eine globale Site-Einstellung.

Ja, wahrscheinlich ist es einfacher, diese Einstellung vorzunehmen. Allerdings wird das Backup meiner Einschätzung nach alle Einstellungen überschreiben, sodass die Gefahr besteht, dass zwischen dem Abschluss der Wiederherstellung und dem Deaktivieren der E-Mails noch einige E-Mails versendet werden, es sei denn, die Quellexistenz war während des Backups ebenfalls deaktiviert.


Übrigens habe ich herausgefunden, dass es wahrscheinlich besser wäre, einen separaten Server und eine separate Domain zu verwenden, anstatt ein lokales Docker-Dev-Setup.

Wie ich verstehe, hat die Wiederherstellung eines Backups keine Auswirkungen auf app.yml. Wenn ich also auf dem Testserver keine SMTP-Konfiguration in app.yml eingebe, besteht keine Möglichkeit, E-Mails zu versenden?

Unter vielen Gesetzen, einschließlich des CCPA, gilt die Verwendung nicht anonymisierter Produktionsdaten in Entwicklungs- und Testumgebungen als rechtswidrige Datenverarbeitung. Die Wahrscheinlichkeit eines Datenlecks ist in Systemen höher, die möglicherweise Fehler enthalten, Datenbanken auf einem Laptop speichern oder von nicht autorisierten Personen zugänglich sind.

Nein, da Sidekiq während einer Wiederherstellungsoperation pausiert wird.

Ja, aber ich meinte nicht währenddessen, sondern nachdem die Wiederherstellung abgeschlossen ist (wie ich verstehe, werden danach alle Prozesse sofort wieder aufgenommen) und bevor ich diese Einstellung geändert habe, um Mails zu deaktivieren.

Entschuldigung, meine Antwort war tatsächlich unvollständig. Wenn ein Discourse-Backup wiederhergestellt wird, werden ausgehende E-Mails automatisch als Teil des Wiederherstellungsvorgangs deaktiviert. Sie müssen nach der Wiederherstellung explizit aktiviert werden.

Sie müssen die POP-Abfrage manuell deaktivieren, falls diese konfiguriert ist. Andernfalls kann Ihre Testinstanz beginnen, eingehende E-Mails abzugreifen, anstatt dies an der echten Instanz zu tun.

Danke :slight_smile: Ich glaube, ich verwende einen anderen Abfragemodus über Configure direct-delivery incoming email for self-hosted sites with Mail-Receiver

Eine weitere Einstellung, die wahrscheinlich deaktiviert werden sollte, ist Indexierung in der robots.txt zulassen.

Außerdem habe ich folgendes hinzugefügt: Restrict access to your Discourse site with HTTP Basic Authentication.

Erhalten Administratoren eine Erinnerungsnachricht, um ausgehende E-Mails zu aktivieren?

Ja, die Warnung oben auf der Seite.