🧠 Блог присвячений темі VPN і безпеки, конфіденційності даних в інтернеті. Ми говоримо про сучасні тенденції та новини, пов'язані з захистом.

Контейнери всюди: як їх захистити?

18

Кількість контейнерів збільшується з кожним днем ​​і, здається, є скрізь, оскільки організації прагнуть скористатися багатьма перевагами, які вони пропонують, як-от гнучка розробка та розгортання додатків на всіх платформах.

Багато хто також вважає, що використання контейнерів може допомогти їм мінімізувати обмеження безпеки через їх короткочасний характер. Це правда чи просто чергова помилка?

Хоча контейнери не мають притаманних недоліків, вони часто розгортаються незахищеним чином, що призводить до численних проблем безпеки.

Проблеми безпеки під час розгортання контейнерів

Величезна кількість, універсальність і нетривалий стан розгорнутих контейнерів плюс той факт, що контейнери повинні спілкуватися з іншими об'єктами, призводять до того, що організації не мають можливості володіти належною видимістю міжконтейнерного трафіку.

Через відсутність видимості про контейнери часто забувають, а заходи запобігання вторгненню та контроль безпеки стають неефективними, збільшуючи поверхню атаки і, отже, загальний бізнес-ризик. Крім того, дефіцит видимості може призвести до дефіциту підзвітності, оскільки контейнери перетинають різні середовища від розробки до виробництва.

Ще одна проблема безпеки, пов'язана з контейнерами, – це погане управління вразливістю. Наприклад, при клонуванні існуючих зображень для створення нових контейнерів їх уразливості також будуть репліковані.

Це підкреслює необхідність того, щоб безпека була невід'ємною частиною стратегії організаційного контейнера. В іншому випадку помилки конфігурації та відсутні виправлення можуть бути причиною розгортання та виконання несанкціонованих образів у виробничих середовищах, що призведе до збільшення поверхні атаки та більш успішних атак.

Нарешті, оскільки контейнери використовують спільне ядро ​​ОС, компрометація ядра ОС хоста шахрайським контейнером може призвести до втрати доступу до всіх або будь-яких запущених контейнерів на хості так само, як і до інших хостів у мережі.

Як убезпечити свої контейнери

Можливо, найкраща практика для захисту вашого контейнерного середовища — це визнання необхідності цього робити. Крім цієї основоположної концепції, є кілька корисних порад, яких слід дотримуватися, щоб ефективно захистити свої контейнери.

Забезпечте видимість ваших контейнерів

Перш ніж розгортати контейнер, переконайтеся, що ви розумієте його залежності та що в нього входить. Щоб переконатися, що зображення ваших контейнерів були бездоганними, ви повинні бути видимими на кожному етапі від розробки до виробництва.

Недовіра програмному забезпеченню контейнера є чудовою відправною точкою. Ви повинні дуже ретельно перевірити це, щоб зрозуміти, «звідки вони походять, як їх виготовляють та відповідні джерела», як зазначив Дірк Хондел, віце-президент VMware на саміті лідерів з відкритим кодом у 2019 році.

Коротше кажучи, двічі перевірте вміст ваших контейнерів перед їх розгортанням і ніколи не запускайте контейнер з невідомим або застарілим програмним забезпеченням. Тільки тому, що зображення контейнера стверджує, що містить найновіші та найкращі програми та бібліотеки, це не означає, що воно насправді містить.

Одним із способів пом’якшити цю проблему є використання програм, які можуть допомогти вам очистити контейнери. Хоча мені не подобається винаходити велосипед заново, можливо, найкращий підхід – це припинити використання чужих зображень контейнерів.

Якщо ви, як і Геркулес, виберете складнішу дорогу Virtue і почнете створювати власні образи контейнерів, ви матимете набагато краще розуміння того, що відбувається всередині контейнерів, що має переваги, крім безпеки.

Контролювати root-доступ

Більшість контейнерів за замовчуванням створені з root-доступом. Однак це сумнівна практика. Хоча розробникам легше запускати контейнери від імені root, є величезні ризики з доступом root.

Існує кілька підходів до вирішення цієї проблеми. Один із способів — переконатися в корпоративній політиці, що жодним контейнерам ніколи не дозволено запускати як root. Альтернативним способом є застосування принципу найменших привілеїв. Ви можете вказати користувача без права root у файлі Docker, коли ви створюєте образ контейнера, щоб запустити контейнер як цей конкретний користувач з мінімально необхідним доступом до системи.

Нарешті, ви також можете використовувати простір імен користувача під час запуску привілейованих контейнерних процесів, щоб допомогти безпечним контейнерам. За допомогою цього методу UID для виконання цих процесів у контейнері дорівнює нулю (який є кореневим), але за межами контейнера UID є непривілейованим 1000.

Перевірте час виконання контейнера

SP 800-190 SP 800-190 Національного інституту стандартів і технологій (NIST) «Керівництво з безпеки контейнерів додатків» вказує, що середовище виконання контейнера також уразливе до атак. Хоча це не звичайний недолік безпеки, NIST зазначає, що вразливості безпеки під час виконання контейнерів можуть бути «особливо небезпечними », якщо вони допускають сценарії, за яких шкідливе програмне забезпечення може атакувати ресурси в інших контейнерах і саму ОС хосту.

Зловмисник також може скористатися вразливими місцями для компрометації самого програмного забезпечення під час виконання, а потім змінити це програмне забезпечення, щоб воно дозволило зловмиснику отримати доступ до інших контейнерів, відстежувати зв’язок між контейнерами тощо.

Проблеми з безпекою набагато частіше зустрічаються з конфігураціями часу виконання. Середини виконання контейнера зазвичай надають багато параметрів, які можна налаштувати. Їх неправильне налаштування може знизити відносну безпеку системи.

Наприклад, на хостах-контейнерах Linux набір дозволених системних викликів часто обмежений за замовчуванням лише тими, які необхідні для безпечної роботи контейнерів. Якщо цей список розширити, це може піддати контейнери та ОС хосту підвищеному ризику від скомпрометованого контейнера.

Аналогічно, якщо контейнер запущено в привілейованому режимі, він має доступ до всіх пристроїв на хості, що дозволяє йому по суті діяти як частина ОС хосту та впливати на всі інші контейнери, що працюють на ньому.

Іншим прикладом незахищеної конфігурації часу виконання є дозвіл контейнерам монтувати конфіденційні каталоги на хості. Якщо скомпрометований контейнер може вносити зміни до цих шляхів, його можна використовувати для підвищення привілеїв і атаки на сам хост, а також на інші контейнери, що працюють на хості.

Зміцнити операційну систему

NIST також рекомендує використовувати специфічну для контейнера операційну систему, оскільки загрози зазвичай мінімальні, оскільки ОС спеціально розроблено для розміщення контейнерів, а інші служби та функції вимкнені.

Крім того, оскільки ці оптимізовані ОС розроблені спеціально для розміщення контейнерів, вони, як правило, мають файлові системи лише для читання та використовують інші методи посилення за замовчуванням. По можливості, організації повинні використовувати ці мінімалістичні ОС, щоб зменшити їх поверхню атак і пом’якшити типові ризики та заходи з посилення, пов’язані з ОС загального призначення.

Організації, які не можуть використовувати спеціальну ОС для контейнера, повинні дотримуватися вказівок у NIST SP 800-123, Керівництво з загальної безпеки серверів, щоб максимально зменшити поверхню атаки своїх хостів.

Наприклад, хости, які запускають контейнери, повинні запускати лише контейнери, а не запускати інші програми, як-от веб-сервер або базу даних, поза контейнерами. Основна ОС не повинна запускати непотрібні системні служби, такі як спулер друку, що збільшує її поверхню атаки.

Нарешті, хости повинні постійно перевірятися на наявність вразливостей, а оновлення швидко застосовуються не тільки до середовища виконання контейнера, але й до компонентів нижнього рівня, таких як ядро, на яке покладаються контейнери для безпечної, розділеної роботи.

Безпека контейнерів є головним пріоритетом

У зв’язку з тим, що все більше компаній впроваджують та розгортають контейнери, їх безпека стає головним пріоритетом бізнесу. Згідно з недавнім опитуванням, 94% респондентів стикалися з інцидентом безпеки у своїх контейнерних середовищах. Це лише підкреслює, наскільки важливо отримати права на захист контейнерів для захисту вашого бізнесу та клієнтів.

Цей веб -сайт використовує файли cookie, щоб покращити ваш досвід. Ми припустимо, що з цим все гаразд, але ви можете відмовитися, якщо захочете. ПрийнятиЧитати далі