Архив рубрики: Новости и объявления

Критическая уязвимость в Exim (CVE-2019-10149)

Обнаружена критическая уязвимость в почтовом сервере Exim (CVE-2019-10149), которая позволяет удаленно выполнить код на сервере с правами root пользователя. Проблема замечена в версиях с 4.87 по 4.91.

Более подробная информация на OpenNet . Патч доступен на сайте https://git.exim.org/exim.git/commit/d740d2111f189760593a303124ff6b9b1f83453d

После 11.06.2019 обновление почтового сервера Exim доступно в репозиториях для устранения найденной уязвимости.

Читать далее

Мягкое отключение услуг в Cloud2 при отрицательном балансе

В Cloud2 реализовано «мягкое» отключение услуг при отрицательном балансе, что позволяет виртуальным машинам работать некоторое время после отключения. В этой статье мы рассмотрим особенности работы данного механизма.

Мягкое отключение работает в два шага:

  • отключение финансового аккаунта в биллинговой системе, при этом виртуальные машины продолжают работать;
  • отключение аккаунта и виртуальных машин в облачной платформе.

Этот двухэтапный процесс позволяет абоненту не сталкиваться с ситуацией немедленной остановки виртуальных машин, что в совокупности с SMS-уведомлениями, позволяет своевременно произвести оплату.

Ключевой элемент мягкого отключения — Мягкий лимит в днях до остановки VM, который выполняет функцию кредита доверия в системе:

После создания услуги он равен 14 дням — это максимальный кредит доверия. На практике это означает следующее: при возникновении отрицательного баланса аккаунта, виртуальные машины будут работать еще 14 дней, после чего будут отключены.

Кредит доверия может как уменьшаться, так и увеличиваться и оставаться неизменным, в зависимости от того, как скоро абонент внес средства после возникновения отрицательного баланса:

Увеличение кредита доверия. Баланс пополнен в текущий или следующий день после отключения. Кредит доверия увеличится на 1 день. Максимум — 14 дней.

Неизменность кредита доверия. Отрицательный баланс возник в пятницу, а средства внесены до первого понедельника включительно.

Уменьшение кредита доверия. Пополнение баланса произведено в ином графике. В этом случае кредит доверия рассчитывается по следующей формуле:

{Новый кредит доверия} = {Текущий кредит доверия} - {Просрочка} + 1

Если {Новый кредит доверия} < 1, то {Новый кредит доверия} = 1

Например, отключение произошло 20 мая, пополнение счета произошло 24 мая, текущий кредит доверия — 14 дней. Новый кредит доверия 14 — (24 — 20) + 1 = 11 дней. При возникновении следующего отрицательного баланса VM отключатся не через 14, а через 11 дней.

Если пользователь настроил уведомление по SMS для Cloud2, то при отключении VM пользователю отправляется SMS вида: NetPoint: Аккаунт <cloud2name> выключен, все VM остановлены.

Система с мягким отключением предназначена для поощрения абонентов, своевременно оплачивающих услуги, и штрафования абонентов с плохой платежной дисциплиной.

Улучшение в Cloud2: уведомление по SMS при остановке, отключении VM и активации услуги

Специально для вашего удобства мы реализовали функцию регистрации мобильного номера, на который будут отправляться SMS-уведомления, для каждой услуги Cloud2. С помощью этой функции вы можете задать номер мобильного телефона, куда будет приходить уведомление при изменении состояния услуги. В настоящий момент мы поддерживает уведомления при остановке, отключении виртуальных машин, и запуске услуги.

Виртуальные машины в Cloud2 не отключаются автоматически при возникновении отрицательного баланса. Это позволяет вам продолжать пользоваться услугой даже тогда, когда в биллинге у нее сменяется статус с активной на отключенную.

Теперь, вы можете задать номер телефона, куда будут приходить уведомления о смене состояния услуги, что позволит вам своевременно внести средства для безостановочного использования.

Пример такой настройки вы можете видеть на снимке экрана, приведенном ниже:

Номер телефона для уведомлений можно задать в формате +79998887777 или 79998887777.

Для задания номера телефона для SMS-уведомлений для услуги необходимо дважды кликнуть на услугу в биллинге, заполнить указанное поле и сохранить изменения.

Балансировка нагрузки на кластер MySQL с помощью HAProxy

Введение

Как правило, приложение взаимодействует с кластером, устанавливая соединение с одним из доступных узлов. Если узел базы данных становится недоступен, приложение должно переподключиться к другому узлу базы данных, чтобы продолжать обрабатывать запросы.

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

  • драйвер JDBC для MySQL (MySQL Connector/J);
  • драйвер, используемый по умолчанию в PHP MySQL для master-slave (mysqlnd-ms).

Эти драйверы позволяют обеспечить прозрачность подключения клиентов к автономному серверу MySQL, решению MySQL Cluster (NDB) или топологии, использующим репликацию MySQL.

Однако при использовании этих драйверов с кластером Galera для MySQL или MariaDB есть ряд проблем, так как они не обладают расширенной информацией о состоянии Galera. Например, узел-донор Galera может находиться в режиме «только для чтения» , когда помогает другому узлу повторно синхронизироваться (если для передачи снимка состояния (SST) используется mysqldump или rsync), или в случае split brain он может быть в состоянии Non-Primary. То есть, существуют случаи, когда даже драйверы с поддержкой пуллинга и балансировки не предоставляют необходимый уровень поддержки кластера.

Часто используемое альтернативное решение заключается в применении балансировщика нагрузки между клиентами и кластером базы данных. Из этой статьи вы узнаете, как с помощью ClusterControl развернуть, настроить и управлять балансировкой нагрузки MySQL с использованием HAProxy.

Читать далее

Установка и настройка среды разработки Python 3 в Ubuntu 18.04

Python — это гибкий и универсальный язык программирования, который является отличным решением для реализации сценариев, автоматизации, анализа данных, машинного обучения и общей разработки.

Из этой статьи вы узнаете, как установить Python и настроить среду разработки на Ubuntu 18.04.

Читать далее

Принципы работы кластера Galera для MySQL и управление кластером с помощью ClusterControl

В данном руководстве предоставляется основная информация о высокодоступном кластере Galera для MySQL/MariaDB. Прочитав статью до конца, вы узнаете ответы на вопросы:

  • как работает Galera Cluster;
  • чем репликация Galera Cluster отличается от репликации MySQL;
  • какие настройки рекомендованы для кластера Galera;
  • какими преимуществами и недостатками обладает Galera Cluster;
  • какие преимущества есть в объединении обоих способов репликации в рамках одного развертывания;
  • какие существуют различия в реализациях Galera у различных поставщиков;
  • как управлять кластером Galera;
  • какие стратегии резервного копирования необходимо использовать при использовании Galera.

Также, в статье вы найдете практический раздел о том, как быстро развернуть и управлять кластером с помощью ClusterControl. Для выполнения практической части статьи вам понадобится 4 сервера под управлением Ubuntu Linux 16.04 и новее, или CentOS 7.

Читать далее

Настройка сервера Linux для Tornado в CentOS 7, Debian 9 Stretch, Ubuntu 18.04 Bionic

Tornado — популярный минималистичный фреймворк для разработки web-сервисов с помощью Python. Он часто применяется как для создания обычных сервисов с RESTful-интерфейсом, так и для реализации приложений, использующих Websocket, что идеально реализуется с помощью асинхронных функций языка.

Разработка фреймворка ведется на GitHub. На следующем изображении вы можете видеть, что Tornado активно разрабатывается сообществом:

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

Закончив чтение данного руководства, вы научитесь самостоятельно настраивать минималистичный сервер для для Tornado без лишних компонентов. Ваше приложение будет доступно по защищенному протоколу HTTPS с поддержкой бесплатного сертификата Let’s Encrypt, балансировка трафика между выполняющимися экземплярами приложения Tornado будет осуществляться с помощью Nginx.

Читать далее

Производительность репликации в кластере MySQL Galera

Администраторы часто настраивают кластер Galera с тремя и более узлами в сетях с пропускной способностью 1 Гбит/с. Кажется, что 1 Гбит/с это довольно много? Фактически, не так уж и много, если задуматься о том, как происходит репликация данных между серверами кластера.

Galera поддерживает два режима репликации — с использованием одноадресной рассылки (ip unicast), либо с использованием многоадресной рассылки, для работы которого может требоваться поддержка на уровне инфраструктуры провайдера или вашего сетевого оборудования, если используется собственная инфраструктура.

Читать далее

Защита сетевого трафика кластера MySQL Galera с помощью шифрования SSL

В том случае, если вы эксплуатируете кластер Galera с узлами, работающими в разных центрах обработки данных, соединение между которыми устанавливается по незащищенному каналу, вам необходимо обеспечить защиту данных, передаваемых между клиентами и кластером и между узлами кластера.

Кластер Galera поддерживает шифрование соединения с использованием протокола SSL. В статье мы рассмотрим, как зашифровать все соединения кластера с помощью SSL-шифрования.

Читать далее

Настройка высокодоступного, масштабируемого отказоустойчивого сайта с помощью Nginx, GlusterFS и MySQL Galera в Linux

Современные сайты часто должны работать в режиме 24x7x365 без остановок на обслуживание. В этих условиях владельцы сайтов готовы инвестировать дополнительные средства в оборудование и программные решения для обеспечения высокой доступности.

Сайт без единой точки отказа становится де-факто требованием в мире, где большинство операций выполняются дистанционным образом. Простои обходятся дорого, особенно, если они происходят в неподходящее время — праздники, выходные, высокий сезон.

В этой статье мы рассмотрим как настроить высокодоступный сайт на трех узлах, которые могут быть как виртуальными так и аппаратными серверами. В ходе настройки мы будем использовать Nginx, СУБД MariaDB (MySQL), распределенную файловую систему GlusterFS, CDN CloudFlare, сертификаты Let’s Encrypt.

Читать далее