Wichtige Felder im HTTP-Header aus Sicherheitssicht

7

Was sind aus Sicherheitsgründen die wichtigen Felder im HTTP-Header? Ich habe versucht, es zu googeln, konnte es aber nicht finden. Kann mir jemand einen Link geben, um darüber zu lesen? Danke im Voraus.

rsmahanti
quelle

Antworten:

1

Was sind aus Sicherheitsgründen die wichtigen Felder im HTTP-Header?

Wenn es um Sicherheit geht, besteht die sicherste Antwort darin, alles zu berücksichtigen und dabei den Dingen Vorrang einzuräumen, die Angreifer bekanntermaßen ausnutzen.

Die Header, die Ihr Server auf Anfrage zurückgibt, sind für Angreifer wichtig ( insbesondere Felder, in denen die Software- / Versionsinformationen zu Ihrem Webserver verfügbar gemacht werden oder die es dem Angreifer auf andere Weise ermöglichen, den Server zu profilieren). (... und +1 für die Mod_header-Direktiven von John Conde in diesem Punkt - es schadet definitiv nicht, Client-Browsern anzuweisen, CSRF / XSS-Richtlinien durchzusetzen.)

Die Header, die Ihr Webserver und Ihre Anwendung mit einer Anfrage akzeptieren (dh alles, was Ihr Webserver oder Ihre Anwendung analysieren muss), sind für Sie wichtig, da (a) Ihr Webserver sich wahrscheinlich bemüht, alle zu analysieren - was dem Angreifer möglicherweise a Mittel zum Ausführen eines Pufferüberlaufs oder eines Slowloris- Angriffs - und (b) Ihre Anwendung muss alles, was als Eingabe verwendet wird, bereinigen und / oder validieren (wie im Fall eines Cookies, das möglicherweise geändert wurde).

danlefree
quelle
Cookies können ziemlich groß sein (bis zu 1,2 MB), aber ich denke, dass Slowloris-Attacks und Pufferüberläufe in Headern eher in den Zuständigkeitsbereich von Webserver-Entwicklern fallen. Ich nehme an, Ihre Anwendung könnte einen Pufferüberlauf durch das Parsen von Header-Daten erhalten, aber die meisten Web-Sprachen sind Hochsprachen, die dafür nicht anfällig sind. Das heißt nicht, dass PHP oder eine PHP-Bibliothek selbst möglicherweise keine Sicherheitsanfälligkeit bezüglich Pufferüberlauf aufweist. Aber die Dinge auf dem neuesten Stand zu halten, ist alles, was Sie hier wirklich tun können.
Lèse Majesté
Wenn Sie mehr über Pufferüberläufe erfahren möchten, die für Web-Apps gelten, lesen Sie dieses PDF: Adventuresinsecurity.com/Papers/WebAppSecurityBuffOverflows.pdf
Lèse Majesté
1
@ Lèse majesté - Sie haben absolut Recht - Exploits auf Protokollebene richten sich im Allgemeinen an den Webserver-Daemon Web-Entwickler, um ein Gefühl für das "Gesamtbild" der Sicherheit zu haben - dh "aus diesem Grund können Sie in Cookies gespeicherten Variablen nicht vertrauen"
danlefree
7

Hier sind einige, die ich benutze:

# Don't allow any pages to be framed by my site or any others
# Defends against Clickjacking!
Header set X-Frame-Options DENY

# Only allow JavaScript from the same domain to be run.
# Also, don't allow inline JavaScript to run. 
Header set X-Content-Security-Policy "allow 'self';"

# Turns on IE 8 XSS prevention tools
Header set X-XSS-Protection "1; mode=block"

# Don't send out the Server header. This way no one knows what 
# version of Apache and PHP I am using
Header unset Server

Nützliche Tinten:

https://developer.mozilla.org/de/the_x-frame-options_response_header https://wiki.mozilla.org/Security/CSP/Specification http://www.google.com/support/forum/p/Web% 20Suche / Thread? Tid = 187e02e745a50a77 & hl = en

John Conde
quelle
Diese Header kann auch relevant , falls Sie es möchten einige Cross-Domain - AJAX Anrufe ermöglichen: nczonline.net/blog/2010/05/25/...
Majestätsbeleidigung
Beachten Sie, dass es einige nicht böswillige Webdienste gibt, die Ihre Website in einem IFRAME anzeigen. Die Einstellung X-Frame-Optionsist bei diesen Diensten ein Problem. Siehe das Folgende: webmasters.stackexchange.com/a/31289/9876
Snap
2

Sie möchten auch sicherstellen, dass wichtige Cookie-Header mit dieser HttpOnlyOption gesendet werden .

http://www.owasp.org/index.php/HttpOnly

Es gibt anscheinend Möglichkeiten, dies extern mit ModSecurity zu erzwingen , und natürlich können (und sollten) Sie dies innerhalb des Anwendungscodes festlegen, der Cookies setzt.

Jeff Atwood
quelle
Ich habe völlig vergessen, dass Cookies in der Kopfzeile einer Anfrage enthalten sind
John Conde
@ John siehe lcamtuf.blogspot.com/2010/10/…
Jeff Atwood