Pull to refresh

Comments 11

Больше обновлений безопасности богу обновлений безопасности!
Всё так, только потом apt-get clean не забываем делать

Так зачем? Ну если я свой образ использую для своего проекта, все крутится внутри и не торчит наружу, зачем мне самому себе вставлять палки в колеса в виде нерелевантного кода (обновление не относится к прямым зависимостям моего приложения), невоспроизводимых билдов (ну если версии в apt-get install ещё можно запинить, то системные то не особо), увеличения размера образа? А все ради какой-то сомнительной "безопасности"

Если вы что-то через apt и ко ставите в докерфайле, то воспроизводимых билдов у вас и так нет, если версии не пините.

Аргумент вида "все равно ничего нет, давайте ещё больше неопределенности внесём, какая разница".

Аргумент вида "не стоит усложнять себе и другим жизнь из-за стремления к идеалу, которого знаешь как достичь, но полностью не собираешься"

Лично вам может и незачем, но статья то для всех, а среди всех совершенно точно есть проекты, смотрящие наружу, и там безопасность не так уж сомнительна
Что делать с тем что обновления увеличивают размер образа? Делать squash или свой базовый образ и обновлять все образы, по цепочке? Так получается весь мир хоть каждый день перестраивай.
многие «особые» пакеты из родительских образов не смогут обновиться внутри непривилегированного контейнера


Здесь имеется ввиду не запуск команд внутри контейнера из под root, а запуск самого контейнера с ключом --privileged, поэтому ваш совет

сначала установите обновления безопасности, а затем переключитесь на другого пользователя


не сработает.

К тому же стартовать контейнер и каждый раз стягивать обновления долго. Лучше держите образ с последними обновлениями, а еще лучше держите автоматизированный процесс который будет поддерживать обновления
Для устранения проблем безопасности можно воспользоваться
— Snyk вполне не плохо себя зарекомендовал
— Wazuh монстр для комплексной безопасности
— inspec так же вполне себе не плох
Ну и конечно pre-commit с хуками
Какой-то полный бред в статье.
Основной аргумент, почему нельзя обновляться через RUN apt-get upgrade и dist-upgrade — это как раз то, что вместе с обновлениями прилетают CVE. Соответственно, сначала нужно проверять пакеты/образы, а только потом их ставить. Далеко не все вендоры выпускают fix в тот же день, когда появляется информация о 0-day, 1-day или уязвимость обретает идентификатор, поэтому с очередным upgrade может запросто прилететь дыра, о которой можно было бы узнать предварительно просканировав.

Автор дает аргументу 3-ий номер и подписывает — «действительно притянуто», «большинству из вас не нужно». Больше реальных фактов против этого нет. Да, это сложно, но это единственный реальный способ получить прозрачную картину о том, что у вас крутится в образе.

Я бы еще добавил один аргумент — " Необходимость прозрачности". Во многих организациях принято вести SBOM (Software Bill of Materials), то есть перечень всех установленных пакетов в xml. Это может понадобится внешнему подрядчику, чтобы передать заказчику, а он в свою очередь проверил, что уязвимостей ни в одном пакете нет. С помощью SBOM можно также быстро выяснить, какие компоненты в системе попали под аффект из-за какой-нибудь новой уязвимости широко распространенной библиотеки, чтобы быстро выпустить компенсирующие меры. Как это делать с upgrade тоже неясно.

согласен ужасные советы в статье, ужасные доводы.

Плохой аргумент №4: обновления не работают

это меня вообще убило... В частности, про Hadolint. Явно статья - неудачный перевод неудачного материала. Из перевода как будто раздел про Linux-хосты с docker, а по изначальному смыслу как будто речь про Linux ВНУТРИ docker... хотя даже там эта мысль очень неудачно сформулирована...

Итоговый результат простой - теперь ко мне будут приходить новички-коллеги и внедрять вот эти вот "вредные" советы, которые статья рекомендует.

Sign up to leave a comment.