Перенесите свой балансировщик нагрузки с AWS ELB на ZEVENET ADC

РАЗМЕЩЕНО 27 декабря 2022 г.

Обзор

(AWS) Эластичный балансировщик нагрузки (ЭЛБ) распределяет веб-трафик по нескольким EC2 экземпляры, служба эластичных контейнеров (ECS) и IP-адреса. ЭЛБ также имеет возможность балансировать трафик между различными зонами доступности для обеспечения высокой доступности. Однако есть несколько ограничений на использование AWS«s ЭЛБ, и к ним относятся:

  1. Ограниченные методы балансировки нагрузки. По умолчанию, ЭЛБ использует только По-круговой алгоритм, и он имеет ограниченные возможности переключения контента.
  2. С ЭЛБ предназначен для управления трафиком из Интернета к экземплярам в виртуальном частном облаке.(ВКК), он не подходит для балансировки нагрузки между локальными ресурсами.

В этой статье мы обсудим, как можно заменить его службы балансировки нагрузки на лучшую альтернативу, ZEVENET ADC. Подробное сравнение AWS ELB и ZEVENET см. в этой статье. Сравнение AWS и ZEVENET.

Предпосылки

Убедитесь, что вы соответствуете этим требованиям, прежде чем пытаться перенести конфигурации из АМС ЭЛБ к полнофункциональному АЦП ZEVENET.

  1. Узел ZEVENET ADC должен быть установлен на вашем ПК, на «голом железе», в виртуальной среде или иметь активную ZVNcloud . Запросить оценку для локального развертывания.
  2. Необходимо иметь доступ к графическому веб-интерфейсу. Если вы этого не сделаете, следуйте этому быстрому Инструкция по установке.
  3. Необходимо быть активным пользователем AWS ELB и быть знакомым с концепциями, которые мы обсудим в разделе ниже.
  4. Необходимо иметь возможность создать виртуальный сервер в балансировщике нагрузки ZEVENET. Вот краткое руководство: Конфигурация виртуального сервера уровня 4 и уровня 7.

Внимание
ZEVENET имеет шаблон в Торговая площадка AWS. Развертывание ZEVENET на AWS не вызывает затруднений и должно происходить в несколько кликов.

Основные понятия

Слушатель: Прослушиватель проверяет входящий трафик уровня 7 и перенаправляет его в необходимую целевую группу. Обычно слушатель настроен на проверку HTTP or HTTPS трафик в портах 80 or 443 соответственно. Основные прослушиватели уровня 7, используемые ZEVENET ADC: HTTP и HTTPS.

Целевая группа: Целевая группа — это кластер экземпляров EC2, совместно работающих для предоставления услуги. Все эти экземпляры в целевой группе должны иметь один и тот же код приложения, обрабатывающий запросы от клиентов. Целевая группа — это то же самое, что Сервис при использовании ZEVENET ADC.

Проверка здоровья: Проверки работоспособности отслеживают работу и реакцию службы на каждом экземпляре EC2. Когда служба или экземпляр EC2 выходит из строя, проверка работоспособности заметит отсутствие ответа, и балансировщик нагрузки перенаправит трафик на исправные экземпляры. ZEVENET использует набор плагинов, называемых Farmguardian для мониторинга состояния работоспособности Backend-серверов и их служб.

Типы балансировщика нагрузки: AWS ELB предоставляет три типа балансировщиков нагрузки. Это включает Заявление, Cеть и Классический балансировщики нагрузки. Классический балансировщик нагрузки устаревает, оставляя только Cеть и Заявление балансировщики нагрузки для использования. Балансировщики нагрузки ZEVENET ADC уровня 7 имеют HTTP профиль, в то время как балансировщики сетевой нагрузки имеют L4xNAT профиль.

Группа безопасности: Группа безопасности — это набор правил брандмауэра, которые отслеживают и контролируют входящий и исходящий трафик. ZEVENET ADC имеет встроенный IPDS модуль с настроенными политиками для фильтрации любого вредного трафика к балансировщику нагрузки, а также блокировки всех попыток несанкционированного доступа. Вы можете создать правила брандмауэра, обратившись к WAF вариант в IPDS модуль.

АКМ: Служба ACM позволяет администратору развертывать сертификаты SSL/TLS и управлять ими для использования во внутренних подключенных ресурсах на AWS. Чтобы управлять внутренними SSL-сертификатами в балансировщике нагрузки ZEVENET, получите к ним доступ через LSLB >> SSL-сертификаты. Или вы можете создать собственный самозаверяющий SSL-сертификат через Давайте зашифровать программа, встроенная в балансировщик нагрузки ZEVENET.

Экземпляры или цели EC2: Это подчиненные виртуальные серверы Linux, на которых размещается код приложения, обрабатывающего запросы, полученные из Интернета. Эти виртуальные серверы называются Backends при использовании ZEVENET ADC.

Примеры конфигураций: SSL-сертификаты

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

В этом разделе мы обсудим установку SSL-сертификатов на ZEVENET ADC со ссылкой на AWS ACM.

Настройка самоподписанного SSL-сертификата для использования в AWS

Можно выполнить следующие шаги, чтобы установить сертификат SSL на ELB.

  1. Чтобы создать КСО для ваших экземпляров EC2 вам потребуется доступ к консоли Linux этого экземпляра.
  2. После подключения к экземпляру EC2 перейдите в каталог: /etc/pki/tls/частный/
  3. Создайте новый закрытый ключ, 2048-битный RSA, используя следующую команду: sudo openssl genrsa -out custom.key
  4. Сгенерируйте сертификат, предоставив предыдущий сгенерированный закрытый ключ, используя команду: openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
  5. Заполните необходимые данные, требуемые сертификатом SSL.
    • Страна: Введите 2 кода страны ISO.
    • Штат / провинция: Введите регион, в котором находится ваша компания.
    • Город: Введите название города, в котором вы находитесь.
    • Общее название: Введите полное доменное имя Полное доменное имя, например www.zevenet.com
    • кодовая фраза или пароль: Вы можете игнорировать создание пароля для этого примера. Между тем, сгенерированный сертификат будет в *.pem формат файла.
  6. Скомпилируйте оба сертификата в пакет PKCS12 с помощью команды:openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
  7. Предполагая, что AWS CLI уже установлен, обычно необходимо загрузить сгенерированный сертификат (custom.crt) и закрытый ключ (custom.key) в AWS Certificate Manager с помощью команды: aws acm import-certificate — файл сертификата://custom.crt — файл закрытого ключа://custom.key — регион us-east-2
  8. Этот сертификат теперь будет доступен в мастере создания в разделе «Выбрать сертификат из ACM (рекомендуется)».

Настройка самозаверяющего SSL-сертификата для использования в ZEVENET ADC

  1. Чтобы сгенерировать собственный сертификат SSL для вашего экземпляра ZEVENET ADC, найдите следующий каталог с помощью командной строки устройства.
  2. cd /usr/local/zevenet/config/certificates
  3. Сгенерируйте закрытый ключ без парольной фразы с помощью команды:
  4. openssl genrsa -out custom.key 2048
  5. Создайте запрос на подпись сертификата (КСО) для закрытого ключа с помощью команды:
  6. openssl req -new -key custom.key -out custom.csr
  7. Заполните необходимые данные.
    • Имя: Описательное имя для идентификации CSR.
    • Страна: Код ISO страны, в которой вы находитесь.
    • Распространенное имя: Полное доменное имя. (Полное доменное имя), например www.example.com
    • Раздел: Ваш отдел, и это может быть здравоохранение, ИТ или безопасность.
    • Район: Город, в котором вы находитесь.
    • Район: Штат, в котором находится ваша организация.
    • Организация: Официальное название вашей организации, например, ZEVENET SL.
    • Эл. адрес Введите ваш адрес электронной почты. Не обязательно, чтобы он был один для доменного имени.
  8. Создать Самоподписанный сертификат используя как закрытый ключ, так и сертификат CSR. В этом примере самозаверяющий сертификат будет иметь срок жизни 1 год, а выходной формат будет в .PEM. Используйте следующую команду.
  9. openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
  10. Этот сертификат будет доступен для использования в LSLB >> SSL-сертификаты .

Чтобы узнать больше о сертификатах SSL в ZEVENET ADC, обратитесь к этим ресурсам:

  1. Создайте сертификаты в формате PEM.
  2. LSLB | Давайте зашифруем
  3. LSLB | SSL-сертификаты

Примеры конфигураций: Брандмауэр веб-приложений

В качестве меры безопасности А. WAF защищает веб-приложение, фильтруя и блокируя вредоносный трафик. WAF обычно развертывается перед балансировщиком нагрузки и предназначен для защиты веб-приложений от различных вредоносных атак, таких как межсайтовый скриптинг (XSS), SQL-инъекция, и другие атаки, в том числе в Топ-10 OWASP.

Проверяя входящий HTTP-трафик и анализируя его на соответствие набору правил или политике безопасности, WAF блокирует весь трафик, который считается небезопасным. ZEVENET ADC предлагает более продвинутые функции безопасности, такие как черный список IP-адресов, политика RBL, защита от DoS-атак и т. д.

В этом разделе мы расскажем, как защититься от SQL-инъекция в AWS и смоделировать аналогичные конфигурации с помощью ZEVENET ADC.

Конфигурации АМС

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

  1. В веб-консоли AWS найдите WAF и щити щелкните появившуюся ссылку.
  2. Нажмите на Веб-ACL пункта меню.
  3. Выберите регион, из которого будет поступать ваш трафик, например Европа (Франкфурт).
  4. Нажмите Создать веб-ACL кнопку.
  5. Под Добавление правил и групп правил, нажмите на Добавить правила выпадающая стрелка.
  6. Выбрать Добавить управляемые группы правил. Вы найдете больше управляемых групп правил, в том числе Управление ботами, Список репутации IP-адресов Amazon, Базы данных SQL, И т.д.
  7. Выбрать базы данных SQL путем включения кнопки переключения Добавить в веб-ACL.
  8. Прокрутите вниз и нажмите Добавить правил кнопку.
  9. В Действие по умолчанию для несоответствующих правил, оставьте вариант как Разрешить.
  10. Нажмите Далее кнопку.
  11. В Установить приоритет правила раздел, используйте этот раздел, чтобы добавить приоритет к правилу, а затем нажмите кнопку, Далее.
  12. В Настроить показатели раздел, менять нечего, поэтому нажимаем кнопку, Далее.
  13. В Просмотрите и создайте веб-ACL , нажмите Создать веб-ACL кнопку.
  14. После успешного создания веб-списка управления доступом щелкните только что созданный список управления доступом.
  15. Нажмите на вкладку с Связанные ресурсы AWS.
  16. Добавьте балансировщик нагрузки приложений, который вы хотите защитить. После добавления ресурсов ваше правило будет настроено на блокировку любых инъекций в базу данных sql.

ZEVENET конфигурации

Чтобы включить защиту от SQL-инъекций, вам необходимо создать Набор правил WAF первый.

  1. Перейдите в IPDS в боковом меню и нажмите, чтобы развернуть его.
  2. Нажмите на WAF возможность расширить его.
  3. Нажмите на Rulesets опцию.
  4. Нажмите на Создать набор правил WAF кнопку.
  5. Назначьте Имя и фамилия который легко идентифицирует этот набор правил.
  6. Оставь Копировать набор правил поле как – Нет правил –.
  7. Нажмите Применить чтобы сохранить изменения.
  8. В Глобальные настройки, переключить на Проверить тело запроса опцию.
  9. oracle_jd_edwards_load_balancing_farm

  10. Измените действие по умолчанию на Запретить: вырезать запрос и не выполнять оставленные правила
  11. Нажмите Применить чтобы сохранить изменения.

Установка правил

  1. Нажмите на Правила вкладку для добавления новых правил.
  2. Нажмите на Новое правило кнопку.
  3. Выберите тип правила как Действие.
  4. oracle_jd_edwards_load_balancing_farm

  5. Выберите Фаза as Тело запроса получено.
  6. Выберите Постановления as Запретить: вырезать запрос и не выполнять оставленные правила.
  7. Добавьте описание к правилу, чтобы легко определить, о чем правило.
  8. Нажмите Применить чтобы сохранить изменения.

Добавление условий

  1. Нажмите на только что созданное правило, чтобы добавить условия. Начните с нажатия на Создать условие кнопку.
  2. oracle_jd_edwards_load_balancing_farm

  3. В Переменные поле, выберите request_body И нажмите Добавить переменную кнопку.
  4. В трансформация поле, выберите вариант, никто.
  5. В оператор раздел, выберите detectSQLi
  6. Нажмите Применить кнопку, чтобы создать новое условие.

Включение правил для фермы

  1. Нажмите на Фермы вкладку, чтобы добавить это правило на целевой виртуальный сервер (ферму) в балансировщике нагрузки.
  2. oracle_jd_edwards_load_balancing_farm

  3. В Настройки фермы, перетащите выбранную ферму из Доступные фермы в Включенные фермы.
  4. В правом верхнем углу есть Действия. Нажмите зеленую кнопку воспроизведения, чтобы запустить правило. На данный момент правило WAF блокирует любую sql-инъекцию, встроенную в тело запроса, в основном через формы поиска или входа.

Дополнительные ресурсы о WAF см. в следующих статьях:

  1. IPDS | WAF
  2. IPDS | WAF | файлы

Дополнительные ресурсы

Использование программы Let's encrypt для автоматической генерации SSL-сертификата.
Балансировка нагрузки канала передачи/восходящего канала с помощью ZEVENET ADC.
Балансировка нагрузки DNS с помощью ZEVENET ADC.
Защита от DDoS-атак.
Мониторинг приложений, работоспособности и сети в ZEVENET ADC.

Поделись:

Документация в соответствии с условиями GNU Free Documentation License.

Была ли эта статья полезна?

Статьи по теме