From 968cba3ef9181f2862a138288c6bec50b971bdfc Mon Sep 17 00:00:00 2001 From: Christoph Date: Sat, 14 Oct 2017 03:25:22 +0200 Subject: [PATCH] Add Readme's for HTTP security headers. Add list of HTTP return codes. --- DOC/README.HTTP_security_headers | 123 +++++++++++++++++++++++++++++++ DOC/README.HTTP_status_codes | 42 +++++++++++ Files/html_return_codes.html | 63 ++++++++++++++++ 3 files changed, 228 insertions(+) create mode 100644 DOC/README.HTTP_security_headers create mode 100644 DOC/README.HTTP_status_codes create mode 100644 Files/html_return_codes.html diff --git a/DOC/README.HTTP_security_headers b/DOC/README.HTTP_security_headers new file mode 100644 index 0000000..fd11dce --- /dev/null +++ b/DOC/README.HTTP_security_headers @@ -0,0 +1,123 @@ +# ========== +# - HTTP security Headers +# ========== + +# - X-Frame-Options +# - +# - See: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-frame-options +# - +# - X-Frame-Options tells the browser whether you want to +# - allow your site to be framed or not. By preventing a +# - browser from framing your site you can defend against +# - attacks like clickjacking. +# - +# - Valid values: +# - +# - DENY meaning your site can't be framed +# - +# - SAMEORIGIN which allows you to frame your own site +# - +# - ALLOW-FROM https://example.com/ which lets you specify +# - sites that are permitted to frame your own site. +# - +Header always set X-Frame-Options "SAMEORIGIN" + + +# - X-Xss-Protection +# - +# - See: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-xss-protection +# - +# - X-XSS-Protection sets the configuration for the cross-site +# - scripting filters built into most browsers. The best +# - configuration is "X-XSS-Protection: 1; mode=block". +# - +# - Valid settings for the header are: +# - +# - 0 which disables the protection, +# - +# - 1 which enables the protection +# - +# - 1; mode=block which tells the browser to block the response +# - if it detects an attack rather than sanitising +# - the script. +# - +Header always set X-Content-Type-Options "nosniff" + + +# - X-Content-Type-Options +# - +# - See: https://scotthelme.co.uk/hardening-your-http-response-headers/#x-content-type-options +# - +# - X-Content-Type-Options stops a browser from trying to MIME-sniff +# - the content type and forces it to stick with the declared +# - content-type. +# - +# - The only valid value for this header is +# - +# - "X-Content-Type-Options: nosniff". +# - +Header always set X-Content-Type-Options "nosniff" + +# - Strict-Transport-Security +# - +# - See: https://scotthelme.co.uk/hsts-the-missing-link-in-tls/ +# - +# - HTTP Strict Transport Security (HSTS) is an excellent feature +# - to support on your site and strengthens your implementation of +# - TLS by getting the User Agent to enforce the use of HTTPS. +# - +# - The HSTS header will be remembered by a standard compliant browser +# - for max-age seconds. +# - +#Header add Strict-Transport-Security "max-age=15768000" +Header always set Strict-Transport-Security "max-age=31536000" + + +# - Content-Security-Policy (CSP) +# - +# - See: https://scotthelme.co.uk/content-security-policy-an-introduction/ +# - +# - +# - Content Security Policy is an effective measure to protect your +# - site from XSS attacks. By whitelisting sources of approved content, +# - you can prevent the browser from loading malicious assets. Analyse +# - this policy in more detail. +# - +# - Once you've created your policy, there's a really great feature you +# - can take advantage of to test it. Instead of sending the header +# - Content-Security-Policy:, you can send Content-Security-Policy-Report-Only:. +# - This means the browser will receive and act upon the policy, but instead of +# - enforcing it, it will give you feedback on what the effects of the policy +# - would have been. +# - +# - For a complete list and explanation of values, see urls above +# - +# - Examples: "default-src 'self';" +# - would only allow assets to be loaded from the current origin +# - (but not subdomains). +# - +# - "default-src https:" +# - would allow any assets to be loaded over https from any origin. +# - +Header set Content-Security-Policy "default-src 'https:';" + + +# - Referrer-Policy +# - +# - See: https://scotthelme.co.uk/a-new-security-header-referrer-policy/ +# - https://www.w3.org/TR/referrer-policy/ +# - +# - Referrer Policy is a new header that allows a site to control how +# - much information the browser includes with navigations away from +# - a document and should be set by all sites. +# - +# - For a complete list and explanation of values, see urls above +# - +# - Example: "no-referrer-when-downgrade" +# - The browser will not send the referrer header when navigating +# - from HTTPS to HTTP, but will always send the full URL in the +# - referrer header when navigating from HTTP to any origin. It +# - doesn't matter whether the source and destination are the same +# - site or not, only the scheme. +# - +Header set Referrer-Policy "no-referrer-when-downgrade" diff --git a/DOC/README.HTTP_status_codes b/DOC/README.HTTP_status_codes new file mode 100644 index 0000000..6776ef5 --- /dev/null +++ b/DOC/README.HTTP_status_codes @@ -0,0 +1,42 @@ +HTTP - Return Codes +=================== + + +100 continue weitere Daten senden +101 switching protocols Übertragungsprotokoll geändert +200 ok Übertragung ok +201 created Neue Datenquelle wurde erstellt +202 accepted Anfrage akzeptiert, aber noch nicht beantwortet +203 non-authoritative information Zwischengeschaltetes Programm kann Information verändert haben +204 no content es wurde nichts (neues) geliefert +205 reset content Inhalt soll zurückgesetzt werden +206 partial content Es wurde (nur) ein Teil des Inhaltes zurückgeliefert +300 multiple choice Es stehen mehrere Datenquellen zur Auswahl +301 moved permanently Dokument wurde dauerhaft verschoben ( neues Ziel wird in der Meldung angegeben ) +302 moved temporarily Dokument wurde kurzzeitig verschoben ( neues Ziel wird in der Meldung angegeben ) +303 see other / method Falscher Adressat für Anforderung ( neues Ziel wird in der Meldung angegeben ) +304 not modified Dokument wurde seit der letzten Anforderung nicht verändert +305 use proxy Anfrage kann besser vom proxy beantwortet werden ( Adresse in der Meldung ) +306 unused aktuell unbenutzt ( aber noch reserviert ) +307 movedtemporarily Dokument wurde kurzzeitig verschoben ( neues Ziel wird in der Meldung angegeben ) +400 bad request Anfrage ist fehlerhaft +401 unauthorized keine Berechtigung +402 payment required nur gegen Bezahlung geht's weiter ( noch nicht eingesetzt ) +403 forbidden Art des Zugriffs ist verboten +404 not found Dokument wurde nicht gefunden +405 method not allowed MIME-Typ passt nicht zum Dokument +406 not acceptable Anfrage wurde nicht akzeptiert +407 proxy authentication required keine Berechtigung durch proxy +408 timeout Anwort dauerte zu lange +410 gone Dokument wurde gelöscht +411 length required Länge des Dokuments muss angegeben werden +413 too large Anforderung ist zu lang +414 URI to large die angegebene Zieladresse ist zu lang +415 unsupported media type angegebener Dokumententyp wird nicht unterstützt +500 internal server error interner Fehler auf dem Server ( hard- oder software ) +501 not implemented für diese Abfrage ist der Server nicht programmiert +502 bad gateway proxy oder gateway hat einen Fehler in den Daten erkannt +503 service unavailable Server ist überlastet +504 gateway timeout proxy oder gateway erhält keine Antwort vom Server +505 version not supported das verwendete HTTP-Protokoll wird nicht unterstützt + diff --git a/Files/html_return_codes.html b/Files/html_return_codes.html new file mode 100644 index 0000000..f74a499 --- /dev/null +++ b/Files/html_return_codes.html @@ -0,0 +1,63 @@ + + + + + + + +HTTP - Return Codes + +

HTTP - Return Codes

+
+ +

Liste der gebräuchlichsten HTTP-Codes

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
100 continueweitere Daten senden
101switching protocolsÜbertragungsprotokoll geändert
200ok Übertragung ok
201createdNeue Datenquelle wurde erstellt
202acceptedAnfrage akzeptiert, aber noch nicht beantwortet
203non-authoritative information Zwischengeschaltetes Programm kann Information verändert haben
204no contentes wurde nichts (neues) geliefert
205reset content Inhalt soll zurückgesetzt werden
206partial contentEs wurde (nur) ein Teil des Inhaltes zurückgeliefert
300multiple choiceEs stehen mehrere Datenquellen zur Auswahl
301moved permanentlyDokument wurde dauerhaft verschoben ( neues Ziel wird in der Meldung angegeben )
302moved temporarilyDokument wurde kurzzeitig verschoben ( neues Ziel wird in der Meldung angegeben )
303see other / methodFalscher Adressat für Anforderung ( neues Ziel wird in der Meldung angegeben )
304not modifiedDokument wurde seit der letzten Anforderung nicht verändert
305use proxyAnfrage kann besser vom proxy beantwortet werden ( Adresse in der Meldung )
306unusedaktuell unbenutzt ( aber noch reserviert )
307moved temporarilyDokument wurde kurzzeitig verschoben ( neues Ziel wird in der Meldung angegeben )  
400bad requestAnfrage ist fehlerhaft
401unauthorized keine Berechtigung
402payment requirednur gegen Bezahlung geht's weiter ( noch nicht eingesetzt )
403forbiddenArt des Zugriffs ist verboten
404not foundDokument wurde nicht gefunden
405method not allowed MIME-Typ passt nicht zum Dokument
406not acceptableAnfrage wurde nicht akzeptiert
407proxy authentication required keine Berechtigung durch proxy
408timeoutAnwort dauerte zu lange
410goneDokument wurde gelöscht
411length requiredLänge des Dokuments muss angegeben werden
413too largeAnforderung ist zu lang
414URI to largedie angegebene Zieladresse ist zu lang
415unsupported media typeangegebener Dokumententyp wird nicht unterstützt
500internal server errorinterner Fehler auf dem Server ( hard- oder software )
501not implementedfür diese Abfrage ist der Server nicht programmiert
502bad gatewayproxy oder gateway hat einen Fehler in den Daten erkannt
503service unavailableServer ist überlastet
504gateway timeoutproxy oder gateway erhält keine Antwort vom Server
505version not supported das verwendete HTTP-Protokoll wird nicht unterstützt
+ + +

+
+ + +