Назад | Перейти на главную страницу

Лучший способ анонимизировать логи nginx

Я ищу способ анонимизировать журналы nginx (журналы ошибок и доступа), и он должен иметь следующие свойства:

Отслеживание геолокации было бы неплохо, но не обязательно.

Моя первая идея состояла в том, чтобы создать хэш IP-адреса, но, учитывая, что большинство IP-адресов являются IP4, существует примерно 4 миллиарда вариантов, которые очень легко обратимы.

Существуют ли существующие решения или стратегии и как их реализовать?

Модуль ipscrub позволяет регистрировать IP-адреса, хешированные с помощью эфемерной соли.

Это не поможет со вторым требованием подсчета отдельных пользователей, потому что хеши меняются очень часто, поэтому, если вы подсчитываете разные хеши, вы будете пересчитывать.

Здесь они сопоставляют IP-адрес с сокращенной версией:

https://stackoverflow.com/questions/6477239/anonymize-ip-logging-in-nginx

Я бы лично использовал Google Analytics с анонимными IP-адресами для выполнения всех подсчетов, отслеживания и т. Д., А затем просто полностью удалил бы IP из ваших журналов.

https://developers.google.com/analytics/devguides/collection/analyticsjs/ip-anonymization

ga('set', 'anonymizeIp', true);

Вы можете использовать свой собственный формат журнала http://nginx.org/en/docs/http/ngx_http_log_module.html#log_format с пользовательской переменной вместо $ remote_addr, которая может быть чем угодно.