Що журнал VPN може і чого не може довести про перегляд сайтів
Записи сеансу, резолвера, потоку й застосунку доводять різні події. Виберіть питання аудиту та зіставлення ідентичності, перш ніж називати це історією переглядів.
Перш ніж вибрати збирач журналів, вирішіть, яку подію має встановити аудит. Питання, який сеанс VPN звернувся до адреси призначення, відрізняється від питання, яка людина відкрила конкретну сторінку. Обидва потребують різних записів, різних зіставлень і різних рівнів упевненості. Журнал з'єднання OpenVPN відповідає на перше й не може відповісти на друге.
Назвіть подію до вибору збирача
Запис сеансу показує прийняту ідентичність, час початку й завершення та адресу, яку сервер призначив за власною політикою. Журнал резолвера показує, що ім'я запитувалося на цьому резолвері. Запис потоку показує адреси, порти, протокол і час, а журнал застосунку показує транзакцію, яку цей застосунок справді обробив. Жоден із цих чотирьох не замінює інший.
Кожен із них встановлює одну подію й залишає інші відкритими. Якщо записати питання заздалегідь, ви не складете історію, яку дані не можуть підтвердити.
journalctl -u [email protected] --since today | grep -i 'peer info\|assigned' cat /etc/openvpn/server/openvpn-status.log | head -20 conntrack -L -p tcp --dport 443 2>/dev/null | head -20
Перша команда показує події сеансу з журналу служби. Друга друкує поточний список клієнтів із призначеними адресами, а це те зіставлення, від якого залежить з'єднання під час аудиту. Третя показує живий стан потоку, корисний лише поки з'єднання існує.
Пошук — це не відвідування
Браузер розв'язує імена спекулятивно, кешує відповіді й повторно використовує їх, не питаючи спостережуваний резолвер знову. Тому ім'я в журналі резолвера доводить пошук, а не відвідування. DNS через HTTPS розширює цю розбіжність, бо налаштований для нього браузер надсилає свої запитання туди, де ваш звичайний реєстратор їх ніколи не бачить.
Адреси призначення самі по собі не кращі. Одна адреса може розміщувати багато не пов'язаних сайтів, зворотний DNS — це здогад, а не реконструкція, а ім'я хоста, видиме під час рукостискання TLS, не є шляхом запиту всередині зашифрованого сеансу.
Для точних транзакцій потрібні власні записи подій застосунку або архітектура проксі, явно підтримувана для журналювання. Тунель CONNECT дає проксі адресу призначення й обсяг, але не шляхи сторінок усередині нього. Адміністративний доступ до мережі не є ліцензією тихо замінювати модель довіри застосунку.
Зіставте ідентичність і час, перш ніж називати людину
Запис потоку із внутрішньою адресою джерела нічого не означає, доки цю адресу не зіставлено із сеансом у той самий момент. Адреси використовуються повторно, і та сама адреса годину тому могла належати іншому сеансу. Статичне призначення — один спосіб зберегти зв'язок, але не єдиний.
Межі перетворення ще більше послаблюють зіставлення. Якщо кілька пристроїв уже ділили одну адресу джерела до вашої точки спостереження, найкраще, що можна визначити, — це спільний сеанс шлюзу, а не один пристрій. Сертифікат або обліковий запис, яким користуються кілька людей, має той самий ефект.
Записуйте часові зони, джерела часу, точки спостереження й кожен крок перетворення. Відсутні записи можуть означати, що запис потоку застарів, датчик обійшли або журнал застосунку було вимкнено. Відсутність не є доказом того, що нічого не сталося.
Потім визначте мінімальні поля, дозволених читачів і термін зберігання для заявленої мети. Кореляція та помилкове віднесення — це питання проєктування, а не запізніла думка, а метадані, що ідентифікують людей, заслуговують такого ж захисту, як і зіставлення ідентичності, від якого вони залежать.
Перевірте аудит на активності, якою ви керуєте
Створіть дозволений трафік, сеанс і застосунок якого ви вже знаєте, потім перевірте, що фактично зафіксував кожен запис. Виконайте пошук без завантаження сторінки, завантажте сторінку з кешу й відкрийте з'єднання через проксі, і подивіться, які події з'являться.
Повідомте про подію, яку підтверджують докази, і скажіть, що вони не охоплюють. Скромний запис із заявленим обсягом витримує перевірку; амбітна історія переглядів, зібрана зі здогадів, не витримує.