[Перевод] Защитите свои рабочие нагрузки Kubernetes с помощью gVisor

d6eeeb7efb42bbcc7dc88e69e746e2e8.png

Все мы знакомы с контейнерами и любим их. Контейнеры используют одно и то же ядро хоста (host kernel), что делает их довольно мобильным и лёгким решением. С другой стороны, мы бы предпочли снизить риск причинения вреда хост-машине или операционной системе, чего можно достичь при помощи sandbox-технологий, и gVisor является одной из них.

Давайте начнем с небольшой мотивации

Проверьте CVE-2020–14386 — это уязвимость ядра Linux, приводящая к выходу из контейнера. В целом, эта уязвимость использует преимущество способности CAP_NET_RAW повреждать память, что приводит к получению злоумышленниками root-доступа.

В Docker эта возможность включена по умолчанию (вероятно, это связано с тем фактом, что она обычно используется сетевыми инструментами, такими как ping и tcpdump, и может быть повторно включена для устранения неполадок).

Рабочие нагрузки, выполняемые с помощью gVisor, не были затронуты CVE — и это подводит нас к следующей части: пониманию, что такое gVisor и как можно его использовать.

Что такое gVisor?

Контейнерная среда sandbox gVisor —  это среда процессов, которая запускает контейнеры.

Это, по сути, ядро приложения (написанное на Go

© Habrahabr.ru