Рубрики
Uncategorized

Вот почему Podman более защищен, чем Docker — Devsecops

Вот почему Podman более защищен, чем Docker — Devsecops. Tagged с Docker, DevOps, Security, Linux.

Вот почему Подман более защищен, чем Docker — Devsecops

Мы все знаем, что Docker является одним из популярных инструментов для контейнерирования приложения в мире DevOps.

Но в этой статье мы увидим о Podman и о том, почему это более обеспеченный способ запуска контейнера.

Podman — это контейнерный двигатель без демонов для разработки, управления и запуска контейнера в системе Linux.

Регистрация аудита

System Linux хранит информацию об учетной записи пользователя в файле с именем /и т.п./тень . Это общий файл безопасности для наблюдения в системах Linux.

Ядро Linux позволяет администраторам наблюдать за процессами, которые изменяют файл, и ведут его запись в Audit.log Анкет

Администраторы хотят знать, изменяет ли какой -либо процесс файл из журнала.

auditctl -w /etc/shadow

Эта команда добавит /и т. Д./Тень файл в систему аудита.

Давайте изменим /и т. Д./Тень файл и посмотрите, что произойдет

touch /etc/shadow
ausearch -f /etc/shadow -i -ts recent

Аудиторская запись покажет много информации о процессе и владельце процесса Аудит UID (AUID), который изменил /и т. Д./Тень файл

Логин uid в ядре Linux

есть файл с именем loginuid, хранящийся в /proc/self/loginuid Анкет Этот файл является частью структуры Proc в Linux. Этот файл может быть установлен только Однажды Анкет

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

Когда я вхожу в систему, программа входа в систему устанавливает поле Loginuid для моего процесса входа в систему.

Мой uid был 1000 Анкет

Даже если я перейду на root, мой логин будет таким же. 1000

Важно отметить, что каждый процесс, который Вилка и выполнить Из первоначального процесса будет то же самое, что ясно знал о информации пользователя.

Как это работает в контейнерах

Давайте попробуем запустить тот же процесс в контейнерах Podman и Docker

Теперь мы проверим это с Docker

Хм, интересно … почему логин отличается для Docker и то же самое для Podman.

Причина

Итак, если вы внимательно помните. Я сказал какое -то важное ключевое слово под названием Вилка и выполнить Анкет Давайте обсудим об этом здесь.

Podman использует модель вилки/EXEC для контейнера, поэтому процесс контейнера является дочерним процессом Podman. Принимая во внимание, что Docker использует модель клиента/сервера.

Docker использует CLI, который связывается с Docker Daemon через работу клиента/сервера.

Затем демон Docker создает контейнер и обрабатывает связь stdin/stdou T обратно в клиентские инструменты Docker.

Таким образом, логин по умолчанию контейнера Podman по -прежнему одинаковым ( 1000 ), тогда как логинид процессов Docker по умолчанию (до установки их логина) является 4294967295 Анкет

Поскольку контейнер является ребенком Docker Daemon, а Docker Daemon является ребенком иминской системой.

Что может пойти не так?

Давайте посмотрим, что произойдет, если процесс контейнера, созданный Docker, изменяет /и т. Д./Тень файл.

Вы можете увидеть UID как unset В случае докера. Это означает, что администратор будет знать, что /и т. Д./Шадо W модифицируется. Но администратор никогда не узнает, кто изменил этот файл.

Если этот хакер удаляет контейнер Docker, то в системе, который изменил файл/etc/теневой, не будет следить.

Теперь давайте посмотрим на тот же сценарий для Podman.

sudo podman run --privileged -v /:/host fedora touch /host/etc/shadow
sudo ausearch -f /etc/shadow -i

Podman записывает процесс, который правильно изменяет файл, поскольку он использует традиционную модель Fork/Exec.

Вот почему Podman более защищен, чем Docker — Devsecops. Использование Podman для запуска контейнеров позволяет вам поддерживать лучшую безопасность, хотя регистрация аудита.

Система аудита очень мощная для просмотра того, что процессы делают в системе.

Ссылка: https://opensource.com/article/18/10/podman-more-secure-way-run-containers

Оригинал: «https://dev.to/ganeshmani/here-s-why-podman-is-more-secured-than-docker-devsecops-2bpk»