Засегнати ли сте от 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 връзка не са оценка. Това са два факта, които случайно се събират лесно.