Оглавление:
Многие ИТ-администраторы рассматривают контейнеры как набор инструментов для разработки приложений (app-dev), включая два его самых популярных примера: Docker, средство управления контейнерами, и Kubernetes, систему с открытым исходным кодом, разработанную Google для автоматизации развертывания контейнеров, масштабирования и управление. Это отличные инструменты, но выяснить, как использовать их вне контекста app-dev, может быть трудным вопросом для администраторов, увлеченных повседневными ИТ-операциями.
Контейнеры могут делать все это из-за их архитектуры. Хотя контейнеры классифицируются как виртуализация, они не совпадают с виртуальными машинами (ВМ), которыми большинство ИТ-специалистов привыкли управлять. Типичная виртуальная машина виртуализирует весь компьютер и все приложения, работающие на нем, или даже просто общается с ним как с реальной машиной. Контейнер, с другой стороны, обычно виртуализирует только операционную систему (ОС).
Когда вы используете контейнер, приложение, которое работает внутри него, не может видеть что-либо еще, работающее на той же машине, и некоторые люди начинают путать его с полноценной виртуальной машиной. Контейнер предоставляет все, что необходимо приложению для запуска, включая ядро операционной системы, а также драйверы устройств, сетевые ресурсы и файловую систему.
Когда система управления контейнером, например Docker, запускает контейнер, он загружает его из хранилища образов ОС, каждый из которых должен быть установлен, проверен и даже настроен администратором контейнера. Может быть много специализированных изображений для разных целей, и вы можете указать, какое изображение будет использоваться для какой рабочей нагрузки. Вы также можете дополнительно настроить конфигурацию этих стандартных изображений, что может быть очень удобно, если вас беспокоит управление идентификацией, разрешения пользователей или другие параметры безопасности.
Не забывайте о безопасности
У меня была возможность обсудить влияние контейнеров на ИТ-операции с Мэттом Холлкрафтом, главным специалистом по кибер-рискам в Maxim Integrated, производителе высокопроизводительных решений для аналоговых и смешанных интегральных микросхем (IC), базирующихся в Сан-Хосе, Калифорния.
«Появление контейнеров потенциально может позволить ИТ-организации обслуживать свою организацию и избежать перегрузки облачной и другой инфраструктуры», - пояснил Холлкрафт. «Они позволяют вам предоставлять услуги более гибким способом», - сказал он, добавив, что они позволяют организации масштабироваться быстрее и быстрее, потому что, в отличие от полнофункциональных виртуальных машин, контейнеры можно вращать и возвращать обратно в считанные секунды. секунд.
Это означает, что вы можете запустить или остановить полный экземпляр рабочей нагрузки бизнес-линии, например, расширение базы данных, за долю времени, которое потребуется для активации полного виртуального сервера. Это означает, что время отклика ИТ на меняющиеся бизнес-потребности заметно улучшится, тем более что вы сможете предоставлять эти контейнеры, используя стандартные образы ОС, которые уже были предварительно сконфигурированы и настроены.
Тем не менее, Hollcraft предупредил, что важно включить безопасность в качестве стандартной части процесса настройки вашего контейнера. Чтобы работать, безопасность должна быть такой же гибкой, как контейнер. «Главным атрибутом должна быть ловкость», сказал Холлкрафт, потому что «он должен наращивать, чтобы защитить контейнер».
Сторонняя справка по безопасности контейнера
Холлкрафт сказал, что есть пара стартапов по кибербезопасности, которые начинают предлагать гибкие платформы безопасности, необходимые для успешного использования контейнеров в качестве инструмента ИТ. Преимущество обеспечения безопасности для конкретного контейнера заключается в том, что оно позволяет ИТ-администраторам включать безопасность в качестве части начального процесса архитектуры контейнера.
Один из стартапов, который обеспечивает безопасность контейнеров таким образом, называется Aqua Security Software и поставляет новый продукт, названный MicroEnforcer, предназначенный специально для использования в контейнерах. MicroEnforcer вставляется в контейнер в начале процесса разработки или настройки. Затем, когда контейнер запускается, безопасность запускается вместе с ним. Поскольку контейнер не может быть изменен после загрузки, безопасность остается на месте.
«Это позволяет специалистам по безопасности входить и настраивать безопасность в начале процесса», - сказал Амир Джерби, основатель и технический директор Aqua Security Software. Он сказал, что это создает безопасность как услугу в контейнере. Таким образом, MicroEnforcer может иметь видимость и в других контейнерах.
«Вы можете посмотреть на контейнер и увидеть, что именно он делает, какие процессы выполняются, и что он читает и пишет», - сказал Джерби. Он добавил, что MicroEnforcer может затем отправить предупреждение, когда обнаружит активность в контейнере, которого там не должно быть, и может остановить операции контейнера, когда это произойдет.
Хорошим примером того вида деятельности, который может искать MicroEnforcer, может быть вредоносное ПО, внедренное в контейнер. Прекрасным примером этого может быть одна из новых атак на основе контейнеров, в которых контейнер, на котором запущено программное обеспечение для майнинга криптовалюты, внедряется в систему, где он высасывает ресурсы и зарабатывает деньги для кого-то другого. MicroEnforcer также может обнаружить этот тип активности и немедленно прекратить ее.
Борьба с вредоносными программами - одно из больших преимуществ контейнеров, поскольку они легко видны во внутренних элементах. Это означает, что относительно легко контролировать их операции и относительно легко предотвратить что-либо плохое.
Стоит отметить, что, хотя контейнеры уже некоторое время доступны в качестве архитектурного элемента для Linux, они также доступны в Microsoft Windows. Фактически, Microsoft предоставляет версию Docker для Windows и предоставляет инструкции о том, как создавать контейнеры в Windows Server и Windows 10.