Частный порт не удостоверяет программное обеспечение за ним
Доступность и целостность программного обеспечения — разные средства контроля. Раскрытие XZ — повод проверить оба, а не считать частный порт исправленным пакетом.
Это разумный инстинкт: если только VPN доходит до слушателя SSH, поверхность воздействия мала и проблема решена. Однако поверхность воздействия не равна целостности. Первая половина верна, а вторая из неё не следует. Доступность определяет, кто может попытаться установить соединение; целостность программного обеспечения определяет, что слушатель сделает, когда его получит. Ворота сужают аудиторию и ничего не говорят о коде за ними.
Частный порт — это дверь поменьше, а не другой замок, и это различие определяет, что вы проверите дальше.
Два средства контроля, два вопроса
Сетевое ограничение снижает поверхность воздействия. Оно оставляет разрешённых пользователей и любого скомпрометированного одобренного клиента способными достичь затронутого сервиса. Исправление пакета восстанавливает программное обеспечение и не сужает слишком широкое сетевое разрешение. Каждое средство контроля выполняет свою работу, и каждое может быть верным, пока другого нет. Рассматривать их вместе — это способ, которым команда убеждает себя, что одно покрывает оба, и именно это ошибка, о которой идёт речь.
Конечная точка VPN — тоже программное обеспечение, и она несёт ту же обязанность. Её добавление в путь вводит собственную обязанность обслуживания и не снимает ответственность цепочки поставок за всё, что за ней.
Что на самом деле показало раскрытие XZ
Раскрытие XZ/liblzma в марте 2024 года описывало бэкдор, который при определённых условиях мог привести к компрометации сервера SSH. Это была проблема целостности программного обеспечения в не меньшей степени, чем проблема поверхности воздействия, и это не было доказательством того, что каждая установка Linux содержала уязвимую сборку. Область охвата определяется затронутыми версиями и дистрибутивами, которые их поставляли, а не названием семейства операционных систем.
Это различие — разница между реагированием на инцидент и слухом, и в этом стоит быть педантичным.
Закрытие порта — не восстановление
Если компрометация могла уже произойти, изменение доступности не является восстановлением. Бэкдор, который выполнился, уже получил свой шанс; правило межсетевого экрана не путешествует назад во времени. Следуйте одобренному процессу реагирования на инциденты для хоста и для любых раскрытых учётных данных, и сохраните доказательства, необходимые для установления того, что действительно выполнилось. Пересборка с известных исправных носителей обычно является частью этого разговора.
Используйте также текущие проверенные рекомендации дистрибутива и процесс устранения, и читайте список затронутых версий, а не заголовок. Копирование исторической команды понижения версии в несвязанную среду — это то, как исправление становится новой поверхностью воздействия.
Проверьте оба, по отдельности
Задайте два вопроса в их собственных терминах. Кто может достичь слушателя, и является ли эта аудитория именно той, для которой предназначен сервис? Какая версия программного обеспечения установлена, кто подписал артефакт, и как организация узнаёт о плохом выпуске до того, как прочитает о нём в новостях? Ответы относятся к разным документам с разными владельцами, и ни один владелец не может ответить за другого.
Для управляемого парка инвентаризация программного обеспечения — это то средство контроля, которое вообще делает второй вопрос отвечаемым. Без неё каждое раскрытие превращается в археологический проект со сроком.
Ворота сужают аудиторию. Целостность решает, имеет ли аудитория значение.