Приватний порт не засвідчує програмне забезпечення за ним
Доступність і цілісність програмного забезпечення — окремі засоби контролю. Розкриття XZ — привід перевірити обидва, а не вважати приватний порт виправленим пакетом.
Це розумний інстинкт: якщо лише VPN доходить до слухача SSH, поверхня впливу мала і проблему вирішено. Однак поверхня впливу не дорівнює цілісності. Перша половина правдива, а друга з неї не випливає. Доступність визначає, хто може спробувати з'єднання; цілісність програмного забезпечення визначає, що слухач зробить, коли його отримає. Брама звужує аудиторію і нічого не говорить про код за нею.
Приватний порт — це менші двері, а не інший замок, і ця різниця визначає, що ви перевірите далі.
Два засоби контролю, два питання
Мережеве обмеження зменшує поверхню впливу. Воно залишає дозволених користувачів і будь-якого скомпрометованого схваленого клієнта здатними досягти ураженого сервісу. Виправлення пакета відновлює програмне забезпечення і не звужує надто широкий мережевий дозвіл. Кожен засіб контролю робить свою роботу, і кожен може бути правильним, поки іншого немає. Розгляд їх разом — це спосіб, у який команда переконує себе, що один покриває обидва, і саме це та помилка, про яку йдеться.
Кінцева точка VPN — теж програмне забезпечення, і вона несе той самий обов'язок. Додавання її до шляху вносить власний обов'язок обслуговування і не знімає відповідальність ланцюга постачання за все, що за нею.
Що насправді показало розкриття XZ
Розкриття XZ/liblzma у березні 2024 року описувало бекдор, який за уражених умов міг призвести до компрометації сервера SSH. Це була проблема цілісності програмного забезпечення не меншою мірою, ніж проблема поверхні впливу, і це не було доказом того, що кожне встановлення Linux містило вразливе складання. Обсяг походить від уражених версій і дистрибутивів, які їх постачали, а не від назви родини операційних систем.
Ця різниця — різниця між реагуванням на інцидент і чутками, і в цьому варто бути педантичним.
Закриття порту — не відновлення
Якщо компрометація могла вже статися, зміна доступності не є відновленням. Бекдор, який виконався, уже мав свій шанс; правило міжмережевого екрана не подорожує назад у часі. Дотримуйтеся схваленого процесу реагування на інциденти для хоста й будь-яких розкритих облікових даних, і збережіть докази, потрібні для встановлення того, що насправді виконалося. Перебудова з відомих справних носіїв зазвичай є частиною цієї розмови.
Використовуйте також поточні перевірені рекомендації дистрибутива та процес усунення, і читайте список уражених версій, а не заголовок. Копіювання історичної команди зниження версії в незв'язане середовище — це те, як виправлення стає новою поверхнею впливу.
Перевірте обидва, окремо
Поставте два питання в їхніх власних термінах. Хто може досягти слухача, і чи ця аудиторія саме та, для якої призначено сервіс? Яка версія програмного забезпечення встановлена, хто підписав артефакт, і як організація дізнається про поганий випуск до того, як прочитає про нього в новинах? Відповіді належать різним документам із різними власниками, і жоден власник не може відповісти за іншого.
Для керованого парку інвентаризація програмного забезпечення — це той засіб контролю, який узагалі робить друге питання таким, на яке можна відповісти. Без неї кожне розкриття перетворюється на археологічний проєкт із дедлайном.
Брама звужує аудиторію. Цілісність вирішує, чи має аудиторія значення.