По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие наши статьи:
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
Каждый день в цифровом мире "рождаются" новые уязвимости. Администраторы систем часто заняты управлением серверами и игнорируют очевидные проблемы безопасности. Сканирование сервера Linux на наличие проблем с безопасностью - непростая задача. Вот почему существует множество инструментов, которые помогут сисадминам. OpenVAS является одним из таких инструментов с открытым исходным кодом, который позволяет проверять ваш сервер Linux на наличие существующих уязвимостей. Можно установить собственные правила или использовать правила, предоставленные сообществом. На протяжении многих лет OpenVAS эффективно использует свои возможности для системных администраторов, а также для специалистов по безопасности. Рассмотрим это подробнее. Что такое OpenVAS? OpenVAS – это открытая система оценки уязвимости (Open Vulnerability Assessment Scanner). В основном OpenVAS предоставляет пользователю удобный и простой интерфейс, чтобы вам не приходилось существенно изменять программное обеспечение. Кроме того, он предоставляет базу данных встроенных тестов, которые обновляются ежедневно. Как будет показано ниже в этом учебном пособии, при входе пользователя в устройство, которое он хочет сканировать, программное обеспечение будет проверять версии любого программного обеспечения, которое работает в системе, и если какие-либо уязвимости будут записаны в базе данных OpenVAS, она покажет пользователю возможные уязвимости программного обеспечения в системе. Возьмем, например, программное обеспечение VSFTPD с версией v2.3.4. Известно, что это обеспечение уязвимо и позволяет злоумышленнику использовать команды для запуска зараженной системы. Если бы вы не знали об этом, быстрое сканирование OpenVAS уведомило бы вас. Как установить OpenVAS? Система OpenVAS должна быть доступна во всех основных дистрибутивах Linux. Просто используйте диспетчер пакетов своего дистрибутива, чтобы установить ее. Чтобы установить OpenVAS на Ubuntu, необходимо включить пространство хранилища. sudo add-apt-repository universe sudo apt update sudo apt install openvas Установка может занять довольно много времени, даже если качество и скорость вашего подключения надежны. Последней строкой в окне установки будет указан код, созданный для системного администратора, который рекомендуется хранить в безопасном месте. Как использовать OpenVAS? Рассмотрим, как настроить OpenVAS и запустить его. Управление пользователями OpenVAS Чтобы создать нового пользователя или изменить пароль системного администратора или другого пользователя, необходимо выполнить следующие действия: openvasmd –create-user=<user> openvasmd –user=<user> --new-password=<password> Запуск и остановка OpenVAS Для запуска сканера уязвимостей OpenVAS необходимо выполнить следующую команду: sudo openvas-start Чтобы остановить OpenVAS, просто замените start на stop: sudo openvas-stop После запуска OpenVAS его веб-интерфейс можно найти по адресу https://localhost: 9392 После принятия самозаполняющегося сертификата и подключения перед вами появится главная панель управления. На панели мониторинга отображаются все сведения о выполняемом сканировании. Им можно управлять, а также выполнять новое сканирование с панели мониторинга. В разделе «Сканирование» (Scans) вы увидите следующие рубрики: задачи, отчет, результаты (Tasks, Report, Results) . Задачи: В этом разделе можно создать и запустить новое сканирование. Отчет: В окне «Отчеты» (Reports) можно просмотреть сведения о выполненном программой или подготовленном вами отчете. Результаты: Наконец, в этом разделе можно увидеть результаты сканирования и их критичность. Это поможет вам выбрать соответствующие меры безопасности для вашего сервера. Время обновления: В правом верхнем углу можно увидеть опцию: нет автоматического обновления. Это означает, что в преддверии результатов, если вы хотите увидеть, что OpenVAS нашел до этого момента, вы должны обновить страницу самостоятельно. Это, конечно, можно изменить и модифицировать на 30 секунд, 1 минуту, 2 минуты и 5 минут соответственно. Сканирование слабых мест Чтобы проверить нашу систему или сервер на наличие уязвимостей, необходимо создать задачу. Перейдите в раздел Сканирования -> Задача -> Новая задача. Здесь имеется несколько вариантов: В поле Имя необходимо указать имя сканирования. Возможно, это имя сервера, который необходимо сканировать, или вы также можете задать текущую дату. Вам решать. Можно указать тип сканера. Можно выполнить поиск CVE, cve хранятся в базе данных. Кроме того, можно настроить конфигурацию сканирования для определения скорости и детализации сканирования. В целях сканирования необходимо указать IP-адрес сервера Linux, который требуется сканировать. На данном этапе следует отметить, что проверяемый IP-адрес не обязательно должен находиться в одной сети. Можно также сканировать общедоступный сервер. Возможности сканирования не ограничиваются только одним IP-адресом. Также можно использовать несколько IP-адресов и портов или услуги, например, SSH. И, наконец, вы готовы начать сканирование. Запустите сканирование и дождитесь результатов. Сканирование может занять несколько минут. Если вам нужен безопасный сервер Linux, я думаю, вы можете подождать несколько минут. После завершения сканирования результат будет доступен на вкладке Результаты. Преимущество системы в том, что все результаты сканирования сохраняются на вкладке Отчеты. Это означает, что можно проконсультироваться и проанализировать результаты прошлых сканирований. Лично я предпочитаю OpenVAS среди всех сканеров уязвимостей. Он обеспечивает детальное сканирование через достаточно удобный для пользователя интерфейс. Это свободный и открытый исходный код. Я также предлагаю использовать Fail2Ban для защиты вашего сервера Linux от атак bruteforce.
img
Всем привет! Сегодня в статье рассмотрим установку MySQL Server на CentOS 7. MySQL – популярная реляционная СУБД с открытым кодом, и, её популярность означает огромное количество информации в интернете и большое количество хорошо документированных библиотек. MySQL поддерживает множество стандартных функций, присущих СУБД – репликацию, триггеры и прочие. В большинстве дистрибутивов по умолчанию присутствуют репозитории, в которых есть нужный нам пакет MySQL – однако, на примере CentOS 7 Minimal я хотел бы показать процесс добавления официального YUM репозитория от Oracle, в котором всегда доступна последняя версия. Процесс установки Предварительно нам необходимо установить wget чтобы скачивать файлы – для этого выполните команду yum install wget. Далее, для начала процесса установки необходимо зайти на сайт MySQL по следующему линку: http://dev.mysql.com/downloads/repo/yum/ , выбрать необходимый дистрибутив (в нашем случае - Red Hat Enterprise Linux 7 / Oracle Linux 7) и нажать Download. Ссылка для скачивания может быть получена без регистрации, для этого нужно найти слова «No thanks, just start my download» Скопируем адрес ссылки и выполним команду wget с этим адресом: wget https://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm Без каких-либо модификаторов команда wget скачает файл в каталог, в котором вы находитесь в данный момент, далее необходимо выполнить команду rpm –Uvh mysql57-community-release-el7-11.noarch.rpm - для более простого ввода имени пакета воспользуйтесь табуляцией (нажать Tab). Теперь подключен официальный репозиторий Oracle, настала очередь установки непосредственно самого MySQL сервера: yum –y install mysql-community-server Процесс скачивания и установки пакета займёт какое-то время. Далее необходимо разрешить автозапуск демона MySQL при загрузке: /usr/bin/systemctl enable mysqld И запустить сам MySQL сервер: /usr/bin/systemctl start mysqld Настройка безопасности После старта сервера, необходимо настроить политики безопасности – для этого служит скрипт mysql_secure_installation - но предварительно нам понадобится случайно сгенерированный пароль для root – его можно выяснить с помощью команды grep 'temporary password' /var/log/mysqld.log. Пример на скриншоте ниже: Далее нужно ввести команду /usr/bin/mysql_secure_installation и вам будет предложено ввести данный пароль на рут, поменять его на нечто вроде E+FW4tz8$?/7$dCm и ответить на несколько вопросов: Set root password? [Y/n] Y - установка пароля на root; Remove anonymous users? [Y/n] Y - удаление анонимных пользователей; Disallow root login remotely? [Y/n] Y - запрет удаленного логина; Remove test database and access to it? [Y/n] Y - удаление тестовых баз данных и доступа к ним; Reload privilege tables now? [Y/n] Y - перезагрузка привилегированных таблиц; Очень советую пароль придумать максимально сложный – кроме того, по дефолту, у вас не получится поставить простой пароль. Создание тестовой базы данных и манипуляции с пользователями Когда вам понадобится дать доступ какому-нибудь приложению доступ к вашей БД, ни в коем случае нельзя этого делать от пользователя root – для каждого приложения должен быть создан свой пользователь. Для создания, сначала необходимо зайти в MySQL от имени администратора с помощью команды mysql -u root -p mysql . Далее я приведу пример создания БД testdb и открытия полного доступа к этой БД для пользователя testuser (имя пользователя и пароль соответственно необходимо скорректировать относительно вашей непосредственной задачи): create database testdb; grant all on appdb.* to 'testuser'@'localhost' identified by 'password'; quit Для проверки доступа нужно использовать команду mysql -u testuser -p -h localhost testdb , а для выводы всех имеющихся БД – команду SHOW DATABASES; Рассмотрим пример создания пользователя для MySQL и просмотра списка всех пользователей. MySQL содержит информацию о пользователях в своей собственной базе данных под названием mysql, внутри которой информация о пользователях находится в виде таблицы под названием user. Если вы хотите вывести весь список пользователей, то необходимо выполнить следующую команду: SELECT User, Host, Password FROM mysql.user; Это стандартный MySQL синтаксис. Давайте разберемся с ним: SELECT - запрос информации; User, Host, Password - конкретизация полей, из которых информация должна быть извлечена. В данном случае мы ищем информацию о пользователе, хостнейме и зашифрованном пароле; FROM mysql.user - запрашиваем информацию мы из БД mysql и таблицы user; ; - точка с запятой означают конец команды, в MySQL все запросы должны кончаться точкой с запятой;
ВЕСЕННИЕ СКИДКИ
40%
50%
60%
До конца акции: 30 дней 24 : 59 : 59