Чи зачепила вас CVE-2019-14899? Контрольний список для ядра
Описана атака вимагала зловмисника в сусідній мережі та певної мережевої конфігурації хоста. Перевірте рядок у бюлетені, пакет ядра та ваш захід захисту.
Сканер позначає CVE-2019-14899 на машині, яка роками використовує VPN, і перша реакція — оголосити VPN зламаним. Це неправильна рамка. Розкрита проблема стосується зловмисника в локальній мережі жертви, який робить висновки про певні зєднання TCP, а не сайту, що розшифровує ваш тунель.
Пройдіть чотири перевірки нижче по порядку. Кожна або звужує проблему, або завершує розслідування.
Перевірка 1: чи охоплює бюлетень ваше ядро
Шукайте власний запис вашого дистрибутива, а не переказ дати випуску з блогу. Сторінка безпеки Ubuntu для цієї CVE перелічує загальний пакет linux для 18.04 LTS як уразливий із відкладеним виправленням і відстежує інші пакети ядра окремими рядками. Зіставте робочий випуск і пакет ядра з потрібним рядком. Знайомий на вигляд номер версії — не збіг.
Результат сканера означає, що ідентифікатор стосується чогось у вашому інвентарі. Він не означає, що сусідній пристрій використав машину.
Перевірка 2: хто зловмисник у моделі
Модель загроз припускає сусіднього зловмисника, який може взаємодіяти з мережею доступу жертви. Це конкретна позиція, а не довільний віддалений сервіс, якому не подобається ваша точка виходу. Якщо користувачі підключаються з кафе, припущення реалістичне; якщо вони за керованою корпоративною локальною мережею, це інша розмова.
Залишайте відкритим питання довіри до локальної мережі, навіть коли тунель зашифрований. Шифрування відповідає на інше питання, ніж сусідство.
Перевірка 3: на який рівень ви покладаєтеся
Правильно перевірений HTTPS дає власний захист записів застосунку, а TLS 1.3 автентифікує ці дані від краю до краю. Але він не обіцяє, що зловмисник не може перервати базове зєднання TCP. Тому застосунок може бути безпечним для читання і все ж переривним, а переривання — не той самий результат, що розкриття. Розділіть ці два поняття до оцінки ризику.
Ця різниця важлива для звіту. Вона перетворює розпливчасте твердження, що VPN небезпечний, на обмежене твердження про те, що сусідній зловмисник міг спостерігати або перервати.
Перевірка 4: який захід ви справді впровадили
Розкриття обговорює заходи маршрутизації та фільтрації і прямо говорить про їхні межі, зокрема фільтрацію зворотного шляху та асиметричні маршрути. Не копіюйте одне значення sysctl на кожен хост VPN і не називайте це виправленим. Фільтрація зворотного шляху взаємодіє з маршрутизацією, тому значення, що допомагає одній топології, може зламати іншу.
Перевірка — це команда, а не галочка. sysctl net.ipv4.conf.all.rp_filter показує глобальне значення, а sysctl net.ipv4.conf.tun0.rp_filter показує значення для інтерфейсу, яке справді діє. Прочитайте обидва до і після будь-якої зміни.
Використовуйте настанови дистрибутива та власний дизайн маршрутизації, а потім підтвердьте налаштування на інтерфейсі, який несе тунель, а не у файлі, який ніхто не завантажив.
Що записати
Запишіть припущення про сусіднього зловмисника, робочий пакет ядра, зіставлений рядок бюлетеня, впроваджений захід і місце його застосування, а також наявні захисти застосунку. Додайте дату перевірки бюлетеня, бо ці сторінки змінюються. Таке поєднання — захищувана оцінка.
Дата випуску ОС і робоче зєднання VPN — не оцінка. Це два факти, які випадково легко зібрати.