Перейти к содержимому

Tls offload что это

  • автор:

КРИПТОПРО NGATE

.

КриптоПро NGate – это высокопроизводительный VPN-шлюз на базе протокола TLS, который позволяет безопасно и быстро организовать защищенный доступ удаленных пользователей к корпоративным ресурсам через незащищенные сети, например, сеть Интернет. Шлюз КриптоПро NGate отличает гибкость настроек доступа, так сотрудники компании могут осуществлять вход на серверы предприятия с любых устройств различными способами, включая использование браузера, достаточно лишь соответствующего разрешения администратора сети предприятия.

Основные особенности КриптоПро NGate

  • Простая реализация разграничения прав. КриптоПро NGate обладает возможностью обеспечения взаимодействия с удаленными пользователями со строгой многофакторной аутентификацией. В результате существенно упрощается процедура администрирования большого количества разных групп пользователей с доступом к большому числу различных ресурсов, что уменьшает ошибки администрирования, и снижает риск утечки конфиденциальных данных.
  • Наличие клиентов под многие платформы. К шлюзу имеются различные VPN-клиенты под практически все операционные системы, для администраторов это упрощает управление подключениями с разнородных типов устройств.
  • Доступ через браузер. При доступе через браузер пользователи попадают в свой личный портал, персонализированный в соответствии с ролью. При этом в нем отображается список ресурсов, к которым пользователи имеют доступ в соответствии с корпоративными политиками. Список ресурсов может быть произвольным, включая web-страницы портала и клиент-серверные прикладные программы.
  • Аутентификация с использованием токенов. КриптоПро NGate поддерживает различные токены доступа, такие как Аладдин, Рутокен, Esmart и многие другие. В том числе с использованием российской криптографиии и сертификатов созданных в соответствии с самыми современными ГОСТ Р 34.11-2012, ГОСТ Р 34.10-2012.
  • TLS offloading. NGate может использоваться для снятия нагрузки по обработке TLS-соединений с бэкэнд-серверов. Это позволяет как существенно повысить производительность, так и снять нагрузку с серверов доставки данных, позволяя им стабильно выполнять свои основные задачи.

Если вас заинтересовала услуга, напишите нам сейчас на czi@baltzi.ru или позвоните +7 (4012) 90-50-28 и мы ответим вам в течение дня.

Запросить примеры внедрения и условия заказа

ООО «Центр защиты информации»

Адрес:
г. Калининград, ул. Кирпичная, дом 7, 2-й подъезд (вход через Аптеку), 3–й этаж, офисы 301, 303, 304

What Is SSL Offloading?

What Is SSL Offloading? - cover graphic

Encrypting data can introduce latency to connections because of the amount of computer processing that it requires. That’s where TLS/SSL offloading comes into play. This method can improve your page loading speeds and user experience. TLS/SSL offloading can also be used to introduce additional security checks for malware.

TLS/SSL offloading definition

TLS/SSL offloading, often misunderstood, involves the redirection of encrypted traffic away from the web server to alleviate its processing load. Contrary to popular belief, when establishing a connection between a user’s computer and a web server, the encrypted information can be routed to a separate machine or even a dedicated processing device within the same server. By employing TLS/SSL offloading, the server can offload the burden of decrypting and encrypting traffic transmitted via SSL, resulting in improved performance and resource utilization.

How does TLS/SSL offloading work?

Offloading works by taking on the processing load of encryption on a separate device or machine than is being used for the application processing. To configure this process, organizations route TLS/SSL requests to an application delivery control that intercepts the TLS/SSL traffic, decrypts the traffic, and then forwards the traffic to a web server. To configure end-to-end encryption, you must import a valid certificate and key and bind them to the web server.

Types of TLS/SSL offloading

There are two different ways to accomplish TLS/SSL offloading.

TLS/SSL termination

TLS/SSL termination is the simpler approach of the two. In this process, encrypted traffic is intercepted before it hits your servers and decrypted on a dedicated TLS/SSL termination device instead of the application server. Then the decrypted data is forwarded on to the application server.

TLS/SSL bridging

TLS/SSL bridging adds another layer of security by performing extra checks for malware. Incoming data is decrypted, inspected for malicious code, then is re-encrypted and sent on to the web server. This form of TLS/SSL offloading is meant to increase security rather than reduce processing activities on the application server.

Benefits of TLS/SSL offloading

Organizations that handle a lot of encrypted data would benefit from TLS/SSL offloading so application servers can focus on their primary tasks rather than encryption. Reduced TLS/SSL workload can lead to:

  • Faster pagespeeds
  • Quicker response from the application server
  • Enhanced stability of the website

Depending on what load balancer you’re using, TLS/SSL offloading can also help with HTTPS inspection, reverse-proxying, cookie persistence, and traffic regulation. Attackers can hide in encrypted traffic, and the ability to inspect encrypted HTTPS traffic could save your organization from severe attacks.

Keep your applications running smoothly

Make sure your applications are running securely and efficiently by implementing TLS/SSL offloading. Offloading only works with valid certificates, so certificate lifecycle management is another crucial component of a healthy network. Make sure to keep track of all TLS/SSL certificates in use at your organization and when they expire so they don’t cause a certificate-related outage.

Automate the certificate management process with machine identity management. Download our Machine Identity Management for dummies eBook to learn more about securing your applications and preventing certificate-related outages.

Related posts

  • What Is an SSL/TLS X.509 Certificate?
  • The Evolution of 256-Bit Encryption and Security Certificates
  • What Is Symmetric Encryption?

SSL Offloading

Avi Networks

SSL offloading is the process of removing the SSL based encryption from incoming traffic that a web server receives to relieve it from decryption of data. Security Socket Layer (SSL) is a protocol that ensures the security of HTTP traffic and HTTP requests on the internet. SSL traffic can be compute intensive since it requires encryption and decryption of traffic. SSL (called TLS or Transport Layer Security now) relies on public key cryptography to encrypt communications between the client and server sending messages safely across networks. Encryption of sensitive information protects against potential hackers and man-in-the-middle attacks.

Image depicting ssl offloading through a load balancer that ensures security of http to https traffic from applications to webservers.

FAQs

What is SSL Offloading?

SSL is a cryptographic procedure that secures communications over the internet. SSL encoding ensures user communications are secure. The encryption and decryption of SSL are CPU intensive and can put a strain on server resources. In order to balance the compute demands of SSL encryption and decryption of traffic sent via SSL connections, SSL offloading moves that processing to a dedicated server. This frees the web server to handle other application delivery demands.

How does SSL Offloading Work?

SSL offloading relieves a web server of the processing burden of encrypting and decrypting traffic sent via SSL. Every web browser is compatible with SSL security protocol, making SSL traffic common. The processing is offloaded to a separate server designed specifically to perform SSL acceleration or SSL termination. SSL certificates use cryptography keys for encryption. RSA keys of increasing key lengths (e.g. 1024 bits and 2048 bits) were the most common cryptography keys until a few years ago. But more efficient ECC (Elliptic Curve Cryptography) keys of shorter key lengths are replacing the RSA keys as the mechanism to encrypt traffic.

How to Configure SSL Offloading?

To configure SSL offloading, organizations enable routing of SSL requests to an application delivery controller that intercepts SSL traffic, decrypts the traffic, and forwards it to a web server. In SSL offloading, importing a valid certificate and key and binding them to the web server are important to ensure correct exchange of unencrypted traffic.

What is SSL Offloading in a Load Balancer?

SSL offloading on a load balancer is now a required capability and these load balancers also referred to as SSL load balancer. This is a load balancer that has the ability to encrypt and decrypt data transported via HTTPS, which uses the SSL protocol to secure data across the network.

Does Avi Offer SSL Offloading?

Yes, Avi provides SSL offloading of encrypted traffic that uses RSA 2K keys as well as those that use ECC keys. Avi delivers high performance for SSL offloading, as well as a number of enterprise-grade features to help understand the health of SSL traffic including alerting on incorrect versions and to troubleshoot SSL-related issues.

For more on the actual implementation of load balancing, security applications and web application firewalls check out our Application Delivery How-To Videos.

For more information on ssl offloading see the following resources:

Балансировка нагрузки с помощью FortiGate

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

FortiGate обеспечивает комплексную защиту вашей инфраструктуры и балансирует нагрузки серверов, распределяя потоки трафика по заданным правилам, что позволяет объединить в одном устройстве функции балансировщика нагрузки, Next Generation Firewall (NGFW) и защиту от угроз.

Балансировка нагрузки на основе решений FortiGate обеспечивает:

  • быструю и надежную обработку запросов;
  • значительное упрощение сетевой архитектуры;
  • снижение операционных расходов.

Балансировщик нагрузки поддерживает HTTP, HTTPS, IMAPS, POP3S, SMTPS, SSL или более низкоуровневые протоколы TCP/UDP или IP. Сохранение сеанса поддерживается на основе идентификатора сеанса SSL или на основе введенного файла cookie HTTP.

Health Check — механизм проверки работоспособности серверов для предотвращения отправки трафика балансировки нагрузки на неработающие серверы. Для проверки используется ICMP ping или другое более сложное тестирование TCP-соединений. Health Check удаляет из кластера балансировки нагрузки неработающие реальные серверы. Удаление реальных серверов из кластеров основано на настройках:

  • Interval — с какой частотой проверяется сервер;
  • Timeout — максимальное допустимое время ответа, прежде чем сервер будет считаться недоступным;
  • Retry — количество отказов до того, как сервер считается недоступным, после чего удаляется.

Типы Health Check по протоколам: TCP, HTTP, PING.

Virtual Server — виртуальный сервер, на чей внешний IP-адрес поступает трафик, который перенаправляется к балансировщику нагрузки.

Real Server — действительный, реальный, сервер, на который поступают запросы после балансировки. За каждым виртуальным сервером может быть закреплено несколько реальных серверов. Конфигурация реального сервера включает IP-адрес и номер порта, на котором реальный сервер принимает сеансы. Устройство FortiGate отправляет сеансы на IP-адрес реального сервера, используя номер порта назначения в реальной конфигурации сервера. Конфигурация сервера включает его IP-адрес и номер порта, на котором принимает сеансы.

SSL Offloading — механизм ускорения SSL-соединения клиентов с сервером, при котором операции шифрования производятся на FortiGate вместо самих серверов с помощью отдельного специального процессора. Данный механизм можно применить, только если для балансировки нагрузки задан тип одного из протоколов SSL (HTTPS, IMAPS, POP3S, SMTPS, SSL). FortiGate предоставляет возможность выбрать, какие сегменты SSL-соединения будут получать разгрузку SSL, определив режим:

  • Client ⟷ FortiGate — режим, при котором аппаратно ускоренная обработка SSL/TLS только в части соединения между клиентом и устройством FortiGate. Этот режим называется half mode SSL offloading. Сегмент между устройством FortiGate и сервером будет использовать открытое (clear text) соединение, что обеспечит лучшую производительность;
  • Full — режим, при котором применяется аппаратно ускоренная обработка SSL к обеим частям соединения: сегментом между клиентом и блоком FortiGate и сегментом между блоком FortiGate и сервером, то есть Client ⟷ FortiGate ⟷ Server. Сегмент между устройством FortiGate и сервером будет использовать шифрованное соединение, но «рукопожатия» будут сокращены. Это не так эффективно, как разгрузка SSL в half mode, но все же повышает производительность.

HTTP multiplexing — функция, которая позволяет веб-клиенту использовать одно соединение TCP для всех запросов к серверу. Данная особенность снижает нагрузку на веб-сервер за счет установки единого соединения, по которому параллельно отправляются запросы и ответы. Каждый фрагмент ассоциируются с помощью специальных встроенных мета-данных, что обеспечивает возможность корректной обработки множества несвязанных запросов HTTP или HTTPS в различном порядке в одном и том же соединении. Более того, ответы получаются по мере их готовности, следовательно, тяжелые запросы не будут блокировать обработку и выдачу более простых объектов.

Например, если веб-браузеры пользователей совместимы только с HTTP 1.0, в котором данная функция не реализована, то включение опции HTTP multiplexing может повысить производительность между веб-сервером и FortiGate.

Persistence — параметр, который сохраняет и отслеживает данные сеанса, чтобы убедиться, что пользователь подключается к одному и тому же серверу каждый раз, когда он делает запрос, являющийся частью одного и того же сеанса или последующих сеансов. HTTP cookie persistence использует внедренные файлы cookie для обеспечения сохраняемости.

При настройке Persistence FortiGate балансирует нагрузку нового сеанса на реальный сервер в соответствии с методом балансировки нагрузки. Если у сеанса есть HTTP cookie или идентификатор сеанса SSL, устройство FortiGate отправляет все последующие сеансы с одним и тем же файлом cookie HTTP или идентификатором сеанса SSL на один и тот же реальный сервер.

Методы балансировки нагрузки ​

Трафик может распределяться между серверами на основе методов:

  • static — равномерное распределение нагрузки между серверами по заранее определённому алгоритму, не учитывая занятость серверов;
  • round-robin — распределение на основе алгоритма round-robin, выполняющего перебор равнозначных между собой серверов по циклу, независимо от времени ответа или количества подключений;
  • weighted — распределение на основе присвоенных весов серверам для учёта особенностей и различий, где серверы с большим значением веса получают больший процент подключений;
  • least-session — распределение, при котором запросы направляются на сервер, имеющий наименьшее количество текущих подключений, рекомендуется использовать при схожих возможностях серверов;
  • least-rtt — распределение на основе Round-Trip-Time (время приема-передачи), при котором запросы направляются на сервер с наименьшим таким показателем, который определяется монитором Ping health check и по умолчанию равно 0, если Ping health check не установлен;
  • first-alive — раздача нагрузки на первый действующий сервер, обеспечивая защиту от сбоя: сеансы не распределяются между серверами, а обрабатываются одним “первым”, пока он “живой”, а затем переключается на другой работающий сервер;
  • http-host — распределение на основе HTTP-заголовка хоста, чтобы направить соединение к определенному серверу.

Перед настройкой балансировщика ​

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

  1. Перейдите в SystemFeature Visibility.
  2. Включите Load Balance в списке Additional Features.

В данном примере будут рассмотрены настройки Load Balancing для HTTP и HTTPS на аппаратном FortiGate-100E, первоначальную базовую настройку которого можно провести согласно инструкциям по настройке межсетевых экранов. В качестве серверов используются облачные серверы в Облачной платформе Selectel.

FortiGate и проект в Облачной платформе соединены приватной сетью, для подключения которой используется сеть глобального роутера между регионами и услугами, что позволяет устанавливать за межсетевым экраном также выделенные серверы и серверы в Облаке на базе VMware.

Настроить балансировщик ​

В данной конфигурации балансировщик распределяет HTTP-трафик из интернета на три веб-сервера, находящихся во внутренней сети. Сеансы HTTP принимаются на интерфейсе wan1 с IP-адресом назначения 172.20.120.121 на TCP-порте 3080 и перенаправляются с внутреннего интерфейса на веб-серверы. При пересылке адрес назначения сеансов преобразуется в IP-адрес одного из веб-серверов.

Аналогичным образом происходит балансировка HTTPS-трафика.

Создать Health Check ​

HTTP ​

Для проверки работоспособности создайте Health Check на уровне HTTP, для которого можно детально настроить URL /index.html и контент ctel .

Для настройки Health Check, который отправляет get-запросы по адресу http:///index.html и выполняет поиск на возвращенной веб-странице фразы «Selectel», выполните следующие действия:

  1. Перейдите в раздел Policy & ObjectsHealth Check.
  2. Нажмите кнопку Create New.
  3. Укажите имя в поле Name.
  4. Укажите тип HTTP в поле Type.
  5. Введите порт в поле Port (по умолчанию для HTTP-трафика — 80).
  6. Введите искомую фразу в поле Matched content.
  7. При необходимости укажите другие параметры.
HTTPS ​

Для мониторинга работоспособности серверов на уровне HTTPS создается аналогичный Health Check, только без детальной проверки контента и URL.

Создать Virtual server ​

HTTP ​
Virtual Server для HTTP ​

Создается Virtual server, на который будет поступать HTTP-запросы.

  1. Перейдите в раздел Policy & ObjectsVirtual Servers.
  2. Нажмите кнопку Create New.
  3. Укажите имя в поле Name, тип HTTP в поле Type, интерфейс в поле Interface.
  4. В Virtual server IP и Virtual server port — внешний IP-адрес и порт, на которые будут поступать запросы.
  5. В выпадающем меню Load balancing method выберите метод балансировки нагрузки, который подходит для вашего случая.
  6. Включите опцию Persistence, чтобы сохранять данные о сеансе, выбрав значение HTTP Cookie.
  7. Выберите монитор работоспособности Health check, созданный ранее, нажав +.
  8. Включите опцию HTTP multiplexing, если необходимо использовать единое TCP-соединение между веб-клиентом и сервером, в том числе и для поступающих несвязанных запросов и ответов.
  9. Включите опцию Preserve client IP для сохранения IP-адреса клиента в HTTP-заголовке X-Forwarded-For . Это может быть полезно при включении HTTP multiplexing, если на реальных серверах требуются сохранить исходный IP-адрес клиента, например, в log-сообщения.
Привязать реальные серверы к виртуальному ​
  1. В разделе Policy & ObjectsVirtual Servers, где продолжается настройка Virtual Server, создайте Real Servers.
  2. В таблице Real Servers нажмите Create New.
  3. В открывшемся окне добавьте IP-адрес и порт сервера, по которым требуется подключение. В данном случае HTTP-сервер развернут на 80 порту.
  4. Нажмите кнопку OK.
  5. Добавьте все сервера, участвующие в балансировке нагрузки, повторив пункты 1-4.
  6. Сохраните настройки Virtual Server, нажав кнопку OK.
HTTPS ​

Для работы балансировщика нагрузки FortiGate требуется загрузить SSL-сертификат.

Добавить SSL-сертификат ​
  1. Перейдите в раздел SystemCertificates.
  2. Убедитесь, что в SystemFeature Visibility включено Certificates.
  3. Выберите ImportLocal Certificate.
  4. В открывшемся окне установите Type — Certificate, загрузите Certificate file и Key file для вашего сертификата.
  5. Введите пароль в поле Password.

После выполненных действий сертификат сервера появится в списке Certificates.

Virtual Server для HTTPS ​

Для HTTPS виртуальный сервер создается аналогичным образом, что и для HTTP, указав тип Virtual Server в поле Type на HTTPS.

В качестве Persistence имеется возможность установить SSL Session ID помимо HTTP Cookie.

Для ускорения SSL-соединения в подразделе SSL Offloading выберите требуемый режим в поле Mode, определив таким образом какой сегмент сети будет разгружен: Client-FortiGate или Full.

Также выберите в выпадающем меню SSL-сертификат в поле Certificate, импортированный ранее.

Привязать реальный сервер к виртуальному ​

В подразделе Real Servers аналогичным образом добавьте реальные сервера, между которым будет балансироваться нагрузка. Укажите корректные порты, на котором развернуты веб-сервера для HTTPS-трафика, по умолчанию это порт 443.

Создать политику ​

Чтобы создать политику безопасности, включающую виртуальный сервер балансировки нагрузки в качестве адреса назначения:

  1. Перейдите в раздел Policy & ObjectsPv4 Policy.
  2. Нажмите кнопку Create New.
  3. Укажите имя политики в поле Name.
  4. Укажите входящий интерфейс — Incoming interface, исходящий интерфейс — Outgoing interface, за которым подключены серверы.
  5. В поле источник (Source) выберите объект all, нажав +.
  6. В поле назначение (Destination) выберите виртуальный сервер балансировки нагрузки, который был создан ранее. Важно, чтобы режим Inspection mode был установлен в настройках политики на Proxy-based. Если режим будет установлен на Flow-based, то виртуальный сервер будет недоступен.*
  7. Выключите режим NAT, чтобы серверы “видели” IP-адреса подключившихся клиентов.
  8. Для HTTP и HTTPS балансировщика политики создаются аналогичным образом. Разница только в выборе виртуального сервера в поле Destination.
  9. Нажмите кнопку OK, чтобы сохранить настройки политики.

Результат ​

В данном примере была настроена балансировка нагрузки HTTP-трафика между тремя серверами.

Запросы, поступающие по адресу виртуального сервера 172.20.120.121:3080, перенаправляются на реальные сервера по очереди в соответствии с выбранным методом.

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

Чтобы включить графическое отображение статусов серверов балансировщика, перейдите в раздел MonitorLoad Balance Monitor (для FortiOS версии 6.2).

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

# diagnose firewall vip realserver ? 

Например, следующие команды перечисляют и отображают информацию о статусе всех реальных серверов:

# diagnose firewall vip virtual-server real-server . # diagnose firewall vip realserver list 

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

# diagnose firewall vip virtual-server filter ? 

Самой наглядной проверкой является сниффер пакетов. Следующей командой в FortiGate можно отследить распределение трафика с установленными фильтрами порта и интерфейса для более удобного просмотра:

# diagnose sniffer pa lan ' port 80 ' ? . # diagnose sniffer pa lan ' port 80' 5 

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

root@server1:~# tcpdump -n -i eth1 port 80 and host 192.168.101.2 

При включенном NAT в качестве исходящего IP-адреса отображается адрес FortiGate:

root@server1:~# tcpdump -n -i eth1 port 80 and host 192.168.101.2 

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *