Ich muss eine kleine Webanwendung für ein Unternehmen erstellen, um seine Geschäftsdaten zu verwalten ... Nur diejenigen innerhalb des Unternehmens werden sie verwenden, aber wir planen, sie öffentlich zu hosten, damit die Mitarbeiter von verschiedenen Standorten aus eine Verbindung zur App herstellen können . (Bis jetzt habe ich Web-Apps erstellt, die nur intern gehostet werden.)
Ich frage mich, ob ich eine gesicherte Verbindung (https) verwenden muss oder nur die Formularauthentifizierung ausreicht.
Wenn Sie https sagen, habe ich einige Fragen:
- Was soll ich tun, um meine Website auf https vorzubereiten? (Muss ich den Code / die Konfiguration ändern)
- Ist SSL und https ein und dasselbe ...
- Muss ich mich bei jemandem bewerben, um eine Lizenz oder etwas zu bekommen?
- Muss ich alle meine Seiten sichern oder nur die Anmeldeseite ...
Ich habe im Internet nach Antworten gesucht, aber ich konnte nicht alle diese Punkte erhalten ... Whitepaper oder andere Referenzen wären ebenfalls hilfreich ...
Fragen Sie uns, falls Sie weitere Informationen benötigen.
Vielen Dank
- Raja
quelle
Antworten:
Beachten Sie die Best Practices für die sichere Codierung (hier eine gute Einführung: http://www.owasp.org/index.php/Secure_Coding_Principles ). Andernfalls benötigen Sie lediglich ein korrekt eingerichtetes SSL-Zertifikat.
Ziemlich genau, ja.
Sie können ein SSL-Zertifikat von einer Zertifizierungsstelle kaufen oder ein selbstsigniertes Zertifikat verwenden. Diejenigen, die Sie kaufen können, variieren stark im Preis - von 10 bis Hunderten von Dollar pro Jahr. Sie benötigen eine davon, wenn Sie beispielsweise einen Online-Shop einrichten. Selbstsignierte Zertifikate sind eine praktikable Option für eine interne Anwendung. Sie können auch eine davon für die Entwicklung verwenden. Hier ist ein gutes Tutorial zum Einrichten eines selbstsignierten Zertifikats für IIS: Aktivieren von SSL unter IIS 7.0 mithilfe selbstsignierter Zertifikate
Verwenden Sie HTTPS für alles, nicht nur für die anfängliche Benutzeranmeldung. Dies ist kein allzu großer Aufwand und bedeutet, dass die Daten, die die Benutzer von Ihrer remote gehosteten Anwendung senden / empfangen, nicht von externen Parteien gelesen werden können, wenn sie abgefangen werden. Sogar Google Mail aktiviert jetzt standardmäßig HTTPS.
quelle
Welche Art von Geschäftsdaten ? Geschäftsgeheimnisse oder nur Dinge, die die Leute nicht sehen sollen, aber wenn sie herauskommen würden, wäre es keine große Sache? Wenn wir über Geschäftsgeheimnisse, Finanzinformationen, Kundeninformationen und Dinge sprechen, die im Allgemeinen vertraulich sind. Dann gehen Sie nicht einmal diesen Weg.
Verwenden Sie eine sichere Verbindung.
Ja. Gut kann nicht sein. Möglicherweise möchten Sie, dass ein Experte dies für Sie erledigt.
Meistens ja. Die Leute bezeichnen diese Dinge normalerweise als dasselbe.
Sie möchten wahrscheinlich, dass Ihr Zertifikat von einer Zertifizierungsstelle signiert wird. Es kostet Sie oder Ihren Kunden ein bisschen Geld.
Verwenden Sie durchgehend https. Die Leistung ist normalerweise kein Problem, wenn die Site für interne Benutzer bestimmt ist.
Beginnen Sie hier für einige Hinweise: http://www.owasp.org/index.php/Category:OWASP_Guide_Project
Beachten Sie, dass SSL ein winziger Teil der Sicherheit Ihrer Website ist, sobald sie über das Internet zugänglich ist. Es verhindert nicht die meisten Arten von Hacking.
quelle
Ich denke, Sie werden mit Ihrer Site-Authentifizierung und SSL verwechselt.
Wenn Sie Ihre Site in SSL einbinden möchten, müssen Sie ein SSL-Zertifikat auf Ihrem Webserver installieren. Sie können ein Zertifikat für sich selbst an einem der Orte wie Symantec usw. kaufen. Das Zertifikat würde neben anderen Dingen Ihr öffentliches / privates Schlüsselpaar enthalten.
Sie müssen nichts in Ihrem Quellcode tun, und Sie können weiterhin Ihre Formularauthentifizierung (oder eine andere) auf Ihrer Site verwenden. Es ist nur so, dass jede Datenkommunikation, die zwischen dem Webserver und dem Client stattfindet, mit Ihrem Zertifikat verschlüsselt und signiert wird. Die Benutzer verwenden Secure-HTTP (https: //), um auf Ihre Site zuzugreifen.
Weitere Informationen finden Sie hier -> http://en.wikipedia.org/wiki/Transport_Layer_Security
quelle
Wenn die Daten für Geschäftsdaten privat sind, würde ich eine gesicherte Verbindung verwenden, andernfalls ist eine Formularauthentifizierung ausreichend.
Wenn Sie sich für eine gesicherte Verbindung entscheiden, beachten Sie bitte, dass ich keine Erfahrung mit der Sicherung von Websites habe. Ich widerrufe nur das, was ich während meiner persönlichen Erfahrung erlebt habe. Wenn ich mich trotzdem irre, kannst du mich gerne korrigieren.
Um SSL (Secure Sockets Layer) für Ihre Website zu aktivieren , müssen Sie ein Zertifikat einrichten, der Code oder die Konfiguration wird nicht geändert.
Ich habe SSL für einen internen Webserver mithilfe von OpenSSL und ActivePerl aus diesem Online-Tutorial aktiviert . Wenn dies für ein größeres Publikum verwendet wird (mein Publikum bestand aus weniger als 10 Personen) und gemeinfrei ist, empfehle ich, nach professionellen Alternativen zu suchen.
Nicht genau, aber sie gehen Hand in Hand! SSL stellt sicher, dass Daten beim Anzeigen der Website hin und her verschlüsselt und entschlüsselt werden. Dies
https
ist die URI, die für den Zugriff auf die sichere Website erforderlich ist. Sie werden feststellen, dass beim Versuch, darauf zuzugreifenhttp://secure.mydomain.com
, eine Fehlermeldung angezeigt wird.Sie benötigen keine Lizenz, sondern ein Zertifikat. Sie können sich Unternehmen ansehen, die professionelle Dienste mit der Sicherung von Websites anbieten, wie beispielsweise VeriSign .
Sobald Ihr Zertifikat für
mydomain.com
jede Seite aktiviert ist , die darunter fällt,*.mydomain.com
wird es gesichert.quelle
4. Muss ich alle meine Seiten sichern oder nur die Anmeldeseite ...
Behalten Sie einfach die Anmeldeseite unter https
Dadurch wird sichergestellt, dass beim Durchsuchen anderer Seiten kein Overhead entsteht. Voraussetzung ist, dass Sie in der Webkonfiguration die richtigen Authentifizierungseinstellungen angeben. Dies soll sicherstellen, dass Benutzer, die nicht angemeldet sind, keine Seiten durchsuchen können, für die eine Authentifizierung erforderlich ist.
quelle
@balalakshmi erwähnte die korrekten Authentifizierungseinstellungen. Die Authentifizierung ist nur die Hälfte des Problems, die andere Hälfte ist die Autorisierung.
Wenn Sie die Formularauthentifizierung und Standardsteuerelemente verwenden,
<asp:Login>
müssen Sie einige Dinge tun, um sicherzustellen, dass nur Ihre authentifizierten Benutzer auf gesicherte Seiten zugreifen können.In
web.config
diesem<system.web>
Abschnitt müssen Sie den anonymen Zugriff standardmäßig deaktivieren:Alle Seiten, auf die anonym zugegriffen wird (z. B. die Seite Login.aspx selbst), müssen überschrieben werden, um den anonymen Zugriff wieder zuzulassen. Dies erfordert ein
<location>
Element und muss sich auf der<configuration>
Ebene ( außerhalb des<system.web>
Abschnitts) wie folgt befinden:Beachten Sie, dass Sie auch anonymen Zugriff auf Stylesheets oder Skripte gewähren müssen, die von den anonymen Seiten verwendet werden:
Beachten Sie, dass das
path
Attribut des Speicherorts relativ zumweb.config
Ordner ist und im~/
Gegensatz zu den meisten anderen Konfigurationsattributen vom Pfadtyp kein Präfix haben kann .quelle
Versuchen Sie, ein Startverzeichnis in PHP wie in zu erstellen
Das ist hauptsächlich es!
quelle