Leser wie Sie helfen, MUO zu unterstützen. Wenn Sie über Links auf unserer Website einen Kauf tätigen, erhalten wir möglicherweise eine Affiliate-Provision.

Wenn Sie eine Website besuchen möchten, erhält der von Ihnen verwendete Internetbrowser einige Daten von dieser Website. Infolgedessen findet ein Dialog zwischen Ihrem Gerät und der Website statt. Dies geschieht mit dem Protokoll namens HTTP. Es ist möglich, einige zusätzliche Sicherheitsmaßnahmen zu ergreifen, indem Sie in diesen Dialog eingreifen.

Wenn Sie eine Website betreiben oder eine Karriere als Webentwickler anstreben, sind HTTP-Sicherheitsheader für Sie von unschätzbarem Wert, da sie eine aktive Rolle bei der Sicherheit sowohl des Benutzers als auch der Website spielen.

Was ist HTTP Strict-Transport-Security (HSTS)?

HTTP Strict Transport Security (HSTS) zwingt Benutzer, HTTPS für jede Anfrage zu verwenden, die sie in ihrem Browser stellen. Dies ist eine solide Methode, um Cyberangriffe wie Downgrades zu bekämpfen und die Sicherheit des gesamten Datenverkehrs zu gewährleisten.

instagram viewer

Die Aktivierung von HSTS ist ziemlich einfach. Betrachten Sie den Dialog zwischen Client und Server. Wenn Sie versuchen, über Ihren Browser auf eine Website zuzugreifen, sind Sie der Client. Die Seite, die Sie öffnen möchten, hängt vom Server ab. Ihr Ziel ist es, dem Server zu sagen: "Ich möchte diese Seite öffnen". Dies ist eine Anforderungsoperation. Der Server hingegen leitet Sie auf die Seite weiter, wenn Sie die gewünschten Bedingungen erfüllen.

Beachten Sie dies in Bezug auf dieses Beispiel-HTTP-Header-Flag:

Strenge Transportsicherheit: max-age=16070200;

Wenn Sie dieses Flag zu den Header-Informationen der HTTP-Antwort hinzufügen, werden alle benutzergenerierten Anforderungen zu HTTPS. Was auch immer der Benutzer hier schreibt, der Browser wertet das Protokoll automatisch als HTTPS aus und baut eine sichere Verbindung auf.

So verwenden Sie HSTS

Anstatt all diese HTTP-Header-Informationen in der Codeschicht hinzuzufügen, können Sie dies auf Apache, IIS, Nginx, Tomcat und anderen Webserveranwendungen tun.

So aktivieren Sie HSTS in Apache:

LoadModule headers_module module/mod_headers.so
<VirtualHost *:443>
Überschrift immer SatzStrikt-Transport-Sicherheit "Maximalalter=2592000; includeSubDomains"
</VirtualHost>

So aktivieren Sie HSTS in Nginx:

add_header Strict-Transport-Security max-age=2592000; Subdomains einschließen

So aktivieren Sie HSTS mit IIS web.config:

<system.webServer>
<httpProtokoll>
<benutzerdefinierte Header>
<name= hinzufügen"Strenge Transportsicherheit" Wert="Maximalalter = 63072000"/>
</customHeaders>
</httpProtocol>
</system.webServer>

Für Cloudflare-Benutzer

Cloudflare bietet mit seinem schlüssellosen SSL-Dienst einen kostenlosen HTTPS-Dienst für alle; Bevor Sie sich für HSTS Preload bewerben, sollten Sie wissen, dass Ihr Zertifikat nicht Ihnen gehört. Viele Websites verwenden SSL-Zertifikate weil sie eine einfache Möglichkeit sind, Daten sicher aufzubewahren.

Allerdings Cloudflare jetzt unterstützt die HSTS-Funktion. Sie können alle HSTS-Funktionen, einschließlich Preload, über die Cloudflare-Weboberfläche aktivieren, ohne sich mit den Konfigurationen auf dem Webserver herumschlagen zu müssen.

Was sind X-Frame-Optionen?

X-Frame-Options ist ein Sicherheitsheader, der von allen modernen Browsern unterstützt wird. X-Frame-Options zielt darauf ab, vor Klickdiebstahl wie Clickjacking zu schützen. Wie der Name schon sagt, geht es um das Funktionieren eines anfälligen Inline-Frames, auch Iframe genannt. Dies sind Elemente auf einer Website, die eine andere HTML-Seite in die „übergeordnete“ Website einbetten, sodass Sie Inhalte aus anderen Quellen auf Ihrer Website verwenden können. Aber Angreifer verwenden Iframes unter ihrer eigenen Kontrolle, um Benutzer dazu zu bringen, Aktionen auszuführen, die sie nicht wollen.

Aus diesem Grund müssen Sie verhindern, dass Angreifer Iframes auf der Website finden können.

Wo und wie verwendet man X-Frame-Optionen?

Was X-Frame-Options macht, versuchen einige Entwickler mit Sprachen wie JavaScript zu machen. Das ist nicht ganz falsch. Es besteht jedoch immer noch ein Risiko, da die in vielen Aspekten geschriebenen Codes nicht ausreichen. Es wäre daher ratsam, diese Aufgabe dem von Ihnen verwendeten Internetbrowser zu überlassen.

Als Entwickler gibt es jedoch drei Parameter, die Sie über X-Frame-Options wissen sollten:

  • Leugnen: Verhindern Sie vollständig, dass die Seite in jedem Iframe aufgerufen wird.
  • GLEICHER URSPRUNG: Verhindert, dass andere Domains als Ihre eigene innerhalb des Iframes aufrufen.
  • ERLAUBEN VON uri: Iframe-Aufrufe der als Parameter angegebenen URI akzeptieren. Andere blockieren.

Hier das GLEICHER URSPRUNG Funktion sticht mehr hervor. Denn während Sie Anwendungen in Ihren verschiedenen Subdomänen mit Iframes untereinander aufrufen können, können Sie verhindern, dass sie über die Domäne unter der Kontrolle des Angreifers aufgerufen werden.

Hier sind Beispiele, wie Sie SAMEORIGIN und X-Frame-Optionen mit NGINX, Apache und IIS verwenden können:

Verwenden von X-Frame-Optionen SAMEORIGIN für Nginx:

add_header X-Frame-Optionen SAMEORIGIN;

Verwendung der X-Frame-Optionen SAMEORIGIN für Apache:

Header hängen immer X-Frame-Optionen SAMEORIGIN an

Verwendung der X-Frame-Optionen SAMEORIGIN für IIS:

<httpProtokoll>
<benutzerdefinierte Header>
<name= hinzufügen"X-Frame-Optionen" Wert="GLEICHER URSPRUNG" />
</customHeaders>
</httpProtocol>

Allein das Hinzufügen des SAMEORIGIN-Headers bietet Ihren Besuchern mehr Sicherheit.

Was ist X-XSS-Schutz?

Die Verwendung von X-XSS-Protection-Header-Informationen kann Benutzer vor XSS-Angriffen schützen. Zuerst müssen Sie eliminieren XSS-Schwachstellen auf der Anwendungsseite. Nach der Bereitstellung von Code-basierter Sicherheit sind weitere Maßnahmen, z. B. X-XSS-Protection-Header, gegen XSS-Schwachstellen in Browsern erforderlich.

So verwenden Sie den X-XSS-Schutz

Moderne Browser können potenzielle XSS-Payloads erkennen, indem sie anwendungsgenerierte Inhalte filtern. Es ist möglich, dieses Feature mit den X-XSS-Protection-Header-Informationen zu aktivieren.

So aktivieren Sie den X-XSS-Protection-Header in Nginx:

add_header X-Frame-X-XSS-Schutz 1;

So aktivieren Sie den X-XSS-Protection-Header in Apache:

Header hängen immer X-XSS-Protection 1 an

So aktivieren Sie den X-XSS-Protection-Header in IIS:

<httpProtokoll>
<benutzerdefinierte Header>
<name= hinzufügen"X-XSS-Schutz" Wert="1" />
</customHeaders>
</httpProtocol>

Um zu verhindern, dass der Codeblock mit XSS-Angriff standardmäßig ausgeführt wird, können Sie Folgendes verwenden:

X-XSS-Schutz: 1; Modus = blockieren

Diese geringfügige Änderung muss vorgenommen werden, wenn eine potenziell gefährliche Situation vorliegt und Sie verhindern möchten, dass alle Inhalte gerendert werden.

Was sind X-Content-Type-Optionen?

Browser führen eine Analyse namens MIME Type Sniffing an Inhalten durch, die ihnen von der Webanwendung präsentiert werden. Wenn beispielsweise eine Zugriffsanforderung auf eine PDF- oder PNG-Datei vorliegt, leiten Browser, die eine Analyse der HTTP-Antwort durchführen, den Dateityp ab.

Stellen Sie sich eine Datei mit einer JPEG-Erweiterung vor, die jedoch tatsächlich Text/HTML-Inhalt enthält. Nachdem Sie die Erweiterungen verwendet und Schutzmaßnahmen im Upload-Modul bestanden haben, wird die Datei erfolgreich hochgeladen. Die hochgeladene Datei wird über die URL aufgerufen und MIME Type Sniffing liefert als Ergebnis Text/HTML zurück. Es rendert den Inhalt als HTML. Dann tritt die XSS-Schwachstelle auf.

Sie müssen also verhindern, dass Browser Inhalte per MIME-Type-Sniffing bestimmen. Dazu können Sie nosniff verwenden.

X-Content-Type-Options-Header für Nginx:

add_header X-Inhaltstyp-Optionen nosniff;

X-Content-Type-Options-Header für Apache:

Header immer X-Content-Type-Options nosniff

X-Content-Type-Options-Header für IIS:

<httpProtokoll>
<benutzerdefinierte Header>
<name= hinzufügen"X-Content-Type-Optionen" Wert="Schnüffler" />
</customHeaders>
</httpProtocol>

Was ist das HttpOnly-Cookie-Flag?

Webanwendungen verfolgen die Sitzungen der Benutzer über die Sitzungs-ID. Browser speichern dies und fügen es automatisch jeder HTTP-Anfrage innerhalb des Cookie-Bereichs hinzu.

Es ist möglich Cookies für bestimmte Zwecke zu verwenden außer der Übermittlung des Sitzungsschlüssels. Hacker könnten Benutzerdaten mithilfe der oben erwähnten XSS-Schwachstelle oder durch einen Cross-Site Request Forgery (CSRF)-Angriff herausfinden. Welche Cookies sind also in Bezug auf die Sicherheit am wichtigsten?

Als Beispiel können Sie sich die Informationen des zuletzt angeklickten Bildes in der Bildergalerie ansehen. Auf diese Weise ist der HTTP-Verkehr geringer und ein Teil der Last kann vom Internetbrowser des Benutzers mit clientseitigem Skripting gelöst werden.

Das ist wo Nur HTTP kommt herein. Nachfolgend ein Beispiel, wie die Cookie-Zuordnung aussehen sollte:

Satz-Plätzchen: Benutzer=t=cdabe8a1c2153d726; Pfad=/; Nur HTTP

Beachten Sie den HttpOnly-Wert, der in gesendet wird Set-Cookie Betrieb. Der Browser sieht dies und verarbeitet keine Werte mit dem HttpOnly-Flag, wenn über das auf das Cookie zugegriffen wird document.cookie Variable. Ein weiteres Flag, das im Set-Cookie-Prozess verwendet wird, ist das Secure-Flag. Dies zeigt an, dass der Cookie-Wert nur für HTTPS-Anforderungen zum Header hinzugefügt wird. E-Commerce-Sites verwenden es normalerweise, weil sie den Netzwerkverkehr reduzieren und die Leistung steigern möchten.

Mit dieser Methode können Sie wichtige Daten von Benutzern wie Benutzernamen, Passwörter und Kreditkarteninformationen verbergen. Aber es gibt ein Problem. Benutzern, die den Anmeldevorgang abschließen, wird ein Cookie-Wert ohne das Secure-Flag zugewiesen. Der Benutzer kann den Sitzungsschlüssel haben, wenn er eine HTTP-Anforderung an Nicht-HTTPS-Links stellt. Das Hinzufügen des sicheren Flags ist einfach:

Satz-Plätzchen: Benutzer=t=cdabe8a1c2153d726; Pfad=/; Sicher

Wann sollten Sie HttpOnly nicht verwenden? Wenn Sie sich auf Javascript verlassen, sollten Sie vorsichtig sein, da dies Ihre Website stattdessen weniger sicher machen kann.

Kleine Schritte für mehr Web-Sicherheit

Sie benötigen keine fortgeschrittenen Software- und Serverkenntnisse, um die Sicherheit von Webanwendungen zu erhöhen. Indem Sie nur wenige Zeilen ändern, können Sie einige ernsthafte Angriffe verhindern. Das reicht natürlich nicht. Es ist jedoch ein kleiner, aber effektiver Schritt für die Website-Sicherheit. Wissen ist die beste Vorbeugung, daher ist es auch nützlich, die subtilen Nuancen zu kennen, wie HTTPS Daten während der Übertragung schützt.