Open Source und wie es für sichere Projekte funktioniert? [geschlossen]

8

Ich wollte schon immer einige unserer Unternehmen zu Open-Source-Produkten machen ... aber wir haben viele Dinge in unserem Quellcode, die uns verletzbar machen würden. Wie wird das in den meisten Open-Source-Projekten gehandhabt? Zum Beispiel verwenden wir einige benutzerdefinierte Webdienste, um Aktionen für unsere Datenbank auszuführen (Konten hinzufügen, Konten löschen, ect). Der Quellcode müsste den Schlüssel (Passwort) enthalten, den wir für die Nutzung des Web-Service verwenden. Wenn jemand wollte, konnte er sich die Quelle holen, den Schlüssel für die Nutzung unseres Web-Service holen und die Datenbank verwüsten.

Sind das nur Projekte, die nicht Open Source sein sollten? Oder ist es üblich, das sensible Zeug einfach in eine Datei oder etwas hineinzulegen und diesen Teil nicht einzubeziehen? (Dadurch würde die Quelle für die Öffentlichkeit jedoch etwas nutzlos werden, da sie ihre Funktionalität verlieren würde).

Irgendwelche Links oder Ressourcen zu Open-Source-Projekten und wie diese Art von Dingen behandelt werden sollte, wäre nett.

Danke

    
Kyle 28.10.2009, 08:58
quelle

5 Antworten

8

Passwörter und sensitive Daten sind am besten nicht in der Quelldatei enthalten. Wenn Sie sich das Design von Open-Source-Software wie PHPMyAdmin ansehen, wird eine Konfigurationsdatei bereitgestellt, um diese Informationen hinzuzufügen, und wird normalerweise im Stammordner des Webhosts (oder irgendwo außerhalb des www-Ordners) gespeichert.

Die Idee ist also, dass wenn Ihre Website einige Informationen verwendet, um auf einen Service zu verlinken, Sie sie auch in einer Datei verstecken sollten und bitten Sie Ihren Benutzer, das Passwort anzugeben und einen eigenen Account zu erstellen.

    
Extrakun 28.10.2009, 09:08
quelle
3

Wäre es nicht möglich, Ihre sensiblen Daten in eine Konfigurationsdatei zu packen? Auf diese Weise können andere Benutzer auch problemlos eigene vertrauliche Informationen hinzufügen.

    
stevenrjanssens 28.10.2009 09:00
quelle
2

Sie sollten die sensiblen Daten nicht in die Öffentlichkeit aufnehmen. Eine Option könnte also sein, eine öffentliche API für die Dienste zu erstellen, und dann müssten die Benutzer ein Konto erstellen, um einen API-Schlüssel für die Daten zu erhalten.

>

Ich glaube nicht, dass dies die Open Source-Produkte von Ihnen abhalten sollte, aber ich denke, dass Sie die Art und Weise, wie die Daten gehandhabt werden, über eine öffentliche API neu überdenken müssen.

    
dr. squid 28.10.2009 09:06
quelle
2

Wenn Sie ein Datenbankpasswort in Ihrem Code fest codieren, tun Sie es falsch. Wie bereits erwähnt, sollten Sie dies in einer separaten und geschützten Konfigurationsdatei speichern.

Wenn Sie Ihren Code verteilen, sei es die Quelle oder nur eine Binärdatei, ist dieses Passwort vorhanden und kann von jedem, der sich darum kümmert, wiederhergestellt werden. Hardcodierte Passwörter in Binärdateien sind für einen Hacker oft eine triviale Angelegenheit, um ihn wiederherzustellen.

    
jeffsix 28.10.2009 17:40
quelle
1

Obwohl Programmcodes Open-Source sind, sind Ihre sensiblen Daten nicht. Übermitteln Sie niemals Ihre Daten an andere.

Normalerweise kann die Einweg-Hash-Überprüfung bereits als Basisverschlüsselung verwendet werden. Wenn zusätzliche Sicherheit erforderlich ist, verwenden Sie eine zusätzliche Maßnahme, z. B. öffentlich & amp; private Schlüssel & amp; vorab freigegebene Passwörter.

    
Raptor 28.10.2009 09:12
quelle

Tags und Links