ich entwickle derzeit ein Plugin für Discourse und bin auf eine spezifische Herausforderung im Bereich Sicherheit gestoßen. Mein Plugin muss sensible Daten speichern und darauf zugreifen können, und ich untersuche Möglichkeiten, um sicherzustellen, dass diese Daten sicher bleiben, insbesondere vor dem Zugriff durch andere Plugins in derselben Discourse-Umgebung.
Könnten Sie Einblicke oder Empfehlungen zu folgender Frage geben:
Ist es möglich, ein Discourse-Plugin so zu isolieren, dass die Secrets-Datei oder sensible Daten, die von meinem Plugin verwendet werden, nicht von anderen Plugins, die auf derselben Discourse-Instanz installiert sind, gelesen oder darauf zugegriffen werden können? Wenn ja, welche Best Practices oder empfohlenen Ansätze gibt es, um dieses Sicherheitsniveau zu erreichen?
Ich bin besonders an Methoden interessiert, mit denen ich Verschlüsselungsschlüssel oder ähnliche sensible Daten sicher in meinem Plugin speichern und darauf zugreifen kann, ohne sie anderen Plugins oder Teilen des Discourse-Systems preiszugeben.
Vielen Dank im Voraus für Ihre Hilfe und Vorschläge!
Natürlich verwaltet Discourse als RoR-App die Benutzerautorisierung ordnungsgemäß, sodass Sie beispielsweise als normaler Benutzer nicht auf Admin-Ressourcen zugreifen können.
Aber ein Plugin hat einen administrativen Geltungsbereich (über die anfängliche Kerninitialisierungsphase hinaus), daher muss Ihre grundlegende Annahme sein, dass es für ein Plugin möglich ist, auf Daten von einem anderen Plugin zuzugreifen (auch wenn es sehr unwahrscheinlich ist - wird ein Reaktionen-Plugin Ihre Daten an Facebook senden?! Ich bezweifle es!! )
Es liegt in der Verantwortung des Installateurs (d. h. des menschlichen Administrators), den gesamten Code, der zu einer Instanz hinzugefügt wird, zu überprüfen, damit er keine Daten missbraucht.
Wenn Sie risikoscheu sind, installieren Sie einfach keine Plugins von Drittanbietern, die Sie nicht vollständig verstehen – beschränken Sie sich auf die Kerninstallation.
Aber letztendlich stellen Sie sicher, dass Sie einen erfahrenen RoR-Entwickler im Team haben, der alles überprüft, was zu einer Instanz hinzugefügt wird?
Hallo Robert, vielen Dank für die sehr ausführliche Antwort Ich werde das, was Sie gepostet haben, berücksichtigen, ich bin Ihnen sehr dankbar für Ihre Hilfe.