it-swarm.com.de

So erstellen Sie eine mit https gesicherte Website

Ich muss eine kleine Web-App für ein Unternehmen erstellen, um deren 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 . (Bisher 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:

  1. Was soll ich tun, um meine Website auf https vorzubereiten? (Muss ich den Code/Config ändern)
  2. Ist SSL und https ein und dasselbe ...
  3. Muss ich mich bei jemandem bewerben, um eine Lizenz zu erhalten?.
  4. Muss ich alle meine Seiten sichern oder nur die Anmeldeseite ...

Ich habe im Internet nach Antworten gesucht, konnte aber nicht alle diese Punkte ermitteln. Ein Whitepaper oder andere Referenzen wären ebenfalls hilfreich.

Fühlen Sie sich frei zu fragen, falls Sie weitere Informationen benötigen.

Vielen Dank

  • Raja
87
The King

Was soll ich tun, um meine Website auf https vorzubereiten? (Muss ich den Code/Config ändern)

Beachten Sie die empfohlenen Vorgehensweisen für sicheres Codieren (hier eine gute Einführung: http://www.owasp.org/index.php/Secure_Coding_Principles ), andernfalls ist nur eine korrekte Einrichtung erforderlich SSL-Zertifikat.

Ist SSL und https ein und dasselbe.

Ziemlich genau, ja.

Muss ich mich bei jemandem bewerben, um eine Lizenz zu erhalten?.

Sie können ein SSL-Zertifikat von einer Zertifizierungsstelle kaufen oder ein selbstsigniertes Zertifikat verwenden. Die Preise, die Sie kaufen können, variieren stark - von 10 bis zu Hunderten von Dollar pro Jahr. Eine davon benötigen Sie beispielsweise, wenn Sie 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 finden Sie eine gute Anleitung zum Einrichten eines selbstsignierten Zertifikats für IIS: Aktivieren von SSL bei IIS 7.0 Verwenden von selbstsignierten Zertifikaten

Muss ich alle meine Seiten sichern oder nur die Anmeldeseite.

Verwenden Sie HTTPS für alles, nicht nur für die erstmalige Benutzeranmeldung. Dies ist nicht zu aufwändig und bedeutet, dass die Daten, die die Benutzer von Ihrer remote gehosteten Anwendung senden/empfangen, nicht von Dritten gelesen werden können, wenn sie abgefangen werden. Sogar Google Mail aktiviert jetzt standardmäßig HTTPS.

48
Rowlf

Welche Art von Geschäftsdaten ? Geschäftsgeheimnisse oder einfach nur Dinge, die die Leute nicht sehen sollen, aber wenn sie rauskommen würden, wäre das keine große Sache? Wenn es sich um Geschäftsgeheimnisse, Finanzinformationen, Kundeninformationen und allgemein vertrauliche Informationen handelt. Dann geh nicht mal diesen Weg.

Ich frage mich, ob ich eine gesicherte Verbindung (https) verwenden muss oder nur die Formularauthentifizierung ausreicht.

Verwenden Sie eine sichere Verbindung.

Muss ich den Code/Config ändern?

Ja. Na kann doch nicht sein. Möglicherweise möchten Sie dies von einem Experten für Sie erledigen lassen.

Ist SSL und https ein und dasselbe ...

Meistens ja. Die Leute bezeichnen diese Dinge normalerweise als dasselbe.

Muss ich mich bei jemandem bewerben, um eine Lizenz zu erhalten?.

Möglicherweise möchten Sie Ihr Zertifikat von einer Zertifizierungsstelle signieren lassen. Es kostet Sie oder Ihren Kunden ein bisschen Geld.

Muss ich alle meine Seiten sichern oder nur die Anmeldeseite ...

Verwenden Sie überall https. Die Leistung ist normalerweise kein Problem, wenn die Site für interne Benutzer bestimmt ist.

Ich suchte im Internet nach Antworten, konnte aber nicht alle diese Punkte ermitteln. Ein Whitepaper oder andere Referenzen wären ebenfalls hilfreich.

Beginnen Sie hier mit einigen Hinweisen: http://www.owasp.org/index.php/Category:OWASP_Guide_Project

Beachten Sie, dass SSL einen winzigen Beitrag zur Sicherheit Ihrer Website leistet, sobald sie über das Internet zugänglich ist. Es verhindert nicht die meisten Arten von Hacking.

8
huynhjl

Ich denke, Sie werden mit Ihrer Site-Authentifizierung und SSL verwechselt.

Wenn Sie Ihre Site auf SSL umstellen möchten, müssen Sie ein SSL-Zertifikat auf Ihrem Webserver installieren. Sie können ein Zertifikat für sich selbst von einem der Standorte wie Symantec usw. kaufen. Das Zertifikat enthält neben anderen Dingen auch Ihr öffentliches/privates Schlüsselpaar.

Sie müssen nichts in Ihrem Quellcode tun, und Sie können weiterhin Ihre Formularauthentifizierung (oder eine andere) in 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 Leute würden sicheres HTTP (https: //) verwenden, um auf Ihre Site zuzugreifen.

Weitere Informationen finden Sie unter -> http://en.wikipedia.org/wiki/Transport_Layer_Security

7
Bhaskar

Bei Geschäftsdaten würde ich, wenn die Daten privat sind, eine gesicherte Verbindung verwenden, ansonsten ist eine Formularauthentifizierung ausreichend.

Wenn Sie sich für eine gesicherte Verbindung entscheiden, beachten Sie, dass ich keine Erfahrung mit dem Sichern von Websites habe, sondern nur widerrufe, was ich während meiner persönlichen Erfahrung erlebt habe. Wenn ich mich trotzdem irre, können Sie mich gerne korrigieren.

Was soll ich tun, um meine Website auf https vorzubereiten? (Muss ich den Code/Config ändern)

Um SSL (Secure Sockets Layer) für Ihre Website zu aktivieren, müssen Sie Ein Zertifikat, Code oder Config wird nicht verändert.

Ich habe SSL für einen internen Webserver aktiviert, indem ich OpenSSL und ActivePerl aus diesem Online-Tutorial . Wenn dies für ein größeres Publikum verwendet wird (mein Publikum war weniger als 10 Personen) und gemeinfrei ist, schlage ich vor, professionelle Alternativen zu suchen.

Ist SSL und https ein und dasselbe ...

Nicht genau, aber sie gehen Hand in Hand! SSL stellt sicher, dass die Daten während des Anzeigens der Website verschlüsselt und entschlüsselt werden. https ist die URI, die für den Zugriff auf die sichere Website erforderlich ist. Sie werden bemerken, dass beim Versuch, auf http://secure.mydomain.com Zuzugreifen, eine Fehlermeldung angezeigt wird.

Muss ich mich bei jemandem bewerben, um eine Lizenz zu erhalten?.

Sie benötigen keine Lizenz, sondern ein Zertifikat. Sie können sich Unternehmen ansehen, die professionelle Dienstleistungen mit dem Schutz von Websites anbieten, beispielsweise VeriSign .

Muss ich alle meine Seiten sichern oder nur die Anmeldeseite ...

Sobald Ihr Zertifikat für mydomain.com Aktiviert ist, wird jede Seite, die unter *.mydomain.com Fällt, gesichert.

3

@balalakshmi erwähnt über die richtigen Authentifizierungseinstellungen. Die Authentifizierung ist nur die Hälfte des Problems, die andere Hälfte ist die Autorisierung.

Wenn Sie die Formularauthentifizierung und Standardsteuerelemente wie <asp:Login> Verwenden, müssen Sie einige Dinge tun, um sicherzustellen, dass nur Ihre authentifizierten Benutzer auf gesicherte Seiten zugreifen können.

In web.config Müssen Sie im Abschnitt <system.web> Den anonymen Zugriff standardmäßig deaktivieren:

<authorization>
 <deny users="?" />
</authorization>

Alle Seiten, auf die anonym zugegriffen wird (z. B. die Seite Login.aspx selbst), müssen über eine Außerkraftsetzung verfügen, die den anonymen Zugriff wieder zulässt. Dies erfordert ein <location> - Element und muss sich auf der Ebene <configuration> (outside the <system.web> Section) wie folgt befinden:

<!-- Anonymous files -->
<location path="Login.aspx">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

Beachten Sie, dass Sie auch anonymen Zugriff auf alle Stylesheets oder Skripte gewähren müssen, die von den anonymen Seiten verwendet werden:

<!-- Anonymous folders -->
<location path="styles">
 <system.web>
  <authorization>
   <allow users="*" />
  </authorization>
 </system.web>
</location>

Beachten Sie, dass das path -Attribut des Speicherorts relativ zum Ordner web.config Ist und im Gegensatz zu den meisten anderen Konfigurationsattributen vom Typ "Pfad" kein Präfix ~/ Haben darf.

1
devstuff

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 vornehmen. Dies soll sicherstellen, dass Benutzer, die nicht angemeldet sind, keine Seiten durchsuchen können, die eine Authentifizierung benötigen.

1
balalakshmi