Добавлена статистика по кластерам VPS в реальном времени.

Честность и открытость — залог успеха стабильного и надежного хостинг-провайдера.

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

Указаны как все доступные ресурсы, так и те, которые используются сейчас.

Посмотреть можно тут: msk.host/contacts

Таков путь! Эволюция бэкапов в Timeweb: от rsync до ZFS

Мы постарались кратко описать путь, который прошла команда Timeweb за 10 лет: от rsync, LVM и DRBD до ZFS. Эта статья будет полезна тем, кто занимается серверной масштабируемой инфраструктурой, планирует делать бэкапы и заботится о бесперебойной работе систем.


Расскажем о:
  • rsync (remote synchronization)
  • DRBD (Distributed Replicated Block Device)
  • инкрементальные бэкапы под DRBD с помощью LVM
  • DRBD + ThinLVM
  • ZFS (Zettabyte File System)

rsync и бэкапы до н. э.
rsync (remote synchronization) — вообще не про бэкапы, строго говоря. Это программа, которая позволяет синхронизировать файлы и каталоги в двух местах с минимизированием трафика. Синхронизация может выполняться и для локальных папок, и для удаленных серверов.

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

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

Rsync можно применять в качестве технологии бэкапирования, но для совсем небольшого объема данных.

LVM (logical volume manager) — менеджер логических томов
Конечно, нам хотелось делать бэкапы быстрее с наименьшей нагрузкой, поэтому мы решили попробовать LVM. LVM позволяет делать снапшоты, даже используя ext 4. Таким образом, мы могли делать бэкапы при помощи снапшота LVM.

Эта технология использовалась нами недолго. Хоть бэкап и выполнялся быстрее, чем в rsync, но он был всегда полный. А хотелось копировать только изменения, поэтому мы перешли к DRBD.

DRBD
DRBD позволяет синхронизировать данные с одного сервера на другой. При чем синхронизируются только изменения, а не все данные. Это значительно ускоряет процесс!

А на стороне стораджа мы могли использовать LVM и делать снапшоты. Такая система существовала очень долго и существует сейчас на части серверов, которые мы еще не успели перевести на новую систему.



Однако и при таком методе все равно существует недостаток. При синхронизации DRBD сильно нагружает дисковую подсистему. Это значит, что сервер будет работать медленнее. В результате бэкап мешал работе основных сервисов, то есть сайтов пользователей. Мы даже старались делать бэкапы в ночное время, но они иногда просто не успевали завершиться за ночь. Приходилось маневрировать, чередовать бэкапы. Например, сегодня выполняется одна часть серверов, потом другая. Разносили бэкапы в шахматном порядке.

DRBD, к тому же, сильно зависит от скорости сети и влияет на производительность сервера, с которого и на который ведется бэкап. Необходимо искать новое решение!

Thin LVM
В этот момент бизнес поставил задачу сделать 30-дневные бэкапы, и мы решили переходить на thinLVM. Основную проблему это так и не решило! Мы даже не ожидали, что потребуется настолько высокая производительность файловой системы для поддержания тонких снапшотов. Этот опыт был совсем неудачный, и мы отказались в пользу обычных толстых LVM снапшотов.

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

Продолжаем поиски…

Было решено попробовать ZFS.

ZFS
ZFS — неплохая файловая система, которая имеет множество уже встроенных плюшек. Что при ext 4 достигается путем установки на LVM, подключения DRBD-устройства, то при ZFS это есть по умолчанию. Сама файловая система очень надежная. Отдельно стоит отметить функцию Copy-on-write, эта технология позволяет очень бережно обращаться с данными.

ZFS позволяет делать снапшоты, которые можно копировать на сторадж, а также автоматизировать резервное копирование. Не нужно ничего придумывать!

Переход на ZFS был очень осторожным. Сначала мы создали стенд, где просто тестировали несколько месяцев. В частности пытались воспроизвести неполадки с оборудованием, питанием, сетью, переполнением диска. Благодаря тщательному тестированию, смогли найти узкие места.

Больная тема ZFS — переполнение диска. Эту проблему мы смогли решить путем резервирования пустого пространства. Когда диск переполнен, будут предприняты меры по разгрузке сервера и очистке места.

После тестирования мы постепенно начали вводить новые сервера, переводить старые сервера на ZFS. Проблем с бэкапами больше нет! Можно делать 30- или 60-дневные бэкапы, хоть бэкапы каждый час. В любом случае сервер не будет испытывать избыточных нагрузок.

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






Что было дальше?
В планах обновить ZFS до 2 версии OpenZFS 2.0.0. в 2021 году. Мы готовим переход с использованием всех фишек, которые были анонсированы с выходом релиза в начале декабря.

The Way this is!
Таков путь мы выбрали для себя! Решаете ли вы похожие проблемы? Будем рады, если поделитесь в комментариях опытом! Надеемся, статья оказалась полезна и, если вдруг перед вами так же стоит задача делать бэкапы с помощью встроенных утилит в Linux, наша история поможет подобрать подходящее решение.

timeweb.com/ru/

Windows VPS — мощные решения на знакомой ОС




Практически каждый пользовался Windows на своём компьютере или ноутбуке. Но, кроме этого, её широко используют на выделенных и виртуальных серверах, предназначенных для хостинга сайтов, удалённого рабочего стола RDP, игровых или почтовых серверов и множества других целей.

Если вы управляете средним по нагруженности интернет-проектом, использующим сценарии ASP.Net и базы данных MSSQL, или используете в работе windows-приложения, которым нужен постоянный доступ в интернет, например Forex советники, то Windows VPS от IHC будет для вас оптимальным решением. Кроме того, при покупке услуги у нас вы получите:
  • лицензионный Windows Server 2016 или 2019;
  • скоростные диски SSD NVMe, топовые процессоры последнего поколения, память DDR4;
  • неограниченный трафик;
  • постоянный IP-адрес, дополнительные IPv4 адреса и IPv6 сети;
  • возможность устанавливать любое ПО для Windows и настраивать сервер под себя;
  • моментальную активацию сразу после покупки;
  • мгновенное увеличение мощности по запросу.
www.ihc.ru/winvps.html

Перерастая reverse proxy — технология удаленной защиты и оптимизации сайтов без изменения А-записей DNS



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

Скорее всего, первое решение, которое вам попадется, будет основано на технологии reverse proxy со сменой A-записей DNS. Поэтому сначала мы рассмотрим принцип работы технологии, ее возможности (если вы хорошо знакомы с reverse proxy — смело пропускайте эти два подраздела) и ограничения, связанные с доставкой трафика (это пропускать не стоит). Затем мы покажем, как эти ограничения можно обойти на примере реального кейса. В конце мы дадим несколько общих рекомендаций по организации защиты интернет ресурса.

Reverse proxy — принцип работы
Здесь мы рассмотрим reverse proxy, как средство доставки трафика. Схема ее работы всем хорошо знакома, но не упомянуть ее здесь просто нельзя.

  • Изменение А-записей DNS — вместо IP адреса веб-сервера указывается IP адрес прокси сервера. Распространение внесенных изменений по миру (DNS propagation).
  • ОС посетителя запрашивает IP-адрес, соответствующий доменному имени сайта (DNS resolution).
  • DNS сервер отвечает на запрос, сообщая IP-адрес прокси сервера.
  • Браузер посетителя открывает HTTP(s) сессию и отправляет запросы прокси серверу, который, переустанавливает соединение с целевым веб-сервером и передает запросы ему.

Reverse proxy — возможности
Какие возможности предоставляют решения работающие через reverse proxy со сменой А-записей?
  • Мониторинг запросов и защита сайта от атак на уровне приложений. Технология позволяет обработать каждый запрос уровня приложений, поступающий к целевому серверу.
  • Снижение нагрузки на целевой веб-сервер и ускорение сайта. На проксирующих серверах можно сжимать и кэшировать данные — это является основой работы сетей доставки контента CDN (Content Delivery Network).
  • Гибкое распределение нагрузки между несколькими целевыми веб-серверами. Технология позволяет распределить нагрузку по обработке запросов между несколькими машинами. Это повышает отказоустойчивость и производительность системы.
  • Простота подключения. Чтобы подключить защиту достаточно поменять А-записи DNS и дождаться, когда изменения вступят в силу. Переезд, новое оборудование и ПО — не требуются.
  • Сокрытие реального IP-адреса целевого веб-сервера. Посетитель используют IP-адрес проксирующего сервера для обращения, и с него же получают ответы, что обеспечивает анонимность целевого веб-ресурса.

Reverse proxy — ограничения
У данной технологии есть ряд подводных камней, о которых не очень-то принято говорить. К ее ограничениям можно отнести:
  • Отсутствие защиты от прямых DDoS-атак для самого веб-сервера и инфраструктуры. Если известен IP-адрес целевого веб-сервера, злоумышленники могут провести атаку напрямую, не обращаясь к DNS-серверу. Настройка файрвола на защищаемом сервере не спасает от пакетных DDoS-атак и атак на переполнение каналов.
  • Изменение IP-адресов, используемых для доступа к веб сайтам. Если одних интересует анонимность, то для других сохранение собственных IP-адресов является принципиально важным. Например если компания обладает собственными IP-адресами или целой автономной системой и не хочет ассоциировать себя с компанией, которой принадлежат IP адреса проксирующих серверов.
  • Ощутимые задержки при включении/отключении защиты. Задержки связаны со скоростью обновления информации на DNS серверах по всему миру (DNS propagation). При лучшем сценарии это занимает несколько часов, но может затянутся и на несколько суток. Длительность DNS propagation зависит от времени жизни TTL (Time to Live) DNS-записей, которое определяет через какое время сервер обновит кэш записей.
  • Нельзя защитить сайты и веб-приложения, использующие TCP-порты, отличные от стандартных 80 и 443. Если веб-приложение использует, например, UDP-порт, защитить его не получится. Запросы не будут проксироваться и легитимные пользователи просто не смогут воспользоваться приложением.


Недостатки решений по защите от DDoS-атак на базе “классической” Reverse Proxy начинают ощущаться, по мере того как растущий проект упирается во все большее число ограничений технологии. Какие технические решения способны нивелировать или значительно снизить риски недоступности сайта из-за перечисленных недостатков? — читайте ниже.

Перерастая reverse proxy
Давайте рассмотрим проблему на реальном примере из нашей практики. В прошлом году к нам обратился крупный клиент, с конкретным списком требований к услугам по защите. Мы не можем раскрыть название компании по понятным причинам, а вот потребности клиента — пожалуйста:
  • Обеспечить защиту сайтов от атак на уровне приложений.
  • Снять часть нагрузки с целевых веб-серверов и ускорить загрузку сайтов — у клиента много статического контента, и он заинтересован в кэшировании и сжатии данных на узлах CDN.
  • Обеспечить защиту от прямых атак на IP-адрес/сеть (защита от DDoS-атак на уровнях L3-L4 OSI).
  • Сервисы должны подключаться без изменения внешних IP-адресов ресурсов. У клиента своя AS и блоки адресов.
  • Управление сервисами обработки трафика и переключение на резервные каналы должно происходить в режиме реального времени — уровень доступности ресурса критически важен для клиента.

Решения на основе “классической” reverse proxy с изменением А-записей DNS позволяют закрыть первые два пункта из спиcка.

Услуги вроде защищенного хостинга, виртуальных и выделенных серверов позволяют защититься от атак на уровнях L3-L7 OSI, но требуют переезда и означают использование единственного провайдера защиты. Что делать?

Защита от DDoS внутри сети с защищаемыми сервисами
Установка фильтрующего оборудования в своей сети позволяет защитить сервисы на уровнях L3-L7 OSI и свободно управлять правилами фильтрации. Вы несете существенные капитальные (CaPex) и операционные расходы (OpEx), выбирая такое решение. Это расходы на:
  • оборудование для фильтрации трафика + лицензии на ПО (CapEx);
  • продление лицензий на ПО (OpEx);
  • штатные специалисты для настройки оборудования и контроля его работы (OpEx);
  • каналы доступа в сеть Интернет, достаточные для приема атак (CapEx + OpEx);
  • оплата входящего «мусорного» трафика (OpEx).

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

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

Проксирование без смены А-записей.
Чтобы удовлетворить потребности таких клиентов, мы разработали технологию перехвата веб-трафика и реализовали ее в рамках услуги удаленной защиты без смены А-записей. В основе решения лежит принцип: Все соединения между АС клиента и публичными сетями должны быть защищены. Клиент передает нам анонсы своих IP адресов/сетей по BGP, а мы анонсируем их в Интернет.


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

На схеме ниже показано, как организована обработка трафика в нашей сети на примере веб-трафика.


  • Клиент указывает IP-адреса, подсети и домены, которые он хочет защитить на уровне L7. Это можно сделать для анонсируемых сетей в личном кабинете или при помощи API
  • В сеть провайдера услуги из сети Интернет попадает клиентский трафик. В первую очередь он проходит базовый анализ и очистку от «мусора» на уровнях L3-4 модели OSI.
  • Система перехвата сепарирует и обрабатывает трафик на основании используемых протоколов уровня приложений. В данном случае TCP пакеты на 80 и 443 порты, содержащие HTTP заголовки, направляются на анализ веб-трафика, остальной трафик доставляется в сеть клиента как легитимный.
  • Веб-трафик проверяется на принадлежность защищаемой подсети. Пакеты с адресом назначения отличным от указанных клиентом проходят дополнительную проверку по имени домена.
  • Весь трафик указанных клиентом IP адресов/доменов проходит обработку на уровне L7. На проксирующих серверах осуществляется фильтрация трафика, оптимизация контента и его кеширование.

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

Заключение
Теперь давайте проверим удовлетворяет ли разработанное DDoS-GUARD решение списку требований из раздела «Перерастая reverse proxy».
  • Клиент получает защиту от атак на уровнях L3-L7 OSI.
  • Контент сжимается и кэшируется на узлах нашей CDN, что уменьшает нагрузку на целевые веб-серверы.
  • Управление защитой происходит в реальном времени. Клиент управляет правилами фильтрации трафика для подсетей, IP-адресов и отдельных доменов через личный кабинет или API. Изменения вступают в силу пределах 1 минуты. В экстренной ситуации клиент может перенаправить весь трафик в обход сети DDoS-GUARD, просто сняв анонсы по BGP.
  • IP-адреса, принадлежащие компании, остались неизменными. Клиенту не нужно закупать новое оборудование, программное обеспечение, нанимать дополнительный персонал и платить за неочищенный трафик.

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

P.S.
Общие рекомендации по организации защиты вашего проекта:
  • Избегайте туннелей, в т.ч. при доставке очищенного трафика через сеть провайдера — это снижает MTU (Maximum Transmission Unit). Чем ниже MTU, тем больше пакетов приходится фрагментировать, т.е. разбивать, понижая тем самым скорость передачи данных) и ставит ваш сервис в зависимость от политик по приоритезации трафика транзитных операторов.
  • Обращайте внимание на связность сети поставщика услуг — нерационально строить маршрут Красная площадь — ВДНХ, через Рязань или Франкфурт.
  • Резервируйте все подключения (каналы), операторов, оборудование, персонал. В случае с защитой от DDoS предусмотрите «стоп-кран», который позволит экстренно отключать влияние на трафик.
  • Вне зависимости от особенностей используемой схемы защиты веб-сайта, сервис должен предоставлять возможность управлять защитой в реальном времени. Учитывая, что 100% точность фильтрации недостижима, система должна быть управляемой для снижения ошибок I и II рода.

https://ddos-guard.net

Серверные скидки 2021. Стартуем



Из хорошего:
1. Обновились конфигурации выделенных серверов по очень привлекательным ценам. Серверы января стартуют от 3 100 рублей. В наличии платформы HP, Dell и Supermicro. В стоимость уже включены все нужные плюшки:
  • Установка и первичная настройка сервера;
  • Порт 100 Мбит/сек + безлимитный трафик;
  • Адрес IPv4, предоставление IPMI на первые 3 дня;
  • Бесперебойное питание.
Готовность сервера — 2 часа. Любую конфигурацию можно улучшить под ваши задачи. Количество серверов по указанным ценам ограничено, поэтому переходите к списку прямо сейчас.
rackstore.ru/arenda-servera.html

2. Акция на бесплатный месяц размещения продлена на январь.
При размещении сервера или нескольких единиц оборудования в дата-центре Tier-3 в январе, первый месяц услуги обнуляется. Вы получаете полноценную услугу, за которую не надо платить в первый месяц. Условия действуют для пользователей, ставших клиентами в январе 2021 г.
В услугу уже включено:
  • Установка сервера в стойку;
  • Порт 100 Мбит/сек с безлимитным трафиком + 1 IP-адрес;
  • Консоль KVM over IP на первые 3 дня;
  • Бесперебойное питание.
rackstore.ru/news/colocation-besplatno.html

Стражи публичных облаков: как мы внедряли анклавы Intel SGX для защиты чувствительных данных

Как развеять предубеждения потенциальных пользователей относительно безопасности публичных облаков? На помощь приходит технология Intel Software Guard Extensions (Intel SGX). Рассказываем, как мы внедрили её в своём облаке и какие преимущества от нашего решения получила компания Aggregion.


Кратко об Intel SGX и его роли в облаке
Intel Software Guard Extensions (Intel SGX) — набор инструкций ЦП, с помощью которых в адресном пространстве приложения создаются частные защищённые области (анклавы), где размещается код уровня пользователя. Технология обеспечивает конфиденциальность и целостность чувствительных данных. Путём изоляции в анклаве они получают дополнительную защиту как от несанкционированного внешнего доступа, в том числе со стороны провайдера облачных услуг, так и от внутренних угроз, включая атаки со стороны программного обеспечения привилегированного уровня.

Принципы работы. Для хранения кода и данных анклавов технология Intel SGX выделяет область памяти – Processor Reserved Memory (PRM). ЦП защищает её от всех внешних обращений, в том числе от доступа со стороны ядра и гипервизора. В PRM содержится Enclave Page Cache (EPC), состоящий из блоков страниц объёмом 4 КиБ, при этом каждая страница должна принадлежать только одному анклаву, а их состояние фиксируется в Enclave Page Cache Metadata (EPCM) и контролируется ЦП.

Безопасность EPC обеспечивается за счёт Memory Encryption Engine (MEE), который генерирует ключи шифрования, хранящиеся в ЦП. Предполагается, что страницы могут быть расшифрованы только внутри физического ядра процессора.

Преимущества. Intel SGX позволяет повысить уровень доверия к публичному облаку со стороны организаций, использующих в своей работе чувствительные данные (пароли, ключи шифрования, идентификационные, биометрические, медицинские данные, а также информацию, относящуюся к интеллектуальной собственности). Речь идёт о представителях самых разных отраслей — финансового сектора, медицины и здравоохранения, ритейла, геймдева, телекома, медиасферы.

Наш подход к внедрению Intel SGX
Чтобы в публичном облаке G-Core Labs появилась возможность выделять виртуальные машины с анклавами Intel SGX, нам пришлось пройти путь от компиляции патченного ядра KVM и QEMU до написания Python-скриптов в сервисах OpenStack Nova. Вычислительные узлы, которые планировалось использовать для выделения виртуальных машин повышенной безопасности, мы решили определить в отдельный агрегатор — тип вычислительных ресурсов, требующий дополнительной настройки. На таких узлах было необходимо:

Включить поддержку Intel SGX на уровне BIOS.


Поставить патченные QEMU/KVM.
Изначально у нас не было понимания, как это должно работать и что в итоге мы должны прикрутить, чтобы получить ВМ нужной конфигурации. Разобраться с этим вопросом нам частично помогло руководство Intel для разработчиков. С его помощью мы узнали, как подготовить вычислительный узел для работы с SGX и какими дополнительными параметрами должен обладать конфигурационный XML-файл виртуальной машины. Здесь же мы нашли исчерпывающую информацию, как с помощью виртуализации KVM сделать гостевую машину с использованием Intel SGX. Чтобы убедиться, что мы смогли обеспечить поддержку данной технологии, мы использовали два способа:

Проверили секцию /dev/sgx/virt_epc в файле /proc/$PID/smaps:
[root@compute-sgx ~]# grep -A22 epc /proc/$PID/smaps
7f797affe000-7f797b7fe000 rw-s 00000000 00:97 57466526		/dev/sgx/virt_epc
Size:               8192 kB
KernelPageSize:        4 kB
MMUPageSize:           4 kB
Rss:                   0 kB
Pss:                   0 kB
Shared_Clean:          0 kB
Shared_Dirty:          0 kB
Private_Clean:         0 kB
Private_Dirty:         0 kB
Referenced:            0 kB
Anonymous:             0 kB
LazyFree:              0 kB
AnonHugePages:         0 kB
ShmemPmdMapped:        0 kB
FilePmdMapped:         0 kB
Shared_Hugetlb:        0 kB
Private_Hugetlb:       0 kB
Swap:                  0 kB
SwapPss:               0 kB
Locked:                0 kB
THPeligible:	0
VmFlags: rd wr sh mr mw me ms pf io dc dd hg

И воспользовались данным shell-скриптом, предварительно поставив SGX-драйвер (все действия осуществлялись внутри ВМ):
[root@sgx-vm ~]# cat check_sgx.sh
#!/bin/bash

METRICS="sgx_nr_total_epc_pages \
    sgx_nr_free_pages \
    sgx_nr_low_pages \
    sgx_nr_high_pages \
    sgx_nr_marked_old \
    sgx_nr_evicted \
    sgx_nr_alloc_pages \
    "
MODPATH="/sys/module/isgx/parameters/"

for metric in $METRICS ; do
    echo "$metric= `cat $MODPATH/$metric`"
done

[root@sgx-vm ~]# curl -fsSL https://raw.githubusercontent.com/scontain/SH/master/install_sgx_driver.sh | bash -s - install -p metrics -p page0

[root@sgx-vm ~]# ./check_sgx.sh
sgx_nr_total_epc_pages= 2048
sgx_nr_free_pages= 2048
sgx_nr_low_pages= 32
sgx_nr_high_pages= 64
sgx_nr_marked_old= 0
sgx_nr_evicted= 0
sgx_nr_alloc_pages= 0

Стоит учитывать, что, если одна страница занимает 4 КиБ, то для 2048 страниц требуется 8 МиБ (2048 x 4 = 8192).

Трудности разработки и их преодоление
Отсутствие какой-либо технической документации по интеграции Intel SGX в OpenStack было нашей основной трудностью на момент внедрения. Поиск привел нас к статье проекта SecureCloud, где был представлен способ управления виртуальными машинами с анклавами SGX.

Найденная информация помогла понять, над чем именно нам предстоит работать. В результате мы сформировали следующие задачи:
  • Добиться от сервиса OpenStack Nova генерации XML-файла с дополнительными параметрами для виртуальных машин с поддержкой Intel SGX.
  • Написать фильтр планировщика OpenStack Nova с целью определения доступной памяти для анклавов на вычислительных узлах и осуществления некоторых других проверок.

Их выполнения было достаточно для интеграции Intel SGX в наше публичное облако.

Кроме того, мы дописали сбор статистики с учетом EPC:
# openstack usage show
Usage from 2020-11-04 to 2020-12-03 on project a968da75bcab4943a7beb4009b8ccb4a:
+---------------+--------------+
| Field         | Value        |
+---------------+--------------+
| CPU Hours     | 47157.6      |
| Disk GB-Hours | 251328.19    |
| EPC MB-Hours  | 26880.02     |
| RAM MB-Hours  | 117222622.62 |
| Servers       | 23           |
+---------------+--------------+


Безопасная среда для запуска контейнеризированных приложений


Научившись выделять виртуальные машины с поддержкой Intel SGX, мы использовали платформу SCONE компании Scontain, чтобы обеспечить возможность безопасного запуска контейнеризированных приложений в случае угроз со стороны привилегированного программного обеспечения. При использовании данного решения для прозрачной защиты файловых систем в средах Docker, Kubernetes и Rancher достаточно наличия процессора Intel с поддержкой SGX и драйвера Linux SGX.

Запуск каждого из контейнеров возможен лишь при наличии файла конфигурации, создаваемого клиентским расширением платформы SCONE. В нём содержатся ключи шифрования, аргументы приложения и переменные среды. Файлы, сетевой трафик и стандартные потоки ввода/вывода (stdin/stdout) прозрачно зашифрованы и недоступны даже для пользователей с правами root.

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

С помощью драйвера SGX для каждого анклава в виртуальном адресном пространстве резервируется до 64 ГБ памяти. Платформа SCONE поддерживает языки программирования C/C++/C#/Rust/Go/Python/Java. За счёт специального компилятора исходный код автоматически (без необходимости дополнительных модификаций) подготавливается к использованию совместно с Intel SGX.

Кейс Aggregion
Завершив все необходимые работы по интеграции Intel SGX, мы подключили к нашему публичному облаку платформу управления распределёнными данными компании Aggregion.

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

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

Принципы безопасной работы на платформе Aggregion. В контуре каждого поставщика чувствительные данные изолируются в анклавы Intel SGX, которые фактически представляют собой чёрные ящики: что происходит внутри, недоступно никому, в том числе и провайдеру облачной инфраструктуры. Проверка первоначального состояния анклава и возможности его использования для хранения конфиденциальной информации осуществляется за счёт удалённой аттестации, когда MrEnclave определяет хеш-значение.

Потенциальная польза для клиентов. Комбинирование баз данных нескольких поставщиков позволяет повысить эффективность совместных рекламных кампаний. При выделении целевой аудитории по заданным параметрам мэтчинг (сопоставление) сегментов выполняется непосредственно внутри контейнеров с поддержкой анклавов Intel SGX. За пределы выводится только конечный результат: например, численность пользователей, соответствующих выбранным атрибутам. Аналогичным образом оценивается эффективность проведенных кампаний: в анклавы выгружаются данные о рекламных показах и совершённых продажах для вычисления прироста покупок целевой группы относительно контрольной, который и выдаётся наружу для дальнейшего использования.


Выводы
Мы понимаем, что Intel SGX не является панацеей по защите данных и можно найти ряд статей, порицающих эту технологию, в том числе и на Хабре. Периодически появляются сообщения об атаках, способных извлечь конфиденциальные данные из анклавов: так, в 2018 году бреши в SGX пробили Meltdown и Spectre, в 2020 году – SGAxe и CrossTalk. В свою очередь компания Intel устраняет выявленные уязвимости с помощью обновлений микрокода процессоров.

Почему же мы всё-таки решили внедрить данную технологию? Мы видим в применении Intel SGX возможность сократить потенциальную область кибератак за счёт создания дополнительного контура защиты облачной инфраструктуры G-Core Labs наряду с уже задействованными технологиями информационной безопасности и тем самым повысить доверие наших пользователей к хранению и обработке конфиденциальных данных. Надеемся, что в будущем нам ещё предстоит поделиться с вами успешными клиентскими кейсами, хотя и не берёмся утверждать, что наши статьи не будут основаны на историях обнаружения и устранения новых уязвимостей.

https://gcorelabs.com

Облачный десант: как мы интегрировали публичное облако с CDN и что из этого получилось

Когда в вашем распоряжении одновременно оказывается мощное облако с инфраструктурой в США, Евросоюзе, СНГ, Азии и Австралии и CDN со 100 точками присутствия в 70+ городах на пяти континентах, решение приходит само собой — нужно их интегрировать! Такая синергия очевидно расширит возможности инфраструктуры. Конечно же, мы не могли упустить такую возможность, но в то же время столкнулись с целым рядом челленджей.

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



Зачем вообще интегрировать облако с CDN
В первую очередь публичное облако — это масштабируемые мощности. Их можно использовать как угодно: для разработки и тестирования сервисов, а также хранения и обработки данных. Мы в G-Core Labs запустили облако в прошлом году и уже успели задействовать его в высоконагруженных проектах. Например, наш давний клиент — Wargaming — использует это решение сразу для нескольких задач:
  • Тестирование новых фич и сервисов разных проектов;
  • Подготовка тестовых прототипов с внешними разработчиками, которым нужен доступ к изолированным настраиваемым и контролируемым ресурсам;
  • Работа онлайн-игры «Калибр» на виртуальных машинах.

Со всем перечисленным облако справляется на ура, но работа на этом не заканчивается. Для чего бы ни были задействованы те или иные мощности, результат их работы ещё нужно доставить до точки назначения. О чём бы ни шла речь — об онлайн-игре или настоящих военных соединениях — тут-то и возникает проблема: что многотонную боевую технику, что тяжёлые данные быстро доставлять в удалённые регионы крайне непросто. Упростить эту задачу позволяет интеграция облака с сетью доставки контента. С помощью CDN транспортабельную часть — статические данные — можно забросить «по воздуху» прямо к точке назначения, а из облака лишь останется отправить «негабаритные» динамические данные. С таким подходом можно смело начинать работу даже на других континентах, так как интеграция позволяет быстрее конкурентов доставлять тяжёлый контент по всему миру.



Сокращай, распределяй, ускоряй: как CDN помогает облаку
Перейдём к конкретике. Мы не понаслышке знаем, что доставлять тяжёлый контент в удалённые регионы прямо из облака выходит долго, а постоянно увеличивать мощность инфраструктуры согласно росту нагрузки бывает накладно. К счастью, помимо публичного облака у нас оказалась и своя CDN, которая даже вошла в Книгу рекордов Гиннеса, обеспечив бесперебойный опыт игры в World of Tanks в период пиковой нагрузки.

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

1. Облачные сервисы находились под постоянной нагрузкой. Пользователи высоконагруженных проектов регулярно запрашивали контент из облаков наших клиентов. Это приводило к высокой нагрузке и долгой отдаче данных. Требовалось решение, которое позволило бы легко сократить количество обращений к источнику. Для этого мы интегрировали серверы публичного облака и кеш-серверы CDN, а также сделали единый интерфейс управления этими сервисами. С его помощью пользователи могут выносить статические данные в нужные точки присутствия сети. Благодаря этому обращения к облаку происходят только при первых запросах контента. Работает это стандартно: CDN забирает данные у источника и отправляет их пользователю, а также ближайшему к нему кеш-серверу, откуда контент и раздаётся при последующих запросах;

2. Данные долго передавались между облаком и CDN. Объединив облако с сетью доставки контента, мы заметили, что задержка при доставке данных могла бы быть меньше. Чтобы сохранить как можно больше драгоценных миллисекунд, пришлось реализовать обмен трафиком между кеш-серверами и облаком внутри опорной сети (backbone);



3. Нагрузка на источник оказывалась неравномерно. Даже после подключения CDN оставшиеся обращения к облаку распределялись неэффективно. Мы исправили это с помощью HTTP(S)-балансировщиков. Теперь в момент запроса контента они определяют из какого именно источника (виртуальной машины или бакета облачного хранилища) следует забирать данные для кеширования;

4. Тяжёлый контент долго шёл до пользователей. Чтобы сократить время ожидания, мы постоянно наращивали мощность и географию присутствия CDN. Теперь пользователям уже не приходится ждать, пока контент дойдёт до них через полмира — в момент обращения сеть доставки контента выбирает ближайшую из 100 точек присутствия на пяти континентах. В результате среднее время отклика по всему миру находится в пределах 30 мс.

Разобравшись с этими проблемами, мы уже было посчитали работу законченной. Но у облака с CDN на нас были иные планы.

Так закалялась сталь: модернизируем инфраструктуру
В один момент стало понятно, что эффект от всех наших усилий не мог проявиться в полной мере, пока мы использовали старую аппаратную конфигурацию. Чтобы серверы и размещённые на них приложения работали лучше, а контент передавался быстрей, требовался апгрейд инфраструктуры. Звёзды на небе сошлись в начале этого года: мы принялись за модернизацию, как только вышла линейка масштабируемых процессоров Intel Xeon Scalable второго поколения.

Сейчас стандартная конфигурация серверов выглядит следующим образом:
  • Облачные сервисы работают на процессорах Intel Xeon Gold 6152, 6252 и 5220, имеют до 1 ТБ RAM, а также SSD и HDD с тройной репликацией;
  • Кеш-серверы CDN оснащены Intel Xeon Platinum, виртуальными RAID на CPU и SSD D3-S4610.

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

Шилдинг, шардинг и геораспределение: ускоряем доставку контента в экстремальных условиях
Беда не приходит одна. Это особенно актуально, когда речь идёт о глобальных проектах. Отсутствие географически распределённой инфраструктуры, высокие нагрузки из-за множества пользователей со всего мира и море разнородных данных, которые им нужно быстро доставлять, — одному нашему клиенту, крупному медиаресурсу, нужно было разом разобраться со всеми этими сложностями. Немного подробностей:
  • Контент долго шёл до пользователей, а иногда и вовсе до них не доходил из-за высоких задержек и проблем в сети. Сложность заключалась в том, что весь большой пул серверов с данными размещался в одной географической точке;
  • К источнику контента обращались пользователи со всего мира, что вызывало повышенную нагрузку на инфраструктуру и приводило к дороговизне обслуживания, а также медленной отдаче данных;
  • Пользователям требовалось доставлять огромное количество постоянно пополняемого контента, уникального для каждого региона.

Базовыми возможностями интеграции облака с CDN тут было не обойтись. Мы взялись за разработку дополнительных решений.

Как мы придумали «региональный шилдинг»
Это понятие, а теперь уже и действующую услугу, мы ввели специально для решения проблемы с удалённостью источника контента. Из-за того, что все серверы клиента находились в одной географической точке, данные от них долго добирались до пользователей из разных частей света. Ситуацию усложнял тот факт, что в разные регионы нужно было доставлять разный, постоянно пополняемый контент. Простое кеширование данных на edge-серверах проблему бы не устранило — они бы всё равно часто обращались к источнику через полмира.

Мы решили задачу, развернув большой пул кеш-серверов в популярных точках обмена трафика на разных континентах. «Региональные шилдинги» стали своеобразными прослойками между источником и edge-серверами в странах пользователей. Теперь весь востребованный в соответствующих частях света контент сначала попадал на них, а затем передавался кеш-серверам. Таким образом шилдинги разом снизили нагрузку на источник клиента и сократили задержки до конечных пользователей. Клиент, в свою очередь, сэкономил на размещении нескольких пулов серверов с одинаковым контентом в разных частях света, так как при таком принципе работы достаточно было одного источника данных.


Зачем понадобилось шардирование контента
Проблему долгой доставки контента в разные части света региональные шилдинги решили сполна. Однако, теперь возникла новая сложность: поскольку данных у клиента было много и они постоянно обновлялись, их то и дело не оказывалось в кеше edge-серверов, к которым обращались пользователи. Это приводило к тому, что на региональные пулы постоянно сыпалась масса запросов от кеш-серверов, число которых в одной группе достигало 20–30 штук. Чтобы снять с шилдингов часть этой нагрузки и доставлять контент пользователям ещё быстрей, мы добавили возможность забирать нужные данные у ближайшего edge-сервера в пуле.

Теперь кеш-серверы в регионах присутствия начали обращаться к шилдингам лишь тогда, когда данных не оказывалось во всей группе. Причём даже в этих случаях контент сразу же запрашивался именно у того сервера, который его содержал — благодаря шардингу edge-серверы заранее «знали» где лежит конкретный файл, а не опрашивали для этого весь пул региональных шилдингов. Такой принцип работы снизил количество запросов к пулу и позволил эффективно распределять контент по нему вместо того, чтобы хранить копии данных на каждом сервере. В результате шилдинги вмещали больше контента и как следствие оказывали меньшую нагрузку на источник клиента.


Создание такой инфраструктуры не могло не повлечь за собой ещё одной сложности. Учитывая количество кеш-серверов в группах, было бы глупо предположить, что ни один из них не может выйти из строя. В такой ситуации, как и в случае добавления в пул нового сервера, кеш в группах нужно было перераспределять оптимальным образом. Для этого мы реализовали организацию шардированного кеша с алгоритмом консистентного хеширования в блоке upstream в nginx:
upstream cache_servers {
   hash $cache_key consistent;
   server edge1.dc1.gcorelabs.com;
   server edge2.dc1.gcorelabs.com;
   server edge3.dc1.gcorelabs.com;
}


Появление в пуле недоступных серверов также было чревато ещё одной проблемой: другие серверы продолжали посылать к ним запросы и ожидали ответа. Чтобы избавиться от этой задержки, мы написали алгоритм обнаружения таких серверов в пуле. Теперь, благодаря тому что они автоматически переводятся в состояние down в upstream-группе, мы больше не обращаемся к неактивным серверам и не ждём от них данных.

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

Кому пригодилось облако с CDN
Работы по интеграции позади, а продуктом уже пользуются наши клиенты. Делимся, кто из них получает от этого наибольшую отдачу.

Скажем сразу, что решение пригодилось не всем. Другого мы и не ждали: кому-то достаточно одного лишь хранилища и виртуальных машин, а кому-то — сети доставки контента. Например, когда вся аудитория у проекта находится в одном регионе, CDN к облаку подключать практически незачем. Для минимизации задержек в этом случае хватит сервера, расположенного неподалёку от пользователей.

Во всей красе интеграция раскрывается, когда нужно быстро и далеко отдавать тяжёлый контент большому количеству пользователей. Вот пара примеров того, как облако с CDN помогает разным проектам:
  • Стриминговые сервисы, критичные к задержкам и буферизации, добиваются стабильной работы и высокого качества трансляций;
  • Сервисы онлайн-развлечений быстрее доставляют тяжёлые игры в разные точки мира и снижают нагрузку на серверы, в том числе при пиковых нагрузках;
  • Медиапроекты ускоряют загрузку рекламы и сохраняют доступность при всплесках посещаемости;
  • Интернет-магазины быстрее загружаются в разных странах, в том числе во время акций и распродаж.

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

https://gcorelabs.com

HiPanel Module








hipanel.com

HiPanel разделен на множество подключаемых пакетов, из которых вы можете выбирать:
  • hipanel-core — основной пакет
  • hipanel-rbac — RBAC
  • hipanel-hiart — HiArt
  • hipanel-module-client — клиенты и контакты
  • hipanel-module-domain — зарегистрированные домены
  • hipanel-module-finance — биллинг, счета, тарифы, интеграция платежных систем, корзина
  • hipanel-module-ticket — система поддержки билетов
  • hipanel-module-hosting — учетные записи, виртуальные хосты, базы данных, резервные копии, IPS
  • hipanel-module-server — серверы
  • hipanel-module-dashboard — приборная панель
  • hipanel-module-request — запросы
  • hipanel-module-stock — модели и позиции на складе, история заказов и перемещений
  • hipanel-module-dns — записи DNS
  • hipanel-module-document — файлы и документы
  • hipanel-module-mailing — электронный маркетинг
  • hipanel-module-certificate — SSL-сертификаты

getcomposer.org/download/
php composer.phar require "hiqdev/hipanel-core"

or add
"hiqdev/hipanel-core": "*"

Родился AlmaLinux !!



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

Душевное сообщество
Ни одно техническое сообщество не может быть таким задушевным и страстным, как сообщество Linux. Это заботливое, совместное и питательное сообщество, которое превратило усилия отдельного человека в программное обеспечение, на котором основан мир.

История Linux начинается с личной истории Линуса Торвальдса, который в 1991 году объявил о разработке бесплатного UNIX-подобного ядра для машин x86 — ядра, которое он назвал Linux. Ядро для сообщества.

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

Разнообразие сообщества Linux
Сообщество Linux удивительно разнообразно. Ядро сообщества состоит из замечательно преданных разработчиков и сопровождающих. В него также входят организации, занимающиеся развитием Linux и другого бесплатного программного обеспечения с открытым исходным кодом (FOSS). Например, Linux Foundation.

Поставщики, включая страстную команду CloudLinux, — еще один важный компонент сообщества Linux. Поставщики предоставляют критически важные ресурсы, которые помогают расти, создавать и поддерживать Linux.

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

Таким образом, AlmaLinux родился из нашей страсти и необходимости оживить сердце и душу Linux.

AlmaLinux — ответ на потребность сообщества в замене CentOS
В декабре 2020 года сообщество потеряло один из важнейших ресурсов. Red Hat объявила, что CentOS больше не будет выпускаться как стабильный выпуск, а будет заменен постоянно обновляемым CentOS Stream.

В CloudLinux мы быстро осознали огромные последствия объявления Red Hat, поэтому мы пошли на замену CentOS: бинарно совместимый форк RHEL® 1: 1, который можно использовать бесплатно и с открытым исходным кодом. Мы дали ему кодовое название Project Lenix.

Теперь мы объявляем результаты проекта Lenix: AlmaLinux. Новый дистрибутив Linux, который будет выпущен в первом квартале 2021 года, позволит пользователям CentOS легко переключиться на замену CentOS, которая пользуется постоянной поддержкой.

Переключение требует минимальных усилий: поскольку AlmaLinux является бинарно-совместимой вилкой RHEL, базой для CentOS, переключение с CentOS на AlmaLinux чрезвычайно просто.

В партнерстве с сообществом
Мы разрабатываем AlmaLinux в тесном сотрудничестве с сообществом: включая сообщество в управлении и в каждом ключевом решении. CloudLinux обязуется поддерживать этот важный дистрибутив как минимум до 2029 года, инвестируя в его разработку минимум 1 миллион долларов в год.

Однако организация проекта с открытым исходным кодом означает, что сообщество может продвигать AlmaLinux вперед независимо от того, что происходит с организацией CloudLinux.

Итак, в заключение, именно так мы выбрали название AlmaLinux. AlmaLinux — это навсегда бесплатный дистрибутив Linux для сообщества, созданный сообществом и воплощающий душу сообщества.

almalinux.org

Новые промо в Нидерландах на Xeon Gold 6142 (3.7 ГГц)!



Все серверы в Нидерландах, в том числе и промо-тарифы теперь на новых Intel Xeon Gold 6142 (3.7 ГГц)!

Рады сообщить об обновлении тарифной линейки серверов в Нидерландах, теперь все новые серверы устанавливаются на мощных хост-нодах с процессорами Intel Xeon Gold 6142 с тактовой частотой до 3.7 ГГц.

Цены при этом остались прежними, все как вы любите.
К установке на NL-тарифы доступны: CentOS, Debian, Ubuntu, Windows Server и Windows 10.

Установка автоматическая в течение 120 секунд с момента оплаты.
Оформить заказ можно в личном кабинете: my.msk.host

Подробнее о тарифах: msk.host/vps