Wymagam dzienników dostępu włączonych, ale ze względów braku zgodności nie można rejestrować poufnych danych parametru żądania GET w dziennikach dostępu. Chociaż wiem, mogłem analizować logi (po fakcie) i oczyszczać je, to nie jest dopuszczalne rozwiązanie - ponieważ z powodów zgodności nie można manipulować dziennikami.Jak nie rejestrować parametru żądania pobierania w dziennikach dostępu do nginx?
http://www.example.com/resource?param1=123&sensitive_param=sensitive_data
Jak mogę zapobiec „sensitive_data” wartość parametru mają być zapisywane w logach? Oto kilka pomysłów:
- Wysłanie w zapytaniu POST - nie jest opcją z JSONP.
- Użyj nowej reguły lokalizacji dla "zasób" i ustaw dziennik dostępu, aby użyć formatu log_logat używa innego formatu (tzn. Nie używa $ remote_addr). Zobacz to w celach informacyjnych: http://nginx.org/en/docs/http/ngx_http_log_module.html
- Zaloguj się $ sanitized_remote_addr i ustaw go (w jakiś sposób spróbuj $ remote_addr lub coś innego?), Zanim przejdzie do logu. Nie jesteśmy pewni, czy jest to łatwe do wykonania.
Jak należy to zrobić?
Można też rozważyć [mod_security dla nginx] (http://www.modsecurity.org/projects/modsecurity/nginx/) i mają wygląd w [projekt naxsi] (https://github.com/nbs-system/naxsi) –