|
⇤ ← Wersja 1 z 2019-12-04 01:09:19
Rozmiar: 1798
Komentarz: *** KREACJA ***
|
← Wersja 2 z 2019-12-09 22:31:29 ⇥
Rozmiar: 3427
Komentarz: Dokończenie dokumentacji
|
| Usunięcia zostały oznaczone w ten sposób. | Dodatki zostały oznaczone w ten sposób. |
| Linia 9: | Linia 9: |
| ''Content Security Policy'' to specjalny nagłówek dla przeglądarki sterujący, które elementy pobierane ze strony webowej są ''uprawnione'' do pokazania użytkownikowi. Jeżeli jakiś element: czcionka, css, Java Script czy obrazek nie mieści się na białej liście elementów uprawnionych, to zostanie zablokowany użytkownikowi końcowemu. Jednym z elementów konfiguracyjnych CSP jest sposób przekazania raportu do serwera, że nastąpiło naruszenie | ''Content Security Policy'' to specjalny nagłówek dla przeglądarki sterujący, które elementy pobierane ze strony webowej są ''uprawnione'' do pokazania użytkownikowi. Jeżeli jakiś element: czcionka, css, Java Script czy obrazek nie mieści się na białej liście elementów uprawnionych, to zostanie zablokowany użytkownikowi końcowemu. Jednym z elementów konfiguracyjnych CSP jest sposób przekazania raportu do serwera, że nastąpiło naruszenie polityki ''CSP''. Zgodnie ze standardem, jest przekazywany obiekt typu JSON, zaś serwer może go "''odebrać''" poddając konwersji |
| Linia 11: | Linia 11: |
| == Skrypt shell == {{{#!highlight bash numbers=off ls /root |
== csp-report.cgi == Do przyjmowania raportów ''CSP'' służy skrypt csp-report.cgi, który jest wkazywany w polityce jako sposób raportowania przez przeglądarkę. Zwyczajowo jest to ostatni element nagłówka CSP, który przyjmuje postać: {{{#!highlight nginx numbers=off add_header Content-Security-Policy "upgrade-insecure-requests; default-src https:; [...] report-uri /cgi-bin/csp-report.cgi"; |
| Linia 16: | Linia 17: |
| == Plik konfiguracyjny == {{{#!highlight ini numbers=off # komentarz parametr = wartość |
== Format logowania == Obsługa raportów ''Content Security Policy'' jest umieszczona w [[UniMaster|repozytorium konfiguracji]] jako plik '''015-csp-log-format.conf''' tak jak pokazano poniżej: {{{#!highlight nginx numbers=off log_format csplog '$remote_addr - $remote_user ' '[$time_local] "$http_user_agent" ' '"$upstream_http_x_csp_referrer" "$upstream_http_x_csp_document_uri" ' '"$upstream_http_x_csp_blocked_uri" "$upstream_http_x_csp_violated_directive"'; }}} Jak widać wykorzystywane są nagłówki HTTP (odpowiedzi). Zgodnie z dokumentacją należy użyć zmiennej [[http://nginx.org/en/docs/http/ngx_http_upstream_module.html#var_upstream_http_|upstream_http_|target="_blank"]] == Ustawienie logowania dla hosta wirtualnego == W celu wykorzystania raportów ''Content Security Policy'' należy w konfigracji danego serwera wirtualnego dodać następujące konfiguracje: {{{#!highlight nginx numbers=off server { # [...] include 015-csp-report.conf; access_log /var/log/nginx/server.domain.tld/csp.log csplog if=$csplog; # [...] } |
| Linia 24: | Linia 41: |
| 2. <<Anchor(url2)>>[[url2||target="_blank"]] 3. <<Anchor(url3)>>[[url3||target="_blank"]] 4. <<Anchor(url4)>>[[url4||target="_blank"]] |
1. <<Anchor(url2)>>[[https://docs.nginx.com/nginx/admin-guide/monitoring/logging/|Warunkowe logowanie w NGINX|target="_blank"]] na przykładzie parametrów TLS |
| Linia 33: | Linia 48: |
{{{#!wiki comment 1. <<Anchor(url3)>>[[url3||target="_blank"]] 1. <<Anchor(url4)>>[[url4||target="_blank"]] |
|
| Linia 35: | Linia 55: |
{{{#!wiki comment |
Wydrukuj tę dokumentację Pokaż jako slajdy
Spis Treści
Konfiguracja raportowania CSP w nginx
Content Security Policy to specjalny nagłówek dla przeglądarki sterujący, które elementy pobierane ze strony webowej są uprawnione do pokazania użytkownikowi. Jeżeli jakiś element: czcionka, css, Java Script czy obrazek nie mieści się na białej liście elementów uprawnionych, to zostanie zablokowany użytkownikowi końcowemu. Jednym z elementów konfiguracyjnych CSP jest sposób przekazania raportu do serwera, że nastąpiło naruszenie polityki CSP. Zgodnie ze standardem, jest przekazywany obiekt typu JSON, zaś serwer może go "odebrać" poddając konwersji
csp-report.cgi
Do przyjmowania raportów CSP służy skrypt csp-report.cgi, który jest wkazywany w polityce jako sposób raportowania przez przeglądarkę. Zwyczajowo jest to ostatni element nagłówka CSP, który przyjmuje postać:
add_header Content-Security-Policy "upgrade-insecure-requests; default-src https:; [...] report-uri /cgi-bin/csp-report.cgi";
Format logowania
Obsługa raportów Content Security Policy jest umieszczona w repozytorium konfiguracji jako plik 015-csp-log-format.conf tak jak pokazano poniżej:
log_format csplog '$remote_addr - $remote_user '
'[$time_local] "$http_user_agent" '
'"$upstream_http_x_csp_referrer" "$upstream_http_x_csp_document_uri" '
'"$upstream_http_x_csp_blocked_uri" "$upstream_http_x_csp_violated_directive"';
Jak widać wykorzystywane są nagłówki HTTP (odpowiedzi). Zgodnie z dokumentacją należy użyć zmiennej upstream_http_
Ustawienie logowania dla hosta wirtualnego
W celu wykorzystania raportów Content Security Policy należy w konfigracji danego serwera wirtualnego dodać następujące konfiguracje:
server {
# [...]
include 015-csp-report.conf;
access_log /var/log/nginx/server.domain.tld/csp.log csplog if=$csplog;
# [...]
}
Źródła w sieci internet
Warunkowe logowanie w NGINX na przykładzie parametrów TLS
Odnośniki do dokumentacji
(c) 2004 - 2026 BSD Serwis Krzysztof Stryjek. W przypadku błędów, poprawek proszę kontaktować się z administratorem wiki.
