По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
img
Контейнеры Docker и Kubernetes - движущая сила современного жизненного цикла разработки программного обеспечения. Хотя Docker - более безопасный вариант, чем работа непосредственно на главном компьютере, при работе с контейнерами может возникнуть множество потенциальных проблем безопасности. В эту статью включены десять рекомендаций по безопасности контейнеров, которые помогут предотвратить атаки и нарушения безопасности. 1. Регулярно обновляйте Docker и хост Убедитесь, что ваш хост и Docker обновлены. Используйте последнюю версию ОС и программное обеспечение для контейнеризации, чтобы предотвратить уязвимости системы безопасности. Каждое обновление включает критические исправления безопасности, необходимые для защиты хоста и данных. Обновление Docker не ограничивается самой платформой. Запущенные контейнеры не обновляются автоматически. Вы также должны обновить контейнеры и образы, на которых они основаны. 2. Настройте квоты ресурсов. Чтобы избежать взлома контейнеров, которые чрезмерно потребляют ресурсы, установите ограничения на использование памяти и ЦП Docker. Не настраивая квоты ресурсов, вы предоставляете контейнеру доступ ко всем ресурсам ОЗУ и ЦП хоста. Поскольку это настройка по умолчанию, рекомендуется ограничить количество ресурсов, которые может использовать контейнер, чтобы это не нарушило работу других служб. Это не только предотвращает использование контейнером всех ресурсов, но также помогает поддерживать эффективность среды Docker. Квоты ресурсов обеспечивают работу контейнеров с ожидаемой скоростью и повышают безопасность. 3. Используйте пользователей без полномочий root Docker позволяет запускать контейнер в привилегированном режиме. Хотя это может быть более быстрый способ обойти некоторые протоколы безопасности, вы всегда должны воздерживаться от использования этой практики. Опасность запуска привилегированного контейнера заключается в том, что он открывает дверь для потенциальной вредоносной активности. Привилегированный пользователь Docker имеет те же привилегии, что и root. Это означает, что у него есть доступ к функциям ядра и другим устройствам на хосте. Злоумышленник может войти в вашу хост-систему через контейнер и подвергнуть опасности все, что находится на ней. Придерживаться исключительно пользователей без полномочий root просто, так как это настройки Docker по умолчанию. Чтобы изменить конфигурацию по умолчанию, вам нужно будет добавить флаг --privileged в команду docker run. Однако это серьезная угроза безопасности и не должна использоваться. 4. Ограничьте возможности Контейнеры имеют ограниченный набор возможностей Linux. Например, они могут позволить пользователю запускать контейнер с эффективностью root, но без полных привилегий root. Ограниченные возможности Docker являются настройками безопасности по умолчанию, и они одинаковы для каждого контейнера. Поэтому рекомендуется изменить возможности, чтобы включить только то, что необходимо. Администратор управляет ими с помощью параметров --cap-add и --cap-drop. Самый безопасный способ настроить возможности контейнера - удалить все (используя параметр --cap-drop = ALL), а затем добавить необходимые. 5. Запретить новые привилегии Как видно из приведенного выше примера, Docker позволяет изменять возможности и привилегии контейнеров после их запуска. Чтобы предотвратить атаки повышения привилегий, рекомендуется определить привилегии контейнера. Чтобы запретить процессам-контейнерам получать новые привилегии, используйте флаг --security-opt со значением no-new-privileges: true. Добавление флага в команду docker run перезаписывает все правила, которые вы установили с помощью параметров --cap-add и --cap-drop. Кроме того, вы можете удалить или отключить двоичные файлы setuid и setgid в образах. Это гарантирует, что функция не будет использоваться для обхода/инъекции пути, переполнения буфера и атак с повышением привилегий. 6. Используйте надежные образы При извлечении образа из онлайн-реестров убедитесь, что оно из безопасного и надежного источника. Самый безопасный вариант - использовать официальный центр Docker. Избегайте общедоступных сторонних реестров, в которых отсутствуют политики контроля. При использовании онлайн-библиотек всегда просматривайте содержимое внутри образа. Кроме того, используйте инструменты сканирования образов для поиска уязвимостей перед загрузкой чего-либо в хост-систему. Лучше всего зайти в Docker Hub и посмотреть, сможете ли вы найти там нужный образ. Это крупнейшая в мире библиотека и сообщество Docker с более чем 100 000 образов контейнеров. 7. Держите образы и контейнеры легковесными Сведите к минимуму поверхность атаки контейнеров Docker, используя минимальный базовый образ и уменьшив количество компонентов контейнера. Сохранение небольшого размера образа помогает предотвратить нарушения безопасности и ускоряет работу контейнера. 8. Безопасные реестры Реестр Docker - это система доставки контента, используемая для хранения и предоставления образов для ваших контейнеров. Вы можете использовать официальный онлайн-реестр Docker или настроить частный реестр на своем хосте. Для решения для хранения образов корпоративного уровня следует использовать доверенный реестр Docker (DTR - Docker Trusted Registry ). Вы можете установить реестр за брандмауэром, чтобы предотвратить возможные нарушения. 9. Не открывайте сокет демона Docker Docker взаимодействует с сокетом домена UNIX, который называется /var/run/docker.sock. Это основная точка входа для Docker API. Любой, у кого есть доступ к сокету демона Docker, также имеет неограниченный root-доступ. Разрешение пользователю писать в /var/run/docker.sock или открывать сокет контейнеру - это серьезная угроза безопасности для остальной системы. По сути, это дает ему привилегии root. Установка сокета Docker внутри контейнера не ограничивает его привилегированным доступом внутри контейнера. Это позволяет контейнеру полностью контролировать хост и все другие контейнеры. Следовательно, это не рекомендуемая практика. 10. Отслеживайте API и сетевую активность. API и сети играют решающую роль в безопасности Docker. Контейнеры Docker обмениваются данными через API и сети. Следовательно, чтобы избежать вторжения, архитектура должна быть настроена безопасно. Администраторы безопасности недавно обнаружили новый тип атаки, использующий неправильно настроенные API-интерфейсы Docker. Хакеры используют плохо настроенные API-интерфейсы и сетевую безопасность, используют их для развертывания образа и запуска вредоносного контейнера в хост-системе. Помимо безопасной настройки сетей и API, вам также необходимо отслеживать действия для выявления потенциальных аномалий.
img
Если вы, или ваша организация намереваетесь создать Web – сервис, будь то сайт или приложение, то так или иначе вы обратите внимание на наиболее популярные на рынке платформы для создания web – серверов – Apache или Internet Information Services (IIS), которые занимают около 70% от всей доли интернета. Многие сравнивают противостояние этих двух платформ как соперничество между Microsoft и Linux. В данной статье мы беспристрастно и объективно рассмотрим плюсы и минусы этих платформ. Apache Apache HTTP web – сервер – полное название платформы, распространяемой организацией Apache Software Foundation как открытое программное решение или проще говоря «open-source». Программное обеспечение сервера распространяется абсолютно бесплатно и его лицензия позволяет конечному пользователю редактировать исходный код, чтобы адаптировать Apache под свои нужды, а так же, внести вклад в будущее развитие серверной платформы. Веб – сервер Apache может работать на всех популярных операционных системах, но чаще всего он используется в рамках Linux. Именно в паре с СУБД MySQL и PHP – скриптами образуется известный комплекс программного обеспечения LAMP Web – сервер (Linux, Apache, MySQL, PHP), который повсеместно используется в сети интернет. В рамках исследования Netcraft, проводимого в феврале 2014 года, web – сервер Apache занимал 42% рынка. Однако стоит отметить, что в том же июне 2013 года этот показатель составлял 54% и 59% в 2010 году. Это связано с улучшением позиций основного конкурента IIS и ростом позиций Nginx. С точки зрения функционала, Apache имеет впечатляющие характеристики. Многие функции реализуются как совместимые модули, расширяющие базовый функционал, диапазон которых варьируется от поддержки языков программирования до обеспечения различных схем аутентификации. Например, это могут быть языки Perl или Python. Модули аутентификации включают в себя элементы управления доступом к различным директориям сервера, пароль, установление подлинности и так далее. Многие другие функции, такие как Secure Sockets Layer (SSL) или TLS (Transport Layer Security) так же обеспечивается модульной системой. Помимо этого, Apache поддерживает возможность развернуть несколько web – сайтов, или графических интерфейсов приложений. Веб – сервер сжимает страницы, чтобы уменьшить их размер, что обеспечивает высокую скорость их загрузки. Наряду с высоким показателем безопасности, это является конкурентной чертой Apache. Выделим два основных недостатка Apache HTTP web – сервера: Перенасыщенность функционалом: Еще раз стоит подчеркнуть, что Apache действительно чрезвычайно богат на функции, возможности и инструментарий. Но, к сожалению, в рамках типовой инсталляции пользователь задействует только 10 % от этих функций. С точки зрения архитектуры, Apache, работает по модели «процессов». Это означает, что для каждого соединения Apache выделяет отдельную «коннекцию», или другими словами поток данных, что вызывает значительную загрузку. Конкуренты, а именно асинхронные платформы и сервера работающие по модели «событий», имеют преимущество обработки нескольких процессов одновременно в рамках одной транзакции. IIS Internet Information Services (IIS) это веб – сервер разработки компании Microsoft и занимает второе место на рынке вслед за Apache. Платформа IIS будет работать только с Windows и поставляется в комплекте с этой операционной системы. В отличие от Apache, где основную поддержку продукта предоставляет сообщество разработчиков, IIS официально поддерживается компанией Microsoft. Разработка этого продукта не так стремительна по сравнению с Apache, но как было сказано выше, одним из главных конкурентных преимуществ IIS является официальная поддержка компании Microsoft, что очень важно для крупного бизнеса. Многие специалисты в области ИТ признают IIS одним из немногих коммерческих продуктов, который по настоящему может быть конкурентом «open-source» решению. Постоянная доработка безопасности, производительности и удобства администрирования позволили увеличить долю присутствия на рынке IIS с 21% в 2010 году до 32% в феврале 2014 (ранее указанное исследование компании Netcraft). Самые большие продвижения были сделаны с точки зрения безопасности. Версия IIS 6.0 была уязвима к атакам: известный вирус Code Red, который заменял содержимое web – сайта на баннер об авторах вируса. Важно отметить, что многие уязвимости проявляются на уровне операционной системы. Как и Apache, IIS использует различные расширения для внедрения дополнительного функционала. Например, работа с файлами по FTP, маршрутизация с помощью Application Request Routing (ARR), который позволяет вести балансировку нагрузки и повышать отказоустойчивость, различные медиа – компоненты, аудио, видео, динамическое изменение URL и прочие. Веб – сервер IIS предлагает более высокую совместимость с программной платформой .NET Framework и ASPX (Active Server Pages) чем Apache. Важно, что в IIS поддерживаются такие функции как мониторинг, отслеживание запросов в режиме реального времени. Конечно, IIS можно назвать «условно» бесплатным, так как распространяется он в комплекте с Microsoft Windows Server. С точки зрения производительности, IIS уступает Apache, в виду архитектурной особенности и строгой работы на Windows. Подведем итог И IIS и Apache имеют свои плюсы и минусы. Определиться с web – сервером поможет учет следующих факторов: Сервер IIS должен быть приобретен в комплекте с Windows, Apache не имеет официальной технической поддержки, но имеет высокие показатели безопасности, IIS отлично совместим с .NET и так далее. В таблице ниже приведены некоторые сравнительные характеристики: Опция Apache IIS Поддерживаемая ОС Windows, Linux, Unix, Mac OS Windows Техническая поддержка Сообщество Корпоративная Стоимость Полностью бесплатно Покупается в комплекте с Windows Разработка «open-source» Проприетарное решение Безопасность Хорошо Отлично Производительность Хорошо Хорошо Рынок 42% 32%
img
Почитать лекцию №15 про управление потоком пакетов в сетях можно тут. Совокупность проблем и решений, рассмотренных в предыдущих лекциях, дает некоторое представление о сложности сетевых транспортных систем. Как системные администраторы могут взаимодействовать с очевидной сложностью таких систем? Первый способ - рассмотреть основные проблемы, которые решают транспортные системы, и понять спектр решений, доступных для каждой из этих проблем. Второй - создание моделей, которые помогут понять транспортные протоколы с помощью: Помощь администраторам сетей в классификации транспортных протоколов по их назначению, информации, содержащейся в каждом протоколе, и интерфейсам между протоколами; Помочь администраторам сетей узнать, какие вопросы задавать, чтобы понять конкретный протокол или понять, как конкретный протокол взаимодействует с сетью, в которой он работает, и приложениями, для которых он несет информацию; Помощь администраторам сетей в понимании того, как отдельные протоколы сочетаются друг с другом для создания транспортной системы. Далее будет рассмотрен способ, с помощью которого администраторы могут более полно понимать протоколы: модели. Модели по сути являются абстрактными представлениями проблем и решений. Они обеспечивают более наглядное и ориентированное на модули представление, показывающее, как вещи сочетаются друг с другом. В этой лекции мы рассмотрим этот вопрос: Как можно смоделировать транспортные системы таким образом, чтобы администраторы могли быстро и полностью понять проблемы, которые эти системы должны решать, а также то, как можно объединить несколько протоколов для их решения? В этой серии лекции будут рассмотрены три конкретные модели: Модель Министерства обороны США (United States Department of Defense - DoD) Модель взаимодействия открытых систем (Open Systems Interconnect - OSI) Модель рекурсивной интернет-архитектуры (Recursive Internet Architecture - RINA) Модель Министерства обороны США (DoD) В 1960-х годах Агентство перспективных исследовательских проектов Министерства обороны США (DARPA) спонсировало разработку сети с коммутацией пакетов для замены телефонной сети в качестве основного средства компьютерной связи. Вопреки мифу, первоначальная идея состояла не в том, чтобы пережить ядерный взрыв, а скорее в том, чтобы создать способ для различных компьютеров, используемых в то время в нескольких университетах, исследовательских институтах и правительственных учреждениях, чтобы общаться друг с другом. В то время каждая компьютерная система использовала свою собственную физическую проводку, протоколы и другие системы; не было никакого способа соединить эти устройства, чтобы даже передавать файлы данных, не говоря уже о создании чего-то вроде "Всемирной паутины" или кросс-исполняемого программного обеспечения. Эти оригинальные модели часто разрабатывались для обеспечения связи между терминалами и хостами, поэтому вы могли установить удаленный терминал в офис или общественное место, которое затем можно было использовать для доступа к общим ресурсам системы или хоста. Большая часть оригинальных текстов, написанных вокруг этих моделей, отражает эту реальность. Одной из первых разработок в этой области была модель DoD, показанная на рисунке 1. DoD разделяла работу по передаче информации по сети на четыре отдельные функции, каждая из которых могла выполняться одним из многих протоколов. Идея наличия нескольких протоколов на каждом уровне считалась несколько спорной до конца 1980-х и даже в начале 1990-х гг. На самом деле одним из ключевых различий между DoD и первоначальным воплощением модели OSI является концепция наличия нескольких протоколов на каждом уровне. В модели DoD: Физический уровень отвечает за получение "0" и "1" модулированных или сериализованных на физическом канале. Каждый тип связи имеет свой формат для передачи сигналов 0 или 1; физический уровень отвечает за преобразование 0 и 1 в физические сигналы. Интернет-уровень отвечает за передачу данных между системами, которые не связаны между собой ни одной физической связью. Таким образом, уровень интернета предоставляет сетевые адреса, а не локальные адреса каналов, а также предоставляет некоторые средства для обнаружения набора устройств и каналов, которые должны быть пересечены, чтобы достичь этих пунктов назначения. Транспортный уровень отвечает за построение и поддержание сеансов между коммутирующими устройствами и обеспечивает общий прозрачный механизм передачи данных для потоков или блоков данных. Управление потоком и надежная транспортировка также могут быть реализованы на этом уровне, как и в случае с TCP. Прикладной уровень - это интерфейс между Пользователем и сетевыми ресурсами или конкретными приложениями, которые используют и предоставляют данные другим устройствам, подключенным к сети. В частности, прикладной уровень кажется неуместным в модели сетевого транспорта. Почему приложение, использующее данные, должно считаться частью транспортной системы? Потому что ранние системы считали пользователя-человека конечным пользователем данных, а приложение - главным образом способом изменить данные, которые будут представлены фактическому пользователю. Большая часть обработки от машины к машине, тяжелая обработка данных перед их представлением пользователю и простое хранение информации в цифровом формате даже не рассматривались как жизнеспособные варианты использования. Поскольку информация передавалась от одного человека другому, приложение считалось частью транспортной системы. Два других момента могли бы помочь включению прикладного уровня сделать его более осмысленным. Во-первых, в конструкции этих оригинальных систем было два компонента: терминал и хост. Терминал тогда был дисплейным устройством, приложение располагалось на хосте. Во-вторых, сетевое программное обеспечение не рассматривалось как отдельная "вещь" в системе, маршрутизаторы еще не были изобретены, как и любое другое отдельное устройство для обработки и пересылки пакетов. Скорее, хост был просто подключен к терминалу или другому хосту; сетевое программное обеспечение было просто еще одним приложением, запущенным на этих устройствах. Со временем, когда модель OSI стала чаше использоваться, модель DoD была изменена, чтобы включить больше уровней. Например, на рисунке 2, на диаграмме, взятой из статьи 1983 года о модели DoD ("Cerf and Cain, "The DoD Internet Architecture Model"), есть семь слоев (семь почему-то являются магическим числом). Были добавлены три слоя: Уровень утилит - это набор протоколов, "живущих" между более общим транспортным уровнем и приложениями. В частности, простой протокол передачи почты (SMTP), протокол передачи файлов (FTP) и другие протоколы рассматривались как часть этого уровня. Сетевой уровень из четырехслойной версии был разделен на сетевой уровень и уровень интернета. Сетевой уровень представляет различные форматы пакетов, используемые на каждом типе канала, такие как радиосети и Ethernet (все еще очень Новые в начале 1980-х годов). Уровень межсетевого взаимодействия объединяет представление приложений и протоколов утилит, работающих в сети, в единую службу интернет-дейтаграмм. Канальный уровень был вставлен для того, чтобы различать кодирование информации на различные типы каналов и подключение устройства к физическому каналу связи. Не все аппаратные интерфейсы обеспечивали уровень связи. Со временем эти расширенные модели DoD потеряли популярность; модель с четырьмя слоями является той, на которую чаще всего ссылаются сегодня. На это есть несколько причин: Уровни утилит и приложений в большинстве случаев дублируют друг друга. Например, FTP мультиплексирует контент поверх протокола управления передачей (TCP), а не как отдельный протокол или слой в стеке. TCP и протокол пользовательских дейтаграмм (UDP) со временем превратились в два протокола на транспортном уровне, а все остальное (как правило) работает поверх одного из этих двух протоколов. С изобретением устройств, предназначенных в первую очередь для пересылки пакетов (маршрутизаторы и коммутаторы), разделение между сетевым и межсетевым уровнями было преодолено определенными событиями. Первоначальная дифференциация проводилась в основном между низкоскоростными дальнемагистральными (широкозонными) и короткозонными локальными сетями; маршрутизаторы обычно брали на себя бремя установки каналов в широкополосные сети вне хоста, поэтому дифференциация стала менее важной. Некоторые типы интерфейсов просто не имеют возможности отделить кодирование сигнала от интерфейса хоста, как было предусмотрено в разделении между канальным и физическим уровнями. Следовательно, эти два уровня обычно объединены в одну "вещь" в модели DoD. Модель DoD исторически важна, потому что Это одна из первых попыток систематизировать функциональность сети в модели. Это модель, на которой был разработан набор протоколов TCP / IP (на котором работает глобальный Интернет); Артефакты этой модели важны для понимания многих аспектов проектирования протокола TCP / IP. В нее была встроена концепция множественных протоколов на любом конкретном уровне модели. Это подготовило почву для общей концепции сужения фокуса любого конкретного протокола, позволяя одновременно работать многим различным протоколам в одной и той же сети.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59