So sichern Sie eine Website mit https

87

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:

  1. Was soll ich tun, um meine Website auf https vorzubereiten? (Muss ich den Code / die Konfiguration ändern)
  2. Ist SSL und https ein und dasselbe ...
  3. Muss ich mich bei jemandem bewerben, um eine Lizenz oder etwas zu bekommen?
  4. 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
Der König
quelle
Hallo zusammen ... Vielen Dank für alle ... Alle Ihre Antworten waren sehr hilfreich ... Es wäre unfair, hier eine Antwort auszuwählen ... (SO muss eine Bestimmung für solche Sitzungen vorhanden sein). Daher habe ich eine Antwort ausgewählt und die anderen positiv bewertet ... Die ausgewählte Antwort ist genauso wichtig wie andere Antworten ...
Der König
3
Je nachdem, wie vertraulich die Informationen sind (zum Beispiel können personenbezogene Daten dem Bundesgesetz unterliegen) und welche Beziehung und welchen Vertrag Sie mit dem Unternehmen haben, sollten Sie darüber nachdenken, ob Sie haftbar sind, wenn jemand hackt die Seite.
Huynhjl
Sobald Sie das Zertifikat auf Ihrem Server installiert haben, müssen Sie zum Hinzufügen von https zu Ihrer Website in IIS lediglich zur Website gehen und "Bindungen bearbeiten", https auswählen und das Zertifikat auswählen.
bgmCoder

Antworten:

49

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

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.

Ist SSL und https ein und dasselbe ..

Ziemlich genau, ja.

Muss ich mich bei jemandem bewerben, um eine Lizenz oder etwas zu bekommen?

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

Muss ich alle meine Seiten sichern oder nur die Anmeldeseite?

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.

Rowlf
quelle
1
Sie können auch kostenlose TLS-Zertifikate erhalten, dh von Let's encrypt
1615903
8

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.

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 / die Konfiguration ändern?

Ja. Gut kann nicht sein. Möglicherweise möchten Sie, dass ein Experte dies für Sie erledigt.

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 oder etwas zu bekommen?

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

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

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

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

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.

huynhjl
quelle
+1 für die fundierten Ratschläge zur Sicherung des gesamten Weges und zur Verhinderung einer Katastrophe, indem Sie fragen, ob die Informationen sehr vertraulich sind, und empfehlen, sie nicht online zu stellen
BlueTrin
7

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

Bhaskar
quelle
3

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.

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

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.

Ist SSL und https ein und dasselbe ...

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 httpsist die URI, die für den Zugriff auf die sichere Website erforderlich ist. Sie werden feststellen, dass beim Versuch, darauf zuzugreifen http://secure.mydomain.com, eine Fehlermeldung angezeigt wird.

Muss ich mich bei jemandem bewerben, um eine Lizenz oder etwas zu bekommen?

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 .

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

Sobald Ihr Zertifikat für mydomain.comjede Seite aktiviert ist , die darunter fällt, *.mydomain.comwird es gesichert.

Anthony Forloney
quelle
1

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.

Balalakshmi
quelle
3
Es ist unsicher, nur einen Teil Ihrer Website unter TLS bereitzustellen. Ein aktiver Angreifer kann SSLStrip verwenden und auf angeblich geschützte Seiten zugreifen.
Tobu
1

@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.configdiesem <system.web>Abschnitt müssen Sie 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 ü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:

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

Beachten Sie, dass Sie auch anonymen Zugriff auf 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 pathAttribut des Speicherorts relativ zum web.configOrdner ist und im ~/Gegensatz zu den meisten anderen Konfigurationsattributen vom Pfadtyp kein Präfix haben kann .

devstuff
quelle
-2

Versuchen Sie, ein Startverzeichnis in PHP wie in zu erstellen

<?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 hauptsächlich es!

Ce0ns
quelle
3
Das beantwortet die Frage eigentlich nicht wirklich
Andreas