Настройка безопасности стека ELK с помощью Nginx

Стек ELK (стек Elastic) — это набор открытых программ, разработанных Elastic, которые позволяют выполнять поиск, анализ и визуализацию записей журналов.

Стек ELK состоит из четырех основных компонентов:

  • Elasticsearch. Распределенная поисковая система, доступная по RESTful протоколу, которая хранит все собранные данные.
  • Logstash. Компонент, осуществляющий предобработку, дополнение, фильтрацию и маршрутизацию загружаемых в Elasticsearch данных.
  • Kibana. Аналитическая и визуализационная система с web-интерфейсом, позволяющая выполнять комплексные запросы к Elasticsearch и отображать их результаты в виде таблиц и диаграмм.
  • Beats. Семейство легких специализированных отправителей данных, тесно интегрированных с Logstash и Elasticsearch.

Если вы следите за новостями об Elasticsearch, то могли слышать о ряде случаев раскрытия конфиденциальных данных, хранящихся в кластерах Elasticsearch. Вот только некоторые ссылки на статьи: Equifax, CITI, AIESEC.

Поскольку Elasticsearch и Kibana поставляются без встроенного механизма аутентификации, данные могут легко подвергнуться атаке, если не предпринять простые меры по их защите.

В этой статье мы рассмотрим, как реализовать один из наиболее распространенных и простых методов защиты стека ELK — установку Nginx в качестве обратного прокси-сервера перед Elasticsearch и Kibana.

Читать далее

Развертывание отказоустойчивого кластера Elasticsearch в Linux

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

Читать далее

Изменение категории услуг НетПоинт

Уважаемый абонент, в настоящее время мы оказываем услуги согласно лицензии на телематические услуги. Однако, разъяснение Роскомнадзора гласит, что организации, предоставляющей услуги хостинга (аренда виртуальных серверов, аренда аппаратных серверов, размещение аппаратных серверов, хранение данных, управление DNS, продажа и сопровождение доменных имен) не требуется лицензия на телематические услуги связи:

В соответствии с пунктом 18 статьи 2 Федерального закона от 27.07.2006 № 149-ФЗ «Об информации, информационных технологиях и о защите информации» под провайдером хостинга понимается лицо, оказывающее услуги по предоставлению вычислительной мощности для размещения информации в информационной системе, постоянно подключенной к сети «Интернет». Указанные услуги не являются услугами связи. Доступ к информационно-телекоммуникационной сети «Интернет» предоставляется провайдеру хостинга оператором связи на основании договора оказания услуг связи.

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

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

Мы планируем завершить все мероприятия до августа 2019 года.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если у вас произошло опустошение счётчика кредита доверия, то он полностью восстановится через 120 дней без отключения услуги (безостановочный период).

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

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

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

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

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

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

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

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

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

Предотвращение взаимных блокировок в Galera с помощью HAProxy

В данном руководстве рассматривается настройка балансировщика HAProxy для распределения операций записи на выделенный сервер и операций чтения между всеми узлами кластера Galera с целью предотвращения ситуацией блокировки (deadlock).

Кластер Galera имеет известные ограничения, одним из которых является то, что он использует оптимистическую блокировку всего кластера. Это может вызвать откат некоторых транзакций. С увеличением числа доступных для записи узлов Master вероятность отката транзакций может увеличиться, особенно если клиенты изменяют сравнительно малый набор данных. Всегда можно повторить транзакцию, и, вероятно, она будет выполнена при повторных попытках, но это увеличит задержку транзакции. Существует ряд архитектурных решений, применяемых в приложениях, которые особенно подвержены частому возникновению ситуации взаимной блокировки (deadlock), например, таблицы последовательностей.

Читать далее

Механизмы кэширования ARC и L2ARC в ZFS

У ZFS есть две интересные функции, которые значительно повышают производительность операций чтения. Речь идет о механизмах кэширования ARC и L2ARC. В этой статье рассмотрим их подробнее.

Читать далее

Шифрование и расшифровка файлов с помощью асимметричного шифрования ключами GPG

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

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

GPG (также известный как GnuPG) является свободной реализацией стандарта OpenPGP и используется для шифрования информации с помощью различных алгоритмов (RSA, DSA, AES и других).

Читать далее

Балансировка нагрузки на кластер 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.

Читать далее