2010-02-05 12 views
84

ich gesichert macht eine kleine Webapp für ein Unternehmen, um ihr Geschäft zu halten Daten bauen ... Nur die innerhalb des Unternehmens wird es verwenden, aber wir planen es in öffentlicher Domain-Host, damit sich die Mitarbeiter von verschiedenen Standorten aus mit der App verbinden können. (Bis jetzt habe ich Web-Anwendungen, die nur intern gehostet werden)Wie man eine Website mit https

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

Wenn Sie https sagen, ich habe einige Fragen:

  1. Was soll ich für meine Website https vorbereitet zu sein. (Muss ich den Code/Config ändern)
  2. Ist SSL und https ein und dasselbe ...
  3. Muss ich mich mit jemandem bewerben, um eine Lizenz oder etwas zu bekommen.
  4. Muss ich alle meine Seiten gesichert oder nur die Login-Seite machen ...

Ich war Internet die Suche nach Antworten, aber ich war all diese Punkte nicht in der Lage ... Jede White Paper oder anderen zu bekommen Referenzen wäre auch hilfreich, ...

Fühlen Sie sich frei einhüllen fragen Sie weitere Informationen benötigen.

Dank

  • Raja
+0

Hallo all ... Danke für alle ... Alle deine Antworten waren sehr hilfreich ... Es wäre unfair, hier eine Antwort auszuwählen ... (SO muss eine Vorkehrung für solche Situationen haben). daher wählte ich eine Antwort aus und stellte die anderen auf ... Die ausgewählte Antwort ist genauso wichtig wie andere Antworten ... –

+3

Zusätzliche Vorsichtsmaßnahme, abhängig davon, wie vertraulich die Informationen sind (z. B. können persönliche Informationen dem Status von Bundesgesetz) und welche Beziehung und welchen Vertrag Sie mit dem Unternehmen haben, können Sie darüber nachdenken, ob Sie haftbar sind, wenn jemand die Website hackt. – huynhjl

+0

Sobald Sie das Zertifikat auf Ihrem Server installiert haben, um https zu Ihrer Website in IIS hinzuzufügen, müssen Sie nur auf die Website gehen und "Bindungen bearbeiten", https auswählen und das Zertifikat auswählen. – bgmCoder

Antwort

48

Was soll ich tun, um meine Website vorzubereiten für https. (Muß ich die Code/Config ändern)

Sie sollten Best Practices für die sichere Codierung im Auge behalten (hier ist ein gutes Intro: http://www.owasp.org/index.php/Secure_Coding_Principles), sonst alles, was Sie brauchen, ist ein richtig eingerichtet SSL-Zertifikat.

Ist SSL und https ein und dasselbe ..

Ziemlich viel, ja.

Muss ich mich mit jemandem bewerben, um eine Lizenz oder etwas zu bekommen.

Sie können ein SSL-Zertifikat von einer Zertifizierungsstelle kaufen oder ein selbstsigniertes Zertifikat verwenden. Die, die Sie kaufen können, variieren stark im Preis - von $ 10 bis zu Hunderten von Dollar pro Jahr. Sie benötigen eines 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 eine gute Anleitung, wie man ein selbst signiertes Zertifikat für IIS einzurichten: Enabling SSL on IIS 7.0 Using Self-Signed Certificates

Muss ich machen alle meine Seiten gesichert oder nur die Login-Seite ..

HTTPS verwenden für alles, nicht nur die anfängliche Benutzeranmeldung. Es wird nicht zu viel Aufwand bedeuten, und es bedeutet, dass die Daten, die die Benutzer von Ihrer entfernt gehosteten Anwendung senden/empfangen, von externen Parteien nicht gelesen werden können, wenn sie abgefangen werden. Selbst Gmail aktiviert HTTPS jetzt standardmäßig.

+1

Sie können auch kostenlose TLS-Zertifikate erhalten, zB von [Let's encrypt] (https://letsencrypt.org/) – 1615903

3

Für geschäftliche Daten, wenn die Daten privat ich eine sichere Verbindung verwenden würde, andernfalls wird ein Formularauthentifizierung ist ausreichend.

Wenn Sie eine sichere Verbindung verwenden entscheiden, bitte beachten Sie, dass ich habe keine Erfahrung mit Websites zu sichern, bin ich dran, nur recanting, was ich in meiner eigenen persönlichen Erfahrung begegnet. Wenn ich trotzdem falsch liege, kannst du mich gerne korrigieren.

Was soll ich tun, um meine Website für https vorzubereiten. (Muß ich den Code/Config ändern)

Um SSL (Secure Sockets Layer) für Ihre Website zu ermöglichen, müssen Sie ein Zertifikat, Code Set-up oder Config wird nicht verändert.

Ich habe SSL für einen internen Webserver aktiviert, indem ich OpenSSL und ActivePerl von this online tutorial verwendet habe. Wenn dies für ein größeres Publikum (mein Publikum war weniger als 10 Personen) und in der Öffentlichkeit ist, schlage ich vor, professionelle Alternativen zu suchen.

Ist SSL und https ein und derselben ...

Nicht genau, aber sie gehen Hand in Hand! SSL stellt sicher, dass Daten während der Anzeige der Website hin und her verschlüsselt und entschlüsselt werden. https ist der URI, der auf die sichere Website zugreifen muss. Sie werden bemerken, wenn Sie versuchen, auf http://secure.mydomain.com zuzugreifen, zeigt es eine Fehlermeldung an.

Muss ich mich mit jemandem bewerben, um eine Lizenz oder etwas zu bekommen.

Sie benötigen keine Lizenz, sondern ein Zertifikat. Sie können sich in Unternehmen umsehen, die professionelle Dienste mit der Absicherung von Websites anbieten, wie zum Beispiel VeriSign.

Muss ich alle meine Seiten gesichert machen oder nur die Login-Seite ...

Sobald Ihr Zertifikat für mydomain.com jede Seite aktiviert ist, die gesichert werden unter *.mydomain.com fällt.

1

4.Do muss ich alle meine Seiten gesichert oder nur die Login-Seite ...

einfach die Login-Seite

dies sicherzustellen, dass es unter https halten machen, ist kein Overhead, wenn andere Seiten browsen. Voraussetzung ist, dass Sie in der Webkonfiguration korrekte Authentifizierungseinstellungen angeben müssen. Dadurch wird sichergestellt, dass Benutzer, die nicht angemeldet sind, nicht in der Lage sind, Seiten zu durchsuchen, die eine Authentifizierung benötigen.

+2

Es ist unsicher, ob Sie nur einen Teil Ihrer Website unter TLS bereitstellen. Ein aktiver Angreifer kann SSLStrip verwenden und auf angeblich geschützte Seiten zugreifen. – Tobu

8

Welche Art von Geschäftsdaten? Geschäftsgeheimnisse oder einfach Sachen, die die Leute nicht sehen wollen, aber wenn es rauskommt, wäre das keine große Sache? Wenn wir über Geschäftsgeheimnisse, Finanzinformationen, Kundeninformationen und andere Dinge sprechen, die allgemein vertraulich sind. Dann geh nicht mal diese Route runter.

Ich frage mich, ob ich eine gesicherte Verbindung (https) oder nur die Formularauthentifizierung verwenden müssen, ist genug.

Verwenden Sie eine sichere Verbindung den ganzen Weg.

Muss ich den Code/Config

Ja ändern. Nun, vielleicht nicht. Vielleicht möchten Sie einen Experten, der dies für Sie erledigt.

Ist SSL und https ein und derselben ...

Meistens ja. Die Leute bezeichnen diese Dinge normalerweise als das Gleiche.

Muss ich mich mit jemandem bewerben, um eine Lizenz oder etwas zu bekommen.

Wahrscheinlich möchten Sie, dass Ihr Zertifikat von einer Zertifizierungsstelle signiert wird. Es kostet Sie oder Ihren Kunden ein bisschen Geld.

Muss ich alle meine Seiten gesichert machen oder nur die Login-Seite ...

https verwenden im gesamten Gebäude. Leistung ist normalerweise kein Problem, wenn die Site für interne Benutzer bestimmt ist.

Ich war auf der Suche Internet für Antwort, aber ich war nicht in der Lage, all diese Punkte zu bekommen ... Alle White Paper oder anderen Referenzen auch hilfreich sein würde ...

starten hier für einige Hinweise: http://www.owasp.org/index.php/Category:OWASP_Guide_Project

Beachten Sie, dass SSL ein winziges Stück ist, das Ihre Website sicher macht, sobald sie aus dem Internet erreichbar ist. Es verhindert die meisten Arten von Hacking nicht.

+0

+1 für den fundierten Ratschlag, den ganzen Weg zu sichern und eine Katastrophe zu verhindern, indem man fragt, ob die Informationen sehr vertraulich sind und es nicht online setzen – BlueTrin

7

Ich denke, Sie werden mit Ihrer Website-Authentifizierung und SSL verwirrt.

Wenn Sie Ihre Site in SSL importieren müssen, müssen Sie ein SSL-Zertifikat in Ihrem Webserver installieren. Sie können ein Zertifikat für sich selbst von einem der Orte wie Symantec usw. kaufen. Das Zertifikat würde Ihr öffentliches/privates Schlüsselpaar zusammen mit anderen Dingen enthalten.

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

ansehen für weitere Informationen ->http://en.wikipedia.org/wiki/Transport_Layer_Security

1

@balalakshmi über die richtigen Authentifizierungseinstellungen erwähnt. 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 unter dem <system.web> Abschnitt werden Sie den anonymen Zugriff standardmäßig deaktivieren müssen:

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

Alle Seiten, die anonym zugegriffen werden (wie die Login.aspx Seite selbst) müssen haben eine Überschreibung, die den anonymen Zugriff wieder zulässt. Dies erfordert ein <location> Element und muss am <configuration> Ebene (außerhalb der <system.web> Abschnitt), wie diese befinden:

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

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

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

bewusst sein, dass die path Standort Attribut auf den web.config Ordner relativ ist und ein ~/ Präfix nicht haben kann, im Gegensatz zu den meisten anderen p Ath-Typ Konfigurationsattribute.

-2

Versuchen Sie, ein Boot-Verzeichnis in PHP zu machen, wie in

<?PHP 
$ip = $_SERVER['REMOTE_ADDR']; 
$privacy = ['BOOTSTRAP_CONFIG']; 
$shell = ['BOOTSTRAP_OUTPUT']; 
enter code here 
if $ip == $privacy { 
function $privacy int $ip = "https://"; 
} endif { 
echo $shell 
} 
?> 

Das ist in erster Linie es!

+3

Das beantwortet die Frage eigentlich nicht wirklich – Andreas

Verwandte Themen