События 1
Ru
События 1
Результат поиска:
Защита PostgreSQL от кампаний криптоджекинга в Kubernetes- image 1

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes

PostgreSQL — это мощная система управления реляционными базами данных (RDBMS) с открытым кодом. Благодаря своей надежности и масштабируемости PostgreSQL широко используется в облаке. Большинство публичных облачных провайдеров, включая AWS, Azure и GCP, предоставляют своим клиентам услуги баз данных на основе PostgreSQL.

Согласно отчету Google «Threat Horizons» за январь 2023 года – PostgreSQL является одним из наиболее часто компрометируемых клиентских приложений Google, занимая третье место по частоте (17%) после SSH (26%) и Jenkins (22%). Слабые пароли остаются самым распространенным вектором начального доступа, играя роль в 41% зарегистрированных случаев компрометации. Злоумышленники часто ищут плохо настроенные или незащищенные экземпляры PostgreSQL, развернутые в облаке, Kubernetes или локальной инфраструктуре.

Многие игроки на рынке криптоджекинга, в том числе TeamTNT и Kinsing, используют неправильно настроенные экземпляры PostgreSQL для майнинга криптовалюты. В этой статье рассматриваются самые популярные неправильные конфигурации, используемые этими злоумышленниками.

Неправильная конфигурация PostgreSQL повышает вероятность криптоджекинга

Распространенные сервисы PostgreSQL, размещенные провайдерами облачных услуг (такими, как Amazon RDS для PostgreSQL, Azure Database для PostgreSQL или GCP Cloud SQL для PostgreSQL), не позволяют настраивать элементы управления аутентификацией, что может привести к таким нарушениям. Однако при развертывании PostgreSQL вручную можно допустить много неправильных конфигураций методов аутентификации, ролей пользователей, доступа и разрешений, что может привести к созданию уязвимостей, которыми могут воспользоваться злоумышленники.

При ручном развертывании PostgreSQL поддерживает несколько методов аутентификации. Из них «trust» аутентификация является наиболее незащищенной и предоставляет доступ без необходимости ввода пароля, именно поэтому группы криптомайнинга любят атаковать облачные экземпляры PostgreSQL с включенным типом аутентификации «trust». Включить аутентификацию «trust» можно двумя способами:

  1. Используя файл pg_hba.conf
  2. Используя значение переменной среды POSTGRES_HOST_AUTH_METHOD=trust

На рисунке 1 показана «trust» аутентификация с помощью pg_hba.conf, где любой пользователь с любого IP может подключиться к серверу PostgreSQL без пароля. Имя пользователя может быть именем суперпользователя, в этом случае злоумышленник получит все привилегии суперпользователя PostgreSQL.

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 17Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 18Рисунок 1. Незащищенный файл pg_hba.conf

Аутентификацию «trust» также можно включить, настроив переменную среды POSTGRES_HOST_AUTH_METHOD=trust в модуле Kubernetes или на сервере. После установки любой IP-адрес или пользователь может подключиться к базе данных без пароля.

Кроме того, «trust» аутентификация в сочетании с базовыми ролями пользователей PostgreSQL по умолчанию (указанными ниже) предоставляет злоумышленникам идеальную возможность злоупотреблять базами данных для чтения или записи конфиденциальных файлов в файловой системе, модификации конфигурации и повышения привилегий.

  1. pg_read_server_files (позволяет считывать файлы ОС)
  2. pg_write_server_files (позволяет записывать файлы ОС)
  3. pg_execute_server_program (позволяет выполнение двоичных файлов ОС)

Во время атаки на неправильно сконфигурированный PostgreSQL злоумышленник может авторизоваться как суперпользователь или пользователь с соответствующими ролями, например, pg_execute_server_program позволяет ему загрузить и запустить скрытые файлы для майнинга криптовалюты. На рисунке 2.A показано, как злоумышленники с помощью команды COPY загружают и запускают xmrig, который майнит цифровую валюту типа Monero; на рисунке 2.B – процесс xmrig, запущенный внутри контейнера, успешно майнит криптовалюту.

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 19Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 20
Рисунок 2.A. Злоумышленник использует команду COPY для загрузки и запуска xmrig

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 21Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 22
Рисунок 2.B. Xmrig майнит криптовалюту путем удаленного доступа к неправильно настроенному PostgreSQL

В качестве еще одного примера, на рисунках 3.A и 3.B показано, как неправильно настроенный PostgreSQL может быть использован для отображения списка всех уязвимых файлов без использования каких-либо подозрительных инструментов. После того, как злоумышленник получил доступ к службе PostgreSQL, он может настроить задание cron, чтобы получить реверсную оболочку, повысить привилегии до root контейнера и перейти к атаке на хост Kubernetes, API или API облачного провайдера, чтобы повысить привилегии и захватить кластер Kubernetes или облачную учетную запись.

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 23Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 24
Рисунок 3.A. Злоумышленник использует команду COPY для считывания конфиденциальных файлов в /etc /passwd

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 25Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 26
Рисунок 3.B. Результаты использования злоумышленником команды COPY для считывания конфиденциальных файлов

Обнаружение и защита от CrowdStrike

Платформа Falcon объединяет облачную безопасность для обеспечения комплексной защиты клиентов от любых атак на Kubernetes, облачную или гибридную инфраструктуру.

Платформа Falcon, благодаря своим моделям машинного обучения, обнаруживает и предотвращает угрозы во время работы облака, Kubernetes или бессерверной инфраструктуры. В примере, показанном на рисунке 4.A, платформа Falcon идентифицирует и обнаруживает дочерний процесс PostgreSQL, который пытается загрузить и запустить майнер xmrig в контейнере. На рисунке 4.B показано, как платформа Falcon идентифицирует и останавливает вредоносный процесс на ранней стадии kill chain, когда загружается вредоносный файл. На рисунке 4.C показано, как платформа Falcon обнаруживает неправильную конфигурацию PostgreSQL во время работы.

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 27Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 28Рисунок 4.A. Платформа Falcon обнаруживает и предупреждает на каждом этапе kill chain

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 29Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 30Рисунок 4.B. Платформа Falcon останавливает процесс wget, который используется для загрузки вредоносного программного обеспечения

Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 31Защита PostgreSQL от кампаний криптоджекинга в Kubernetes - изображение 32Рисунок 4.C. Платформа Falcon обнаруживает опасную конфигурацию PostgreSQL с помощью переменной среды

Платформа Falcon применяет подход на основе глубокой защиты, используя входящую телеметрию для обнаружения и устранения угроз в режиме реального времени. Она включает следующие индикаторы, которые используются для обнаружения попыток криптоджекинга, подобных рассмотренным:

  1. Предотвращение дрифта контейнера
  2. Поддельный контейнер, работающий на вашем экземпляре Docker
  3. Неправильно настроенный экземпляр Kubernetes или Docker

Общедоступные облачные сервисы для PostgreSQL не уязвимы к такой неправильной конфигурации. Управление безопасностью облачных сервисов CrowdStrike Falcon Horizon позволяет специалистам по DevOps обеспечивать безопасность таких приложений, как PostgreSQL, путем проактивного мониторинга, обнаружения неправильных конфигураций и обеспечения соответствия требованиям в инфраструктуре публичного облака. В следующей таблице приведен перечень индикаторов неправильных конфигураций (IOM) Falcon Horizon для PostgreSQL, которые помогают выявить пробелы в безопасности.

Платформа Сервис Серьезность Название политики Описание политики
Azure PostgreSQL Medium PostgreSQL database does not enforce SSL Был обнаружен сервер базы данных PostgreSQL, который не использует SSL для соединений с базой данных. Это означает, что клиенты могут устанавливать открытые соединения с базой данных, что позволяет отслеживать/перехватывать их трафик, если они подключаются через ненадежные сети.
Azure PostgreSQL Informational PostgreSQL database has the connection throttling parameter disabled Обнаружена база данных PostgreSQL с параметром дросселирования соединений, установленным в значение «отключено». Дросселирование соединений временно блокирует входящие соединения с IP-адреса после нескольких неудачных попыток входа, защищая базу данных от атак грубой силы.
Azure PostgreSQL Informational PostgreSQL database has the log checkpoints parameter disabled Была обнаружена база данных PostgreSQL с параметром логирования контрольных точек, установленным на «отключено». Без этого типа логирования вы не будете иметь представления о процессе проверки контрольных точек, что может негативно повлиять на производительность базы данных и надежность соединения.
Azure PostgreSQL Informational PostgreSQL database has the log connections parameter disabled Была обнаружена база данных PostgreSQL с параметром логирования соединений, установленным на «отключено». Без этого типа логирования вы не будете иметь представления о попытках соединения с базой данных. Логи соединений могут помочь определить, когда на базу данных пытаются совершить грубую атаку, и могут помочь в отслеживании злоумышленников во время расследования.
Azure PostgreSQL Informational PostgreSQL database has the log disconnections parameter disabled Была обнаружена база данных PostgreSQL с параметром логирования разъединений, установленным на «отключено». Без этого типа логирования вы не будете иметь представления о сеансах соединения с базой данных, которые могут содержать информацию о продолжительности сеанса и времени разъединения.
Azure PostgreSQL Informational PostgreSQL database has the log duration parameter disabled Была обнаружена база данных PostgreSQL с отключенным параметром регистрации времени. Без этого типа регистрации вы не будете иметь представления о времени, необходимом для выполнения запросов к базе данных. Это может помочь определить, когда база данных находится под стрессовой нагрузкой или если есть другие проблемы с производительностью запросов и/или базы данных.
GCP Cloud SQL Informational Cloud SQL for PostgreSQL “log_checkpoints” flag is disabled Включение log_checkpoints приводит к тому, что контрольные точки и точки перезапуска записываются в логи сервера. К сообщениям лога добавляется некоторая статистика, в частности количество записанных буферов и время, потраченное на их запись. Этот параметр можно установить только в файле postgresql.conf или в командной строке сервера. Эта рекомендация касается экземпляров баз данных PostgreSQL.
GCP Cloud SQL Informational Cloud SQL for PostgreSQL “log_connections” flag is disabled По умолчанию PostgreSQL не регистрирует попытки соединения. Включение параметра log_connections будет создавать записи в логах для каждой попытки соединения, а также для успешного завершения аутентификации клиента, что может быть полезным при устранении неисправностей и для определения любых необычных попыток соединения с сервером. Эта рекомендация касается экземпляров баз данных PostgreSQL.
GCP Cloud SQL Informational Cloud SQL for PostgreSQL “log_ disconnections” flag is disabled По умолчанию PostgreSQL не регистрирует данные о продолжительности и времени завершения сеанса. Включение параметра log_disconnections будет создавать записи логов в конце каждого сеанса, что может быть полезно для устранения неполадок и определения любой необычной активности в течение определенного периода времени. Параметры log_disconnections и log_connections работают вместе, и обычно их следует включать/выключать вместе. Эта рекомендация касается экземпляров баз данных PostgreSQL.
GCP Cloud SQL Informational Cloud SQL for PostgreSQL “log_lock_waits” flag is disabled Тайм-аут блокировки определяет время ожидания блокировки перед проверкой на наличие каких-либо условий. Частые превышения тайм-аута ожидания блокировки могут свидетельствовать об основной проблеме. Логирование таких задержек блокировки путем включения параметра log_lock_waits может быть использовано для обнаружения низкой производительности из-за задержек блокировки или если специально разработанный SQL пытается использовать ресурсы, удерживая блокировку в течение чрезмерного количества времени. Эта рекомендация относится к экземплярам баз данных PostgreSQL.
GCP Cloud SQL Informational Cloud SQL for PostgreSQL “log_temp_files” flag is disabled Параметр log_temp_files отключен. Временные файлы не записываются в логи, поэтому может быть сложнее обнаружить потенциальные проблемы с производительностью, которые могут быть вызваны преднамеренными попытками истощения ресурсов.
GCP Cloud SQL Informational Cloud SQL for PostgreSQL “log_min_ duration_ statement” flag is enabled Логирование SQL-запросов может содержать конфиденциальную информацию, которую не следует записывать. Эта рекомендация относится к экземплярам баз данных PostgreSQL.
GCP Cloud SQL Medium Cloud SQL database instance does not require SSL Подключение к базе данных SQL в случае успешного перехвата (MITM) может раскрыть конфиденциальные данные, такие как учетные данные, запросы к базе данных, результаты запросов и т. Д. Для безопасности рекомендуется всегда использовать SSL-шифрование при подключении к вашему экземпляру. Эта рекомендация относится к экземплярам PostgreSQL, MySQL поколения 1 и MySQL поколения 2.
GCP Cloud SQL Informational Cloud SQL instance not configured for backups Резервные копии предоставляют возможность восстановить экземпляр облачного SQL для возвращения утраченных данных или устранения проблем с этим экземпляром. Автоматическое резервное копирование нужно настроить для любого экземпляра, содержащего данные, которые должны быть защищены от потери или повреждения. Эта рекомендация касается экземпляров SQL Server, PostgreSQL, MySQL поколения 1 и MySQL поколения 2.
GCP VPC High VPC allows access to PostgreSQL from all networks Разрешая входящий сетевой трафик из глобального IP-пространства (0.0.0.0.0/0), вы открываете ненужные, часто используемые сервисы для любого злоумышленника в Интернете. Этот порт высокого риска обычно сканируется злоумышленниками, и одна неправильная конфигурация или устаревший сервер может представлять серьезную угрозу для организации. Доступ, полученный злоумышленником, может привести к компрометации данных или дальнейшей эксплуатации в сети, где размещены уязвимые сервисы.

MITRE для защиты инфраструктуры как услуги (IaaS)

Crowdstrike объединился с MITRE Engenuity Center for Threat-Informed Defense, чтобы разработать ATT&CK Defense для IaaS. Целью этого проекта была разработка эффективных методов и стратегий защиты от злоумышленников, которые атакуют IaaS к облаке, контейнерах и Linux aaS. Поскольку самой популярной техникой, используемой злоумышленниками для получения начального доступа к облачной инфраструктуре, является использование общедоступных приложений, таких как PostgreSQL, крайне важно оценить уязвимость вашего корпоративного приложения в Интернете и впоследствии следовать лучшим практикам для его защиты.

Лучшие практики защиты PostgreSQL

Защита рабочей нагрузки PostgreSQL требует сочетания надлежащей практики конфигурации и регулярного мониторинга. Вот некоторые общие рекомендации по безопасному развертыванию PostgreSQL в облачных средах и средах Kubernetes:

  1. Используйте последнюю версию PostgreSQL и установите необходимые патчи.
  2. Используйте надежный пароль при применении методов аутентификации на основе пароля.
  3. Применяйте соответствующие разрешения для защиты конфигурационных файлов, таких как pg_hba.conf.
  4. Включите SSL/TLS для защиты соединения между клиентом и службой PostgreSQL.
  5. Проводите аудит пользователей и их ролей безопасности и придерживайтесь принципа наименьших привилегий.
  6. Используйте секреты пространства имен Kubernetes.
  7. Запускайте службу PostgreSQL от имени пользователя не root, что добавит дополнительный уровень защиты на случай компрометации.
  8. Ограничьте ресурсы контейнеров, доступные службе PostgreSQL, до разумных пределов.
  9. Отслеживайте хосты и контейнеры на предмет любой злонамеренной активности.
  10. Используйте механизм нулевого доверия, чтобы разрешить необходимый доступ к сервису в кластере.
  11. Используйте проактивные решения безопасности для выявления неправильной конфигурации и уязвимостей.

Вывод

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

Одним из способов достичь этого является использование комплексной облачной платформы безопасности, такой как платформа защиты облачных приложений CrowdStrike (CNAPP), которая предлагает сочетание средств защиты во время работы и проактивных мер, включая оценку МОМ и индикаторов атак (IOA), а также проверку на соответствие нормативным требованиям. Кроме того, она обнаруживает и предотвращает нарушения со стороны различных типов субъектов, включая хактивистов, занимающихся криптопреступностью, группы eCrime и хакеров спонсируемых государствами, обеспечивая комплексное и надежное решение для защиты вашей облачной инфраструктуры.

Напомним, что iIT Distribution обеспечивает дистрибуцию и продвижение решений CrowdStrike на территории Украины, Казахстана, Узбекистана и Грузии и оказывает профессиональную поддержку в их проектировании и внедрении. Мы всегда обеспечиваем необходимый уровень информационной поддержки нашим партнерам и заказчикам по каждому продукту, а наши эксперты готовы предоставить консультацию по любым вопросам, связанным с повышением эффективности функционирования и защиты вашей IT-инфраструктуры.

Новости

Текущие новости по вашей теме

Все новости
Объявление об инвестициях серии C: от пионера симуляции атак до лидера в валидации экспозиций атак
Picus Security Новости
Объявление об инвестициях серии C: от пионера симуляции атак до лидера в валидац ...

CrowdStrike приобретает Adaptive Shield для обеспечения комплексного управления безопасностью SaaS
CrowdStrike Новости
CrowdStrike приобретает Adaptive Shield для обеспечения комплексного управления ...

Текущее состояние безопасности облачных данных
Lookout Новости
Текущее состояние безопасности облачных данных

Все новости