По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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
Если вы администрируете сервер c Linux-based операционной системой и вам часто приходится работать с bash - небольшие трюки ниже вам обязательно пригодятся, если вы с ними еще не знакомы :) Табуляция Первый трюк - табуляция. Многие, когда только начинают работать с Linux системами не знают об этой фиче, но она очень сильно упрощает жизнь. Табуляция - это завершение команд и названий файлов после нажатия на Tab. Когда это может быть полезно? К примеру, вы забыли как пишется команда или файл имеет длинное название, содержащее в себе много информации- номер версии, разрядность и так далее - начните писать название файла и нажмите на клавишу Tab - и сразу все получится! Пайпирование Второй трюк - пайпирование. Пайпом в Linux системах называется символ | - он позволяет отправлять вывод одной команды в другую. К примеру, команда ls выводит список файлов в директории и команда grep возвращает результаты поиска по заданным параметром. С помощью пайпа эти две команды можно скомбинировать - например если вам нужно найти в директории конкретный файл (в данном случае - некую аудиозапись, которая начинается как recording010101: ls | grep recording010101 Маска Третий трюк - использование маски, которая обозначается символом * - звездочка. К примеру, если нужно удалить все файлы, которые начинаются на слово recording01, то можно ввести следующую команду: rm recording01* Это может быть очень полезным при написании скриптов, которые удаляют по крону старые логи или файлы аудио-записей. Но с данной командой нужно быть очень аккуратным - если забыть проставить критерии поиска, то команда вида rm * удалит всё содержимое директории. Вывод команды в файл Четвертый трюк - вывод команды в файл. Это делается с помощью символа >. Сценариев использования масса, как пример приведу вывод команды ls в текстовый файл (ниже) - если у вас в директории очень большое количество файлов, то, для общего понимания что же именно в ней находится будет проще работать с текстовым файлом или же можно запустить рекурсивный скрипт с занесением содержимого всех каталогов в текстовые, например: ls > testfile.txt Быстрая смена директории Пятый трюк - смена директории на домашнюю директории конкретного юзера с помощью символа ~. Просто введите cd ~ и вы попадете в директорию /home/user. Фоновые процессы и запуск по условию Шестой трюк - это запуск команды по условию и запуск команды в бэкграунде (фоновый процесс). Для этого служит символ & . Если хотите запустить, к примеру, Wireshark в бэкграунде, необходимо написать wireshark & - по умолчанию Bash запускает каждую программу в текущем терминале. Поэтому это может очень пригодиться, если вам нужно выполнять какую-то программу и все ещё пользоваться тем же терминалом. А если нужно запустить Wireshark через какое-то время, то можно воспользоваться командой && - к примеру, sleep 360 && wireshark - это запустит wireshark через 6 минут. Сама команда sleep не делает ничего, это, грубо говоря, просто условный таймер.
img
С чего начинается Linux? LPI (Linux Professional Institute) считает, что изучение необходимо начинать с темы "Обнаружение и настройка комплектующих". Это работа с "железом", это работа с комплектующими вся аппаратная часть, то что мы видим и настраиваем. На сайте LPI (www.lpi.org) мы можем найти, что должен знать обучающийся Linux. Включение и отключение встроенного "железа" Настройка системы с помощью или без помощи внешних устройств. Разница между устройствами хранения информации Разница между устройствами, поддерживающими "Горячую замену" Выделение аппаратных ресурсов для устройств Инструменты и утилиты для просмотра списка оборудования Инструменты и утилиты для работы с USB Разбор понятий sysfs, udev, dbus. Далее. Возьмем для простоты Ubuntu 20.04 Директория /sys Содержится вся информация об подключенных устройствах. В данную директорию монтируется файловая система sysfs. В данной директории есть определенных набор основных папок: devices/ - все устройства ядра bus/ - перечень шин drivers/ - каталог драйверов block/ - каталог блочных устройств class/ - группировка устройств по классам. Навигацию по папкам осуществляем с помощью команды cd. Учитывая вложенность папок переход на уровень вверх, т.е в родительскую папку используем cd .. , где двоеточие обозначает родительский каталог. А также переход в любую папку, например, cd /sys/bus. Следующий момент, если мы зайдем в папку с устройствами, то мы можем увидеть, как ОС наша видит устройства. Неудобно. Чтобы удобно было работать с устройствами, используется udev. Он позволяет ОС предоставлять устройства в удобно используемом виде, чтобы было понятно нам. Далее папка /proc - Она находится в корне нашей ОС и содержит информацию о всех запущенных процессах. Она создается в оперативной памяти при загрузке ПК. Количество фалов зависит от конфигурации данной системы. Для работы с файлами необходимы права суперпользователя. Внесённые изменения сохраняются только до конца сеанса. В данную папку монтируется виртуальная система procfs. В ней находится информация о состоянии ядра и вообще операционной системе в целом. Вот так выглядит данная папка. Мы можем посмотреть всю информацию, которая нам известна о процессоре. Данная информация содержится в файле cpuinfo. Для вывода информации, содержащейся в файле, используем команду cat имя_файла. Результат работы команды cat cpuinfo. Есть еще интересный файл mounts. Он показывает все смонтированные файловые системы. Результат вывода будет примерно такой. Можно увидеть, когда мы просматриваем содержимое каталога командой ls , то файлы подсвечиваются белым цветом, а каталоги синим. Переходим немного глубже по дереву каталогов файловой системы cd /prox/sys в данной папке все о настройках и процессах, происходящих с нашей текущей файловой системой. В данной директории есть несколько подпапок. И зайдем в подпапку, относящуюся к файловой системе fs. Посмотрим, например file-max в данном файле информация о том сколько файлов одновременно может открыть пользователь. В последней версии число таких фалов увеличилось. До версии 20.04, число файлов было по умолчанию 204394. Можно изменить число или данные, например, с помощью команды echo 10000000000> file-max Все изменения, которые мы делаем в данной директории они сохраняются только до перезагрузки! Это надо учитывать. Еще одна основная папка в корневой директории папка /dev она в себе содержит интерфейсы работы с драйверами ядра. /dev/sd буква - жесткий диск (в системах на ядре Linux) /dev/sd буква номер раздел диска /dev/sr номер (/dev/scd номер) CD-ROM /dev/eth номер Сетевой интерфейс Ethernet /dev/wlan номер Сетевой интерфейс Wireless /dev/lp номер Принтер /dev/video номер - устройство изображений, камеры, фотоаппараты. /dev/bus/usb/001/номер устройство номер на шине USB /dev/dsp звуковой вывод Набор оборудования Команды вывода перечня устройств. Lsmod информация о модуле ядра Lspci - информация об устройствах PCI Lspcmcia - информация об устройствах PCMCIA Lsusb - информация о шине USB Lshw детальная информация о комплектующих. Команда lsmod утилита которая показывает нам модули ядра. Модуль ядра - это объект, который содержит код позволяющий расширить функционал ядра. Вот так выглядит ее вывод. По сути, если проводить аналогию с ОС Windows это драйвера. Вывод команды lshw Данная команда сканирует все устройства и выводит подробную информацию по ним и достаточно детально. Утилиты для работы с модулем ядра или утилиты управления моделями ядра. Lsmod информация о модулях ядра Modinfo - информация о конкретном модуле Rmmod - удаление модуля ядра Insmod установка модуля ядра Modprobe деликатное удаление или добавление модуля ядра Фактически эти команды используются для добавления и удаления "драйверов" устройств в linux системе. В большинстве случаев ОС самостоятельно подключит устройство, но бывает такое, что устройство не стандартное и требуется добавить модель, для того чтобы ядро ОС, корректно работало с данным устройством. Rmmod и insmod - команды грубые и не умеют работать с зависимостями, поэтому необходимо использовать Modprobe с различными ключами. Взаимодействие с CPU, основные понятия IRQ - механизм прерываний IO адреса обмен информацией между устройствами и CPU DMA обращение к ОЗУ минуя CPU Выделение ресурсов. IRQ - механизм прерываний это система которая сообщает центральному процессору о наступлении какого либо события, на которое процессор должен отреагировать. Есть определенные адреса прерываний, их можно увидеть в биосе ПК. Есть стандартные номера прерываний. Ранее была необходимость при конфликте устройств назначать в ручном режиме данные прерывания, в настоящее время с появлением технологии Plug and Play, данная потребность исчезла. IO адреса это область памяти в которой процессор считывает информацию об устройствах и туда же ее записывает. Это выделенный диапазон. Вообще она бывает в памяти и адресация по портам. DMA- технология появилась относительно недавно и позволяет устройствам обращаться к памяти минуя процессор. Существенно повышает быстродействие. Все технологии настраиваются автоматически. Устройства хранения PATA параллельный интерфейс SATA - последовательный интерфейс SCSI - стандарт передачи данных SAS замена SCSI Современные SATA, SAS нужно понимать есть устройства, поддерживающие горячую замену и устройства, не поддерживающие горячую замену. Устройства, которые можно выдернуть из ПК, безболезненно, и это не обрушит систему, причем ОС не подвиснет, не перезагрузится, это устройства поддерживающие горячую замену, например, USB. Устройство, которое не поддерживает горячую замену, например, оперативная память. Если мы ее выдернем из материнской платы, ОС однозначно обрушится. Команда blkid показывает какие устройства у нас смонтированы. Нужно отметить, что у каждого устройства есть уникальный UUID, что udev умеет читать UUID, и он монтирует в понятном виде нам.
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59