Найти тему

10 причин использовать прокси-сервер в SaaS

Оглавление

Прокси-сервер важен не только для отдельных пользователей. Преимущества прокси очень полезны для такой важной в 21 веке технологии, как облако. Конечно, эти прокси отличаются. Прокси для облака не прячут клиента от сервера – они заменяют серверы один на другой. Для таких прокси есть специальный термин – обратные прокси. В этой статье мы расскажем о 10 причинах, по которым стоит использовать обратный прокси в SaaS.

SaaS, как правило, открывает пользователю доступ к больше чем одному приложению. И часто требуются особые серверы, способные тем или иным способом поделить работу – если Вы помните технологии 2000-х, это что-то вроде нескольких ядер в одном процессоре для ПК. У каждой группы серверов есть отдельный домен и собственный IP. Даже если пользователь – профессиональный системный администратор, такое количество данных может вызывать путаницу. Поэтому прокси-сервер – отличное решение для таких задач.

Обратный прокси: в чём его задача

Объясним на понятном примере, что же такое обратный прокси. Представьте себе самый обычный офис с самыми обычными офисными работниками. Сегодня многие задачи (а то и практически все) офисный работник может выполнять удалённо. Сделать или принять нужные звонки, разослать сообщения, написать пост. Для всех этих действий не нужно арендовать большой офис с множеством рабочих мест. Вот таким удалённым сотрудником, приносящим фирме прямую экономию, и является обратный прокси-сервер по отношению к серверам приложений.

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

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

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

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

А пограничный сервер (также можно встретить название Edge-сервер), как правило, физически расположен ближе к клиенту, нежели сервер приложений – потому он так и называется. Подобное размещение имеет смысл для того, чтобы скорость была выше. Более того, пограничный сервер может в принципе не обладать функционалом прокси. Хотя может и обладать.

Преимущества прокси

Назначение запросов: искусственный интеллект работает на полную мощь

Одна из главных задач, которую в принципе решает прокси – это назначить запрос серверу. Когда запрос приходит на прокси, сервер анализирует его, чтобы понять, какому серверу приложения его лучше назначить. Также прокси способен управлять так называемыми sticky sessions – это способ балансировки нагрузки, когда запросы от одного и того же клиента отправляются к одному и тому же серверу группы.

Серверы приложений могут работать на разных языках (имеются в виду ‘человеческие’ языки, а не языки программирования). Определив нужный язык, прокси отправит запрос нужному серверу – определить нужный ему поможет пользовательская настройка прокси или данные URL. Также прокси способен стандартизировать адреса сайтов, прежде чем отправить их серверу приложений. Например, прокси может использовать для этого правила подстановки, включение нужных параметров внутреннего использования или удаление лишних. А если требуется добавить дополнительное приложение или оборудование, достаточно обновить правила прокси. Когда эта настройка прокси осуществлена, сервер сможет отправить нужный запрос.

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

Безопасность сервера приложений

Сервер, который не использует прокси (то есть имеет открытый реальный IP), постоянно атакуют хакеры. Сейчас хакеры достигли такого уровня, что автоматически ищут и атакуют серверы, не защищённые прокси, по всему миру. И любая успешная атака позволяет злоумышленнику получать доступ к конфиденциальным данным. Если это важные данные и/или данные множества людей, их раскрытие может стоить Вашей компании гораздо больше, чем испорченной репутации.

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

Прокси фильтрует запросы к каждому приложению. Если попадается потенциально вредоносный запрос – с опасной ссылкой или с cookies-шаблоном, такой запрос не дойдёт до сервера приложения. Прокси способен блокировать запросы с конкретного IP или пользователя, что позволяет защищаться от DDOS-атак. По сути такой прокси является для приложения межсетевым экраном. Фильтр, выставляемый прокси, увеличивает функциональность. Сисадмин может менять настройки прокси, не взаимодействуя с внутренними серверами. Это позволяет прокси сразу же реагировать на изменяющуюся ситуацию с хакерскими атаками.

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

Прокси легко пользоваться с SSL / TLS

Защищённое соединение – это то, что обязательно нужно хоть сколько-то серьёзному интернет-сервису. Стандарт защиты для таких сервисов – TLS (ранее известный как SSL), требующий криптографическую подпись и её проверку. Это серьёзное сканирование, которое требует времени. И если таких запросов будет много, они могут достаточно быстро ‘подвесить’ сервер. Если же Вы используете прокси, то он возьмёт на себя всю эту работу, разгрузив сервер приложения. И это будет ещё защищённее. Более того, для прокси понадобится один-единственный сертификат SSL/TLS, сколько бы приложений через него ни работали.

Но такая схема сработает только тогда, когда прокси-серверы и серверы приложений представляют из себя сегменты либо локальной сети, либо сети MPLS. MPLS (англ. multiprotocol label switching — многопротокольная коммутация по меткам) — механизм в высокопроизводительной телекоммуникационной сети, осуществляющий передачу данных от одного узла сети к другому с помощью меток. Такой сети для внутренних подключений нужны соединения по протоколу HTTPS – им необходимо шифровать вообще весь трафик, идущий в Сеть или из неё. Ни одно внешнее устройство не должно иметь возможность доступа к этому трафику. При этом у каждого сервера может быть свой сертификат, обновляемый при необходимости. Очень напоминает задачи, под которые нужен прокси, правда?

Управление пользователями

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

Другие задачи по управлению Интернетом

Как и любые другие данные на компьютере или ином устройстве, ответы сервера могут быть сжаты. Сжатие снизит время отклика сервера – элементарно нужно отправить меньше байтов. Прокси-сервер может заниматься процессом компрессии/декомпрессии, сняв этот процесс с серверов приложений.

Кроме того, прокси позволяет сисадмину проще наблюдать за сетью. Есть специальные программы, осуществляющие мониторинг сети: какое количество входящего/исходящего трафика идёт через прокси, какого рода запросы на него приходят. Благодаря этому легко заметить аномалию, которая наверняка является хакерской атакой. А когда один прокси-сервер следит за множеством серверов приложений, задача сисадмина становится ещё проще, а Ваша система в целом – защищённее от DDOS-атак.

Балансировка нагрузки

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

Масштабирование структуры сервера

Когда сервер приложения находится за пределами сети, их проще масштабировать. Не нужно добавлять новые IP, настраивать NAT каждый раз, когда добавляется новая машина. Достаточно, чтобы прокси-сервер знал, какие правила задействовать, когда появляется новый сервер. Когда в сети появляется новая категория SaaS, настройка прокси меняется очень легко – серверу всё так же достаточно знать правила. А если прокси-сервер используется в роли брандмауэра, нужно будет применить обновление для защиты служб. А если сеть достаточно велика, и один прокси-сервер не справляется с нагрузкой, Вы можете использовать несколько прокси-серверов с балансировщиком нагрузки.

Кэширование

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

Статическое содержание

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

Лучшая производительность

Мы перечислили много преимуществ прокси. Но лучший прокси прежде всего потому, что все эти преимущества прокси позволяют всей сети работать гораздо эффективнее, а каких-то существенных расходов на ‘железо’ для этого не нужно. Прокси-сервер по приведённой выше аналогии с офисными клерками является высококлассным бизнес-ассистентом, который снимает с руководителя огромное количество рутины, позволяя ему сконцентрироваться на стратегических задачах, а не заниматься ручным управлением всей компанией. А ещё выполняет функции службы безопасности.

Прокси-сервер выполняет куда большую роль, чем просто внутренний сервер. Он принимает массу запросов, но при этом выполняет исключительно элементарные действия. В основном это вообще задача уровня – принять запрос или отклонить. Прокси-сервер может одномоментно обрабатывать массу таких запросов без ущерба для производительности. Прокси-сервер выигрывает здесь у внутреннего сервера и по количеству запросов, с которыми справляется, и по системным требованиям для задач такого объёма. А ещё размещение сервера приложения позади прокси-сервера делает его защищённым – хакеру придётся взломать прокси, прежде чем он доберётся до сервера приложения.

Источник статьи: https://airsocks.in/blog/post/10-prichin-ispolzovat-proksi-server-v-saas