Содержание
Обзор
(AWS) Эластичный балансировщик нагрузки (ЭЛБ) распределяет веб-трафик по нескольким EC2 экземпляры, служба эластичных контейнеров (ECS) и IP-адреса. ЭЛБ также имеет возможность балансировать трафик между различными зонами доступности для обеспечения высокой доступности. Однако есть несколько ограничений на использование AWS«s ЭЛБ, и к ним относятся:
- Ограниченные методы балансировки нагрузки. По умолчанию, ЭЛБ использует только По-круговой алгоритм, и он имеет ограниченные возможности переключения контента.
- С ЭЛБ предназначен для управления трафиком из Интернета к экземплярам в виртуальном частном облаке.(ВКК), он не подходит для балансировки нагрузки между локальными ресурсами.
В этой статье мы обсудим, как можно заменить его службы балансировки нагрузки на лучшую альтернативу, ZEVENET ADC. Подробное сравнение AWS ELB и ZEVENET см. в этой статье. Сравнение AWS и ZEVENET.
Предпосылки
Убедитесь, что вы соответствуете этим требованиям, прежде чем пытаться перенести конфигурации из АМС ЭЛБ к полнофункциональному АЦП ZEVENET.
- Узел ZEVENET ADC должен быть установлен на вашем ПК, на «голом железе», в виртуальной среде или иметь активную ZVNcloud . Запросить оценку для локального развертывания.
- Необходимо иметь доступ к графическому веб-интерфейсу. Если вы этого не сделаете, следуйте этому быстрому Инструкция по установке.
- Необходимо быть активным пользователем AWS ELB и быть знакомым с концепциями, которые мы обсудим в разделе ниже.
- Необходимо иметь возможность создать виртуальный сервер в балансировщике нагрузки 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.
- Чтобы создать КСО для ваших экземпляров EC2 вам потребуется доступ к консоли Linux этого экземпляра.
- После подключения к экземпляру EC2 перейдите в каталог: /etc/pki/tls/частный/
- Создайте новый закрытый ключ, 2048-битный RSA, используя следующую команду: sudo openssl genrsa -out custom.key
- Сгенерируйте сертификат, предоставив предыдущий сгенерированный закрытый ключ, используя команду: openssl req -new -x509 -nodes -sha1 -days 365 -extensions v3_ca -custom.key -out custom.crt
- Заполните необходимые данные, требуемые сертификатом SSL.
- Страна: Введите 2 кода страны ISO.
- Штат / провинция: Введите регион, в котором находится ваша компания.
- Город: Введите название города, в котором вы находитесь.
- Общее название: Введите полное доменное имя Полное доменное имя, например www.zevenet.com
- кодовая фраза или пароль: Вы можете игнорировать создание пароля для этого примера. Между тем, сгенерированный сертификат будет в *.pem формат файла.
- Скомпилируйте оба сертификата в пакет PKCS12 с помощью команды:openssl pkcs12 -inkey custom.key -in custom.crt -export -out custom.p12
- Предполагая, что AWS CLI уже установлен, обычно необходимо загрузить сгенерированный сертификат (custom.crt) и закрытый ключ (custom.key) в AWS Certificate Manager с помощью команды: aws acm import-certificate — файл сертификата://custom.crt — файл закрытого ключа://custom.key — регион us-east-2
- Этот сертификат теперь будет доступен в мастере создания в разделе «Выбрать сертификат из ACM (рекомендуется)».
Настройка самозаверяющего SSL-сертификата для использования в ZEVENET ADC
- Чтобы сгенерировать собственный сертификат SSL для вашего экземпляра ZEVENET ADC, найдите следующий каталог с помощью командной строки устройства.
- Сгенерируйте закрытый ключ без парольной фразы с помощью команды:
- Создайте запрос на подпись сертификата (КСО) для закрытого ключа с помощью команды:
- Заполните необходимые данные.
- Имя: Описательное имя для идентификации CSR.
- Страна: Код ISO страны, в которой вы находитесь.
- Распространенное имя: Полное доменное имя. (Полное доменное имя), например www.example.com
- Раздел: Ваш отдел, и это может быть здравоохранение, ИТ или безопасность.
- Район: Город, в котором вы находитесь.
- Район: Штат, в котором находится ваша организация.
- Организация: Официальное название вашей организации, например, ZEVENET SL.
- Эл. адрес Введите ваш адрес электронной почты. Не обязательно, чтобы он был один для доменного имени.
- Создать Самоподписанный сертификат используя как закрытый ключ, так и сертификат CSR. В этом примере самозаверяющий сертификат будет иметь срок жизни 1 год, а выходной формат будет в .PEM. Используйте следующую команду.
- Этот сертификат будет доступен для использования в LSLB >> SSL-сертификаты .
cd /usr/local/zevenet/config/certificates
openssl genrsa -out custom.key 2048
openssl req -new -key custom.key -out custom.csr
openssl x509 -in custom.csr -outform PEM -out custom.pem -req -signkey custom.key -days 365
Чтобы узнать больше о сертификатах SSL в ZEVENET ADC, обратитесь к этим ресурсам:
Примеры конфигураций: Брандмауэр веб-приложений
В качестве меры безопасности А. WAF защищает веб-приложение, фильтруя и блокируя вредоносный трафик. WAF обычно развертывается перед балансировщиком нагрузки и предназначен для защиты веб-приложений от различных вредоносных атак, таких как межсайтовый скриптинг (XSS), SQL-инъекция, и другие атаки, в том числе в Топ-10 OWASP.
Проверяя входящий HTTP-трафик и анализируя его на соответствие набору правил или политике безопасности, WAF блокирует весь трафик, который считается небезопасным. ZEVENET ADC предлагает более продвинутые функции безопасности, такие как черный список IP-адресов, политика RBL, защита от DoS-атак и т. д.
В этом разделе мы расскажем, как защититься от SQL-инъекция в AWS и смоделировать аналогичные конфигурации с помощью ZEVENET ADC.
Конфигурации АМС
Включить SQL-инъекция защиты, у вас должен быть хотя бы один или два экземпляра EC2, размещенных за эластичным балансировщиком нагрузки. Эти экземпляры EC2 должны иметь веб-приложение, которое вы хотите защитить.
- В веб-консоли AWS найдите WAF и щити щелкните появившуюся ссылку.
- Нажмите на Веб-ACL пункта меню.
- Выберите регион, из которого будет поступать ваш трафик, например Европа (Франкфурт).
- Нажмите Создать веб-ACL кнопку.
- Под Добавление правил и групп правил, нажмите на Добавить правила выпадающая стрелка.
- Выбрать Добавить управляемые группы правил. Вы найдете больше управляемых групп правил, в том числе Управление ботами, Список репутации IP-адресов Amazon, Базы данных SQL, И т.д.
- Выбрать базы данных SQL путем включения кнопки переключения Добавить в веб-ACL.
- Прокрутите вниз и нажмите Добавить правил кнопку.
- В Действие по умолчанию для несоответствующих правил, оставьте вариант как Разрешить.
- Нажмите Далее кнопку.
- В Установить приоритет правила раздел, используйте этот раздел, чтобы добавить приоритет к правилу, а затем нажмите кнопку, Далее.
- В Настроить показатели раздел, менять нечего, поэтому нажимаем кнопку, Далее.
- В Просмотрите и создайте веб-ACL , нажмите Создать веб-ACL кнопку.
- После успешного создания веб-списка управления доступом щелкните только что созданный список управления доступом.
- Нажмите на вкладку с Связанные ресурсы AWS.
- Добавьте балансировщик нагрузки приложений, который вы хотите защитить. После добавления ресурсов ваше правило будет настроено на блокировку любых инъекций в базу данных sql.
ZEVENET конфигурации
Чтобы включить защиту от SQL-инъекций, вам необходимо создать Набор правил WAF первый.
- Перейдите в IPDS в боковом меню и нажмите, чтобы развернуть его.
- Нажмите на WAF возможность расширить его.
- Нажмите на Rulesets опцию.
- Нажмите на Создать набор правил WAF кнопку.
- Назначьте Имя и фамилия который легко идентифицирует этот набор правил.
- Оставь Копировать набор правил поле как – Нет правил –.
- Нажмите Применить чтобы сохранить изменения.
- В Глобальные настройки, переключить на Проверить тело запроса опцию.
- Измените действие по умолчанию на Запретить: вырезать запрос и не выполнять оставленные правила
- Нажмите Применить чтобы сохранить изменения.
Установка правил
- Нажмите на Правила вкладку для добавления новых правил.
- Нажмите на Новое правило кнопку.
- Выберите тип правила как Действие.
- Выберите Фаза as Тело запроса получено.
- Выберите Постановления as Запретить: вырезать запрос и не выполнять оставленные правила.
- Добавьте описание к правилу, чтобы легко определить, о чем правило.
- Нажмите Применить чтобы сохранить изменения.
Добавление условий
- Нажмите на только что созданное правило, чтобы добавить условия. Начните с нажатия на Создать условие кнопку.
- В Переменные поле, выберите request_body И нажмите Добавить переменную кнопку.
- В трансформация поле, выберите вариант, никто.
- В оператор раздел, выберите detectSQLi
- Нажмите Применить кнопку, чтобы создать новое условие.
Включение правил для фермы
- Нажмите на Фермы вкладку, чтобы добавить это правило на целевой виртуальный сервер (ферму) в балансировщике нагрузки.
- В Настройки фермы, перетащите выбранную ферму из Доступные фермы в Включенные фермы.
- В правом верхнем углу есть Действия. Нажмите зеленую кнопку воспроизведения, чтобы запустить правило. На данный момент правило WAF блокирует любую sql-инъекцию, встроенную в тело запроса, в основном через формы поиска или входа.
Дополнительные ресурсы о WAF см. в следующих статьях:
Дополнительные ресурсы
Использование программы Let's encrypt для автоматической генерации SSL-сертификата.
Балансировка нагрузки канала передачи/восходящего канала с помощью ZEVENET ADC.
Балансировка нагрузки DNS с помощью ZEVENET ADC.
Защита от DDoS-атак.
Мониторинг приложений, работоспособности и сети в ZEVENET ADC.